diff --git a/.github/ISSUE_TEMPLATE/00-report-package-build-failure.yml b/.github/ISSUE_TEMPLATE/00-report-package-build-failure.yml index 449da8bc80e448..59252672491ca2 100644 --- a/.github/ISSUE_TEMPLATE/00-report-package-build-failure.yml +++ b/.github/ISSUE_TEMPLATE/00-report-package-build-failure.yml @@ -35,7 +35,7 @@ body: id: logs attributes: label: Failure logs - description: The console output and all the logs metioned in the output + description: The console output and all the logs mentioned in the output. validations: required: true - type: textarea diff --git a/.github/ISSUE_TEMPLATE/01-request-a-new-port.yml b/.github/ISSUE_TEMPLATE/01-request-a-new-port.yml index 78299a7f76f54e..ff9d6f0d9dfc2c 100644 --- a/.github/ISSUE_TEMPLATE/01-request-a-new-port.yml +++ b/.github/ISSUE_TEMPLATE/01-request-a-new-port.yml @@ -1,5 +1,5 @@ name: Request a new port -description: Request a new port/library that vcpkg should support +description: Request a new port/library that vcpkg should support. title: "[New Port Request] " labels: ["category:new-port", "info:good-first-issue"] diff --git a/.github/ISSUE_TEMPLATE/03-request-a-feature-or-improvement-to-a-port.yml b/.github/ISSUE_TEMPLATE/03-request-a-feature-or-improvement-to-a-port.yml index 62c3765aed1416..231c34ae37b19f 100644 --- a/.github/ISSUE_TEMPLATE/03-request-a-feature-or-improvement-to-a-port.yml +++ b/.github/ISSUE_TEMPLATE/03-request-a-feature-or-improvement-to-a-port.yml @@ -1,5 +1,5 @@ name: Request a feature or improvement to a port -description: Suggest an improvement to one the the ports/libraries in vcpkg +description: Suggest an improvement to one the the ports/libraries in vcpkg. title: "[] " labels: ["category:port-feature"] body: diff --git a/.github/ISSUE_TEMPLATE/04-request-a-feature-or-improvement.yml b/.github/ISSUE_TEMPLATE/04-request-a-feature-or-improvement.yml index 1831952c83fbff..c27fbc52aa1a45 100644 --- a/.github/ISSUE_TEMPLATE/04-request-a-feature-or-improvement.yml +++ b/.github/ISSUE_TEMPLATE/04-request-a-feature-or-improvement.yml @@ -1,5 +1,5 @@ name: Request a feature or improvement -description: Suggest an improvement to vcpkg +description: Suggest an improvement to vcpkg. title: '' labels: ["category:vcpkg-feature"] body: diff --git a/.github/ISSUE_TEMPLATE/05-other-type-of-bug-report.md b/.github/ISSUE_TEMPLATE/05-other-type-of-bug-report.md index 8a12e861de7ffc..1774b230de1c00 100644 --- a/.github/ISSUE_TEMPLATE/05-other-type-of-bug-report.md +++ b/.github/ISSUE_TEMPLATE/05-other-type-of-bug-report.md @@ -1,6 +1,6 @@ --- name: Other type of bug report -about: Let us know about an issues that does not fit into any of the other issues +about: Let us know about an issues that does not fit into any of the other issues. types title: '' labels: '' diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 0d4f7b96db71a5..618be2cbf68256 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,12 +1,12 @@ - + -```sh -$ xcode-select --install -``` - -Then follow along with the prompts in the windows that comes up. - -You'll then be able to bootstrap vcpkg along with the [quick start guide](#quick-start-unix) - -## Using vcpkg with CMake - -### Visual Studio Code with CMake Tools - -Adding the following to your workspace `settings.json` will make -CMake Tools automatically use vcpkg for libraries: - -```json -{ - "cmake.configureSettings": { - "CMAKE_TOOLCHAIN_FILE": "[vcpkg root]/scripts/buildsystems/vcpkg.cmake" - } -} -``` +[🌐 Read in a different language](https://learn.microsoft.com/locale/?target=https%3A%2F%2Flearn.microsoft.com%2Fvcpkg%2F) -### Vcpkg with Visual Studio CMake Projects +# vcpkg overview -Open the CMake Settings Editor, and under `CMake toolchain file`, -add the path to the vcpkg toolchain file: +vcpkg is a free and open-source C/C++ package manager maintained by Microsoft +and the C++ community. -``` -[vcpkg root]/scripts/buildsystems/vcpkg.cmake -``` +Initially launched in 2016 as a tool for assisting developers in migrating their +projects to newer versions of Visual Studio, vcpkg has evolved into a +cross-platform tool used by developers on Windows, macOS, and Linux. vcpkg has a +large collection of open-source libraries and enterprise-ready features designed to +facilitate your development process with support for any build and project +systems. vcpkg is a C++ tool at heart and is written in C++ with scripts in +CMake. It is designed from the ground up to address the unique pain points C/C++ +developers experience. -### Vcpkg with CLion +This tool and ecosystem are constantly evolving, and we always appreciate +contributions! Learn how to start contributing with our [packaging +tutorial](https://learn.microsoft.com/vcpkg/get_started/get-started-adding-to-registry) and [maintainer +guide](https://learn.microsoft.com/vcpkg/contributing/maintainer-guide). -Open the Toolchains settings -(File > Settings on Windows and Linux, CLion > Preferences on macOS), -and go to the CMake settings (Build, Execution, Deployment > CMake). -Finally, in `CMake options`, add the following line: +# Get started -``` --DCMAKE_TOOLCHAIN_FILE=[vcpkg root]/scripts/buildsystems/vcpkg.cmake -``` +First, follow one of our quick start guides. -You must add this line to each profile. +Whether you're using CMake, MSBuild, or any other build system, vcpkg has you covered: -### Vcpkg as a Submodule with CMake +* [vcpkg with CMake](https://learn.microsoft.com/vcpkg/get_started/get-started) +* [vcpkg with MSBuild](https://learn.microsoft.com/vcpkg/get_started/get-started-msbuild) +* [vcpkg with other build systems](https://learn.microsoft.com/vcpkg/users/buildsystems/manual-integration) -When using vcpkg as a submodule of your project, -you can add the following to your CMakeLists.txt before the first `project()` call, -instead of passing `CMAKE_TOOLCHAIN_FILE` to the cmake invocation. +You can also use any editor: -```cmake -set(CMAKE_TOOLCHAIN_FILE "${CMAKE_CURRENT_SOURCE_DIR}/vcpkg/scripts/buildsystems/vcpkg.cmake" - CACHE STRING "Vcpkg toolchain file") -``` +* [vcpkg with Visual Studio](https://learn.microsoft.com/vcpkg/get_started/get-started-vs) +* [vcpkg with Visual Studio Code](https://learn.microsoft.com/vcpkg/get_started/get-started-vscode) +* [vcpkg with + CLion]() +* [vcpkg with Qt Creator]() -This will still allow people to not use vcpkg, -by passing the `CMAKE_TOOLCHAIN_FILE` directly, -but it will make the configure-build step slightly easier. +If a library you need is not present in the vcpkg registry, [open an issue on +the GitHub repository][contributing:submit-issue] or [contribute the package +yourself](https://learn.microsoft.com/vcpkg/get_started/get-started-adding-to-registry). -[getting-started:using-a-package]: https://learn.microsoft.com/vcpkg/examples/installing-and-using-packages -[getting-started:git]: https://git-scm.com/downloads -[getting-started:cmake-tools]: https://marketplace.visualstudio.com/items?itemName=ms-vscode.cmake-tools -[getting-started:linux-gcc]: #installing-linux-developer-tools -[getting-started:macos-dev-tools]: #installing-macos-developer-tools -[getting-started:macos-brew]: #installing-gcc-on-macos -[getting-started:macos-gcc]: #installing-gcc-on-macos -[getting-started:visual-studio]: https://visualstudio.microsoft.com/ +After you've gotten vcpkg installed and working, you may wish to [add +tab completion to your terminal](https://learn.microsoft.com/vcpkg/commands/integrate#vcpkg-autocompletion). -# Tab-Completion/Auto-Completion +# Use vcpkg -`vcpkg` supports auto-completion of commands, package names, -and options in both powershell and bash. -To enable tab-completion in the shell of your choice, run: +Create a [manifest for your project's dependencies](https://learn.microsoft.com/vcpkg/consume/manifest-mode): -```pwsh -> .\vcpkg integrate powershell +```Console +vcpkg new --application +vcpkg add port fmt ``` -or +Or [install packages through the command line](https://learn.microsoft.com/vcpkg/consume/classic-mode): -```sh -$ ./vcpkg integrate bash # or zsh +```Console +vcpkg install fmt ``` -depending on the shell you use, then restart your console. - -# Examples +Then use one of our available integrations for +[CMake](https://learn.microsoft.com/vcpkg/concepts/build-system-integration#cmake-integration), +[MSBuild](https://learn.microsoft.com/vcpkg/concepts/build-system-integration#msbuild-integration) or +[other build +systems](https://learn.microsoft.com/vcpkg/concepts/build-system-integration#manual-integration). -See the [documentation](https://learn.microsoft.com/vcpkg) for specific walkthroughs, -including [installing and using a package](https://learn.microsoft.com/vcpkg/examples/installing-and-using-packages), -[adding a new package from a zipfile](https://learn.microsoft.com/vcpkg/examples/packaging-zipfiles), -and [adding a new package from a GitHub repo](https://learn.microsoft.com/vcpkg/examples/packaging-github-repos). +For a short description of all available commands, run `vcpkg help`. +Run `vcpkg help [topic]` for details on a specific topic. -Our docs are now also available online at our website https://vcpkg.io/. We really appreciate any and all feedback! You can submit an issue in https://github.com/vcpkg/vcpkg.github.io/issues. +# Key features -See a 4 minute [video demo](https://www.youtube.com/watch?v=y41WFKbQFTw). +vcpkg offers powerful features for your package management needs: -# Contributing +* [easily integrate with your build system](https://learn.microsoft.com/vcpkg/concepts/build-system-integration) +* [control the versions of your dependencies](https://learn.microsoft.com/vcpkg/users/versioning) +* [package and publish your own packages](https://learn.microsoft.com/vcpkg/concepts/registries) +* [reuse your binary artifacts](https://learn.microsoft.com/vcpkg/users/binarycaching) +* [enable offline scenarios with asset caching](https://learn.microsoft.com/vcpkg/concepts/asset-caching) -Vcpkg is an open source project, and is thus built with your contributions. -Here are some ways you can contribute: +# Contribute -* [Submit Issues][contributing:submit-issue] in vcpkg or existing packages -* [Submit Fixes and New Packages][contributing:submit-pr] +vcpkg is an open source project, and is thus built with your contributions. Here +are some ways you can contribute: -Please refer to our [Contributing Guide](CONTRIBUTING.md) for more details. +* [Submit issues][contributing:submit-issue] in vcpkg or existing packages +* [Submit fixes and new packages][contributing:submit-pr] -This project has adopted the [Microsoft Open Source Code of Conduct][contributing:coc]. -For more information see the [Code of Conduct FAQ][contributing:coc-faq] -or email [opencode@microsoft.com](mailto:opencode@microsoft.com) -with any additional questions or comments. +Please refer to our [mantainer guide](https://learn.microsoft.com/vcpkg/contributing/maintainer-guide) and +[packaging tutorial](https://learn.microsoft.com/vcpkg/get_started/get-started-packaging) for more details. +This project has adopted the [Microsoft Open Source Code of +Conduct][contributing:coc]. For more information see the [Code of Conduct +FAQ][contributing:coc-faq] or email +[opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional +questions or comments. + [contributing:submit-issue]: https://github.com/microsoft/vcpkg/issues/new/choose [contributing:submit-pr]: https://github.com/microsoft/vcpkg/pulls [contributing:coc]: https://opensource.microsoft.com/codeofconduct/ [contributing:coc-faq]: https://opensource.microsoft.com/codeofconduct/ + +# Resources + +* Ports: [Microsoft/vcpkg]() +* Source code: [Microsoft/vcpkg-tool]() +* Docs: [Microsoft Learn | vcpkg](https://learn.microsoft.com/vcpkg) +* Website: [vcpkg.io]() +* Email: [vcpkg@microsoft.com]() +* Discord: [\#include \'s Discord server](), in the #🌏vcpkg channel +* Slack: [C++ Alliance's Slack server](), in the #vcpkg channel # License -The code in this repository is licensed under the [MIT License](LICENSE.txt). The libraries -provided by ports are licensed under the terms of their original authors. Where available, vcpkg -places the associated license(s) in the location `installed//share//copyright`. +The code in this repository is licensed under the MIT License. The libraries +provided by ports are licensed under the terms of their original authors. Where +available, vcpkg places the associated license(s) in the location +[`installed//share//copyright`](https://learn.microsoft.com/vcpkg/contributing/maintainer-guide#install-copyright-file). # Security -Most ports in vcpkg build the libraries in question using the original build system preferred -by the original developers of those libraries, and download source code and build tools from their -official distribution locations. For use behind a firewall, the specific access needed will depend -on which ports are being installed. If you must install it in an "air gapped" environment, consider -installing once in a non-"air gapped" environment, populating an -[asset cache](https://learn.microsoft.com/vcpkg/users/assetcaching) shared with the otherwise "air gapped" environment. +Most ports in vcpkg build the libraries in question using the original build +system preferred by the original developers of those libraries, and download +source code and build tools from their official distribution locations. For use +behind a firewall, the specific access needed will depend on which ports are +being installed. If you must install it in an "air gapped" environment, consider +instaling once in a non-"air gapped" environment, populating an [asset +cache](https://learn.microsoft.com/vcpkg/users/assetcaching) shared with the otherwise "air gapped" +environment. # Telemetry -vcpkg collects usage data in order to help us improve your experience. -The data collected by Microsoft is anonymous. -You can opt-out of telemetry by -- running the bootstrap-vcpkg script with -disableMetrics -- passing --disable-metrics to vcpkg on the command line -- setting the VCPKG_DISABLE_METRICS environment variable +vcpkg collects usage data in order to help us improve your experience. The data +collected by Microsoft is anonymous. You can opt-out of telemetry by: + +- running the bootstrap-vcpkg script with `-disableMetrics` +- passing `--disable-metrics` to vcpkg on the command line +- setting the `VCPKG_DISABLE_METRICS` environment variable Read more about vcpkg telemetry at [https://learn.microsoft.com/vcpkg/about/privacy](https://learn.microsoft.com/vcpkg/about/privacy). diff --git a/README_es.md b/README_es.md deleted file mode 100644 index ccd7dda11f914b..00000000000000 --- a/README_es.md +++ /dev/null @@ -1,402 +0,0 @@ -# Vcpkg - -[中文总览](README_zh_CN.md) -[English](README.md) -[한국어](README_ko_KR.md) -[Français](README_fr.md) - -Vcpkg ayuda a manejar bibliotecas de C y C++ en Windows, Linux y MacOS. -Esta herramienta y ecosistema se encuentran en constante evolución ¡Siempre apreciamos contribuciones nuevas! - -Si nunca ha usado Vcpkg antes, -o si está intentando aprender a usar vcpkg, consulte nuestra sección -[Primeros pasos](#primeros-pasos) para iniciar a usar Vcpkg. - -Para una descripción corta de los comandos disponibles, -una vez instalado Vcpkg puede ejecutar `vcpkg help`, o -`vcpkg help [comando]` para obtener ayuda específica de un comando. - -* ports en: [vcpkg GitHub](https://github.com/microsoft/vcpkg) -* este programa en: [vcpkg-tool GitHub](https://github.com/microsoft/vcpkg-tool) -* [Slack](https://cppalliance.org/slack/), en el canal #vcpkg -* Discord: [\#include \](https://www.includecpp.org), en el canal #🌏vcpkg -* Docs: [Documentación](https://learn.microsoft.com/vcpkg) - -## Tabla de contenido - -- [Vcpkg](#vcpkg) - - [Tabla de contenido](#tabla-de-contenido) - - [Primeros pasos](#primeros-pasos) - - [Inicio Rápido: Windows](#inicio-rápido-windows) - - [Inicio rápido: Unix](#inicio-rápido-unix) - - [Instalando Herramientas de desarrollo en Linux](#instalando-herramientas-de-desarrollo-en-linux) - - [Instalando Herramientas de desarrollo en macOS](#instalando-herramientas-de-desarrollo-en-macos) - - [Usando Vcpkg con CMake](#usando-vcpkg-con-cmake) - - [Visual Studio Code con CMake Tools](#visual-studio-code-con-cmake-tools) - - [Vcpkg con proyectos de Visual Studio(CMake)](#vcpkg-con-proyectos-de-visual-studiocmake) - - [Vcpkg con CLion](#vcpkg-con-clion) - - [Vcpkg como Submódulo](#vcpkg-como-submódulo) - - [Inicio rápido: Manifiestos](#inicio-rápido-manifiestos) - - [Completado-Tab/Autocompletado](#completado-tabautocompletado) - - [Ejemplos](#ejemplos) - - [Contribuyendo](#contribuyendo) - - [Licencia](#licencia) -- [Seguridad](#seguridad) - - [Telemetría](#telemetría) - -## Primeros pasos - -Antes de iniciar, siga la guía ya sea para [Windows](#inicio-rápido-windows), -o [macOS y Linux](#inicio-rápido-unix) dependiendo del SO que use. - -Para más información, ver [Instalando y Usando Paquetes][getting-started:using-a-package]. -Si una biblioteca que necesita no está presente en el catálogo de vcpkg, -puede [abrir una incidencia en el repositorio de GitHub][contributing:submit-issue] -donde el equipo de vcpkg y la comunidad pueden verlo, y potencialmente hacer un port a vcpkg. - -Después de tener Vcpkg instalado y funcionando, -puede que desee añadir [completado con tab](#Completado-TabAutoCompletado) en su terminal. - -Finalmente, si está interesado en el futuro de Vcpkg, -puede ver la guía de [archivos de manifiesto][getting-started:manifest-spec]! -esta es una característica experimental y es probable que tenga errores, -así que se recomienda revisar y [crear incidencias][contributing:submit-issue]! - -### Inicio Rápido: Windows - -Prerrequisitos: - -- Windows 7 o superior -- [Git][getting-started:git] -- [Visual Studio][getting-started:visual-studio] 2015 Update 3 o superior con el paquete Inglés de Visual Studio. - -Primero, descargue y compile vcpkg; puede ser instalado en cualquier lugar, pero por lo general recomendamos usar vcpkg -como submódulo, asi el repositorio que lo consume puede permanecer autónomo. -Alternativamente vcpkg puede ser instalado globalmente; -recomendamos que sea en un lugar como `C:\src\vcpkg` o `C:\dev\vcpkg`, - -ya que de otra forma puede encontrarse problemas de ruta para algunos sistemas de port. - -```cmd -> git clone https://github.com/microsoft/vcpkg -> .\vcpkg\bootstrap-vcpkg.bat -``` - -Para instalar las bibliotecas para su proyecto, ejecute: - -```cmd -> .\vcpkg\vcpkg install [paquetes a instalar] -``` - -también puede buscar bibliotecas que necesite usar el comando `search`: - -```cmd -> .\vcpkg\vcpkg search [término de búsqueda] -``` - -Para poder utilizar vcpkg con Visual Studio, -ejecute el siguiente comando (puede requerir privilegios de administrador): - -```cmd -> .\vcpkg\vcpkg integrate install -``` - -Después de esto, puede crear un nuevo proyecto que no sea de CMake(MSBuild) o abrir uno existente. -Todas las bibliotecas estarán listas para ser incluidas y -usadas en su proyecto sin configuración adicional. - -Si está usando CMake con Visual Studio, -continúe [aquí](#vcpkg-con-proyectos-de-visual-studio\(CMake\)). - -Para utilizar Vcpkg con CMake sin un IDE, -puede utilizar el archivo de herramientas incluido: - -```cmd -> cmake -B [directorio de compilación] -S . "-DCMAKE_TOOLCHAIN_FILE=[path to vcpkg]/scripts/buildsystems/vcpkg.cmake" -> cmake --build [directorio de compilación] -``` - -Con CMake, todavía necesitara `find_package` y las configuraciones adicionales de la biblioteca. -Revise la [Sección de Cmake](#usando-vcpkg-con-cmake) para más información, -incluyendo el uso de CMake con un IDE. - -### Inicio rápido: Unix - -Prerrequisitos para Linux: - -- [Git][getting-started:git] -- [G++/GCC][getting-started:linux-gcc] >= 6 - -Prerrequisitos para macOS: - -- [Herramientas de desarrollo de Apple][getting-started:macos-dev-tools] - -Primero, descargue y compile vcpkg, puede ser instalado donde lo desee, -pero recomendamos usar vcpkg como un submodulo. - -```sh -$ git clone https://github.com/microsoft/vcpkg -$ ./vcpkg/bootstrap-vcpkg.sh -``` - -Para instalar las bibliotecas para su proyecto, ejecute: - -```sh -$ ./vcpkg/vcpkg install [paquetes a instalar] -``` - -Nota: por defecto se instalarán las bibliotecas x86, para instalar x64, ejecute: - -```cmd -> .\vcpkg\vcpkg install [paquete a instalar]:x64-windows -``` - -O si desea instalar varios paquetes: - -```cmd -> .\vcpkg\vcpkg install [paquetes a instalar] --triplet=x64-windows -``` - -También puede buscar las bibliotecas que necesita con el subcomando `search`: - -```sh -$ ./vcpkg/vcpkg search [término de búsqueda] -``` - -Para usar vcpkg con CMake, tiene que usar el siguiente archivo toolchain: - -```sh -$ cmake -B [directorio de compilación] -S . "-DCMAKE_TOOLCHAIN_FILE=[path to vcpkg]/scripts/buildsystems/vcpkg.cmake" -$ cmake --build [directorio de compilación] -``` - -Con CMake, todavía necesitara `find_package` y las configuraciones adicionales de la biblioteca. -Revise la [Sección de CMake](#usando-vcpkg-con-cmake) -para más información en cómo aprovechar mejor Vcpkg con CMake, -y CMake tools para VSCode. - -Para cualquier otra herramienta, visite la [guía de integración][getting-started:integration]. - -### Instalando Herramientas de desarrollo en Linux - -Según las distribuciones de Linux, hay diferentes paquetes -que necesitará instalar: - -- Debian, Ubuntu, popOS, y otra distribución basada en Debian: - -```sh -$ sudo apt-get update -$ sudo apt-get install build-essential tar curl zip unzip -``` - -- CentOS - -```sh -$ sudo yum install centos-release-scl -$ sudo yum install devtoolset-7 -$ scl enable devtoolset-7 bash -``` - -Para cualquier otra distribución, asegúrese que dispone de g++ 6 o superior. -Si desea añadir instrucción para una distribución específica, -[cree un pull request][contributing:submit-pr] - -### Instalando Herramientas de desarrollo en macOS - -En macOS 10.15, solo tiene que ejecutar el siguiente comando en la terminal: - -```sh -$ xcode-select --install -``` - -Luego seguir los pasos que aparecerán en las ventanas que se muestran. - -Posteriormente podrá compilar vcpkg junto con la [guía de inicio rápido](#inicio-rápido-unix) - -### Usando Vcpkg con CMake - -¡Si está usando Vcpkg con CMake, lo siguiente puede ayudar! - -#### Visual Studio Code con CMake Tools - -Agregando lo siguiente al espacio de trabajo `settings.json` permitirá que -CMake Tools use automáticamente Vcpkg para las bibliotecas: - -```json -{ - "cmake.configureSettings": { - "CMAKE_TOOLCHAIN_FILE": "[raíz de vcpkg]/scripts/buildsystems/vcpkg.cmake" - } -} -``` - -#### Vcpkg con proyectos de Visual Studio(CMake) - -Abra el editor de Ajustes de CMake, bajo la sección `CMake toolchain file`, -posteriormente agregue al path el archivo de cadena de herramientas de Vcpkg: - -```sh -[raíz de vcpkg]/scripts/buildsystems/vcpkg.cmake -``` - -#### Vcpkg con CLion - -Abra los ajustes de Cadena de Herramientas (Toolchains) -(File > Settings en Windows y Linux, Clion > Preferences en macOS), -y entre en la sección de ajustes de CMake (Build, Execution, Deployment > CMake). -Finalmente, en `CMake options`, agregue la línea siguiente: - -```sh --DCMAKE_TOOLCHAIN_FILE=[vcpkg root]/scripts/buildsystems/vcpkg.cmake -``` - -Desafortunadamente, tendrá que hacerlo para cada perfil. - -#### Vcpkg como Submódulo - -Cuando este usando Vcpkg como un submódulo para su proyecto, -puede agregar lo siguiente as su CMakeLists,txt antes de la primera llamada a `project()`, -en vez de pasar `CMAKE_TOOLCHAIN_FILE` a la invocación de CMake. - -```cmake -set(CMAKE_TOOLCHAIN_FILE "${CMAKE_CURRENT_SOURCE_DIR}/vcpkg/scripts/buildsystems/vcpkg.cmake" - CACHE STRING "Vcpkg toolchain file") -``` - -Esto permitirá a las personas no usar Vcpkg, -indicando el `CMAKE_TOOLCHAIN_FILE` directamente, -sin embargo, hará el proceso de configuración y compilación más sencillo. - -### Inicio rápido: Manifiestos - -Así que desea ver cómo será el futuro de Vcpkg! -realmente lo apreciamos. Sin embargo, primero una advertencia: -el soporte de archivos de manifiesto aún está en beta, -aun así la mayoría debería funcionar, -pero no hay garantía de esto y es muy probable que encuentre uno o más bugs -mientras use Vcpkg en este modo. -Adicionalmente, es probablemente que se rompan comportamientos antes de que se pueda considerar estable, -así que está advertido. -Por favor [Abra un Problema][contributing:submit-issue] si encuentra algún error - -Primero, instale vcpkg normalmente para [Windows](#inicio-rápido-windows) o -[Unix](#inicio-rápido-unix). -Puede que desee instalar Vcpkg en un lugar centralizado, -ya que el directorio existe localmente, -y está bien ejecutar múltiples comandos desde el mismo directorio de vcpkg al mismo tiempo. - -Luego, se requiere activar la bandera de característica `manifests` en vcpkg agregando -`manifests` a los valores separados por coma en la opción `--feature-flags`, -o agregándole en los valores separados por coma en la variable de entorno `VCPKG_FEATURE_FLAGS` - -también puede que desee agregar Vcpkg al `PATH`. - -Luego, todo lo que hay que hacer es crear un manifiesto; -cree un archivo llamado `vcpkg.json`, y escriba lo siguiente: - -```json -{ - "name": "", - "version-string": "", - "dependencies": [ - "abseil", - "boost" - ] -} -``` - -Las bibliotecas serán instaladas en el directorio `vcpkg_installed`, -en el mismo directorio que su `vcpkg.json`. -Si puede usar el regular conjunto de herramientas de CMake, -o mediante la integración de Visual Studio/MSBuild, -este instalará las dependencias automáticamente, -pero necesitará ajustar `VcpkgManifestEnabled` en `On` para MSBuild. -Si desea instalar sus dependencias sin usar CMake o MSBuild, -puede usar un simple `vcpkg install --feature-flags=manifests` - -Para más información, revise la especificación de [manifiesto][getting-started:manifest-spec] - -[getting-started:using-a-package]: https://learn.microsoft.com/vcpkg/examples/installing-and-using-packages -[getting-started:git]: https://git-scm.com/downloads -[getting-started:cmake-tools]: https://marketplace.visualstudio.com/items?itemName=ms-vscode.cmake-tools -[getting-started:linux-gcc]: #Instalando-Herramientas-de-desarrollo-en-Linux -[getting-started:macos-dev-tools]: #Instalando-Herramientas-de-desarrollo-en-macOS -[getting-started:visual-studio]: https://visualstudio.microsoft.com/ -[getting-started:manifest-spec]: https://learn.microsoft.com/en-us/vcpkg/users/manifests - -## Completado-Tab/Autocompletado - -`vcpkg` soporta autocompletado para los comandos, nombres de paquetes, -y opciones, tanto en PowerShell como en bash. -para activar el autocompletado en la terminal de elección ejecute: - -```pwsh -> .\vcpkg integrate powershell -``` - -o - -```sh -$ ./vcpkg integrate bash # o zsh -``` - -según la terminal que use, luego reinicie la consola. - -## Ejemplos - -ver la [documentación](https://learn.microsoft.com/vcpkg) para tutoriales específicos, incluyendo -[instalando y usando un paquete](https://learn.microsoft.com/vcpkg/examples/installing-and-using-packages), -[agregando un nuevo paquete desde un archivo comprimido](https://learn.microsoft.com/vcpkg/examples/packaging-zipfiles), -[agregando un nuevo paquete desde un repositorio en GitHub](https://learn.microsoft.com/vcpkg/examples/packaging-github-repos). - -Nuestra documentación también esta disponible en nuestro sitio web [vcpkg.io](https://vcpkg.io/). -Si necesita ayuda puede [crear un incidente](https://github.com/vcpkg/vcpkg.github.io/issues). -¡Apreciamos cualquier retroalimentación! - -Ver un [video de demostración](https://www.youtube.com/watch?v=y41WFKbQFTw) de 4 minutos. - -## Contribuyendo - -Vcpkg es un proyecto de código abierto, y está construido con sus contribuciones. -Aquí hay unas de las maneras en las que puede contribuir: - -* [Creando Incidencias][contributing:submit-issue] en vcpkg o paquetes existentes -* [Creando Correcciones y Nuevos Paquetes][contributing:submit-pr] - -Por favor visite nuestra [Guía de Contribución](CONTRIBUTING.md) para más detalles. - -Este proyecto ha adoptado el [Código de Conducta de Microsoft de Código Abierto][contributing:coc]. -Para más información ver [Preguntas frecuentes del Código de Conducta][contributing:coc-faq] -o envíe un correo a [opencode@microsoft.com](mailto:opencode@microsoft.com) -con cualquier pregunta adicional o comentarios. - -[contributing:submit-issue]: https://github.com/microsoft/vcpkg/issues/new/choose -[contributing:submit-pr]: https://github.com/microsoft/vcpkg/pulls -[contributing:coc]: https://opensource.microsoft.com/codeofconduct/ -[contributing:coc-faq]: https://opensource.microsoft.com/codeofconduct/ - -## Licencia - -El código en este repositorio se encuentra licenciado mediante la [Licencia MIT](LICENSE.txt). -Las bibliotecas proveídas por los `ports` están licenciadas mediante los terminos de los autores originales. -Donde estén disponibles, vcpkg almacena las licencias asociadas en la siguiente ubicación `installed//share//copyright`. - -# Seguridad - -La mayoría de los `ports` en vcpkg construyen las bibliotecas usando su sistema de compilación preferido -por los autores originales de las bibliotecas, y descargan el código fuente asi como las herramientas de compilación -de sus ubicaciones de distribucion oficiales. Para aquellos que usan un firewall, el acceso dependerá de cuales `ports` -están siendo instalados. Si tiene que instalarlos en un entorno aislado, puede instalarlos previamente en un entorno -no aislado, generando un [caché del paquete](https://learn.microsoft.com/vcpkg/users/assetcaching) compartido con el entorno aislado. - -## Telemetría - -vcpkg recolecta datos de uso para mejorar su experiencia. -La información obtenida por Microsoft es anónima. -puede ser dado de baja de la telemetría realizando lo siguiente: - -- ejecutar el script `bootstrap-vcpkg` con el parametro `-disableMetrics` -- agregar el parametro `--disable-metrics` a vcpkg en la línea de comandos -- agregar la variable de entorno `VCPKG_DISABLE_METRICS` - -Se puede leer más sobre la telemetría de vcpkg en [https://learn.microsoft.com/vcpkg/about/privacy](https://learn.microsoft.com/vcpkg/about/privacy). diff --git a/README_fr.md b/README_fr.md deleted file mode 100644 index 5d096768b00441..00000000000000 --- a/README_fr.md +++ /dev/null @@ -1,311 +0,0 @@ -# Vcpkg: Vue d'ensemble - -[中文总览](README_zh_CN.md) -[Español](README_es.md) - -Vcpkg vous aide à gérer vos bibliothèques C et C++ sur Windows, Linux et MacOS. -L'outil et l'écosystème sont en évolution constante, et nous apprécions vos contributions! - -Si vous n'avez jamais utilisé vcpkg, ou si vous essayez d'utiliser vcpkg, lisez notre [introduction](#introduction) pour comprendre comment l'utiliser. - -Pour une description des commandes disponibles, quand vous avez installé vcpkg, vous pouvez lancer `vcpkg help` ou `vcpkg help [commande]` pour de l'aide spécifique à une commande. - - -* GitHub: [https://github.com/microsoft/vcpkg](https://github.com/microsoft/vcpkg) -* Slack: [https://cppalliance.org/slack/](https://cppalliance.org/slack/), the #vcpkg channel -* Discord: [\#include \](https://www.includecpp.org), le canal #🌏vcpkg -* Docs: [Documentation](https://learn.microsoft.com/vcpkg) - -[![Build Status](https://dev.azure.com/vcpkg/public/_apis/build/status/microsoft.vcpkg.ci?branchName=master)](https://dev.azure.com/vcpkg/public/_build/latest?definitionId=29&branchName=master) - -# Sommaire - -- [Vcpkg: Vue d'ensemble](#vcpkg-vue-d'ensemble) -- [Sommaire](#Sommaire) -- [Introduction](#introduction) - - [Introduction Windows](#Introduction:-Windows) - - [Introduction Unix](#Introduction-aux-Systèmes-Unix) - - [Installer les prérequis pour linux](#installation-des-prérequis-linux) - - [Installer les prérequis pour macOS](#installation-des-prérequis-macos) - - [Installer GCC pour macOS avant 10.15](#installer-gcc-pour-macos-avant-10.15) - - [Utiliser vcpkg avec CMake](#utiliser-vcpkg-avec-cmake) - - [Visual Studio Code avec CMake Tools](#visual-studio-code-avec-cmake-tools) - - [Vcpkg avec Visual Studio pour un projet CMake](#vcpkg-avec-visual-studio-un-projet-cmake) - - [Vcpkg avec CLion](#vcpkg-avec-clion) - - [Vcpkg en tant que sous module](#vcpkg-en-tant-que-sous-module) - - [Tab-Completion/Auto-Completion](#tab-complétionauto-complétion) - - [Exemples](#exemples) - - [Contribuer](#contribuer) - - [Licence](#licence) - - [Télémétrie](#Télémétrie) - -# Introduction - -Premièrement, suivez le guide d'introduction [Windows](#Introduction:-Windows), ou [macOS et Linux](#Unix), en fonction de vos besoins. - -Pour plus d'information, regardez [utiliser des paquets][getting-started:utiliser-un-paquet]. -Si la bibliothèque dont vous avez besoin n'est pas présente dans la liste, vous pouvez [ouvrir une issue sur le repo github](contribuer:faire-une-issue) où l'équipe de vcpkg et la communauté peuvent le voir, et possiblement ajouter le port de vcpkg. - -Après avoir installé et lancé vcpkg vous pourriez vouloir ajouter [l'auto-complétion](auto-completion) à votre shell. - -Si vous êtes intéressé par le futur de vcpkg, regardez le guide du [manifeste][getting-started:manifest-spec] ! -C'est une fonctionnalité expérimentale et possiblement boguée, donc essayez d'[ouvrir des issues](contribuer:envoyer-une-issue) ! - -# Introduction: Windows -Prérequis : - - Windows 7 ou plus - - [Git][getting-started:git] - + [Visual Studio][getting-started:visualstudio] 2015 mise à jour 3 où plus récente avec le pack de langue Anglais - -Premièrement, téléchargez et lancer le fichier bootstrap-vcpkg; il peut être installé n'importe où mais il est recommandé d'utiliser vcpkg pour des projets CMake. Nous recommandons ces chemins `C:\src\vcpkg` ou `C:\dev\vcpkg`, sinon vous pourriez avoir des problèmes de chemin pour certaines compilations. - - -```cmd -> git clone https://github.com/microsoft/vcpkg -> .\vcpkg\bootstrap-vcpkg.bat -``` - -Pour installer des bibliothèques pour votre projet, lancez: - -```cmd -> .\vcpkg\vcpkg install [paquets à installer] -``` - -Vous pouvez aussi chercher la bibliothèque dont vous avez besoin avec l'argument `search`: - -```cmd -> .\vcpkg\vcpkg search [terme de recherche] -``` - - -Pour utiliser vcpkg avec Visual Studio, lancez cette commande (pourrait nécessiter d'être lancée avec les droits administrateur) - -```cmd -> .\vcpkg\vcpkg integrate install -``` - -Ensuite, vous pouvez créer un nouveau projet n'utilisant pas CMake (ou en ouvrir un préexistant). -Toutes les bibliothèques installées sont directement prêtes à être `#include` et utilisées sans davantage de configuration. - -Si vous utilisez CMake avec Visual Studio continuez [ici](#vcpkg-avec-cmake-et-visual-studio). - -Afin d'utiliser vcpkg en dehors d'un IDE, vous pouvez utiliser le fichier de toolchain : - -```cmd -> cmake -B [dossier de build] -S . "-DCMAKE_TOOLCHAIN_FILE=[chemin vers vcpkg]/scripts/buildsystems/vcpkg.cmake" -> cmake --build [dossier de build] -``` - -Avec CMake, vous devrez utiliser `find_package` notamment, et autres, pour compiler. - -Regardez la [section CMake](#utiliser-vcpkg-avec-cmake) pour plus d'information, notamment utiliser CMake avec un IDE. - -Pour les autres éditeurs, y compris Visual Studio Code regardez le [guide d'intégration](getting-started:integration). - - -## Introduction aux Systèmes Unix - -Prérequis pour Linux : -- [Git][getting-started:git] -- [g++][getting-started:linux-gcc] >= 6 - -Prérequis pour macOS: -- [Outils de développement Apple][getting-started:macos-dev-tools] -- Pour macOS 10.14 et en dessous, vous aurez besoin de: - - [Homebrew][getting-started:macos-brew] - - [g++][getting-started:macos-gcc] >= 6 - -Premièrement, clonez et lancez le bootstrap vcpkg; il peut être installé n'importe où mais il est recommandé de l'utiliser comme un sous-module pour projets CMake. - -```sh -$ git clone https://github.com/microsoft/vcpkg -$ ./vcpkg/bootstrap-vcpkg.sh -``` - -Pour installer des bibliothèques pour votre projet, lancez : - -```sh -$ ./vcpkg/vcpkg install [paquets à installer] -``` - -Vous pouvez aussi chercher la bibliothèque dont vous avez besoin avec l'argument `search` : - - -```sh -$ ./vcpkg/vcpkg search [terme de recherche] -``` - -Pour utiliser vcpkg en dehors d'un IDE, vous pouvez utiliser le fichier de toolchain : - -```cmd -> cmake -B [dossier de build] -S . "-DCMAKE_TOOLCHAIN_FILE=[chemin vers vcpkg]/scripts/buildsystems/vcpkg.cmake" -> cmake --build [dossier de build] -``` - -Avec CMake, vous devrez utiliser `find_package` notamment, et autres, pour compiler. - -Lisez la [section CMake](#utiliser-vcpkg-avec-cmake) pour plus d'information, notamment utiliser CMake avec un IDE. - -Pour les autres éditeurs, y compris Visual Studio Code lisez le [guide d'intégration][getting-started:integration]. - -## Installation des prérequis linux - -Pour les différentes distros Linux, il y a différents paquets que vous aurez besoin d'installer : - -- Debian, Ubuntu, popOS, et les autres distros basées sur Debian : - -```sh -$ sudo apt-get update -$ sudo apt-get install build-essential tar curl zip unzip -``` - -- CentOS - -```sh -$ sudo yum install centos-release-scl -$ sudo yum install devtoolset-7 -$ scl enable devtoolset-7 bash -``` - -Pour les autres distributions, installez au minimum g++ 6. -Si vous voulez ajouter des instructions spécifiques pour votre distro, [ouvrez une PR svp][contribuer:faire-une-pr] ! - -## Installation des prérequis macOS - -Pour macOS 10.15, la seule chose dont vous avez besoin est de lancer cette commande : - -```sh -$ xcode-select --install -``` - -Ensuite suivez les instructions qui s'afficheront dans la fenêtre. - -Pour macOS 10.14 et les versions précédentes, vous aurez besoin d'installer g++ avec homebrew; suivez les instructions dans la section suivante. - -### Installer GCC pour macOS antérieur à 10.15 - -Cette partie est seulement nécessaire si vous avez une version de macOS antérieure à 10.15. - -Installer homebrew devrait être très simple; pour plus d'informations allez sur , mais le plus simple est de lancer la commande suivante : - -```sh -$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" -``` - -Ensuite, afin d'obtenir une version à jour de gcc, lancez la commande suivante : - -```sh -$ brew install gcc -``` - -Ensuite suivez l'[introduction Unix](#Introduction-aux-Systèmes-Unix) - -## Utiliser vcpkg avec CMake - -Si vous utilisez vcpkg avec CMake, la suite pourrait vous aider ! - -## Visual Studio Code avec CMake tools - -```json -{ - "cmake.configureSettings": { - "CMAKE_TOOLCHAIN_FILE": "[vcpkg root]/scripts/buildsystems/vcpkg.cmake" - } -} -``` -### Vcpkg avec des projets CMake Visual Studio - -Ouvrez les paramètres CMake, et ajoutez le chemin ci-dessous à `CMake toolchain file` : - -``` -[vcpkg root]/scripts/buildsystems/vcpkg.cmake -``` - -### Vcpkg avec CLion - -Ouvrez les paramètres de Toolchains (File > Settings sur Windows et Linux, CLion > Preference pour macOS) et allez dans les paramètres CMake (Build, Execution, Deployment > CMake). -Finalement, dans `CMake options`, ajoutez la ligne suivante : - -``` --DCMAKE_TOOLCHAIN_FILE=[vcpkg root]/scripts/buildsystems/vcpkg.cmake -``` - -Malheureusement, vous devrez le refaire pour chaque projet. - - -### Vcpkg en tant que sous-module - -Quand vous utilisez vcpkg comme un sous-module de votre projet, vous pouvez l'ajouter à votre CMakeLists.txt avant le premier appel de `project()`, au lieu d'utiliser `CMAKE_TOOLCHAIN_FILE` dans les paramètres d'appel de cmake. - -```cmake -set(CMAKE_TOOLCHAIN_FILE "${CMAKE_CURRENT_SOURCE_DIR}/vcpkg/scripts/buildsystems/vcpkg.cmake" - CACHE STRING "Vcpkg toolchain file") -``` - -Cela permettra toujours aux gens de ne pas utiliser vcpkg, en passant directement le CMAKE_TOOLCHAIN_FILE, mais cela rendra l'étape de configuration-construction légèrement plus facile. - -[getting-started:utiliser-un-paquet]: https://learn.microsoft.com/vcpkg/examples/installing-and-using-packages -[getting-started:integration]: https://learn.microsoft.com/en-us/vcpkg/users/buildsystems/msbuild-integration -[getting-started:git]: https://git-scm.com/downloads -[getting-started:cmake-tools]: https://marketplace.visualstudio.com/items?itemName=ms-vscode.cmake-tools -[getting-started:linux-gcc]: #installing-linux-developer-tools -[getting-started:macos-dev-tools]: #installing-macos-developer-tools -[getting-started:macos-brew]: #installing-gcc-on-macos -[getting-started:macos-gcc]: #installing-gcc-on-macos -[getting-started:visual-studio]: https://visualstudio.microsoft.com/ -[getting-started:manifest-spec]: https://learn.microsoft.com/en-us/vcpkg/users/manifests - -# Tab-complétion/Auto-complétion - -`vcpkg` supporte l'auto-complétion des commandes, nom de paquets, et options dans powershell et bash. -Pour activer la tab-complétion dans le shell de votre choix : - -```pwsh -> .\vcpkg integrate powershell -``` - -ou - -```sh -$ ./vcpkg integrate bash -``` - -selon le shell que vous utilisez, puis redémarrez la console. - -# Exemples - -Lisez la [documentation](https://learn.microsoft.com/vcpkg) pour des instructions plus spécifiques ainsi que [l'installation et l'utilisation des paquets](https://learn.microsoft.com/vcpkg/examples/installing-and-using-packages), -[ajouter un nouveau paquet depuis un fichier zip](https://learn.microsoft.com/vcpkg/examples/packaging-zipfiles), -et [ajouter un nouveau paquet depuis un dépôt GitHub](https://learn.microsoft.com/vcpkg/examples/packaging-github-repos). - -La documentation est aussi disponible en ligne sur ReadTheDocs : ! - -Regardez une [démo vidéo]((https://www.youtube.com/watch?v=y41WFKbQFTw) de 4 minutes en anglais. - -# Contribuer - -Vcpkg est un projet open source, et évolue ainsi avec vos contributions. -Voici quelques moyens pour vous d'y contribuer : -* [Soumettre des Issues][contributing:submit-issue] sur vcpkg ou des paquets existants -* [Proposer des corrections et de nouveaux paquets][contributing:submit-pr] - - -Veuillez vous référer au [guide de contribution](CONTRIBUTING.md) pour plus de détails. - - -Ce projet a adopté le [Code de Conduite Open Source de Microsoft][contribuer:coc]. -[contributing:submit-issue]: https://github.com/microsoft/vcpkg/issues/new/choose -[contributing:submit-pr]: https://github.com/microsoft/vcpkg/pulls -[contributing:coc]: https://opensource.microsoft.com/codeofconduct/ -[contributing:coc-faq]: https://opensource.microsoft.com/codeofconduct/ - -# Licence -Le code sur ce dépôt est distribué sous [licence MIT](LICENSE.txt). - -# Télémétrie - -vcpkg collecte des données pour nous aider à améliorer votre expérience. -Les données collectées par Microsoft sont anonymes. -Vous pouvez désactiver la télémétrie en relançant le bootstrap-vcpkg avec l'argument `-disableMetrics`, passer l'argument `--disable-metrics` à chaque exécution de vcpkg, ou en créant une variable d'environnement nommée `VCPKG_DISABLE_METRICS`. - -Vous trouverez plus d'informations à propos de la télémétrie dans vcpkg sur cette [page](https://learn.microsoft.com/vcpkg/about/privacy). diff --git a/README_ko_KR.md b/README_ko_KR.md deleted file mode 100644 index 079f08c2b15686..00000000000000 --- a/README_ko_KR.md +++ /dev/null @@ -1,346 +0,0 @@ -# Vcpkg: 개요 - -[中文总览](README_zh_CN.md) -[Español](README_es.md) -[English](README.md) -[Français](README_fr.md) - -Vcpkg는 Windows, Linux 및 MacOS에서 C 및 C++ 라이브러리를 관리하는 데 도움을 주는 라이브러리입니다. -이 도구와 생태계는 지속적으로 진화하고 있으며, 저희는 기여를 언제나 환영합니다! - -이전에 vcpkg를 사용한 적이 없거나 vcpkg를 사용하는 방법을 알고 싶을 경우, -아래의 [시작하기](#시작하기) 단락을 확인하면 vcpkg 사용을 시작하는 방법이 설명되어 있습니다. - -Vcpkg를 설치하였다면, `vcpkg help` 명령어로 사용 가능한 명령어에 대한 간단한 설명을 볼 수 있습니다. -`vcpkg help [command]` 명령어로는 각 명령어별 도움말을 볼 수 있습니다. - -* GitHub: port는 [https://github.com/microsoft/vcpkg](https://github.com/microsoft/vcpkg)에, 관련 프로그램은 [https://github.com/microsoft/vcpkg-tool](https://github.com/microsoft/vcpkg-tool)에 있습니다. -* Slack: [https://cppalliance.org/slack/](https://cppalliance.org/slack/), #vcpkg 채널 -* Discord: [\#include \](https://www.includecpp.org), #🌏vcpkg 채널 -* 도움말: [Documentation](https://learn.microsoft.com/vcpkg) - -# 목차 - -- [Vcpkg: 개요](#vcpkg-개요) -- [목차](#목차) -- [시작하기](#시작하기) - - [빠르게 시작하기: Windows](#빠르게-시작하기-windows) - - [빠르게 시작하기: Unix](#빠르게-시작하기-unix) - - [Linux 개발자 도구 설치하기](#linux-개발자-도구-설치하기) - - [macOS 개발자 도구 설치하기](#macos-개발자-도구-설치하기) - - [CMake와 함께 vcpkg 사용](#cmake와-함께-vcpkg-사용) - - [Visual Studio Code와 CMake Tools](#visual-studio-code와-cmake-tools) - - [Vcpkg와 Visual Studio CMake 프로젝트](#vcpkg와-visual-studio-cmake-프로젝트) - - [Vcpkg와 CLion](#vcpkg와-clion) - - [서브모듈로 vcpkg 사용하기](#서브모듈로-vcpkg-사용하기) -- [탭 완성/자동 완성](#탭-완성자동-완성) -- [예시](#예시) -- [기여하기](#기여하기) -- [라이선스](#라이선스) -- [보안](#보안) -- [데이터 수집](#데이터-수집) - -# 시작하기 - -먼저, 사용하는 운영체제에 따라 -[윈도우](#빠르게-시작하기-windows) 또는 [macOS와 Linux](#빠르게-시작하기-unix) -빠르게 시작하기 가이드를 따라가세요. - -더 자세한 정보는 [패키지 설치 및 사용][getting-started:using-a-package]에 있습니다. -만약 필요한 라이브러리가 vcpkg 카탈로그에 없는 경우, -[GitHub 저장소에서 이슈를 열 ​​수 있습니다][contributing:submit-issue]. -Vcpkg 팀과 커뮤니티가 이슈를 확인하면, 해당하는 port를 추가할 수 있습니다. - -Vcpkg의 설치가 완료되었다면, -셸에 [탭 완성](#탭-완성자동-완성)을 추가할 수 있습니다. - -마지막으로, vcpkg의 미래에 관심이 있다면, -[manifest][getting-started:manifest-spec] 가이드를 확인하세요! -이것은 실험적인 기능이며 버그가 있을 가능성이 높습니다. -시도해보고 문제가 있다면 [이슈를 열어주세요][contributing:submit-issue]! - -## 빠르게 시작하기: Windows - -필요조건: -- Windows 7 이상 -- [Git][getting-started:git] -- [Visual Studio][getting-started:visual-studio] 영어 언어팩이 설치된 2015 Update 3 버전 이상 - -첫번째로, vcpkg 자체를 다운로드하고 부트스트랩합니다. Vcpkg는 어디에나 설치할 수 있지만, -일반적으로 CMake 프로젝트는 vcpkg를 submodule로 사용하는 것을, -Visual Studio 프로젝트는 시스템에 설치하는 것을 추천합니다. -시스템 설치는 `C:\src\vcpkg` 나 `C:\dev\vcpkg` 등의 위치에 하는 것을 권장하는데, -그렇지 않으면 일부 포트 빌드 시스템에서 경로 문제가 발생할 수도 있기 때문입니다. - -```cmd -> git clone https://github.com/microsoft/vcpkg -> .\vcpkg\bootstrap-vcpkg.bat -``` - -당신의 프로젝트에 라이브러리를 설치하려면 다음 명령을 실행하세요. - -```cmd -> .\vcpkg\vcpkg install [packages to install] -``` - -참고로, 위 명령은 x86 라이브러리를 설치하는 것이 기본 설정입니다. 만약 x64 버전을 -설치하고 싶다면, 다음 명령을 실행하세요. - -```cmd -> .\vcpkg\vcpkg install [package name]:x64-windows -``` - -또는 이렇게도 가능합니다. - -```cmd -> .\vcpkg\vcpkg install [packages to install] --triplet=x64-windows -``` - -다음과 같이 `search` 하위 명령어를 사용하여 필요한 라이브러리를 검색할 수도 있습니다. - -```cmd -> .\vcpkg\vcpkg search [search term] -``` - -Visual Studio에서 vcpkg를 사용하려면 -다음 명령을 실행해야 합니다(관리자 권한이 필요할 수도 있습니다). - -```cmd -> .\vcpkg\vcpkg integrate install -``` - -이제 CMake를 사용하지 않는 프로젝트도 만들 수 (또는 기존 프로젝트를 열 수) 있습니다. -설치한 모든 라이브러리는 추가 설정 없이도 프로젝트에서 즉시 `# include` 및 사용할 수 있습니다. - -Visual Studio에서 CMake를 사용하는 경우, -[여기를 보세요](#vcpkg와-visual-studio-cmake-프로젝트). - -IDE 외부에서 CMake와 함께 vcpkg를 사용하려면, -다음과 같이 툴체인 파일을 사용할 수 있습니다. - -```cmd -> cmake -B [build directory] -S . "-DCMAKE_TOOLCHAIN_FILE=[path to vcpkg]/scripts/buildsystems/vcpkg.cmake" -> cmake --build [build directory] -``` - -CMake에서 라이브러리를 사용하려면 여전히 `find_package` 등이 필요합니다. -CMake를 IDE와 사용하는 방법을 포함한 -자세한 정보는 [CMake 섹션](#cmake와-함께-vcpkg-사용)을 확인하세요. - -Visual Studio Code를 포함한 다른 툴의 경우 -[통합 가이드][getting-started:integration]를 확인하세요. - -## 빠르게 시작하기: Unix - -Linux에서의 필요조건: -- [Git][getting-started:git] -- [g++][getting-started:linux-gcc] >= 6 - -macOS에서의 필요조건: -- [Apple Developer Tools][getting-started:macos-dev-tools] - -우선, vcpkg 자체를 다운로드하고 설치해야 합니다. 어디에나 설치할 수 있지만, -일반적으로 CMake 프로젝트의 하위 모듈로 vcpkg를 사용하는 것이 좋습니다. - -```sh -$ git clone https://github.com/microsoft/vcpkg -$ ./vcpkg/bootstrap-vcpkg.sh -``` - -프로젝트에 라이브러리를 설치하려면 다음 명령을 실행하세요. - -```sh -$ ./vcpkg/vcpkg install [packages to install] -``` - -다음과 같이 `search` 하위 명령어를 사용하여 필요한 라이브러리를 검색할 수도 있습니다. - -```sh -$ ./vcpkg/vcpkg search [search term] -``` - -CMake와 함께 vcpkg를 사용하려면 툴체인 파일을 이용해 보세요. - -```sh -$ cmake -B [build directory] -S . "-DCMAKE_TOOLCHAIN_FILE=[path to vcpkg]/scripts/buildsystems/vcpkg.cmake" -$ cmake --build [build directory] -``` - -CMake에서 라이브러리를 사용하려면 여전히 `find_package` 등이 필요합니다. -CMake와 VSCode를 위한 CMake Tools를 vcpkg와 함께 사용하는 최선의 방법을 포함한 -자세한 정보는 [CMake 섹션](#cmake와-함께-vcpkg-사용)을 확인하세요. - -다른 툴에 대해서는 [통합 가이드][getting-started:integration]를 확인하세요. - -## Linux 개발자 도구 설치하기 - -Linux의 배포판별로 설치해야 하는 개발자 소프트웨어가 다릅니다. - -- Debian, Ubuntu, popOS 및 기타 Debian 기반 배포판 - -```sh -$ sudo apt-get update -$ sudo apt-get install build-essential tar curl zip unzip -``` - -- CentOS - -```sh -$ sudo yum install centos-release-scl -$ sudo yum install devtoolset-7 -$ scl enable devtoolset-7 bash -``` - -다른 배포판의 경우, g++ 6 이상의 버전을 설치하여야 합니다. -특정 배포판에 대한 안내를 추가하고 싶은 경우, -[PR을 열어주세요][contributing:submit-pr]! - -## macOS 개발자 도구 설치하기 - -macOS에서는 터미널에서 다음 명령어를 실행하기만 하면 됩니다. - -```sh -$ xcode-select --install -``` - -그런 다음 나타나는 창의 안내에 따르세요. - -설치가 끝나면 [빠른 시작 가이드](#빠르게-시작하기-unix)를 참고하여 vcpkg를 설치하세요. - -## CMake와 함께 vcpkg 사용 - -CMake와 함께 vcpkg를 사용하는 경우, 다음 내용이 도움이 될 것입니다! - -### Visual Studio Code와 CMake Tools - -Workspace `settings.json` 파일에 다음을 추가하면 -CMake Tools는 자동으로 vcpkg의 라이브러리를 사용할 것입니다. - -```json -{ - "cmake.configureSettings": { - "CMAKE_TOOLCHAIN_FILE": "[vcpkg root]/scripts/buildsystems/vcpkg.cmake" - } -} -``` - -### Vcpkg와 Visual Studio CMake 프로젝트 - -CMake 설정 편집기를 열고 `CMake toolchain file`에서 -vcpkg 툴체인 파일에 경로를 추가합니다. - -``` -[vcpkg root]/scripts/buildsystems/vcpkg.cmake -``` - -### Vcpkg와 CLion - -Toolchains settings을 엽니다. -(File > Settings on Windows and Linux, CLion > Preferences on macOS), -그리고 CMake 세팅을 엽니다 (Build, Execution, Deployment > CMake). -마지막으로 `CMake options`에서 다음 줄을 추가합니다. - -``` --DCMAKE_TOOLCHAIN_FILE=[vcpkg root]/scripts/buildsystems/vcpkg.cmake -``` - -각 프로필에 이것을 추가해야합니다. - -### 서브모듈로 vcpkg 사용하기 - -프로젝트의 서브모듈로 vcpkg를 사용하는 경우, -cmake 실행 시 `CMAKE_TOOLCHAIN_FILE`을 전달하는 대신, -첫 번째 `project()` 호출 전에 CMakeLists.txt에 다음을 추가하는 방법도 있습니다. - -```cmake -set(CMAKE_TOOLCHAIN_FILE "${CMAKE_CURRENT_SOURCE_DIR}/vcpkg/scripts/buildsystems/vcpkg.cmake" - CACHE STRING "Vcpkg toolchain file") -``` - -이렇게 하면 설정-빌드 단계가 약간 더 쉬워집니다. -또한, 여전히 `CMAKE_TOOLCHAIN_FILE`을 직접 전달하면 -vcpkg를 사용하지 않을 수 있습니다. - -[getting-started:using-a-package]: https://learn.microsoft.com/vcpkg/examples/installing-and-using-packages -[getting-started:integration]: https://learn.microsoft.com/en-us/vcpkg/users/buildsystems/msbuild-integration -[getting-started:git]: https://git-scm.com/downloads -[getting-started:cmake-tools]: https://marketplace.visualstudio.com/items?itemName=ms-vscode.cmake-tools -[getting-started:linux-gcc]: #installing-linux-developer-tools -[getting-started:macos-dev-tools]: #installing-macos-developer-tools -[getting-started:macos-brew]: #installing-gcc-on-macos -[getting-started:macos-gcc]: #installing-gcc-on-macos -[getting-started:visual-studio]: https://visualstudio.microsoft.com/ -[getting-started:manifest-spec]: https://learn.microsoft.com/en-us/vcpkg/users/manifests - -# 탭 완성/자동 완성 - -`vcpkg`는 powershell과 bash 모두에서 명령, 패키지 이름 및 옵션의 자동 완성을 지원합니다. -선택한 셸에서 탭 완성을 활성화하려면 다음 두 명령어 중 하나를 실행합니다. - -```pwsh -> .\vcpkg integrate powershell -``` - -```sh -$ ./vcpkg integrate bash # or zsh -``` - -그 다음 콘솔을 재시작하세요. - -# 예시 - -[패키지 설치 및 사용](https://learn.microsoft.com/vcpkg/examples/installing-and-using-packages), -[zip 파일에서 새 패키지 추가](https://learn.microsoft.com/vcpkg/examples/packaging-zipfiles), -[GitHub 저장소에서 새 패키지 추가](https://learn.microsoft.com/vcpkg/examples/packaging-github-repos)에 -대한 구체적인 예시는 [문서](https://learn.microsoft.com/vcpkg)를 참고하세요. - -문서는 이제 웹사이트 https://vcpkg.io/ 에서도 온라인으로 확인 가능합니다. 모든 피드백에 진심으로 감사드립니다! -https://github.com/vcpkg/vcpkg.github.io/issues 에서 이슈를 제출할 수 있습니다. - -[4분짜리 데모 영상도 준비되어 있습니다](https://www.youtube.com/watch?v=y41WFKbQFTw). - -# 기여하기 - -Vcpkg는 오픈소스 프로젝트입니다, 따라서 여러분의 기여를 통해 만들어집니다. -기여할 수 있는 몇 가지 방법은 다음과 같습니다. - -* Vcpkg 또는 vcpkg에 포함된 패키지의 [이슈 제출][contributing:submit-issue] -* [수정 사항 및 새 패키지 제출][contributing:submit-pr] - -자세한 내용은 [기여 가이드](CONTRIBUTING.md)를 참고하세요. - -이 프로젝트는 [Microsoft Open Source Code of Conduct][contributing:coc]을 채택했습니다. -더 많은 정보를 얻고 싶다면 [Code of Conduct FAQ][contributing:coc-faq] 문서를 참고하세요. -추가 질문이나 의견은 이메일 [opencode@microsoft.com](mailto:opencode@microsoft.com)로 보내주세요. - -[contributing:submit-issue]: https://github.com/microsoft/vcpkg/issues/new/choose -[contributing:submit-pr]: https://github.com/microsoft/vcpkg/pulls -[contributing:coc]: https://opensource.microsoft.com/codeofconduct/ -[contributing:coc-faq]: https://opensource.microsoft.com/codeofconduct/ - -# 라이선스 - -이 저장소의 코드는 [MIT 라이선스](LICENSE.txt)에 따라 사용이 허가됩니다. Port로 제공되는 -라이브러리는 각 라이브러리의 원저자가 설정한 라이선스에 따라 제공됩니다. 가능한 경우, vcpkg는 -`installed//share//copyright`에 관련된 라이선스를 저장합니다. - -# 보안 - -Vcpk가 제공하는 대부분의 port는 각각의 라이브러리를 빌드할 때 -원 개발자들이 권장하는 빌드 시스템을 이용하고, -소스 코드와 빌드 도구를 각각의 공식 배포처로부터 다운로드합니다. -방화벽 뒤에서 사용하는 경우, 어떤 port를 설치하느냐에 따라 필요한 접근 권한이 달라질 수 있습니다. -만약 "air gapped" 환경에서 설치해야만 한다면, "air gapped"가 아닌 환경에서 -[asset 캐시](https://learn.microsoft.com/vcpkg/users/assetcaching)를 다운로드하고, -이후에 "air gapped" 환경에서 공유하는 것을 고려해 보십시오. - -# 데이터 수집 - -vcpkg는 사용자 경험을 개선하는 데 도움이 되도록 사용 데이터를 수집합니다. -Microsoft는 이 정보를 익명으로 수집합니다. -다음을 통해 원격 정보 제공을 비활성화할 수 있습니다. -- -disableMetrics 옵션을 포함하여 bootstrap-vcpkg 스크립트 실행 -- 명령줄에서 vcpkg에 --disable-metrics 전달 -- VCPKG_DISABLE_METRICS 환경 변수 설정 - -[https://learn.microsoft.com/vcpkg/about/privacy](https://learn.microsoft.com/vcpkg/about/privacy)에서 vcpkg 데이터 수집에 대해 자세히 알아보세요. diff --git a/README_pt.md b/README_pt.md deleted file mode 100644 index c98907bbd5cbf0..00000000000000 --- a/README_pt.md +++ /dev/null @@ -1,334 +0,0 @@ -# Vcpkg: visão geral - -[中文总览](README_zh_CN.md) | -[Español](README_es.md) | -[한국어](README_ko_KR.md) | -[Français](README_fr.md) | -[English](README.md) - -Vcpkg ajuda você a gerenciar bibliotecas C e C++ no Windows, Linux e MacOS. -Esta ferramenta e ecossistema estão em constante evolução e sempre agradecemos as contribuições! - -Se você nunca usou o vcpkg antes, ou se está tentando descobrir como usar o vcpkg, -confira nossa seção [Primeiros passos](#getting-started) para saber como começar a usar o vcpkg. - -Para obter uma breve descrição dos comandos disponíveis, depois de instalar o vcpkg, -você pode executar `vcpkg help`, ou `vcpkg help [command]` para obter ajuda específica do comando. - -* GitHub: pacote completo em [https://github.com/microsoft/vcpkg](https://github.com/microsoft/vcpkg), programa em [https://github.com/microsoft/vcpkg-tool](https://github.com/microsoft/vcpkg-tool) -* Slack: [https://cppalliance.org/slack/](https://cppalliance.org/slack/), the #vcpkg channel -* Discord: [\#include \](https://www.includecpp.org), the #🌏vcpkg channel -* Documentos: [Documentation](https://learn.microsoft.com/vcpkg) - -# Índice - -* [Vcpkg: visão geral](#vcpkg-visão-geral) -* [Índice](#Índice) -* [Primeiros passos](#primeiros-passos) - * [Início rápido: Windows](#início-rápido-windows) - * [Início rápido: Unix](#início-rápido-unix) - * [Instalando ferramentas de desenvolvedor do Linux](#Instalando-ferramentas-de-desenvolvedor-do-Linux) - * [Instalando ferramentas de desenvolvedor do macOS](#instalando-ferramentas-de-desenvolvedor-do-macos) - * [Usando vcpkg com CMake](#usando-vcpkg-com-cmake) - * [Visual Studio Code com CMake Tools](#visual-studio-code-com-ferramentas-cmake) - * [Vcpkg com Projectos Visual Studio CMake](#vcpkg-com-projectos-visual-studio-cmake) - * [Vcpkg com CLion](#vcpkg-com-clion) - * [Vcpkg como um submódulo](#vcpkg-como-um-submódulo) -* [Tab-Completion/Auto-Completion](#tab-completionauto-completion) -* [Exemplos](#exemplos) -* [Contribuindo](#contribuindo) -* [Licença](#licença) -* [Segurança](#segurança) -* [Telemetria](#telemetria) - -# Primeiros passos - -Primeiro, siga o guia de início rápido para -[Windows](#início-rápido-windows) ou [macOS e Linux](#início-rápido-unix), -dependendo do que você está usando. - -Para obter mais informações, consulte [Instalando e usando pacotes] [primeiros passos: usando um pacote]. -Se uma biblioteca que você precisa não estiver presente no catálogo vcpkg, -você pode [abrir um problema no repositório do GitHub][contributing:submit-issue] -onde a equipe e a comunidade do vcpkg possam vê-lo, -e potencialmente adicionar a porta ao vcpkg. - -Depois de ter vcpkg instalado e funcionando, -você pode querer adicionar [tab-completion](#tab-completionauto-completion) ao seu shell. - -Finalmente, se você estiver interessado no futuro do vcpkg, -confira o guia [manifesto][introdução: especificação do manifesto]! -Este é um recurso experimental e provavelmente terá bugs, -então experimente e [abra todos os problemas][contribuir: enviando-problema]! - -## Início rápido: Windows - -Pré-requisitos: -- Windows 7 ou mais recente -- [Git][primeiros passos:git] -- [Visual Studio] [primeiros passos: visual-studio] 2015 Update 3 ou superior com o pacote de idioma inglês - -Primeiro, baixe e inicialize o próprio vcpkg; pode ser instalado em qualquer lugar, -mas geralmente recomendamos usar vcpkg como um submódulo para projetos CMake, -e instalá-lo globalmente para projetos do Visual Studio. -Recomendamos algum lugar como `C:\src\vcpkg` ou `C:\dev\vcpkg`, -caso contrário, você pode ter problemas de caminho para alguns sistemas de compilação de portas. - -```cmd -> git clone https://github.com/microsoft/vcpkg -> .\vcpkg\bootstrap-vcpkg.bat -``` - -Para instalar bibliotecas para os seus projectos, execute: - -```cmd -> .\vcpkg\vcpkg install [nome do pacote por instalar] -``` - -Nota: este comando irá instalar bibliotecas x86 por padrão. Para instalar x64, execute: - -```cmd -> .\vcpkg\vcpkg install [nome do pacote por instalar]:x64-windows -``` - -Ou - -```cmd -> .\vcpkg\vcpkg install [nome do pacote por instalar] --triplet=x64-windows -``` - -Voce pode também procurar pela biblioteca que precisa com o subcomando `search`: - -```cmd -> .\vcpkg\vcpkg search [termo de procura] -``` - -Para usar o vcpkg com o Visual Studio, -execute o seguinte comando (pode exigir autorização do administrador): - -```cmd -> .\vcpkg\vcpkg integrate install -``` - -Depois disso, agora você pode criar um novo projeto sem CMake (ou abrir um já existente). -Todas as bibliotecas instaladas estarão imediatamente prontas para serem `#include`'d e usadas -em seu projeto sem configuração adicional. - -Se você estiver usando o CMake com o Visual Studio, -continue [aqui](#vcpkg-com-projectos-visual-studio-cmake). - -Para usar vcpkg com CMake fora de um IDE, -você pode usar o arquivo toolchain: - -```cmd -> cmake -B [diretorio de trabalho] -S . "-DCMAKE_TOOLCHAIN_FILE=[localizacao do vcpkg]/scripts/buildsystems/vcpkg.cmake" -> cmake --build [diretorio de trabalho] -``` - -Com o CMake, você ainda precisará de `find_package` (localizar os pacotes) e similares para usar as bibliotecas. -Confira a [secção CMake](#usando-vcpkg-com-cmake) para mais informações, -incluindo o uso do CMake com um IDE. - -Para quaisquer outras ferramentas, incluindo o Visual Studio Code, -confira o [guia de integração][primeiros passos: integração]. - -## Início rápido: Unix - -Pré-requisitos para Linux: -- [Git][primeiros passos:git] -- [g++][primeiros passos:linux-gcc] >= 6 - -Pré-requisitos para macOS: -- [Apple Developer Tools][primeiros passos: macos-dev-tools] - -Primeiro, baixe e inicialize o próprio vcpkg; pode ser instalado em qualquer lugar, -mas geralmente recomendamos o uso de vcpkg como um submódulo para projetos CMake. - -```sh -$ git clone https://github.com/microsoft/vcpkg -$ ./vcpkg/bootstrap-vcpkg.sh -``` - -Para instalar as bibliotecas do seu projecto, execute: - -```sh -$ ./vcpkg/vcpkg install [pacote por instalar] -``` - -Voce pode também procurar pela biblioteca que precisa com o subcomando `search`: - -```sh -$ ./vcpkg/vcpkg search [termo de pesquisa] -``` - -Para usar vcpkg com CMake, você pode usar o arquivo toolchain: - -```sh -$ cmake -B [diretorio de trabalho] -S . "-DCMAKE_TOOLCHAIN_FILE=[localizacao do vcpkg]/scripts/buildsystems/vcpkg.cmake" -$ cmake --build [diretorio de trabalho] -``` - -Com o CMake, você ainda precisará `find_package` e similares para usar as bibliotecas. -Confira a [seção CMake](#using-vcpkg-with-cmake) -para obter mais informações sobre a melhor forma de usar vcpkg com CMake, -e ferramentas CMake para VSCode. - -Para quaisquer outras ferramentas, confira o [guia de integração][primeiros passos:integração]. - -## Instalando ferramentas de desenvolvedor do Linux - -Nas diferentes distros do Linux, existem diferentes pacotes que você -precisa instalar: - -- Debian, Ubuntu, popOS e outras distribuições baseadas em Debian: - -```sh -$ sudo apt-get update -$ sudo apt-get install build-essential tar curl zip unzip -``` - -- CentOS - -```sh -$ sudo yum install centos-release-scl -$ sudo yum install devtoolset-7 -$ scl enable devtoolset-7 bash -``` - -Para quaisquer outras distribuições, certifique-se de instalar o g++ 6 ou superior. -Se você deseja adicionar instruções para sua distro específica, [abra um PR][contribuindo:enviar-pr]! - -## Instalação das ferramentas de desenvolvedor do macOS - -No macOS, a única coisa que você precisa fazer é executar o seguinte no seu terminal: - -```sh -$ xcode-select --install -``` - -Em seguida, siga as instruções nas janelas que aparecerem. - -Você poderá inicializar o vcpkg junto com o [guia de início rápido](#quick-start-unix) - -## Usando vcpkg com CMake - -### Visual Studio Code com ferramentas CMake - -Adicionar o seguinte ao seu espaço de trabalho `settings.json` fará CMake Tools usar automaticamente `vcpkg` para bibliotecas: - -```json -{ - "cmake.configureSettings": { - "CMAKE_TOOLCHAIN_FILE": "[vcpkg root]/scripts/buildsystems/vcpkg.cmake" - } -} -``` - -### Vcpkg com Projetos CMake do Visual Studio - -Abra o CMake Settings Editor e, em `CMake toolchain file`, adicione o caminho ao arquivo de cadeia de ferramentas vcpkg: - -``` -[vcpkg root]/scripts/buildsystems/vcpkg.cmake -``` - -### Vcpkg com CLion - -Abra as configurações das cadeias de ferramentas -(Arquivo > Configurações no Windows e Linux, CLion > Preferências no macOS), e vá para as configurações do CMake (Build, Execution, Deployment > CMake). Finalmente, em `CMake options`, adicione a seguinte linha: - -``` --DCMAKE_TOOLCHAIN_FILE=[vcpkg root]/scripts/buildsystems/vcpkg.cmake -``` - -Você deve adicionar esta linha a cada perfil. - -### Vcpkg como um submódulo - -Ao usar o vcpkg como um submódulo do seu projeto, -você pode adicionar o seguinte ao seu CMakeLists.txt antes da primeira chamada `project()`, em vez de passar `CMAKE_TOOLCHAIN_FILE` para a invocação do cmake. - -```cmake -set(CMAKE_TOOLCHAIN_FILE "${CMAKE_CURRENT_SOURCE_DIR}/vcpkg/scripts/buildsystems/vcpkg.cmake" - CACHE STRING "Vcpkg toolchain file") -``` - -Isso ainda permitirá que as pessoas não usem o vcpkg, passando o `CMAKE_TOOLCHAIN_FILE` diretamente, mas tornará a etapa de configuração-construção um pouco mais fácil. - -[getting-started:using-a-package]: https://learn.microsoft.com/vcpkg/examples/installing-and-using-packages -[getting-started:integration]: https://learn.microsoft.com/en-us/vcpkg/users/buildsystems/msbuild-integration -[getting-started:git]: https://git-scm.com/downloads -[getting-started:cmake-tools]: https://marketplace.visualstudio.com/items?itemName=ms-vscode.cmake-tools -[getting-started:linux-gcc]: #installing-linux-developer-tools -[getting-started:macos-dev-tools]: #installing-macos-developer-tools -[getting-started:macos-brew]: #installing-gcc-on-macos -[getting-started:macos-gcc]: #installing-gcc-on-macos -[getting-started:visual-studio]: https://visualstudio.microsoft.com/ -[getting-started:manifest-spec]: https://learn.microsoft.com/en-us/vcpkg/users/manifests - -# Tab-Completion/Auto-Completion - -`vcpkg` suporta preenchimento automático de comandos, nomes de pacotes, e opções em powershell e bash. Para habilitar o preenchimento de tabulação no shell de sua escolha, execute: - -```pwsh -> .\vcpkg integrate powershell -``` - -Ou: - -```sh -$ ./vcpkg integrate bash # or zsh -``` - -dependendo do shell que você usa, reinicie o console. - -# Exemplos - -Consulte a [documentação](https://learn.microsoft.com/vcpkg) para orientações específicas, -incluindo [instalando e usando um pacote](https://learn.microsoft.com/vcpkg/examples/installing-and-using-packages), -[adicionando um novo pacote de um arquivo zip](https://learn.microsoft.com/vcpkg/examples/packaging-zipfiles), -e [adicionando um novo pacote de um repositório GitHub](https://learn.microsoft.com/vcpkg/examples/packaging-github-repos). - -Nossos documentos agora também estão disponíveis online em nosso site . Nós realmente apreciamos todo e qualquer feedback! Você pode enviar um problema em . - -Veja um [vídeo de demonstração](https://www.youtube.com/watch?v=y41WFKbQFTw) de 4 minutos. - -# Contribuindo - -Vcpkg é um projeto de código aberto e, portanto, é construído com suas contribuições. -Aqui estão algumas maneiras pelas quais você pode contribuir: - -* [Enviar problemas][contributing:submit-issue] em vcpkg ou pacotes existentes -* [Enviar correções e novos pacotes][contributing:submit-pr] - -Consulte nosso [Guia de contribuição](CONTRIBUTING.md) para obter mais detalhes. - -Este projeto adotou o [Código de Conduta de Código Aberto da Microsoft][contributing:coc]. -Para obter mais informações, consulte as [Perguntas frequentes sobre o Código de Conduta][contributing:coc-faq] -ou e-mail [opencode@microsoft.com](mailto:opencode@microsoft.com) -com quaisquer perguntas ou comentários adicionais. - -[contribuindo:submit-issue]: https://github.com/microsoft/vcpkg/issues/new/choose -[contribuindo:submit-pr]: https://github.com/microsoft/vcpkg/pulls -[contribuindo:coc]: https://opensource.microsoft.com/codeofconduct/ -[contribuindo:coc-faq]: https://opensource.microsoft.com/codeofconduct/ - -# Segurança - -A maioria das portas no vcpkg compila as bibliotecas em questão usando o sistema de compilação original preferido -pelos desenvolvedores originais dessas bibliotecas e baixar o código-fonte e criar ferramentas de seus -locais de distribuição oficiais. Para uso atrás de um firewall, o acesso específico necessário dependerá -em quais portas estão sendo instaladas. Se você precisar instalar em um ambiente "air gap", considere -instalando uma vez em um ambiente sem "air gap", preenchendo um -[cache de ativos](https://learn.microsoft.com/vcpkg/users/assetcaching) compartilhado com o ambiente "air gapped". - -# Telemetria - -vcpkg coleta dados de uso para nos ajudar a melhorar sua experiência. -Os dados coletados pela Microsoft são anônimos. -Você pode cancelar a telemetria por -- executando o script bootstrap-vcpkg com -disableMetrics -- passando --disable-metrics para vcpkg na linha de comando -- definir a variável de ambiente VCPKG_DISABLE_METRICS - -Leia mais sobre a telemetria vcpkg em [https://learn.microsoft.com/vcpkg/about/privacy](https://learn.microsoft.com/vcpkg/about/privacy). diff --git a/README_vn.md b/README_vn.md deleted file mode 100644 index b57b107f2a3427..00000000000000 --- a/README_vn.md +++ /dev/null @@ -1,330 +0,0 @@ -# Vcpkg: Tổng quan - -[English](README.md) -[中文总览](README_zh_CN.md) -[Español](README_es.md) -[한국어](README_ko_KR.md) -[Français](README_fr.md) - -Vcpkg giúp bạn quản lý các thư viện C và C++ trên Windows, Linux và MacOS. -Phần mềm này và hệ sinh thái của nó vẫn đang không ngừng phát triển, và chúng tôi luôn trân trọng những đóng góp của bạn! - -Nếu bạn chưa từng sử dụng vcpkg trước đây, hoặc nếu bạn đang tìm hiểu cách để sử dụng vcpkg, xin hãy xem phần [Bắt Đầu](#bắt-đầu) cho hướng dẫn cài đặt vcpkg. - -Để xem mô tả ngắn về những lệnh khả thi, khi bạn đã cài đặt vcpkg, bạn có thể chạy `vcpkg help`, hoặc `vcpkg help [command]` cho những lệnh nhất định. - -* GitHub: Các port ở [https://github.com/microsoft/vcpkg](https://github.com/microsoft/vcpkg), phần mềm ở [https://github.com/microsoft/vcpkg-tool](https://github.com/microsoft/vcpkg-tool) -* Slack: [https://cppalliance.org/slack/](https://cppalliance.org/slack/), kênh #vcpkg -* Discord: [\#include \](https://www.includecpp.org), kênh #🌏vcpkg -* Docs: [Tài liệu](https://learn.microsoft.com/vcpkg) - -# Mục Lục - -- [Vcpkg: Tổng quan](#vcpkg-tổng-quan) -- [Mục Lục](#mục-lục) -- [Bắt Đầu](#bắt-đầu) - - [Bắt Đầu Nhanh: Windows](#bắt-đầu-nhanh-windows) - - [Bắt Đầu Nhanh: Unix](#bắt-đầu-nhanh-unix) - - [Cài đặt Developer Tools cho Linux](#cài-đặt-developer-tools-cho-linux) - - [Cài đặt Developer Tools cho macOS](#cài-đặt-developer-tools-cho-macos) - - [Sử dụng vcpkg với CMake](#sử-dụng-vcpkg-với-cmake) - - [Visual Studio Code với Công cụ CMake](#visual-studio-code-với-công-cụ-cmake) - - [Vcpkg với Visual Studio CMake Projects](#vcpkg-với-visual-studio-cmake-projects) - - [Vcpkg với CLion](#vcpkg-với-clion) - - [Vcpkg dưới dạng Submodule](#vcpkg-dưới-dạng-submodule) -- [Gợi ý/Tự động điền](#gợi-ýtự-động-điền) -- [Các ví dụ](#các-ví-dụ) -- [Đóng Góp](#đóng-góp) -- [Giấy Phép](#giấy-phép) -- [Bảo Mật](#bảo-mật) -- [Thu Thập Dữ Liệu](#thu-thập-dữ-liệu) - -# Bắt Đầu -Đầu tiên, hãy làm theo hướng dẫn cài đặt cho [Windows](#bắt-đầu-nhanh-windows), hoặc [macOS và Linux](#bắt-đầu-nhanh-unix), tùy theo hệ điều hành mà bạn đang sử dụng. - -Ngoài ra, hãy xem [Cài đặt và Sử dụng Packages][getting-started:using-a-package]. -Nếu một thư viện bạn cần hiện đang chưa có trong vcpkg, bạn có thể [mở một issue trên GitHub repo][contributing:submit-issue] nơi mà đội ngũ vcpkg và cộng đồng có thể thấy và có khả năng thêm port đó vào vcpkg. - -Sau khi bạn đã cài đặt vcpkg, bạn có thể muốn thêm [tự động điền](#gợi-ýtự-động-điền) vào shell của bạn. - -## Bắt Đầu Nhanh: Windows - -Yêu cầu: -- Windows 7 trở lên -- [Git][getting-started:git] -- [Visual Studio][getting-started:visual-studio] 2015 Update 3 trở lên với gói ngôn ngữ Tiếng Anh - -Đầu tiên, tải và khởi động vcpkg; nó có thể được cài đặt bất kỳ đâu, nhưng -chúng tôi khuyến cáo sử dụng vcpkg như một submoudle cho các project CMake, -và cài đặt nó toàn máy cho các project Visual Studio. -Chúng tôi gợi ý cài ở những nơi như `C:\src\vcpkg` hoặc `C:\dev\vcpkg`, -bởi vì nếu cài những nơi khác bạn có thể gặp các lỗi đường dẫn đối với -hệ thống build của một vài port. - -```cmd -> git clone https://github.com/microsoft/vcpkg -> .\vcpkg\bootstrap-vcpkg.bat -``` - -Để cài đặt các thư viện cho project của bạn, hãy chạy: - -```cmd -> .\vcpkg\vcpkg install [packages to install] -``` - -Lưu ý: Lệnh này sẽ mặc định cài đặt phiên bản x86 của thư viện, để cài x64 hãy chạy: - -```cmd -> .\vcpkg\vcpkg install [package name]:x64-windows -``` - -Hoặc - -```cmd -> .\vcpkg\vcpkg install [packages to install] --triplet=x64-windows -``` - -Bạn cũng có thể tìm kiếm các thư viện bạn cần với lệnh `search`: - -```cmd -> .\vcpkg\vcpkg search [search term] -``` - -Để sử dụng vcpkg với Visual Studio, -hãy chạy lệnh sau (có thể yêu cầu quyền administrator): - -```cmd -> .\vcpkg\vcpkg integrate install -``` - -Sau khi xong, bạn có thể tạo một project mới (trừ CMake), hoặc mở một project có sẵn. -Tất cả các thư viện sẽ ngay lập tức có sẵn để được `#include` và sử dụng -trong project của bạn mà không cần cấu hình gì thêm. - -Nếu bạn đang sử dụng CMake với Visual Studio, -hãy tiếp tục [ở đây](#vcpkg-với-visual-studio-cmake-projects). - -Để sử dụng vcpkg với CMake bên ngoài một IDE, -bạn có thể sử dụng file toolchain: - -```cmd -> cmake -B [build directory] -S . "-DCMAKE_TOOLCHAIN_FILE=[path to vcpkg]/scripts/buildsystems/vcpkg.cmake" -> cmake --build [build directory] -``` - -Với CMake, bạn vẫn sẽ cần thêm `find_package` và những lệnh khác để sử dụng thư viện. -Hãy xem [phần CMake](#sử-dụng-vcpkg-với-cmake) để biết thêm, -bao gồm việc sử dụng CMake với một IDE. - -## Bắt Đầu Nhanh: Unix - -Yêu cầu cho Linux: -- [Git][getting-started:git] -- [g++][getting-started:linux-gcc] >= 6 - -Yêu cầu cho macOS: -- [Apple Developer Tools][getting-started:macos-dev-tools] - -Đầu tiên, tải và khởi động vcpkg; nó có thể được cài đặt bất kỳ đâu, nhưng -chúng tôi khuyến cáo sử dụng vcpkg như một submoudle cho các project CMake. - -```sh -$ git clone https://github.com/microsoft/vcpkg -$ ./vcpkg/bootstrap-vcpkg.sh -``` - -Để cài đặt các thư viện cho project của bạn, hãy chạy: - -```sh -$ ./vcpkg/vcpkg install [packages to install] -``` - -Bạn cũng có thể tìm kiếm các thư viện bạn cần với lệnh `search`: - -```sh -$ ./vcpkg/vcpkg search [search term] -``` - -Để sử dụng vcpkg với CMake, bạn có thể sử dụng file toolchain: - -```sh -$ cmake -B [build directory] -S . "-DCMAKE_TOOLCHAIN_FILE=[path to vcpkg]/scripts/buildsystems/vcpkg.cmake" -$ cmake --build [build directory] -``` - -Với CMake, bạn vẫn sẽ cần thêm `find_package` và những lệnh khác để sử dụng thư viện. -Hãy xem [phần CMake](#sử-dụng-vcpkg-với-cmake) để biết thêm -về các tốt nhất để sử dụng vcpkg với CMake, -và Công cụ CMake cho VSCode. - -## Cài đặt Developer Tools cho Linux - -Dưới nhiều phiên bản Linux, có các package sau đây bạn sẽ cần phải cài đặt: - -- Debian, Ubuntu, popOS, và các phiên bản khác dựa trên Debian: - -```sh -$ sudo apt-get update -$ sudo apt-get install build-essential tar curl zip unzip -``` - -- CentOS - -```sh -$ sudo yum install centos-release-scl -$ sudo yum install devtoolset-7 -$ scl enable devtoolset-7 bash -``` - -Cho bất kỳ phiên bản nào khác, hãy chắc chắn rằng bạn cài đặt g++ 6 trở lên. -Nếu bạn muốn thêm hướng dẫn cho phiên bản của bạn, -[xin hãy mở một PR][contributing:submit-pr]! - -## Cài đặt Developer Tools cho macOS - -Trên macOS, thứ duy nhất bạn cần làm là chạy lệnh sau đây trong terminal: - -```sh -$ xcode-select --install -``` - -Sau đó làm theo hướng dẫn trong cửa sổ được mở ra. - -Sau đó bạn sẽ có thể khởi động vcpkg theo hướng dẫn ở [bắt đầu nhanh](#bắt-đầu-nhanh-unix) - -## Sử dụng vcpkg với CMake - -### Visual Studio Code với Công cụ CMake - -Thêm phần sau đây vào file `settings.json` trong workspace của bạn -sẽ làm cho Công cụ CMake tự động sử dụng vcpkg cho các thư viện -của bạn: - -```json -{ - "cmake.configureSettings": { - "CMAKE_TOOLCHAIN_FILE": "[vcpkg root]/scripts/buildsystems/vcpkg.cmake" - } -} -``` - -### Vcpkg với Visual Studio CMake Projects - -Mở CMake Settings Editor, dưới phần `CMake toolchain file`, -thêm đường dẫn tới file vcpkg toolchain: - -``` -[vcpkg root]/scripts/buildsystems/vcpkg.cmake -``` - -### Vcpkg với CLion - -Mở Toolchains settings -(File > Settings on Windows and Linux, CLion > Preferences on macOS), -và đi tới phần CMake settings (Build, Execution, Deployment > CMake). -Sau đó, trong `CMake options`, thên dòng sau đây: - -``` --DCMAKE_TOOLCHAIN_FILE=[vcpkg root]/scripts/buildsystems/vcpkg.cmake -``` - -Bạn phải thêm dòng này vào mỗi profile khác nhau. - -### Vcpkg dưới dạng Submodule - -Khi sử dụng vcpkg như một submodule cho project của bạn, -bạn có thể thêm dòng sau đây vào file CMakeLists.txt trước dòng `project()` đầu tiên, -thay vì phải sự dụng lệnh `CMAKE_TOOLCHAIN_FILE`. - -```cmake -set(CMAKE_TOOLCHAIN_FILE "${CMAKE_CURRENT_SOURCE_DIR}/vcpkg/scripts/buildsystems/vcpkg.cmake" - CACHE STRING "Vcpkg toolchain file") -``` - -Cách này vẫn hỗ trợ những người không dùng vcpkg, -bằng cách trực tiếp thêm `CMAKE_TOOLCHAIN_FILE`, -nhưng nó sẽ khiến việc cấu hình-build trở nên dễ dàng hơn. - -[getting-started:using-a-package]: https://learn.microsoft.com/vcpkg/examples/installing-and-using-packages -[getting-started:git]: https://git-scm.com/downloads -[getting-started:cmake-tools]: https://marketplace.visualstudio.com/items?itemName=ms-vscode.cmake-tools -[getting-started:linux-gcc]: #cài-đặt-developer-tools-cho-linux -[getting-started:macos-dev-tools]: #cài-đặt-developer-tools-cho-macos -[getting-started:macos-brew]: #installing-gcc-on-macos -[getting-started:macos-gcc]: #installing-gcc-on-macos -[getting-started:visual-studio]: https://visualstudio.microsoft.com/ - -# Gợi ý/Tự động điền - -`vcpkg` hỗ trợ tự động điền các lệnh, tên package, và các -cài đặt trong lẫn powershell và bash. -Để bật tự động điền trong shell của bạn, hãy chạy: - -```pwsh -> .\vcpkg integrate powershell -``` - -Hoặc - -```sh -$ ./vcpkg integrate bash # or zsh -``` - -tùy theo shell mà bạn sử dụng, rồi khởi động lại console. - -# Các ví dụ - -Hãy xem [tài liệu](https://learn.microsoft.com/vcpkg) cho các hướng dẫn chi tiết, -bao gồm [cài đặt và sử dụng một package](https://learn.microsoft.com/vcpkg/examples/installing-and-using-packages), -[thêm package mới từ file zip](https://learn.microsoft.com/vcpkg/examples/packaging-zipfiles), -và [thêm package mới từ GitHub repo](https://learn.microsoft.com/vcpkg/examples/packaging-github-repos). - -Tài liệu của chúng tôi hiện đang có sẵn tại website https://vcpkg.io/. Chúng tôi rất trân trọng -bất kỳ phản hồi nào của các bạn! Bạn có thể tạo một issue trong https://github.com/vcpkg/vcpkg.github.io/issues. - -Xem [video demo](https://www.youtube.com/watch?v=y41WFKbQFTw) dài 4 phút. - -# Đóng Góp - -Vcpkg là một dự án mã nguồn mở, và được xây dụng từ sự đóng góp của các bạn. -Sau đây là các cách mà bạn có thể đóng góp: - -* [Tạo Issues][contributing:submit-issue] về vcpkg hoặc các package. -* [Sửa lỗi và Thêm các package mới][contributing:submit-pr] - -Xin hãy xem chi tiết trong [Hướng dẫn Đóng góp](CONTRIBUTING.md). - -Dự án này áp dụng [Bộ Quy tắc Ứng xử Mã Nguồn Mở của Microsoft][contributing:coc]. -Các thông tin thêm, hãy xem [Quy tắc Ứng xử FAQ][contributing:coc-faq] -hoặc gửi mail cho chúng tôi tại [opencode@microsoft.com](mailto:opencode@microsoft.com) -với các câu hỏi hoặc bình luận. - -[contributing:submit-issue]: https://github.com/microsoft/vcpkg/issues/new/choose -[contributing:submit-pr]: https://github.com/microsoft/vcpkg/pulls -[contributing:coc]: https://opensource.microsoft.com/codeofconduct/ -[contributing:coc-faq]: https://opensource.microsoft.com/codeofconduct/ - -# Giấy Phép - -Mã nguồn trong repository này được cấp phép theo [Giấy phép MIT](LICENSE.txt). Các thư viện -cung cấp bởi các port được cấp phép theo các điều khoản của tác giả gốc. Khi khả thi, vcpkg -đặt (các) giấy phép liên quan tại `installed//share//copyright`. - -# Bảo Mật - -Hầu hết các port đều build các thư viện liên quan sử dụng các hệ thống build gốc được khuyến cáo -bởi tác giả gốc của các thư viện đó, và tải mã nguồn và công cụ build từ nguồn chính thức của họ. -Để sử dụng dưới tường lửa, các quyền truy cập nhất định sẽ dựa vào port nào đang được cài đặt. -Nếu bạn buộc phải cài đặt trong một môi trường "cách ly không khí", xin hãy cân nhắc việc cài đặt -một lần trong môi trường không "cách ly không khí", để tạo [asset cache](https://learn.microsoft.com/vcpkg/users/assetcaching) được chia sẻ với môi trường "cách ly không khí" kia. - -# Thu Thập Dữ Liệu - -vcpkg thu thập dữ liệu trong lúc sử dụng để giúp chúng tôi cải thiện trải nghiệm của bạn. -Dữ liệu thu thập được bởi Microsoft là ẩn danh. -Bạn có thể tùy chọn không thu thập dữ liệu bằng cách -- chạy bootstrap-vcpkg với lệnh -disableMetrics -- chạy vcpkg với lệnh --disable-metrics -- thêm VCPKG_DISABLE_METRICS vào biến môi trường - -Đọc thêm về việc thu thập dữ liệu của vcpkg tại [https://learn.microsoft.com/vcpkg/about/privacy](https://learn.microsoft.com/vcpkg/about/privacy). diff --git a/README_zh_CN.md b/README_zh_CN.md deleted file mode 100644 index 642661a7c3fd1b..00000000000000 --- a/README_zh_CN.md +++ /dev/null @@ -1,314 +0,0 @@ -# Vcpkg: 总览 - -[English Overview](README.md) - -Vcpkg 可帮助您在 Windows、 Linux 和 MacOS 上管理 C 和 C++ 库。 -这个工具和生态链正在不断发展,我们一直期待您的贡献! - -若您从未使用过 vcpkg,或者您正在尝试了解如何使用 vcpkg,请查阅 [入门](#入门) 章节。 - -如需获取有关可用命令的简短描述,请在编译 vcpkg 后执行 `vcpkg help` 或执行 `vcpkg help [command]` 来获取具体的帮助信息。 - -* GitHub: 端口位于 [https://github.com/microsoft/vcpkg](https://github.com/microsoft/vcpkg),程序位于 [https://github.com/microsoft/vcpkg-tool](https://github.com/microsoft/vcpkg-tool) -* Slack: [https://cppalliance.org/slack/](https://cppalliance.org/slack/), #vcpkg 频道 -* Discord: [\#include \](https://www.includecpp.org), #🌏vcpkg 频道 -* 文档: [Documentation](https://learn.microsoft.com/vcpkg) - -# 目录 - -- [Vcpkg: 总览](#vcpkg-总览) -- [目录](#目录) -- [入门](#入门) - - [快速开始: Windows](#快速开始-windows) - - [快速开始: Unix](#快速开始-unix) - - [安装 Linux Developer Tools](#安装-linux-developer-tools) - - [安装 macOS Developer Tools](#安装-macos-developer-tools) - - [在 CMake 中使用 vcpkg](#在-cmake-中使用-vcpkg) - - [Visual Studio Code 中的 CMake Tools](#visual-studio-code-中的-cmake-tools) - - [Visual Studio CMake 工程中使用 vcpkg](#visual-studio-cmake-工程中使用-vcpkg) - - [CLion 中使用 vcpkg](#clion-中使用-vcpkg) - - [将 vcpkg 作为一个子模块](#将-vcpkg-作为一个子模块) -- [Tab补全/自动补全](#tab-补全自动补全) -- [示例](#示例) -- [贡献](#贡献) -- [开源协议](#开源协议) -- [安全事项](#安全事项) -- [数据收集](#数据收集) - -# 入门 - -首先,请阅读以下任一快速入门指南: -[Windows](#快速开始-windows) 或 [macOS 和 Linux](#快速开始-unix), -这取决于您使用的是什么平台。 - -更多有关信息,请参见 [安装和使用软件包][getting-started:using-a-package]。 -如果 vcpkg 目录中没有您需要的库, -您可以 [在 GitHub 上打开问题][contributing:submit-issue]。 -vcpkg 团队和贡献者可以在这里看到它, -并可能将这个库添加到 vcpkg。 - -安装并运行 vcpkg 后, -您可能希望将 [TAB 补全](#tab-补全自动补全) 添加到您的 Shell 中。 - -## 快速开始: Windows - -前置条件: -- Windows 7 或更新的版本 -- [Git][getting-started:git] -- [Visual Studio][getting-started:visual-studio] 2015 Update 3 或更新的版本(**包含英文语言包**) - -首先,**请使用 `git clone vcpkg`** 并执行 bootstrap.bat 脚本。 -您可以将 vcpkg 安装在任何地方,但是通常我们建议您使用 vcpkg 作为 CMake 项目的子模块,并将其全局安装到 Visual Studio 项目中。 -我们建议您使用例如 `C:\src\vcpkg` 或 `C:\dev\vcpkg` 的安装目录,否则您可能遇到某些库构建系统的路径问题。 - -```cmd -> git clone https://github.com/microsoft/vcpkg -> .\vcpkg\bootstrap-vcpkg.bat -``` - -使用以下命令安装您的项目所需要的库: - -```cmd -> .\vcpkg\vcpkg install [packages to install] -``` - -请注意: vcpkg 在 Windows 中默认编译并安装 x86 版本的库。 若要编译并安装 x64 版本,请执行: - -```cmd -> .\vcpkg\vcpkg install [package name]:x64-windows -``` - -或 - -```cmd -> .\vcpkg\vcpkg install [packages to install] --triplet=x64-windows -``` - -您也可以使用 `search` 子命令来查找 vcpkg 中集成的库: - -```cmd -> .\vcpkg\vcpkg search [search term] -``` - -若您希望在 Visual Studio 中使用 vcpkg,请运行以下命令 (可能需要管理员权限) - -```cmd -> .\vcpkg\vcpkg integrate install -``` - -在此之后,您可以创建一个非 CMake 项目 (或打开已有的项目)。 -在您的项目中,所有已安装的库均可立即使用 `#include` 包含您需使用的库的头文件且无需额外配置。 - -若您在 Visual Studio 中使用 CMake 工程,请查阅[这里](#visual-studio-cmake-工程中使用-vcpkg)。 - -为了在 IDE 以外在 CMake 中使用 vcpkg,您需要使用以下工具链文件: - -```cmd -> cmake -B [build directory] -S . "-DCMAKE_TOOLCHAIN_FILE=[path to vcpkg]/scripts/buildsystems/vcpkg.cmake" -> cmake --build [build directory] -``` - -在 CMake 中,您仍需通过 `find_package` 来使用 vcpkg 中已安装的库。 -请查阅 [CMake 章节](#在-cmake-中使用-vcpkg) 获取更多信息,其中包含了在 IDE 中使用 CMake 的内容。 - -## 快速开始: Unix - -Linux平台前置条件: -- [Git][getting-started:git] -- [g++][getting-started:linux-gcc] >= 6 - -macOS 平台前置条件: -- [Apple Developer Tools][getting-started:macos-dev-tools] - -首先,请下载 vcpkg 并执行 bootstrap.sh 脚本。 -您可以将 vcpkg 安装在任何地方,但是通常我们建议您使用 vcpkg 作为 CMake 项目的子模块。 - -```sh -$ git clone https://github.com/microsoft/vcpkg -$ ./vcpkg/bootstrap-vcpkg.sh -``` - -使用以下命令安装任意包: - -```sh -$ ./vcpkg/vcpkg install [packages to install] -``` - -您也可以使用 `search` 子命令来查找 vcpkg 中已集成的库: - -```sh -$ ./vcpkg/vcpkg search [search term] -``` - -为了在 CMake 中使用 vcpkg,您需要使用以下工具链文件: - -```sh -$ cmake -B [build directory] -S . "-DCMAKE_TOOLCHAIN_FILE=[path to vcpkg]/scripts/buildsystems/vcpkg.cmake" -$ cmake --build [build directory] -``` - -在 CMake 中,您仍需通过 `find_package` 来使用 vcpkg 中已安装的库。 -为了您更好的在 CMake 或 VSCode CMake Tools 中使用 vcpkg, -请查阅 [CMake 章节](#在-cmake-中使用-vcpkg) 获取更多信息, -其中包含了在 IDE 中使用 CMake 的内容。 - -对于其他工具,请查阅 [集成指南][getting-started:integration]。 - -## 安装 Linux Developer Tools - -在 Linux 的不同发行版中,您需要安装不同的工具包: - -- Debian,Ubuntu,popOS 或其他基于 Debian 的发行版: - -```sh -$ sudo apt-get update -$ sudo apt-get install build-essential tar curl zip unzip -``` - -- CentOS - -```sh -$ sudo yum install centos-release-scl -$ sudo yum install devtoolset-7 -$ scl enable devtoolset-7 bash -``` - -对于其他的发行版,请确保已安装 g++ 6 或更新的版本。 -若您希望添加特定发行版的说明,[请提交一个 PR][contributing:submit-pr]! - -## 安装 macOS Developer Tools - -在 macOS 中,您唯一需要做的是在终端中运行以下命令: - -```sh -$ xcode-select --install -``` - -然后按照出现的窗口中的提示进行操作。 -此时,您就可以使用 bootstrap.sh 编译 vcpkg 了。 请参阅 [快速开始](#快速开始-unix) - -## 在 CMake 中使用 vcpkg - -### Visual Studio Code 中的 CMake Tools - -将以下内容添加到您的工作区的 `settings.json` 中将使 CMake Tools 自动使用 vcpkg 中的第三方库: - -```json -{ - "cmake.configureSettings": { - "CMAKE_TOOLCHAIN_FILE": "[vcpkg root]/scripts/buildsystems/vcpkg.cmake" - } -} -``` - -### Visual Studio CMake 工程中使用 vcpkg - -打开 CMake 设置选项,将 vcpkg toolchain 文件路径在 `CMake toolchain file` 中: - -``` -[vcpkg root]/scripts/buildsystems/vcpkg.cmake -``` - -### CLion 中使用 vcpkg - -打开 Toolchains 设置 -(File > Settings on Windows and Linux, CLion > Preferences on macOS), -并打开 CMake 设置 (Build, Execution, Deployment > CMake)。 -最后在 `CMake options` 中添加以下行: - -``` --DCMAKE_TOOLCHAIN_FILE=[vcpkg root]/scripts/buildsystems/vcpkg.cmake -``` - -您必须手动将此选项加入每个项目配置文件中。 - -### 将 vcpkg 作为一个子模块 - -当您希望将 vcpkg 作为一个子模块加入到您的工程中时, -您可以在第一个 `project()` 调用之前将以下内容添加到 CMakeLists.txt 中, -而无需将 `CMAKE_TOOLCHAIN_FILE` 传递给 CMake 调用。 - -```cmake -set(CMAKE_TOOLCHAIN_FILE "${CMAKE_CURRENT_SOURCE_DIR}/vcpkg/scripts/buildsystems/vcpkg.cmake" - CACHE STRING "Vcpkg toolchain file") -``` - -使用此种方式可无需设置 `CMAKE_TOOLCHAIN_FILE` 即可使用 vcpkg,且更容易完成配置工作。 - -[getting-started:using-a-package]: https://learn.microsoft.com/vcpkg/examples/installing-and-using-packages -[getting-started:git]: https://git-scm.com/downloads -[getting-started:cmake-tools]: https://marketplace.visualstudio.com/items?itemName=ms-vscode.cmake-tools -[getting-started:linux-gcc]: #installing-linux-developer-tools -[getting-started:macos-dev-tools]: #installing-macos-developer-tools -[getting-started:macos-brew]: #installing-gcc-on-macos -[getting-started:macos-gcc]: #installing-gcc-on-macos -[getting-started:visual-studio]: https://visualstudio.microsoft.com/ - -# Tab 补全/自动补全 - -`vcpkg` 支持在 Powershell 和 Bash 中自动补全命令,包名称及选项。 -若您需要在指定的 shell 中启用 Tab 补全功能,请依据您使用的 shell 运行: - -```pwsh -> .\vcpkg integrate powershell -``` - -或 - -```sh -$ ./vcpkg integrate bash # 或 zsh -``` - -然后重新启动控制台。 - -# 示例 - -请查看 [文档](https://learn.microsoft.com/vcpkg) 获取具体示例, -其包含 [安装并使用包](https://learn.microsoft.com/vcpkg/examples/installing-and-using-packages), -[使用压缩文件添加包](https://learn.microsoft.com/vcpkg/examples/packaging-zipfiles) -和 [从 GitHub 源中添加一个包](https://learn.microsoft.com/vcpkg/examples/packaging-github-repos)。 - -我们的文档现在也可以从 [vcpkg.io](https://vcpkg.io/) 在线获取。 -我们真诚的希望您向我们提出关于此网站的任何建议! 请在[这里](https://github.com/vcpkg/vcpkg.github.io/issues) 创建 issue. - -观看 4 分钟 [demo 视频](https://www.youtube.com/watch?v=y41WFKbQFTw)。 - -# 贡献 - -Vcpkg是一个开源项目,并通过您的贡献不断发展。 -下面是一些您可以贡献的方式: - -* [提交一个关于 vcpkg 或已支持包的新 issue][contributing:submit-issue] -* [提交修复 PR 和创建新包][contributing:submit-pr] - -请参阅我们的 [贡献准则](CONTRIBUTING_zh.md) 了解更多详细信息。 - -该项目采用了 [Microsoft 开源行为准则][contributing:coc]。 -获取更多信息请查看 [行为准则 FAQ][contributing:coc-faq] 或联系 [opencode@microsoft.com](mailto:opencode@microsoft.com) 提出其他问题或意见。 - -[contributing:submit-issue]: https://github.com/microsoft/vcpkg/issues/new/choose -[contributing:submit-pr]: https://github.com/microsoft/vcpkg/pulls -[contributing:coc]: https://opensource.microsoft.com/codeofconduct/ -[contributing:coc-faq]: https://opensource.microsoft.com/codeofconduct/ - -# 开源协议 - -在此存储库中使用的代码均遵循 [MIT License](LICENSE.txt)。这些库是根据其作者的开源协议受到许可的。 -vcpkg会将库的协议文件放置在 `installed//share//copyright` 中。 - -# 安全事项 - -大多数vcpkg中的库采用其官方发布的构建工具来构建它们,并从其官方渠道下载源码及构建工具。 -若您的环境包含防火墙或反病毒程序,为了避免构建失败,请考虑在禁用防火墙与反病毒程序的环境中构建它们一次, -再将它们生成的[二进制缓存](https://learn.microsoft.com/vcpkg/users/assetcaching)共享给原始环境中使用。 - -# 数据收集 - -vcpkg 会收集使用情况数据,以帮助我们改善您的体验。 -Microsoft 收集的数据是匿名的。 -您也可以通过以下步骤禁用数据收集: -- 将选项 `-disableMetrics` 传递给 bootstrap-vcpkg 脚本并重新运行此脚本 -- 向 vcpkg 命令传递选项 `--disable-metrics` -- 设置环境变量 `VCPKG_DISABLE_METRICS` - -请在 [https://learn.microsoft.com/vcpkg/about/privacy](https://learn.microsoft.com/vcpkg/about/privacy) 中了解有关 vcpkg 数据收集的更多信息。 diff --git a/bootstrap-vcpkg.bat b/bootstrap-vcpkg.bat index 1f9baa3d0b6ecb..54e0b85a225030 100644 --- a/bootstrap-vcpkg.bat +++ b/bootstrap-vcpkg.bat @@ -1,2 +1,2 @@ @echo off -powershell.exe -NoProfile -ExecutionPolicy Bypass "& {& '%~dp0scripts\bootstrap.ps1' %*}" +powershell.exe -NoProfile -ExecutionPolicy Bypass "& {& \"%~dp0scripts\bootstrap.ps1\" %*}" diff --git a/overlay/ports/dbus/cmake.dep.patch b/overlay/ports/dbus/cmake.dep.patch new file mode 100644 index 00000000000000..ac827f0c27f18e --- /dev/null +++ b/overlay/ports/dbus/cmake.dep.patch @@ -0,0 +1,15 @@ +diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt +index 8cde1ffe0..d4d09f223 100644 +--- a/tools/CMakeLists.txt ++++ b/tools/CMakeLists.txt +@@ -91,7 +91,9 @@ endif() + add_executable(dbus-launch ${dbus_launch_SOURCES}) + target_link_libraries(dbus-launch ${DBUS_LIBRARIES}) + if(DBUS_BUILD_X11) +- target_link_libraries(dbus-launch ${X11_LIBRARIES} ) ++ find_package(Threads REQUIRED) ++ target_link_libraries(dbus-launch ${X11_LIBRARIES} ${X11_xcb_LIB} ${X11_Xau_LIB} ${X11_Xdmcp_LIB} Threads::Threads) ++ target_include_directories(dbus-launch PRIVATE ${X11_INCLUDE_DIR}) + endif() + install(TARGETS dbus-launch ${INSTALL_TARGETS_DEFAULT_ARGS}) + diff --git a/overlay/ports/dbus/getpeereid.patch b/overlay/ports/dbus/getpeereid.patch new file mode 100644 index 00000000000000..5cd2309e391396 --- /dev/null +++ b/overlay/ports/dbus/getpeereid.patch @@ -0,0 +1,26 @@ +diff --git a/cmake/ConfigureChecks.cmake b/cmake/ConfigureChecks.cmake +index b7f3702..e2336ba 100644 +--- a/cmake/ConfigureChecks.cmake ++++ b/cmake/ConfigureChecks.cmake +@@ -51,6 +51,7 @@ check_symbol_exists(closefrom "unistd.h" HAVE_CLOSEFROM) # + check_symbol_exists(environ "unistd.h" HAVE_DECL_ENVIRON) + check_symbol_exists(fstatfs "sys/vfs.h" HAVE_FSTATFS) + check_symbol_exists(getgrouplist "grp.h" HAVE_GETGROUPLIST) # dbus-sysdeps.c ++check_symbol_exists(getpeereid "sys/types.h;unistd.h" HAVE_GETPEEREID) # dbus-sysdeps.c, + check_symbol_exists(getpeerucred "ucred.h" HAVE_GETPEERUCRED) # dbus-sysdeps.c, dbus-sysdeps-win.c + check_symbol_exists(getpwnam_r "errno.h;pwd.h" HAVE_GETPWNAM_R) # dbus-sysdeps-util-unix.c + check_symbol_exists(getrandom "sys/random.h" HAVE_GETRANDOM) +diff --git a/cmake/config.h.cmake b/cmake/config.h.cmake +index 77fc19c..2f25643 100644 +--- a/cmake/config.h.cmake ++++ b/cmake/config.h.cmake +@@ -140,6 +140,9 @@ + /* Define to 1 if you have getgrouplist */ + #cmakedefine HAVE_GETGROUPLIST 1 + ++/* Define to 1 if you have getpeereid */ ++#cmakedefine HAVE_GETPEEREID 1 ++ + /* Define to 1 if you have getpeerucred */ + #cmakedefine HAVE_GETPEERUCRED 1 + diff --git a/overlay/ports/dbus/libsystemd.patch b/overlay/ports/dbus/libsystemd.patch new file mode 100644 index 00000000000000..74193dc4075929 --- /dev/null +++ b/overlay/ports/dbus/libsystemd.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d3ec71b..932066a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -141,6 +141,10 @@ if(DBUS_LINUX) + if(ENABLE_SYSTEMD AND SYSTEMD_FOUND) + set(DBUS_BUS_ENABLE_SYSTEMD ON) + set(HAVE_SYSTEMD ${SYSTEMD_FOUND}) ++ pkg_check_modules(SYSTEMD libsystemd IMPORTED_TARGET) ++ set(SYSTEMD_LIBRARIES PkgConfig::SYSTEMD CACHE INTERNAL "") ++ else() ++ set(SYSTEMD_LIBRARIES "" CACHE INTERNAL "") + endif() + option(ENABLE_USER_SESSION "enable user-session semantics for session bus under systemd" OFF) + set(DBUS_ENABLE_USER_SESSION ${ENABLE_USER_SESSION}) diff --git a/overlay/ports/dbus/pkgconfig.patch b/overlay/ports/dbus/pkgconfig.patch new file mode 100644 index 00000000000000..635814870d5a04 --- /dev/null +++ b/overlay/ports/dbus/pkgconfig.patch @@ -0,0 +1,21 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index caef738..b878f42 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -724,11 +724,11 @@ add_custom_target(help-options + # + if(DBUS_ENABLE_PKGCONFIG) + set(PLATFORM_LIBS pthread ${LIBRT}) +- if(PKG_CONFIG_FOUND) +- # convert lists of link libraries into -lstdc++ -lm etc.. +- foreach(LIB ${CMAKE_C_IMPLICIT_LINK_LIBRARIES} ${PLATFORM_LIBS}) +- set(LIBDBUS_LIBS "${LIBDBUS_LIBS} -l${LIB}") +- endforeach() ++ if(1) ++ set(LIBDBUS_LIBS "${CMAKE_THREAD_LIBS_INIT}") ++ if(LIBRT) ++ string(APPEND LIBDBUS_LIBS " -lrt") ++ endif() + set(original_prefix "${CMAKE_INSTALL_PREFIX}") + if(DBUS_RELOCATABLE) + set(pkgconfig_prefix "\${pcfiledir}/../..") diff --git a/overlay/ports/dbus/portfile.cmake b/overlay/ports/dbus/portfile.cmake new file mode 100644 index 00000000000000..8242c4b92b46cf --- /dev/null +++ b/overlay/ports/dbus/portfile.cmake @@ -0,0 +1,93 @@ +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) + +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/ + OUT_SOURCE_PATH SOURCE_PATH + REPO dbus/dbus + REF "dbus-${VERSION}" + SHA512 8e476b408514e6540c36beb84e8025827c22cda8958b6eb74d22b99c64765eb3cd5a6502aea546e3e5f0534039857b37edee89c659acef40e7cab0939947d4af + HEAD_REF master + PATCHES + cmake.dep.patch + pkgconfig.patch + getpeereid.patch # missing check from configure.ac + libsystemd.patch +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS options + FEATURES + systemd ENABLE_SYSTEMD + x11 DBUS_BUILD_X11 + x11 CMAKE_REQUIRE_FIND_PACKAGE_X11 +) + +unset(ENV{DBUSDIR}) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DDBUS_BUILD_TESTS=OFF + -DDBUS_ENABLE_DOXYGEN_DOCS=OFF + -DDBUS_ENABLE_XML_DOCS=OFF + -DDBUS_INSTALL_SYSTEM_LIBS=OFF + #-DDBUS_SERVICE=ON + -DDBUS_WITH_GLIB=OFF + -DTHREADS_PREFER_PTHREAD_FLAG=ON + -DXSLTPROC_EXECUTABLE=FALSE + -DDBUS_SESSION_SOCKET_DIR=/tmp # https://github.com/microsoft/vcpkg/issues/40031 + "-DCMAKE_INSTALL_SYSCONFDIR=${CURRENT_PACKAGES_DIR}/etc/${PORT}" + "-DWITH_SYSTEMD_SYSTEMUNITDIR=lib/systemd/system" + "-DWITH_SYSTEMD_USERUNITDIR=lib/systemd/user" + ${options} + OPTIONS_RELEASE + -DDBUS_DISABLE_ASSERT=OFF + -DDBUS_ENABLE_STATS=OFF + -DDBUS_ENABLE_VERBOSE_MODE=OFF + MAYBE_UNUSED_VARIABLES + DBUS_BUILD_X11 + DBUS_WITH_GLIB + ENABLE_SYSTEMD + THREADS_PREFER_PTHREAD_FLAG + WITH_SYSTEMD_SYSTEMUNITDIR + WITH_SYSTEMD_USERUNITDIR + DBUS_SESSION_SOCKET_DIR +) +vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(PACKAGE_NAME "DBus1" CONFIG_PATH "lib/cmake/DBus1") +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/debug/var/" + "${CURRENT_PACKAGES_DIR}/etc" + "${CURRENT_PACKAGES_DIR}/share/dbus-1/services" + "${CURRENT_PACKAGES_DIR}/share/dbus-1/session.d" + "${CURRENT_PACKAGES_DIR}/share/dbus-1/system-services" + "${CURRENT_PACKAGES_DIR}/share/dbus-1/system.d" + "${CURRENT_PACKAGES_DIR}/share/dbus-1/system.conf" + "${CURRENT_PACKAGES_DIR}/share/dbus-1/system.conf" + "${CURRENT_PACKAGES_DIR}/share/doc" + "${CURRENT_PACKAGES_DIR}/var" +) + +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/dbus-1/session.conf" "${CURRENT_PACKAGES_DIR}/etc/dbus/dbus-1/session.conf" "") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/dbus-1/session.conf" "${CURRENT_PACKAGES_DIR}/etc/dbus/dbus-1/session.d" "") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/dbus-1/session.conf" "${CURRENT_PACKAGES_DIR}/etc/dbus/dbus-1/session-local.conf" "") + +set(TOOLS daemon launch monitor run-session send test-tool update-activation-environment) +if(VCPKG_TARGET_IS_WINDOWS) + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/${PORT}") + file(RENAME "${CURRENT_PACKAGES_DIR}/bin/dbus-env.bat" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/dbus-env.bat") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/dbus-env.bat" "${CURRENT_PACKAGES_DIR}" "%~dp0/../..") +else() + list(APPEND TOOLS cleanup-sockets uuidgen) +endif() +list(TRANSFORM TOOLS PREPEND "dbus-" ) +if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + vcpkg_copy_tools(TOOL_NAMES ${TOOLS} SEARCH_DIR ${CURRENT_PACKAGES_DIR}/debug/bin DESTINATION "${CURRENT_PACKAGES_DIR}/debug/tools/${PORT}") +endif() +vcpkg_copy_tools(TOOL_NAMES ${TOOLS} AUTO_CLEAN) + +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/overlay/ports/dbus/vcpkg.json b/overlay/ports/dbus/vcpkg.json new file mode 100644 index 00000000000000..1e90a3c3691700 --- /dev/null +++ b/overlay/ports/dbus/vcpkg.json @@ -0,0 +1,44 @@ +{ + "name": "dbus", + "version": "1.15.8", + "port-version": 6, + "description": "D-Bus specification and reference implementation, including libdbus and dbus-daemon", + "homepage": "https://gitlab.freedesktop.org/dbus/dbus", + "license": "AFL-2.1 OR GPL-2.0-or-later", + "supports": "!uwp & !staticcrt & !android & !ios", + "dependencies": [ + "expat", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "default-features": [ + { + "name": "systemd", + "platform": "linux" + } + ], + "features": { + "systemd": { + "description": "Build with systemd at_console support", + "supports": "linux", + "dependencies": [ + { + "name": "libsystemd", + "platform": "linux" + } + ] + }, + "x11": { + "description": "Build with X11 autolaunch support", + "dependencies": [ + "libx11" + ] + } + } +} diff --git a/overlay/ports/libusb/portfile.cmake b/overlay/ports/libusb/portfile.cmake deleted file mode 100644 index 5b7cbadebd0926..00000000000000 --- a/overlay/ports/libusb/portfile.cmake +++ /dev/null @@ -1,68 +0,0 @@ -if(VCPKG_TARGET_IS_LINUX) - message("${PORT} currently requires the following tools and libraries from the system package manager:\n autoreconf\n libudev\n\nThese can be installed on Ubuntu systems via apt-get install autoreconf libudev-dev") -endif() - -set(VERSION 1.0.26) -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO libusb/libusb - REF fcf0c710ef5911ae37fbbf1b39d48a89f6f14e8a # v1.0.26.11791 2023-03-12 - SHA512 0aa6439f7988487adf2a3bff473fec80b5c722a47f117a60696d2aa25c87cc3f20fb6aaca7c66e49be25db6a35eb0bb5f71ed7b211d1b8ee064c5d7f1b985c73 - HEAD_REF master -) - -function(replace_runtime_library PROJ_FILE) - if (VCPKG_CRT_LINKAGE STREQUAL static) - file(READ "${PROJ_FILE}" PROJ_CONTENT) - string(REPLACE "MultiThreadedDLL" "MultiThreaded" PROJ_CONTENT "${PROJ_CONTENT}") - string(REPLACE "MultiThreadedDebugDLL" "MultiThreadedDebug" PROJ_CONTENT "${PROJ_CONTENT}") - file(WRITE "${PROJ_FILE}" "${PROJ_CONTENT}") - else() - file(READ "${PROJ_FILE}" PROJ_CONTENT) - string(REPLACE "MultiThreaded" "MultiThreadedDLL" PROJ_CONTENT "${PROJ_CONTENT}") - string(REPLACE "MultiThreadedDebug" "MultiThreadedDebugDLL" PROJ_CONTENT "${PROJ_CONTENT}") - file(WRITE "${PROJ_FILE}" "${PROJ_CONTENT}") - endif() -endfunction(replace_runtime_library) - -if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) - if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - set(LIBUSB_PROJECT_TYPE dll) - else() - set(LIBUSB_PROJECT_TYPE static) - endif() - replace_runtime_library("${SOURCE_PATH}/msvc/Configuration.Base.props") - replace_runtime_library("${SOURCE_PATH}/msvc/Configuration.DynamicLibrary.props") - replace_runtime_library("${SOURCE_PATH}/msvc/Configuration.StaticLibrary.props") - - # The README.md file in the archive is a symlink to README - # which causes issues with the windows MSBUILD process - file(REMOVE "${SOURCE_PATH}/README.md") - - vcpkg_install_msbuild( - SOURCE_PATH "${SOURCE_PATH}" - PROJECT_SUBPATH msvc/libusb_${LIBUSB_PROJECT_TYPE}.vcxproj - LICENSE_SUBPATH COPYING - ) - file(INSTALL "${SOURCE_PATH}/libusb/libusb.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include/libusb-1.0") - set(prefix "") - set(exec_prefix [[${prefix}]]) - set(libdir [[${prefix}/lib]]) - set(includedir [[${prefix}/include]]) - configure_file("${SOURCE_PATH}/libusb-1.0.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libusb-1.0.pc" @ONLY) - if(NOT VCPKG_BUILD_TYPE) - set(includedir [[${prefix}/../include]]) - configure_file("${SOURCE_PATH}/libusb-1.0.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libusb-1.0.pc" @ONLY) - endif() -else() - vcpkg_configure_make( - SOURCE_PATH "${SOURCE_PATH}" - AUTOCONFIG - ) - vcpkg_install_make() -endif() - -vcpkg_fixup_pkgconfig() - -file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/overlay/ports/libusb/usage b/overlay/ports/libusb/usage deleted file mode 100644 index b61e18c68a0d2d..00000000000000 --- a/overlay/ports/libusb/usage +++ /dev/null @@ -1,5 +0,0 @@ -libusb provides CMake targets: - - find_package(libusb CONFIG REQUIRED) - target_include_directories(main PRIVATE ${LIBUSB_INCLUDE_DIRS}) - target_link_libraries(main PRIVATE ${LIBUSB_LIBRARIES}) diff --git a/overlay/ports/libusb/vcpkg.json b/overlay/ports/libusb/vcpkg.json deleted file mode 100644 index 05e41dad17ce33..00000000000000 --- a/overlay/ports/libusb/vcpkg.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "libusb", - "version": "1.0.26.11791", - "port-version": 1, - "description": "a cross-platform library to access USB devices", - "homepage": "https://github.com/libusb/libusb", - "license": "LGPL-2.1-or-later", - "supports": "!uwp" -} diff --git a/overlay/ports/protobuf/compile_options.patch b/overlay/ports/protobuf/compile_options.patch deleted file mode 100644 index 8cf5417740f27e..00000000000000 --- a/overlay/ports/protobuf/compile_options.patch +++ /dev/null @@ -1,48 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 04cb3303a..608c580be 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -242,12 +242,12 @@ endif (protobuf_BUILD_SHARED_LIBS) - if (MSVC) - if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") - # Build with multiple processes -- add_definitions(/MP) -+ add_compile_options(/MP) - endif() - # Set source file and execution character sets to UTF-8 -- add_definitions(/utf-8) -+ add_compile_options(/utf-8) - # MSVC warning suppressions -- add_definitions( -+ add_compile_options( - /wd4065 # switch statement contains 'default' but no 'case' labels - /wd4244 # 'conversion' conversion from 'type1' to 'type2', possible loss of data - /wd4251 # 'identifier' : class 'type' needs to have dll-interface to be used by clients of class 'type2' -@@ -262,23 +262,17 @@ if (MSVC) - /wd4996 # The compiler encountered a deprecated declaration. - ) - # Allow big object -- add_definitions(/bigobj) -+ add_compile_options(/bigobj) - string(REPLACE "/" "\\" PROTOBUF_SOURCE_WIN32_PATH ${protobuf_SOURCE_DIR}) - string(REPLACE "/" "\\" PROTOBUF_BINARY_WIN32_PATH ${protobuf_BINARY_DIR}) - string(REPLACE "." "," protobuf_RC_FILEVERSION "${protobuf_VERSION}") - configure_file(${protobuf_SOURCE_DIR}/cmake/extract_includes.bat.in extract_includes.bat) - - # Suppress linker warnings about files with no symbols defined. -- set(CMAKE_STATIC_LINKER_FLAGS "${CMAKE_STATIC_LINKER_FLAGS} /ignore:4221") -+ string(APPEND CMAKE_STATIC_LINKER_FLAGS " /ignore:4221") - -- if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") -- # Configure Resource Compiler -- enable_language(RC) -- # use English language (0x409) in resource compiler -- set(rc_flags "/l0x409") -- # fix rc.exe invocations because of usage of add_definitions() -- set(CMAKE_RC_COMPILE_OBJECT " ${rc_flags} /fo ") -- endif() -+ # use English language (0x409) in resource compiler -+ string(APPEND CMAKE_RC_FLAGS " -l0x409") - - # Generate the version.rc file used elsewhere. - configure_file(${protobuf_SOURCE_DIR}/cmake/version.rc.in ${CMAKE_CURRENT_BINARY_DIR}/version.rc @ONLY) diff --git a/overlay/ports/protobuf/fix-default-proto-file-path.patch b/overlay/ports/protobuf/fix-default-proto-file-path.patch index 1c850b1dec2b97..b7a8c88dc19025 100644 --- a/overlay/ports/protobuf/fix-default-proto-file-path.patch +++ b/overlay/ports/protobuf/fix-default-proto-file-path.patch @@ -1,21 +1,21 @@ -diff --git a/src/google/protobuf/compiler/command_line_interface.cc b/src/google/protobuf/compiler/command_line_interface.cc -index 5e9a2c4..8eaa6e0 100644 ---- a/src/google/protobuf/compiler/command_line_interface.cc -+++ b/src/google/protobuf/compiler/command_line_interface.cc -@@ -261,12 +261,15 @@ void AddDefaultProtoPaths( - std::pair("", path + "/include")); - return; - } -- // Check if the upper level directory has an "include" subdirectory. -+ // change "'$/bin' is next to 'include'" assumption to "'$/bin/tools' is next to 'include'" -+ for (int i = 0; i < 2; i++) -+ { - pos = path.find_last_of("/\\"); - if (pos == std::string::npos || pos == 0) { - return; - } - path = path.substr(0, pos); -+ } - if (IsInstalledProtoPath(path + "/include")) { - paths->push_back( - std::pair("", path + "/include")); +diff --git a/src/google/protobuf/compiler/command_line_interface.cc b/src/google/protobuf/compiler/command_line_interface.cc +index cd95c8b41..d4825180d 100644 +--- a/src/google/protobuf/compiler/command_line_interface.cc ++++ b/src/google/protobuf/compiler/command_line_interface.cc +@@ -272,12 +272,15 @@ void AddDefaultProtoPaths( + paths->emplace_back("", std::move(include_path)); + return; + } +- // Check if the upper level directory has an "include" subdirectory. ++ // change "'$/bin' is next to 'include'" assumption to "'$/bin/tools' is next to 'include'" ++ for (int i = 0; i < 2; i++) ++ { + pos = path.find_last_of("/\\"); + if (pos == std::string::npos || pos == 0) { + return; + } + path = path.substr(0, pos); ++ } + include_path = absl::StrCat(path, "/include"); + if (IsInstalledProtoPath(include_path)) { + paths->emplace_back("", std::move(include_path)); diff --git a/overlay/ports/protobuf/fix-install-dirs.patch b/overlay/ports/protobuf/fix-install-dirs.patch new file mode 100644 index 00000000000000..d9ea3b8bbaccc2 --- /dev/null +++ b/overlay/ports/protobuf/fix-install-dirs.patch @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 540c12253..320aaf72d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -13,6 +13,7 @@ endif() + + # Project + project(protobuf C CXX) ++include(GNUInstallDirs) + + if(protobuf_DEPRECATED_CMAKE_SUBDIRECTORY_USAGE) + if(CMAKE_PROJECT_NAME STREQUAL "protobuf") diff --git a/overlay/ports/protobuf/fix-static-build.patch b/overlay/ports/protobuf/fix-static-build.patch index 496c6c4d50524b..1bd9f639d9e461 100644 --- a/overlay/ports/protobuf/fix-static-build.patch +++ b/overlay/ports/protobuf/fix-static-build.patch @@ -1,13 +1,21 @@ -diff --git a/cmake/install.cmake b/cmake/install.cmake -index 825cb25..4f453d6 100644 ---- a/cmake/install.cmake -+++ b/cmake/install.cmake -@@ -32,7 +32,7 @@ if (protobuf_BUILD_PROTOC_BINARIES) - install(TARGETS protoc EXPORT protobuf-targets - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT protoc - BUNDLE DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT protoc) -- if (UNIX AND NOT APPLE) -+ if (UNIX AND NOT APPLE AND NOT protobuf_MSVC_STATIC_RUNTIME) - set_property(TARGET protoc - PROPERTY INSTALL_RPATH "$ORIGIN/../${CMAKE_INSTALL_LIBDIR}") - elseif (APPLE) +diff --git a/cmake/install.cmake b/cmake/install.cmake +index 65765ca29..f5ad69102 100644 +--- a/cmake/install.cmake ++++ b/cmake/install.cmake +@@ -61,7 +61,7 @@ if (protobuf_BUILD_PROTOC_BINARIES) + endforeach () + endif () + foreach (binary IN LISTS _protobuf_binaries) +- if (UNIX AND NOT APPLE) ++ if (UNIX AND NOT APPLE AND NOT protobuf_MSVC_STATIC_RUNTIME) + set_property(TARGET ${binary} + PROPERTY INSTALL_RPATH "$ORIGIN/../${CMAKE_INSTALL_LIBDIR}") + elseif (APPLE) +@@ -81,7 +81,6 @@ set(protobuf_HEADERS + ${cpp_features_proto_proto_srcs} + ${descriptor_proto_proto_srcs} + ${plugin_proto_proto_srcs} +- ${java_features_proto_proto_srcs} + ) + if (protobuf_BUILD_LIBUPB) + list(APPEND protobuf_HEADERS ${libupb_hdrs}) diff --git a/overlay/ports/protobuf/fix-utf8-range.patch b/overlay/ports/protobuf/fix-utf8-range.patch new file mode 100644 index 00000000000000..72d671c4e2c365 --- /dev/null +++ b/overlay/ports/protobuf/fix-utf8-range.patch @@ -0,0 +1,48 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 15065d874..540c12253 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -302,6 +302,7 @@ endif (protobuf_BUILD_TESTS) + include(${protobuf_SOURCE_DIR}/cmake/abseil-cpp.cmake) + + if (protobuf_BUILD_PROTOBUF_BINARIES) ++ find_package(utf8_range CONFIG REQUIRED) + include(${protobuf_SOURCE_DIR}/cmake/utf8_range.cmake) + include(${protobuf_SOURCE_DIR}/cmake/libprotobuf-lite.cmake) + if (NOT DEFINED protobuf_LIB_PROTOBUF_LITE) +diff --git a/cmake/libprotobuf-lite.cmake b/cmake/libprotobuf-lite.cmake +index 9aa81fb88..699c92ddd 100644 +--- a/cmake/libprotobuf-lite.cmake ++++ b/cmake/libprotobuf-lite.cmake +@@ -46,4 +46,4 @@ set_target_properties(libprotobuf-lite PROPERTIES + ) + add_library(protobuf::libprotobuf-lite ALIAS libprotobuf-lite) + +-target_link_libraries(libprotobuf-lite PRIVATE utf8_validity) ++target_link_libraries(libprotobuf-lite PRIVATE utf8_range::utf8_validity) +diff --git a/cmake/libprotobuf.cmake b/cmake/libprotobuf.cmake +index 11c09b1bc..33ebac7cc 100644 +--- a/cmake/libprotobuf.cmake ++++ b/cmake/libprotobuf.cmake +@@ -48,4 +48,4 @@ set_target_properties(libprotobuf PROPERTIES + ) + add_library(protobuf::libprotobuf ALIAS libprotobuf) + +-target_link_libraries(libprotobuf PRIVATE utf8_validity) ++target_link_libraries(libprotobuf PRIVATE utf8_range::utf8_validity) +diff --git a/cmake/utf8_range.cmake b/cmake/utf8_range.cmake +index f411a8c5b..21bf8235b 100644 +--- a/cmake/utf8_range.cmake ++++ b/cmake/utf8_range.cmake +@@ -1,4 +1,4 @@ +-if (NOT TARGET utf8_range) ++if (0) + set(utf8_range_ENABLE_TESTS OFF CACHE BOOL "Disable utf8_range tests") + + if (NOT EXISTS "${protobuf_SOURCE_DIR}/third_party/utf8_range/CMakeLists.txt") +@@ -12,4 +12,4 @@ if (NOT TARGET utf8_range) + include_directories(${CMAKE_CURRENT_SOURCE_DIR}/third_party/utf8_range) + endif () + +-set(_protobuf_FIND_UTF8_RANGE "if(NOT TARGET utf8_range)\n find_package(utf8_range CONFIG)\nendif()") ++set(_protobuf_FIND_UTF8_RANGE "if(NOT TARGET utf8_range::utf8_range)\n find_package(utf8_range CONFIG)\nendif()") diff --git a/overlay/ports/protobuf/portfile.cmake b/overlay/ports/protobuf/portfile.cmake index 198574faa1e2f2..b6a17ee40e7281 100644 --- a/overlay/ports/protobuf/portfile.cmake +++ b/overlay/ports/protobuf/portfile.cmake @@ -1,15 +1,14 @@ -vcpkg_minimum_required(VERSION 2022-10-12) # for ${VERSION} - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO protocolbuffers/protobuf - REF v3.21.12 - SHA512 152f8441c325e808b942153c15e82fdb533d5273b50c25c28916ec568ada880f79242bb61ee332ac5fb0d20f21239ed6f8de02ef6256cc574b1fc354d002c6b0 + REF "v${VERSION}" + SHA512 2f8b1c52fae3cea6188d2ea10da90314167eb150b23005928b4d2186a81b33c4ba0d79967fc1637ed3f96f9fb3b365433cbd4a1ce01d4c319927538cd63852ec HEAD_REF master PATCHES fix-static-build.patch fix-default-proto-file-path.patch - compile_options.patch + fix-utf8-range.patch + fix-install-dirs.patch ) string(COMPARE EQUAL "${TARGET_TRIPLET}" "${HOST_TRIPLET}" protobuf_BUILD_PROTOC_BINARIES) @@ -33,6 +32,19 @@ if (VCPKG_DOWNLOAD_MODE) vcpkg_find_acquire_program(PKGCONFIG) endif() +# Delete language backends we aren't targeting to reduce false positives in automated dependency +# detectors like Dependabot. +file(REMOVE_RECURSE + "${SOURCE_PATH}/csharp" + "${SOURCE_PATH}/java" + "${SOURCE_PATH}/lua" + "${SOURCE_PATH}/objectivec" + "${SOURCE_PATH}/php" + "${SOURCE_PATH}/python" + "${SOURCE_PATH}/ruby" + "${SOURCE_PATH}/rust" +) + if(${VCPKG_LIBRARY_LINKAGE} STREQUAL "static") set(protobuf_VISIBILITY_FLAGS -DCMAKE_POLICY_DEFAULT_CMP0063=NEW @@ -40,7 +52,7 @@ if(${VCPKG_LIBRARY_LINKAGE} STREQUAL "static") -DCMAKE_CXX_VISIBILITY_PRESET=hidden -DCMAKE_VISIBILITY_INLINES_HIDDEN=TRUE ) -endif() +endif() vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" @@ -52,45 +64,21 @@ vcpkg_cmake_configure( -Dprotobuf_BUILD_PROTOC_BINARIES=${protobuf_BUILD_PROTOC_BINARIES} -Dprotobuf_BUILD_LIBPROTOC=${protobuf_BUILD_LIBPROTOC} ${protobuf_VISIBILITY_FLAGS} + -Dprotobuf_ABSL_PROVIDER=package + -Dprotobuf_BUILD_LIBUPB=OFF ${FEATURE_OPTIONS} ) vcpkg_cmake_install() -# It appears that at this point the build hasn't actually finished. There is probably -# a process spawned by the build, therefore we need to wait a bit. - -function(protobuf_try_remove_recurse_wait PATH_TO_REMOVE) - file(REMOVE_RECURSE ${PATH_TO_REMOVE}) - if (EXISTS "${PATH_TO_REMOVE}") - execute_process(COMMAND ${CMAKE_COMMAND} -E sleep 5) - file(REMOVE_RECURSE ${PATH_TO_REMOVE}) - endif() -endfunction() - -protobuf_try_remove_recurse_wait("${CURRENT_PACKAGES_DIR}/debug/include") - -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/protobuf/protobuf-targets-release.cmake" - "\${_IMPORT_PREFIX}/bin/protoc${VCPKG_HOST_EXECUTABLE_SUFFIX}" - "\${_IMPORT_PREFIX}/tools/protobuf/protoc${VCPKG_HOST_EXECUTABLE_SUFFIX}" - ) -endif() - -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(READ "${CURRENT_PACKAGES_DIR}/debug/share/protobuf/protobuf-targets-debug.cmake" DEBUG_MODULE) - string(REPLACE "\${_IMPORT_PREFIX}" "\${_IMPORT_PREFIX}/debug" DEBUG_MODULE "${DEBUG_MODULE}") - string(REPLACE "\${_IMPORT_PREFIX}/debug/bin/protoc${EXECUTABLE_SUFFIX}" "\${_IMPORT_PREFIX}/tools/protobuf/protoc${EXECUTABLE_SUFFIX}" DEBUG_MODULE "${DEBUG_MODULE}") - file(WRITE "${CURRENT_PACKAGES_DIR}/share/protobuf/protobuf-targets-debug.cmake" "${DEBUG_MODULE}") -endif() - -protobuf_try_remove_recurse_wait("${CURRENT_PACKAGES_DIR}/debug/share") - if(protobuf_BUILD_PROTOC_BINARIES) if(VCPKG_TARGET_IS_WINDOWS) vcpkg_copy_tools(TOOL_NAMES protoc AUTO_CLEAN) else() - vcpkg_copy_tools(TOOL_NAMES protoc protoc-${VERSION}.0 AUTO_CLEAN) + string(REPLACE "." ";" VERSION_LIST ${VERSION}) + list(GET VERSION_LIST 1 VERSION_MINOR) + list(GET VERSION_LIST 2 VERSION_PATCH) + vcpkg_copy_tools(TOOL_NAMES protoc protoc-${VERSION_MINOR}.${VERSION_PATCH}.0 AUTO_CLEAN) endif() else() file(COPY "${CURRENT_HOST_INSTALLED_DIR}/tools/${PORT}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools") @@ -98,7 +86,7 @@ endif() vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/protobuf-config.cmake" "if(protobuf_MODULE_COMPATIBLE)" - "if(ON)" + "if(1)" ) if(NOT protobuf_BUILD_LIBPROTOC) vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/protobuf-module.cmake" @@ -107,27 +95,44 @@ if(NOT protobuf_BUILD_LIBPROTOC) ) endif() -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - protobuf_try_remove_recurse_wait("${CURRENT_PACKAGES_DIR}/bin") - protobuf_try_remove_recurse_wait("${CURRENT_PACKAGES_DIR}/debug/bin") -endif() +vcpkg_cmake_config_fixup() if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/google/protobuf/stubs/platform_macros.h" - "\#endif // GOOGLE_PROTOBUF_PLATFORM_MACROS_H_" - "\#ifndef PROTOBUF_USE_DLLS\n\#define PROTOBUF_USE_DLLS\n\#endif // PROTOBUF_USE_DLLS\n\n\#endif // GOOGLE_PROTOBUF_PLATFORM_MACROS_H_" + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/google/protobuf/port_def.inc" + "\#ifdef PROTOBUF_PORT_" + "\#ifndef PROTOBUF_USE_DLLS\n\#define PROTOBUF_USE_DLLS\n\#endif // PROTOBUF_USE_DLLS\n\n\#ifdef PROTOBUF_PORT_" ) endif() vcpkg_copy_pdbs() -set(packages protobuf protobuf-lite) -foreach(_package IN LISTS packages) - set(_file "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/${_package}.pc") - if(EXISTS "${_file}") - vcpkg_replace_string(${_file} "-l${_package}" "-l${_package}d") + +function(replace_package_string package) + set(debug_file "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/${package}.pc") + set(release_file "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/${package}.pc") + + if(EXISTS "${release_file}") + vcpkg_replace_string("${release_file}" "absl_abseil_dll" "abseil_dll" IGNORE_UNCHANGED) + if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + vcpkg_replace_string("${release_file}" "-l${package}" "-llib${package}" IGNORE_UNCHANGED) + endif() + endif() + + if(EXISTS "${debug_file}") + vcpkg_replace_string("${debug_file}" "absl_abseil_dll" "abseil_dll" IGNORE_UNCHANGED) + if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + vcpkg_replace_string("${debug_file}" "-l${package}" "-llib${package}d" IGNORE_UNCHANGED) + else() + vcpkg_replace_string("${debug_file}" "-l${package}" "-l${package}d" IGNORE_UNCHANGED) + endif() endif() +endfunction() + +set(packages protobuf protobuf-lite) +foreach(package IN LISTS packages) + replace_package_string("${package}") endforeach() + vcpkg_fixup_pkgconfig() if(NOT protobuf_BUILD_PROTOC_BINARIES) @@ -135,4 +140,7 @@ if(NOT protobuf_BUILD_PROTOC_BINARIES) endif() configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" "${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-cmake-wrapper.cmake" @ONLY) -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share" "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/overlay/ports/protobuf/vcpkg-cmake-wrapper.cmake b/overlay/ports/protobuf/vcpkg-cmake-wrapper.cmake index 542a16c2b8a300..17d787370b03bb 100644 --- a/overlay/ports/protobuf/vcpkg-cmake-wrapper.cmake +++ b/overlay/ports/protobuf/vcpkg-cmake-wrapper.cmake @@ -1,16 +1,3 @@ -if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.3) - cmake_policy(PUSH) - cmake_policy(SET CMP0057 NEW) - if(NOT "CONFIG" IN_LIST ARGS AND NOT "NO_MODULE" IN_LIST ARGS) - if("@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static") - set(Protobuf_USE_STATIC_LIBS ON) - else() - set(Protobuf_USE_STATIC_LIBS OFF) - endif() - endif() - cmake_policy(POP) -endif() - find_program(Protobuf_PROTOC_EXECUTABLE NAMES protoc PATHS "${CMAKE_CURRENT_LIST_DIR}/../../../@HOST_TRIPLET@/tools/protobuf" NO_DEFAULT_PATH) -_find_package(${ARGS}) +_find_package(${ARGS} CONFIG) diff --git a/overlay/ports/protobuf/vcpkg.json b/overlay/ports/protobuf/vcpkg.json index 61344a19bff1a0..ee0f5d34d75ca8 100644 --- a/overlay/ports/protobuf/vcpkg.json +++ b/overlay/ports/protobuf/vcpkg.json @@ -1,15 +1,16 @@ { "name": "protobuf", - "version": "3.21.12", - "port-version": 1, - "description": "Protocol Buffers - Google's data interchange format", + "version": "5.29.2", + "description": "Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data.", "homepage": "https://github.com/protocolbuffers/protobuf", "license": "BSD-3-Clause", "dependencies": [ + "abseil", { "name": "protobuf", "host": true }, + "utf8-range", { "name": "vcpkg-cmake", "host": true diff --git a/overlay/ports/taglib/portfile.cmake b/overlay/ports/taglib/portfile.cmake new file mode 100644 index 00000000000000..0a0a501d5141b3 --- /dev/null +++ b/overlay/ports/taglib/portfile.cmake @@ -0,0 +1,50 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO taglib/taglib + REF v1.13.1 + SHA512 986231ee62caa975afead7e94630d58acaac25a38bc33d4493d51bd635d79336e81bba60586d7355ebc0670e31f28d32da3ecceaf33292e4bc240c64bf00f35b + HEAD_REF master +) + +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + set(WINRT_OPTIONS -DHAVE_VSNPRINTF=1 -DPLATFORM_WINRT=1) +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTING=OFF + -DBUILD_EXAMPLES=OFF + ${WINRT_OPTIONS} +) +vcpkg_cmake_install() +vcpkg_fixup_pkgconfig() + +set(pcfile "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/taglib.pc") +if(EXISTS "${pcfile}") + vcpkg_replace_string("${pcfile}" "Requires: " "Requires: zlib") + vcpkg_replace_string("${pcfile}" " -lz" "") +endif() +set(pcfile "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/taglib.pc") +if(EXISTS "${pcfile}") + vcpkg_replace_string("${pcfile}" "Requires: " "Requires: zlib") + vcpkg_replace_string("${pcfile}" " -lz" "") +endif() + +# remove the debug/include files +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE "${CURRENT_PACKAGES_DIR}/bin/taglib-config.cmd" "${CURRENT_PACKAGES_DIR}/debug/bin/taglib-config.cmd") # Contains absolute paths + +# remove bin directory for static builds (taglib creates a cmake batch file there) +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/taglib/taglib_export.h" "defined(TAGLIB_STATIC)" "1") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") +endif() + +vcpkg_copy_pdbs() + +# copyright file +file(COPY "${SOURCE_PATH}/COPYING.LGPL" DESTINATION "${CURRENT_PACKAGES_DIR}/share/taglib") +file(COPY "${SOURCE_PATH}/COPYING.MPL" DESTINATION "${CURRENT_PACKAGES_DIR}/share/taglib") +file(RENAME "${CURRENT_PACKAGES_DIR}/share/taglib/COPYING.LGPL" "${CURRENT_PACKAGES_DIR}/share/taglib/copyright") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/taglib/usage b/overlay/ports/taglib/usage similarity index 100% rename from ports/taglib/usage rename to overlay/ports/taglib/usage diff --git a/overlay/ports/taglib/vcpkg.json b/overlay/ports/taglib/vcpkg.json new file mode 100644 index 00000000000000..1b890327e5158e --- /dev/null +++ b/overlay/ports/taglib/vcpkg.json @@ -0,0 +1,15 @@ +{ + "name": "taglib", + "version-semver": "1.13.1", + "port-version": 1, + "description": "TagLib Audio Meta-Data Library", + "homepage": "https://taglib.org/", + "license": "LGPL-2.1-only OR MPL-1.1", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + "zlib" + ] +} diff --git a/ports/7zip/CMakeLists.txt b/ports/7zip/CMakeLists.txt index 2f6298a09cef06..e7a8e08962bea1 100644 --- a/ports/7zip/CMakeLists.txt +++ b/ports/7zip/CMakeLists.txt @@ -65,6 +65,7 @@ target_sources(7zip PRIVATE CPP/7zip/Compress/ZDecoder.cpp CPP/7zip/Compress/ZlibDecoder.cpp CPP/7zip/Compress/ZlibEncoder.cpp + CPP/7zip/Compress/ZstdDecoder.cpp CPP/7zip/Crypto/7zAes.cpp CPP/7zip/Crypto/7zAesRegister.cpp @@ -122,6 +123,12 @@ target_sources(7zip PRIVATE C/Aes.c C/7zCrc.c C/XzCrc64.c + C/Xxh64.c + C/ZstdDec.c + C/Md5.c + C/Sha3.c + C/Sha512.c + C/Sha512Opt.c CPP/Common/CRC.cpp CPP/Common/CrcReg.cpp @@ -144,16 +151,11 @@ target_sources(7zip PRIVATE CPP/Common/Wildcard.cpp CPP/Common/XzCrc64Init.cpp CPP/Common/XzCrc64Reg.cpp - - CPP/Windows/FileDir.cpp - CPP/Windows/FileFind.cpp - CPP/Windows/FileIO.cpp - CPP/Windows/FileName.cpp - CPP/Windows/PropVariant.cpp - CPP/Windows/PropVariantUtils.cpp - CPP/Windows/Synchronization.cpp - CPP/Windows/System.cpp - CPP/Windows/TimeUtils.cpp + CPP/Common/Xxh64Reg.cpp + CPP/Common/Md5Reg.cpp + CPP/Common/Sha3Reg.cpp + CPP/Common/Sha512Prepare.cpp + CPP/Common/Sha512Reg.cpp CPP/7zip/Common/CreateCoder.cpp CPP/7zip/Common/CWrappers.cpp @@ -177,6 +179,16 @@ target_sources(7zip PRIVATE CPP/7zip/Common/UniqBlocks.cpp CPP/7zip/Common/VirtThread.cpp + CPP/Windows/FileDir.cpp + CPP/Windows/FileFind.cpp + CPP/Windows/FileIO.cpp + CPP/Windows/FileName.cpp + CPP/Windows/PropVariant.cpp + CPP/Windows/PropVariantUtils.cpp + CPP/Windows/Synchronization.cpp + CPP/Windows/System.cpp + CPP/Windows/TimeUtils.cpp + CPP/7zip/Archive/ApmHandler.cpp CPP/7zip/Archive/ArHandler.cpp CPP/7zip/Archive/ArjHandler.cpp @@ -219,6 +231,7 @@ target_sources(7zip PRIVATE CPP/7zip/Archive/ZHandler.cpp CPP/7zip/Archive/ArchiveExports.cpp CPP/7zip/Archive/DllExports2.cpp + CPP/7zip/Archive/ZstdHandler.cpp CPP/7zip/Archive/Common/CoderMixer2.cpp CPP/7zip/Archive/Common/DummyOutStream.cpp @@ -401,6 +414,7 @@ target_compile_definitions(7zip target_include_directories(7zip INTERFACE $/7zip/CPP + $/7zip/C ) install( diff --git a/ports/7zip/fix_timespec_get_broken_on_android.patch b/ports/7zip/fix_timespec_get_broken_on_android.patch new file mode 100644 index 00000000000000..87c2d99acd911e --- /dev/null +++ b/ports/7zip/fix_timespec_get_broken_on_android.patch @@ -0,0 +1,13 @@ +diff --git a/CPP/Windows/TimeUtils.cpp b/CPP/Windows/TimeUtils.cpp +index bbd79ba..8df3ea3 100644 +--- a/CPP/Windows/TimeUtils.cpp ++++ b/CPP/Windows/TimeUtils.cpp +@@ -259,7 +259,7 @@ bool GetSecondsSince1601(unsigned year, unsigned month, unsigned day, + Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, Solaris 11.3, + Cygwin 2.9, mingw, MSVC 14, Android 9.0. + */ +-#if defined(TIME_UTC) ++#if defined(TIME_UTC) && (!defined(__ANDROID__) || __ANDROID_API__ >= 29) + #define ZIP7_USE_timespec_get + // #pragma message("ZIP7_USE_timespec_get") + #elif defined(CLOCK_REALTIME) diff --git a/ports/7zip/portfile.cmake b/ports/7zip/portfile.cmake index 07b76d57b15e79..083b4578f9eae5 100644 --- a/ports/7zip/portfile.cmake +++ b/ports/7zip/portfile.cmake @@ -1,14 +1,11 @@ -set(7ZIP_VERSION "2301") -vcpkg_download_distfile(ARCHIVE - URLS "https://www.7-zip.org/a/7z${7ZIP_VERSION}-src.7z" - FILENAME "7z${7ZIP_VERSION}-src.7z" - SHA512 45038fc49b0be8e7435939a79ad9f46f360b43b651148a8cde74fafdb8536f51a4be3b1ea91e06203267e5121267f6601f8ae6678feaf18e4b7a4f79a16730e7 -) - -vcpkg_extract_source_archive( - SOURCE_PATH - ARCHIVE "${ARCHIVE}" - NO_REMOVE_ONE_LEVEL +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ip7z/7zip + REF "${VERSION}" + SHA512 dc0241ed96907965445550912d1171fe32230a52997b089558a4cc73a662fc6a17940db8dcb0794b805268964899d9e5a48ddb444e92b56fd243bbaa17c20a1c + HEAD_REF main + PATCHES + fix_timespec_get_broken_on_android.patch ) file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") @@ -23,10 +20,6 @@ vcpkg_copy_pdbs() vcpkg_cmake_config_fixup() -file( - INSTALL "${SOURCE_PATH}/DOC/License.txt" - DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" - RENAME copyright -) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/DOC/License.txt") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/7zip/vcpkg.json b/ports/7zip/vcpkg.json index ecd006d66d6c88..a68bbe21e0dd48 100644 --- a/ports/7zip/vcpkg.json +++ b/ports/7zip/vcpkg.json @@ -1,6 +1,7 @@ { "name": "7zip", - "version-string": "23.01", + "version-string": "24.09", + "port-version": 1, "description": "Library for archiving file with a high compression ratio.", "homepage": "https://www.7-zip.org", "license": "LGPL-2.1-or-later", diff --git a/ports/ableton-link/portfile.cmake b/ports/ableton-link/portfile.cmake index 521563e857668f..4bfcc1a315f012 100644 --- a/ports/ableton-link/portfile.cmake +++ b/ports/ableton-link/portfile.cmake @@ -4,8 +4,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Ableton/link - REF Link-3.0.6 - SHA512 7dd811d3b7792722a8754cd0875777b8cf4902a0babff2822a6fd997137eb5feac576263169c71fca24358189e56b5106a32ae1313b33fb6148eb845691a6438 + REF "Link-${VERSION}" + SHA512 889aa8cf56df19631a15cc4e245f3b7165a1d08aa199446de3b209c5be58904c11776899e9202900e73cc90ea63d366c6c3b2628657dac96db5a16a5217b3df7 HEAD_REF master PATCHES replace_local_asiostandalone_by_vcpkg_asio.patch @@ -39,7 +39,7 @@ endif() set(NEED_ASIOSDK OFF) if ("hut" IN_LIST FEATURES) - if(WIN32) + if(VCPKG_TARGET_IS_WINDOWS) # Need Steinberg ASIO audio driver SDK (only this low-latency audio driver makes the developer tool 'hut' useful on Windows) set(NEED_ASIOSDK ON) endif() @@ -76,8 +76,8 @@ vcpkg_apply_patches( correct_cmake_include_directory.patch ) -file(INSTALL "${SOURCE_PATH}/AbletonLinkConfig.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/") -file(INSTALL "${SOURCE_PATH}/cmake_include/" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/cmake_include/") +file(INSTALL "${SOURCE_PATH}/AbletonLinkConfig.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/abletonlink") +file(INSTALL "${SOURCE_PATH}/cmake_include/" DESTINATION "${CURRENT_PACKAGES_DIR}/share/abletonlink/cmake_include/") file(INSTALL "${SOURCE_PATH}/include/" DESTINATION "${CURRENT_PACKAGES_DIR}/include" PATTERN "CMakeLists.txt" EXCLUDE) # Handle copyright diff --git a/ports/ableton-link/vcpkg.json b/ports/ableton-link/vcpkg.json index 463aabaf71d861..9e95237a00cfdd 100644 --- a/ports/ableton-link/vcpkg.json +++ b/ports/ableton-link/vcpkg.json @@ -1,7 +1,6 @@ { "name": "ableton-link", - "version": "3.0.6", - "port-version": 1, + "version": "3.1.2", "description": "Ableton Link, a technology that synchronizes musical beat, tempo, and phase across multiple applications running on one or more devices.", "homepage": "https://www.ableton.com/en/link/", "documentation": "http://ableton.github.io/link/", diff --git a/ports/abseil/portfile.cmake b/ports/abseil/portfile.cmake index 7737254f8d825c..b708ef36a8dc43 100644 --- a/ports/abseil/portfile.cmake +++ b/ports/abseil/portfile.cmake @@ -1,4 +1,4 @@ -if (NOT VCPKG_TARGET_IS_WINDOWS) +if(NOT VCPKG_TARGET_IS_WINDOWS) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) endif() @@ -6,27 +6,31 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO abseil/abseil-cpp REF "${VERSION}" - SHA512 14390380655c41483a98487e3b012110dd8d1743fdd68d8cde7e0d7c2730312d564b15726d8c9d2fff237d2fce3983bbbb5213f59612c7c6feaeb402dff9609f + SHA512 bd2cca8f007f2eee66f51c95a979371622b850ceb2ce3608d00ba826f7c494a1da0fba3c1427728f2c173fe50d59b701da35c2c9fdad2752a5a49746b1c8ef31 HEAD_REF master ) -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - FEATURES - cxx17 ABSL_USE_CXX17 -) - # With ABSL_PROPAGATE_CXX_STD=ON abseil automatically detect if it is being # compiled with C++14 or C++17, and modifies the installed `absl/base/options.h` # header accordingly. This works even if CMAKE_CXX_STANDARD is not set. Abseil # uses the compiler default behavior to update `absl/base/options.h` as needed. -if (ABSL_USE_CXX17) +set(ABSL_USE_CXX17_OPTION "") +if("cxx17" IN_LIST FEATURES) set(ABSL_USE_CXX17_OPTION "-DCMAKE_CXX_STANDARD=17") -endif () +endif() + +set(ABSL_STATIC_RUNTIME_OPTION "") +if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_CRT_LINKAGE STREQUAL "static") + set(ABSL_STATIC_RUNTIME_OPTION "-DABSL_MSVC_STATIC_RUNTIME=ON") +endif() vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" DISABLE_PARALLEL_CONFIGURE - OPTIONS -DABSL_PROPAGATE_CXX_STD=ON ${ABSL_USE_CXX17_OPTION} + OPTIONS + -DABSL_PROPAGATE_CXX_STD=ON + ${ABSL_USE_CXX17_OPTION} + ${ABSL_STATIC_RUNTIME_OPTION} ) vcpkg_cmake_install() @@ -41,16 +45,9 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share" "${CURRENT_PACKAGES_DIR}/include/absl/time/internal/cctz/testdata" ) -if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - file(GLOB_RECURSE headers "${CURRENT_PACKAGES_DIR}/include/absl/*.h") - foreach(header IN LISTS ${headers}) - vcpkg_replace_string("${header}" - "!defined(ABSL_CONSUME_DLL)" "0" - ) - vcpkg_replace_string("${header}" - "defined(ABSL_CONSUME_DLL)" "1" - ) - endforeach() +if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/absl/base/config.h" "defined(ABSL_CONSUME_DLL)" "1") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/absl/base/internal/thread_identity.h" "defined(ABSL_CONSUME_DLL)" "1") endif() vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/abseil/vcpkg.json b/ports/abseil/vcpkg.json index 80a5876b1def11..1b8bccfbae03b4 100644 --- a/ports/abseil/vcpkg.json +++ b/ports/abseil/vcpkg.json @@ -1,8 +1,7 @@ { "name": "abseil", - "version": "20230802.1", + "version": "20240722.0", "description": [ - "an open-source collection designed to augment the C++ standard library.", "Abseil is an open-source collection of C++ library code designed to augment the C++ standard library. The Abseil library code is collected from Google's own C++ code base, has been extensively tested and used in production, and is the same code we depend on in our daily coding lives.", "In some cases, Abseil provides pieces missing from the C++ standard; in others, Abseil provides alternatives to the standard for special needs we've found through usage in the Google code base. We denote those cases clearly within the library code we provide you.", "Abseil is not meant to be a competitor to the standard library; we've just found that many of these utilities serve a purpose within our code base, and we now want to provide those resources to the C++ community as a whole." diff --git a/ports/ace/portfile.cmake b/ports/ace/portfile.cmake index 71052d5a09c95f..41e60b44bce52a 100644 --- a/ports/ace/portfile.cmake +++ b/ports/ace/portfile.cmake @@ -8,14 +8,14 @@ if("tao" IN_LIST FEATURES) vcpkg_download_distfile(ARCHIVE URLS "https://github.com/DOCGroup/ACE_TAO/releases/download/ACE%2BTAO-${VERSION_DIRECTORY}/ACE%2BTAO-src-${VERSION}.tar.gz" FILENAME "ACE-TAO-${VERSION}.tar.gz" - SHA512 ab1317e626f1b312cd72e6c10f7b51088e5de4db8fa3bca013a98b07aad4edfb5e1f42a4f58c970f968417852b305f298a34e0fde053a1f52754ebe3761f314c + SHA512 11707f5c4c3a67b437ed2112612640d19a5d11c3909597dae2ce60a34979578e3376871a698d43f9c4236a26d37b301f2148314535f66242444a0849c42fedbe ) else() # Don't change to vcpkg_from_github! This points to a release and not an archive vcpkg_download_distfile(ARCHIVE URLS "https://github.com/DOCGroup/ACE_TAO/releases/download/ACE%2BTAO-${VERSION_DIRECTORY}/ACE-src-${VERSION}.tar.gz" FILENAME "ACE-src-${VERSION}.tar.gz" - SHA512 1605fdf7a78bfce090bc8b14137f9aafd23019712672f6cd041284656ce2bae0baff954124166aeb16a0565887e1d87b2d10dc2ec5981c4e38fc8d0b39a97934 + SHA512 208b6101c1415ee64f7a9a99c1fe53a3b51078408809716ea9bf744667f853c86e7656e02c49c55e6866218033336de4ed8bfbd39254bf94f8a332861ea6e97f ) endif() @@ -294,6 +294,7 @@ elseif(VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX) get_filename_component(WORKING_DIR "${WORKSPACE}" DIRECTORY) set(ENV{PWD} "${WORKING_DIR}") +if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") message(STATUS "Building ${TARGET_TRIPLET}-dbg") vcpkg_execute_build_process( COMMAND make ${_ace_makefile_macros} "debug=1" "optimize=0" "-j${VCPKG_CONCURRENCY}" @@ -344,7 +345,9 @@ elseif(VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX) LOGNAME realclean-xml-${TARGET_TRIPLET}-dbg ) endif() +endif() +if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") message(STATUS "Building ${TARGET_TRIPLET}-rel") vcpkg_execute_build_process( COMMAND make ${_ace_makefile_macros} "-j${VCPKG_CONCURRENCY}" @@ -377,6 +380,8 @@ elseif(VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX) file(RENAME "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/tools/${PORT}") endif() message(STATUS "Packaging ${TARGET_TRIPLET}-rel done") +endif() + # Restore `PWD` environment variable set($ENV{PWD} _prev_env) diff --git a/ports/ace/vcpkg.json b/ports/ace/vcpkg.json index 1dcb75fe4435df..380e0a44a27d63 100644 --- a/ports/ace/vcpkg.json +++ b/ports/ace/vcpkg.json @@ -1,7 +1,6 @@ { "name": "ace", - "version": "7.1.1", - "port-version": 2, + "version": "8.0.2", "maintainers": "Johnny Willemsen ", "description": "The ADAPTIVE Communication Environment", "homepage": "https://github.com/DOCGroup/ACE_TAO", diff --git a/ports/acl/portfile.cmake b/ports/acl/portfile.cmake index c51946b21b5b8f..4e4e102f957a01 100644 --- a/ports/acl/portfile.cmake +++ b/ports/acl/portfile.cmake @@ -1,9 +1,9 @@ -vcpkg_minimum_required(VERSION 2022-10-12) # for ${VERSION} - vcpkg_download_distfile(ARCHIVE URLS "http://download.savannah.nongnu.org/releases/acl/acl-${VERSION}.tar.xz" + "https://www.mirrorservice.org/sites/download.savannah.gnu.org/releases/acl/acl-${VERSION}.tar.xz" + FILENAME "acl-${VERSION}.tar.xz" - SHA512 7d02f05d17305f8587ab485395b00c7fdb8e44c1906d0d04b70a43a3020803e8b2b8c707abb6147f794867dfa87bd51769c2d3e11a3db55ecbd2006a6e6231dc + SHA512 c2d061dbfd28c00cecbc1ae614d67f3138202bf4d39b383f2df4c6a8b10b830f33acec620fb211f268478737dde4037d338a5823af445253cb088c48a135099b ) vcpkg_extract_source_archive( @@ -11,15 +11,25 @@ vcpkg_extract_source_archive( ARCHIVE ${ARCHIVE} ) +vcpkg_list(SET options) +if("nls" IN_LIST FEATURES) + vcpkg_list(APPEND options "--enable-nls") + vcpkg_add_to_path(PREPEND "${CURRENT_HOST_INSTALLED_DIR}/tools/gettext/bin") +else() + set(ENV{AUTOPOINT} true) # true, the program + vcpkg_list(APPEND options "--disable-nls") +endif() + vcpkg_configure_make( SOURCE_PATH "${SOURCE_PATH}" AUTOCONFIG + OPTIONS + ${options} ) vcpkg_install_make() +vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -vcpkg_fixup_pkgconfig() - vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/doc/COPYING.LGPL") diff --git a/ports/acl/vcpkg.json b/ports/acl/vcpkg.json index 712b7fbfbef610..591f32be33342a 100644 --- a/ports/acl/vcpkg.json +++ b/ports/acl/vcpkg.json @@ -1,12 +1,26 @@ { "name": "acl", - "version-semver": "2.3.1", - "port-version": 1, + "version-semver": "2.3.2", "description": "Commands for Manipulating POSIX Access Control Lists", "homepage": "https://savannah.nongnu.org/projects/acl", "license": "LGPL-2.1-or-later", "supports": "linux", "dependencies": [ "attr" - ] + ], + "features": { + "nls": { + "description": "Enable native language support", + "dependencies": [ + { + "name": "gettext", + "host": true, + "features": [ + "tools" + ] + }, + "gettext-libintl" + ] + } + } } diff --git a/ports/activemq-cpp/portfile.cmake b/ports/activemq-cpp/portfile.cmake index 9280b86f5149df..229cfb532cc0bc 100644 --- a/ports/activemq-cpp/portfile.cmake +++ b/ports/activemq-cpp/portfile.cmake @@ -53,7 +53,7 @@ else() set(ACTIVEMQCPP_LIB_PREFFIX ) set(ACTIVEMQCPP_LIB_SUFFIX d) - vcpkg_replace_string("${ACTIVEMQCPP_MSVC_PROJ}" ";apr-1.lib" ";libapr-1.lib") + vcpkg_replace_string("${ACTIVEMQCPP_MSVC_PROJ}" ";apr-1.lib" ";libapr-1.lib" IGNORE_UNCHANGED) else() set(RELEASE_CONF "Release") set(DEBUG_CONF "Debug") diff --git a/ports/activemq-cpp/vcpkg.json b/ports/activemq-cpp/vcpkg.json index e11ffd7ab33b15..9e597e1f48d6e8 100644 --- a/ports/activemq-cpp/vcpkg.json +++ b/ports/activemq-cpp/vcpkg.json @@ -1,10 +1,10 @@ { "name": "activemq-cpp", "version-semver": "3.9.5", - "port-version": 15, + "port-version": 17, "description": "Apache ActiveMQ is the most popular and powerful open source messaging and Integration Patterns server.", "license": "Apache-2.0", - "supports": "!(uwp | osx)", + "supports": "(windows & !uwp & (x86 | x64)) | (!windows & !osx)", "dependencies": [ "apr", { diff --git a/ports/ada-url/no-cpm.patch b/ports/ada-url/no-cpm.patch new file mode 100644 index 00000000000000..e35487e2271a04 --- /dev/null +++ b/ports/ada-url/no-cpm.patch @@ -0,0 +1,31 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b206edb6..1db4099d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -30,7 +30,6 @@ option(ADA_TESTING "Build tests" ${BUILD_TESTING}) + # errors due to CPM, so this is here to support disabling all the testing + # and tooling for ada if one only wishes to use the ada library. + if(ADA_TESTING OR ADA_BENCHMARKS OR ADA_TOOLS) +- include(cmake/CPM.cmake) + # CPM requires git as an implicit dependency + find_package(Git QUIET) + # We use googletest in the tests +diff --git a/tools/cli/CMakeLists.txt b/tools/cli/CMakeLists.txt +index ff57220b..a6d90f29 100644 +--- a/tools/cli/CMakeLists.txt ++++ b/tools/cli/CMakeLists.txt +@@ -8,12 +8,8 @@ if(MSVC AND BUILD_SHARED_LIBS) + "$" # <--this is in-file + "$") # <--this is out-file path + endif() +-CPMAddPackage("gh:fmtlib/fmt#10.2.1") +-CPMAddPackage( +- GITHUB_REPOSITORY jarro2783/cxxopts +- VERSION 3.2.0 +- OPTIONS "CXXOPTS_BUILD_EXAMPLES NO" "CXXOPTS_BUILD_TESTS NO" "CXXOPTS_ENABLE_INSTALL YES" +-) ++find_package(fmt CONFIG REQUIRED) ++find_package(cxxopts CONFIG REQUIRED) + target_link_libraries(adaparse PRIVATE cxxopts::cxxopts fmt::fmt) + + if(MSVC OR MINGW) diff --git a/ports/ada-url/portfile.cmake b/ports/ada-url/portfile.cmake index 4ae225547876fb..431721cc4951c0 100644 --- a/ports/ada-url/portfile.cmake +++ b/ports/ada-url/portfile.cmake @@ -2,8 +2,10 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ada-url/ada REF "v${VERSION}" - SHA512 bd9af16dee99a2b3f43e823b9ae6f8893741172d63ffe38337a4b3eab632167241b95df56d4220bc3240a3593e751df6a562e52e31b73e0ba99d41f5bf9922d5 + SHA512 bc876db537153d6b0599215ca8be8261bceca6d213fcc63af5fda13c1b32876496cb8d4e98c787f17317cf8ffd1940431551513807f1a18f9ce993fad35f5ec6 HEAD_REF main + PATCHES + no-cpm.patch ) vcpkg_check_features( @@ -14,11 +16,13 @@ vcpkg_check_features( vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - DISABLE_PARALLEL_CONFIGURE OPTIONS -DADA_BENCHMARKS=OFF -DBUILD_TESTING=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_Python3=ON ${FEATURE_OPTIONS} + OPTIONS_DEBUG + -DADA_TOOLS=OFF ) vcpkg_cmake_install() diff --git a/ports/ada-url/vcpkg.json b/ports/ada-url/vcpkg.json index 9f9e0dd0652a4c..fb09b307f9e96f 100644 --- a/ports/ada-url/vcpkg.json +++ b/ports/ada-url/vcpkg.json @@ -1,6 +1,6 @@ { "name": "ada-url", - "version": "2.6.8", + "version": "2.9.2", "description": "WHATWG-compliant and fast URL parser written in modern C++", "homepage": "https://ada-url.com/", "license": "MIT", @@ -17,7 +17,11 @@ "features": { "tools": { "description": "Build CLI tools (adaparse)", - "supports": "!uwp" + "supports": "!uwp", + "dependencies": [ + "cxxopts", + "fmt" + ] } } } diff --git a/ports/adios2/portfile.cmake b/ports/adios2/portfile.cmake index 6366d241316fc1..d2aef40f13b32c 100644 --- a/ports/adios2/portfile.cmake +++ b/ports/adios2/portfile.cmake @@ -1,11 +1,9 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ornladios/ADIOS2 - REF 473fe8c7d1a13c0746910361aa45ee1b96f57bfb - SHA512 ef8af30419cf57183b52ce9cb29613a381b06e16848a6d22d83c751c43b8485e504be90cead1381adcc92bb8d4912611083cd6d0b73d161b33f779231a041e6c + REF "v${VERSION}" + SHA512 05decc3ff14e7458df9ec16ca6230a9770ca992e7d0ce3a18b3c9295a19dad94d8a9367102e50347a9487c6a3f35a8d52fbaa6a6fd98807aaec9636e607541ee HEAD_REF master - PATCHES - zfp-version.patch # Backport zfp 1.0 support to v2.8.3 (https://github.com/ornladios/ADIOS2/pull/3312), included upstream in v2.9.0 when released. ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS @@ -21,7 +19,7 @@ list(APPEND disabled_options SZ LIBPRESSIO MGARD DAOS DataMan DataSpaces MHS SST list(TRANSFORM disabled_options PREPEND "-DADIOS2_USE_") list(TRANSFORM disabled_options APPEND ":BOOL=OFF") set(enabled_options "") -list(APPEND enabled_options BZip2 Blosc PNG ZeroMQ HDF5 Endian_Reverse Sodium) +list(APPEND enabled_options BZip2 Blosc2 PNG ZeroMQ HDF5 Endian_Reverse Sodium) list(TRANSFORM enabled_options PREPEND "-DADIOS2_USE_") list(TRANSFORM enabled_options APPEND ":BOOL=OFF") diff --git a/ports/adios2/vcpkg.json b/ports/adios2/vcpkg.json index b5c9963a3a5a39..79d4631b5ebccd 100644 --- a/ports/adios2/vcpkg.json +++ b/ports/adios2/vcpkg.json @@ -1,7 +1,6 @@ { "name": "adios2", - "version": "2.8.3", - "port-version": 1, + "version": "2.9.2", "description": "Next generation of ADIOS developed in the Exascale Computing Program", "homepage": "https://github.com/ornladios/ADIOS2", "license": "Apache-2.0", diff --git a/ports/adios2/zfp-version.patch b/ports/adios2/zfp-version.patch deleted file mode 100644 index 8220fc069309c0..00000000000000 --- a/ports/adios2/zfp-version.patch +++ /dev/null @@ -1,65 +0,0 @@ -diff --git a/cmake/DetectOptions.cmake b/cmake/DetectOptions.cmake -index d4e2e5dbf..80f231c16 100644 ---- a/cmake/DetectOptions.cmake -+++ b/cmake/DetectOptions.cmake -@@ -89,9 +89,9 @@ endif() - - # ZFP - if(ADIOS2_USE_ZFP STREQUAL AUTO) -- find_package(ZFP 0.5.1 CONFIG) -+ find_package(ZFP CONFIG) - elseif(ADIOS2_USE_ZFP) -- find_package(ZFP 0.5.1 REQUIRED CONFIG) -+ find_package(ZFP REQUIRED CONFIG) - endif() - if(ZFP_FOUND) - set(ADIOS2_HAVE_ZFP TRUE) -diff --git a/source/adios2/operator/compress/CompressZFP.cpp b/source/adios2/operator/compress/CompressZFP.cpp -index 77aaa6f08..e8162f97a 100644 ---- a/source/adios2/operator/compress/CompressZFP.cpp -+++ b/source/adios2/operator/compress/CompressZFP.cpp -@@ -13,7 +13,7 @@ - #include - - /* CMake will make sure zfp >= 5.0.1 */ --#if ZFP_VERSION_RELEASE > 1 && !defined(ZFP_DEFAULT_EXECUTION_POLICY) -+//#if ZFP_VERSION_RELEASE > 1 && !defined(ZFP_DEFAULT_EXECUTION_POLICY) - - /* ZFP will default to SERIAL if CUDA is not available */ - #ifdef ADIOS2_HAVE_ZFP_CUDA -@@ -22,7 +22,7 @@ - #define ZFP_DEFAULT_EXECUTION_POLICY zfp_exec_serial - #endif - --#endif -+//#endif - - namespace adios2 - { -@@ -80,7 +80,7 @@ size_t CompressZFP::Operate(const char *dataIn, const Dims &blockStart, - PutParameter(bufferOut, bufferOutOffset, - static_cast(ZFP_VERSION_MINOR)); - PutParameter(bufferOut, bufferOutOffset, -- static_cast(ZFP_VERSION_RELEASE)); -+ static_cast(ZFP_VERSION_PATCH)); - PutParameters(bufferOut, bufferOutOffset, m_Parameters); - // zfp V1 metadata end - -@@ -302,7 +302,7 @@ zfp_stream *GetZFPStream(const Dims &dimensions, DataType type, - auto itPrecision = parameters.find("precision"); - const bool hasPrecision = itPrecision != parameters.end(); - --#if ZFP_VERSION_RELEASE > 1 -+//#if ZFP_VERSION_RELEASE > 1 - auto itBackend = parameters.find("backend"); - const bool hasBackend = itBackend != parameters.end(); - -@@ -332,7 +332,7 @@ zfp_stream *GetZFPStream(const Dims &dimensions, DataType type, - - zfp_stream_set_execution(stream, policy); - } --#endif -+//#endif - - if ((hasAccuracy && hasPrecision) || (hasAccuracy && hasRate) || - (hasPrecision && hasRate) || diff --git a/ports/aklomp-base64/portfile.cmake b/ports/aklomp-base64/portfile.cmake index 2c9550a50c2980..b3602b76b83230 100644 --- a/ports/aklomp-base64/portfile.cmake +++ b/ports/aklomp-base64/portfile.cmake @@ -1,13 +1,18 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO aklomp/base64 - REF e77bd70bdd860c52c561568cffb251d88bba064c - SHA512 bc0cf64f6a24226a64c51983e8b73b4d4e893b8242bc6ac39361d977996de453d9f95ed0ab68a7544f21b0be1d76ae53af96521207a651c95673b02954cc5bbe + REF "v${VERSION}" + SHA512 9f8ca8a6e9feb8ad98158d675ec3331e83c77401d2633de0e43b62e794682a9d63c03e1c2599981ad3cdb249e263964f6a79084dbdf2ca19a1e1eed6195a98f4 HEAD_REF master ) vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBASE64_BUILD_CLI=OFF + -DBASE64_REGENERATE_TABLES=OFF + -DBASE64_WERROR=OFF + -DBASE64_WITH_OpenMP=OFF ) vcpkg_cmake_install() @@ -19,4 +24,4 @@ vcpkg_cmake_config_fixup( CONFIG_PATH "lib/cmake/base64" ) -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/aklomp-base64/vcpkg.json b/ports/aklomp-base64/vcpkg.json index 889c35790f767d..ffacf3bb8a418b 100644 --- a/ports/aklomp-base64/vcpkg.json +++ b/ports/aklomp-base64/vcpkg.json @@ -1,7 +1,6 @@ { "name": "aklomp-base64", - "version-date": "2023-01-06", - "port-version": 1, + "version": "0.5.2", "description": "Implementation of a base64 stream encoding/decoding library in C99 with SIMD (AVX2, AVX512, NEON, AArch64/NEON, SSSE3, SSE4.1, SSE4.2, AVX) and OpenMP acceleration", "homepage": "https://github.com/aklomp/base64", "license": "BSD-2-Clause", diff --git a/ports/alembic/fix-runtime-destination.patch b/ports/alembic/fix-runtime-destination.patch deleted file mode 100644 index 093218644d5c61..00000000000000 --- a/ports/alembic/fix-runtime-destination.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 860a8be..ee0f4f7 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -74,7 +74,7 @@ option(DOCS_PATH - - # Set static/dynamic build options - SET(LIB_TYPE STATIC) --SET(RUNTIME_INSTALL_DIR lib) -+SET(RUNTIME_INSTALL_DIR bin) - SET(LIBRARY_INSTALL_DIR lib) - SET(ARCHIVE_INSTALL_DIR lib) - IF (ALEMBIC_SHARED_LIBS) -diff --git a/lib/Alembic/CMakeLists.txt b/lib/Alembic/CMakeLists.txt -index 25e760c..9acac61 100644 ---- a/lib/Alembic/CMakeLists.txt -+++ b/lib/Alembic/CMakeLists.txt -@@ -87,9 +87,9 @@ TARGET_LINK_LIBRARIES(Alembic - SET( ALEMBIC_LIB_INSTALL_DIR lib CACHE STRING "Where to install the Alembic libs") - INSTALL(TARGETS Alembic - EXPORT AlembicTargets -- LIBRARY DESTINATION ${ALEMBIC_LIB_INSTALL_DIR} -- ARCHIVE DESTINATION ${ALEMBIC_LIB_INSTALL_DIR} -- RUNTIME DESTINATION ${ALEMBIC_LIB_INSTALL_DIR}) -+ LIBRARY DESTINATION ${LIBRARY_INSTALL_DIR} -+ ARCHIVE DESTINATION ${ARCHIVE_INSTALL_DIR} -+ RUNTIME DESTINATION ${RUNTIME_INSTALL_DIR}) - - #-****************************************************************************** - # PACKAGE EXPORTS diff --git a/ports/alembic/portfile.cmake b/ports/alembic/portfile.cmake index 47f5a103a86223..f01c40be3b45e9 100644 --- a/ports/alembic/portfile.cmake +++ b/ports/alembic/portfile.cmake @@ -4,10 +4,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO alembic/alembic REF "${VERSION}" - SHA512 6371b830242be90d4ea833248df5fd42d9e713e305d15eb1383d04410319acdae5743d48d65e8f75f1cedce777d2af7d969cde095f678b17322c19f1c69f477b + SHA512 02b7bf5782e83efb08a8653f130b02565fa997e857dbd8d0523e1b218ff58d929fbf9690db0980e8101a31f01a67341b6000af8794538890ef7d759fe0289e2f HEAD_REF master - PATCHES - fix-runtime-destination.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" ALEMBIC_SHARED_LIBS) diff --git a/ports/alembic/vcpkg.json b/ports/alembic/vcpkg.json index a472781f61d1c3..e44c38863165bb 100644 --- a/ports/alembic/vcpkg.json +++ b/ports/alembic/vcpkg.json @@ -1,6 +1,6 @@ { "name": "alembic", - "version": "1.8.6", + "version": "1.8.8", "description": "Alembic is an open framework for storing and sharing scene data that includes a C++ library, a file format, and client plugins and applications.", "homepage": "https://alembic.io/", "supports": "!(windows & x86) & !uwp", diff --git a/ports/aliyun-oss-c-sdk/portfile.cmake b/ports/aliyun-oss-c-sdk/portfile.cmake index a570cc2a004f8f..6414ae75c3b6ae 100644 --- a/ports/aliyun-oss-c-sdk/portfile.cmake +++ b/ports/aliyun-oss-c-sdk/portfile.cmake @@ -1,15 +1,11 @@ -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - message(FATAL_ERROR "${PORT} does not currently support UWP") -endif() - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO aliyun/aliyun-oss-c-sdk - REF f9e441137620d712c7d89587c951bed459ebc843 # 3.10.0 - SHA512 6621d105706fb69b3f1998d7c83c94ff93747946040f0c45ec52986c0e8d8db3d48237d1e3f0959e09536ca43bcbe3bcdb32f90622ce51de6ea7132be6dd7cf7 + REF ${VERSION} + SHA512 f92b2dac43bdfe1a5c9fc012325751ee83d6f5c5f5a646ac8606894c458bd9488bc4a56f926218b213cb905becccddd976e8e94a257d77adf4269d48df27638e HEAD_REF master - PATCHES - patch.patch + PATCHES + patch.patch ) vcpkg_cmake_configure( @@ -19,4 +15,4 @@ vcpkg_cmake_configure( vcpkg_cmake_install() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/aliyun-oss-c-sdk/vcpkg.json b/ports/aliyun-oss-c-sdk/vcpkg.json index d2267e5d562594..fab5182972b662 100644 --- a/ports/aliyun-oss-c-sdk/vcpkg.json +++ b/ports/aliyun-oss-c-sdk/vcpkg.json @@ -1,8 +1,9 @@ { "name": "aliyun-oss-c-sdk", - "version": "3.10.0", - "port-version": 3, + "version": "3.10.1", "description": "Alibaba Cloud Object Storage Service (OSS) is a cloud storage service provided by Alibaba Cloud, featuring massive capacity, security, a low cost, and high reliability.", + "homepage": "https://github.com/aliyun/aliyun-oss-c-sdk", + "license": "MIT", "supports": "!(uwp | linux | osx)", "dependencies": [ "apr-util", @@ -10,10 +11,6 @@ { "name": "vcpkg-cmake", "host": true - }, - { - "name": "vcpkg-cmake-config", - "host": true } ] } diff --git a/ports/aliyun-oss-cpp-sdk/0001-dependency-and-targets.patch b/ports/aliyun-oss-cpp-sdk/0001-dependency-and-targets.patch new file mode 100644 index 00000000000000..cadf4dc7793548 --- /dev/null +++ b/ports/aliyun-oss-cpp-sdk/0001-dependency-and-targets.patch @@ -0,0 +1,66 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ea0d8d6..2a853a0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -78,8 +78,8 @@ if (${TARGET_OS} STREQUAL "WINDOWS") + set(CLIENT_INCLUDE_DIRS + ${CMAKE_SOURCE_DIR}/third_party/include) + else() +- include(FindCURL) +- include(FindOpenSSL) ++ find_package(CURL CONFIG REQUIRED) ++ find_package(OpenSSL REQUIRED) + + if(NOT CURL_FOUND) + message(FATAL_ERROR "Could not find curl") +diff --git a/sdk/CMakeLists.txt b/sdk/CMakeLists.txt +index 28d04c2..d5d715d 100644 +--- a/sdk/CMakeLists.txt ++++ b/sdk/CMakeLists.txt +@@ -146,6 +146,13 @@ set_target_properties(${PROJECT_NAME}${STATIC_LIB_SUFFIX} + OUTPUT_NAME ${TARGET_OUTPUT_NAME_PREFIX}${PROJECT_NAME}${STATIC_LIB_SUFFIX} + ) + ++target_include_directories(${PROJECT_NAME}${STATIC_LIB_SUFFIX} ++ PUBLIC $ ++) ++ ++target_link_libraries(${PROJECT_NAME}${STATIC_LIB_SUFFIX} ${CRYPTO_LIBS}) ++target_link_libraries(${PROJECT_NAME}${STATIC_LIB_SUFFIX} ${CLIENT_LIBS}) ++ + target_include_directories(${PROJECT_NAME}${STATIC_LIB_SUFFIX} + PRIVATE include + PRIVATE include/alibabacloud/oss +@@ -173,6 +180,9 @@ if (BUILD_SHARED_LIBS) + OUTPUT_NAME ${TARGET_OUTPUT_NAME_PREFIX}${PROJECT_NAME} + ) + ++ target_include_directories(${PROJECT_NAME} ++ PUBLIC $ ++ ) + target_include_directories(${PROJECT_NAME} + PRIVATE include + PRIVATE include/alibabacloud/oss +@@ -210,16 +220,18 @@ install(FILES ${sdk_encryption_header} + install(FILES ${sdk_public_header} + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/alibabacloud/oss) + +-install(TARGETS ${PROJECT_NAME}${STATIC_LIB_SUFFIX} ++install(TARGETS ${PROJECT_NAME}${STATIC_LIB_SUFFIX} EXPORT unofficial-aliyun-oss-cpp-sdk-targets + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + ) + + if (BUILD_SHARED_LIBS) +-install(TARGETS ${PROJECT_NAME} ++install(TARGETS ${PROJECT_NAME} EXPORT unofficial-aliyun-oss-cpp-sdk-targets + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + ) +-endif() +\ No newline at end of file ++endif() ++ ++include(0002-unofficial-export.cmake) diff --git a/ports/aliyun-oss-cpp-sdk/0002-unofficial-export.cmake b/ports/aliyun-oss-cpp-sdk/0002-unofficial-export.cmake new file mode 100644 index 00000000000000..e049152c21f658 --- /dev/null +++ b/ports/aliyun-oss-cpp-sdk/0002-unofficial-export.cmake @@ -0,0 +1,26 @@ + +install( + EXPORT unofficial-aliyun-oss-cpp-sdk-targets + NAMESPACE unofficial::aliyun-oss-cpp-sdk:: + DESTINATION share/unofficial-aliyun-oss-cpp-sdk +) + +file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/unofficial-aliyun-oss-cpp-sdk-config.cmake.in" [[ +@PACKAGE_INIT@ +include(CMakeFindDependencyMacro) +find_dependency(CURL REQUIRED) +find_dependency(OpenSSL REQUIRED) +include("${CMAKE_CURRENT_LIST_DIR}/unofficial-aliyun-oss-cpp-sdk-targets.cmake") +]] +) + +include(CMakePackageConfigHelpers) +configure_package_config_file("${CMAKE_CURRENT_BINARY_DIR}/unofficial-aliyun-oss-cpp-sdk-config.cmake.in" + "${CMAKE_CURRENT_BINARY_DIR}/unofficial-aliyun-oss-cpp-sdk-config.cmake" + INSTALL_DESTINATION "share/unofficial-aliyun-oss-cpp-sdk" +) + +install(FILES + "${CMAKE_CURRENT_BINARY_DIR}/unofficial-aliyun-oss-cpp-sdk-config.cmake" + DESTINATION "share/unofficial-aliyun-oss-cpp-sdk" +) diff --git a/ports/aliyun-oss-cpp-sdk/0003-suppress-fmt-warning.patch b/ports/aliyun-oss-cpp-sdk/0003-suppress-fmt-warning.patch new file mode 100644 index 00000000000000..ac43d69d0738f3 --- /dev/null +++ b/ports/aliyun-oss-cpp-sdk/0003-suppress-fmt-warning.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ea0d8d6..2a853a0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -119,7 +119,7 @@ else() + endif() + + list(APPEND SDK_COMPILER_FLAGS "-Wall" "-Werror" "-pedantic" "-Wextra") +- ++ list(APPEND SDK_COMPILER_FLAGS "-Wno-error=deprecated-declarations") + if (ENABLE_COVERAGE) + SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fprofile-arcs -ftest-coverage") + SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -fprofile-arcs -ftest-coverage") diff --git a/ports/aliyun-oss-cpp-sdk/disable-werror.diff b/ports/aliyun-oss-cpp-sdk/disable-werror.diff new file mode 100644 index 00000000000000..853760480069f9 --- /dev/null +++ b/ports/aliyun-oss-cpp-sdk/disable-werror.diff @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ea0d8d6..c04ec99 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -127,6 +127,7 @@ else() + endif() + endif() + ++list(REMOVE_ITEM SDK_COMPILER_FLAGS "-Werror") + + if (BUILD_SHARED_LIBS) + set(STATIC_LIB_SUFFIX "-static") diff --git a/ports/aliyun-oss-cpp-sdk/portfile.cmake b/ports/aliyun-oss-cpp-sdk/portfile.cmake new file mode 100644 index 00000000000000..72dcf5db376222 --- /dev/null +++ b/ports/aliyun-oss-cpp-sdk/portfile.cmake @@ -0,0 +1,26 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO aliyun/aliyun-oss-cpp-sdk + REF "${VERSION}" + SHA512 7773961ad380d28cda96e16ae6491a76e03f0cb5f0c5135b660179dd449d730e1dfffb916489ed60e13815f53566c24cd9cfd8985c468438369341358eeed3bd + HEAD_REF master + PATCHES + 0001-dependency-and-targets.patch + 0003-suppress-fmt-warning.patch + disable-werror.diff +) +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/0002-unofficial-export.cmake" DESTINATION "${SOURCE_PATH}/sdk/") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + DISABLE_PARALLEL_CONFIGURE + OPTIONS + -DBUILD_SAMPLE=OFF +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-${PORT}) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/aliyun-oss-cpp-sdk/vcpkg.json b/ports/aliyun-oss-cpp-sdk/vcpkg.json new file mode 100644 index 00000000000000..01f136e3cb58a2 --- /dev/null +++ b/ports/aliyun-oss-cpp-sdk/vcpkg.json @@ -0,0 +1,24 @@ +{ + "name": "aliyun-oss-cpp-sdk", + "version": "1.10.0", + "port-version": 4, + "description": "Alibaba Cloud Object Storage Service (OSS) is a cloud storage service provided by Alibaba Cloud, featuring massive capacity, security, a low cost, and high reliability.", + "homepage": "https://github.com/aliyun/aliyun-oss-cpp-sdk", + "license": "Apache-2.0", + "supports": "linux | osx | android", + "dependencies": [ + { + "name": "curl", + "default-features": false + }, + "openssl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/allegro5/cmake-project-include.cmake b/ports/allegro5/cmake-project-include.cmake index 4c1beb129bc550..5b736dbb1337d2 100644 --- a/ports/allegro5/cmake-project-include.cmake +++ b/ports/allegro5/cmake-project-include.cmake @@ -1,3 +1,8 @@ if(MSVC AND CMAKE_SYSTEM_PROCESSOR STREQUAL "ARM64") add_compile_options(/Gy) endif() + +# https://gitlab.kitware.com/cmake/cmake/-/issues/25635 +if(CMAKE_VERSION VERSION_EQUAL "3.28.0" OR CMAKE_VERSION VERSION_EQUAL "3.28.1") + list(APPEND CMAKE_IGNORE_PATH "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/share/freetype") +endif() diff --git a/ports/allegro5/export-targets.patch b/ports/allegro5/export-targets.patch deleted file mode 100644 index 21ad6d3b5c3d26..00000000000000 --- a/ports/allegro5/export-targets.patch +++ /dev/null @@ -1,60 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 7c5720b..72880c4 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1156,6 +1156,24 @@ if(INSTALL_PKG_CONFIG_FILES) - endforeach(versuffix) - endif(INSTALL_PKG_CONFIG_FILES) - -+file(WRITE "${CMAKE_INSTALL_PREFIX}/share/unofficial-allegro5/unofficial-allegro5-config.cmake" -+[[ -+include("${CMAKE_CURRENT_LIST_DIR}/unofficial-allegroTargets.cmake") -+include("${CMAKE_CURRENT_LIST_DIR}/unofficial-allegro_audioTargets.cmake") -+include("${CMAKE_CURRENT_LIST_DIR}/unofficial-allegro_videoTargets.cmake") -+include("${CMAKE_CURRENT_LIST_DIR}/unofficial-allegro_primitivesTargets.cmake") -+include("${CMAKE_CURRENT_LIST_DIR}/unofficial-allegro_fontTargets.cmake") -+include("${CMAKE_CURRENT_LIST_DIR}/unofficial-allegro_ttfTargets.cmake") -+include("${CMAKE_CURRENT_LIST_DIR}/unofficial-allegro_memfileTargets.cmake") -+include("${CMAKE_CURRENT_LIST_DIR}/unofficial-allegro_physfsTargets.cmake") -+include("${CMAKE_CURRENT_LIST_DIR}/unofficial-allegro_imageTargets.cmake") -+include("${CMAKE_CURRENT_LIST_DIR}/unofficial-allegro_mainTargets.cmake") -+include("${CMAKE_CURRENT_LIST_DIR}/unofficial-allegro_dialogTargets.cmake") -+include("${CMAKE_CURRENT_LIST_DIR}/unofficial-allegro_colorTargets.cmake") -+include("${CMAKE_CURRENT_LIST_DIR}/unofficial-allegro_acodecTargets.cmake") -+ -+]]) -+ - #-----------------------------------------------------------------------------# - # - # Documentation -diff --git a/cmake/Common.cmake b/cmake/Common.cmake -index b95479f..4093a47 100644 ---- a/cmake/Common.cmake -+++ b/cmake/Common.cmake -@@ -166,6 +166,7 @@ function(add_our_library target framework_name sources extra_flags link_with) - # Library dependencies are transitive by default. Any target which links - # with this target will therefore pull in these dependencies automatically. - target_link_libraries(${target} ${link_with}) -+ target_include_directories(${target} PUBLIC "$") - - # Set list of dependencies that the user would need to explicitly link with - # if static linking. -@@ -220,6 +221,7 @@ endfunction(set_our_framework_properties) - - function(install_our_library target filename) - install(TARGETS ${target} -+ EXPORT unofficial-${target}Targets - LIBRARY DESTINATION "lib${LIB_SUFFIX}" - ARCHIVE DESTINATION "lib${LIB_SUFFIX}" - FRAMEWORK DESTINATION "${FRAMEWORK_INSTALL_PREFIX}" -@@ -227,6 +229,10 @@ function(install_our_library target filename) - # Doesn't work, see below. - # PUBLIC_HEADER DESTINATION "include" - ) -+ install(EXPORT unofficial-${target}Targets -+ NAMESPACE unofficial-allegro5:: -+ DESTINATION share/unofficial-allegro5 -+ ) - if(0) - install(FILES ${CMAKE_BINARY_DIR}/lib/\${CMAKE_INSTALL_CONFIG_NAME}/${filename}.pdb - DESTINATION lib diff --git a/ports/allegro5/minimp3-fix.patch b/ports/allegro5/minimp3-fix.patch new file mode 100644 index 00000000000000..1f3bef5ce6d6bf --- /dev/null +++ b/ports/allegro5/minimp3-fix.patch @@ -0,0 +1,17 @@ +diff --git a/addons/acodec/CMakeLists.txt b/addons/acodec/CMakeLists.txt +index 6906a99..7896989 100644 +--- a/addons/acodec/CMakeLists.txt ++++ b/addons/acodec/CMakeLists.txt +@@ -394,9 +394,10 @@ acodec_summary(" - Opus" SUPPORT_OPUS) + # MP3 + # + if(WANT_MP3) +- find_package(MiniMP3) ++ find_path(MINIMP3_INCLUDE_DIRS "minimp3/minimp3.h") ++ set(MINIMP3_FOUND true) + if(MINIMP3_FOUND) +- include_directories(SYSTEM ${MINIMP3_INCLUDE_DIRS}) ++ include_directories(SYSTEM ${MINIMP3_INCLUDE_DIRS}/minimp3) + set(ALLEGRO_CFG_ACODEC_MP3 1) + list(APPEND ACODEC_SOURCES mp3.c) + endif(MINIMP3_FOUND) diff --git a/ports/allegro5/portfile.cmake b/ports/allegro5/portfile.cmake index b9521f48df44c0..d124032a86c7bb 100644 --- a/ports/allegro5/portfile.cmake +++ b/ports/allegro5/portfile.cmake @@ -1,72 +1,63 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO liballeg/allegro5 - REF 5.2.6.0 - SHA512 d590c1a00d1b314c6946e0f6ad3e3a8b6e6309bada2ec38857186f817147ac99dae8a1c4412abe701af88da5dca3dd8f989a1da66630192643d3c08c0146b603 + REF "${VERSION}" + SHA512 fe9a1c28824b88d34045cf3a296a5671f5b6992f881678bbeb5290ec220138ab9bd3608fa241539d39a2c6eec32ef267d31f2694a4c5b06d13164eead6a13a5b HEAD_REF master PATCHES do-not-copy-pdbs-to-lib.patch - export-targets.patch msvc-arm64-atomic.patch + minimp3-fix.patch ) +if(VCPKG_TARGET_IS_ANDROID AND NOT ENV{ANDROID_HOME}) + message(FATAL_ERROR "${PORT} requires environment variable ANDROID_HOME to be set." ) +endif() + +vcpkg_find_acquire_program(PKGCONFIG) +set(ENV{PKG_CONFIG} "${PKGCONFIG}") string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" VCPKG_BUILD_SHARED_LIBS) +vcpkg_check_features(OUT_FEATURE_OPTIONS options + FEATURES + direct3d WANT_D3D + opengl WANT_OPENGL +) +if(NOT WANT_OPENGL) + list(APPEND options -DWANT_X11=OFF) +endif() + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS "-DCMAKE_PROJECT_INCLUDE=${CMAKE_CURRENT_LIST_DIR}/cmake-project-include.cmake" - -DWANT_DOCS=OFF + -DINSTALL_PKG_CONFIG_FILES=true + -DPKG_CONFIG_USE_CMAKE_PREFIX_PATH=ON + -DSHARED=${VCPKG_BUILD_SHARED_LIBS} + ${options} -DALLEGRO_SDL=OFF + -DWANT_D3D9EX=OFF # Not available on vcpkg -DWANT_DEMO=OFF - -DSHARED=${VCPKG_BUILD_SHARED_LIBS} - -DINSTALL_PKG_CONFIG_FILES=true + -DWANT_DOCS=OFF -DWANT_EXAMPLES=OFF - -DWANT_TESTS=OFF - -DWANT_AUDIO=ON - -DWANT_COLOR=ON - -DWANT_D3D=ON - -DWANT_D3D9EX=OFF # Not available on vcpkg - -DWANT_DSOUND=ON - -DWANT_FLAC=ON - -DWANT_FONT=ON -DWANT_GLES3=ON - -DWANT_IMAGE=ON - -DWANT_IMAGE_JPG=ON - -DWANT_IMAGE_PNG=ON - -DWANT_MEMFILE=ON + -DWANT_IMAGE_FREEIMAGE=OFF -DWANT_MODAUDIO=OFF # Not available on vcpkg right now - -DWANT_NATIVE_DIALOG=ON - -DWANT_NATIVE_IMAGE_LOADER=ON - -DWANT_OGG_VIDEO=ON - -DWANT_OPENAL=ON - -DWANT_OPENGL=ON + -DWANT_MP3=ON -DWANT_OPENSL=OFF # Not yet available on vcpkg - -DWANT_OPUS=ON - -DWANT_PHYSFS=ON -DWANT_POPUP_EXAMPLES=OFF - -DWANT_PRIMITIVES=ON - -DWANT_RELEASE_LOGGING=OFF - -DWANT_SHADERS_D3D=ON - -DWANT_SHADERS_GL=ON + -DWANT_TESTS=OFF -DWANT_TREMOR=OFF # Not yet available on vcpkg - -DWANT_TTF=ON - -DWANT_VIDEO=ON - -DWANT_VORBIS=ON - OPTIONS_RELEASE - -DWANT_ALLOW_SSE=ON - OPTIONS_DEBUG - -DWANT_ALLOW_SSE=OFF ) vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-allegro5 CONFIG_PATH share/unofficial-allegro5) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/allegro) vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share" "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/allegro5/vcpkg.json b/ports/allegro5/vcpkg.json index e265058d1ca5cd..45ad66860fc420 100644 --- a/ports/allegro5/vcpkg.json +++ b/ports/allegro5/vcpkg.json @@ -1,20 +1,31 @@ { "name": "allegro5", - "version": "5.2.6.0", - "port-version": 4, + "version": "5.2.10.0", "description": "Allegro is a cross-platform library mainly aimed at video game and multimedia programming. It handles common, low-level tasks such as creating windows, accepting user input, loading data, drawing images, playing sounds, etc. and generally abstracting away the underlying platform. However, Allegro is not a game engine: you are free to design and structure your program as you like.", - "homepage": "https://github.com/liballeg/allegro5", + "homepage": "https://liballeg.org/", "license": "BSD-3-Clause AND Zlib", "dependencies": [ + { + "name": "alsa", + "platform": "linux" + }, "bzip2", - "freetype", + { + "name": "freetype", + "default-features": false + }, "libflac", + "libjpeg-turbo", "libogg", "libpng", "libtheora", "libvorbis", + { + "name": "libwebp", + "default-features": false + }, + "minimp3", "openal-soft", - "opengl", "opus", "opusfile", "physfs", @@ -27,5 +38,28 @@ "host": true }, "zlib" - ] + ], + "default-features": [ + { + "name": "direct3d", + "platform": "windows" + }, + { + "name": "opengl", + "platform": "!(arm & windows) & !uwp & !xbox" + } + ], + "features": { + "direct3d": { + "description": "Direct3D support", + "supports": "windows" + }, + "opengl": { + "description": "OpenGL support", + "supports": "!(arm & windows) & !uwp & !xbox", + "dependencies": [ + "opengl" + ] + } + } } diff --git a/ports/alpaka/portfile.cmake b/ports/alpaka/portfile.cmake index e513ba4843dd8d..f4468234fb5169 100644 --- a/ports/alpaka/portfile.cmake +++ b/ports/alpaka/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO alpaka-group/alpaka - REF 0.9.0 - SHA512 c079c0101a1e1c0d244c074e19fcefa6c15751fbb6be072c6f245e515dece8700a40fd101b2b0ba5f9760f4545bf23e1917ea9804accbe16a45039f8b0ed8a01 + REF ${VERSION} + SHA512 ef161c43cafaa4e6cfa8944855dbdafe260d97b23e9275716608301ffffc0f088a3f8bf2f01dc34c38639cf40fe4266e4f48126684ba824a6db6ef3c13fd873f HEAD_REF develop ) set(VCPKG_BUILD_TYPE release) diff --git a/ports/alpaka/vcpkg.json b/ports/alpaka/vcpkg.json index 0f6de580f4d0f3..ec811a86a87fd9 100644 --- a/ports/alpaka/vcpkg.json +++ b/ports/alpaka/vcpkg.json @@ -1,7 +1,6 @@ { "name": "alpaka", - "version": "0.9.0", - "port-version": 1, + "version": "1.2.0", "description": "The alpaka library is a header-only abstraction library for accelerator development", "homepage": "https://github.com/alpaka-group/alpaka", "license": "MPL-2.0", diff --git a/ports/alsa/libdl.diff b/ports/alsa/libdl.diff new file mode 100644 index 00000000000000..f2d721b025a67f --- /dev/null +++ b/ports/alsa/libdl.diff @@ -0,0 +1,12 @@ +diff --git a/configure.ac b/configure.ac +index 7a152a4..324adf8 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -261,6 +261,7 @@ HAVE_LIBDL= + if test "$have_libdl" = "yes"; then + AC_SEARCH_LIBS([dlsym], [dl], [HAVE_LIBDL="yes"]) + if test "$HAVE_LIBDL" = "yes" ; then ++ ALSA_DEPLIBS="$ALSA_DEPLIBS -ldl" + AC_DEFINE([HAVE_LIBDL], 1, [Have libdl]) + fi + else diff --git a/ports/alsa/portfile.cmake b/ports/alsa/portfile.cmake index 84a5bd58c0f3bf..9246552cdab09b 100644 --- a/ports/alsa/portfile.cmake +++ b/ports/alsa/portfile.cmake @@ -15,20 +15,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO alsa-project/alsa-lib REF "v${VERSION}" - SHA512 923cd9f19afa77cf46bb15b4fefdaa2db75054052af0f11b6d18e1703a0d3d05fecca235606ea06bca380a4306c134f88b71be73839eca3f4ce077dbdcb13c6a + SHA512 ae21380c75ab2f318b14d42b1f06e35d2a80b377fe0a12177e7f5c926b189bb242037891e3e7d780d77376e57d6f074abe5701eecd55035ff0498bdbca55e42a HEAD_REF master PATCHES - "fix-plugin-dir.patch" + fix-plugin-dir.patch + libdl.diff ) -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - set(BUILD_OPTS --enable-shared=yes --enable-static=no) -else() - set(BUILD_OPTS --enable-shared=no --enable-static=yes) -endif() - - - if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") set(ALSA_PLUGIN_DIR "/usr/lib/x86_64-linux-gnu/alsa-lib") elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") diff --git a/ports/alsa/usage b/ports/alsa/usage index 283dfeac717734..7a69ce572b2582 100644 --- a/ports/alsa/usage +++ b/ports/alsa/usage @@ -1,5 +1,4 @@ +alsa is compatible with built-in CMake targets: -CMake provides the module target: - - find_package("ALSA" MODULE REQUIRED) - target_link_libraries("main" PRIVATE "ALSA::ALSA") + find_package(ALSA REQUIRED) + target_link_libraries(main PRIVATE ALSA::ALSA) # since CMake 3.12 diff --git a/ports/alsa/vcpkg-cmake-wrapper.cmake b/ports/alsa/vcpkg-cmake-wrapper.cmake index ae3b078abeb6a4..490d45dc9f079c 100644 --- a/ports/alsa/vcpkg-cmake-wrapper.cmake +++ b/ports/alsa/vcpkg-cmake-wrapper.cmake @@ -22,10 +22,7 @@ find_library( include(SelectLibraryConfigurations) select_library_configurations(ALSA) unset(ALSA_FOUND) - -if(NOT ALSA_INCLUDE_DIR OR NOT ALSA_LIBRARY) - message(FATAL_ERROR "Broken installation of the alsa vcpkg port") -endif() +set(ALSA_LIBRARY "${ALSA_LIBRARY}" CACHE INTERNAL "") _find_package(${ARGS}) diff --git a/ports/alsa/vcpkg.json b/ports/alsa/vcpkg.json index a7eb663173a43d..6edb1f4f65f3fb 100644 --- a/ports/alsa/vcpkg.json +++ b/ports/alsa/vcpkg.json @@ -1,6 +1,7 @@ { "name": "alsa", - "version": "1.2.10", + "version": "1.2.13", + "port-version": 1, "description": "The Advanced Linux Sound Architecture (ALSA) - library", "homepage": "https://www.alsa-project.org/", "license": "LGPL-2.1-or-later", diff --git a/ports/amd-amf/portfile.cmake b/ports/amd-amf/portfile.cmake index cb0238d73d411c..107275963a34f0 100644 --- a/ports/amd-amf/portfile.cmake +++ b/ports/amd-amf/portfile.cmake @@ -1,9 +1,9 @@ vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO GPUOpen-LibrariesAndSDKs/AMF - REF "v${VERSION}" - SHA512 43d7d3c05cb385cc5b0b76562dae3f8d5fb0123300291019ddce1032eec55a664290bd9b0552073d3a5cc7036886a015d9edb1f17e2f0f8ffd07acf57360ec18 - HEAD_REF master + OUT_SOURCE_PATH SOURCE_PATH + REPO GPUOpen-LibrariesAndSDKs/AMF + REF "v${VERSION}" + SHA512 8a2aa3a358a7c0cfac47f545b8a375de86652d6590795161ad592e49219f54f5ec8dd06d5d48ea9e091fac09e83dbac2044d7ed551898f907cc1b30eea66b7ab + HEAD_REF master ) # Install the AMF headers to the default vcpkg location diff --git a/ports/amd-amf/vcpkg.json b/ports/amd-amf/vcpkg.json index 9e6673a50f42c1..3b1a4311b387d3 100644 --- a/ports/amd-amf/vcpkg.json +++ b/ports/amd-amf/vcpkg.json @@ -1,6 +1,6 @@ { "name": "amd-amf", - "version": "1.4.29", + "version": "1.4.35", "description": "AMD Advanced Media Framework headers", "homepage": "https://github.com/GPUOpen-LibrariesAndSDKs/AMF", "license": "MIT", diff --git a/ports/ampl-asl/0006-disable-generate-arith-h.diff b/ports/ampl-asl/0006-disable-generate-arith-h.diff new file mode 100644 index 00000000000000..0c8202300476f8 --- /dev/null +++ b/ports/ampl-asl/0006-disable-generate-arith-h.diff @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1d4b65e..21b32ae 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -104,7 +104,7 @@ file(WRITE ${GENERATED_INCLUDE_DIR}/details.c "${DETAILS}") + configure_file(${SRCDIR}/solvers/stdio1.h0 ${GENERATED_INCLUDE_DIR}/stdio1.h + COPYONLY) + +-if(CMAKE_CROSSCOMPILING AND CMAKE_SYSTEM_PROCESSOR MATCHES "^x86") ++if(0) + include(CheckTypeSize) + check_type_size(double DOUBLE_SIZE) + check_type_size(long LONG_SIZE) diff --git a/ports/ampl-asl/copyright b/ports/ampl-asl/copyright deleted file mode 100644 index 7fe289a232d7f1..00000000000000 --- a/ports/ampl-asl/copyright +++ /dev/null @@ -1,59 +0,0 @@ -Licenses -======== - -Copyright (C) 1990 - 2001 Lucent Technologies - -Permission to use, copy, modify, and distribute this software and -its documentation for any purpose and without fee is hereby -granted, provided that the above copyright notice appear in all -copies and that both that the copyright notice and this -permission notice and warranty disclaimer appear in supporting -documentation, and that the name of Lucent or any of its entities -not be used in advertising or publicity pertaining to -distribution of the software without specific, written prior -permission. - -LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, -INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. -IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY -SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER -IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF -THIS SOFTWARE. - ----------------------------------------------------------------------- - -Copyright (C) 2007 David M. Gay - -Permission to use, copy, modify, and distribute this software and its -documentation for any purpose and without fee is hereby granted, -provided that the above copyright notice appear in all copies and that -both that the copyright notice and this permission notice and warranty -disclaimer appear in supporting documentation. - -The author disclaims all warranties with regard to this software, -including all implied warranties of merchantability and fitness. -In no event shall the author be liable for any special, indirect or -consequential damages or any damages whatsoever resulting from loss of -use, data or profits, whether in an action of contract, negligence or -other tortious action, arising out of or in connection with the use or -performance of this software. - ----------------------------------------------------------------------- - -Copyright (C) 2002 - 2014 AMPL Optimization LLC - -Permission to use, copy, modify, and distribute this software and its -documentation for any purpose and without fee is hereby granted, -provided that the above copyright notice appear in all copies and that -both that the copyright notice and this permission notice and warranty -disclaimer appear in supporting documentation. - -The author and AMPL Optimization LLC disclaim all warranties with -regard to this software, including all implied warranties of -merchantability and fitness. In no event shall the author be liable -for any special, indirect or consequential damages or any damages -whatsoever resulting from loss of use, data or profits, whether in an -action of contract, negligence or other tortious action, arising out -of or in connection with the use or performance of this software. diff --git a/ports/ampl-asl/fix-crt-linkage.patch b/ports/ampl-asl/fix-crt-linkage.patch deleted file mode 100644 index 0e29b6ef4c04da..00000000000000 --- a/ports/ampl-asl/fix-crt-linkage.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 976af78..35d248d 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -256,7 +256,7 @@ macro(createSingleASL name sourcedir sources) - endif() - if(MSVC) - target_compile_options(${name} PRIVATE -- /wd4013 /wd4018 /wd4101 /wd4244 /wd4273 /wd4267 /wd4996 /MT$<$:d>) -+ /wd4013 /wd4018 /wd4101 /wd4244 /wd4273 /wd4267 /wd4996) - else() - target_compile_options(${name} PRIVATE -Wno-unused-result -Wno-parentheses) - endif() diff --git a/ports/ampl-asl/install-extra-headers.patch b/ports/ampl-asl/install-extra-headers.patch deleted file mode 100644 index bf40b3b9f6bef6..00000000000000 --- a/ports/ampl-asl/install-extra-headers.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 35d248d..8a85aa7 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -317,6 +317,7 @@ if(BUILD_CPP) - endif() - - install(FILES ${ASL_HEADERS} ${ASL_SOURCE_DIR}/opcode.hd ${ASL_SOURCE_DIR}/r_opn.hd -+ ${GENERATED_INCLUDE_DIR}/stdio1.h ${GENERATED_INCLUDE_DIR}/arith.h - DESTINATION include/asl COMPONENT asl) - install(FILES ${ASL2_HEADERS} ${ASL2_SOURCE_DIR}/opcode.hd ${ASL2_SOURCE_DIR}/r_opn.hd - DESTINATION include/asl2 COMPONENT asl) diff --git a/ports/ampl-asl/install-targets.patch b/ports/ampl-asl/install-targets.patch deleted file mode 100644 index c68a7e813684e7..00000000000000 --- a/ports/ampl-asl/install-targets.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 8a85aa7..c0619bc 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -247,8 +247,8 @@ endif() - - macro(createSingleASL name sourcedir sources) - add_library(${name} STATIC ${${sources}} ${GENERATED_INCLUDE_DIR}/arith.h) -- target_include_directories(${name} PUBLIC ${GENERATED_INCLUDE_DIR} -- ${sourcedir}) -+ target_include_directories(${name} PUBLIC $ -+ $ $) - target_compile_definitions(${name} PRIVATE ${ASL_COMPILE_DEFINITIONS}) - target_link_libraries(${name} PUBLIC ${CMAKE_DL_LIBS}) - if(NOT WIN32) -@@ -322,14 +322,16 @@ install(FILES ${ASL_HEADERS} ${ASL_SOURCE_DIR}/opcode.hd ${ASL_SOURCE_DIR}/r_opn - install(FILES ${ASL2_HEADERS} ${ASL2_SOURCE_DIR}/opcode.hd ${ASL2_SOURCE_DIR}/r_opn.hd - DESTINATION include/asl2 COMPONENT asl) - --install(TARGETS asl asl2 DESTINATION lib COMPONENT asl) -+install(TARGETS asl asl2 EXPORT unofficial-asl-config DESTINATION lib COMPONENT asl) - if(BUILD_MT_LIBS) -- install(TARGETS asl-mt asl2-mt DESTINATION lib COMPONENT asl) -+ install(TARGETS asl-mt asl2-mt EXPORT unofficial-asl-config DESTINATION lib COMPONENT asl) - endif() - if(MSVC AND BUILD_DYNRT_LIBS) -- install(TARGETS asl-dynrt asl2-dynrt DESTINATION lib COMPONENT asl) -+ install(TARGETS asl-dynrt asl2-dynrt EXPORT unofficial-asl-config DESTINATION lib COMPONENT asl) - endif() - if(TARGET aslcpp) - install(FILES ${ASL_CPP_HEADERS} DESTINATION include/aslcpp COMPONENT asl) -- install(TARGETS aslcpp DESTINATION lib COMPONENT asl) --endif() -\ No newline at end of file -+ install(TARGETS aslcpp EXPORT unofficial-asl-config DESTINATION lib COMPONENT asl) -+endif() -+ -+install(EXPORT unofficial-asl-config DESTINATION share/unofficial-asl) -\ No newline at end of file diff --git a/ports/ampl-asl/portfile.cmake b/ports/ampl-asl/portfile.cmake index fb6c664ca44fbf..bd978d9d50cacf 100644 --- a/ports/ampl-asl/portfile.cmake +++ b/ports/ampl-asl/portfile.cmake @@ -3,14 +3,12 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ampl/asl - REF 934d34719c8a620fcf16ae5a3c00c326eb22e748 - SHA512 b6fcb3dcb53a53d975666db1643d7ea518246e8fb6745621ce4b63de4393f7767844e9241baa6fdf1a45c241a9aa0866844c47deec0020313278128cccff6869 + REF 2f5d9de248c53a3063bba23af2013cd3db768bf8 + SHA512 a551420f60b2419285195063fc42b208e59f076d1d00e4b90847c15613997ba35d319d57275687df37e74a7486420fec2cde7da71a6126802ed19a12dcb8ffdc HEAD_REF master PATCHES workaround-msvc-optimizer-ice.patch - fix-crt-linkage.patch # CRT linkage uses C/CXX FLAGS in vcpkg - install-extra-headers.patch - install-targets.patch + 0006-disable-generate-arith-h.diff ) vcpkg_cmake_configure( @@ -26,9 +24,8 @@ vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-asl) +vcpkg_cmake_config_fixup() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -# from ampl-mp license -file(INSTALL "${CURRENT_PORT_DIR}/copyright" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/ampl-asl/vcpkg.json b/ports/ampl-asl/vcpkg.json index 4b5c163b292b61..7e868c6fa44331 100644 --- a/ports/ampl-asl/vcpkg.json +++ b/ports/ampl-asl/vcpkg.json @@ -1,11 +1,10 @@ { "name": "ampl-asl", - "version-date": "2020-11-11", - "port-version": 3, + "version-date": "2024-02-01", "description": "AMPL Solver Library", "homepage": "https://github.com/ampl/asl", - "license": null, - "supports": "!uwp & !(osx & arm64)", + "license": "BSD-3-Clause", + "supports": "!uwp", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/ampl-mp/0007-unofficial-export.cmake b/ports/ampl-mp/0007-unofficial-export.cmake new file mode 100644 index 00000000000000..60083a9fd32135 --- /dev/null +++ b/ports/ampl-mp/0007-unofficial-export.cmake @@ -0,0 +1,25 @@ + +install( + EXPORT unofficial-mp-targets + NAMESPACE + DESTINATION share/unofficial-mp +) + +file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/unofficial-mp-config.cmake.in" [[ +@PACKAGE_INIT@ +include(CMakeFindDependencyMacro) +find_dependency(ampl-asl CONFIG) +include("${CMAKE_CURRENT_LIST_DIR}/unofficial-mp-targets.cmake") +]] +) + +include(CMakePackageConfigHelpers) +configure_package_config_file("${CMAKE_CURRENT_BINARY_DIR}/unofficial-mp-config.cmake.in" + "${CMAKE_CURRENT_BINARY_DIR}/unofficial-mp-config.cmake" + INSTALL_DESTINATION "share/unofficial-mp" +) + +install(FILES + "${CMAKE_CURRENT_BINARY_DIR}/unofficial-mp-config.cmake" + DESTINATION "share/unofficial-mp" +) diff --git a/ports/ampl-mp/fix-dependency-asl.patch b/ports/ampl-mp/fix-dependency-asl.patch index f0c1755ae9c037..d5900f9cf8b706 100644 --- a/ports/ampl-mp/fix-dependency-asl.patch +++ b/ports/ampl-mp/fix-dependency-asl.patch @@ -6,7 +6,7 @@ index 13f11cb..92089a3 100644 endif() endif () -+find_package(unofficial-asl CONFIG REQUIRED) ++find_package(ampl-asl CONFIG REQUIRED) add_subdirectory(doc) add_subdirectory(src/amplsig) -add_subdirectory(src/asl) diff --git a/ports/ampl-mp/install-targets.patch b/ports/ampl-mp/install-targets.patch index a84420fed1ae73..c4db9223a7cea9 100644 --- a/ports/ampl-mp/install-targets.patch +++ b/ports/ampl-mp/install-targets.patch @@ -16,8 +16,8 @@ index d4c6762..c7b15b6 100644 install(DIRECTORY include/mp DESTINATION include) -install(TARGETS mp DESTINATION lib RUNTIME DESTINATION bin) -+install(TARGETS mp EXPORT unofficial-mp-config DESTINATION lib RUNTIME DESTINATION bin) ++install(TARGETS mp EXPORT unofficial-mp-targets DESTINATION lib RUNTIME DESTINATION bin) install(FILES LICENSE.rst DESTINATION share/mp) -+install(EXPORT unofficial-mp-config DESTINATION share/unofficial-mp) ++include(0007-unofficial-export.cmake) install(TARGETS gen-expr-info RUNTIME DESTINATION bin) \ No newline at end of file diff --git a/ports/ampl-mp/portfile.cmake b/ports/ampl-mp/portfile.cmake index c7d6f3b47bf825..bf1bff515d4c6c 100644 --- a/ports/ampl-mp/portfile.cmake +++ b/ports/ampl-mp/portfile.cmake @@ -13,6 +13,7 @@ vcpkg_from_github( fix-arm-build.patch # https://github.com/ampl/mp/issues/115 install-targets.patch ) +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/0007-unofficial-export.cmake" DESTINATION "${SOURCE_PATH}/") if (NOT TARGET_TRIPLET STREQUAL HOST_TRIPLET) set(ARITHCHK_EXEC ${CURRENT_HOST_INSTALLED_DIR}/tools/${PORT}/gen-expr-info${VCPKG_HOST_EXECUTABLE_SUFFIX}) diff --git a/ports/ampl-mp/vcpkg.json b/ports/ampl-mp/vcpkg.json index 6884d62751d797..69fcb6171c3088 100644 --- a/ports/ampl-mp/vcpkg.json +++ b/ports/ampl-mp/vcpkg.json @@ -1,7 +1,7 @@ { "name": "ampl-mp", "version-date": "2020-11-11", - "port-version": 4, + "port-version": 5, "description": "An open-source library for mathematical programming", "homepage": "https://github.com/ampl/mp", "supports": "!uwp", diff --git a/ports/amqpcpp/portfile.cmake b/ports/amqpcpp/portfile.cmake index c02df71d35d222..dbe9e20b02689b 100644 --- a/ports/amqpcpp/portfile.cmake +++ b/ports/amqpcpp/portfile.cmake @@ -4,7 +4,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO CopernicaMarketingSoftware/AMQP-CPP REF "v${VERSION}" - SHA512 3af0c0a9aeb98e349cedc7144bfc4ef1b63270d3b20d240b98b990c048402d5d4ea3a2ba28a468aab24ad45544b111809a0692716dc33af493ea5160f132834b + SHA512 0fb280bfea6dc665d44efa7321a4b69c130a5f0b10be7ada7909e00ec8a3ca0b98125bd96475386f1b3627bac9f8e5c9bbd71b462868b46919737da32e021cb4 HEAD_REF master PATCHES find-openssl.patch diff --git a/ports/amqpcpp/vcpkg.json b/ports/amqpcpp/vcpkg.json index 2a6c97a385e18e..3149d38556ffd7 100644 --- a/ports/amqpcpp/vcpkg.json +++ b/ports/amqpcpp/vcpkg.json @@ -1,6 +1,6 @@ { "name": "amqpcpp", - "version": "4.3.23", + "version": "4.3.26", "description": "AMQP-CPP is a C++ library for communicating with a RabbitMQ message broker", "homepage": "https://github.com/CopernicaMarketingSoftware/AMQP-CPP", "license": "Apache-2.0", diff --git a/ports/anari/portfile.cmake b/ports/anari/portfile.cmake index 334e64649c0935..baa13fd6c9d601 100644 --- a/ports/anari/portfile.cmake +++ b/ports/anari/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KhronosGroup/ANARI-SDK REF "v${VERSION}" - SHA512 51937d160a9508c56cf123eda13002c705acff501366710f83da1c62d875f8427cec27f10ea2d05f4637be141fb9a87935f4b0b9f0fabb6bd6a7cca6a4f48ee1 + SHA512 cf2c2e044b04d695e0a6c6c1abfb3495ea0996a018742ad3a6baccc6e0e3e9b83cb91b61eda8cf07e8f67f4beba24d07d927697a27606ae008a85fee9fa64fa8 HEAD_REF main ) diff --git a/ports/anari/vcpkg.json b/ports/anari/vcpkg.json index 86143ae9c3438c..d4610b6e4b32df 100644 --- a/ports/anari/vcpkg.json +++ b/ports/anari/vcpkg.json @@ -1,7 +1,6 @@ { "name": "anari", - "version": "0.7.0", - "port-version": 1, + "version": "0.10.0", "description": "Cross-Platform 3D Rendering Engine API.", "homepage": "https://www.khronos.org/anari", "license": "Apache-2.0", diff --git a/ports/angelscript/portfile.cmake b/ports/angelscript/portfile.cmake index ac93fa2d0442dc..437c5f90f5d327 100644 --- a/ports/angelscript/portfile.cmake +++ b/ports/angelscript/portfile.cmake @@ -1,7 +1,7 @@ vcpkg_download_distfile(ARCHIVE - URLS "https://angelcode.com/angelscript/sdk/files/angelscript_2.36.1.zip" - FILENAME "angelscript_2.36.1.zip" - SHA512 d6d213ce72135c89e47e67521f654611ff67673f3decd9db3da4b7bf317a04a3f91c5c6ae36658ec3f2b20498facd069af02a91255a24ec79c96d8c90d6b554e + URLS "https://angelcode.com/angelscript/sdk/files/angelscript_${VERSION}.zip" + FILENAME "angelscript_${VERSION}.zip" + SHA512 ba7d88a42e1443fd12196da723538b24d999bc7ade92c0231237e4c5b8b0cb586931262c941898c62f454fd453d653724c74b6857e8a43eea6e34669795fc9cd ) vcpkg_extract_source_archive( diff --git a/ports/angelscript/vcpkg.json b/ports/angelscript/vcpkg.json index 472f7a81154f4b..7b0853b40e7a9e 100644 --- a/ports/angelscript/vcpkg.json +++ b/ports/angelscript/vcpkg.json @@ -1,7 +1,6 @@ { "name": "angelscript", - "version": "2.36.1", - "port-version": 1, + "version": "2.37.0", "description": "The AngelCode Scripting Library, or AngelScript as it is also known, is an extremely flexible cross-platform scripting library designed to allow applications to extend their functionality through external scripts. It has been designed from the beginning to be an easy to use component, both for the application programmer and the script writer.", "homepage": "https://angelcode.com/angelscript", "license": "Zlib", diff --git a/ports/angle/cmake-buildsystem/CMakeLists.txt b/ports/angle/cmake-buildsystem/CMakeLists.txt index 110c5a09755d67..758f12504a45ef 100644 --- a/ports/angle/cmake-buildsystem/CMakeLists.txt +++ b/ports/angle/cmake-buildsystem/CMakeLists.txt @@ -414,6 +414,7 @@ set(_possibleTargets EGL GLESv2 ANGLE) foreach(_target IN LISTS _possibleTargets) if(TARGET ${_target}) list(APPEND _installableTargets "${_target}") + target_include_directories(${_target} INTERFACE $) endif() endforeach() diff --git a/ports/angle/portfile.cmake b/ports/angle/portfile.cmake index fa767c2bec4f1c..01c1d7166b4225 100644 --- a/ports/angle/portfile.cmake +++ b/ports/angle/portfile.cmake @@ -18,7 +18,7 @@ endif() set(ANGLE_USE_D3D11_COMPOSITOR_NATIVE_WINDOW "OFF") if (VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_UWP) set(ANGLE_BUILDSYSTEM_PORT "Win") - if (NOT MINGW) + if (NOT VCPKG_TARGET_IS_MINGW) set(ANGLE_USE_D3D11_COMPOSITOR_NATIVE_WINDOW "ON") endif() elseif (VCPKG_TARGET_IS_OSX) @@ -117,6 +117,13 @@ vcpkg_download_distfile(WK_ANGLE_CMAKE_WEBKITCOMPILERFLAGS ) file(COPY "${WK_ANGLE_CMAKE_WEBKITCOMPILERFLAGS}" DESTINATION "${SOURCE_PATH}/cmake") +vcpkg_download_distfile(WK_ANGLE_CMAKE_DETECTSSE2 + URLS "https://github.com/WebKit/WebKit/raw/${ANGLE_WEBKIT_BUILDSYSTEM_COMMIT}/Source/cmake/DetectSSE2.cmake" + FILENAME "DetectSSE2.cmake" + SHA512 219a4c8591ee31d11eb3d1e4803cc3c9d4573984bb25ecac6f2c76e6a3dab598c00b0157d0f94b18016de6786e49d8b29a161693a5ce23d761c8fe6a798c1bca +) +file(COPY "${WK_ANGLE_CMAKE_DETECTSSE2}" DESTINATION "${SOURCE_PATH}/cmake") + vcpkg_download_distfile(WK_ANGLE_CMAKE_WEBKITMACROS URLS "https://github.com/WebKit/WebKit/raw/${ANGLE_WEBKIT_BUILDSYSTEM_COMMIT}/Source/cmake/WebKitMacros.cmake" FILENAME "WebKitMacros.cmake" diff --git a/ports/angle/vcpkg.json b/ports/angle/vcpkg.json index 1f9cdf9a00e645..de293cd1af5442 100644 --- a/ports/angle/vcpkg.json +++ b/ports/angle/vcpkg.json @@ -1,7 +1,7 @@ { "name": "angle", "version-string": "chromium_5414", - "port-version": 7, + "port-version": 10, "description": [ "A conformant OpenGL ES implementation for Windows, Mac and Linux.", "The goal of ANGLE is to allow users of multiple operating systems to seamlessly run WebGL and other OpenGL ES content by translating OpenGL ES API calls to one of the hardware-supported APIs available for that platform. ANGLE currently provides translation from OpenGL ES 2.0 and 3.0 to desktop OpenGL, OpenGL ES, Direct3D 9, and Direct3D 11. Support for translation from OpenGL ES to Vulkan is underway, and future plans include compute shader support (ES 3.1) and MacOS support." diff --git a/ports/ankurvdev-embedresource/portfile.cmake b/ports/ankurvdev-embedresource/portfile.cmake index bbc240b32f0e65..1c4acb61f5c77c 100644 --- a/ports/ankurvdev-embedresource/portfile.cmake +++ b/ports/ankurvdev-embedresource/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ankurvdev/embedresource REF "v${VERSION}" - SHA512 96d2208fd5d654dad5662968296fa363cea0a935fec8474b780717c9303d2dd763833370bcdf02d6d63e264368b0955fa1f13c6e55685280df5fdaf9e72b8c9f + SHA512 90b4e40b84cd5b6de155a17890b5d8094cf772f56657230ad13a0c51a332e84fa4a38d8640a3890ae4b521a2eb897666d8c3f58e7cd9dc98e6eb3d55c84dfe44 HEAD_REF main) vcpkg_cmake_configure( diff --git a/ports/ankurvdev-embedresource/vcpkg.json b/ports/ankurvdev-embedresource/vcpkg.json index 46ee2fa030eb45..2aa1600f05cb77 100644 --- a/ports/ankurvdev-embedresource/vcpkg.json +++ b/ports/ankurvdev-embedresource/vcpkg.json @@ -1,6 +1,6 @@ { "name": "ankurvdev-embedresource", - "version": "0.0.10", + "version": "0.0.11", "description": "Cross Platform Resource Embedding", "homepage": "https://github.com/ankurvdev/embedresource", "license": "BSD-3-Clause", diff --git a/ports/annoy/portfile.cmake b/ports/annoy/portfile.cmake index c0e1af93829270..d41003ac5cbe34 100644 --- a/ports/annoy/portfile.cmake +++ b/ports/annoy/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO spotify/annoy REF "v${VERSION}" - SHA512 bf6e3095871cef2da20310f0a6260d65079cd2116b00ee39c82a6cb96d6cc80780b4f677c3746b85e7fe45672707a06c37bd8e8ecf793507584eca4760731018 + SHA512 a8ec84440019a29dc2939b193ca1f894aad6bc95d2814a7f0296fbd5faf7bdb69072514db496a445993b20182133a8e4e6e774c75f17d3057d146e98bdde28ce HEAD_REF master ) diff --git a/ports/annoy/vcpkg.json b/ports/annoy/vcpkg.json index e44d3d11224ec0..96946d73c4cdc5 100644 --- a/ports/annoy/vcpkg.json +++ b/ports/annoy/vcpkg.json @@ -1,6 +1,6 @@ { "name": "annoy", - "version": "1.17.2", + "version": "1.17.3", "description": "Approximate Nearest Neighbors optimized for memory usage and loading/saving to disk", "homepage": "https://github.com/spotify/annoy", "license": "Apache-2.0", diff --git a/ports/antlr4/add-include-chrono.patch b/ports/antlr4/add-include-chrono.patch new file mode 100644 index 00000000000000..c36e8483d57ab4 --- /dev/null +++ b/ports/antlr4/add-include-chrono.patch @@ -0,0 +1,12 @@ +diff --git a/runtime/Cpp/runtime/src/atn/ProfilingATNSimulator.cpp b/runtime/Cpp/runtime/src/atn/ProfilingATNSimulator.cpp +index 9fd86d6..5220492 100644 +--- a/runtime/Cpp/runtime/src/atn/ProfilingATNSimulator.cpp ++++ b/runtime/Cpp/runtime/src/atn/ProfilingATNSimulator.cpp +@@ -10,6 +10,7 @@ + #include "support/CPPUtils.h" + + #include "atn/ProfilingATNSimulator.h" ++#include + + using namespace antlr4; + using namespace antlr4::atn; diff --git a/ports/antlr4/portfile.cmake b/ports/antlr4/portfile.cmake index 80d1e857b0755f..e0aa97fc7d4cd5 100644 --- a/ports/antlr4/portfile.cmake +++ b/ports/antlr4/portfile.cmake @@ -3,9 +3,10 @@ vcpkg_from_github( REPO antlr/antlr4 HEAD_REF dev REF "${VERSION}" - SHA512 79ac3cdfc8f2368c647d06aec85d87507629a75527205ff2cbf7d9802989b0c6e6a8fac76148ad101f539c9ef922e431e22ba489f899f847ccc3d3d889bb2b70 + SHA512 afd8ecab637a0e70cddf98f63c918eab2b907f87207624e20e80a79f885d6502d4ab734a602b1707969d61944410828b689ec2f8b09c15314fe991024cde1613 PATCHES set-export-macro-define-as-private.patch + add-include-chrono.patch # https://github.com/antlr/antlr4/pull/4738 ) set(RUNTIME_PATH "${SOURCE_PATH}/runtime/Cpp") diff --git a/ports/antlr4/vcpkg.json b/ports/antlr4/vcpkg.json index b41d9908052c44..f93a9f37287da1 100644 --- a/ports/antlr4/vcpkg.json +++ b/ports/antlr4/vcpkg.json @@ -1,6 +1,7 @@ { "name": "antlr4", - "version": "4.13.1", + "version": "4.13.2", + "port-version": 1, "description": "ANother Tool for Language Recognition", "homepage": "https://www.antlr.org", "license": "BSD-3-Clause", diff --git a/ports/aom/aom-install.diff b/ports/aom/aom-install.diff deleted file mode 100644 index e24b8c536ee68a..00000000000000 --- a/ports/aom/aom-install.diff +++ /dev/null @@ -1,75 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 18190f647..f4b1b359d 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -23,6 +23,9 @@ endif() - - project(AOM C CXX) - -+include(GNUInstallDirs) -+include(CMakePackageConfigHelpers) -+ - # GENERATED source property global visibility. - if(POLICY CMP0118) - cmake_policy(SET CMP0118 NEW) -@@ -302,6 +305,52 @@ if(BUILD_SHARED_LIBS) - set(AOM_LIB_TARGETS ${AOM_LIB_TARGETS} aom_static) - endif() - -+set(PUBLIC_HEADERS -+ aom/aom.h -+ aom/aom_codec.h -+ aom/aom_decoder.h -+ aom/aom_encoder.h -+ aom/aom_frame_buffer.h -+ aom/aom_image.h -+ aom/aom_integer.h -+ aom/aomcx.h -+ aom/aomdx.h -+) -+ -+set_target_properties(aom PROPERTIES -+ PUBLIC_HEADER "${PUBLIC_HEADERS}") -+ -+ -+target_include_directories(aom -+ PUBLIC $ -+ $) -+ -+install(TARGETS aom -+ EXPORT unofficial-aom-targets -+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" -+ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" -+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" -+ PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/aom") -+ -+install(EXPORT unofficial-aom-targets -+ FILE unofficial-aom-targets.cmake -+ NAMESPACE unofficial:: -+ DESTINATION lib/cmake/aom) -+ -+configure_package_config_file(cmake/aom-config.cmake.in -+ ${CMAKE_CURRENT_BINARY_DIR}/aom-config.cmake -+ INSTALL_DESTINATION lib/cmake/aom -+ NO_SET_AND_CHECK_MACRO -+ NO_CHECK_REQUIRED_COMPONENTS_MACRO) -+ -+write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/aom-config-version.cmake -+ VERSION ${SO_FILE_VERSION} -+ COMPATIBILITY SameMajorVersion) -+ -+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/aom-config.cmake -+ ${CMAKE_CURRENT_BINARY_DIR}/aom-config-version.cmake -+ DESTINATION lib/cmake/aom) -+ - # Setup dependencies. - if(CONFIG_THREE_PASS) - setup_ivf_dec_targets() -diff --git a/cmake/aom-config.cmake.in b/cmake/aom-config.cmake.in -new file mode 100644 -index 000000000..91cac3b5b ---- /dev/null -+++ b/cmake/aom-config.cmake.in -@@ -0,0 +1,2 @@ -+@PACKAGE_INIT@ -+include(${CMAKE_CURRENT_LIST_DIR}/unofficial-aom-targets.cmake) diff --git a/ports/aom/aom-rename-static.diff b/ports/aom/aom-rename-static.diff index e38c73fb174789..f53502e0bb8b39 100644 --- a/ports/aom/aom-rename-static.diff +++ b/ports/aom/aom-rename-static.diff @@ -1,12 +1,33 @@ -diff -pruN aom-3.0.0.o/CMakeLists.txt aom-3.0.0/CMakeLists.txt ---- aom-3.0.0.o/CMakeLists.txt 2021-04-15 20:05:52.695181200 +0300 -+++ aom-3.0.0/CMakeLists.txt 2021-04-15 22:34:16.147522600 +0300 -@@ -249,7 +249,7 @@ endif() - add_library(aom ${AOM_SOURCES} $) - if(BUILD_SHARED_LIBS) - add_library(aom_static STATIC ${AOM_SOURCES} $) -- set_target_properties(aom_static PROPERTIES OUTPUT_NAME aom) -+ set_target_properties(aom_static PROPERTIES OUTPUT_NAME aom_static) - - if(NOT MSVC) - # Extract version string and set VERSION/SOVERSION for the aom target. +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2e5b623..bed61da 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -314,6 +314,15 @@ if(BUILD_SHARED_LIBS) + set_target_properties(aom PROPERTIES SOVERSION ${SO_VERSION}) + set_target_properties(aom PROPERTIES VERSION ${SO_FILE_VERSION}) + endif() ++ ++ # override conditional changes ++ set_target_properties(aom PROPERTIES ++ ARCHIVE_OUTPUT_NAME aom ++ ) ++ set_target_properties(aom_static PROPERTIES ++ ARCHIVE_OUTPUT_NAME aom_static ++ EXCLUDE_FROM_ALL 1 ++ ) + endif() + + if(NOT WIN32 AND NOT APPLE) +diff --git a/build/cmake/aom_install.cmake b/build/cmake/aom_install.cmake +index b02c7b9..c219841 100644 +--- a/build/cmake/aom_install.cmake ++++ b/build/cmake/aom_install.cmake +@@ -79,7 +79,7 @@ macro(setup_aom_install_targets) + endif() + + if(BUILD_SHARED_LIBS) +- set(AOM_INSTALL_LIBS aom aom_static) ++ set(AOM_INSTALL_LIBS aom) + else() + set(AOM_INSTALL_LIBS aom) + endif() diff --git a/ports/aom/aom-uninitialized-pointer.diff b/ports/aom/aom-uninitialized-pointer.diff index b80f2e08ffa328..37a7166cc04694 100644 --- a/ports/aom/aom-uninitialized-pointer.diff +++ b/ports/aom/aom-uninitialized-pointer.diff @@ -1,13 +1,13 @@ -diff --git a/build/cmake/aom_configure.cmake b/build/cmake/aom_configure.cmake -index 43d60ae..35c510b 100644 ---- a/build/cmake/aom_configure.cmake -+++ b/build/cmake/aom_configure.cmake -@@ -265,6 +265,8 @@ if(MSVC) - - # Disable MSVC warnings that suggest making code non-portable. - add_compiler_flag_if_supported("/wd4996") -+ # Disable MSVC warnings for potentially uninitialized local pointer variable. -+ add_compiler_flag_if_supported("/wd4703") - if(ENABLE_WERROR) - add_compiler_flag_if_supported("/WX") - endif() +diff --git a/build/cmake/aom_configure.cmake b/build/cmake/aom_configure.cmake +index aaef2c310..5500ad4a3 100644 +--- a/build/cmake/aom_configure.cmake ++++ b/build/cmake/aom_configure.cmake +@@ -309,6 +309,8 @@ if(MSVC) + + # Disable MSVC warnings that suggest making code non-portable. + add_compiler_flag_if_supported("/wd4996") ++ # Disable MSVC warnings for potentially uninitialized local pointer variable. ++ add_compiler_flag_if_supported("/wd4703") + if(ENABLE_WERROR) + add_compiler_flag_if_supported("/WX") + endif() diff --git a/ports/aom/export-config.diff b/ports/aom/export-config.diff new file mode 100644 index 00000000000000..8e2f3ac9768c6c --- /dev/null +++ b/ports/aom/export-config.diff @@ -0,0 +1,36 @@ +diff --git a/build/cmake/aom_install.cmake b/build/cmake/aom_install.cmake +index 2c263e9..fc9c2ca 100644 +--- a/build/cmake/aom_install.cmake ++++ b/build/cmake/aom_install.cmake +@@ -91,8 +91,31 @@ macro(setup_aom_install_targets) + install(FILES "${AOM_PKG_CONFIG_FILE}" + DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") + install(TARGETS ${AOM_INSTALL_LIBS};${AOM_INSTALL_BINS} ++ EXPORT unofficial-aom-targets + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}") ++ target_include_directories(aom PUBLIC $) ++ install(EXPORT unofficial-aom-targets ++ FILE unofficial-aom-targets.cmake ++ NAMESPACE unofficial:: ++ DESTINATION share/aom) ++ include(CMakePackageConfigHelpers) ++ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/aom-config.cmake.in [[ ++@PACKAGE_INIT@ ++include(CMakeFindDependencyMacro) ++set(THREADS_PREFER_PTHREAD_FLAG ON) ++find_dependency(Threads) ++include("${CMAKE_CURRENT_LIST_DIR}/unofficial-aom-targets.cmake") ++]]) ++ configure_package_config_file(${CMAKE_CURRENT_BINARY_DIR}/aom-config.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/aom-config.cmake ++ INSTALL_DESTINATION lib/cmake/aom ++ NO_SET_AND_CHECK_MACRO ++ NO_CHECK_REQUIRED_COMPONENTS_MACRO) ++ write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/aom-config-version.cmake ++ VERSION ${SO_FILE_VERSION} ++ COMPATIBILITY SameMajorVersion) ++ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/aom-config.cmake ${CMAKE_CURRENT_BINARY_DIR}/aom-config-version.cmake ++ DESTINATION share/aom) + endif() + endmacro() diff --git a/ports/aom/portfile.cmake b/ports/aom/portfile.cmake index 6c3c91f417a8bb..4da2a35cedc06b 100644 --- a/ports/aom/portfile.cmake +++ b/ports/aom/portfile.cmake @@ -1,24 +1,17 @@ -# NASM is required to build AOM -vcpkg_find_acquire_program(NASM) -get_filename_component(NASM_EXE_PATH ${NASM} DIRECTORY) -vcpkg_add_to_path(${NASM_EXE_PATH}) - -# Perl is required to build AOM -vcpkg_find_acquire_program(PERL) -get_filename_component(PERL_PATH ${PERL} DIRECTORY) -vcpkg_add_to_path(${PERL_PATH}) - vcpkg_from_git( OUT_SOURCE_PATH SOURCE_PATH URL "https://aomedia.googlesource.com/aom" - REF 9a83c6a5a55c176adbce740e47d3512edfc9ae71 # v3.5.0 + REF d6f30ae474dd6c358f26de0a0fc26a0d7340a84c + HEAD_REF main PATCHES aom-rename-static.diff aom-uninitialized-pointer.diff - # Can be dropped when https://bugs.chromium.org/p/aomedia/issues/detail?id=3029 is merged into the upstream - aom-install.diff + export-config.diff ) +vcpkg_find_acquire_program(NASM) +vcpkg_find_acquire_program(PERL) + set(aom_target_cpu "") if(VCPKG_TARGET_IS_UWP OR (VCPKG_TARGET_IS_WINDOWS AND VCPKG_TARGET_ARCHITECTURE MATCHES "^arm")) # UWP + aom's assembler files result in weirdness and build failures @@ -26,6 +19,10 @@ if(VCPKG_TARGET_IS_UWP OR (VCPKG_TARGET_IS_WINDOWS AND VCPKG_TARGET_ARCHITECTURE set(aom_target_cpu "-DAOM_TARGET_CPU=generic") endif() +if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" AND VCPKG_TARGET_IS_LINUX) + set(aom_target_cpu "-DENABLE_NEON=OFF") +endif() + vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} OPTIONS @@ -35,22 +32,19 @@ vcpkg_cmake_configure( -DENABLE_TESTDATA=OFF -DENABLE_TESTS=OFF -DENABLE_TOOLS=OFF + -DTHREADS_PREFER_PTHREAD_FLAG=ON + "-DCMAKE_ASM_NASM_COMPILER=${NASM}" + "-DPERL_EXECUTABLE=${PERL}" ) vcpkg_cmake_install() - +vcpkg_cmake_config_fixup() vcpkg_copy_pdbs() - vcpkg_fixup_pkgconfig() -# Move cmake configs -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) - -# Remove duplicate files -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include - ${CURRENT_PACKAGES_DIR}/debug/share) - -# Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" +) -vcpkg_fixup_pkgconfig() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/aom/vcpkg.json b/ports/aom/vcpkg.json index 5398903069e3b4..7f94a120e2aa31 100644 --- a/ports/aom/vcpkg.json +++ b/ports/aom/vcpkg.json @@ -1,10 +1,10 @@ { "name": "aom", - "version-semver": "3.5.0", - "port-version": 1, + "version-semver": "3.11.0", "description": "AV1 codec library", "homepage": "https://aomedia.googlesource.com/aom", "license": "BSD-2-Clause", + "supports": "!uwp", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/apache-datasketches/portfile.cmake b/ports/apache-datasketches/portfile.cmake index 7f00c38b61cb3b..09a77a53db2b54 100644 --- a/ports/apache-datasketches/portfile.cmake +++ b/ports/apache-datasketches/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO apache/datasketches-cpp REF "${VERSION}" - SHA512 81047ec2ac4559afc46d68b2332256b3950fc7092404606a872d9204c7e0ac13b7b0e0d6a34de01483bcb03c813ab75ce4866cc0c6783ebf4adddaa6535d322a + SHA512 3be2480390bff9ec62d92885174dc5cb7e86c9e5f8215ee57e77626151002d614d41254d532e53c7e1d509b420ee0024edfcea6043caa1b9863d100f492096cd HEAD_REF master ) diff --git a/ports/apache-datasketches/vcpkg.json b/ports/apache-datasketches/vcpkg.json index f8ec85d0973100..ba5fd8cf2b4bb2 100644 --- a/ports/apache-datasketches/vcpkg.json +++ b/ports/apache-datasketches/vcpkg.json @@ -1,6 +1,6 @@ { "name": "apache-datasketches", - "version": "4.1.0", + "version": "5.1.0", "description": "Apache DataSketches Core C++ Library Component.", "homepage": "https://datasketches.apache.org/", "license": "Apache-2.0", diff --git a/ports/approval-tests-cpp/portfile.cmake b/ports/approval-tests-cpp/portfile.cmake index 38eaf3acb79d0a..5c7f643c29432b 100644 --- a/ports/approval-tests-cpp/portfile.cmake +++ b/ports/approval-tests-cpp/portfile.cmake @@ -1,14 +1,14 @@ vcpkg_download_distfile(single_header - URLS https://github.com/approvals/ApprovalTests.cpp/releases/download/v.10.12.2/ApprovalTests.v.10.12.2.hpp - FILENAME ApprovalTests.v.10.12.2.hpp - SHA512 ed59736f52afff246409dcf435ad12a8f15697ae80962c456ca877fbf8adcb99af1bb71424ebcb214df719506015aac27006c1cfec174700b1833db64efb3568 + URLS "https://github.com/approvals/ApprovalTests.cpp/releases/download/v.${VERSION}/ApprovalTests.v.${VERSION}.hpp" + FILENAME "ApprovalTests.v.${VERSION}.hpp" + SHA512 06887b2a7d9c9a18b052065e5a43bb02aeadb31095f655bf65c17f39271c5ede881afa521597a42820fd30d2680cfc2f2f516a9d74880b2d15bedf259c3881b6 ) vcpkg_download_distfile(license_file - URLS https://raw.githubusercontent.com/approvals/ApprovalTests.cpp/v.10.12.2/LICENSE - FILENAME ApprovalTestsLicense.v.10.12.2 + URLS "https://raw.githubusercontent.com/approvals/ApprovalTests.cpp/v.${VERSION}/LICENSE" + FILENAME "ApprovalTestsLicense.v.${VERSION}" SHA512 dc6b68d13b8cf959644b935f1192b02c71aa7a5cf653bd43b4480fa89eec8d4d3f16a2278ec8c3b40ab1fdb233b3173a78fd83590d6f739e0c9e8ff56c282557 ) file(INSTALL "${single_header}" DESTINATION "${CURRENT_PACKAGES_DIR}/include" RENAME ApprovalTests.hpp) -file(INSTALL "${license_file}" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${license_file}") diff --git a/ports/approval-tests-cpp/vcpkg.json b/ports/approval-tests-cpp/vcpkg.json index a57ee3113679c1..37d17e920014c2 100644 --- a/ports/approval-tests-cpp/vcpkg.json +++ b/ports/approval-tests-cpp/vcpkg.json @@ -1,6 +1,7 @@ { "name": "approval-tests-cpp", - "version": "10.12.2", + "version": "10.13.0", "description": "Approval Tests allow you to verify a chunk of output (such as a file) in one operation as opposed to writing test assertions for each element.", - "homepage": "https://github.com/approvals/ApprovalTests.cpp" + "homepage": "https://github.com/approvals/ApprovalTests.cpp", + "license": "Apache-2.0" } diff --git a/ports/apr/0100-add-host-tools-dir.diff b/ports/apr/0100-add-host-tools-dir.diff new file mode 100644 index 00000000000000..c38d8975f6d5ab --- /dev/null +++ b/ports/apr/0100-add-host-tools-dir.diff @@ -0,0 +1,23 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d16eec6..92146f4 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -87,13 +87,17 @@ STRING(REGEX REPLACE ".*#define APR_PATCH_VERSION[ \t]+([0-9]+).*" "\\1" APR_PAT + + CONFIGURE_FILE(include/apr.hwc + ${PROJECT_BINARY_DIR}/apr.h) + + ADD_EXECUTABLE(gen_test_char tools/gen_test_char.c) + ++set(UNOFFICIAL_APR_HOST_TOOLS_DIR "$" CACHE STRING "") ++set(UNOFFICIAL_APR_HOST_EXECUTABLE_SUFFIX "$" CACHE STRING "") ++install(TARGETS gen_test_char) ++ + ADD_CUSTOM_COMMAND( + COMMENT "Generating character tables, apr_escape_test_char.h, for current locale" + DEPENDS gen_test_char +- COMMAND $ > ${PROJECT_BINARY_DIR}/apr_escape_test_char.h ++ COMMAND "${UNOFFICIAL_APR_HOST_TOOLS_DIR}/gen_test_char${UNOFFICIAL_APR_HOST_EXECUTABLE_SUFFIX}" > ${PROJECT_BINARY_DIR}/apr_escape_test_char.h + OUTPUT ${PROJECT_BINARY_DIR}/apr_escape_test_char.h + ) + ADD_CUSTOM_TARGET( diff --git a/ports/apr/fix-configcmake.patch b/ports/apr/fix-configcmake.patch deleted file mode 100644 index 8104810d05f75e..00000000000000 --- a/ports/apr/fix-configcmake.patch +++ /dev/null @@ -1,62 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b4632c3..0b86d12 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -259,27 +259,35 @@ SET(install_targets) - SET(install_bin_pdb) - - # libapr-1 is shared, apr-1 is static -+IF(BUILD_SHARED_LIBS) - ADD_LIBRARY(libapr-1 SHARED ${APR_SOURCES} ${APR_PUBLIC_HEADERS_GENERATED} libapr.rc) - SET(install_targets ${install_targets} libapr-1) - SET(install_bin_pdb ${install_bin_pdb} ${PROJECT_BINARY_DIR}/libapr-1.pdb) - TARGET_LINK_LIBRARIES(libapr-1 ${APR_SYSTEM_LIBS}) - SET_TARGET_PROPERTIES(libapr-1 PROPERTIES COMPILE_DEFINITIONS "APR_DECLARE_EXPORT;WINNT") - ADD_DEPENDENCIES(libapr-1 test_char_header) -- -+TARGET_INCLUDE_DIRECTORIES(libapr-1 INTERFACE $) -+ELSE() - ADD_LIBRARY(apr-1 STATIC ${APR_SOURCES} ${APR_PUBLIC_HEADERS_GENERATED}) - SET(install_targets ${install_targets} apr-1) - TARGET_LINK_LIBRARIES(apr-1 ${APR_SYSTEM_LIBS}) - SET_TARGET_PROPERTIES(apr-1 PROPERTIES COMPILE_DEFINITIONS "APR_DECLARE_STATIC;WINNT") - ADD_DEPENDENCIES(apr-1 test_char_header) -+TARGET_INCLUDE_DIRECTORIES(apr-1 INTERFACE $) -+ENDIF() - - # libaprapp-1 and aprapp-1 are static -+IF(BUILD_SHARED_LIBS) - ADD_LIBRARY(libaprapp-1 STATIC misc/win32/apr_app.c misc/win32/internal.c ${APR_PUBLIC_HEADERS_GENERATED}) - SET(install_targets ${install_targets} libaprapp-1) - SET_TARGET_PROPERTIES(libaprapp-1 PROPERTIES COMPILE_DEFINITIONS "APR_APP;WINNT") -- -+TARGET_INCLUDE_DIRECTORIES(libaprapp-1 INTERFACE $) -+ELSE() - ADD_LIBRARY(aprapp-1 STATIC misc/win32/apr_app.c misc/win32/internal.c ${APR_PUBLIC_HEADERS_GENERATED}) - SET(install_targets ${install_targets} aprapp-1) - SET_TARGET_PROPERTIES(aprapp-1 PROPERTIES COMPILE_DEFINITIONS "APR_DECLARE_STATIC;APR_APP;WINNT") -+TARGET_INCLUDE_DIRECTORIES(aprapp-1 INTERFACE $) -+ENDIF() - - IF(APR_BUILD_TESTAPR) - ENABLE_TESTING() -@@ -385,12 +393,18 @@ ENDIF (APR_BUILD_TESTAPR) - - # Installation - --INSTALL(TARGETS ${install_targets} -+INSTALL(TARGETS ${install_targets} EXPORT unofficial-apr-config - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib - ) - -+INSTALL(EXPORT unofficial-apr-config -+ NAMESPACE unofficial::apr:: -+ DESTINATION share/unofficial-apr -+ FILE unofficial-apr-config.cmake -+) -+ - IF(INSTALL_PDB) - INSTALL(FILES ${install_bin_pdb} - DESTINATION bin diff --git a/ports/apr/portfile.cmake b/ports/apr/portfile.cmake index 84b04326b5df8f..fee527df8c9c9e 100644 --- a/ports/apr/portfile.cmake +++ b/ports/apr/portfile.cmake @@ -1,40 +1,61 @@ - -set(VERSION 1.7.4) - vcpkg_download_distfile(ARCHIVE URLS "https://archive.apache.org/dist/apr/apr-${VERSION}.tar.bz2" FILENAME "apr-${VERSION}.tar.bz2" - SHA512 2342c997765ea2ca96eac158e5fd260232dba68fc41b90a79a7ba9b25c539fc217981867362090e0ebebe632289257c342275e3c5baedb698c474ef8f49a9dcd + SHA512 d8a7553642da0c81261ac3992536efd9d43ecb9154934ef1a10ae808d6a3ce8198b40433091d3a6d04f61e67c59426fb5276193a37e810ae4bc74a8a10fb651b ) vcpkg_extract_source_archive(SOURCE_PATH ARCHIVE "${ARCHIVE}" PATCHES - fix-configcmake.patch unglue.patch + 0100-add-host-tools-dir.diff ) +set(CURRENT_HOST_TOOLS_DIR "${CURRENT_HOST_INSTALLED_DIR}/tools/${PORT}") + +set(CROSSCOMPILING_OPTIONS "") +if(VCPKG_CROSSCOMPILING) + list(APPEND CROSSCOMPILING_OPTIONS + "-DUNOFFICIAL_APR_HOST_TOOLS_DIR=${CURRENT_HOST_TOOLS_DIR}" + "-DUNOFFICIAL_APR_HOST_EXECUTABLE_SUFFIX=${VCPKG_HOST_EXECUTABLE_SUFFIX}" + ) +endif() + if (VCPKG_TARGET_IS_WINDOWS) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES private-headers APR_INSTALL_PRIVATE_H ) + string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" APR_BUILD_STATIC) + string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" APR_BUILD_SHARED) + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS + -DAPR_BUILD_STATIC=${APR_BUILD_STATIC} + -DAPR_BUILD_SHARED=${APR_BUILD_SHARED} + -DAPR_BUILD_TESTAPR=OFF -DINSTALL_PDB=OFF -DMIN_WINDOWS_VER=Windows7 -DAPR_HAVE_IPV6=ON ${FEATURE_OPTIONS} + ${CROSSCOMPILING_OPTIONS} ) vcpkg_cmake_install() - vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-apr CONFIG_PATH share/unofficial-apr) + vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/apr") + file( + INSTALL "${CMAKE_CURRENT_LIST_DIR}/unofficial-apr-config.cmake" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/unofficial-apr" + ) # There is no way to suppress installation of the headers in debug builds. file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + vcpkg_copy_tools(TOOL_NAMES gen_test_char AUTO_CLEAN) vcpkg_copy_pdbs() + + file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage-cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME usage) else() # To cross-compile you will need a triplet file that locates the tool chain and sets --host and --cache parameters of "./configure". # The ${VCPKG_PLATFORM_TOOLSET}.cache file must have been generated on the targeted host using "./configure -C". @@ -75,8 +96,8 @@ else() vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin/apr-1-config" "APR_SOURCE_DIR=\"${SOURCE_PATH}\"" "") vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin/apr-1-config" "APR_BUILD_DIR=\"${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel\"" "") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/build-1/libtool" "${CURRENT_INSTALLED_DIR}/lib" "") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/build-1/libtool" "${CURRENT_INSTALLED_DIR}/debug/lib" "") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/build-1/libtool" "${CURRENT_INSTALLED_DIR}/lib" "" IGNORE_UNCHANGED) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/build-1/libtool" "${CURRENT_INSTALLED_DIR}/debug/lib" "" IGNORE_UNCHANGED) vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/build-1/apr_rules.mk" "${CURRENT_INSTALLED_DIR}" "$(INCLUDE)/..") if(NOT VCPKG_BUILD_TYPE) @@ -84,8 +105,8 @@ else() vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug/bin/apr-1-config" "APR_SOURCE_DIR=\"${SOURCE_PATH}\"" "") vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug/bin/apr-1-config" "APR_BUILD_DIR=\"${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg\"" "") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/build-1/libtool" "${CURRENT_INSTALLED_DIR}/lib" "") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/build-1/libtool" "${CURRENT_INSTALLED_DIR}/debug/lib" "") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/build-1/libtool" "${CURRENT_INSTALLED_DIR}/lib" "" IGNORE_UNCHANGED) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/build-1/libtool" "${CURRENT_INSTALLED_DIR}/debug/lib" "" IGNORE_UNCHANGED) vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/build-1/apr_rules.mk" "${CURRENT_INSTALLED_DIR}/debug" "$(INCLUDE)/..") endif() diff --git a/ports/apr/unofficial-apr-config.cmake b/ports/apr/unofficial-apr-config.cmake new file mode 100644 index 00000000000000..a7ed87e9495c37 --- /dev/null +++ b/ports/apr/unofficial-apr-config.cmake @@ -0,0 +1,19 @@ +message(WARNING "find_package(unofficial-apr) is deprecated.\nUse find_package(apr) instead") +include(CMakeFindDependencyMacro) +find_dependency(apr CONFIG) + +if(TARGET apr::apr-1 AND NOT TARGET unofficial::apr::apr-1) + add_library(unofficial::apr::apr-1 INTERFACE IMPORTED) + target_link_libraries(unofficial::apr::apr-1 INTERFACE apr::apr-1) +elseif(TARGET apr::libapr-1 AND NOT TARGET unofficial::apr::libapr-1) + add_library(unofficial::apr::libapr-1 INTERFACE IMPORTED) + target_link_libraries(unofficial::apr::libapr-1 INTERFACE apr::libapr-1) +endif() + +if(TARGET apr::aprapp-1 AND NOT TARGET unofficial::apr::aprapp-1) + add_library(unofficial::apr::aprapp-1 INTERFACE IMPORTED) + target_link_libraries(unofficial::apr::aprapp-1 INTERFACE apr::aprapp-1) +elseif(TARGET apr::libaprapp-1 AND NOT TARGET unofficial::apr::libaprapp-1) + add_library(unofficial::apr::libaprapp-1 INTERFACE IMPORTED) + target_link_libraries(unofficial::apr::libaprapp-1 INTERFACE apr::libaprapp-1) +endif() diff --git a/ports/apr/usage-cmake b/ports/apr/usage-cmake new file mode 100644 index 00000000000000..0430db590a0ebc --- /dev/null +++ b/ports/apr/usage-cmake @@ -0,0 +1,19 @@ +APR provides CMake targets whose names will start with the 'lib' prefix in shared configurations, while static configurations will not: + + find_package(apr CONFIG REQUIRED) + + # Use the shared configuration + target_link_libraries(main PRIVATE apr::apr-1 apr::libaprapp-1) + + # Use the static configuration + target_link_libraries(main PRIVATE apr::apr-1 apr::aprapp-1) + +To ensure compatibility with both static and shared configurations: + + find_package(apr CONFIG REQUIRED) + target_link_libraries(main PRIVATE + $<$:apr::apr-1> + $<$:apr::aprapp-1> + $<$:apr::libapr-1> + $<$:apr::libaprapp-1> + ) diff --git a/ports/apr/vcpkg.json b/ports/apr/vcpkg.json index dafc8d0fa3c649..7b4bbf485c73fc 100644 --- a/ports/apr/vcpkg.json +++ b/ports/apr/vcpkg.json @@ -1,11 +1,17 @@ { "name": "apr", - "version": "1.7.4", + "version": "1.7.5", + "port-version": 2, "description": "The Apache Portable Runtime (APR) is a C library that forms a system portability layer that covers many operating systems.", "homepage": "https://apr.apache.org/", "license": "Apache-2.0", - "supports": "!uwp", + "supports": "!uwp & !mingw", "dependencies": [ + { + "name": "apr", + "host": true, + "platform": "windows" + }, { "name": "vcpkg-cmake", "host": true, diff --git a/ports/apriltag/portfile.cmake b/ports/apriltag/portfile.cmake new file mode 100644 index 00000000000000..ed7229703826f3 --- /dev/null +++ b/ports/apriltag/portfile.cmake @@ -0,0 +1,40 @@ +if (VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO AprilRobotics/apriltag + REF v${VERSION} + SHA512 2e7edda62e1f196ac954cb999d11a43e81e4e8a5de296b7ce28744a0ec3a4a3209b413e2328aaebce61b2eef782209855ca1112c489bbcb5437387ab6379a849 + HEAD_REF master +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_PYTHON_WRAPPER=OFF + -DBUILD_EXAMPLES=OFF + -DBUILD_TESTING=OFF +) + +vcpkg_cmake_install() + +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_cmake_config_fixup(CONFIG_PATH share/${PORT}/cmake) +vcpkg_fixup_pkgconfig() + +if (VCPKG_TARGET_IS_WINDOWS) + file(READ "${CURRENT_PACKAGES_DIR}/share/${PORT}/${PORT}Config.cmake" FIXED_CONFIG) + file(WRITE "${CURRENT_PACKAGES_DIR}/share/${PORT}/${PORT}Config.cmake" " + include(CMakeFindDependencyMacro) + find_dependency(PThreads4W) + ${FIXED_CONFIG} + ") +endif() + +file(INSTALL "${SOURCE_PATH}/LICENSE.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/apriltag/usage b/ports/apriltag/usage new file mode 100644 index 00000000000000..839749f0c79f1a --- /dev/null +++ b/ports/apriltag/usage @@ -0,0 +1,4 @@ +apriltag provides CMake targets: + + find_package(apriltag REQUIRED) + target_link_libraries(main PRIVATE apriltag::apriltag) diff --git a/ports/apriltag/vcpkg.json b/ports/apriltag/vcpkg.json new file mode 100644 index 00000000000000..0a2d6e51489f8c --- /dev/null +++ b/ports/apriltag/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "apriltag", + "version": "3.4.2", + "description": "AprilTag is a visual fiducial system popular for robotics research.", + "homepage": "https://april.eecs.umich.edu/software/apriltag", + "license": "BSD-2-Clause", + "supports": "!uwp", + "dependencies": [ + "pthreads", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/apsi/fix-c2398.patch b/ports/apsi/fix-c2398.patch new file mode 100644 index 00000000000000..b044e1423c2593 --- /dev/null +++ b/ports/apsi/fix-c2398.patch @@ -0,0 +1,15 @@ +diff --git a/sender/apsi/util/cuckoo_filter.cpp b/sender/apsi/util/cuckoo_filter.cpp +index be5aead..e242796 100644 +--- a/sender/apsi/util/cuckoo_filter.cpp ++++ b/sender/apsi/util/cuckoo_filter.cpp +@@ -246,8 +246,8 @@ CuckooFilter CuckooFilter::Load(istream &in, size_t &bytes_read) + + bytes_read = in_data.size(); + return CuckooFilter{ move(cuckoo_filter_table), +- cuckoo_filter_fbs->num_items(), +- cuckoo_filter_fbs->overflow()->index(), ++ static_cast(cuckoo_filter_fbs->num_items()), ++ static_cast(cuckoo_filter_fbs->overflow()->index()), + cuckoo_filter_fbs->overflow()->tag(), + cuckoo_filter_fbs->overflow()->used() }; + } diff --git a/ports/apsi/fix-find-seal.patch b/ports/apsi/fix-find-seal.patch new file mode 100644 index 00000000000000..21e015122a4273 --- /dev/null +++ b/ports/apsi/fix-find-seal.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 78d54a6..4d3f338 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -122,7 +122,7 @@ set(APSI_INCLUDES_INSTALL_DIR ${CMAKE_INSTALL_INCLUDEDIR}/APSI-${APSI_VERSION_MA + # find_package might throw a FATAL_ERROR before"xxx: not found", e.g. with vcpkg.cmake. + + # Microsoft SEAL +-find_package(SEAL 4.1 QUIET REQUIRED) ++find_package(SEAL QUIET REQUIRED) + if(NOT SEAL_FOUND) + message(FATAL_ERROR "Microsoft SEAL: not found") + else() diff --git a/ports/apsi/fix-find_package.patch b/ports/apsi/fix-find_package.patch deleted file mode 100644 index 7a4d0d796aedc1..00000000000000 --- a/ports/apsi/fix-find_package.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 0951577..c5efa1e 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -117,7 +117,7 @@ set(APSI_INCLUDES_INSTALL_DIR ${CMAKE_INSTALL_INCLUDEDIR}/APSI-${APSI_VERSION_MA - # find_package might throw a FATAL_ERROR before"xxx: not found", e.g. with vcpkg.cmake. - - # Microsoft SEAL --find_package(SEAL 4 QUIET REQUIRED) -+find_package(SEAL 4.1 QUIET REQUIRED) - if(NOT SEAL_FOUND) - message(FATAL_ERROR "Microsoft SEAL: not found") - else() diff --git a/ports/apsi/portfile.cmake b/ports/apsi/portfile.cmake index ad9dfee9baa787..e3b37acea83fd0 100644 --- a/ports/apsi/portfile.cmake +++ b/ports/apsi/portfile.cmake @@ -3,11 +3,12 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO microsoft/APSI - REF 2dff8dcd39c361527ea3b320f87cb8e71dd4f777 #0.9.0 - SHA512 16c52642719f1d67dfaa70d963ba8795ac618f250752a1f95d91d4b1db8b51b2598999dcc9a9a7a3dbe8537943a3c3bf2ec684cd2697fca88135b01009961213 + REF "v${VERSION}" + SHA512 ad49e169970921175728705c6f5fe8062e74900a601ea25e9f836840a221175bfbb3169717787b1ca7e2e1a0b26630690dcef9bc91c0123877b856ea927e9e68 HEAD_REF main PATCHES - fix-find_package.patch + fix-find-seal.patch + fix-c2398.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS @@ -19,7 +20,7 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS set(CROSSCOMP_OPTIONS "") if (VCPKG_CROSSCOMPILING) if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") - set(CROSSCOMP_OPTIONS -DAPSI_FOURQ_ARM64_EXITCODE=0 -DAPSI_FOURQ_ARM64_EXITCODE__TRYRUN_OUTPUT="") + set(CROSSCOMP_OPTIONS -DAPSI_FOURQ_ARM64_EXITCODE=0 -DAPSI_FOURQ_ARM64_EXITCODE__TRYRUN_OUTPUT='') endif() if (VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") set(CROSSCOMP_OPTIONS -DAPSI_FOURQ_AMD64_EXITCODE=0 -DHAVE_AVX_EXTENSIONS_EXITCODE=0 -DHAVE_AVX2_EXTENSIONS_EXITCODE=1) @@ -28,20 +29,18 @@ endif() vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - DISABLE_PARALLEL_CONFIGURE OPTIONS - "-DAPSI_BUILD_TESTS=OFF" - "-DAPSI_BUILD_CLI=OFF" + -DCMAKE_FIND_PACKAGE_PREFER_CONFIG=ON + -DAPSI_BUILD_TESTS=OFF + -DAPSI_BUILD_CLI=OFF ${FEATURE_OPTIONS} ${CROSSCOMP_OPTIONS} ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/APSI-0.9") +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/APSI-0.11") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME "copyright") - -vcpkg_copy_pdbs() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/apsi/vcpkg.json b/ports/apsi/vcpkg.json index cf3ac0c7bbef4e..4616fb5a682277 100644 --- a/ports/apsi/vcpkg.json +++ b/ports/apsi/vcpkg.json @@ -1,7 +1,6 @@ { "name": "apsi", - "version-semver": "0.9.0", - "port-version": 2, + "version-semver": "0.11.0", "description": "APSI is a research library for asymmetric private set intersection.", "homepage": "https://github.com/microsoft/APSI", "license": "MIT", @@ -11,8 +10,11 @@ "kuku", { "name": "seal", + "default-features": false, "features": [ - "no-throw-tran" + "ms-gsl", + "no-throw-tran", + "zstd" ] }, { @@ -35,8 +37,7 @@ { "name": "seal", "features": [ - "hexl", - "no-throw-tran" + "hexl" ], "platform": "x64" } @@ -51,7 +52,8 @@ "zeromq": { "description": "Use ZeroMQ for networking.", "dependencies": [ - "cppzmq" + "cppzmq", + "zeromq" ] } } diff --git a/ports/arcus/0001-fix-protobuf-deprecated.patch b/ports/arcus/0001-fix-protobuf-deprecated.patch index a40da846dc496c..81980a454eccbe 100644 --- a/ports/arcus/0001-fix-protobuf-deprecated.patch +++ b/ports/arcus/0001-fix-protobuf-deprecated.patch @@ -1,3 +1,16 @@ +diff --git a/src/MessageTypeStore.cpp b/src/MessageTypeStore.cpp +index 382a138..5f09122 100644 +--- a/src/MessageTypeStore.cpp ++++ b/src/MessageTypeStore.cpp +@@ -52,7 +52,7 @@ class ErrorCollector : public google::protobuf::compiler::MultiFileErrorCollecto + public: + ErrorCollector() : _error_count(0) { } + +- void AddError(const std::string& filename, int line, int column, const std::string& message) override ++ void RecordError(absl::string_view filename, int line, int column, absl::string_view message) override + { + _stream << "[" << filename << " (" << line << "," << column << ")] " << message << std::endl; + _error_count++; diff --git a/src/Socket_p.h b/src/Socket_p.h index 9c3c084..9ccabda 100644 --- a/src/Socket_p.h diff --git a/ports/arcus/0002-protobuf-version.patch b/ports/arcus/0002-protobuf-version.patch new file mode 100644 index 00000000000000..1dea39346dc61d --- /dev/null +++ b/ports/arcus/0002-protobuf-version.patch @@ -0,0 +1,37 @@ +diff --git a/ArcusConfig.cmake.in b/ArcusConfig.cmake.in +index 3208a69..fb4a968 100644 +--- a/ArcusConfig.cmake.in ++++ b/ArcusConfig.cmake.in +@@ -4,7 +4,7 @@ + # However, if ProtobufConfig is used instead, there is a CMake option that controls + # this, which defaults to OFF. We need to force this option to ON instead. + set(protobuf_MODULE_COMPATIBLE ON CACHE "" INTERNAL FORCE) +-find_package(Protobuf 3.0.0 REQUIRED) ++find_package(Protobuf REQUIRED) + + get_filename_component(SELF_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) + include(${SELF_DIR}/Arcus-targets.cmake) +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1d736ba..66d6c13 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -17,7 +17,7 @@ endif() + # However, if ProtobufConfig is used instead, there is a CMake option that controls + # this, which defaults to OFF. We need to force this option to ON instead. + set(protobuf_MODULE_COMPATIBLE ON CACHE INTERNAL "" FORCE) +-find_package(Protobuf 3.0.0 REQUIRED) ++find_package(Protobuf REQUIRED) + + set(CMAKE_POSITION_INDEPENDENT_CODE ON) #Required if a patch to libArcus needs to be made via templates. + +@@ -103,9 +103,8 @@ endif() + target_include_directories(Arcus PUBLIC + $ + $ +- ${PROTOBUF_INCLUDE_DIR} + ) +-target_link_libraries(Arcus PUBLIC ${PROTOBUF_LIBRARIES}) ++target_link_libraries(Arcus PUBLIC protobuf::libprotobuf) + + if(WIN32) + add_definitions(-D_WIN32_WINNT=0x0600) # Declare we require Vista or higher, this allows us to use IPv6 functions. diff --git a/ports/arcus/portfile.cmake b/ports/arcus/portfile.cmake index c85b0f73f90800..da0dcc4cf053bf 100644 --- a/ports/arcus/portfile.cmake +++ b/ports/arcus/portfile.cmake @@ -1,11 +1,12 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Ultimaker/libArcus - REF 617f6f71572090f73cb44592b12f49567b539e5b #v4.10.0 - SHA512 cf0954d8b10d9f94165aa5c086d0e58c2925464f9fbe4252535c36d7e6bb12b767d89efb816c9e642f9cd7f0ec0d66d61ca21c5121a05340499d38d5d851f73b - HEAD_REF master + REF ${VERSION} + SHA512 452c541360d74a8f58ab1b20df59efd36756812a9ecd09804ba16877956fb240d367bd968271a9c010496598ef0b459f62aa287553d4ba3fdb4cd2742c25553f + HEAD_REF main PATCHES 0001-fix-protobuf-deprecated.patch + 0002-protobuf-version.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" ENABLE_STATIC) @@ -26,4 +27,4 @@ vcpkg_cmake_config_fixup(PACKAGE_NAME Arcus CONFIG_PATH lib/cmake/Arcus) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -configure_file("${SOURCE_PATH}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/arcus/vcpkg.json b/ports/arcus/vcpkg.json index 356415b524ca12..61a48d4a83f068 100644 --- a/ports/arcus/vcpkg.json +++ b/ports/arcus/vcpkg.json @@ -1,7 +1,7 @@ { "name": "arcus", "version-semver": "4.10.0", - "port-version": 2, + "port-version": 4, "description": "This library contains C++ bindings for creating a socket in a thread and using this socket to send and receive messages based on the Protocol Buffers library.", "homepage": "https://github.com/Ultimaker/libArcus", "supports": "!uwp", diff --git a/ports/arg-router/always-depend-on-boost.patch b/ports/arg-router/always-depend-on-boost.patch new file mode 100644 index 00000000000000..233443069ea92a --- /dev/null +++ b/ports/arg-router/always-depend-on-boost.patch @@ -0,0 +1,22 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2828e64..7b84de3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -40,6 +40,8 @@ endif() + include("${CMAKE_CURRENT_SOURCE_DIR}/cmake/build_types/documentation.cmake") + + set(BOOST_VERSION 1.74) ++find_package(Boost ${BOOST_VERSION} REQUIRED) ++ + if(NOT INSTALLATION_ONLY) + include("${CMAKE_CURRENT_SOURCE_DIR}/cmake/versioning/version.cmake") + include("${CMAKE_CURRENT_SOURCE_DIR}/cmake/copyright_checker.cmake") +@@ -48,8 +50,6 @@ if(NOT INSTALLATION_ONLY) + include("${CMAKE_CURRENT_SOURCE_DIR}/cmake/sanitizers.cmake") + include("${CMAKE_CURRENT_SOURCE_DIR}/cmake/ccache.cmake") + +- find_package(Boost ${BOOST_VERSION} REQUIRED) +- + find_package(span-lite QUIET) + if (NOT span-lite_FOUND) + message(WARNING "span-lite package not found, you will need to compile against C++20 or higher") diff --git a/ports/arg-router/portfile.cmake b/ports/arg-router/portfile.cmake index b09f250bcc55d3..e70e85c3ef8742 100644 --- a/ports/arg-router/portfile.cmake +++ b/ports/arg-router/portfile.cmake @@ -4,6 +4,8 @@ vcpkg_from_github( REF v${VERSION} HEAD_REF main SHA512 0348a39c0e091b1b0d6887528f6d48372162ed2526fb81935761cf93ff006fc685bbf834d44cea60cdaf4d8b2e947b6cb1a81c901c02aaba68a0dfd16a12ca20 + PATCHES + always-depend-on-boost.patch # https://github.com/cmannett85/arg_router/pull/398 ) set(VCPKG_BUILD_TYPE release) # header-only port diff --git a/ports/arg-router/vcpkg.json b/ports/arg-router/vcpkg.json index c86dd1b9cd02cc..09a57046d044f0 100644 --- a/ports/arg-router/vcpkg.json +++ b/ports/arg-router/vcpkg.json @@ -1,6 +1,7 @@ { "name": "arg-router", "version": "1.4.0", + "port-version": 1, "description": "C++ command line argument parsing and routing.", "homepage": "https://github.com/cmannett85/arg_router", "documentation": "https://cmannett85.github.io/arg_router/", diff --git a/ports/argh/portfile.cmake b/ports/argh/portfile.cmake index 17656776703eec..25df241ce74e68 100644 --- a/ports/argh/portfile.cmake +++ b/ports/argh/portfile.cmake @@ -3,11 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO adishavit/argh - REF v1.3.2 + REF "v${VERSION}" SHA512 66073718ef1fc31fbd0feb9daf366a2e28c759de44fb1882dc46a6d10f7a44635ae1155882dff916f55c51fad88bedebdfe361418f7669fac241feead68f2b5b HEAD_REF master ) +set(VCPKG_BUILD_TYPE release) + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS @@ -17,14 +19,12 @@ vcpkg_cmake_configure( vcpkg_cmake_install() -if(EXISTS "${CURRENT_PACKAGES_DIR}/CMake") - vcpkg_cmake_config_fixup(CONFIG_PATH CMake) -elseif(EXISTS "${CURRENT_PACKAGES_DIR}/lib/cmake/${PORT}") - vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") +set(CONFIG_PATH lib/cmake/argh) +if(EXISTS "${CURRENT_PACKAGES_DIR}/cmake") + set(CONFIG_PATH cmake) endif() +vcpkg_cmake_config_fixup(CONFIG_PATH "${CONFIG_PATH}") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" "${CURRENT_PACKAGES_DIR}/lib") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/doc") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/doc" "${CURRENT_PACKAGES_DIR}/lib") -# Handle copyright -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/argh/vcpkg.json b/ports/argh/vcpkg.json index 2329517f071ce5..5dea74d0682c0e 100644 --- a/ports/argh/vcpkg.json +++ b/ports/argh/vcpkg.json @@ -1,6 +1,7 @@ { "name": "argh", "version": "1.3.2", + "port-version": 1, "description": "Argh! A minimalist argument handler.", "homepage": "https://github.com/adishavit/argh", "license": "BSD-3-Clause", diff --git a/ports/argparse/portfile.cmake b/ports/argparse/portfile.cmake index 51908fbb81cd3c..385edb79aa1b13 100644 --- a/ports/argparse/portfile.cmake +++ b/ports/argparse/portfile.cmake @@ -3,8 +3,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO p-ranav/argparse - REF 997da9255618311d1fcb0135ce86022729d1f1cb # v2.9 - SHA512 241e6a1ec76133b7ad4ab3984b1b4e08129f3dac80fc26a0010c9450ab83131ec9e2472844eba30265f2a6f1e94c7b7c07175f11a22553bd61a099b1bb148ef7 + REF "v${VERSION}" + SHA512 31e03b7de44e091614c1680e76988e0f7f5bdc6baf0262ed0583c6311d6d0611b7e30fa73b4522fd99d8ea81e74e5a74a91888135a1352d9ab08bf4a5467d32d HEAD_REF master ) diff --git a/ports/argparse/vcpkg.json b/ports/argparse/vcpkg.json index 458c0a98c74087..e7e5ec3dbe6bbc 100644 --- a/ports/argparse/vcpkg.json +++ b/ports/argparse/vcpkg.json @@ -1,6 +1,6 @@ { "name": "argparse", - "version": "2.9", + "version": "3.1", "description": "Argument parser for modern C++", "homepage": "https://github.com/p-ranav/argparse", "license": "MIT", diff --git a/ports/aricpp/portfile.cmake b/ports/aricpp/portfile.cmake index 189e85e6a8d98e..5f51f87f294fc5 100644 --- a/ports/aricpp/portfile.cmake +++ b/ports/aricpp/portfile.cmake @@ -2,8 +2,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO daniele77/aricpp - REF v1.1.2 - SHA512 bf325de240cdc9c567524cdc127c256d1ac783e785779117374f1d2a5fd4f352545e87f3d1556c2a24e47a203b55bc581a92fb20426295f5f9dcb4a8078cb215 + REF v1.1.3 + SHA512 5b4c2829177f338f46f5d48baee8d3dd35bdce11780ed1b4b20ddb738573d12227982574877be8f9a8cea355e202cac97eb85a16fd582d2e348a9404b34467fd HEAD_REF master ) diff --git a/ports/aricpp/vcpkg.json b/ports/aricpp/vcpkg.json index ec4431ea93690c..53e52cea351ae5 100644 --- a/ports/aricpp/vcpkg.json +++ b/ports/aricpp/vcpkg.json @@ -1,6 +1,6 @@ { "name": "aricpp", - "version-semver": "1.1.2", + "version-semver": "1.1.3", "description": "Asterisk ARI interface bindings for modern C++", "homepage": "https://github.com/daniele77/aricpp", "license": "BSL-1.0", diff --git a/ports/armadillo/portfile.cmake b/ports/armadillo/portfile.cmake index 728e9fecf8a15e..2bb0922714deb2 100644 --- a/ports/armadillo/portfile.cmake +++ b/ports/armadillo/portfile.cmake @@ -4,7 +4,7 @@ vcpkg_from_sourceforge( OUT_SOURCE_PATH SOURCE_PATH REPO arma FILENAME "armadillo-${VERSION}.tar.xz" - SHA512 163e81e09d3cd13aa80833ce06d9c4f1889110efa99532adfb66ffac6abb067eedb81775f9a988377d3197f75bfd3cefda56c003cbfe4f2b8256bed680a028de + SHA512 729229d28dbd199503dc15ba11a4f20d2b598993f7da448d40840255ff53ecc9f95bca3b472261d12dda15f2c4e2f8999ea39594c869a31a817be35b256efac5 PATCHES cmake-config.patch dependencies.patch @@ -23,12 +23,16 @@ vcpkg_cmake_configure( DISABLE_PARALLEL_CONFIGURE OPTIONS -DALLOW_FLEXIBLAS_LINUX=OFF - -DDETECT_HDF5=OFF "-DREQUIRES_PRIVATE=${REQUIRES_PRIVATE}" ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH share/Armadillo/CMake) + +vcpkg_cmake_config_fixup(PACKAGE_NAME Armadillo CONFIG_PATH share/Armadillo/CMake) +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/Armadillo/ArmadilloConfig.cmake" + [[include("${CMAKE_CURRENT_LIST_DIR}/ArmadilloLibraryDepends.cmake")]] + "include(CMakeFindDependencyMacro)\nfind_dependency(LAPACK)\ninclude(\"\${CMAKE_CURRENT_LIST_DIR}/ArmadilloLibraryDepends.cmake\")" + ) vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() diff --git a/ports/armadillo/vcpkg.json b/ports/armadillo/vcpkg.json index d2b88a5e5f84bb..5710017c39faee 100644 --- a/ports/armadillo/vcpkg.json +++ b/ports/armadillo/vcpkg.json @@ -1,6 +1,6 @@ { "name": "armadillo", - "version": "12.4.1", + "version": "14.2.2", "description": "Armadillo is a high quality linear algebra library (matrix maths) for the C++ language, aiming towards a good balance between speed and ease of use", "homepage": "https://arma.sourceforge.net/", "license": "Apache-2.0", diff --git a/ports/arpack-ng/portfile.cmake b/ports/arpack-ng/portfile.cmake index 1c303dcf8a5057..9fdd5d17ad9162 100644 --- a/ports/arpack-ng/portfile.cmake +++ b/ports/arpack-ng/portfile.cmake @@ -6,7 +6,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO opencollab/arpack-ng REF ${VERSION} - SHA512 fbcaa2179dd1aa5a39fc3e7d80f377ec90ddf16ef93184a88e6ecfc464ed97e5659f2cf578294ac3e0b0c0da6408c86acf5bbdce533e1e9d2a3121848340d282 + SHA512 1ca590a8c4f75aa74402f9bd62e63851039687f4cb11afa8acb05fce1f22a512bff5fd1709ea85fdbea90b344fbbc01e3944c770b5ddc4d1aabc98ac334f78d2 HEAD_REF master ) @@ -23,6 +23,7 @@ vcpkg_cmake_configure( -DICBEXMM=OFF -DEXAMPLES=OFF -DTESTS=OFF + -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON ) vcpkg_cmake_install() diff --git a/ports/arpack-ng/vcpkg.json b/ports/arpack-ng/vcpkg.json index 952af1d3f5cb76..2a284616a6a14e 100644 --- a/ports/arpack-ng/vcpkg.json +++ b/ports/arpack-ng/vcpkg.json @@ -1,6 +1,6 @@ { "name": "arpack-ng", - "version": "3.9.0", + "version": "3.9.1", "port-version": 1, "description": "ARPACK-NG is a collection of Fortran77 subroutines designed to solve large scale eigenvalue problems.", "homepage": "https://github.com/opencollab/arpack-ng", diff --git a/ports/arrayfire/fix-miss-header-file.patch b/ports/arrayfire/fix-miss-header-file.patch new file mode 100644 index 00000000000000..c29c51f4fa1e2d --- /dev/null +++ b/ports/arrayfire/fix-miss-header-file.patch @@ -0,0 +1,12 @@ +diff --git a/src/backend/common/half.hpp b/src/backend/common/half.hpp +index fb25d03..2f6a8a4 100644 +--- a/src/backend/common/half.hpp ++++ b/src/backend/common/half.hpp +@@ -33,6 +33,7 @@ + #endif + + #include ++#include + + #ifdef __CUDACC_RTC__ + using uint16_t = unsigned short; diff --git a/ports/arrayfire/portfile.cmake b/ports/arrayfire/portfile.cmake index b2522e6f6141fc..d6640becc7e500 100644 --- a/ports/arrayfire/portfile.cmake +++ b/ports/arrayfire/portfile.cmake @@ -1,3 +1,10 @@ +vcpkg_download_distfile( + CUDA_PATCHES + URLS "https://github.com/arrayfire/arrayfire/pull/3552/commits/674e7bec90b90467139d32bf633467fe60824617.diff?full_index=1" + FILENAME "fix-cuda-674e7bec90b90467139d32bf633467fe60824617.patch" + SHA512 201ba8c46f5eafd5d8dbc78ddc1fb4c24b8d820f034e081b8ff30712705fe059c2850bbb7394d81931620619071559fed0e98b13cc4f985103e354c44a322e78 +) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO arrayfire/arrayfire @@ -8,6 +15,8 @@ vcpkg_from_github( build.patch Fix-constexpr-error-with-vs2019-with-half.patch fix-dependency-clfft.patch + fix-miss-header-file.patch + "${CUDA_PATCHES}" ) # arrayfire cpu thread lib needed as a submodule for the CPU backend @@ -80,13 +89,10 @@ vcpkg_check_features( # Build and install vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" + DISABLE_PARALLEL_CONFIGURE OPTIONS ${AF_DEFAULT_VCPKG_CMAKE_FLAGS} ${AF_BACKEND_FEATURE_OPTIONS} - OPTIONS_DEBUG - -DAF_INSTALL_CMAKE_DIR="${CURRENT_PACKAGES_DIR}/debug/share/${PORT}" # for CMake configs/targets - OPTIONS_RELEASE - -DAF_INSTALL_CMAKE_DIR="${CURRENT_PACKAGES_DIR}/share/${PORT}" # for CMake configs/targets MAYBE_UNUSED_VARIABLES AF_CPU_THREAD_PATH ) @@ -94,13 +100,21 @@ vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_cmake_config_fixup() +if(NOT VCPKG_TARGET_IS_WINDOWS) + vcpkg_cmake_config_fixup(CONFIG_PATH share/ArrayFire/cmake) +else() + vcpkg_cmake_config_fixup(CONFIG_PATH cmake) +endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" - "${CURRENT_PACKAGES_DIR}/debug/examples" - "${CURRENT_PACKAGES_DIR}/examples" - "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/debug/examples" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/examples" + "${CURRENT_PACKAGES_DIR}/LICENSES" "${CURRENT_PACKAGES_DIR}/debug/LICENSES") +if(FEATURES STREQUAL "core") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +endif() # Copyright and license file(INSTALL "${SOURCE_PATH}/COPYRIGHT.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/arrayfire/vcpkg.json b/ports/arrayfire/vcpkg.json index b816ea88610156..6ccec696fd6cc3 100644 --- a/ports/arrayfire/vcpkg.json +++ b/ports/arrayfire/vcpkg.json @@ -1,7 +1,7 @@ { "name": "arrayfire", "version-semver": "3.8.0", - "port-version": 5, + "port-version": 7, "description": "ArrayFire is a general-purpose library that simplifies the process of developing software that targets parallel and massively-parallel architectures including CPUs, GPUs, and other hardware acceleration devices.", "homepage": "https://github.com/arrayfire/arrayfire", "license": "BSD-3-Clause", diff --git a/ports/arrow/msvc-static-name.patch b/ports/arrow/0001-msvc-static-name.patch similarity index 100% rename from ports/arrow/msvc-static-name.patch rename to ports/arrow/0001-msvc-static-name.patch diff --git a/ports/arrow/thrift.patch b/ports/arrow/0002-thrift.patch similarity index 100% rename from ports/arrow/thrift.patch rename to ports/arrow/0002-thrift.patch diff --git a/ports/arrow/utf8proc.patch b/ports/arrow/0003-utf8proc.patch similarity index 100% rename from ports/arrow/utf8proc.patch rename to ports/arrow/0003-utf8proc.patch diff --git a/ports/arrow/0004-android-musl.patch b/ports/arrow/0004-android-musl.patch new file mode 100644 index 00000000000000..4eb412d1a520f3 --- /dev/null +++ b/ports/arrow/0004-android-musl.patch @@ -0,0 +1,27 @@ +diff --git a/cpp/src/arrow/CMakeLists.txt b/cpp/src/arrow/CMakeLists.txt +index 6dc8358..2b91efa 100644 +--- a/cpp/src/arrow/CMakeLists.txt ++++ b/cpp/src/arrow/CMakeLists.txt +@@ -166,7 +166,7 @@ if(WIN32) + list(APPEND ARROW_SYSTEM_LINK_LIBS "ws2_32") + endif() + +-if(NOT WIN32 AND NOT APPLE) ++if(NOT WIN32 AND NOT APPLE AND NOT ANDROID) + # Pass -lrt on Linux only + list(APPEND ARROW_SYSTEM_LINK_LIBS rt) + endif() +diff --git a/cpp/src/arrow/vendored/musl/strptime.c b/cpp/src/arrow/vendored/musl/strptime.c +index 41912fd..0ea36e9 100644 +--- a/cpp/src/arrow/vendored/musl/strptime.c ++++ b/cpp/src/arrow/vendored/musl/strptime.c +@@ -18,7 +18,9 @@ + #undef HAVE_LANGINFO + + #ifndef _WIN32 ++# if !(defined(__ANDROID__) && __ANDROID_API__ < 26) + #define HAVE_LANGINFO 1 ++# endif + #endif + + #ifdef HAVE_LANGINFO diff --git a/ports/arrow/0005-android-datetime.patch b/ports/arrow/0005-android-datetime.patch new file mode 100644 index 00000000000000..ae8b7562de0c02 --- /dev/null +++ b/ports/arrow/0005-android-datetime.patch @@ -0,0 +1,29 @@ +diff --git a/cpp/src/arrow/vendored/datetime/tz.h b/cpp/src/arrow/vendored/datetime/tz.h +index 61ab3df106..d456d6765f 100644 +--- a/cpp/src/arrow/vendored/datetime/tz.h ++++ b/cpp/src/arrow/vendored/datetime/tz.h +@@ -858,7 +858,9 @@ private: + load_data(std::istream& inf, std::int32_t tzh_leapcnt, std::int32_t tzh_timecnt, + std::int32_t tzh_typecnt, std::int32_t tzh_charcnt); + # if defined(ANDROID) || defined(__ANDROID__) ++public: + void parse_from_android_tzdata(std::ifstream& inf, const std::size_t off); ++private: + # endif // defined(ANDROID) || defined(__ANDROID__) + #else // !USE_OS_TZDB + DATE_API sys_info get_info_impl(sys_seconds tp, int tz_int) const; +diff --git a/cpp/src/arrow/vendored/datetime/visibility.h b/cpp/src/arrow/vendored/datetime/visibility.h +index 780c00d70b..a9514edba7 100644 +--- a/cpp/src/arrow/vendored/datetime/visibility.h ++++ b/cpp/src/arrow/vendored/datetime/visibility.h +@@ -21,6 +21,10 @@ + # define USE_OS_TZDB 1 + #endif + ++#if defined(ANDROID) || defined(__ANDROID__) ++# define BUILD_TZ_LIB ++#endif ++ + #if defined(ARROW_STATIC) + // intentially empty + #elif defined(ARROW_EXPORTING) diff --git a/ports/arrow/fix-ci-error.patch b/ports/arrow/fix-ci-error.patch deleted file mode 100644 index adbe0f8668365a..00000000000000 --- a/ports/arrow/fix-ci-error.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt -index eeda520..f55080e 100644 ---- a/cpp/CMakeLists.txt -+++ b/cpp/CMakeLists.txt -@@ -921,7 +921,7 @@ if(WIN32) - list(APPEND ARROW_SYSTEM_LINK_LIBS "ws2_32.dll") - endif() - --if(NOT WIN32 AND NOT APPLE) -+if(NOT WIN32 AND NOT APPLE AND NOT ANDROID) - # Pass -lrt on Linux only - list(APPEND ARROW_SYSTEM_LINK_LIBS rt) - endif() diff --git a/ports/arrow/portfile.cmake b/ports/arrow/portfile.cmake index eed1698ce57ffa..478b57efdbd8ae 100644 --- a/ports/arrow/portfile.cmake +++ b/ports/arrow/portfile.cmake @@ -2,26 +2,29 @@ vcpkg_download_distfile( ARCHIVE_PATH URLS "https://archive.apache.org/dist/arrow/arrow-${VERSION}/apache-arrow-${VERSION}.tar.gz" FILENAME apache-arrow-${VERSION}.tar.gz - SHA512 3314d79ef20ac2cfc63f2c16fafb30c3f6187c10c6f5ea6ff036f6db766621d7c65401d85bf1e979bd0ecf831fbb0a785467642792d6bf77016f9807243c064e + SHA512 7249c03a6097bc64fb0092143e4d4aaef3227565147e6254f026ddd504177c8dd565a184a0df39743dc989070dc3785e5b66f738c8e310ed9c982b61c2ec4914 ) vcpkg_extract_source_archive( SOURCE_PATH ARCHIVE ${ARCHIVE_PATH} PATCHES - msvc-static-name.patch - utf8proc.patch - thrift.patch - fix-ci-error.patch + 0001-msvc-static-name.patch + 0002-thrift.patch + 0003-utf8proc.patch + 0004-android-musl.patch + 0005-android-datetime.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES acero ARROW_ACERO + compute ARROW_COMPUTE csv ARROW_CSV cuda ARROW_CUDA dataset ARROW_DATASET filesystem ARROW_FILESYSTEM flight ARROW_FLIGHT + flightsql ARROW_FLIGHT_SQL gcs ARROW_GCS jemalloc ARROW_JEMALLOC json ARROW_JSON @@ -96,6 +99,14 @@ if("flight" IN_LIST FEATURES) ) endif() +if("flightsql" IN_LIST FEATURES) + vcpkg_cmake_config_fixup( + PACKAGE_NAME ArrowFlightSql + CONFIG_PATH lib/cmake/ArrowFlightSql + DO_NOT_DELETE_PARENT_CONFIG_PATH + ) +endif() + if("parquet" IN_LIST FEATURES) vcpkg_cmake_config_fixup( PACKAGE_NAME parquet @@ -124,6 +135,11 @@ if("flight" IN_LIST FEATURES) file(APPEND "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" "${usage-flight}") endif() +if("flightsql" IN_LIST FEATURES) + file(READ "${CMAKE_CURRENT_LIST_DIR}/usage-flightsql" usage-flightsql) + file(APPEND "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" "${usage-flightsql}") +endif() + if("example" IN_LIST FEATURES) file(INSTALL "${SOURCE_PATH}/cpp/examples/minimal_build/" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/example") endif() @@ -132,4 +148,4 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/doc") -vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt" "${SOURCE_PATH}/NOTICE.txt") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/arrow/usage-flightsql b/ports/arrow/usage-flightsql new file mode 100644 index 00000000000000..2f7e9cf1f1226c --- /dev/null +++ b/ports/arrow/usage-flightsql @@ -0,0 +1,3 @@ + + find_package(ArrowFlightSql CONFIG REQUIRED) + target_link_libraries(main PRIVATE "$,ArrowFlightSql::arrow_flight_sql_static,ArrowFlightSql::arrow_flight_sql_shared>") diff --git a/ports/arrow/vcpkg.json b/ports/arrow/vcpkg.json index e2432e5d37cdeb..2dc6f8ec8f927c 100644 --- a/ports/arrow/vcpkg.json +++ b/ports/arrow/vcpkg.json @@ -1,7 +1,6 @@ { "name": "arrow", - "version": "13.0.0", - "port-version": 1, + "version": "18.1.0", "description": "Cross-language development platform for in-memory analytics", "homepage": "https://arrow.apache.org", "license": "Apache-2.0", @@ -41,6 +40,9 @@ "acero": { "description": "Acero support" }, + "compute": { + "description": "Build all computational kernel functions" + }, "csv": { "description": "CSV support" }, @@ -68,6 +70,18 @@ "protobuf" ] }, + "flightsql": { + "description": "FlightSQL support", + "dependencies": [ + { + "name": "arrow", + "default-features": false, + "features": [ + "flight" + ] + } + ] + }, "gcs": { "description": "GCS support", "dependencies": [ diff --git a/ports/arsenalgear/disable-cppcheck.patch b/ports/arsenalgear/disable-cppcheck.patch new file mode 100644 index 00000000000000..dd394f88a9abbe --- /dev/null +++ b/ports/arsenalgear/disable-cppcheck.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e5a01e7..ce1fa4f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -47,7 +47,7 @@ endif() + set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${COMPILE_FLAGS}" ) + + # Adding cppcheck properties +-if( CMAKE_BUILD_TYPE STREQUAL "Debug" ) ++if(0) + set( cppcheck cppcheck "--enable=warning" "--inconclusive" "--force" "--inline-suppr" ) + set_target_properties( arsenalgear PROPERTIES CXX_CPPCHECK ${cppcheck}) + endif() diff --git a/ports/arsenalgear/portfile.cmake b/ports/arsenalgear/portfile.cmake index 1e925843f021b9..61860895462fba 100644 --- a/ports/arsenalgear/portfile.cmake +++ b/ports/arsenalgear/portfile.cmake @@ -3,8 +3,10 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO JustWhit3/arsenalgear-cpp REF "v${VERSION}" - SHA512 27f2979da2d75851d5f8a63868d49b2f5b82064477a1c816667aaf0283e87f854712ab4aa473a3ef36c6ff895bb781c3b095ff617bf134051531aee9b8f03fd3 + SHA512 fd7a9029b74483dce4bac331b61fc76b3b7d2d9cf2cc43e45b3c7f1c3f458ccb3ca9cae779896a16cadf7fe6730db96ec3fa8a49972f8822b86b3f085d19fc71 HEAD_REF main + PATCHES + disable-cppcheck.patch ) # Main commands diff --git a/ports/arsenalgear/vcpkg.json b/ports/arsenalgear/vcpkg.json index ef8fcaff909c6e..b717b04c7070e8 100644 --- a/ports/arsenalgear/vcpkg.json +++ b/ports/arsenalgear/vcpkg.json @@ -1,6 +1,6 @@ { "name": "arsenalgear", - "version": "2.1.0", + "version": "2.1.1", "description": "A library containing general purpose C++ utils.", "homepage": "https://github.com/JustWhit3/arsenalgear-cpp", "license": "MIT", diff --git a/ports/asio-grpc/portfile.cmake b/ports/asio-grpc/portfile.cmake index a03e22505553b5..f70bae373afdc7 100644 --- a/ports/asio-grpc/portfile.cmake +++ b/ports/asio-grpc/portfile.cmake @@ -1,20 +1,16 @@ +set(VCPKG_BUILD_TYPE release) # header-only + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Tradias/asio-grpc REF "v${VERSION}" - SHA512 3921e4893fbfe871fd2129a706ef7b09a3381e04ee5c798682de98ef3996dac720d69e472099a8fa672e9d08a6805934235b555f40d745cc752b138bf2ab9520 + SHA512 d502152a1adc2f7cbd521b0226fbe7ffc15327091efd8f94ab445155bbcf46c1d5773760e106c602deb5d857f9c8fc8784ac50ead564d6e7f27b270137c4c4f1 HEAD_REF master ) -vcpkg_check_features( - OUT_FEATURE_OPTIONS FEATURE_OPTIONS - FEATURES - boost-container ASIO_GRPC_USE_BOOST_CONTAINER -) - vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} - OPTIONS ${FEATURE_OPTIONS} + OPTIONS -DASIO_GRPC_CMAKE_CONFIG_INSTALL_DIR=share/asio-grpc ) diff --git a/ports/asio-grpc/usage b/ports/asio-grpc/usage index bb11c4a9396e5e..a34fbb4160afca 100644 --- a/ports/asio-grpc/usage +++ b/ports/asio-grpc/usage @@ -13,3 +13,7 @@ The standalone Asio backend. Install "asio" and link with: The libunifex backend. Install "libunifex" and link with: target_link_libraries(main PRIVATE asio-grpc::asio-grpc-unifex) + +The stdexec backend. Install "stdexec" and link with: + + target_link_libraries(main PRIVATE asio-grpc::asio-grpc-stdexec) diff --git a/ports/asio-grpc/vcpkg.json b/ports/asio-grpc/vcpkg.json index 860e77f1395de3..76eaccb33ed840 100644 --- a/ports/asio-grpc/vcpkg.json +++ b/ports/asio-grpc/vcpkg.json @@ -1,6 +1,6 @@ { "name": "asio-grpc", - "version": "2.6.0", + "version": "3.4.1", "description": "Asynchronous gRPC with Asio/unified executors", "homepage": "https://github.com/Tradias/asio-grpc", "license": "Apache-2.0", @@ -14,13 +14,5 @@ "name": "vcpkg-cmake-config", "host": true } - ], - "features": { - "boost-container": { - "description": "Use Boost.Container instead of (deprecated)", - "dependencies": [ - "boost-container" - ] - } - } + ] } diff --git a/ports/asio/CMakeLists.txt b/ports/asio/CMakeLists.txt index 4241b1ffc74361..ffbc3c7c7abc35 100644 --- a/ports/asio/CMakeLists.txt +++ b/ports/asio/CMakeLists.txt @@ -1,8 +1,13 @@ -cmake_minimum_required(VERSION 3.8) +cmake_minimum_required(VERSION 3.10) project(asio) add_library(asio INTERFACE) +find_package(Threads) +if(Threads_FOUND) + target_link_libraries(asio INTERFACE Threads::Threads) +endif() + # Export target install(TARGETS asio EXPORT asio @@ -12,6 +17,7 @@ install(TARGETS asio install(EXPORT asio DESTINATION "share/asio" FILE asio-targets.cmake + NAMESPACE asio:: ) install(DIRECTORY @@ -26,3 +32,8 @@ install(FILES asio/include/asio.hpp DESTINATION include/ ) + +set(exec_prefix [[${prefix}]]) +set(package_name [[asio]]) +configure_file(asio/asio.pc.in "${PROJECT_BINARY_DIR}/asio.pc" @ONLY) +install(FILES "${PROJECT_BINARY_DIR}/asio.pc" DESTINATION share/pkgconfig) diff --git a/ports/asio/asio-config.cmake b/ports/asio/asio-config.cmake index 12807227537f6a..b916a009315d05 100644 --- a/ports/asio/asio-config.cmake +++ b/ports/asio/asio-config.cmake @@ -1,9 +1,9 @@ -include ("${CMAKE_CURRENT_LIST_DIR}/asio-targets.cmake") +find_package(Threads) -if(NOT TARGET asio::asio) - add_library(asio::asio INTERFACE IMPORTED) - target_link_libraries(asio::asio INTERFACE asio) +include("${CMAKE_CURRENT_LIST_DIR}/asio-targets.cmake") + +if(NOT TARGET asio) + add_library(asio ALIAS asio::asio) endif() -get_target_property(_ASIO_INCLUDE_DIR asio INTERFACE_INCLUDE_DIRECTORIES) -set(ASIO_INCLUDE_DIR "${_ASIO_INCLUDE_DIR}") +get_target_property(ASIO_INCLUDE_DIR asio::asio INTERFACE_INCLUDE_DIRECTORIES) diff --git a/ports/asio/portfile.cmake b/ports/asio/portfile.cmake index 844cfe79254a40..68b7874ad5ff94 100644 --- a/ports/asio/portfile.cmake +++ b/ports/asio/portfile.cmake @@ -1,29 +1,27 @@ -#header-only library +set(VCPKG_BUILD_TYPE release) # header-only +string(REPLACE "." "-" ref "asio-${VERSION}") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO chriskohlhoff/asio - REF asio-1-28-1 - SHA512 4ba0944b203e18524016de2e21ffa0fa6325414af5f6cff6d02450c15e0d7111cec91f7f125ae78d3b3a6f76c6b2c7155738d1830b3250e98c68b5304328f345 + REF "${ref}" + SHA512 9374ff97bd4af7b5b41754970b2bcb468f450fee46a80c9c3344f732c64091f2ac5a73ebf4ac1831c623793c08a3c109ae90b601273c40d062bfd4f026f1d94d HEAD_REF master ) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") # Always use "ASIO_STANDALONE" to avoid boost dependency vcpkg_replace_string("${SOURCE_PATH}/asio/include/asio/detail/config.hpp" "defined(ASIO_STANDALONE)" "!defined(VCPKG_DISABLE_ASIO_STANDALONE)") -# CMake install -file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DPACKAGE_VERSION=${VERSION} ) vcpkg_cmake_install() - +vcpkg_fixup_pkgconfig() + vcpkg_cmake_config_fixup() -file(INSTALL - "${CMAKE_CURRENT_LIST_DIR}/asio-config.cmake" - DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" -) -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/asio-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -# Handle copyright -file(INSTALL "${SOURCE_PATH}/asio/LICENSE_1_0.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/asio/LICENSE_1_0.txt") diff --git a/ports/asio/vcpkg.json b/ports/asio/vcpkg.json index 727d1f2da5b8d4..276b4ecd765382 100644 --- a/ports/asio/vcpkg.json +++ b/ports/asio/vcpkg.json @@ -1,9 +1,9 @@ { "name": "asio", - "version": "1.28.1", + "version": "1.32.0", "description": "Asio is a cross-platform C++ library for network and low-level I/O programming that provides developers with a consistent asynchronous model using a modern C++ approach.", - "homepage": "https://github.com/chriskohlhoff/asio", - "documentation": "https://think-async.com/Asio/asio-1.28.0/doc/", + "homepage": "https://think-async.com/Asio/", + "documentation": "https://think-async.com/Asio/Documentation.html", "license": "BSL-1.0", "dependencies": [ { diff --git a/ports/asiochan/fix-10.patch b/ports/asiochan/fix-10.patch new file mode 100644 index 00000000000000..a6a703230c5b12 --- /dev/null +++ b/ports/asiochan/fix-10.patch @@ -0,0 +1,16 @@ +diff --git a/include/asiochan/channel.hpp b/include/asiochan/channel.hpp +index 4ffd88c..1af7547 100644 +--- a/include/asiochan/channel.hpp ++++ b/include/asiochan/channel.hpp +@@ -55,6 +55,11 @@ namespace asiochan + return *shared_state_; + } + ++ [[nodiscard]] auto shared_state() const noexcept -> const shared_state_type& ++ { ++ return *shared_state_; ++ } ++ + [[nodiscard]] friend auto operator==( + channel_base const& lhs, + channel_base const& rhs) noexcept -> bool diff --git a/ports/asiochan/portfile.cmake b/ports/asiochan/portfile.cmake new file mode 100644 index 00000000000000..115dd03a8a456c --- /dev/null +++ b/ports/asiochan/portfile.cmake @@ -0,0 +1,14 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO MiSo1289/asiochan + REF 837d7eb78ca9796af800ca3cd91ce0a8fe297785 + SHA512 58e1e3291dc980ed59b0bc1fdcaa35db007e0044f4cbd352917caefa2d30b0c76a3db180091c1895867a3d026ce69f3a82b33dde3970cba5bef596620a2b20f8 + HEAD_REF master + PATCHES + fix-10.patch +) + +file(COPY "${SOURCE_PATH}/include" DESTINATION "${CURRENT_PACKAGES_DIR}") + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/asiochan/usage b/ports/asiochan/usage new file mode 100644 index 00000000000000..31954af04871ba --- /dev/null +++ b/ports/asiochan/usage @@ -0,0 +1,12 @@ +asiochan is header-only and can be used from CMake via: + + find_path(ASIOCHAN_INCLUDE_DIRS "asiochan/asiochan.hpp") + target_include_directories(main PRIVATE ${ASIOCHAN_INCLUDE_DIRS}) + +By default asiochan depend on boost/asio. If you need use standalone asio instead, please define micro ASIOCHAN_USE_STANDALONE_ASIO. +For example: + + find_path(ASIOCHAN_INCLUDE_DIRS "asiochan/asiochan.hpp") + target_compile_definitions(main PRIVATE ASIOCHAN_USE_STANDALONE_ASIO) + target_include_directories(main PRIVATE ${ASIOCHAN_INCLUDE_DIRS}) + diff --git a/ports/asiochan/vcpkg.json b/ports/asiochan/vcpkg.json new file mode 100644 index 00000000000000..0baca52faaff23 --- /dev/null +++ b/ports/asiochan/vcpkg.json @@ -0,0 +1,8 @@ +{ + "name": "asiochan", + "version-date": "2022-11-25", + "port-version": 1, + "description": "C++20 coroutine channels for ASIO", + "homepage": "https://github.com/MiSo1289/asiochan", + "license": "MIT" +} diff --git a/ports/asmjit/portfile.cmake b/ports/asmjit/portfile.cmake index 007c0635d9d8a4..59d90bd0d37f71 100644 --- a/ports/asmjit/portfile.cmake +++ b/ports/asmjit/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO asmjit/asmjit - REF 51b10b19b6631434d3f9ad536a6fb140944a36d2 # commited on 2023-03-25 - SHA512 1fba5159d2adad64e9a2b07a1f90de6988d1da47b9802ca8b57c61a89d8a90924525f6d0d6607279994bdbadcf693b2cc96cd7e4bf7f018ad64127b640dc38fb + REF ffac9f36fb045dd2c6a81e1b5b9ccc115e5ef924 # commited on 2024-06-28 + SHA512 3a594bdea7095f66356f8c21e03a4db2535811988726c25a29e66721cb703dc9dceddeb5f8a6c7daeafba3fbf6dd07e71375446d8dfb182f57c14bce28192774 HEAD_REF master ) @@ -16,7 +16,6 @@ vcpkg_cmake_configure( vcpkg_cmake_install() vcpkg_copy_pdbs() - vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/asmjit) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/asmjit/vcpkg.json b/ports/asmjit/vcpkg.json index fedfb2c7f7008e..47e60ced5679b9 100644 --- a/ports/asmjit/vcpkg.json +++ b/ports/asmjit/vcpkg.json @@ -1,9 +1,10 @@ { "name": "asmjit", - "version-date": "2023-03-25", - "description": "Complete x86/x64 JIT and Remote Assembler for C++", - "homepage": "https://github.com/asmjit/asmjit", - "supports": "!arm", + "version-date": "2024-06-28", + "description": "AsmJit is a lightweight library for machine code generation written in C++ language", + "homepage": "https://asmjit.com/", + "documentation": "https://asmjit.com/doc/", + "license": "Zlib", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/assimp/build_fixes.patch b/ports/assimp/build_fixes.patch index a58ff88da38535..93ac902a809421 100644 --- a/ports/assimp/build_fixes.patch +++ b/ports/assimp/build_fixes.patch @@ -1,519 +1,527 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 458a328..b8c2fc6 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -291,9 +291,9 @@ IF ((CMAKE_C_COMPILER_ID MATCHES "GNU") AND NOT MINGW) - ENDIF() - # supress warning for double to float conversion if Double precission is activated - ADD_COMPILE_OPTIONS(/wd4244) -- SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /D_DEBUG /Zi /Od") -- SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}") -- SET(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /DEBUG:FULL /PDBALTPATH:%_PDB% /OPT:REF /OPT:ICF") -+ # SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /D_DEBUG /Zi /Od") -+ # SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}") -+ # SET(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /DEBUG:FULL /PDBALTPATH:%_PDB% /OPT:REF /OPT:ICF") - ELSEIF (CMAKE_CXX_COMPILER_ID MATCHES "Clang" ) - IF(NOT ASSIMP_HUNTER_ENABLED) - SET(CMAKE_POSITION_INDEPENDENT_CODE ON) -@@ -418,7 +418,7 @@ ENDIF() - - set(GENERATED_DIR "${CMAKE_CURRENT_BINARY_DIR}/generated") - --IF(ASSIMP_HUNTER_ENABLED) -+IF(0) - set(CONFIG_INSTALL_DIR "lib/cmake/${PROJECT_NAME}") - set(CMAKE_CONFIG_TEMPLATE_FILE "cmake-modules/assimp-hunter-config.cmake.in") - set(NAMESPACE "${PROJECT_NAME}::") -@@ -426,7 +426,7 @@ IF(ASSIMP_HUNTER_ENABLED) - set(VERSION_CONFIG "${GENERATED_DIR}/${PROJECT_NAME}ConfigVersion.cmake") - set(PROJECT_CONFIG "${GENERATED_DIR}/${PROJECT_NAME}Config.cmake") - ELSE() -- set(CONFIG_INSTALL_DIR "${ASSIMP_LIB_INSTALL_DIR}/cmake/assimp-${ASSIMP_VERSION_MAJOR}.${ASSIMP_VERSION_MINOR}") -+ set(CONFIG_INSTALL_DIR "${ASSIMP_LIB_INSTALL_DIR}/cmake/assimp") - set(CMAKE_CONFIG_TEMPLATE_FILE "cmake-modules/assimp-plain-config.cmake.in") - string(TOLOWER ${PROJECT_NAME} PROJECT_NAME_LOWERCASE) - set(NAMESPACE "${PROJECT_NAME_LOWERCASE}::") -@@ -468,14 +468,14 @@ ENDIF() - - # Search for external dependencies, and build them from source if not found - # Search for zlib --IF(ASSIMP_HUNTER_ENABLED) -- hunter_add_package(ZLIB) -- find_package(ZLIB CONFIG REQUIRED) -+IF(1) -+ # hunter_add_package(ZLIB) -+ find_package(ZLIB REQUIRED) - - add_definitions(-DASSIMP_BUILD_NO_OWN_ZLIB) - set(ZLIB_FOUND TRUE) -- set(ZLIB_LIBRARIES ZLIB::zlib) -- set(ASSIMP_BUILD_MINIZIP TRUE) -+ set(ZLIB_LIBRARIES ZLIB::ZLIB) -+ set(ASSIMP_BUILD_MINIZIP OFF) - ELSE() - # If the zlib is already found outside, add an export in case assimpTargets can't find it. - IF( ZLIB_FOUND ) -@@ -516,12 +516,12 @@ ELSE() - ENDIF() - - IF( NOT IOS ) -- IF( NOT ASSIMP_BUILD_MINIZIP ) -+ IF( 0 ) - use_pkgconfig(UNZIP minizip) - ENDIF() - ELSE () - IF( NOT BUILD_SHARED_LIBS ) -- IF( NOT ASSIMP_BUILD_MINIZIP ) -+ IF( 0 ) - use_pkgconfig(UNZIP minizip) - ENDIF() - ENDIF () -diff --git a/cmake-modules/assimp-plain-config.cmake.in b/cmake-modules/assimp-plain-config.cmake.in -index 6551dcb..0796448 100644 ---- a/cmake-modules/assimp-plain-config.cmake.in -+++ b/cmake-modules/assimp-plain-config.cmake.in -@@ -1,5 +1,20 @@ - @PACKAGE_INIT@ - -+include(CMakeFindDependencyMacro) -+ -+find_dependency(pugixml CONFIG) -+if(NOT @BUILD_SHARED_LIBS@) -+ find_dependency(kubazip CONFIG) -+ find_dependency(unofficial-minizip CONFIG) -+ #find_dependency(openddlparser CONFIG) -+ find_dependency(poly2tri CONFIG) -+ find_dependency(polyclipping CONFIG) -+ find_dependency(RapidJSON CONFIG) -+ find_dependency(Stb MODULE) -+ find_dependency(utf8cpp CONFIG) -+ find_dependency(ZLIB) -+endif() -+ - include("${CMAKE_CURRENT_LIST_DIR}/@TARGETS_EXPORT_NAME@.cmake") - - set(ASSIMP_ROOT_DIR ${PACKAGE_PREFIX_DIR}) -diff --git a/code/AssetLib/3MF/D3MFExporter.cpp b/code/AssetLib/3MF/D3MFExporter.cpp -index 42cd991..640e2fb 100644 ---- a/code/AssetLib/3MF/D3MFExporter.cpp -+++ b/code/AssetLib/3MF/D3MFExporter.cpp -@@ -57,7 +57,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #ifdef ASSIMP_USE_HUNTER - #include - #else --#include -+#include - #endif - - namespace Assimp { -diff --git a/code/AssetLib/Blender/BlenderTessellator.h b/code/AssetLib/Blender/BlenderTessellator.h -index 0d0ba32..c3703c4 100644 ---- a/code/AssetLib/Blender/BlenderTessellator.h -+++ b/code/AssetLib/Blender/BlenderTessellator.h -@@ -143,7 +143,7 @@ namespace Assimp - - #if ASSIMP_BLEND_WITH_POLY_2_TRI - --#include "contrib/poly2tri/poly2tri/poly2tri.h" -+#include - - namespace Assimp - { -diff --git a/code/AssetLib/IFC/IFCGeometry.cpp b/code/AssetLib/IFC/IFCGeometry.cpp -index ef59542..17e00cd 100644 ---- a/code/AssetLib/IFC/IFCGeometry.cpp -+++ b/code/AssetLib/IFC/IFCGeometry.cpp -@@ -45,8 +45,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include "IFCUtil.h" - #include "Common/PolyTools.h" - #include "PostProcessing/ProcessHelper.h" --#include "contrib/poly2tri/poly2tri/poly2tri.h" --#include "contrib/clipper/clipper.hpp" -+#include -+#include - - #include - #include -diff --git a/code/AssetLib/IFC/IFCLoader.cpp b/code/AssetLib/IFC/IFCLoader.cpp -index 0c20686..e6b20a3 100644 ---- a/code/AssetLib/IFC/IFCLoader.cpp -+++ b/code/AssetLib/IFC/IFCLoader.cpp -@@ -54,7 +54,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #ifdef ASSIMP_USE_HUNTER - #include - #else --#include -+#include - #endif - #endif - -diff --git a/code/AssetLib/IFC/IFCOpenings.cpp b/code/AssetLib/IFC/IFCOpenings.cpp -index 3c4a0b3..3fab616 100644 ---- a/code/AssetLib/IFC/IFCOpenings.cpp -+++ b/code/AssetLib/IFC/IFCOpenings.cpp -@@ -47,7 +47,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include "IFCUtil.h" - #include "Common/PolyTools.h" - #include "PostProcessing/ProcessHelper.h" --#include "contrib/poly2tri/poly2tri/poly2tri.h" --#include "contrib/clipper/clipper.hpp" -+#include -+#include - - #include - #include -diff --git a/code/AssetLib/MMD/MMDPmxParser.cpp b/code/AssetLib/MMD/MMDPmxParser.cpp -index ca37ba1..2ce7bdd 100644 ---- a/code/AssetLib/MMD/MMDPmxParser.cpp -+++ b/code/AssetLib/MMD/MMDPmxParser.cpp -@@ -45,7 +45,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #ifdef ASSIMP_USE_HUNTER - # include - #else --# include "../contrib/utf8cpp/source/utf8.h" -+# include - #endif - #include - -diff --git a/code/AssetLib/SIB/SIBImporter.cpp b/code/AssetLib/SIB/SIBImporter.cpp -index 7b66afa..5adbe1d 100644 ---- a/code/AssetLib/SIB/SIBImporter.cpp -+++ b/code/AssetLib/SIB/SIBImporter.cpp -@@ -59,7 +59,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #ifdef ASSIMP_USE_HUNTER - #include - #else --#include "../contrib/utf8cpp/source/utf8.h" -+#include - #endif - #include - #include -diff --git a/code/AssetLib/STEPParser/STEPFileEncoding.cpp b/code/AssetLib/STEPParser/STEPFileEncoding.cpp -index d4456e6..812f29b 100644 ---- a/code/AssetLib/STEPParser/STEPFileEncoding.cpp -+++ b/code/AssetLib/STEPParser/STEPFileEncoding.cpp -@@ -48,7 +48,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #ifdef ASSIMP_USE_HUNTER - # include - #else --# include -+# include - #endif - - #include -diff --git a/code/CMakeLists.txt b/code/CMakeLists.txt -index 5339454..45e07c0 100644 ---- a/code/CMakeLists.txt -+++ b/code/CMakeLists.txt -@@ -897,8 +897,8 @@ SET( Extra_SRCS - SOURCE_GROUP( Extra FILES ${Extra_SRCS}) - - # pugixml --IF(ASSIMP_HUNTER_ENABLED) -- hunter_add_package(pugixml) -+IF(1) -+ #hunter_add_package(pugixml) - find_package(pugixml CONFIG REQUIRED) - ELSE() - SET( Pugixml_SRCS -@@ -919,30 +919,30 @@ ELSE() - ENDIF() - - # utf8 --IF(ASSIMP_HUNTER_ENABLED) -- hunter_add_package(utf8) -+IF(1) -+ #hunter_add_package(utf8) - find_package(utf8cpp CONFIG REQUIRED) - ELSE() - # utf8 is header-only, so Assimp doesn't need to do anything. - ENDIF() - - # polyclipping --#IF(ASSIMP_HUNTER_ENABLED) -+IF(1) - # hunter_add_package(polyclipping) --# find_package(polyclipping CONFIG REQUIRED) --#ELSE() -+ find_package(polyclipping CONFIG REQUIRED) -+ELSE() - SET( Clipper_SRCS - ../contrib/clipper/clipper.hpp - ../contrib/clipper/clipper.cpp - ) - SOURCE_GROUP( Contrib\\Clipper FILES ${Clipper_SRCS}) --#ENDIF() -+ENDIF() - - # poly2tri --#IF(ASSIMP_HUNTER_ENABLED) -+IF(1) - # hunter_add_package(poly2tri) --# find_package(poly2tri CONFIG REQUIRED) --#ELSE() -+ find_package(poly2tri CONFIG REQUIRED) -+ELSE() - SET( Poly2Tri_SRCS - ../contrib/poly2tri/poly2tri/common/shapes.cc - ../contrib/poly2tri/poly2tri/common/shapes.h -@@ -957,11 +957,11 @@ ELSE() - ../contrib/poly2tri/poly2tri/sweep/sweep_context.h - ) - SOURCE_GROUP( Contrib\\Poly2Tri FILES ${Poly2Tri_SRCS}) --#ENDIF() -+ENDIF() - - # minizip/unzip --IF(ASSIMP_HUNTER_ENABLED) -- hunter_add_package(minizip) -+IF(1) -+ #hunter_add_package(minizip) -- find_package(minizip CONFIG REQUIRED) -+ find_package(unofficial-minizip CONFIG REQUIRED) - ELSE() - SET( unzip_SRCS -@@ -969,9 +969,9 @@ ENDIF() - # zip (https://github.com/kuba--/zip) - separate_arguments(ASSIMP_EXPORTERS_LIST UNIX_COMMAND ${ASSIMP_EXPORTERS_ENABLED}) - IF(3MF IN_LIST ASSIMP_EXPORTERS_LIST) -- IF(ASSIMP_HUNTER_ENABLED) -- hunter_add_package(zip) -- find_package(zip CONFIG REQUIRED) -+ IF(1) -+ #hunter_add_package(zip) -+ find_package(kubazip CONFIG REQUIRED) - ELSE() - SET( ziplib_SRCS - ../contrib/zip/src/miniz.h -@@ -991,7 +991,7 @@ IF(3MF IN_LIST ASSIMP_EXPORTERS_LIST) - ENDIF() - - # openddlparser --IF(ASSIMP_HUNTER_ENABLED) -+IF(0) - hunter_add_package(openddlparser) - find_package(openddlparser CONFIG REQUIRED) - ELSE() -@@ -1014,7 +1014,7 @@ ELSE() - ENDIF() - - # Open3DGC --IF(ASSIMP_HUNTER_ENABLED) -+IF(0) - # Nothing to do, not available in Hunter yet. - ELSE() - SET ( open3dgc_SRCS -@@ -1049,6 +1049,7 @@ ELSE() - ../contrib/Open3DGC/o3dgcVector.inl - ) - SOURCE_GROUP( Contrib\\open3dgc FILES ${open3dgc_SRCS}) -+ INCLUDE_DIRECTORIES("../contrib") - ENDIF() - - # Check dependencies for glTF importer with Open3DGC-compression. -@@ -1057,7 +1058,7 @@ ENDIF() - IF (NOT WIN32) - FIND_PACKAGE(RT QUIET) - ENDIF () --IF (NOT ASSIMP_HUNTER_ENABLED AND (RT_FOUND OR WIN32)) -+IF (1) - SET( ASSIMP_IMPORTER_GLTF_USE_OPEN3DGC 1 ) - ADD_DEFINITIONS( -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 ) - ELSE () -@@ -1067,9 +1068,10 @@ ELSE () - ENDIF () - - # RapidJSON --IF(ASSIMP_HUNTER_ENABLED) -- hunter_add_package(RapidJSON) -+IF(1) -+ #hunter_add_package(RapidJSON) - find_package(RapidJSON CONFIG REQUIRED) -+ ADD_DEFINITIONS( -DRAPIDJSON_HAS_STDSTRING=1) - ELSE() - INCLUDE_DIRECTORIES("../contrib/rapidjson/include") - ADD_DEFINITIONS( -DRAPIDJSON_HAS_STDSTRING=1) -@@ -1080,9 +1082,9 @@ ELSE() - ENDIF() - - # stb --IF(ASSIMP_HUNTER_ENABLED) -- hunter_add_package(stb) -- find_package(stb CONFIG REQUIRED) -+IF(1) -+ #hunter_add_package(stb) -+ find_package(Stb REQUIRED) - ELSE() - SET( stb_SRCS - ../contrib/stb/stb_image.h -@@ -1106,7 +1108,7 @@ IF( MSVC OR "${CMAKE_CXX_SIMULATE_ID}" MATCHES "MSVC") # clang with MSVC ABI - ADD_DEFINITIONS( -D_CRT_SECURE_NO_WARNINGS ) - endif () - --IF(NOT ASSIMP_HUNTER_ENABLED) -+IF(0) - if (UNZIP_FOUND) - SET (unzip_compile_SRCS "") - else () -@@ -1157,7 +1159,7 @@ SET( assimp_src - ) - ADD_DEFINITIONS( -DOPENDDLPARSER_BUILD ) - --IF(NOT ASSIMP_HUNTER_ENABLED) -+IF(1) - INCLUDE_DIRECTORIES( - ${IRRXML_INCLUDE_DIR} - ../contrib/openddlparser/include -@@ -1195,45 +1197,48 @@ TARGET_INCLUDE_DIRECTORIES ( assimp PUBLIC - $ - $ - $ -+ PRIVATE -+ ${Stb_INCLUDE_DIR} - ) - --IF(ASSIMP_HUNTER_ENABLED) -+IF(1) - TARGET_LINK_LIBRARIES(assimp -- PUBLIC -- #polyclipping::polyclipping -- openddlparser::openddl_parser -+ PRIVATE -+ polyclipping::polyclipping -+ #openddlparser::openddl_parser -+ ${OPENDDL_PARSER_LIBRARIES} -- #poly2tri::poly2tri -+ poly2tri::poly2tri -- minizip::minizip -+ unofficial::minizip::minizip -- ZLIB::zlib -- RapidJSON::rapidjson -+ ZLIB::ZLIB -+ rapidjson - utf8cpp -+ PUBLIC - pugixml -- stb::stb - ) -- if(TARGET zip::zip) -- target_link_libraries(assimp PUBLIC zip::zip) -+ if(1) -+ target_link_libraries(assimp PRIVATE kubazip::kubazip) - endif() - - if (ASSIMP_BUILD_DRACO) -- target_link_libraries(assimp PUBLIC ${draco_LIBRARIES}) -+ target_link_libraries(assimp PRIVATE ${draco_LIBRARIES}) - endif() - ELSE() -- TARGET_LINK_LIBRARIES(assimp ${ZLIB_LIBRARIES} ${OPENDDL_PARSER_LIBRARIES}) -+ TARGET_LINK_LIBRARIES(assimp PRIVATE ${ZLIB_LIBRARIES} ${OPENDDL_PARSER_LIBRARIES}) - if (ASSIMP_BUILD_DRACO) -- target_link_libraries(assimp ${draco_LIBRARIES}) -+ target_link_libraries(assimp PRIVATE ${draco_LIBRARIES}) - endif() - ENDIF() - - if(ASSIMP_ANDROID_JNIIOSYSTEM) - set(ASSIMP_ANDROID_JNIIOSYSTEM_PATH port/AndroidJNI) - add_subdirectory(../${ASSIMP_ANDROID_JNIIOSYSTEM_PATH}/ ../${ASSIMP_ANDROID_JNIIOSYSTEM_PATH}/) -- target_link_libraries(assimp android_jniiosystem) -+ target_link_libraries(assimp PRIVATE android_jniiosystem) - endif() - - IF (ASSIMP_BUILD_NONFREE_C4D_IMPORTER) -- TARGET_LINK_LIBRARIES(assimp optimized ${C4D_RELEASE_LIBRARIES}) -- TARGET_LINK_LIBRARIES(assimp debug ${C4D_DEBUG_LIBRARIES}) -- TARGET_LINK_LIBRARIES(assimp ${C4D_EXTRA_LIBRARIES}) -+ TARGET_LINK_LIBRARIES(assimp PRIVATE optimized ${C4D_RELEASE_LIBRARIES}) -+ TARGET_LINK_LIBRARIES(assimp PRIVATE debug ${C4D_DEBUG_LIBRARIES}) -+ TARGET_LINK_LIBRARIES(assimp PRIVATE ${C4D_EXTRA_LIBRARIES}) - ENDIF () - - if( MSVC ) -@@ -1274,13 +1279,13 @@ if (MINGW) - ARCHIVE_OUTPUT_NAME assimp - ) - if (NOT BUILD_SHARED_LIBS) -- TARGET_LINK_LIBRARIES ( assimp -static-libgcc -static-libstdc++ -Wl,-Bstatic -lstdc++ -lwinpthread ) # winpthread is for libminizip. -+ TARGET_LINK_LIBRARIES ( assimp PRIVATE -static-libgcc -static-libstdc++ -Wl,-Bstatic -lstdc++ -lwinpthread ) # winpthread is for libminizip. - endif () - endif() - - if (${CMAKE_SYSTEM_NAME} MATCHES "WindowsStore") - target_compile_definitions(assimp PUBLIC WindowsStore) -- TARGET_LINK_LIBRARIES(assimp advapi32) -+ TARGET_LINK_LIBRARIES(assimp PRIVATE advapi32) - endif() - - SET_TARGET_PROPERTIES( assimp PROPERTIES -@@ -1310,10 +1315,10 @@ ENDIF() - - # Build against external unzip, or add ../contrib/unzip so - # assimp can #include "unzip.h" --IF(NOT ASSIMP_HUNTER_ENABLED) -+IF(0) - if (UNZIP_FOUND) - INCLUDE_DIRECTORIES(${UNZIP_INCLUDE_DIRS}) -- TARGET_LINK_LIBRARIES(assimp ${UNZIP_LIBRARIES}) -+ TARGET_LINK_LIBRARIES(assimp PRIVATE ${UNZIP_LIBRARIES}) - else () - INCLUDE_DIRECTORIES("../") - endif () -@@ -1321,7 +1326,7 @@ ENDIF() - - # Add RT-extension library for glTF importer with Open3DGC-compression. - IF (RT_FOUND AND ASSIMP_IMPORTER_GLTF_USE_OPEN3DGC) -- TARGET_LINK_LIBRARIES(assimp rt) -+ TARGET_LINK_LIBRARIES(assimp PRIVATE rt) - ENDIF () - - -diff --git a/code/Common/StbCommon.h b/code/Common/StbCommon.h -index 1265d25..18f4564 100644 ---- a/code/Common/StbCommon.h -+++ b/code/Common/StbCommon.h -@@ -53,7 +53,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #pragma clang diagnostic ignored "-Wunused-function" - #endif - --#ifndef STB_USE_HUNTER -+#if 0 - /* Use prefixed names for the symbols from stb_image as it is a very commonly embedded library. - Including vanilla stb_image symbols causes duplicate symbol problems if assimp is linked - statically together with another library or executable that also embeds stb_image. -@@ -111,7 +111,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #define stbi_zlib_decode_noheader_malloc assimp_stbi_zlib_decode_noheader_malloc - #endif - --#include "stb/stb_image.h" -+#include - - #if _MSC_VER - #pragma warning(pop) -diff --git a/code/Common/BaseImporter.cpp b/code/Common/BaseImporter.cpp -index 383300e..03fdd9a 100644 ---- a/code/Common/BaseImporter.cpp -+++ b/code/Common/BaseImporter.cpp -@@ -332,7 +332,7 @@ std::string BaseImporter::GetExtension(const std::string &file) { - #ifdef ASSIMP_USE_HUNTER - #include - #else --#include "../contrib/utf8cpp/source/utf8.h" -+#include - #endif - - // ------------------------------------------------------------------------------------------------ -diff --git a/code/Common/ZipArchiveIOSystem.cpp b/code/Common/ZipArchiveIOSystem.cpp -index 3d5c72e..770cb9d 100644 ---- a/code/Common/ZipArchiveIOSystem.cpp -+++ b/code/Common/ZipArchiveIOSystem.cpp -@@ -54,7 +54,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #ifdef ASSIMP_USE_HUNTER - # include - #else --# include -+# include - #endif - - namespace Assimp { +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d45eb22..0b5da28 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -307,7 +307,6 @@ ELSEIF(MSVC) + ENDIF() + # supress warning for double to float conversion if Double precision is activated + ADD_COMPILE_OPTIONS(/wd4244) +- SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /D_DEBUG /Zi /Od") + # Allow user to disable PDBs + if(ASSIMP_INSTALL_PDB) + SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Zi") +@@ -315,8 +314,7 @@ ELSEIF(MSVC) + elseif((GENERATOR_IS_MULTI_CONFIG) OR (CMAKE_BUILD_TYPE MATCHES Release)) + message("-- MSVC PDB generation disabled. Release binary will not be debuggable.") + endif() +- # Source code is encoded in UTF-8 +- ADD_COMPILE_OPTIONS(/source-charset:utf-8) ++ + ELSEIF (CMAKE_CXX_COMPILER_ID MATCHES "Clang" ) + IF(NOT ASSIMP_HUNTER_ENABLED) + SET(CMAKE_POSITION_INDEPENDENT_CODE ON) +@@ -444,7 +442,7 @@ ENDIF() + + set(GENERATED_DIR "${CMAKE_CURRENT_BINARY_DIR}/generated") + +-IF(ASSIMP_HUNTER_ENABLED) ++IF(0) + set(CONFIG_INSTALL_DIR "lib/cmake/${PROJECT_NAME}") + set(CMAKE_CONFIG_TEMPLATE_FILE "cmake-modules/assimp-hunter-config.cmake.in") + set(NAMESPACE "${PROJECT_NAME}::") +@@ -452,7 +450,7 @@ IF(ASSIMP_HUNTER_ENABLED) + set(VERSION_CONFIG "${GENERATED_DIR}/${PROJECT_NAME}ConfigVersion.cmake") + set(PROJECT_CONFIG "${GENERATED_DIR}/${PROJECT_NAME}Config.cmake") + ELSE() +- set(CONFIG_INSTALL_DIR "${ASSIMP_LIB_INSTALL_DIR}/cmake/assimp-${ASSIMP_VERSION_MAJOR}.${ASSIMP_VERSION_MINOR}") ++ set(CONFIG_INSTALL_DIR "${ASSIMP_LIB_INSTALL_DIR}/cmake/assimp") + set(CMAKE_CONFIG_TEMPLATE_FILE "cmake-modules/assimp-plain-config.cmake.in") + string(TOLOWER ${PROJECT_NAME} PROJECT_NAME_LOWERCASE) + set(NAMESPACE "${PROJECT_NAME_LOWERCASE}::") +@@ -496,14 +494,13 @@ ENDIF() + + # Search for external dependencies, and build them from source if not found + # Search for zlib +-IF(ASSIMP_HUNTER_ENABLED) +- hunter_add_package(ZLIB) +- find_package(ZLIB CONFIG REQUIRED) ++IF(1) ++ find_package(ZLIB REQUIRED) + + add_definitions(-DASSIMP_BUILD_NO_OWN_ZLIB) + set(ZLIB_FOUND TRUE) +- set(ZLIB_LIBRARIES ZLIB::zlib) +- set(ASSIMP_BUILD_MINIZIP TRUE) ++ set(ZLIB_LIBRARIES ZLIB::ZLIB) ++ set(ASSIMP_BUILD_MINIZIP OFF) + ELSE() + # If the zlib is already found outside, add an export in case assimpTargets can't find it. + IF( ZLIB_FOUND AND ASSIMP_INSTALL) +@@ -547,13 +544,13 @@ ELSE() + INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR}) + ENDIF() + +-IF( NOT IOS ) ++IF( 0 ) + IF( NOT ASSIMP_BUILD_MINIZIP ) + use_pkgconfig(UNZIP minizip) + ENDIF() + ELSE () + IF( NOT BUILD_SHARED_LIBS ) +- IF( NOT ASSIMP_BUILD_MINIZIP ) ++ IF( 0 ) + use_pkgconfig(UNZIP minizip) + ENDIF() + ENDIF () +diff --git a/cmake-modules/assimp-plain-config.cmake.in b/cmake-modules/assimp-plain-config.cmake.in +index 6551dcb..3064f70 100644 +--- a/cmake-modules/assimp-plain-config.cmake.in ++++ b/cmake-modules/assimp-plain-config.cmake.in +@@ -1,5 +1,19 @@ + @PACKAGE_INIT@ + ++include(CMakeFindDependencyMacro) ++ ++if(NOT @BUILD_SHARED_LIBS@) ++ find_dependency(kubazip CONFIG) ++ find_dependency(unofficial-minizip CONFIG) ++ find_dependency(pugixml CONFIG) ++ find_dependency(poly2tri CONFIG) ++ find_dependency(polyclipping CONFIG) ++ find_dependency(RapidJSON CONFIG) ++ find_dependency(Stb MODULE) ++ find_dependency(utf8cpp CONFIG) ++ find_dependency(ZLIB) ++endif() ++ + include("${CMAKE_CURRENT_LIST_DIR}/@TARGETS_EXPORT_NAME@.cmake") + + set(ASSIMP_ROOT_DIR ${PACKAGE_PREFIX_DIR}) +diff --git a/code/AssetLib/3MF/D3MFExporter.cpp b/code/AssetLib/3MF/D3MFExporter.cpp +index 6c09f09..7b3410a 100644 +--- a/code/AssetLib/3MF/D3MFExporter.cpp ++++ b/code/AssetLib/3MF/D3MFExporter.cpp +@@ -57,7 +57,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #ifdef ASSIMP_USE_HUNTER + #include + #else +-#include ++#include + #endif + + namespace Assimp { +diff --git a/code/AssetLib/Blender/BlenderTessellator.h b/code/AssetLib/Blender/BlenderTessellator.h +index e43535f..a0104c1 100644 +--- a/code/AssetLib/Blender/BlenderTessellator.h ++++ b/code/AssetLib/Blender/BlenderTessellator.h +@@ -143,7 +143,7 @@ namespace Assimp + + #if ASSIMP_BLEND_WITH_POLY_2_TRI + +-#include "contrib/poly2tri/poly2tri/poly2tri.h" ++#include + + namespace Assimp + { +diff --git a/code/AssetLib/IFC/IFCGeometry.cpp b/code/AssetLib/IFC/IFCGeometry.cpp +index d488b23..1a6c0c7 100644 +--- a/code/AssetLib/IFC/IFCGeometry.cpp ++++ b/code/AssetLib/IFC/IFCGeometry.cpp +@@ -45,8 +45,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include "IFCUtil.h" + #include "Common/PolyTools.h" + #include "PostProcessing/ProcessHelper.h" +-#include "contrib/poly2tri/poly2tri/poly2tri.h" +-#include "contrib/clipper/clipper.hpp" ++#include ++#include + + #include + #include +diff --git a/code/AssetLib/IFC/IFCLoader.cpp b/code/AssetLib/IFC/IFCLoader.cpp +index 13ea2d4..aeeb311 100644 +--- a/code/AssetLib/IFC/IFCLoader.cpp ++++ b/code/AssetLib/IFC/IFCLoader.cpp +@@ -53,7 +53,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #ifdef ASSIMP_USE_HUNTER + #include + #else +-#include ++#include + #endif + #endif + +diff --git a/code/AssetLib/IFC/IFCOpenings.cpp b/code/AssetLib/IFC/IFCOpenings.cpp +index 1d37dd8..eadbc86 100644 +--- a/code/AssetLib/IFC/IFCOpenings.cpp ++++ b/code/AssetLib/IFC/IFCOpenings.cpp +@@ -47,8 +47,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include "IFCUtil.h" + #include "Common/PolyTools.h" + #include "PostProcessing/ProcessHelper.h" +-#include "contrib/poly2tri/poly2tri/poly2tri.h" +-#include "contrib/clipper/clipper.hpp" ++#include ++#include + + #include + #include +diff --git a/code/AssetLib/MMD/MMDPmxParser.cpp b/code/AssetLib/MMD/MMDPmxParser.cpp +index 5a3e61d..e444dc8 100644 +--- a/code/AssetLib/MMD/MMDPmxParser.cpp ++++ b/code/AssetLib/MMD/MMDPmxParser.cpp +@@ -42,7 +42,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include + #include "MMDPmxParser.h" + #include +-#include "utf8.h" ++#include + #include + + namespace pmx +diff --git a/code/AssetLib/SIB/SIBImporter.cpp b/code/AssetLib/SIB/SIBImporter.cpp +index e55e675..fb1a12b 100644 +--- a/code/AssetLib/SIB/SIBImporter.cpp ++++ b/code/AssetLib/SIB/SIBImporter.cpp +@@ -56,7 +56,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include + #include + #include +-#include "utf8.h" ++#include + #include + #include + #include +diff --git a/code/AssetLib/STEPParser/STEPFileEncoding.cpp b/code/AssetLib/STEPParser/STEPFileEncoding.cpp +index d7f512c..94275f1 100644 +--- a/code/AssetLib/STEPParser/STEPFileEncoding.cpp ++++ b/code/AssetLib/STEPParser/STEPFileEncoding.cpp +@@ -45,7 +45,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + #include "STEPFileEncoding.h" + #include +-#include "utf8.h" ++#include + + #include + +diff --git a/code/CMakeLists.txt b/code/CMakeLists.txt +index 9b27086..b7c2ccb 100644 +--- a/code/CMakeLists.txt ++++ b/code/CMakeLists.txt +@@ -1050,8 +1050,8 @@ ELSE() # IF (ASSIMP_BUILD_USD_IMPORTER) + ENDIF() # IF (ASSIMP_BUILD_USD_IMPORTER) + + # pugixml +-IF(ASSIMP_HUNTER_ENABLED) +- hunter_add_package(pugixml) ++IF(1) ++ #hunter_add_package(pugixml) + find_package(pugixml CONFIG REQUIRED) + ELSE() + SET( Pugixml_SRCS +@@ -1063,30 +1063,30 @@ ELSE() + ENDIF() + + # utf8 +-IF(ASSIMP_HUNTER_ENABLED) +- hunter_add_package(utf8) ++IF(1) ++ #hunter_add_package(utf8) + find_package(utf8cpp CONFIG REQUIRED) + ELSE() + INCLUDE_DIRECTORIES("../contrib/utf8cpp/source") + ENDIF() + + # polyclipping +-#IF(ASSIMP_HUNTER_ENABLED) ++IF(1) + # hunter_add_package(polyclipping) +-# find_package(polyclipping CONFIG REQUIRED) +-#ELSE() ++ find_package(polyclipping CONFIG REQUIRED) ++ELSE() + SET( Clipper_SRCS + ../contrib/clipper/clipper.hpp + ../contrib/clipper/clipper.cpp + ) + SOURCE_GROUP( Contrib\\Clipper FILES ${Clipper_SRCS}) +-#ENDIF() ++ENDIF() + + # poly2tri +-#IF(ASSIMP_HUNTER_ENABLED) ++IF(1) + # hunter_add_package(poly2tri) +-# find_package(poly2tri CONFIG REQUIRED) +-#ELSE() ++ find_package(poly2tri CONFIG REQUIRED) ++ELSE() + SET( Poly2Tri_SRCS + ../contrib/poly2tri/poly2tri/common/shapes.cc + ../contrib/poly2tri/poly2tri/common/shapes.h +@@ -1101,12 +1101,12 @@ ENDIF() + ../contrib/poly2tri/poly2tri/sweep/sweep_context.h + ) + SOURCE_GROUP( Contrib\\Poly2Tri FILES ${Poly2Tri_SRCS}) +-#ENDIF() ++ENDIF() + + # minizip/unzip +-IF(ASSIMP_HUNTER_ENABLED) +- hunter_add_package(minizip) +- find_package(minizip CONFIG REQUIRED) ++IF(1) ++ #hunter_add_package(minizip) ++ find_package(unofficial-minizip CONFIG REQUIRED) + ELSE() + SET( unzip_SRCS + ../contrib/unzip/crypt.h +@@ -1121,9 +1121,9 @@ ENDIF() + # zip (https://github.com/kuba--/zip) + separate_arguments(ASSIMP_EXPORTERS_LIST UNIX_COMMAND ${ASSIMP_EXPORTERS_ENABLED}) + IF(3MF IN_LIST ASSIMP_EXPORTERS_LIST) +- IF(ASSIMP_HUNTER_ENABLED) +- hunter_add_package(zip) +- find_package(zip CONFIG REQUIRED) ++ IF(1) ++ #hunter_add_package(zip) ++ find_package(kubazip CONFIG REQUIRED) + ELSE() + SET( ziplib_SRCS + ../contrib/zip/src/miniz.h +@@ -1143,7 +1143,7 @@ IF(3MF IN_LIST ASSIMP_EXPORTERS_LIST) + ENDIF() + + # openddlparser +-IF(ASSIMP_HUNTER_ENABLED) ++IF(0) + hunter_add_package(openddlparser) + find_package(openddlparser CONFIG REQUIRED) + ELSE() +@@ -1166,7 +1166,7 @@ ELSE() + ENDIF() + + # Open3DGC +-IF(ASSIMP_HUNTER_ENABLED) ++IF(0) + # Nothing to do, not available in Hunter yet. + ELSE() + SET ( open3dgc_SRCS +@@ -1201,6 +1201,7 @@ ELSE() + ../contrib/Open3DGC/o3dgcVector.inl + ) + SOURCE_GROUP( Contrib\\open3dgc FILES ${open3dgc_SRCS}) ++ INCLUDE_DIRECTORIES("../contrib") + ENDIF() + + # Check dependencies for glTF importer with Open3DGC-compression. +@@ -1209,7 +1210,7 @@ ENDIF() + IF (NOT WIN32) + FIND_PACKAGE(RT QUIET) + ENDIF () +-IF (NOT ASSIMP_HUNTER_ENABLED AND (RT_FOUND OR WIN32)) ++IF (1) + SET( ASSIMP_IMPORTER_GLTF_USE_OPEN3DGC 1 ) + ADD_DEFINITIONS( -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 ) + ELSE () +@@ -1219,9 +1220,10 @@ ELSE () + ENDIF () + + # RapidJSON +-IF(ASSIMP_HUNTER_ENABLED) +- hunter_add_package(RapidJSON) ++IF(1) ++ #hunter_add_package(RapidJSON) + find_package(RapidJSON CONFIG REQUIRED) ++ ADD_DEFINITIONS( -DRAPIDJSON_HAS_STDSTRING=1) + ELSE() + INCLUDE_DIRECTORIES("../contrib/rapidjson/include") + ADD_DEFINITIONS( -DRAPIDJSON_HAS_STDSTRING=1) +@@ -1232,9 +1234,8 @@ ELSE() + ENDIF() + + # stb +-IF(ASSIMP_HUNTER_ENABLED) +- hunter_add_package(stb) +- find_package(stb CONFIG REQUIRED) ++IF(1) ++ find_package(Stb REQUIRED) + ELSE() + SET( stb_SRCS + ../contrib/stb/stb_image.h +@@ -1256,7 +1257,7 @@ IF( MSVC OR "${CMAKE_CXX_SIMULATE_ID}" MATCHES "MSVC") # clang with MSVC ABI + ADD_DEFINITIONS( -D_CRT_SECURE_NO_WARNINGS ) + endif () + +-IF(NOT ASSIMP_HUNTER_ENABLED) ++IF(0) + if (UNZIP_FOUND) + SET (unzip_compile_SRCS "") + else () +@@ -1310,7 +1311,7 @@ SET( assimp_src + ) + ADD_DEFINITIONS( -DOPENDDLPARSER_BUILD ) + +-IF(NOT ASSIMP_HUNTER_ENABLED) ++IF(1) + INCLUDE_DIRECTORIES( + ${IRRXML_INCLUDE_DIR} + ../contrib/openddlparser/include +@@ -1412,45 +1413,47 @@ TARGET_INCLUDE_DIRECTORIES ( assimp PUBLIC + $ + $ + $ ++ PRIVATE ++ ${Stb_INCLUDE_DIR} + ) + +-IF(ASSIMP_HUNTER_ENABLED) ++IF(1) + TARGET_LINK_LIBRARIES(assimp +- PUBLIC +- #polyclipping::polyclipping +- openddlparser::openddl_parser +- #poly2tri::poly2tri +- minizip::minizip +- ZLIB::zlib +- RapidJSON::rapidjson +- utf8cpp ++ PRIVATE ++ polyclipping::polyclipping ++ #openddlparser::openddl_parser ++ ${OPENDDL_PARSER_LIBRARIES} ++ poly2tri::poly2tri ++ unofficial::minizip::minizip ++ ZLIB::ZLIB ++ rapidjson ++ utf8cpp::utf8cpp + pugixml +- stb::stb + ) +- if(TARGET zip::zip) +- target_link_libraries(assimp PUBLIC zip::zip) ++ if(1) ++ target_link_libraries(assimp PRIVATE kubazip::kubazip) + endif() + + if (ASSIMP_BUILD_DRACO) + target_link_libraries(assimp PRIVATE ${draco_LIBRARIES}) + endif() + ELSE() +- TARGET_LINK_LIBRARIES(assimp ${ZLIB_LIBRARIES} ${OPENDDL_PARSER_LIBRARIES}) ++ TARGET_LINK_LIBRARIES(assimp PRIVATE ${ZLIB_LIBRARIES} ${OPENDDL_PARSER_LIBRARIES}) + if (ASSIMP_BUILD_DRACO) +- target_link_libraries(assimp ${draco_LIBRARIES}) ++ target_link_libraries(assimp PRIVATE ${draco_LIBRARIES}) + endif() + ENDIF() + + if(ASSIMP_ANDROID_JNIIOSYSTEM) + set(ASSIMP_ANDROID_JNIIOSYSTEM_PATH port/AndroidJNI) + add_subdirectory(../${ASSIMP_ANDROID_JNIIOSYSTEM_PATH}/ ../${ASSIMP_ANDROID_JNIIOSYSTEM_PATH}/) +- target_link_libraries(assimp android_jniiosystem) ++ target_link_libraries(assimp PRIVATE android_jniiosystem) + endif() + + IF (ASSIMP_BUILD_NONFREE_C4D_IMPORTER) +- TARGET_LINK_LIBRARIES(assimp optimized ${C4D_RELEASE_LIBRARIES}) +- TARGET_LINK_LIBRARIES(assimp debug ${C4D_DEBUG_LIBRARIES}) +- TARGET_LINK_LIBRARIES(assimp ${C4D_EXTRA_LIBRARIES}) ++ TARGET_LINK_LIBRARIES(assimp PRIVATE optimized ${C4D_RELEASE_LIBRARIES}) ++ TARGET_LINK_LIBRARIES(assimp PRIVATE debug ${C4D_DEBUG_LIBRARIES}) ++ TARGET_LINK_LIBRARIES(assimp PRIVATE ${C4D_EXTRA_LIBRARIES}) + ENDIF () + + if( MSVC ) +@@ -1491,13 +1494,13 @@ if (MINGW) + ARCHIVE_OUTPUT_NAME assimp + ) + if (NOT BUILD_SHARED_LIBS) +- TARGET_LINK_LIBRARIES ( assimp -static-libgcc -static-libstdc++ -Wl,-Bstatic -lstdc++ -lwinpthread ) # winpthread is for libminizip. ++ TARGET_LINK_LIBRARIES ( assimp PRIVATE -static-libgcc -static-libstdc++ -Wl,-Bstatic -lstdc++ -lwinpthread ) # winpthread is for libminizip. + endif () + endif() + + if (${CMAKE_SYSTEM_NAME} MATCHES "WindowsStore") + target_compile_definitions(assimp PUBLIC WindowsStore) +- TARGET_LINK_LIBRARIES(assimp advapi32) ++ TARGET_LINK_LIBRARIES(assimp PRIVATE advapi32) + endif() + + SET_TARGET_PROPERTIES( assimp PROPERTIES +@@ -1527,14 +1530,14 @@ ENDIF() + + # Build against external unzip, or add ../contrib/unzip so + # assimp can #include "unzip.h" +-IF(NOT ASSIMP_HUNTER_ENABLED) ++IF(0) + if (UNZIP_FOUND) + INCLUDE_DIRECTORIES(${UNZIP_INCLUDE_DIRS}) + # TODO if cmake required version has been updated to >3.12.0, collapse this to the second case only + if(${CMAKE_VERSION} VERSION_LESS "3.12.0") +- TARGET_LINK_LIBRARIES(assimp ${UNZIP_LIBRARIES}) ++ TARGET_LINK_LIBRARIES(assimp PRIVATE ${UNZIP_LIBRARIES}) + else() +- TARGET_LINK_LIBRARIES(assimp ${UNZIP_LINK_LIBRARIES}) ++ TARGET_LINK_LIBRARIES(assimp PRIVATE ${UNZIP_LINK_LIBRARIES}) + endif() + else () + INCLUDE_DIRECTORIES("../") +@@ -1543,7 +1546,7 @@ ENDIF() + + # Add RT-extension library for glTF importer with Open3DGC-compression. + IF (RT_FOUND AND ASSIMP_IMPORTER_GLTF_USE_OPEN3DGC) +- TARGET_LINK_LIBRARIES(assimp rt) ++ TARGET_LINK_LIBRARIES(assimp PRIVATE rt) + ENDIF () + + IF(ASSIMP_INSTALL) +diff --git a/code/Common/BaseImporter.cpp b/code/Common/BaseImporter.cpp +index 5c70cc2..bbbaae0 100644 +--- a/code/Common/BaseImporter.cpp ++++ b/code/Common/BaseImporter.cpp +@@ -354,7 +354,7 @@ std::string BaseImporter::GetExtension(const std::string &pFile) { + return false; + } + +-#include "utf8.h" ++#include + + // ------------------------------------------------------------------------------------------------ + // Convert to UTF8 data +diff --git a/code/Common/StbCommon.h b/code/Common/StbCommon.h +index aef23ce..1b059ec 100644 +--- a/code/Common/StbCommon.h ++++ b/code/Common/StbCommon.h +@@ -53,7 +53,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #pragma clang diagnostic ignored "-Wunused-function" + #endif + +-#ifndef STB_USE_HUNTER ++#if 0 + /* Use prefixed names for the symbols from stb_image as it is a very commonly embedded library. + Including vanilla stb_image symbols causes duplicate symbol problems if assimp is linked + statically together with another library or executable that also embeds stb_image. +@@ -113,7 +113,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #define stbi_zlib_decode_noheader_malloc assimp_stbi_zlib_decode_noheader_malloc + #endif + +-#include "stb/stb_image.h" ++#include + + #if _MSC_VER + #pragma warning(pop) +diff --git a/code/Common/ZipArchiveIOSystem.cpp b/code/Common/ZipArchiveIOSystem.cpp +index 23d7db1..8f9b9ef 100644 +--- a/code/Common/ZipArchiveIOSystem.cpp ++++ b/code/Common/ZipArchiveIOSystem.cpp +@@ -54,7 +54,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #ifdef ASSIMP_USE_HUNTER + # include + #else +-# include ++# include + #endif + + namespace Assimp { diff --git a/ports/assimp/portfile.cmake b/ports/assimp/portfile.cmake index 6b0867ecd48788..523f81831c91f8 100644 --- a/ports/assimp/portfile.cmake +++ b/ports/assimp/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO assimp/assimp - REF v${VERSION} - SHA512 49963f84ed0a8145f3af249890a533f0b12f5553ae09581289cb1f20cb49cb1a3ed3f3c4c966ceb43aa897b90deca268aa6554066b2bd34f2ac9c15041420ddb + REF "v${VERSION}" + SHA512 4738db84068d36face8caf61c0789178fdfc1310fa8e81ffb9b025e14183bde546b784d691c92438ab310a79ab7b75ab62ee0247d5f01e81ddf04fb94b7a9c0b HEAD_REF master PATCHES build_fixes.patch @@ -61,7 +61,7 @@ find_library(ASSIMP_DBG NAMES assimp assimpd ${DBG_NAMES} PATHS "${CURRENT_PACKA if(ASSIMP_REL) get_filename_component(ASSIMP_NAME_REL "${ASSIMP_REL}" NAME_WLE) string(REGEX REPLACE "^lib(.*)" "\\1" ASSIMP_NAME_REL "${ASSIMP_NAME_REL}") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/assimp.pc" "-lassimp" "-l${ASSIMP_NAME_REL}") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/assimp.pc" "-lassimp" "-l${ASSIMP_NAME_REL}" IGNORE_UNCHANGED) endif() if(ASSIMP_DBG) get_filename_component(ASSIMP_NAME_DBG "${ASSIMP_DBG}" NAME_WLE) diff --git a/ports/assimp/vcpkg.json b/ports/assimp/vcpkg.json index 0ff10c38c4ebd1..815910f39ef708 100644 --- a/ports/assimp/vcpkg.json +++ b/ports/assimp/vcpkg.json @@ -1,15 +1,14 @@ { "name": "assimp", - "version": "5.3.1", - "port-version": 2, + "version": "5.4.3", "description": "The Open Asset import library", "homepage": "https://github.com/assimp/assimp", "license": "BSD-3-Clause", "dependencies": [ "draco", + "jhasse-poly2tri", "kubazip", "minizip", - "poly2tri", "polyclipping", "pugixml", "rapidjson", diff --git a/ports/astr/portfile.cmake b/ports/astr/portfile.cmake new file mode 100644 index 00000000000000..f50b630453658e --- /dev/null +++ b/ports/astr/portfile.cmake @@ -0,0 +1,25 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO a4z/astr + REF "${VERSION}" + SHA512 4b730674d992efa94c3b4d290aeafc0b076fc6ca6033cc2aed90b92d77ff19498fb5af9fa83fa7b136d428e762518d9fb28bacf3965a9f4030f39e73aca89630 + HEAD_REF main +) + +set(VCPKG_BUILD_TYPE release) # header-only + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTING=OFF +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") + +configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" COPYONLY) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/astr/usage b/ports/astr/usage new file mode 100644 index 00000000000000..d6f087444f2e82 --- /dev/null +++ b/ports/astr/usage @@ -0,0 +1,4 @@ +astr provides CMake targets: + + find_package(astr CONFIG REQUIRED) + target_link_libraries(main PRIVATE a4z::astr) diff --git a/ports/astr/vcpkg.json b/ports/astr/vcpkg.json new file mode 100644 index 00000000000000..9bfd3833d23a3b --- /dev/null +++ b/ports/astr/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "astr", + "version": "0.2.1", + "description": "Compile-time array string header-only library.", + "homepage": "https://github.com/a4z/astr", + "license": "MPL-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/async-mqtt/portfile.cmake b/ports/async-mqtt/portfile.cmake index 774741ce498ec4..fe2eac89bc6794 100644 --- a/ports/async-mqtt/portfile.cmake +++ b/ports/async-mqtt/portfile.cmake @@ -4,7 +4,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO redboltz/async_mqtt REF "${VERSION}" - SHA512 0bcb0bc3a08329a11ebe3efee4f919efc7bb8192373efd924f29f63c3bc7ca3ddd2c6e669f5800baf2fb3c5d67ae423e89cc802275d088848da83b2f343f7318 + SHA512 cf76113f9fc3999c83781ca8213dbaa18edb5f4c081366b25ed1581cb955f8dfd562175bbd6ba5c127e560d5f9a0e013e42185211a4de77e76cdd44b279873a6 HEAD_REF main ) diff --git a/ports/async-mqtt/vcpkg.json b/ports/async-mqtt/vcpkg.json index 469131298febea..702042f3fe4c8f 100644 --- a/ports/async-mqtt/vcpkg.json +++ b/ports/async-mqtt/vcpkg.json @@ -1,21 +1,74 @@ { "name": "async-mqtt", - "version": "2.0.0", + "version": "9.0.2", "description": "Header-only Asynchronous MQTT communication library for C++17 based on Boost.Asio.", "homepage": "https://github.com/redboltz/async_mqtt", "license": "BSL-1.0", "dependencies": [ - "boost-any", - "boost-asio", - "boost-assert", - "boost-beast", - "boost-container", - "boost-container-hash", - "boost-endian", - "boost-log", - "boost-multi-index", - "boost-numeric-conversion", - "boost-system", + { + "name": "boost-any", + "version>=": "1.84.0" + }, + { + "name": "boost-asio", + "version>=": "1.84.0" + }, + { + "name": "boost-assert", + "version>=": "1.84.0" + }, + { + "name": "boost-beast", + "version>=": "1.84.0" + }, + { + "name": "boost-container", + "version>=": "1.84.0" + }, + { + "name": "boost-container-hash", + "version>=": "1.84.0" + }, + { + "name": "boost-date-time", + "version>=": "1.84.0" + }, + { + "name": "boost-endian", + "version>=": "1.84.0" + }, + { + "name": "boost-filesystem", + "version>=": "1.84.0" + }, + { + "name": "boost-hana", + "version>=": "1.84.0" + }, + { + "name": "boost-lexical-cast", + "version>=": "1.84.0" + }, + { + "name": "boost-log", + "version>=": "1.84.0" + }, + { + "name": "boost-multi-index", + "version>=": "1.84.0" + }, + { + "name": "boost-numeric-conversion", + "version>=": "1.84.0" + }, + { + "name": "boost-preprocessor", + "version>=": "1.84.0" + }, + { + "name": "boost-system", + "version>=": "1.84.0" + }, { "name": "vcpkg-cmake", "host": true diff --git a/ports/async-simple/portfile.cmake b/ports/async-simple/portfile.cmake new file mode 100644 index 00000000000000..96b4c0c6ce29bb --- /dev/null +++ b/ports/async-simple/portfile.cmake @@ -0,0 +1,34 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO alibaba/async_simple + REF "v${VERSION}" + SHA512 7686d8c98e5e87cf88c24488e4c0b528b29011ef48c25156c57695208dab75ee2f28b6f36e2612db2bf4644b50f4c1d4a7ebc54f16bc035cb106239d5b335c77 + HEAD_REF main +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + DISABLE_PARALLEL_CONFIGURE + OPTIONS + -DASYNC_SIMPLE_ENABLE_TESTS=OFF + -DASYNC_SIMPLE_BUILD_DEMO_EXAMPLE=OFF + -DASYNC_SIMPLE_ENABLE_ASAN=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_Benchmark=ON + -DCMAKE_DISABLE_FIND_PACKAGE_Aio=ON +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(PACKAGE_NAME async_simple) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +file(GLOB LIBS "${CURRENT_PACKAGES_DIR}/debug/lib/*async_simple*") + +list(LENGTH LIBS LIB_CNT) +if (LIB_CNT EQUAL 0) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +endif() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/async-simple/usage b/ports/async-simple/usage new file mode 100644 index 00000000000000..e6087ae64fcfe8 --- /dev/null +++ b/ports/async-simple/usage @@ -0,0 +1,8 @@ +async-simple provides CMake targets: + +find_package(async_simple CONFIG REQUIRED) +target_link_libraries(main PRIVATE async_simple::async_simple_static) +# Or you can use header-only version(async_simple::uthread is not allowed to use in this version) +target_link_libraries(main PRIVATE async_simple::async_simple_header_only) +# Or you can also use dynamic linkage: +target_link_libraries(main PRIVATE async_simple::async_simple) diff --git a/ports/async-simple/vcpkg.json b/ports/async-simple/vcpkg.json new file mode 100644 index 00000000000000..7b20a14f3d3a10 --- /dev/null +++ b/ports/async-simple/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "async-simple", + "version": "1.3", + "port-version": 1, + "description": "Simple, light-weight and easy-to-use asynchronous components.", + "homepage": "https://github.com/alibaba/async_simple", + "license": "Apache-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/asyncplusplus/portfile.cmake b/ports/asyncplusplus/portfile.cmake index cd8bf8b615d43e..db287ce739d5d2 100644 --- a/ports/asyncplusplus/portfile.cmake +++ b/ports/asyncplusplus/portfile.cmake @@ -3,8 +3,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Amanieu/asyncplusplus - REF 172ca3f8e0df1b3f7f5ee8b8244e4ac67258b0d8 # v1.1 - SHA512 fd95b3349ceed4cab5cb0e146d2ccfe77c85318303015cf513037fc69c1ade7cfdb3dc81de8a90846c4387c5e31f5a70a64da770547c201dfe24d2c181be1933 + REF v1.2 + SHA512 4b59ef805d4683631ef2ba51039deb210d9ba28b35021489560b0f2da6f75a68da8cb676807f9831047c997673556f69fdca0ae2081996274015e708fd6ff55e HEAD_REF master ) diff --git a/ports/asyncplusplus/vcpkg.json b/ports/asyncplusplus/vcpkg.json index 6b59776559240d..413f125062cc86 100644 --- a/ports/asyncplusplus/vcpkg.json +++ b/ports/asyncplusplus/vcpkg.json @@ -1,7 +1,6 @@ { "name": "asyncplusplus", - "version": "1.1", - "port-version": 2, + "version": "1.2", "description": "Async++ is a lightweight concurrency framework for C++11", "license": "MIT", "supports": "!uwp", diff --git a/ports/at-spi2-atk/portfile.cmake b/ports/at-spi2-atk/portfile.cmake index 9b7ba9134b5d71..a0972148cb2f57 100644 --- a/ports/at-spi2-atk/portfile.cmake +++ b/ports/at-spi2-atk/portfile.cmake @@ -1,7 +1,3 @@ -if(VCPKG_TARGET_IS_LINUX) - message(STATUS "${PORT} currently requires the following libraries from the system package manager:\n libdbus-1\n\nThese can be installed on Ubuntu systems via apt-get install libdbus-1-dev") -endif() - vcpkg_from_gitlab( OUT_SOURCE_PATH SOURCE_PATH GITLAB_URL https://gitlab.gnome.org @@ -22,7 +18,7 @@ vcpkg_copy_pdbs() vcpkg_fixup_pkgconfig() -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") diff --git a/ports/at-spi2-atk/vcpkg.json b/ports/at-spi2-atk/vcpkg.json index 27c85cbdd925e1..232abaf70b4426 100644 --- a/ports/at-spi2-atk/vcpkg.json +++ b/ports/at-spi2-atk/vcpkg.json @@ -1,6 +1,7 @@ { "name": "at-spi2-atk", "version": "2.38.0", + "port-version": 1, "description": "Implementation of the ATK interfaces in terms of the libatspi2 API.", "homepage": "https://www.gtk.org/", "license": null, @@ -8,6 +9,10 @@ "dependencies": [ "at-spi2-core", "atk", + { + "name": "dbus", + "platform": "linux" + }, "libxml2", { "name": "vcpkg-tool-meson", diff --git a/ports/at-spi2-core/portfile.cmake b/ports/at-spi2-core/portfile.cmake index fcb68416044dae..3084f71f36e51a 100644 --- a/ports/at-spi2-core/portfile.cmake +++ b/ports/at-spi2-core/portfile.cmake @@ -1,5 +1,5 @@ if(VCPKG_TARGET_IS_LINUX) - message(STATUS "${PORT} currently requires the following libraries from the system package manager:\n libdbus-1-dev\n libxi-dev\n libxtst-dev\n\nThese can be installed on Ubuntu systems via apt-get install libdbus-1-dev libxi-dev libxtst-dev") + message(STATUS "${PORT} currently requires the following libraries from the system package manager:\n libxi-dev\n libxtst-dev\n\nThese can be installed on Ubuntu systems via apt-get install libxi-dev libxtst-dev") endif() vcpkg_from_gitlab( @@ -36,7 +36,7 @@ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") ) endif() -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share" "${CURRENT_PACKAGES_DIR}/share/defaults") diff --git a/ports/at-spi2-core/vcpkg.json b/ports/at-spi2-core/vcpkg.json index 9985253c0b5a3c..b82464a6c93e9b 100644 --- a/ports/at-spi2-core/vcpkg.json +++ b/ports/at-spi2-core/vcpkg.json @@ -1,12 +1,16 @@ { "name": "at-spi2-core", "version": "2.44.1", - "port-version": 2, + "port-version": 3, "description": "Base DBus XML interfaces for accessibility, the accessibility registry daemon, and atspi library.", "homepage": "https://www.gtk.org/", "license": null, "supports": "linux", "dependencies": [ + { + "name": "dbus", + "platform": "linux" + }, "glib", { "name": "glib", diff --git a/ports/atkmm/portfile.cmake b/ports/atkmm/portfile.cmake index bb9c636df41bf1..ac5af3c5d44603 100644 --- a/ports/atkmm/portfile.cmake +++ b/ports/atkmm/portfile.cmake @@ -2,13 +2,12 @@ if (VCPKG_TARGET_IS_WINDOWS) vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) endif() -set(ATKMM_VERSION 2.36.1) - # Keep distfile, don't use GitLab! +string(REGEX MATCH "^([0-9]*[.][0-9]*)" ATKMM_MAJOR_MINOR "${VERSION}") vcpkg_download_distfile(ARCHIVE - URLS "https://ftp.gnome.org/pub/GNOME/sources/atkmm/2.36/atkmm-${ATKMM_VERSION}.tar.xz" - FILENAME "atkmm-${ATKMM_VERSION}.tar.xz" - SHA512 23c831afac6bb9a0f9f2e622f8f9ffea29445a33b1cd650e0c07ee77e60b28ae5ee978c029e8e0f9b94e9ff4679d69ebde833f15e0a5403d97914cc7ccf98a6a + URLS "https://ftp.gnome.org/pub/GNOME/sources/atkmm/${ATKMM_MAJOR_MINOR}/atkmm-${VERSION}.tar.xz" + FILENAME "atkmm-${VERSION}.tar.xz" + SHA512 2c2513b5c5fd7a5c9392727325c7551c766d4d51b8089fbea7e8043cde97d07c9b1f98a4a693f30835e4366e9236e28e092c2480a78415d77c5cb72e9432344f ) vcpkg_extract_source_archive( @@ -29,3 +28,5 @@ vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(INSTALL "${SOURCE_PATH}/README.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME readme.txt) +file(INSTALL "${SOURCE_PATH}/README.win32.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/atkmm/vcpkg.json b/ports/atkmm/vcpkg.json index 6df0032cd99f98..d90046625b0cff 100644 --- a/ports/atkmm/vcpkg.json +++ b/ports/atkmm/vcpkg.json @@ -1,7 +1,6 @@ { "name": "atkmm", - "version": "2.36.1", - "port-version": 2, + "version": "2.36.3", "description": "atkmm is the official C++ interface for the ATK accessibility toolkit library. It may be used, for instance, by user interfaces implemented with gtkmm.", "homepage": "https://www.gtkmm.org", "license": "LGPL-2.1-or-later", diff --git a/ports/atliac-minitest/portfile.cmake b/ports/atliac-minitest/portfile.cmake new file mode 100644 index 00000000000000..ec9aba8ce570bf --- /dev/null +++ b/ports/atliac-minitest/portfile.cmake @@ -0,0 +1,26 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Atliac/minitest + REF "v${VERSION}" + SHA512 bd39aa9d4f897f03f0f42b28ee7aabc0fbe5168d09009ebcb253ee3cb5f52ae1d81e9c6657aaa93fe8f67d20d9d92874432a06cadcb78f750681772bb3316d78 + HEAD_REF master +) + +vcpkg_cmake_configure(SOURCE_PATH ${SOURCE_PATH} + OPTIONS + -DBUILD_TESTS=OFF + -DMINITEST_PACKAGE_NAME=${PORT} +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup() + +configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage") + +vcpkg_copy_pdbs() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") diff --git a/ports/atliac-minitest/usage b/ports/atliac-minitest/usage new file mode 100644 index 00000000000000..1fd833cf7ecaf3 --- /dev/null +++ b/ports/atliac-minitest/usage @@ -0,0 +1,5 @@ +minitest provides CMake targets: + + # Note: the `MINITEST_RUN_TESTS(argc, argv);` must be called in the main function + find_package(${PORT} CONFIG REQUIRED) + minitest_discover_tests(target) diff --git a/ports/atliac-minitest/vcpkg.json b/ports/atliac-minitest/vcpkg.json new file mode 100644 index 00000000000000..26bc9760b99c0d --- /dev/null +++ b/ports/atliac-minitest/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "atliac-minitest", + "version": "1.0.0", + "description": "A C++ unit testing framework that helps write tests alongside the code being tested.", + "homepage": "https://github.com/Atliac/minitest", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/atomic-queue/portfile.cmake b/ports/atomic-queue/portfile.cmake index 49c5e057695cbf..1bf490b1d7e426 100644 --- a/ports/atomic-queue/portfile.cmake +++ b/ports/atomic-queue/portfile.cmake @@ -1,20 +1,22 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO max0x7ba/atomic_queue - REF 7619054490efdbfe377bd528bc09b21f5cd38a02 - SHA512 0d145f461a5c978c4d6f6d8ec1f06f0c61f3d009e65eac12db806c2aa7941461f881b34b9c4dd9aeebd3206a4598e6081f89f983c389b2f5aecefefcbddd94b6 + REF "v${VERSION}" + SHA512 2c1813074fd166f1d3491527a1faac1cc297f0b0e15fedf66a64465efc310256cce657e7205e41d277fa513bb322d18a273c6a9a6ce85ec8d182a2c81f90c35c HEAD_REF master ) +set(VCPKG_BUILD_TYPE release) # header-only port + file( - COPY - ${SOURCE_PATH}/include/atomic_queue/atomic_queue.h - ${SOURCE_PATH}/include/atomic_queue/atomic_queue_mutex.h - ${SOURCE_PATH}/include/atomic_queue/barrier.h - ${SOURCE_PATH}/include/atomic_queue/defs.h - ${SOURCE_PATH}/include/atomic_queue/spinlock.h - DESTINATION - ${CURRENT_PACKAGES_DIR}/include/atomic_queue + COPY + "${SOURCE_PATH}/include/atomic_queue/atomic_queue.h" + "${SOURCE_PATH}/include/atomic_queue/atomic_queue_mutex.h" + "${SOURCE_PATH}/include/atomic_queue/barrier.h" + "${SOURCE_PATH}/include/atomic_queue/defs.h" + "${SOURCE_PATH}/include/atomic_queue/spinlock.h" + DESTINATION + "${CURRENT_PACKAGES_DIR}/include/atomic_queue" ) -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/atomic-queue/vcpkg.json b/ports/atomic-queue/vcpkg.json index 7e7cbe56fa75f0..c7a1bc647c8626 100644 --- a/ports/atomic-queue/vcpkg.json +++ b/ports/atomic-queue/vcpkg.json @@ -1,6 +1,7 @@ { "name": "atomic-queue", - "version-date": "2021-05-03", + "version": "1.6.5", "description": "Minimalistic header-only thread-safe ultra-low-latency multiple-producer-multiple-consumer lockless queues based on circular buffer with std::atomic.", - "homepage": "https://github.com/max0x7ba/atomic_queue" + "homepage": "https://github.com/max0x7ba/atomic_queue", + "license": "MIT" } diff --git a/ports/attr/portfile.cmake b/ports/attr/portfile.cmake index 45ad648f8144b1..393e64db3af025 100644 --- a/ports/attr/portfile.cmake +++ b/ports/attr/portfile.cmake @@ -1,7 +1,8 @@ vcpkg_download_distfile(ARCHIVE - URLS "http://download.savannah.nongnu.org/releases/attr/attr-${VERSION}.tar.xz" + URLS "https://download.savannah.nongnu.org/releases/attr/attr-${VERSION}.tar.xz" + "https://www.mirrorservice.org/sites/download.savannah.gnu.org/releases/attr/attr-${VERSION}.tar.xz" FILENAME "attr-${VERSION}.tar.xz" - SHA512 9e5555260189bb6ef2440c76700ebb813ff70582eb63d446823874977307d13dfa3a347dfae619f8866943dfa4b24ccf67dadd7e3ea2637239fdb219be5d2932 + SHA512 f587ea544effb7cfed63b3027bf14baba2c2dbe3a9b6c0c45fc559f7e8cb477b3e9a4a826eae30f929409468c50d11f3e7dc6d2500f41e1af8662a7e96a30ef3 ) vcpkg_extract_source_archive( diff --git a/ports/attr/vcpkg.json b/ports/attr/vcpkg.json index ef8e721e3f17d8..e21ee4a4fba6a9 100644 --- a/ports/attr/vcpkg.json +++ b/ports/attr/vcpkg.json @@ -1,7 +1,6 @@ { "name": "attr", - "version-semver": "2.5.1", - "port-version": 1, + "version-semver": "2.5.2", "description": "Commands for Manipulating Filesystem Extended Attributes", "homepage": "http://savannah.nongnu.org/projects/attr", "license": "LGPL-2.1-or-later", @@ -10,14 +9,14 @@ "nls": { "description": "Enable native language support", "dependencies": [ - "gettext", { "name": "gettext", "host": true, "features": [ "tools" ] - } + }, + "gettext-libintl" ] } } diff --git a/ports/aubio/ffmpeg7.patch b/ports/aubio/ffmpeg7.patch new file mode 100644 index 00000000000000..cf0fe6ed68c405 --- /dev/null +++ b/ports/aubio/ffmpeg7.patch @@ -0,0 +1,15 @@ +diff --git a/src/io/source_avcodec.c b/src/io/source_avcodec.c +index 71ea8b5f..ad91f5eb 100644 +--- a/src/io/source_avcodec.c ++++ b/src/io/source_avcodec.c +@@ -345,8 +345,8 @@ void aubio_source_avcodec_reset_resampler(aubio_source_avcodec_t * s) + av_channel_layout_default(&input_layout, s->input_channels); + av_channel_layout_default(&output_layout, s->input_channels); + +- av_opt_set_chlayout(avr, "in_channel_layout", &input_layout, 0); +- av_opt_set_chlayout(avr, "out_channel_layout", &output_layout, 0); ++ av_opt_set_chlayout(avr, "in_chlayout", &input_layout, 0); ++ av_opt_set_chlayout(avr, "out_chlayout", &output_layout, 0); + #else + int64_t input_layout = av_get_default_channel_layout(s->input_channels); + int64_t output_layout = av_get_default_channel_layout(s->input_channels); diff --git a/ports/aubio/portfile.cmake b/ports/aubio/portfile.cmake index 26d4fa9bf7b21d..59128ae7909fe6 100644 --- a/ports/aubio/portfile.cmake +++ b/ports/aubio/portfile.cmake @@ -3,9 +3,11 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO aubio/aubio - REF 8a05420e5dd8c7b8b2447f82dc919765876511b3 - SHA512 080775d7b972d31d88671b4a2917e926bc933b7bdc50fc56a4a8e3174b4544fd6fd416c06b064488cea777cbdd4eea63d0b35eca0025f53ab71da0ba8b64824f + REF 152d6819b360c2e7b379ee3f373d444ab3df0895 + SHA512 923529eb27e460293bd2b8b8c53d5eb96553e3e1ece7071904808d8f20f86b7af70bde97d271da9a07ee1898d0840190f265e326e67f48c6f5cadefa034abf0f HEAD_REF master + PATCHES + ffmpeg7.patch ) file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") diff --git a/ports/aubio/vcpkg.json b/ports/aubio/vcpkg.json index b03cc7149d0a8c..04188776c1fa1f 100644 --- a/ports/aubio/vcpkg.json +++ b/ports/aubio/vcpkg.json @@ -1,7 +1,6 @@ { "name": "aubio", - "version-date": "2022-01-26", - "port-version": 1, + "version-date": "2024-01-03", "description": "Aubio is a tool designed for the extraction of annotations from audio signals. Its features include segmenting a sound file before each of its attacks, performing pitch detection, tapping the beat and producing midi streams from live audio.", "homepage": "https://github.com/aubio/aubio", "license": "GPL-3.0-or-later", diff --git a/ports/audiofile/fix-cmakeLists.patch b/ports/audiofile/fix-cmakeLists.patch deleted file mode 100644 index a281171a59e5c0..00000000000000 --- a/ports/audiofile/fix-cmakeLists.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -42,3 +42,10 @@ endif () - - #=============================================================================== - set (CMAKE_SUPPRESS_REGENERATION true) -+ -+#install and export targets -+install(TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}Config) -+export(TARGETS ${PROJECT_NAME} FILE ${PROJECT_NAME}Config.cmake) -+install(EXPORT ${PROJECT_NAME}Config DESTINATION share/AudioFile FILE ${PROJECT_NAME}Config.cmake) -+#install headers -+install(FILES AudioFile.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) diff --git a/ports/audiofile/portfile.cmake b/ports/audiofile/portfile.cmake index 18188b6542a3bd..54fae7ff46275a 100644 --- a/ports/audiofile/portfile.cmake +++ b/ports/audiofile/portfile.cmake @@ -3,11 +3,9 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO adamstark/AudioFile - REF 004065d01e9b7338580390d4fdbfbaa46adede4e # 1.1.0 - SHA512 99d31035fc82ca8da3c555c30b6b40ea99e15e1f82002c7f04c567ab7aee1de71deddf6930564c56f3a2e83eea1b5f5e9ca631673ed4a943579732b8d62e9603 + REF "${VERSION}" + SHA512 ee8af7687fe420634ea8dacef7ecc0c4d3dd1de13c6131202710b3055fdc5ffb27ac1e8ff034690a3ce5d512b6182a788adfa5852a29ac532a08322b14083e8a HEAD_REF master - PATCHES - fix-cmakeLists.patch ) vcpkg_cmake_configure( @@ -19,8 +17,9 @@ vcpkg_cmake_configure( vcpkg_cmake_install() -vcpkg_cmake_config_fixup(PACKAGE_NAME AudioFile) +vcpkg_cmake_config_fixup(PACKAGE_NAME AudioFile CONFIG_PATH lib/cmake/AudioFile) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) \ No newline at end of file +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/audiofile/vcpkg.json b/ports/audiofile/vcpkg.json index e9c294bbe6a823..74013771d9d4b1 100644 --- a/ports/audiofile/vcpkg.json +++ b/ports/audiofile/vcpkg.json @@ -1,6 +1,6 @@ { "name": "audiofile", - "version": "1.1.0", + "version": "1.1.2", "description": "A simple header-only C++ library for reading and writing audio files.", "homepage": "https://github.com/adamstark/AudioFile", "license": "MIT", diff --git a/ports/audit/fix-multiple-def.patch b/ports/audit/fix-multiple-def.patch new file mode 100644 index 00000000000000..84ddebc7831a74 --- /dev/null +++ b/ports/audit/fix-multiple-def.patch @@ -0,0 +1,26 @@ +diff --git a/src/ausearch-lookup.c b/src/ausearch-lookup.c +index 2d6f48c..8c610e9 100644 +--- a/src/ausearch-lookup.c ++++ b/src/ausearch-lookup.c +@@ -242,7 +242,7 @@ const char *aulookup_uid(uid_t uid, char *buf, size_t size) + return buf; + } + +-void aulookup_destroy_uid_list(void) ++void aulookup_destroy_uid_nvl_list(void) + { + if (uid_list_created == 0) + return; +diff --git a/src/ausearch-lookup.h b/src/ausearch-lookup.h +index c80f782..67f1e56 100644 +--- a/src/ausearch-lookup.h ++++ b/src/ausearch-lookup.h +@@ -38,7 +38,7 @@ const char *aulookup_syscall(llist *l, char *buf, size_t size) + __attr_access ((__write_only__, 2, 3)); + const char *aulookup_uid(uid_t uid, char *buf, size_t size) + __attr_access ((__write_only__, 2, 3)); +-void aulookup_destroy_uid_list(void); ++void aulookup_destroy_uid_nvl_list(void); + char *unescape(const char *buf); + void print_tty_data(const char *val); + void safe_print_string_n(const char *s, unsigned int len, int ret) diff --git a/ports/audit/portfile.cmake b/ports/audit/portfile.cmake new file mode 100644 index 00000000000000..21ed52df373380 --- /dev/null +++ b/ports/audit/portfile.cmake @@ -0,0 +1,37 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO linux-audit/audit-userspace + SHA512 558b9211a5dc1062eee98aa7bcd292797f06109a8ee735da1d704bc18d97b0bee93487ef9303404016df2e08cff32d90f1dd056797ac05beaabe3cccb5db5af2 + REF "v${VERSION}" + HEAD_REF master + PATCHES + fix-multiple-def.patch +) + +message(STATUS "${PORT} currently requires the following libraries from the system package manager:\n" + "\t- \n" + "\t- \n" + "\t- \n\n" + "It can be installed with your package manager" +) + +file(TOUCH "${SOURCE_PATH}/README") + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + OPTIONS + --with-python3=no + --with-golang=no + --with-io_uring=no + --with-warn=no + --disable-zos-remote +) + +vcpkg_install_make() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/audit/vcpkg.json b/ports/audit/vcpkg.json new file mode 100644 index 00000000000000..8169d7a4380c2f --- /dev/null +++ b/ports/audit/vcpkg.json @@ -0,0 +1,8 @@ +{ + "name": "audit", + "version": "4.0.2", + "description": "Library for working with audit subsystem", + "homepage": "https://github.com/linux-audit/audit-userspace", + "license": "GPL-2.0-or-later OR LGPL-2.1-or-later", + "supports": "linux" +} diff --git a/ports/aurora-au/portfile.cmake b/ports/aurora-au/portfile.cmake new file mode 100644 index 00000000000000..07d9283a366787 --- /dev/null +++ b/ports/aurora-au/portfile.cmake @@ -0,0 +1,26 @@ +set(VCPKG_BUILD_TYPE release) # header-only + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO aurora-opensource/au + REF "${VERSION}" + SHA512 85b90924f82a123000ecc3c9a1f44f31d6f1a7f3664968abc27f4fbdc6712b7bc9a8a30428b9422529fed7fe269a13c57e0dad8483658530dcbfa0c6b15daa6c + HEAD_REF main +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DAU_EXCLUDE_GTEST_DEPENDENCY=1 + ) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup( + CONFIG_PATH lib/cmake/Au +) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") # Remove empty directory +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/aurora-au/usage b/ports/aurora-au/usage new file mode 100644 index 00000000000000..6b9b5f7ed51259 --- /dev/null +++ b/ports/aurora-au/usage @@ -0,0 +1,4 @@ +The package aurora-au provides CMake targets: + + find_package(Au REQUIRED) + target_link_libraries(main PRIVATE Au::au) diff --git a/ports/aurora-au/vcpkg.json b/ports/aurora-au/vcpkg.json new file mode 100644 index 00000000000000..3d36c4d6118931 --- /dev/null +++ b/ports/aurora-au/vcpkg.json @@ -0,0 +1,20 @@ +{ + "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json", + "name": "aurora-au", + "version-semver": "0.4.1", + "description": "A C++14-compatible physical units library with no dependencies and a single-file delivery option. Emphasis on safety, accessibility, performance, and developer experience.", + "homepage": "https://github.com/aurora-opensource/au", + "documentation": "https://aurora-opensource.github.io/au/main/", + "license": "Apache-2.0", + "supports": "!osx", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/autodock-vina/CMakeLists.txt b/ports/autodock-vina/CMakeLists.txt index f5ceca6b68184d..a1e1dec05d59de 100644 --- a/ports/autodock-vina/CMakeLists.txt +++ b/ports/autodock-vina/CMakeLists.txt @@ -3,13 +3,12 @@ cmake_policy(VERSION 3.11) project(autodock-vina) -set(GIT_VERSION v1.2.5) +set(GIT_VERSION v1.2.6) set(CMAKE_CXX_STANDARD 11) find_package(Boost REQUIRED COMPONENTS filesystem log - math_tr1 program_options random serialization @@ -63,7 +62,6 @@ target_link_libraries(vina Boost::boost Boost::filesystem Boost::log - Boost::math_tr1 Boost::program_options Boost::random Boost::serialization @@ -76,7 +74,6 @@ target_link_libraries(vina_split Boost::boost Boost::filesystem Boost::log - Boost::math_tr1 Boost::program_options Boost::random Boost::serialization diff --git a/ports/autodock-vina/fix-compatibility-with-boost-1.83.patch b/ports/autodock-vina/fix-compatibility-with-boost-1.83.patch deleted file mode 100644 index e6af7c477482f7..00000000000000 --- a/ports/autodock-vina/fix-compatibility-with-boost-1.83.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 4a7935e1f8d1756cbeafb2564066551f9bd766f0 Mon Sep 17 00:00:00 2001 -From: jjll -Date: Wed, 6 Sep 2023 14:25:30 +0200 -Subject: [PATCH] compatibility boost >= 1.83 - ---- - src/lib/parallel_progress.h | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - -diff --git a/src/lib/parallel_progress.h b/src/lib/parallel_progress.h -index 958b170..ee938d9 100755 ---- a/src/lib/parallel_progress.h -+++ b/src/lib/parallel_progress.h -@@ -23,7 +23,14 @@ - #ifndef VINA_PARALLEL_PROGRESS_H - #define VINA_PARALLEL_PROGRESS_H - -+#include -+#if BOOST_VERSION < 107200 - #include -+typedef boost::progress_display boost_progress; -+#else -+#include -+typedef boost::timer::progress_display boost_progress; -+#endif - #include - - #include -@@ -34,7 +41,7 @@ struct parallel_progress : public incrementable { - parallel_progress(std::function* c = NULL) : p(NULL), callback(c) {} - void init(unsigned long n) { - count = n; -- p = new boost::progress_display(count); -+ p = new boost_progress(count); - } - void operator++() { - if(p) { -@@ -47,7 +54,7 @@ struct parallel_progress : public incrementable { - virtual ~parallel_progress() { delete p; } - private: - boost::mutex self; -- boost::progress_display* p; -+ boost_progress* p; - std::function* callback; - unsigned long count; - }; diff --git a/ports/autodock-vina/portfile.cmake b/ports/autodock-vina/portfile.cmake index 31b694d16263c2..a96e6e9f8a7f07 100644 --- a/ports/autodock-vina/portfile.cmake +++ b/ports/autodock-vina/portfile.cmake @@ -4,9 +4,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ccsb-scripps/AutoDock-Vina REF v${VERSION} - SHA512 d36908e5833d22bcbc4dae353ef32b905d6eb46511302f7583a291398bfadff5e75fc99ce7b380860578b2257e5c32434cc75b1ca51fafb4b5f12d9477a878e9 + SHA512 8f974aa5772575af950e90206e98a9ac29f5ddaed2db47b3756df4cb7a79d38eb21384e14dc2359ad3c2d4957df5a5d120fc117223d0ee312012323d834ba654 HEAD_REF develop - PATCHES fix-compatibility-with-boost-1.83.patch ) file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") diff --git a/ports/autodock-vina/vcpkg.json b/ports/autodock-vina/vcpkg.json index 34248c6357558a..8d3ac81b002c33 100644 --- a/ports/autodock-vina/vcpkg.json +++ b/ports/autodock-vina/vcpkg.json @@ -1,9 +1,8 @@ { "name": "autodock-vina", - "version-semver": "1.2.5", - "port-version": 1, + "version-semver": "1.2.6", "description": "AutoDock Vina is one of the fastest and most widely used open-source docking engines.", - "homepage": "http://vina.scripps.edu/", + "homepage": "https://vina.scripps.edu/", "dependencies": [ "boost-algorithm", "boost-array", diff --git a/ports/avcpp/portfile.cmake b/ports/avcpp/portfile.cmake index 4587c211cd88a4..98dc5eedbe1a7b 100644 --- a/ports/avcpp/portfile.cmake +++ b/ports/avcpp/portfile.cmake @@ -1,13 +1,13 @@ -# avcpp doesn't export any symbols -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - -vcpkg_minimum_required(VERSION 2022-10-12) # for ${VERSION} +if(VCPKG_TARGET_IS_WINDOWS) + # avcpp doesn't export any symbols + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO h4tr3d/avcpp REF "v${VERSION}" - SHA512 1e66afcf9a1f1085001aab9eb270cbbc6930cc42e60567300676d220120c421c44d24c7aeccb0b5c3ebd9de574ca1efbc67a29c681e3e11a796c32cc370069e4 + SHA512 365ed55e0c2bf2a699899ed6e303fe28fb9d51286579e9d7d1586132c8ab1b09c4b66e94f8061e860d73b60a28fa44769dcfdf030cb0947acfb7cdfd616127d9 HEAD_REF master PATCHES 0002-av_init_packet_deprecation.patch @@ -17,20 +17,17 @@ vcpkg_from_github( string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" AVCPP_ENABLE_STATIC) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" AVCPP_ENABLE_SHARED) -if(NOT HOST_TRIPLET STREQUAL TARGET_TRIPLET) - vcpkg_add_to_path(${CURRENT_HOST_INSTALLED_DIR}/tools/pkgconf) -endif() +vcpkg_find_acquire_program(PKGCONFIG) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS "-DAV_ENABLE_STATIC=${AVCPP_ENABLE_STATIC}" "-DAV_ENABLE_SHARED=${AVCPP_ENABLE_SHARED}" + "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" -DAV_BUILD_EXAMPLES=OFF - -DBUILD_TESTING=OFF ) vcpkg_cmake_install() - vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") vcpkg_fixup_pkgconfig() @@ -38,6 +35,5 @@ vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(INSTALL "${SOURCE_PATH}/LICENSE.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) - -vcpkg_copy_pdbs() +file(READ "${SOURCE_PATH}/LICENSE.md" LICENSE_MD) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE-bsd.txt" "${SOURCE_PATH}/LICENSE-lgpl2.txt" COMMENT "${LICENSE_MD}") diff --git a/ports/avcpp/vcpkg.json b/ports/avcpp/vcpkg.json index 318b5f71718303..d94158775a5696 100644 --- a/ports/avcpp/vcpkg.json +++ b/ports/avcpp/vcpkg.json @@ -1,6 +1,6 @@ { "name": "avcpp", - "version": "2.1.0", + "version": "2.4.0", "description": "Wrapper for the FFmpeg that simplify usage it from C++ projects.", "homepage": "https://github.com/h4tr3d/avcpp", "license": "LGPL-2.1-only OR BSD-3-Clause", @@ -18,10 +18,6 @@ "swscale" ] }, - { - "name": "pkgconf", - "host": true - }, { "name": "vcpkg-cmake", "host": true diff --git a/ports/avisynthplus/add-include-chrono.patch b/ports/avisynthplus/add-include-chrono.patch new file mode 100644 index 00000000000000..6c24a91607b900 --- /dev/null +++ b/ports/avisynthplus/add-include-chrono.patch @@ -0,0 +1,24 @@ +diff --git a/avs_core/core/avisynth.cpp b/avs_core/core/avisynth.cpp +index c66d39e..5bc61a3 100644 +--- a/avs_core/core/avisynth.cpp ++++ b/avs_core/core/avisynth.cpp +@@ -45,6 +45,7 @@ + #include "FilterConstructor.h" + #include "PluginManager.h" + #include "MappedList.h" ++#include + #include + #include + #include +diff --git a/avs_core/core/cache.cpp b/avs_core/core/cache.cpp +index 76eb7cf..957e102 100644 +--- a/avs_core/core/cache.cpp ++++ b/avs_core/core/cache.cpp +@@ -38,6 +38,7 @@ + #include "InternalEnvironment.h" + #include "DeviceManager.h" + #include ++#include + #include + + #ifdef X86_32 diff --git a/ports/avisynthplus/clang-cl.patch b/ports/avisynthplus/clang-cl.patch deleted file mode 100644 index c5cf087f80b1fa..00000000000000 --- a/ports/avisynthplus/clang-cl.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index d60332e63..0216970fc 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -188,7 +188,15 @@ endif() - endif() - ENDIF() - -+ if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND CMAKE_CXX_COMPILER_FRONTEND_VARIANT STREQUAL "MSVC") -+ set(CLANG_IN_VS "1") -+ elseif(CMAKE_CXX_COMPILER_ID STREQUAL "IntelLLVM" AND CMAKE_CXX_COMPILER_FRONTEND_VARIANT STREQUAL "MSVC") -+ set(IntelLLVM_IN_VS "1") -+ elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel" AND CMAKE_CXX_COMPILER_FRONTEND_VARIANT STREQUAL "MSVC") -+ set(IntelClassic_IN_VS "1") -+ endif() -+ - IF(CLANG_IN_VS STREQUAL "1") - #these are unknown - #set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fexceptions") - #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fexceptions") diff --git a/ports/avisynthplus/portfile.cmake b/ports/avisynthplus/portfile.cmake index 5e018b73c2e478..91fa40ca6f32c7 100644 --- a/ports/avisynthplus/portfile.cmake +++ b/ports/avisynthplus/portfile.cmake @@ -1,11 +1,11 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO AviSynth/AviSynthPlus - REF v3.7.2 - SHA512 82cf2afed4cc53c0e09d367ff3df1db0e9ac17ff2458e4660c646430d8e72f472b072a3910c9595b26eb5ac89c82fe74699acab3869014f87d8e2738b81568a1 + REF "v${VERSION}" + SHA512 0e0daa83e3ab729fdc35a52c60c23c9142f1229187af893d0dbbd36f88eced36f63a3e8c767a3dc825edaa5395a49a5aad726f6b61de8f6b291557eec20de426 HEAD_REF master PATCHES - clang-cl.patch # the normal lookup is not working since it doesn't take Ninja as a Generator into account + add-include-chrono.patch # https://github.com/AviSynth/AviSynthPlus/pull/414 ) vcpkg_download_distfile(GHC_ARCHIVE @@ -29,4 +29,4 @@ vcpkg_copy_pdbs() vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL "${SOURCE_PATH}/distrib/gpl.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/distrib/gpl.txt") diff --git a/ports/avisynthplus/vcpkg.json b/ports/avisynthplus/vcpkg.json index 655d892ca5a6af..57d4e62e5664ed 100644 --- a/ports/avisynthplus/vcpkg.json +++ b/ports/avisynthplus/vcpkg.json @@ -1,7 +1,7 @@ { "name": "avisynthplus", - "version": "3.7.2", - "port-version": 2, + "version": "3.7.3", + "port-version": 1, "description": "An improved version of the AviSynth frameserver, with improved features and developer friendliness", "homepage": "https://avs-plus.net/", "license": "GPL-2.0", diff --git a/ports/avro-c/portfile.cmake b/ports/avro-c/portfile.cmake index ac0742680b3f08..94c61be6cadf56 100644 --- a/ports/avro-c/portfile.cmake +++ b/ports/avro-c/portfile.cmake @@ -6,8 +6,8 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO apache/avro - REF 4e1fefca493029ace961b7ef8889a3722458565a #release-1.11.0 - SHA512 6e787983d68bc6ecffd14ca585917f695bc1ae554de9146a436d342f32321c3e7878cdfa32989742e682ac12a6eb914b3e3b515ca3164f386c0281c8b50b53ad + REF "release-${VERSION}" + SHA512 728609f562460e1115366663ede2c5d4acbdd6950c1ee3e434ffc65d28b72e3a43c3ebce93d0a8459f0c4f6c492ebb9444e2127a0385f38eb7cdf74b28f0c3ed HEAD_REF master PATCHES avro.patch # Private vcpkg build fixes diff --git a/ports/avro-c/vcpkg.json b/ports/avro-c/vcpkg.json index 888afb3ba21e9f..5c5c70cc1c12a2 100644 --- a/ports/avro-c/vcpkg.json +++ b/ports/avro-c/vcpkg.json @@ -1,7 +1,6 @@ { "name": "avro-c", - "version": "1.11.0", - "port-version": 3, + "version": "1.11.3", "description": "Apache Avro is a data serialization system", "homepage": "https://github.com/apache/avro", "license": "Apache-2.0", diff --git a/ports/avro-cpp/fix-cmake.patch b/ports/avro-cpp/fix-cmake.patch index 1030b37778210b..dc55ed44301b57 100644 --- a/ports/avro-cpp/fix-cmake.patch +++ b/ports/avro-cpp/fix-cmake.patch @@ -1,16 +1,11 @@ diff --git a/lang/c++/CMakeLists.txt b/lang/c++/CMakeLists.txt -index 472684f4c..edde09e40 100644 +index 19059a4..c49e9c2 100644 --- a/lang/c++/CMakeLists.txt +++ b/lang/c++/CMakeLists.txt -@@ -51,20 +51,16 @@ list(GET AVRO_VERSION 2 AVRO_VERSION_PATCH) - project (Avro-cpp) - set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}) - -+find_package(ZLIB REQUIRED) -+ +@@ -58,17 +58,12 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}) if (WIN32 AND NOT CYGWIN AND NOT MSYS) add_definitions (/EHa) -- add_definitions ( + add_definitions ( - -DNOMINMAX - -DBOOST_REGEX_DYN_LINK - -DBOOST_FILESYSTEM_DYN_LINK @@ -18,17 +13,35 @@ index 472684f4c..edde09e40 100644 - -DBOOST_IOSTREAMS_DYN_LINK - -DBOOST_PROGRAM_OPTIONS_DYN_LINK - -DBOOST_ALL_NO_LIB) -+ add_definitions (-DNOMINMAX) ++ -DNOMINMAX) endif() if (CMAKE_COMPILER_IS_GNUCXX) -- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -pedantic -Werror") +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wuseless-cast -Wconversion -pedantic -Werror") + # Remove " -Werror" because of warning from boost-math (will require C++ 14 soon) -+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -pedantic") ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wuseless-cast -Wconversion -pedantic") if (AVRO_ADD_PROTECTOR_FLAGS) set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fstack-protector-all -D_GLIBCXX_DEBUG") # Unset _GLIBCXX_DEBUG for avrogencpp.cc because using Boost Program Options -@@ -114,7 +110,7 @@ set (AVRO_SOURCE_FILES +@@ -82,16 +77,7 @@ endif () + find_package (Boost 1.38 REQUIRED + COMPONENTS filesystem iostreams program_options regex system) + +-include(FetchContent) +-FetchContent_Declare( +- fmt +- GIT_REPOSITORY https://github.com/fmtlib/fmt.git +- GIT_TAG 10.2.1 +- GIT_PROGRESS TRUE +- USES_TERMINAL_DOWNLOAD TRUE +-) +-FetchContent_MakeAvailable(fmt) +- ++find_package(fmt CONFIG REQUIRED) + find_package(Snappy) + if (SNAPPY_FOUND) + set(SNAPPY_PKG libsnappy) +@@ -128,7 +114,7 @@ set (AVRO_SOURCE_FILES impl/CustomAttributes.cc ) @@ -37,48 +50,33 @@ index 472684f4c..edde09e40 100644 set_property (TARGET avrocpp APPEND PROPERTY COMPILE_DEFINITIONS AVRO_DYN_LINK) -@@ -131,12 +127,12 @@ set_target_properties (avrocpp PROPERTIES - set_target_properties (avrocpp_s PROPERTIES - VERSION ${AVRO_VERSION_MAJOR}.${AVRO_VERSION_MINOR}.${AVRO_VERSION_PATCH}) - --target_link_libraries (avrocpp ${Boost_LIBRARIES} ${SNAPPY_LIBRARIES}) -+target_link_libraries (avrocpp ${Boost_LIBRARIES} ${SNAPPY_LIBRARIES} ZLIB::ZLIB) - target_include_directories(avrocpp PRIVATE ${SNAPPY_INCLUDE_DIR}) - - add_executable (precompile test/precompile.cc) - --target_link_libraries (precompile avrocpp_s ${Boost_LIBRARIES} ${SNAPPY_LIBRARIES}) -+target_link_libraries (precompile avrocpp_s ${Boost_LIBRARIES} ${SNAPPY_LIBRARIES} ZLIB::ZLIB) - - macro (gen file ns) - add_custom_command (OUTPUT ${file}.hh -@@ -166,13 +162,14 @@ gen (primitivetypes pt) - gen (cpp_reserved_words cppres) - - add_executable (avrogencpp impl/avrogencpp.cc) --target_link_libraries (avrogencpp avrocpp_s ${Boost_LIBRARIES} ${SNAPPY_LIBRARIES}) -+target_link_libraries (avrogencpp avrocpp_s ${Boost_LIBRARIES} ${SNAPPY_LIBRARIES} ZLIB::ZLIB) +@@ -194,6 +180,7 @@ target_include_directories(avrocpp PUBLIC + $ + ) +if(BUILD_TESTING) enable_testing() macro (unittest name) -- add_executable (${name} test/${name}.cc) -- target_link_libraries (${name} avrocpp ${Boost_LIBRARIES} ${SNAPPY_LIBRARIES}) -+ add_executable (${name} test/${name}.cc impl/json/JsonIO.cc impl/json/JsonDom.cc) -+ target_link_libraries (${name} avrocpp ${Boost_LIBRARIES} ${SNAPPY_LIBRARIES} ZLIB::ZLIB) - add_test (NAME ${name} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - COMMAND ${CMAKE_CURRENT_BINARY_DIR}/${name}) - endmacro (unittest) -@@ -197,6 +194,7 @@ add_dependencies (AvrogencppTests bigrecord_hh bigrecord_r_hh bigrecord2_hh - union_array_union_hh union_map_union_hh union_conflict_hh - recursive_hh reuse_hh circulardep_hh tree1_hh tree2_hh crossref_hh - primitivetypes_hh empty_record_hh) +@@ -220,23 +207,26 @@ unittest (CommonsSchemasTests) + add_dependencies (AvrogencppTestReservedWords cpp_reserved_words_hh) + + add_dependencies (AvrogencppTests bigrecord_hh bigrecord_r_hh bigrecord2_hh +- tweet_hh +- union_array_union_hh union_map_union_hh union_conflict_hh +- recursive_hh reuse_hh circulardep_hh tree1_hh tree2_hh crossref_hh +- primitivetypes_hh empty_record_hh cpp_reserved_words_union_typedef_hh +- union_empty_record_hh) +- ++ tweet_hh ++ union_array_union_hh union_map_union_hh union_conflict_hh ++ recursive_hh reuse_hh circulardep_hh tree1_hh tree2_hh crossref_hh ++ primitivetypes_hh empty_record_hh cpp_reserved_words_union_typedef_hh ++ union_empty_record_hh) +endif() - include (InstallRequiredSystemLibraries) -@@ -204,10 +202,14 @@ set (CPACK_PACKAGE_FILE_NAME "avrocpp-${AVRO_VERSION_MAJOR}") + set (CPACK_PACKAGE_FILE_NAME "avrocpp-${AVRO_VERSION_MAJOR}") include (CPack) @@ -87,13 +85,13 @@ index 472684f4c..edde09e40 100644 - ARCHIVE DESTINATION lib - RUNTIME DESTINATION lib) +install(TARGETS avrocpp EXPORT unofficial-avro-cpp) -+ + +install( + EXPORT unofficial-avro-cpp + FILE unofficial-avro-cpp-config.cmake + DESTINATION share/unofficial-avro-cpp + NAMESPACE unofficial::avro-cpp:: +) - install (TARGETS avrogencpp RUNTIME DESTINATION bin) + install (DIRECTORY include/avro DESTINATION include diff --git a/ports/avro-cpp/fix-fmt.patch b/ports/avro-cpp/fix-fmt.patch new file mode 100644 index 00000000000000..35155ea2b63faf --- /dev/null +++ b/ports/avro-cpp/fix-fmt.patch @@ -0,0 +1,38 @@ +diff --git a/lang/c++/include/avro/Node.hh b/lang/c++/include/avro/Node.hh +index f76078b..75619d9 100644 +--- a/lang/c++/include/avro/Node.hh ++++ b/lang/c++/include/avro/Node.hh +@@ -219,8 +219,8 @@ inline std::ostream &operator<<(std::ostream &os, const avro::Node &n) { + template<> + struct fmt::formatter : fmt::formatter { + template +- auto format(const avro::Name &n, FormatContext &ctx) { +- return fmt::formatter::format(n.fullname(), ctx); ++ auto format(const avro::Name &n, FormatContext &ctx) const { ++ return fmt::format_to(ctx.out(), "{}", n.fullname()); + } + }; + +diff --git a/lang/c++/include/avro/Types.hh b/lang/c++/include/avro/Types.hh +index 84a3397..4fe018e 100644 +--- a/lang/c++/include/avro/Types.hh ++++ b/lang/c++/include/avro/Types.hh +@@ -19,6 +19,7 @@ + #ifndef avro_Types_hh__ + #define avro_Types_hh__ + ++#include + #include + #include + +@@ -113,8 +114,8 @@ std::ostream &operator<<(std::ostream &os, const Null &null); + template<> + struct fmt::formatter : fmt::formatter { + template +- auto format(avro::Type t, FormatContext &ctx) { +- return fmt::formatter::format(avro::toString(t), ctx); ++ auto format(avro::Type t, FormatContext &ctx) const { ++ return fmt::format_to(ctx.out(), "{}", avro::toString(const_cast(t))); + } + }; + diff --git a/ports/avro-cpp/fix-std32_t.patch b/ports/avro-cpp/fix-std32_t.patch new file mode 100644 index 00000000000000..1f0ff42a2db476 --- /dev/null +++ b/ports/avro-cpp/fix-std32_t.patch @@ -0,0 +1,12 @@ +diff --git a/lang/c++/include/avro/LogicalType.hh b/lang/c++/include/avro/LogicalType.hh +index b2a7d0294..7b113b3aa 100644 +--- a/lang/c++/include/avro/LogicalType.hh ++++ b/lang/c++/include/avro/LogicalType.hh +@@ -22,6 +22,7 @@ + #include + + #include "Config.hh" ++#include + + namespace avro { + diff --git a/ports/avro-cpp/portfile.cmake b/ports/avro-cpp/portfile.cmake index 89d92f64b0dec8..d3b3a5dd83b847 100644 --- a/ports/avro-cpp/portfile.cmake +++ b/ports/avro-cpp/portfile.cmake @@ -2,10 +2,12 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO apache/avro REF "release-${VERSION}" - SHA512 728609f562460e1115366663ede2c5d4acbdd6950c1ee3e434ffc65d28b72e3a43c3ebce93d0a8459f0c4f6c492ebb9444e2127a0385f38eb7cdf74b28f0c3ed + SHA512 8cc6ef3cf1e0a919118c8ba5817a1866dc4f891fa95873c0fe1b4b388858fbadee8ed50406fa0006882cab40807fcf00c5a2dcd500290f3868d9d06b287eacb6 HEAD_REF master PATCHES fix-cmake.patch + fix-fmt.patch + fix-std32_t.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS @@ -27,14 +29,16 @@ file(READ "${CURRENT_PACKAGES_DIR}/share/unofficial-avro-cpp/unofficial-avro-cpp if("snappy" IN_LIST FEATURES) file(WRITE "${CURRENT_PACKAGES_DIR}/share/unofficial-avro-cpp/unofficial-avro-cpp-config.cmake" "include(CMakeFindDependencyMacro) -find_dependency(ZLIB) +find_dependency(Boost REQUIRED COMPONENTS filesystem iostreams program_options regex system) +find_dependency(fmt CONFIG) find_dependency(Snappy) ${cmake_config} ") else() file(WRITE "${CURRENT_PACKAGES_DIR}/share/unofficial-avro-cpp/unofficial-avro-cpp-config.cmake" "include(CMakeFindDependencyMacro) -find_dependency(ZLIB) +find_dependency(Boost REQUIRED COMPONENTS filesystem iostreams program_options regex system) +find_dependency(fmt CONFIG) ${cmake_config} ") endif() diff --git a/ports/avro-cpp/vcpkg.json b/ports/avro-cpp/vcpkg.json index dc4c4b20ac740b..ab8cf5e819759c 100644 --- a/ports/avro-cpp/vcpkg.json +++ b/ports/avro-cpp/vcpkg.json @@ -1,6 +1,7 @@ { "name": "avro-cpp", - "version": "1.11.3", + "version": "1.12.0", + "port-version": 2, "description": "Apache Avro is a data serialization system", "homepage": "https://github.com/apache/avro", "license": "Apache-2.0", @@ -16,6 +17,7 @@ "boost-program-options", "boost-random", "boost-tuple", + "fmt", { "name": "vcpkg-cmake", "host": true diff --git a/ports/awlib/portfile.cmake b/ports/awlib/portfile.cmake new file mode 100644 index 00000000000000..1a4a38d495e2a6 --- /dev/null +++ b/ports/awlib/portfile.cmake @@ -0,0 +1,33 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO absurdworlds/awlib + REF ${VERSION} + SHA512 bfb4668abc3db176744bb674a20bf770c6406db522a14191069b8d833414285ca784f042c3ad50404f7f8bc76afe69627dfcf540080e12316abbbfe420955526 + HEAD_REF master +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + hudf AW_ENABLE_HUDF + graphics AW_ENABLE_GRAPHICS +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(PACKAGE_NAME ${PORT} CONFIG_PATH lib/cmake/${PORT}) + +vcpkg_fixup_pkgconfig() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share") + +vcpkg_copy_pdbs() diff --git a/ports/awlib/vcpkg.json b/ports/awlib/vcpkg.json new file mode 100644 index 00000000000000..dea3a1e3ac4eff --- /dev/null +++ b/ports/awlib/vcpkg.json @@ -0,0 +1,31 @@ +{ + "name": "awlib", + "version-date": "2024-04-06", + "description": "Cross-platform utility library", + "homepage": "https://github.com/absurdworlds/awlib", + "license": "LGPL-3.0-or-later", + "supports": "!uwp & !android", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "graphics": { + "description": "Build graphics library", + "supports": "!uwp", + "dependencies": [ + "glfw3", + "libpng" + ] + }, + "hudf": { + "description": "Build HuDF support" + } + } +} diff --git a/ports/aws-c-auth/portfile.cmake b/ports/aws-c-auth/portfile.cmake index 1b84cfd9c64671..22e95aa588a96a 100644 --- a/ports/aws-c-auth/portfile.cmake +++ b/ports/aws-c-auth/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO awslabs/aws-c-auth REF "v${VERSION}" - SHA512 1afcdcd9899b9630af52173f172b2e3a0b10fe0979e80da59dbf0ff3dad07de5be9076a3cc3db76544fa2b479fe7c8aaeb319dd9b81c0a2637bd89433cb11b9d + SHA512 8c2b2230d694005d6e8e0245b3bf1c3a623f2bea6f2b854e6cabebf00652af120bf05961b2c18625226d2ede2e07485c5e0a35f8c929cc142af440579d84cc60 HEAD_REF master ) diff --git a/ports/aws-c-auth/vcpkg.json b/ports/aws-c-auth/vcpkg.json index ae6363828d006d..95e8388b3e457d 100644 --- a/ports/aws-c-auth/vcpkg.json +++ b/ports/aws-c-auth/vcpkg.json @@ -1,10 +1,9 @@ { "name": "aws-c-auth", - "version": "0.7.4", + "version": "0.8.0", "description": "C99 library implementation of AWS client-side authentication: standard credentials providers and signing.", "homepage": "https://github.com/awslabs/aws-c-auth", "license": "Apache-2.0", - "supports": "!(windows & arm) & !uwp", "dependencies": [ "aws-c-cal", "aws-c-http", diff --git a/ports/aws-c-cal/portfile.cmake b/ports/aws-c-cal/portfile.cmake index 4782cce5420e48..55078dd9dae924 100644 --- a/ports/aws-c-cal/portfile.cmake +++ b/ports/aws-c-cal/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO awslabs/aws-c-cal REF "v${VERSION}" - SHA512 b1116977b467c2c7f10f84912a3bc2a8329e3ec22c58f19f7b8a244a2b08fb3420bed62791b7ad6f06b8aeff6c361a33ddc0ac28cf781dfa1aafc83a62aa24ec + SHA512 c601a00f5e21bf42bd8e44787182be3805b90ab9c8a23025bed5acac602718548e6236106891b336c4ea81f68a26c3f0a5d33e090246b670efe53229df1fca90 HEAD_REF master PATCHES remove-libcrypto-messages.patch ) diff --git a/ports/aws-c-cal/vcpkg.json b/ports/aws-c-cal/vcpkg.json index 49f97f29c2b79c..3f91db18304086 100644 --- a/ports/aws-c-cal/vcpkg.json +++ b/ports/aws-c-cal/vcpkg.json @@ -1,11 +1,9 @@ { "name": "aws-c-cal", - "version": "0.6.2", - "port-version": 1, + "version": "0.8.1", "description": "C99 wrapper for cryptography primitives.", "homepage": "https://github.com/awslabs/aws-c-cal", "license": "Apache-2.0", - "supports": "!(windows & arm) & !uwp", "dependencies": [ "aws-c-common", { diff --git a/ports/aws-c-common/portfile.cmake b/ports/aws-c-common/portfile.cmake index e9e0adf7cf7a7b..d223202ccee15c 100644 --- a/ports/aws-c-common/portfile.cmake +++ b/ports/aws-c-common/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO awslabs/aws-c-common REF "v${VERSION}" - SHA512 203e6d313c0a435d0e042f79a4c87f91765206fd997b12c7d18cafe9551945fc1d976bd3a5c6fc9c60f4bbca52ebb15771a6ac2783666581b79d5d7153822485 + SHA512 5ec579dca53a0b5dc8ceac4ef65d1ee5dd76e585f10b7bab14e5c668c001516d48fb0669e2d909d665af665ba1429e5a87e15d7dc784fd3796455531af7b3762 HEAD_REF master PATCHES disable-internal-crt-option.patch # Disable internal crt option because vcpkg contains crt processing flow diff --git a/ports/aws-c-common/vcpkg.json b/ports/aws-c-common/vcpkg.json index d8a56856681572..dc8d62d7b9c6a6 100644 --- a/ports/aws-c-common/vcpkg.json +++ b/ports/aws-c-common/vcpkg.json @@ -1,10 +1,10 @@ { "name": "aws-c-common", - "version": "0.9.4", + "version": "0.10.6", "description": "AWS common library for C", "homepage": "https://github.com/awslabs/aws-c-common", "license": "Apache-2.0", - "supports": "!(windows & arm) & !uwp", + "supports": "!(windows & arm32) & !uwp", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/aws-c-compression/portfile.cmake b/ports/aws-c-compression/portfile.cmake index 0cd5e84c66da67..fd66396ea6d910 100644 --- a/ports/aws-c-compression/portfile.cmake +++ b/ports/aws-c-compression/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO awslabs/aws-c-compression REF "v${VERSION}" - SHA512 7813ae3d19336a187dd218d22748a09b397aea68f344e44ce0472490babdd7c7a4bb94d586a38d7f0c7d3b6f29502ec9ccf080b020e15fd24891ec1b3cdb4663 + SHA512 aae2031c22a5d716eb5be274eba7c49a4f4fb322b42d3709a7bf5cd64188b26a0938ef9b0b8e21f4e0cb8d236b4903605a78ddb76221a255d46ac57c5164402c HEAD_REF master ) diff --git a/ports/aws-c-compression/vcpkg.json b/ports/aws-c-compression/vcpkg.json index 351ad87cea14cd..175eb14f7547a8 100644 --- a/ports/aws-c-compression/vcpkg.json +++ b/ports/aws-c-compression/vcpkg.json @@ -1,10 +1,9 @@ { "name": "aws-c-compression", - "version": "0.2.17", + "version": "0.3.0", "description": "C99 implementation of huffman encoding/decoding", "homepage": "https://github.com/awslabs/aws-c-compression", "license": "Apache-2.0", - "supports": "!(windows & arm) & !uwp", "dependencies": [ "aws-c-common", { diff --git a/ports/aws-c-event-stream/portfile.cmake b/ports/aws-c-event-stream/portfile.cmake index e725a88532b085..230c519df34516 100644 --- a/ports/aws-c-event-stream/portfile.cmake +++ b/ports/aws-c-event-stream/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO awslabs/aws-c-event-stream REF "v${VERSION}" - SHA512 295ee4b1f647f5b15790e000cd5f0102e64ef03912c1c7378739f52229b82090384c66367c4caf8fa7f34f3275b3da71bc031cf6000053ad31d53ce075721da2 + SHA512 0ef4b45e84eb014a392ca5eb4e701999cc294a36d3330036be587ec34d41efc30413f3e6fa829bd9da4ca595db64b4bf9c3df53efd47a14ebf70ed00b3a6dbc0 HEAD_REF master ) diff --git a/ports/aws-c-event-stream/vcpkg.json b/ports/aws-c-event-stream/vcpkg.json index 1c3135a5ed57ec..5886f1afe27f85 100644 --- a/ports/aws-c-event-stream/vcpkg.json +++ b/ports/aws-c-event-stream/vcpkg.json @@ -1,10 +1,9 @@ { "name": "aws-c-event-stream", - "version": "0.3.2", + "version": "0.5.0", "description": "C99 implementation of the vnd.amazon.event-stream content-type.", "homepage": "https://github.com/awslabs/aws-c-event-stream", "license": "Apache-2.0", - "supports": "!(windows & arm) & !uwp", "dependencies": [ "aws-c-common", "aws-c-io", diff --git a/ports/aws-c-http/portfile.cmake b/ports/aws-c-http/portfile.cmake index 1370e36e72e651..38fe64860a04db 100644 --- a/ports/aws-c-http/portfile.cmake +++ b/ports/aws-c-http/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO awslabs/aws-c-http REF "v${VERSION}" - SHA512 48132df910d67d58e6a28481fcb19401272fa929f8e0b14e0c6b1f5c425221099d32671bbdd05d973f54b1463e8e20ae2fe6ffe56fcc1b02b684c9a0ba43e204 + SHA512 9989b8a0cd10e4f96aa4a3c5e6072aa61d2d4851f1caffb86ff0754f89ad11b2aee3d522fe844ab43120a8006d6aa5ee2f7b74bfc3dd9e46160dabd67daf91e5 HEAD_REF master ) diff --git a/ports/aws-c-http/vcpkg.json b/ports/aws-c-http/vcpkg.json index b12be55b31afec..9d95aa213e90f2 100644 --- a/ports/aws-c-http/vcpkg.json +++ b/ports/aws-c-http/vcpkg.json @@ -1,10 +1,9 @@ { "name": "aws-c-http", - "version": "0.7.13", + "version": "0.9.2", "description": "C99 implementation of the HTTP/1.1 and HTTP/2 specifications", "homepage": "https://github.com/awslabs/aws-c-http", "license": "Apache-2.0", - "supports": "!(windows & arm) & !uwp", "dependencies": [ "aws-c-cal", "aws-c-common", diff --git a/ports/aws-c-io/portfile.cmake b/ports/aws-c-io/portfile.cmake index 96bbd92917232e..c47d441b397d0a 100644 --- a/ports/aws-c-io/portfile.cmake +++ b/ports/aws-c-io/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO awslabs/aws-c-io REF "v${VERSION}" - SHA512 54f6ef23ab7fb65c9d1425d21d59daf1b13a50595f7f06c7d4f74bfb5941a7ddf0185ae3249b940473422c1880bb034c0610876c6e13ae499ccd2dcc888c1b23 + SHA512 3ed00ef885c4424651222acecb1a8c090b6db36e0e001937734d26a326ddf363078628a03a6e33952dca52d22cb16b9ed8d422cf036d71ea153856e9a1f11659 HEAD_REF master ) diff --git a/ports/aws-c-io/vcpkg.json b/ports/aws-c-io/vcpkg.json index f7720445def08d..1492bebc09962b 100644 --- a/ports/aws-c-io/vcpkg.json +++ b/ports/aws-c-io/vcpkg.json @@ -1,10 +1,9 @@ { "name": "aws-c-io", - "version": "0.13.32", + "version": "0.15.3", "description": "Handles all IO and TLS work for application protocols.", "homepage": "https://github.com/awslabs/aws-c-io", "license": "Apache-2.0", - "supports": "!(windows & arm) & !uwp", "dependencies": [ "aws-c-cal", "aws-c-common", diff --git a/ports/aws-c-mqtt/portfile.cmake b/ports/aws-c-mqtt/portfile.cmake index fcd05e047b6c38..7e561af2b6c2a9 100644 --- a/ports/aws-c-mqtt/portfile.cmake +++ b/ports/aws-c-mqtt/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO awslabs/aws-c-mqtt REF "v${VERSION}" - SHA512 25f2097978174f15186a22bab37af36ef41aef9dba7a2d035495ea5cd60159d09ca6b22eb123eb9d911f2555d5688ffe1194e4015d080651d0a44323e15aee2a + SHA512 62fc05f6153953e42178dc2861a5ce6644ce01e5ba05db3b63899af63bc2d15bb3f45272e6812a21a8ef91b7cf65e91818f7ff8611a3fc45a9b66db33f874204 HEAD_REF master ) diff --git a/ports/aws-c-mqtt/vcpkg.json b/ports/aws-c-mqtt/vcpkg.json index 039a75d4c73bae..67663342c1cc6e 100644 --- a/ports/aws-c-mqtt/vcpkg.json +++ b/ports/aws-c-mqtt/vcpkg.json @@ -1,10 +1,9 @@ { "name": "aws-c-mqtt", - "version": "0.9.6", + "version": "0.11.0", "description": "C99 implementation of the MQTT 3.1.1 specification.", "homepage": "https://github.com/awslabs/aws-c-mqtt", "license": "Apache-2.0", - "supports": "!(windows & arm) & !uwp", "dependencies": [ "aws-c-http", "aws-c-io", diff --git a/ports/aws-c-s3/portfile.cmake b/ports/aws-c-s3/portfile.cmake index 6c60e22af29dfb..5c9e7a01cd5b7e 100644 --- a/ports/aws-c-s3/portfile.cmake +++ b/ports/aws-c-s3/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO awslabs/aws-c-s3 REF "v${VERSION}" - SHA512 f96cab50c0f96d6cb3cb8e142cc95c91e9efd0b02d115e91ec5d2fc7c4be350d58342f5846065216a49c080aaf3954fa9732ff423bad20b250afe4227ee3aaef + SHA512 887081a014dc49596191a97f9999a5221e3e6341ca192103325dbdabfbeefa143da94d6026682b4f867c336f70ee238e56572960011f788f0be7caf6b1047c06 HEAD_REF master ) diff --git a/ports/aws-c-s3/vcpkg.json b/ports/aws-c-s3/vcpkg.json index 0616b5d83a55ad..f50b68d8523d21 100644 --- a/ports/aws-c-s3/vcpkg.json +++ b/ports/aws-c-s3/vcpkg.json @@ -1,10 +1,9 @@ { "name": "aws-c-s3", - "version": "0.3.17", + "version": "0.7.7", "description": "C99 library implementation for communicating with the S3 service, designed for maximizing throughput on high bandwidth EC2 instances.", "homepage": "https://github.com/awslabs/aws-c-s3", "license": "Apache-2.0", - "supports": "!(windows & arm) & !uwp", "dependencies": [ "aws-c-auth", "aws-c-http", diff --git a/ports/aws-c-sdkutils/portfile.cmake b/ports/aws-c-sdkutils/portfile.cmake index c36cdd2d096d35..d9cd9dbcbff9a8 100644 --- a/ports/aws-c-sdkutils/portfile.cmake +++ b/ports/aws-c-sdkutils/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO awslabs/aws-c-sdkutils REF "v${VERSION}" - SHA512 34d5bc5190fc6890533247d304b791625f59b0f60aca972b03e00f684b37dd3b806b7c371f1f8b048a30cb9960326d1534c53874621c9630215e597ba8700685 + SHA512 b3e0917d01c0f66adb1b789324d7d2b4d45c5efe22d769a19895f8c9c8473f21fcb7b01f4621e7e46826b14688cf894d18ffc9d0451ab57c0319b666cc28cd20 HEAD_REF master ) diff --git a/ports/aws-c-sdkutils/vcpkg.json b/ports/aws-c-sdkutils/vcpkg.json index bb91dda4e0dba4..585a370c40e5cc 100644 --- a/ports/aws-c-sdkutils/vcpkg.json +++ b/ports/aws-c-sdkutils/vcpkg.json @@ -1,10 +1,9 @@ { "name": "aws-c-sdkutils", - "version": "0.1.12", + "version": "0.2.1", "description": "C99 library implementing AWS SDK specific utilities. Includes utilities for ARN parsing, reading AWS profiles, etc...", "homepage": "https://github.com/awslabs/aws-c-sdkutils", "license": "Apache-2.0", - "supports": "!(windows & arm) & !uwp", "dependencies": [ "aws-c-common", { diff --git a/ports/aws-checksums/portfile.cmake b/ports/aws-checksums/portfile.cmake index 07234e6ca53ba2..92638058c023fa 100644 --- a/ports/aws-checksums/portfile.cmake +++ b/ports/aws-checksums/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO awslabs/aws-checksums REF "v${VERSION}" - SHA512 b75f5442db9a61f8856756c4a784339fd446effca0cdb02c67e51ce9f14ea76f5ca94d29a69f2a452c63c868598489343ec1d097432a8a0159868731422cfbf4 + SHA512 56ea4946a40816e11ae8819d7d383f8c871c1b9ad5bdf410f61169e62263daf08a5eea4e81eb0f9bd8de2e3ff5479b1a61e6441f7281bda70029ae35abd4ae59 HEAD_REF master ) diff --git a/ports/aws-checksums/vcpkg.json b/ports/aws-checksums/vcpkg.json index c915c21576cc5d..0e52e79396961a 100644 --- a/ports/aws-checksums/vcpkg.json +++ b/ports/aws-checksums/vcpkg.json @@ -1,10 +1,9 @@ { "name": "aws-checksums", - "version": "0.1.17", + "version": "0.2.2", "description": "Cross-Platform HW accelerated CRC32c and CRC32 with fallback to efficient SW implementations.", "homepage": "https://github.com/awslabs/aws-checksums", "license": "Apache-2.0", - "supports": "!(windows & arm)", "dependencies": [ "aws-c-common", { diff --git a/ports/aws-crt-cpp/portfile.cmake b/ports/aws-crt-cpp/portfile.cmake index 1d0b4306e9369e..1b19edc3667267 100644 --- a/ports/aws-crt-cpp/portfile.cmake +++ b/ports/aws-crt-cpp/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO awslabs/aws-crt-cpp REF "v${VERSION}" - SHA512 88631845bf78e526b3160d0ba6ff67922b09f8e25864bfeeb4cf16f2d217bf00c9686e53e70382129d8209612453190024a16aa3cff153198960c8895f2e1772 + SHA512 d89038277b030ee7611447daf08521f9c08bf39143861518f7343d3c2397ddb46358a2911713b92d780c8bd49e50c5c06a8b8f93bd3f2cba1a1fdf27144bb0a8 PATCHES no-werror.patch ) diff --git a/ports/aws-crt-cpp/vcpkg.json b/ports/aws-crt-cpp/vcpkg.json index 6a5f6e4128c31b..8b7d295553558a 100644 --- a/ports/aws-crt-cpp/vcpkg.json +++ b/ports/aws-crt-cpp/vcpkg.json @@ -1,10 +1,9 @@ { "name": "aws-crt-cpp", - "version": "0.23.1", + "version": "0.29.7", "description": "C++ wrapper around the aws-c-* libraries. Provides Cross-Platform Transport Protocols and SSL/TLS implementations for C++.", "homepage": "https://github.com/awslabs/aws-crt-cpp", "license": "Apache-2.0", - "supports": "!(windows & arm) & !uwp", "dependencies": [ "aws-c-auth", "aws-c-cal", diff --git a/ports/aws-lambda-cpp/portfile.cmake b/ports/aws-lambda-cpp/portfile.cmake index 64d60be17f9568..2ff9b9ee3e942e 100644 --- a/ports/aws-lambda-cpp/portfile.cmake +++ b/ports/aws-lambda-cpp/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO awslabs/aws-lambda-cpp REF "v${VERSION}" - SHA512 842bada21427c9c85442b8a33228bae7b347214418fcd0681154f1bd384633217d724cab53cddf372a59dfa5de01cca59118a316b0fd58fe9f2403b3b62163f6 + SHA512 a7be4a5c194139f4bd246b9212ea2b1718508a23b8650537fa5dc97873b4d58ce3d340740ba980958957c7f56d3f7aff535bd465ac48dae121b07d9a5be00d02 HEAD_REF master ) diff --git a/ports/aws-lambda-cpp/vcpkg.json b/ports/aws-lambda-cpp/vcpkg.json index 62463d0ebeffa0..7e74d52ac6eb42 100644 --- a/ports/aws-lambda-cpp/vcpkg.json +++ b/ports/aws-lambda-cpp/vcpkg.json @@ -1,7 +1,6 @@ { "name": "aws-lambda-cpp", - "version": "0.2.8", - "port-version": 1, + "version": "0.2.10", "description": "C++ Runtime for AWS Lambda.", "license": "Apache-2.0", "supports": "linux", diff --git a/ports/aws-sdk-cpp/find-dependency.patch b/ports/aws-sdk-cpp/find-dependency.patch new file mode 100644 index 00000000000000..4ddf5156428d74 --- /dev/null +++ b/ports/aws-sdk-cpp/find-dependency.patch @@ -0,0 +1,14 @@ +diff --git a/toolchains/core-config.cmake b/toolchains/core-config.cmake +index d90bfaf747..ab14402577 100644 +--- a/toolchains/core-config.cmake ++++ b/toolchains/core-config.cmake +@@ -15,5 +15,9 @@ if (AWSSDK_CRYPTO_IN_SOURCE_BUILD) + find_dependency(crypto) + find_dependency(ssl) + endif() ++find_dependency(ZLIB) ++if("@ENABLE_CURL_CLIENT@") ++ find_dependency(CURL) ++endif() + set(BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS_PREV}) + include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@-targets.cmake") diff --git a/ports/aws-sdk-cpp/fix-awsmigrationhub-build.patch b/ports/aws-sdk-cpp/fix-awsmigrationhub-build.patch deleted file mode 100644 index c2d98030136e81..00000000000000 --- a/ports/aws-sdk-cpp/fix-awsmigrationhub-build.patch +++ /dev/null @@ -1,10 +0,0 @@ -diff --git a/generated/src/aws-cpp-sdk-AWSMigrationHub/CMakeLists.txt b/generated/src/aws-cpp-sdk-AWSMigrationHub/CMakeLists.txt -index a8a888d..574b985 100644 ---- a/generated/src/aws-cpp-sdk-AWSMigrationHub/CMakeLists.txt -+++ b/generated/src/aws-cpp-sdk-AWSMigrationHub/CMakeLists.txt -@@ -1,4 +1,4 @@ --add_project(aws-cpp-sdk-AWSMigrationHub "C++ SDK for the AWS AWSMigrationHub service" aws-cpp-sdk-core) -+add_project(aws-cpp-sdk-awsmigrationhub "C++ SDK for the AWS AWSMigrationHub service" aws-cpp-sdk-core) - - file(GLOB AWS_AWSMIGRATIONHUB_HEADERS - "include/aws/AWSMigrationHub/*.h" diff --git a/ports/aws-sdk-cpp/fix_find_curl.patch b/ports/aws-sdk-cpp/fix_find_curl.patch new file mode 100644 index 00000000000000..b335052654177a --- /dev/null +++ b/ports/aws-sdk-cpp/fix_find_curl.patch @@ -0,0 +1,31 @@ +diff --git a/cmake/external_dependencies.cmake b/cmake/external_dependencies.cmake +index acf16c0..3a49fb4 100644 +--- a/cmake/external_dependencies.cmake ++++ b/cmake/external_dependencies.cmake +@@ -80,23 +80,12 @@ if(NOT NO_HTTP_CLIENT AND NOT USE_CRT_HTTP_CLIENT) + set(BUILD_CURL 1) + message(STATUS " Building Curl as part of AWS SDK") + else() +- include(FindCURL) ++ find_package(CURL REQUIRED) + if(NOT CURL_FOUND) + message(FATAL_ERROR "Could not find curl") ++ else() ++ set(CURL_LIBRARIES CURL::libcurl) + endif() +- +- # When built from source using cmake, curl does not include +- # CURL_INCLUDE_DIRS or CURL_INCLUDE_DIRS so we need to use +- # find_package to fix it +- if ("${CURL_INCLUDE_DIRS}" STREQUAL "" AND "${CURL_LIBRARIES}" STREQUAL "") +- message(STATUS "Could not find curl include or library path, falling back to find with config.") +- find_package(CURL) +- set(CURL_LIBRARIES CURL::libcurl) +- else () +- message(STATUS " Curl include directory: ${CURL_INCLUDE_DIRS}") +- List(APPEND EXTERNAL_DEPS_INCLUDE_DIRS ${CURL_INCLUDE_DIRS}) +- set(CLIENT_LIBS ${CURL_LIBRARIES}) +- endif () + set(CLIENT_LIBS_ABSTRACT_NAME curl) + message(STATUS " Curl target link: ${CURL_LIBRARIES}") + endif() diff --git a/ports/aws-sdk-cpp/generateFeatures.ps1 b/ports/aws-sdk-cpp/generateFeatures.ps1 index d0f9a5aba7229e..be3f504c26481f 100644 --- a/ports/aws-sdk-cpp/generateFeatures.ps1 +++ b/ports/aws-sdk-cpp/generateFeatures.ps1 @@ -1,6 +1,5 @@ [CmdletBinding()] param( - [Parameter(Mandatory=$true)][string]$SourcesRef, [Parameter(Mandatory=$false)][string]$PortDirectory = $PSScriptRoot, [Parameter(Mandatory=$false)][string]$vcpkg = "$PSScriptRoot/../../vcpkg" ) @@ -10,24 +9,27 @@ $ErrorActionPreference = "Stop" $ManifestIn = "$PortDirectory/vcpkg.in.json" $ManifestOut = "$PortDirectory/vcpkg.json" -$ExtractedSources = "${env:TEMP}/aws-sdk-cpp-generateFeatures-$SourcesRef" +$manifest = Get-Content $ManifestIn | ConvertFrom-Json +$version = $manifest.version + +Write-Host "Using version from vcpkg.in.json: $version" + +$ExtractedSources = "${env:TEMP}/aws-sdk-cpp-generateFeatures-$version" if (-not (Test-Path $ExtractedSources)) { if (Test-Path "$ExtractedSources.tmp") { Remove-Item -Force "$ExtractedSources.tmp" } - git clone "https://github.com/aws/aws-sdk-cpp" "$ExtractedSources.tmp" | Out-Host - git -c "$ExtractedSources.tmp" checkout $SourcesRef + git clone --depth=1 "https://github.com/aws/aws-sdk-cpp" "$ExtractedSources.tmp" | Out-Host + git -c "$ExtractedSources.tmp" checkout $version Move-Item "$ExtractedSources.tmp" "$ExtractedSources" } Write-Host "Using sources directory: $ExtractedSources" - $subfolders = Get-ChildItem -Path "$ExtractedSources\generated\src\aws-cpp-sdk-*", "$ExtractedSources\src\aws-cpp-sdk*" | Sort-Object -Property Name -$manifest = Get-Content $ManifestIn | ConvertFrom-Json $manifest | Add-Member ` -NotePropertyName '$note' ` - -NotePropertyValue 'Automatically generated by generateFeatures.ps1' + -NotePropertyValue 'Automatically generated by generateFeatures.ps1 from vcpkg.in.json, do not edit manually' $manifest | Add-Member -NotePropertyName 'features' -NotePropertyValue @{} function GetDescription($dir, $modulename) diff --git a/ports/aws-sdk-cpp/patch-relocatable-rpath.patch b/ports/aws-sdk-cpp/patch-relocatable-rpath.patch deleted file mode 100644 index 1dc1cfd7603d4e..00000000000000 --- a/ports/aws-sdk-cpp/patch-relocatable-rpath.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 41d220d5fa..f6ee9a2a74 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -147,7 +147,6 @@ if (LEGACY_BUILD) - endif () - - # Add Linker search paths to RPATH so as to fix the problem where some linkers can't find cross-compiled dependent libraries in customer paths when linking executables. -- set(CMAKE_INSTALL_RPATH_USE_LINK_PATH true) - - # build the sdk targets - project("aws-cpp-sdk-all" VERSION "${PROJECT_VERSION}" LANGUAGES CXX) diff --git a/ports/aws-sdk-cpp/portfile.cmake b/ports/aws-sdk-cpp/portfile.cmake index e66073eb24af2d..1d8a8da4ac2d6a 100644 --- a/ports/aws-sdk-cpp/portfile.cmake +++ b/ports/aws-sdk-cpp/portfile.cmake @@ -4,17 +4,17 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO aws/aws-sdk-cpp REF "${VERSION}" - SHA512 63de900870e9bec23d42e9458e0e9b1579a9e2dc7b0f404eae1b0dd406898b6d6841c5e2f498710b3828f212705437da3a2fe94813a6c3a842945100a05ae368 + SHA512 f81b0afd9c3bb6e8181c6edc04de9b83af8a17e5bdf993e68fc00abc07980fadbe9e6b98635632cb96ed62c9b2753771f9cf6d91088d6ab42f409eec5d136faa PATCHES - patch-relocatable-rpath.patch fix-aws-root.patch lock-curl-http-and-tls-settings.patch - fix-awsmigrationhub-build.patch + fix_find_curl.patch + find-dependency.patch ) string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "dynamic" FORCE_SHARED_CRT) -set(EXTRA_ARGS) +set(EXTRA_ARGS "") if(VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_IOS) set(rpath "@loader_path") elseif (VCPKG_TARGET_IS_ANDROID) @@ -30,6 +30,7 @@ else() set(rpath "\$ORIGIN") endif() +string(REPLACE "awsmigrationhub" "AWSMigrationHub" targets "${FEATURES}") vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" DISABLE_PARALLEL_CONFIGURE @@ -38,7 +39,7 @@ vcpkg_cmake_configure( "-DENABLE_UNITY_BUILD=ON" "-DENABLE_TESTING=OFF" "-DFORCE_SHARED_CRT=${FORCE_SHARED_CRT}" - "-DBUILD_ONLY=${FEATURES}" + "-DBUILD_ONLY=${targets}" "-DBUILD_DEPS=OFF" "-DBUILD_SHARED_LIBS=OFF" "-DAWS_SDK_WARNINGS_ARE_ERRORS=OFF" @@ -47,10 +48,11 @@ vcpkg_cmake_configure( ) vcpkg_cmake_install() -foreach(TARGET IN LISTS FEATURES) - vcpkg_cmake_config_fixup(PACKAGE_NAME "aws-cpp-sdk-${TARGET}" CONFIG_PATH "lib/cmake/aws-cpp-sdk-${TARGET}" DO_NOT_DELETE_PARENT_CONFIG_PATH) +foreach(TARGET IN LISTS targets) + string(TOLOWER "aws-cpp-sdk-${TARGET}" package) + vcpkg_cmake_config_fixup(PACKAGE_NAME "${package}" CONFIG_PATH "lib/cmake/aws-cpp-sdk-${TARGET}" DO_NOT_DELETE_PARENT_CONFIG_PATH) endforeach() -vcpkg_cmake_config_fixup(PACKAGE_NAME "AWSSDK" CONFIG_PATH "lib/cmake/AWSSDK") +vcpkg_cmake_config_fixup(PACKAGE_NAME "awssdk" CONFIG_PATH "lib/cmake/AWSSDK") vcpkg_copy_pdbs() @@ -80,7 +82,7 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/nuget" ) -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") file(GLOB LIB_FILES ${CURRENT_PACKAGES_DIR}/bin/*.lib) if(LIB_FILES) file(COPY ${LIB_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/lib) diff --git a/ports/aws-sdk-cpp/vcpkg.in.json b/ports/aws-sdk-cpp/vcpkg.in.json index a618a77d864b7f..1e25eb70592358 100644 --- a/ports/aws-sdk-cpp/vcpkg.in.json +++ b/ports/aws-sdk-cpp/vcpkg.in.json @@ -1,11 +1,9 @@ { "name": "aws-sdk-cpp", - "version": "1.11.160", - "port-version": 1, + "version": "1.11.474", "description": "AWS SDK for C++", "homepage": "https://github.com/aws/aws-sdk-cpp", "license": "Apache-2.0", - "supports": "!(windows & arm) & !uwp", "dependencies": [ "aws-crt-cpp", { diff --git a/ports/aws-sdk-cpp/vcpkg.json b/ports/aws-sdk-cpp/vcpkg.json index 138894a9eec944..2ca1eff1d6ef89 100644 --- a/ports/aws-sdk-cpp/vcpkg.json +++ b/ports/aws-sdk-cpp/vcpkg.json @@ -1,12 +1,10 @@ { - "$note": "Automatically generated by generateFeatures.ps1", + "$note": "Automatically generated by generateFeatures.ps1 from vcpkg.in.json, do not edit manually", "name": "aws-sdk-cpp", - "version": "1.11.169", - "port-version": 2, + "version": "1.11.474", "description": "AWS SDK for C++", "homepage": "https://github.com/aws/aws-sdk-cpp", "license": "Apache-2.0", - "supports": "!(windows & arm) & !uwp", "dependencies": [ "aws-crt-cpp", { @@ -62,9 +60,6 @@ "acm-pca": { "description": "C++ SDK for the AWS acm-pca service" }, - "alexaforbusiness": { - "description": "C++ SDK for the AWS alexaforbusiness service" - }, "amp": { "description": "C++ SDK for the AWS amp service" }, @@ -107,6 +102,9 @@ "application-insights": { "description": "C++ SDK for the AWS application-insights service" }, + "application-signals": { + "description": "C++ SDK for the AWS application-signals service" + }, "applicationcostprofiler": { "description": "C++ SDK for the AWS applicationcostprofiler service" }, @@ -122,9 +120,15 @@ "appsync": { "description": "C++ SDK for the AWS appsync service" }, + "apptest": { + "description": "C++ SDK for the AWS apptest service" + }, "arc-zonal-shift": { "description": "C++ SDK for the AWS arc-zonal-shift service" }, + "artifact": { + "description": "C++ SDK for the AWS artifact service" + }, "athena": { "description": "C++ SDK for the AWS athena service" }, @@ -143,18 +147,48 @@ "awstransfer": { "description": "C++ SDK for the AWS awstransfer service" }, + "b2bi": { + "description": "C++ SDK for the AWS b2bi service" + }, "backup": { "description": "C++ SDK for the AWS backup service" }, "backup-gateway": { "description": "C++ SDK for the AWS backup-gateway service" }, - "backupstorage": { - "description": "C++ SDK for the AWS backupstorage service" + "backupsearch": { + "description": "C++ SDK for the AWS backupsearch service" }, "batch": { "description": "C++ SDK for the AWS batch service" }, + "bcm-data-exports": { + "description": "C++ SDK for the AWS bcm-data-exports service" + }, + "bcm-pricing-calculator": { + "description": "C++ SDK for the AWS bcm-pricing-calculator service" + }, + "bedrock": { + "description": "C++ SDK for the AWS bedrock service" + }, + "bedrock-agent": { + "description": "C++ SDK for the AWS bedrock-agent service" + }, + "bedrock-agent-runtime": { + "description": "C++ SDK for the AWS bedrock-agent-runtime service" + }, + "bedrock-data-automation": { + "description": "C++ SDK for the AWS bedrock-data-automation service" + }, + "bedrock-data-automation-runtime": { + "description": "C++ SDK for the AWS bedrock-data-automation-runtime service" + }, + "bedrock-runtime": { + "description": "C++ SDK for the AWS bedrock-runtime service" + }, + "billing": { + "description": "C++ SDK for the AWS billing service" + }, "billingconductor": { "description": "C++ SDK for the AWS billingconductor service" }, @@ -167,6 +201,9 @@ "ce": { "description": "C++ SDK for the AWS ce service" }, + "chatbot": { + "description": "C++ SDK for the AWS chatbot service" + }, "chime": { "description": "C++ SDK for the AWS chime service" }, @@ -188,6 +225,9 @@ "cleanrooms": { "description": "C++ SDK for the AWS cleanrooms service" }, + "cleanroomsml": { + "description": "C++ SDK for the AWS cleanroomsml service" + }, "cloud9": { "description": "C++ SDK for the AWS cloud9 service" }, @@ -203,6 +243,9 @@ "cloudfront": { "description": "C++ SDK for the AWS cloudfront service" }, + "cloudfront-keyvaluestore": { + "description": "C++ SDK for the AWS cloudfront-keyvaluestore service" + }, "cloudhsm": { "description": "C++ SDK for the AWS cloudhsm service" }, @@ -233,6 +276,9 @@ "codecommit": { "description": "C++ SDK for the AWS codecommit service" }, + "codeconnections": { + "description": "C++ SDK for the AWS codeconnections service" + }, "codedeploy": { "description": "C++ SDK for the AWS codedeploy service" }, @@ -248,9 +294,6 @@ "codepipeline": { "description": "C++ SDK for the AWS codepipeline service" }, - "codestar": { - "description": "C++ SDK for the AWS codestar service" - }, "codestar-connections": { "description": "C++ SDK for the AWS codestar-connections service" }, @@ -287,15 +330,24 @@ "connectcampaigns": { "description": "C++ SDK for the AWS connectcampaigns service" }, + "connectcampaignsv2": { + "description": "C++ SDK for the AWS connectcampaignsv2 service" + }, "connectcases": { "description": "C++ SDK for the AWS connectcases service" }, "connectparticipant": { "description": "C++ SDK for the AWS connectparticipant service" }, + "controlcatalog": { + "description": "C++ SDK for the AWS controlcatalog service" + }, "controltower": { "description": "C++ SDK for the AWS controltower service" }, + "cost-optimization-hub": { + "description": "C++ SDK for the AWS cost-optimization-hub service" + }, "cur": { "description": "C++ SDK for the AWS cur service" }, @@ -314,9 +366,15 @@ "datasync": { "description": "C++ SDK for the AWS datasync service" }, + "datazone": { + "description": "C++ SDK for the AWS datazone service" + }, "dax": { "description": "C++ SDK for the AWS dax service" }, + "deadline": { + "description": "C++ SDK for the AWS deadline service" + }, "detective": { "description": "C++ SDK for the AWS detective service" }, @@ -329,6 +387,9 @@ "directconnect": { "description": "C++ SDK for the AWS directconnect service" }, + "directory-service-data": { + "description": "C++ SDK for the AWS directory-service-data service" + }, "discovery": { "description": "C++ SDK for the AWS discovery service" }, @@ -350,6 +411,9 @@ "ds": { "description": "C++ SDK for the AWS ds service" }, + "dsql": { + "description": "C++ SDK for the AWS dsql service" + }, "dynamodb": { "description": "C++ SDK for the AWS dynamodb service" }, @@ -377,6 +441,9 @@ "eks": { "description": "C++ SDK for the AWS eks service" }, + "eks-auth": { + "description": "C++ SDK for the AWS eks-auth service" + }, "elastic-inference": { "description": "C++ SDK for the AWS elastic-inference service" }, @@ -449,14 +516,23 @@ "frauddetector": { "description": "C++ SDK for the AWS frauddetector service" }, + "freetier": { + "description": "C++ SDK for the AWS freetier service" + }, "fsx": { "description": "C++ SDK for the AWS fsx service" }, "gamelift": { "description": "C++ SDK for the AWS gamelift service" }, - "gamesparks": { - "description": "C++ SDK for the AWS gamesparks service" + "geo-maps": { + "description": "C++ SDK for the AWS geo-maps service" + }, + "geo-places": { + "description": "C++ SDK for the AWS geo-places service" + }, + "geo-routes": { + "description": "C++ SDK for the AWS geo-routes service" }, "glacier": { "description": "C++ SDK for the AWS glacier service" @@ -488,9 +564,6 @@ "healthlake": { "description": "C++ SDK for the AWS healthlake service" }, - "honeycode": { - "description": "C++ SDK for the AWS honeycode service" - }, "iam": { "description": "C++ SDK for the AWS iam service" }, @@ -519,12 +592,18 @@ "inspector": { "description": "C++ SDK for the AWS inspector service" }, + "inspector-scan": { + "description": "C++ SDK for the AWS inspector-scan service" + }, "inspector2": { "description": "C++ SDK for the AWS inspector2 service" }, "internetmonitor": { "description": "C++ SDK for the AWS internetmonitor service" }, + "invoicing": { + "description": "C++ SDK for the AWS invoicing service" + }, "iot": { "description": "C++ SDK for the AWS iot service" }, @@ -534,9 +613,6 @@ "iot-jobs-data": { "description": "C++ SDK for the AWS iot-jobs-data service" }, - "iot-roborunner": { - "description": "C++ SDK for the AWS iot-roborunner service" - }, "iot1click-devices": { "description": "C++ SDK for the AWS iot1click-devices service" }, @@ -633,6 +709,9 @@ "lambda": { "description": "C++ SDK for the AWS lambda service" }, + "launch-wizard": { + "description": "C++ SDK for the AWS launch-wizard service" + }, "lex": { "description": "C++ SDK for the AWS lex service" }, @@ -678,24 +757,33 @@ "machinelearning": { "description": "C++ SDK for the AWS machinelearning service" }, - "macie": { - "description": "C++ SDK for the AWS macie service" - }, "macie2": { "description": "C++ SDK for the AWS macie2 service" }, + "mailmanager": { + "description": "C++ SDK for the AWS mailmanager service" + }, "managedblockchain": { "description": "C++ SDK for the AWS managedblockchain service" }, "managedblockchain-query": { "description": "C++ SDK for the AWS managedblockchain-query service" }, + "marketplace-agreement": { + "description": "C++ SDK for the AWS marketplace-agreement service" + }, "marketplace-catalog": { "description": "C++ SDK for the AWS marketplace-catalog service" }, + "marketplace-deployment": { + "description": "C++ SDK for the AWS marketplace-deployment service" + }, "marketplace-entitlement": { "description": "C++ SDK for the AWS marketplace-entitlement service" }, + "marketplace-reporting": { + "description": "C++ SDK for the AWS marketplace-reporting service" + }, "marketplacecommerceanalytics": { "description": "C++ SDK for the AWS marketplacecommerceanalytics service" }, @@ -750,9 +838,6 @@ "migrationhubstrategy": { "description": "C++ SDK for the AWS migrationhubstrategy service" }, - "mobile": { - "description": "C++ SDK for the AWS mobile service" - }, "monitoring": { "description": "C++ SDK for the AWS monitoring service" }, @@ -768,21 +853,36 @@ "neptune": { "description": "C++ SDK for the AWS neptune service" }, + "neptune-graph": { + "description": "C++ SDK for the AWS neptune-graph service" + }, "neptunedata": { "description": "C++ SDK for the AWS neptunedata service" }, "network-firewall": { "description": "C++ SDK for the AWS network-firewall service" }, + "networkflowmonitor": { + "description": "C++ SDK for the AWS networkflowmonitor service" + }, "networkmanager": { "description": "C++ SDK for the AWS networkmanager service" }, - "nimble": { - "description": "C++ SDK for the AWS nimble service" + "networkmonitor": { + "description": "C++ SDK for the AWS networkmonitor service" + }, + "notifications": { + "description": "C++ SDK for the AWS notifications service" + }, + "notificationscontacts": { + "description": "C++ SDK for the AWS notificationscontacts service" }, "oam": { "description": "C++ SDK for the AWS oam service" }, + "observabilityadmin": { + "description": "C++ SDK for the AWS observabilityadmin service" + }, "omics": { "description": "C++ SDK for the AWS omics service" }, @@ -810,6 +910,9 @@ "panorama": { "description": "C++ SDK for the AWS panorama service" }, + "partnercentral-selling": { + "description": "C++ SDK for the AWS partnercentral-selling service" + }, "payment-cryptography": { "description": "C++ SDK for the AWS payment-cryptography service" }, @@ -819,6 +922,12 @@ "pca-connector-ad": { "description": "C++ SDK for the AWS pca-connector-ad service" }, + "pca-connector-scep": { + "description": "C++ SDK for the AWS pca-connector-scep service" + }, + "pcs": { + "description": "C++ SDK for the AWS pcs service" + }, "personalize": { "description": "C++ SDK for the AWS personalize service" }, @@ -855,6 +964,15 @@ "proton": { "description": "C++ SDK for the AWS proton service" }, + "qapps": { + "description": "C++ SDK for the AWS qapps service" + }, + "qbusiness": { + "description": "C++ SDK for the AWS qbusiness service" + }, + "qconnect": { + "description": "C++ SDK for the AWS qconnect service" + }, "qldb": { "description": "C++ SDK for the AWS qldb service" }, @@ -900,6 +1018,9 @@ "rekognition": { "description": "C++ SDK for the AWS rekognition service" }, + "repostspace": { + "description": "C++ SDK for the AWS repostspace service" + }, "resiliencehub": { "description": "C++ SDK for the AWS resiliencehub service" }, @@ -933,6 +1054,9 @@ "route53domains": { "description": "C++ SDK for the AWS route53domains service" }, + "route53profiles": { + "description": "C++ SDK for the AWS route53profiles service" + }, "route53resolver": { "description": "C++ SDK for the AWS route53resolver service" }, @@ -964,6 +1088,9 @@ "s3outposts": { "description": "C++ SDK for the AWS s3outposts service" }, + "s3tables": { + "description": "C++ SDK for the AWS s3tables service" + }, "sagemaker": { "description": "C++ SDK for the AWS sagemaker service" }, @@ -1000,6 +1127,9 @@ "secretsmanager": { "description": "C++ SDK for the AWS secretsmanager service" }, + "security-ir": { + "description": "C++ SDK for the AWS security-ir service" + }, "securityhub": { "description": "C++ SDK for the AWS securityhub service" }, @@ -1048,6 +1178,9 @@ "sns": { "description": "C++ SDK for the AWS sns service" }, + "socialmessaging": { + "description": "C++ SDK for the AWS socialmessaging service" + }, "sqs": { "description": "C++ SDK for the AWS sqs service" }, @@ -1060,6 +1193,9 @@ "ssm-incidents": { "description": "C++ SDK for the AWS ssm-incidents service" }, + "ssm-quicksetup": { + "description": "C++ SDK for the AWS ssm-quicksetup service" + }, "ssm-sap": { "description": "C++ SDK for the AWS ssm-sap service" }, @@ -1081,6 +1217,9 @@ "sts": { "description": "C++ SDK for the AWS sts service" }, + "supplychain": { + "description": "C++ SDK for the AWS supplychain service" + }, "support": { "description": "C++ SDK for the AWS support service" }, @@ -1093,6 +1232,9 @@ "synthetics": { "description": "C++ SDK for the AWS synthetics service" }, + "taxsettings": { + "description": "C++ SDK for the AWS taxsettings service" + }, "text-to-speech": { "description": "C++ SDK for the AWS text-to-speech service", "dependencies": [ @@ -1108,6 +1250,9 @@ "textract": { "description": "C++ SDK for the AWS textract service" }, + "timestream-influxdb": { + "description": "C++ SDK for the AWS timestream-influxdb service" + }, "timestream-query": { "description": "C++ SDK for the AWS timestream-query service" }, @@ -1138,6 +1283,9 @@ "translate": { "description": "C++ SDK for the AWS translate service" }, + "trustedadvisor": { + "description": "C++ SDK for the AWS trustedadvisor service" + }, "verifiedpermissions": { "description": "C++ SDK for the AWS verifiedpermissions service" }, @@ -1177,6 +1325,9 @@ "workspaces": { "description": "C++ SDK for the AWS workspaces service" }, + "workspaces-thin-client": { + "description": "C++ SDK for the AWS workspaces-thin-client service" + }, "workspaces-web": { "description": "C++ SDK for the AWS workspaces-web service" }, diff --git a/ports/azure-c-shared-utility/disable-error.patch b/ports/azure-c-shared-utility/disable-error.patch index b2fd2f8d2de5af..33592d7a23d922 100644 --- a/ports/azure-c-shared-utility/disable-error.patch +++ b/ports/azure-c-shared-utility/disable-error.patch @@ -1,5 +1,5 @@ diff --git a/configs/azure_iot_build_rules.cmake b/configs/azure_iot_build_rules.cmake -index be3e14fe..aa402902 100644 +index 655b7f01..2f7e4ae4 100644 --- a/configs/azure_iot_build_rules.cmake +++ b/configs/azure_iot_build_rules.cmake @@ -71,8 +71,6 @@ if(MSVC) @@ -9,9 +9,9 @@ index be3e14fe..aa402902 100644 - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror") if(NOT (IN_OPENWRT OR APPLE)) - set (CMAKE_C_FLAGS "-D_POSIX_C_SOURCE=200112L ${CMAKE_C_FLAGS}") - endif() -@@ -191,12 +189,6 @@ endfunction() + # _XOPEN_SOURCE=500 is required for glibc to expose random and srandom. + set (CMAKE_C_FLAGS "-D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=500 ${CMAKE_C_FLAGS}") +@@ -208,12 +206,6 @@ endmacro(generate_cppunittest_wrapper) IF((WIN32) AND (NOT(MINGW))) #windows needs this define add_definitions(-D_CRT_SECURE_NO_WARNINGS) @@ -22,5 +22,5 @@ index be3e14fe..aa402902 100644 - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror") ENDIF() - - + + diff --git a/ports/azure-c-shared-utility/fix-install-location-preview.patch b/ports/azure-c-shared-utility/fix-install-location-preview.patch deleted file mode 100644 index 41162fd2eed101..00000000000000 --- a/ports/azure-c-shared-utility/fix-install-location-preview.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 25bbf383..31ca2da2 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -678,7 +678,7 @@ if(NOT DEFINED CMAKE_INSTALL_LIBDIR) - set(CMAKE_INSTALL_LIBDIR "lib") - endif() - --set(package_location "cmake") -+set(package_location "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}") - - if(${build_as_dynamic}) - set(targets aziotsharedutil aziotsharedutil_dll) diff --git a/ports/azure-c-shared-utility/fix-utilityFunctions-conditions-preview.patch b/ports/azure-c-shared-utility/fix-utilityFunctions-conditions-preview.patch deleted file mode 100644 index c89d92f5844848..00000000000000 --- a/ports/azure-c-shared-utility/fix-utilityFunctions-conditions-preview.patch +++ /dev/null @@ -1,248 +0,0 @@ -diff --git a/configs/azure_c_shared_utilityFunctions.cmake b/configs/azure_c_shared_utilityFunctions.cmake -index e85defa..7f450ab 100644 ---- a/configs/azure_c_shared_utilityFunctions.cmake -+++ b/configs/azure_c_shared_utilityFunctions.cmake -@@ -2,11 +2,11 @@ - #Licensed under the MIT license. See LICENSE file in the project root for full license information. - - function(target_link_libraries_with_arg_prefix arg_prefix whatIsBuilding lib) -- if(${arg_prefix} STREQUAL "debug") -+ if(arg_prefix STREQUAL "debug") - target_link_libraries(${whatIsBuilding} debug ${lib}) -- elseif(${arg_prefix} STREQUAL "optimized") -+ elseif(arg_prefix STREQUAL "optimized") - target_link_libraries(${whatIsBuilding} optimized ${lib}) -- elseif(${arg_prefix} STREQUAL "general") -+ elseif(arg_prefix STREQUAL "general") - target_link_libraries(${whatIsBuilding} general ${lib}) - else() - target_link_libraries(${whatIsBuilding} ${lib}) -@@ -43,13 +43,13 @@ function(windows_unittests_add_dll whatIsBuilding) - set(ARG_PREFIX "none") - foreach(f ${ARGN}) - set(skip_to_next FALSE) -- if(${f} STREQUAL "ADDITIONAL_LIBS") -+ if(f STREQUAL "ADDITIONAL_LIBS") - SET(PARSING_ADDITIONAL_LIBS ON) - SET(PARSING_VALGRIND_SUPPRESSIONS_FILE OFF) - set(ARG_PREFIX "none") - #also unset all the other states - set(skip_to_next TRUE) -- elseif(${f} STREQUAL "VALGRIND_SUPPRESSIONS_FILE") -+ elseif(f STREQUAL "VALGRIND_SUPPRESSIONS_FILE") - SET(PARSING_ADDITIONAL_LIBS OFF) - SET(PARSING_VALGRIND_SUPPRESSIONS_FILE ON) - set(skip_to_next TRUE) -@@ -57,7 +57,7 @@ function(windows_unittests_add_dll whatIsBuilding) - - if(NOT skip_to_next) - if(PARSING_ADDITIONAL_LIBS) -- if((${f} STREQUAL "debug") OR (${f} STREQUAL "optimized") OR (${f} STREQUAL "general")) -+ if((f STREQUAL "debug") OR (f STREQUAL "optimized") OR (f STREQUAL "general")) - SET(ARG_PREFIX ${f}) - else() - target_link_libraries_with_arg_prefix(${ARG_PREFIX} ${whatIsBuilding}_dll ${f}) -@@ -90,13 +90,13 @@ function(windows_unittests_add_exe whatIsBuilding) - set(ARG_PREFIX "none") - foreach(f ${ARGN}) - set(skip_to_next FALSE) -- if(${f} STREQUAL "ADDITIONAL_LIBS") -+ if(f STREQUAL "ADDITIONAL_LIBS") - SET(PARSING_ADDITIONAL_LIBS ON) - SET(PARSING_VALGRIND_SUPPRESSIONS_FILE OFF) - set(ARG_PREFIX "none") - #also unset all the other states - set(skip_to_next TRUE) -- elseif(${f} STREQUAL "VALGRIND_SUPPRESSIONS_FILE") -+ elseif(f STREQUAL "VALGRIND_SUPPRESSIONS_FILE") - SET(PARSING_ADDITIONAL_LIBS OFF) - SET(PARSING_VALGRIND_SUPPRESSIONS_FILE ON) - set(skip_to_next TRUE) -@@ -104,7 +104,7 @@ function(windows_unittests_add_exe whatIsBuilding) - - if(NOT skip_to_next) - if(PARSING_ADDITIONAL_LIBS) -- if((${f} STREQUAL "debug") OR (${f} STREQUAL "optimized") OR (${f} STREQUAL "general")) -+ if((f STREQUAL "debug") OR (f STREQUAL "optimized") OR (f STREQUAL "general")) - SET(ARG_PREFIX ${f}) - else() - target_link_libraries_with_arg_prefix(${ARG_PREFIX} ${whatIsBuilding}_exe ${f}) -@@ -150,14 +150,14 @@ function(linux_unittests_add_exe whatIsBuilding) - set(ARG_PREFIX "none") - foreach(f ${ARGN}) - set(skip_to_next FALSE) -- if(${f} STREQUAL "ADDITIONAL_LIBS") -+ if(f STREQUAL "ADDITIONAL_LIBS") - SET(PARSING_ADDITIONAL_LIBS ON) - SET(PARSING_VALGRIND_SUPPRESSIONS_FILE OFF) - set(ARG_PREFIX "none") - set(skip_to_next TRUE) - #also unset all the other states - -- elseif(${f} STREQUAL "VALGRIND_SUPPRESSIONS_FILE") -+ elseif(f STREQUAL "VALGRIND_SUPPRESSIONS_FILE") - SET(PARSING_ADDITIONAL_LIBS OFF) - SET(PARSING_VALGRIND_SUPPRESSIONS_FILE ON) - set(skip_to_next TRUE) -@@ -165,7 +165,7 @@ function(linux_unittests_add_exe whatIsBuilding) - - if(NOT skip_to_next) - if(PARSING_ADDITIONAL_LIBS) -- if((${f} STREQUAL "debug") OR (${f} STREQUAL "optimized") OR (${f} STREQUAL "general")) -+ if((f STREQUAL "debug") OR (f STREQUAL "optimized") OR (f STREQUAL "general")) - SET(ARG_PREFIX ${f}) - else() - target_link_libraries_with_arg_prefix(${ARG_PREFIX} ${whatIsBuilding}_exe ${f}) -@@ -184,7 +184,7 @@ function(linux_unittests_add_exe whatIsBuilding) - - if(${run_valgrind}) - find_program(VALGRIND_FOUND NAMES valgrind) -- if(${VALGRIND_FOUND} STREQUAL VALGRIND_FOUND-NOTFOUND) -+ if(VALGRIND_FOUND STREQUAL VALGRIND_FOUND-NOTFOUND) - message(WARNING "run_valgrind was TRUE, but valgrind was not found - there will be no tests run under valgrind") - else() - add_test(NAME ${whatIsBuilding}_valgrind COMMAND valgrind --num-callers=100 --error-exitcode=1 --leak-check=full --track-origins=yes ${VALGRIND_SUPPRESSIONS_FILE_EXTRA_PARAMETER} $) -@@ -307,13 +307,13 @@ function(c_windows_unittests_add_dll whatIsBuilding folder) - set(ARG_PREFIX "none") - foreach(f ${ARGN}) - set(skip_to_next FALSE) -- if(${f} STREQUAL "ADDITIONAL_LIBS") -+ if(f STREQUAL "ADDITIONAL_LIBS") - SET(PARSING_ADDITIONAL_LIBS ON) - SET(PARSING_VALGRIND_SUPPRESSIONS_FILE OFF) - set(ARG_PREFIX "none") - #also unset all the other states - set(skip_to_next TRUE) -- elseif(${f} STREQUAL "VALGRIND_SUPPRESSIONS_FILE") -+ elseif(f STREQUAL "VALGRIND_SUPPRESSIONS_FILE") - SET(PARSING_ADDITIONAL_LIBS OFF) - SET(PARSING_VALGRIND_SUPPRESSIONS_FILE ON) - set(skip_to_next TRUE) -@@ -321,7 +321,7 @@ function(c_windows_unittests_add_dll whatIsBuilding folder) - - if(NOT skip_to_next) - if(PARSING_ADDITIONAL_LIBS) -- if((${f} STREQUAL "debug") OR (${f} STREQUAL "optimized") OR (${f} STREQUAL "general")) -+ if((f STREQUAL "debug") OR (f STREQUAL "optimized") OR (f STREQUAL "general")) - SET(ARG_PREFIX ${f}) - else() - target_link_libraries_with_arg_prefix(${ARG_PREFIX} ${whatIsBuilding}_dll ${f}) -@@ -369,13 +369,13 @@ function(c_windows_unittests_add_exe whatIsBuilding folder) - set(ARG_PREFIX "none") - foreach(f ${ARGN}) - set(skip_to_next FALSE) -- if(${f} STREQUAL "ADDITIONAL_LIBS") -+ if(f STREQUAL "ADDITIONAL_LIBS") - SET(PARSING_ADDITIONAL_LIBS ON) - SET(PARSING_VALGRIND_SUPPRESSIONS_FILE OFF) - set(ARG_PREFIX "none") - #also unset all the other states - set(skip_to_next TRUE) -- elseif(${f} STREQUAL "VALGRIND_SUPPRESSIONS_FILE") -+ elseif(f STREQUAL "VALGRIND_SUPPRESSIONS_FILE") - SET(PARSING_ADDITIONAL_LIBS OFF) - SET(PARSING_VALGRIND_SUPPRESSIONS_FILE ON) - set(skip_to_next TRUE) -@@ -383,7 +383,7 @@ function(c_windows_unittests_add_exe whatIsBuilding folder) - - if(NOT skip_to_next) - if(PARSING_ADDITIONAL_LIBS) -- if((${f} STREQUAL "debug") OR (${f} STREQUAL "optimized") OR (${f} STREQUAL "general")) -+ if((f STREQUAL "debug") OR (f STREQUAL "optimized") OR (f STREQUAL "general")) - SET(ARG_PREFIX ${f}) - else() - target_link_libraries_with_arg_prefix(${ARG_PREFIX} ${whatIsBuilding}_exe ${f}) -@@ -429,13 +429,13 @@ function(c_linux_unittests_add_exe whatIsBuilding folder) - set(ARG_PREFIX "none") - foreach(f ${ARGN}) - set(skip_to_next FALSE) -- if(${f} STREQUAL "ADDITIONAL_LIBS") -+ if(f STREQUAL "ADDITIONAL_LIBS") - SET(PARSING_ADDITIONAL_LIBS ON) - SET(PARSING_VALGRIND_SUPPRESSIONS_FILE OFF) - set(ARG_PREFIX "none") - #also unset all the other states - set(skip_to_next TRUE) -- elseif(${f} STREQUAL "VALGRIND_SUPPRESSIONS_FILE") -+ elseif(f STREQUAL "VALGRIND_SUPPRESSIONS_FILE") - SET(PARSING_ADDITIONAL_LIBS OFF) - SET(PARSING_VALGRIND_SUPPRESSIONS_FILE ON) - set(skip_to_next TRUE) -@@ -443,7 +443,7 @@ function(c_linux_unittests_add_exe whatIsBuilding folder) - - if(NOT skip_to_next) - if(PARSING_ADDITIONAL_LIBS) -- if((${f} STREQUAL "debug") OR (${f} STREQUAL "optimized") OR (${f} STREQUAL "general")) -+ if((f STREQUAL "debug") OR (f STREQUAL "optimized") OR (f STREQUAL "general")) - SET(ARG_PREFIX ${f}) - else() - target_link_libraries_with_arg_prefix(${ARG_PREFIX} ${whatIsBuilding}_exe ${f}) -@@ -462,7 +462,7 @@ function(c_linux_unittests_add_exe whatIsBuilding folder) - - if(${run_valgrind}) - find_program(VALGRIND_FOUND NAMES valgrind) -- if(${VALGRIND_FOUND} STREQUAL VALGRIND_FOUND-NOTFOUND) -+ if(VALGRIND_FOUND STREQUAL VALGRIND_FOUND-NOTFOUND) - message(WARNING "run_valgrind was TRUE, but valgrind was not found - there will be no tests run under valgrind") - else() - add_test(NAME ${whatIsBuilding}_valgrind COMMAND valgrind --gen-suppressions=all --num-callers=100 --error-exitcode=1 --leak-check=full --track-origins=yes ${VALGRIND_SUPPRESSIONS_FILE_EXTRA_PARAMETER} $) -@@ -546,29 +546,29 @@ function(compile_c_test_artifacts_as whatIsBuilding compileAsWhat) - (("${whatIsBuilding}" MATCHES ".*int.*") AND ${run_int_tests}) - ) - if (${use_cppunittest}) -- if(${compileAsWhat} STREQUAL "C99") -+ if(compileAsWhat STREQUAL "C99") - compileTargetAsC99(${whatIsBuilding}_dll) - compileTargetAsC99(${whatIsBuilding}_testsonly_lib) - endif() -- if(${compileAsWhat} STREQUAL "C11") -+ if(compileAsWhat STREQUAL "C11") - compileTargetAsC11(${whatIsBuilding}_dll) - compileTargetAsC11(${whatIsBuilding}_testsonly_lib) - endif() - endif() -- if(${compileAsWhat} STREQUAL "C99") -+ if(compileAsWhat STREQUAL "C99") - compileTargetAsC99(${whatIsBuilding}_exe) - endif() -- if(${compileAsWhat} STREQUAL "C11") -+ if(compileAsWhat STREQUAL "C11") - compileTargetAsC11(${whatIsBuilding}_exe) - endif() - else() - if( - (("${whatIsBuilding}" MATCHES ".*e2e.*") AND ${nuget_e2e_tests}) - ) -- if(${compileAsWhat} STREQUAL "C99") -+ if(compileAsWhat STREQUAL "C99") - compileTargetAsC99(${whatIsBuilding}_exe) - endif() -- if(${compileAsWhat} STREQUAL "C11") -+ if(compileAsWhat STREQUAL "C11") - compileTargetAsC11(${whatIsBuilding}_exe) - endif() - else() -@@ -581,10 +581,10 @@ function(compile_c_test_artifacts_as whatIsBuilding compileAsWhat) - (("${whatIsBuilding}" MATCHES ".*e2e.*") AND ${run_e2e_tests}) OR - (("${whatIsBuilding}" MATCHES ".*int.*") AND ${run_int_tests}) - ) -- if(${compileAsWhat} STREQUAL "C99") -+ if(compileAsWhat STREQUAL "C99") - compileTargetAsC99(${whatIsBuilding}_exe) - endif() -- if(${compileAsWhat} STREQUAL "C11") -+ if(compileAsWhat STREQUAL "C11") - compileTargetAsC11(${whatIsBuilding}_exe) - endif() - endif() -@@ -641,8 +641,8 @@ function(set_platform_files c_shared_dir) - set(CONDITION_C_FILE ${c_shared_dir}/adapters/condition_win32.c PARENT_SCOPE) - endif() - if(use_etw) -- if(${use_etw} OR (${use_etw} STREQUAL "ON_WITH_CONSOLE")) -- if (${use_etw} STREQUAL "ON_WITH_CONSOLE") -+ if(use_etw OR (use_etw STREQUAL "ON_WITH_CONSOLE")) -+ if (use_etw STREQUAL "ON_WITH_CONSOLE") - set(XLOGGING_C_FILE ${c_shared_dir}/src/etwxlogging.c PARENT_SCOPE) - set(LOGGING_C_FILE ${c_shared_dir}/src/etwlogger_driver.c ${c_shared_dir}/src/consolelogger.c PARENT_SCOPE) - set(LOGGING_RC_FILE ${c_shared_dir}/res/etwlogger.rc CACHE INTERNAL "") diff --git a/ports/azure-c-shared-utility/improve-dependencies-preview.patch b/ports/azure-c-shared-utility/improve-dependencies-preview.patch deleted file mode 100644 index 42fe1e6583671b..00000000000000 --- a/ports/azure-c-shared-utility/improve-dependencies-preview.patch +++ /dev/null @@ -1,68 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 46334c1..aaeea20 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -115,7 +115,6 @@ if(${use_openssl}) - if (NOT TARGET OpenSSL::SSL OR NOT TARGET OpenSSL::Crypto OR NOT ${OPENSSL_INCLUDE_DIR}) - find_package(OpenSSL REQUIRED) - endif() -- include_directories(${OPENSSL_INCLUDE_DIR}) - endif() - - if(${use_applessl}) -@@ -521,8 +520,7 @@ if(${use_http}) - set(CURL_FIND_REQUIRED 1) - find_package_handle_standard_args(CURL DEFAULT_MSG CURL_LIBRARIES) - -- include_directories(${CURL_INCLUDE_DIRS}) -- set(aziotsharedutil_target_libs ${aziotsharedutil_target_libs} ${CURL_LIBRARIES}) -+ set(aziotsharedutil_target_libs ${aziotsharedutil_target_libs} CURL::libcurl) - endif(NOT use_builtin_httpapi) - endif() - endif(${use_http}) -@@ -561,7 +559,7 @@ if(${use_bearssl}) - endif() - - if(${use_openssl}) -- set(aziotsharedutil_target_libs ${aziotsharedutil_target_libs} ${OPENSSL_LIBRARIES}) -+ set(aziotsharedutil_target_libs ${aziotsharedutil_target_libs} OpenSSL::SSL) - if (WIN32) - set(aziotsharedutil_target_libs ${aziotsharedutil_target_libs} crypt32 ws2_32 secur32) - endif() -@@ -703,7 +701,7 @@ write_basic_package_version_file( - - configure_file("configs/${PROJECT_NAME}Config.cmake" - "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}/${PROJECT_NAME}Config.cmake" -- COPYONLY -+ @ONLY - ) - - install(EXPORT aziotsharedutilTargets -@@ -715,7 +713,7 @@ install(EXPORT aziotsharedutilTargets - - install( - FILES -- "configs/${PROJECT_NAME}Config.cmake" -+ "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}/${PROJECT_NAME}Config.cmake" - "configs/${PROJECT_NAME}Functions.cmake" - "configs/azure_iot_build_rules.cmake" - "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}/${PROJECT_NAME}ConfigVersion.cmake" -diff --git a/configs/azure_c_shared_utilityConfig.cmake b/configs/azure_c_shared_utilityConfig.cmake -index 52f2c7e1..11e9332b 100644 ---- a/configs/azure_c_shared_utilityConfig.cmake -+++ b/configs/azure_c_shared_utilityConfig.cmake -@@ -1,6 +1,14 @@ - #Copyright (c) Microsoft. All rights reserved. - #Licensed under the MIT license. See LICENSE file in the project root for full license information. - -+include(CMakeFindDependencyMacro) -+if("@use_openssl@") -+ find_dependency(OpenSSL) -+endif() -+if(UNIX AND NOT "@use_builtin_httpapi@") -+ find_dependency(CURL) -+endif() -+ - include("${CMAKE_CURRENT_LIST_DIR}/azure_c_shared_utilityTargets.cmake") - - get_target_property(AZURE_C_SHARED_UTILITY_INCLUDES aziotsharedutil INTERFACE_INCLUDE_DIRECTORIES) diff --git a/ports/azure-c-shared-utility/improve-dependencies.patch b/ports/azure-c-shared-utility/improve-dependencies.patch index 2f2702bfc2ef09..987cc67b5a30d3 100644 --- a/ports/azure-c-shared-utility/improve-dependencies.patch +++ b/ports/azure-c-shared-utility/improve-dependencies.patch @@ -1,5 +1,5 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6eb607f0..5b0f60f6 100755 +index 6eb607f0..5b0f60f6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -553,8 +553,7 @@ if(${use_http}) diff --git a/ports/azure-c-shared-utility/modify-POSIX-c-version.patch b/ports/azure-c-shared-utility/modify-POSIX-c-version.patch new file mode 100644 index 00000000000000..f9f34cc47ac009 --- /dev/null +++ b/ports/azure-c-shared-utility/modify-POSIX-c-version.patch @@ -0,0 +1,13 @@ +diff --git a/configs/azure_iot_build_rules.cmake b/configs/azure_iot_build_rules.cmake +index 2f7e4ae..00c94c7 100644 +--- a/configs/azure_iot_build_rules.cmake ++++ b/configs/azure_iot_build_rules.cmake +@@ -73,7 +73,7 @@ if(MSVC) + elseif(UNIX) #LINUX OR APPLE + if(NOT (IN_OPENWRT OR APPLE)) + # _XOPEN_SOURCE=500 is required for glibc to expose random and srandom. +- set (CMAKE_C_FLAGS "-D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=500 ${CMAKE_C_FLAGS}") ++ set (CMAKE_C_FLAGS "-D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE=500 ${CMAKE_C_FLAGS}") + endif() + endif() + diff --git a/ports/azure-c-shared-utility/portfile.cmake b/ports/azure-c-shared-utility/portfile.cmake index 0ed1e02efec4cf..0c37e27b7d4205 100644 --- a/ports/azure-c-shared-utility/portfile.cmake +++ b/ports/azure-c-shared-utility/portfile.cmake @@ -3,14 +3,15 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Azure/azure-c-shared-utility - REF 8ee0e5d88d1771d33e36d38d392ec9d9ae13ea55 - SHA512 d57730c294340093b80108c55280ab089fa851a68c6f9df53b55823920fce25f5f1daa7ff3eeb2f8ea76bc10603aa7096931caa608c49f86e515b96477fbc81d + REF 51d6f3f7246876051f713c7abed28f909bf604e3 + SHA512 f0d88f10905739c30f43bf20861d99e7146d95ae80f1bd56979b22ef57fbbe9825bf3be9b937806e65c881ef1ba4932dc783fbabfa8ca80cc80329a409f8c20b HEAD_REF master PATCHES fix-install-location.patch fix-utilityFunctions-conditions.patch disable-error.patch improve-dependencies.patch + modify-POSIX-c-version.patch ) vcpkg_cmake_configure( @@ -32,6 +33,6 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_ file(COPY "${SOURCE_PATH}/configs/azure_iot_build_rules.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -configure_file("${SOURCE_PATH}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") vcpkg_copy_pdbs() diff --git a/ports/azure-c-shared-utility/vcpkg.json b/ports/azure-c-shared-utility/vcpkg.json index bd4574ea153560..91d0bc09141605 100644 --- a/ports/azure-c-shared-utility/vcpkg.json +++ b/ports/azure-c-shared-utility/vcpkg.json @@ -1,6 +1,7 @@ { "name": "azure-c-shared-utility", - "version-date": "2023-08-07", + "version-date": "2024-06-24", + "port-version": 1, "description": "Azure C SDKs common code", "homepage": "https://github.com/Azure/azure-c-shared-utility", "license": "MIT", diff --git a/ports/azure-core-amqp-cpp/portfile.cmake b/ports/azure-core-amqp-cpp/portfile.cmake index da4284a422fcc7..8e1dbfb178df74 100644 --- a/ports/azure-core-amqp-cpp/portfile.cmake +++ b/ports/azure-core-amqp-cpp/portfile.cmake @@ -1,8 +1,14 @@ +# NOTE: All changes made to this file will get overwritten by the next port release. +# Please contribute your changes to https://github.com/Azure/azure-sdk-for-cpp. + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Azure/azure-sdk-for-cpp - REF azure-core-amqp_1.0.0-beta.4 - SHA512 c8bc1e73e8f2a31ace636a5193e4909d1f673efb5f62c5cb27dbbe379ad77387bfecd862efb635c335044a6e7e1726a0ba39fba8713d97b0e80e239f9d92e3a7 + REF "azure-core-amqp_${VERSION}" + SHA512 92d5648b832c38587c2ceccaf3293252a7f5b976df7f57fc475b8fcd396ba3bb7fd2c18e46b3b06f6c8776aed6df1c4a36ef2b8bc5f07f1f23c771ff476a7af7 + HEAD_REF main + PATCHES + set_version.patch ) if(EXISTS "${SOURCE_PATH}/sdk/core/azure-core-amqp") diff --git a/ports/azure-core-amqp-cpp/set_version.patch b/ports/azure-core-amqp-cpp/set_version.patch new file mode 100644 index 00000000000000..89e179106fa951 --- /dev/null +++ b/ports/azure-core-amqp-cpp/set_version.patch @@ -0,0 +1,12 @@ +diff --git a/sdk/core/azure-core-amqp/CMakeLists.txt b/sdk/core/azure-core-amqp/CMakeLists.txt +index 3ef7bf8d9..6d2829e84 100644 +--- a/sdk/core/azure-core-amqp/CMakeLists.txt ++++ b/sdk/core/azure-core-amqp/CMakeLists.txt +@@ -177,6 +177,7 @@ target_link_libraries(azure-core-amqp PRIVATE + PUBLIC Azure::azure-core) + + get_az_version("${CMAKE_CURRENT_SOURCE_DIR}/src/private/package_version.hpp") ++set_target_properties(azure-core-amqp PROPERTIES VERSION ${AZ_LIBRARY_VERSION}) + generate_documentation(azure-core-amqp ${AZ_LIBRARY_VERSION}) + + az_vcpkg_export( diff --git a/ports/azure-core-amqp-cpp/vcpkg.json b/ports/azure-core-amqp-cpp/vcpkg.json index b9a6f43b391d02..a8357c35faebb4 100644 --- a/ports/azure-core-amqp-cpp/vcpkg.json +++ b/ports/azure-core-amqp-cpp/vcpkg.json @@ -1,6 +1,11 @@ { + "$comment": [ + "NOTE: All changes made to this file will get overwritten by the next port release.", + "Please contribute your changes to https://github.com/Azure/azure-sdk-for-cpp." + ], "name": "azure-core-amqp-cpp", - "version-semver": "1.0.0-beta.4", + "version-semver": "1.0.0-beta.11", + "port-version": 1, "description": [ "Microsoft Azure AMQP SDK for C++", "This library provides AMQP functionality to Azure SDK services." @@ -9,12 +14,14 @@ "license": "MIT", "supports": "!uwp", "dependencies": [ + "azure-c-shared-utility", { "name": "azure-core-cpp", "default-features": false, - "version>=": "1.10.0" + "version>=": "1.11.3" }, - "azure-uamqp-c", + "azure-macro-utils-c", + "umock-c", { "name": "vcpkg-cmake", "host": true diff --git a/ports/azure-core-cpp/portfile.cmake b/ports/azure-core-cpp/portfile.cmake index 09167adbce06b4..5f1fd10c237ae5 100644 --- a/ports/azure-core-cpp/portfile.cmake +++ b/ports/azure-core-cpp/portfile.cmake @@ -1,8 +1,12 @@ +# NOTE: All changes made to this file will get overwritten by the next port release. +# Please contribute your changes to https://github.com/Azure/azure-sdk-for-cpp. + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Azure/azure-sdk-for-cpp - REF azure-core_1.10.3 - SHA512 b3705cf757a14693f65a5ea4a43cc3c5f8377b3156ef24869bd664e9e8b25797fd21107ad543db476335bbb2389687cc1ed8fb8fe1010bb9b5a0eb406f3c0d59 + REF "azure-core_${VERSION}" + SHA512 f639e8fcabfdc81816abcfe9869d6ebf2862e39398a4ee14e82e91345fad3aaf279159486cfc5c72d7cedefce539eeb63fc694d318fe7647e521f57173e980d2 + HEAD_REF main ) vcpkg_check_features( diff --git a/ports/azure-core-cpp/vcpkg.json b/ports/azure-core-cpp/vcpkg.json index 3433f153303027..316e2c811f3543 100644 --- a/ports/azure-core-cpp/vcpkg.json +++ b/ports/azure-core-cpp/vcpkg.json @@ -1,7 +1,10 @@ { + "$comment": [ + "NOTE: All changes made to this file will get overwritten by the next port release.", + "Please contribute your changes to https://github.com/Azure/azure-sdk-for-cpp." + ], "name": "azure-core-cpp", - "version-semver": "1.10.3", - "port-version": 1, + "version-semver": "1.14.1", "description": [ "Microsoft Azure Core SDK for C++", "This library provides shared primitives, abstractions, and helpers for modern Azure SDK client libraries written in the C++." diff --git a/ports/azure-core-tracing-opentelemetry-cpp/portfile.cmake b/ports/azure-core-tracing-opentelemetry-cpp/portfile.cmake index 88a9bf04856c78..9cb2fff0c06557 100644 --- a/ports/azure-core-tracing-opentelemetry-cpp/portfile.cmake +++ b/ports/azure-core-tracing-opentelemetry-cpp/portfile.cmake @@ -1,8 +1,15 @@ +# NOTE: All changes made to this file will get overwritten by the next port release. +# Please contribute your changes to https://github.com/Azure/azure-sdk-for-cpp. + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Azure/azure-sdk-for-cpp - REF azure-core-tracing-opentelemetry_1.0.0-beta.4 + REF "azure-core-tracing-opentelemetry_${VERSION}" SHA512 645c616fe54024f30a6e4b9c2626bfeaf906086be7bbeccc4a1155178670fb70d9818938db2f9fa8e3b9593ca45e0b10042dcd67fde04d2542f6f72a74884697 + HEAD_REF main + PATCHES + useragent.patch + set_version.patch ) if(EXISTS "${SOURCE_PATH}/sdk/core/azure-core-tracing-opentelemetry") @@ -19,6 +26,7 @@ vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}/_/_/_" OPTIONS -DWARNINGS_AS_ERRORS=OFF + -DBUILD_TESTING=OFF ) vcpkg_cmake_install() diff --git a/ports/azure-core-tracing-opentelemetry-cpp/set_version.patch b/ports/azure-core-tracing-opentelemetry-cpp/set_version.patch new file mode 100644 index 00000000000000..1407e5217ed422 --- /dev/null +++ b/ports/azure-core-tracing-opentelemetry-cpp/set_version.patch @@ -0,0 +1,13 @@ +diff --git a/sdk/core/azure-core-tracing-opentelemetry/CMakeLists.txt b/sdk/core/azure-core-tracing-opentelemetry/CMakeLists.txt +index 23cf7d143..a3c058874 100644 +--- a/sdk/core/azure-core-tracing-opentelemetry/CMakeLists.txt ++++ b/sdk/core/azure-core-tracing-opentelemetry/CMakeLists.txt +@@ -83,6 +83,8 @@ get_az_version("${CMAKE_CURRENT_SOURCE_DIR}/src/private/package_version.hpp") + generate_documentation(azure-core-tracing-opentelemetry ${AZ_LIBRARY_VERSION}) + + if(BUILD_AZURE_CORE_TRACING_OPENTELEMETRY) ++ set_target_properties(azure-core-tracing-opentelemetry PROPERTIES VERSION ${AZ_LIBRARY_VERSION}) ++ + az_vcpkg_export( + azure-core-tracing-opentelemetry + CORE_TRACING_OPENTELEMETRY diff --git a/ports/azure-core-tracing-opentelemetry-cpp/useragent.patch b/ports/azure-core-tracing-opentelemetry-cpp/useragent.patch new file mode 100644 index 00000000000000..9b6b018f741f88 --- /dev/null +++ b/ports/azure-core-tracing-opentelemetry-cpp/useragent.patch @@ -0,0 +1,13 @@ +diff --git a/sdk/core/azure-core-tracing-opentelemetry/CMakeLists.txt b/sdk/core/azure-core-tracing-opentelemetry/CMakeLists.txt +index 6d0dc1515..86381bb44 100644 +--- a/sdk/core/azure-core-tracing-opentelemetry/CMakeLists.txt ++++ b/sdk/core/azure-core-tracing-opentelemetry/CMakeLists.txt +@@ -59,6 +59,8 @@ if (BUILD_AZURE_CORE_TRACING_OPENTELEMETRY) + $ + ) + ++ target_compile_definitions(azure-core-tracing-opentelemetry PRIVATE _azure_BUILDING_SDK) ++ + # make sure that users can consume the project as a library. + add_library(Azure::azure-core-tracing-opentelemetry ALIAS azure-core-tracing-opentelemetry) + diff --git a/ports/azure-core-tracing-opentelemetry-cpp/vcpkg.json b/ports/azure-core-tracing-opentelemetry-cpp/vcpkg.json index c678ba9de6fed1..6d119f5bd676ea 100644 --- a/ports/azure-core-tracing-opentelemetry-cpp/vcpkg.json +++ b/ports/azure-core-tracing-opentelemetry-cpp/vcpkg.json @@ -1,7 +1,11 @@ { + "$comment": [ + "NOTE: All changes made to this file will get overwritten by the next port release.", + "Please contribute your changes to https://github.com/Azure/azure-sdk-for-cpp." + ], "name": "azure-core-tracing-opentelemetry-cpp", "version-semver": "1.0.0-beta.4", - "port-version": 1, + "port-version": 5, "description": [ "Microsoft Azure Core Tracing OpenTelemetry SDK for C++", "This library provides support for modern Azure SDK client libraries written in C++ to leverage OpenTelemetry APIs." diff --git a/ports/azure-data-tables-cpp/portfile.cmake b/ports/azure-data-tables-cpp/portfile.cmake new file mode 100644 index 00000000000000..55d4a5a3b800b7 --- /dev/null +++ b/ports/azure-data-tables-cpp/portfile.cmake @@ -0,0 +1,33 @@ +# NOTE: All changes made to this file will get overwritten by the next port release. +# Please contribute your changes to https://github.com/Azure/azure-sdk-for-cpp. + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Azure/azure-sdk-for-cpp + REF "azure-data-tables_${VERSION}" + SHA512 7d4ba84bf668d6dfd56eeef00a2601ba892133ed659f0c814be4e64400a99b79a702c8231c9b80d127da1f39d0bf043c6a6ade21cf2632c3c59360cabefe2bf5 + HEAD_REF main +) + +if(EXISTS "${SOURCE_PATH}/sdk/tables/azure-data-tables") + file(REMOVE_RECURSE "${SOURCE_PATH}/sdk/tables/_") + file(REMOVE_RECURSE "${SOURCE_PATH}/sdk/_") + file(REMOVE_RECURSE "${SOURCE_PATH}/_") + + file(RENAME "${SOURCE_PATH}/sdk/tables/azure-data-tables" "${SOURCE_PATH}/sdk/tables/_") + file(RENAME "${SOURCE_PATH}/sdk/tables" "${SOURCE_PATH}/sdk/_") + file(RENAME "${SOURCE_PATH}/sdk" "${SOURCE_PATH}/_") +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/_/_/_" + OPTIONS + -DWARNINGS_AS_ERRORS=OFF + -DBUILD_TESTING=OFF +) + +vcpkg_cmake_install() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +vcpkg_cmake_config_fixup() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +vcpkg_copy_pdbs() diff --git a/ports/azure-data-tables-cpp/vcpkg.json b/ports/azure-data-tables-cpp/vcpkg.json new file mode 100644 index 00000000000000..28c24583550c55 --- /dev/null +++ b/ports/azure-data-tables-cpp/vcpkg.json @@ -0,0 +1,38 @@ +{ + "$comment": [ + "NOTE: All changes made to this file will get overwritten by the next port release.", + "Please contribute your changes to https://github.com/Azure/azure-sdk-for-cpp." + ], + "name": "azure-data-tables-cpp", + "version-semver": "1.0.0-beta.5", + "description": [ + "Microsoft Azure Data Tables SDK for C++", + "This library provides Azure Data Tables SDK." + ], + "homepage": "https://github.com/Azure/azure-sdk-for-cpp/tree/main/sdk/tables/azure-data-tables", + "license": "MIT", + "dependencies": [ + { + "name": "azure-core-cpp", + "default-features": false, + "version>=": "1.11.3" + }, + { + "name": "libxml2", + "default-features": false, + "platform": "!windows" + }, + { + "name": "openssl", + "platform": "!windows" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/azure-identity-cpp/portfile.cmake b/ports/azure-identity-cpp/portfile.cmake index 06cc7bbce16008..966d394518099a 100644 --- a/ports/azure-identity-cpp/portfile.cmake +++ b/ports/azure-identity-cpp/portfile.cmake @@ -1,8 +1,12 @@ +# NOTE: All changes made to this file will get overwritten by the next port release. +# Please contribute your changes to https://github.com/Azure/azure-sdk-for-cpp. + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Azure/azure-sdk-for-cpp - REF azure-identity_1.5.1 - SHA512 f3e12c0685ec7a1cde724feafbc84a8aa66688ed7b54bb9c4787d516aee3142310863013a5d49869e1a1e64af8f5ce908640fee64190bc9c2f9715e3afa833bc + REF "azure-identity_${VERSION}" + SHA512 09c2105d66e2cfc5cb68ae873979b380574307bd89b61126d0abbcf728f5005a67202728204dac3870a5875bede4c80cb44585a8de6e53cb0e2dd01c3a3fb6f3 + HEAD_REF main ) if(EXISTS "${SOURCE_PATH}/sdk/identity/azure-identity") diff --git a/ports/azure-identity-cpp/vcpkg.json b/ports/azure-identity-cpp/vcpkg.json index 2cccb7b873ce9d..e8f321b17600df 100644 --- a/ports/azure-identity-cpp/vcpkg.json +++ b/ports/azure-identity-cpp/vcpkg.json @@ -1,7 +1,10 @@ { + "$comment": [ + "NOTE: All changes made to this file will get overwritten by the next port release.", + "Please contribute your changes to https://github.com/Azure/azure-sdk-for-cpp." + ], "name": "azure-identity-cpp", - "version-semver": "1.5.1", - "port-version": 1, + "version-semver": "1.10.1", "description": [ "Microsoft Azure Identity SDK for C++", "This library provides common authentication-related abstractions for Azure SDK." @@ -12,9 +15,12 @@ { "name": "azure-core-cpp", "default-features": false, - "version>=": "1.9.0" + "version>=": "1.14.0" + }, + { + "name": "openssl", + "platform": "!windows & !uwp" }, - "openssl", { "name": "vcpkg-cmake", "host": true @@ -22,6 +28,10 @@ { "name": "vcpkg-cmake-config", "host": true + }, + { + "name": "wil", + "platform": "windows & !uwp" } ] } diff --git a/ports/azure-iot-sdk-c/portfile.cmake b/ports/azure-iot-sdk-c/portfile.cmake index 3e837562bf7729..0abc101dc31ff8 100644 --- a/ports/azure-iot-sdk-c/portfile.cmake +++ b/ports/azure-iot-sdk-c/portfile.cmake @@ -3,8 +3,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Azure/azure-iot-sdk-c - REF 97fef570416467598100b782ef27ceadad9ca796 - SHA512 faec54b97164c778ef3cd6accfbd5181381f6ab488c06900a096be5338563581552b8d8314d6ce91cb4db82c936490d3b435cdf9a3e50383e1d7bb643859a40c + REF 9c70f98b7b659e169ae44389a5142f3a386c5791 + SHA512 ba00534f9881f0be260008c13b91f87285690c11b2a6ca0b94b2f73bbe6dcf60433382b45df9f42340b121f846bc66a621672fdfa18323227600d031d99bb3cd HEAD_REF master PATCHES fix-install-location.patch diff --git a/ports/azure-iot-sdk-c/vcpkg.json b/ports/azure-iot-sdk-c/vcpkg.json index a50e9a6352844c..480a83d5f28866 100644 --- a/ports/azure-iot-sdk-c/vcpkg.json +++ b/ports/azure-iot-sdk-c/vcpkg.json @@ -1,6 +1,6 @@ { "name": "azure-iot-sdk-c", - "version-date": "2023-08-07", + "version-date": "2024-08-12", "description": "A C99 SDK for connecting devices to Microsoft Azure IoT services", "homepage": "https://github.com/Azure/azure-iot-sdk-c", "license": "MIT", @@ -20,5 +20,10 @@ "name": "vcpkg-cmake-config", "host": true } - ] + ], + "features": { + "use-prov-client": { + "description": "Enables device provisioning client for DPS" + } + } } diff --git a/ports/azure-kinect-sensor-sdk/fix-build-imgui.patch b/ports/azure-kinect-sensor-sdk/fix-build-imgui.patch index eb94390e635547..7d3b1c3d7936f0 100644 --- a/ports/azure-kinect-sensor-sdk/fix-build-imgui.patch +++ b/ports/azure-kinect-sensor-sdk/fix-build-imgui.patch @@ -11,3 +11,47 @@ index 4289f71..407e912 100644 } ImGui::EndChild(); +diff --git a/tools/k4aviewer/k4asourceselectiondockcontrol.cpp b/tools/k4aviewer/k4asourceselectiondockcontrol.cpp +index 812608b..31e961d 100644 +--- a/tools/k4aviewer/k4asourceselectiondockcontrol.cpp ++++ b/tools/k4aviewer/k4asourceselectiondockcontrol.cpp +@@ -34,7 +34,7 @@ K4ASourceSelectionDockControl::K4ASourceSelectionDockControl() + + K4ADockControlStatus K4ASourceSelectionDockControl::Show() + { +- ImGui::SetNextTreeNodeOpen(true, ImGuiCond_FirstUseEver); ++ ImGui::SetNextItemOpen(true, ImGuiCond_FirstUseEver); + if (ImGui::TreeNode("Open Device")) + { + ImGuiExtensions::K4AComboBox("Device S/N", +diff --git a/tools/k4aviewer/k4adevicedockcontrol.cpp b/tools/k4aviewer/k4adevicedockcontrol.cpp +index 8fe5687..6d1e95a 100644 +--- a/tools/k4aviewer/k4adevicedockcontrol.cpp ++++ b/tools/k4aviewer/k4adevicedockcontrol.cpp +@@ -333,7 +333,7 @@ K4ADockControlStatus K4ADeviceDockControl::Show() + + if (m_firstRun || depthEnabledStateChanged) + { +- ImGui::SetNextTreeNodeOpen(m_config.EnableDepthCamera); ++ ImGui::SetNextItemOpen(m_config.EnableDepthCamera); + } + + ImGui::Indent(); +@@ -376,7 +376,7 @@ K4ADockControlStatus K4ADeviceDockControl::Show() + + if (m_firstRun || colorEnableStateChanged) + { +- ImGui::SetNextTreeNodeOpen(m_config.EnableColorCamera); ++ ImGui::SetNextItemOpen(m_config.EnableColorCamera); + } + + ImGui::Indent(); +@@ -710,7 +710,7 @@ K4ADockControlStatus K4ADeviceDockControl::Show() + + if (m_firstRun && (m_syncInConnected || m_syncOutConnected)) + { +- ImGui::SetNextTreeNodeOpen(true); ++ ImGui::SetNextItemOpen(true); + } + if (ImGui::TreeNode("External Sync")) + { diff --git a/ports/azure-kinect-sensor-sdk/fix-builds.patch b/ports/azure-kinect-sensor-sdk/fix-builds.patch index 750667eef279b8..aa839ca225403c 100644 --- a/ports/azure-kinect-sensor-sdk/fix-builds.patch +++ b/ports/azure-kinect-sensor-sdk/fix-builds.patch @@ -1,5 +1,5 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 4f002b5..d48f3f2 100644 +index 4f002b5..dd9b1df 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -27,8 +27,6 @@ option(K4A_BUILD_DOCS "Build K4A doxygen documentation" OFF) @@ -11,7 +11,7 @@ index 4f002b5..d48f3f2 100644 # Set the project version include(K4AProjectVersion) -@@ -100,6 +98,43 @@ if ("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_C_COMPILER_ID}" STREQUAL +@@ -100,6 +98,42 @@ if ("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_C_COMPILER_ID}" STREQUAL set(CMAKE_VISIBILITY_INLINES_HIDDEN 1) endif() @@ -26,22 +26,21 @@ index 4f002b5..d48f3f2 100644 +add_library(libjpeg-turbo::libjpeg-turbo UNKNOWN IMPORTED) +set_property(TARGET libjpeg-turbo::libjpeg-turbo PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${TURBOJPEG_INCLUDE_DIR}) +set_property(TARGET libjpeg-turbo::libjpeg-turbo PROPERTY IMPORTED_LOCATION_RELEASE ${TURBOJPEG_LIBRARY_RELEASE}) -+if(EXISTS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib") -+ find_library(TURBOJPEG_LIBRARY_DEBUG NAMES turbojpeg PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib" NO_DEFAULT_PATH REQUIRED) ++find_library(TURBOJPEG_LIBRARY_DEBUG NAMES turbojpeg PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib" NO_DEFAULT_PATH) ++if(TURBOJPEG_LIBRARY_DEBUG) + set_property(TARGET libjpeg-turbo::libjpeg-turbo PROPERTY IMPORTED_LOCATION_DEBUG ${TURBOJPEG_LIBRARY_DEBUG}) +endif() +find_package(Matroska CONFIG REQUIRED) +add_definitions(-DMATROSKA_VERSION=2) +find_package(libsoundio CONFIG REQUIRED) +if (NOT WIN32) -+ find_package(libusb CONFIG REQUIRED) + find_package(libuvc CONFIG REQUIRED) + add_library(libuvc::libuvc ALIAS LibUVC::UVCStatic) + find_package(OpenSSL REQUIRED) + find_package(ZLIB REQUIRED) -+else() -+ find_library(LibUSB libusb-1.0 REQUIRED) +endif() ++FIND_PACKAGE(PkgConfig REQUIRED) ++pkg_check_modules(libusb REQUIRED IMPORTED_TARGET libusb-1.0) +find_package(libyuv CONFIG REQUIRED) +find_package(spdlog CONFIG REQUIRED) +if (BUILD_TOOLS) @@ -295,7 +294,7 @@ index e4a696e..6ee6696 100644 k4ainternal::deloader) diff --git a/src/usbcommand/CMakeLists.txt b/src/usbcommand/CMakeLists.txt -index f75bd55..5403216 100644 +index f75bd55..7130728 100644 --- a/src/usbcommand/CMakeLists.txt +++ b/src/usbcommand/CMakeLists.txt @@ -12,8 +12,8 @@ target_include_directories(k4a_usb_cmd PUBLIC @@ -305,7 +304,7 @@ index f75bd55..5403216 100644 - azure::aziotsharedutil - LibUSB::LibUSB + aziotsharedutil -+ ${LibUSB} ++ PkgConfig::libusb k4ainternal::allocator k4ainternal::image k4ainternal::logging) @@ -585,7 +584,7 @@ index c544e1e..9489bf8 100644 k4ainternal::logging k4ainternal::utcommon) diff --git a/tools/k4aviewer/CMakeLists.txt b/tools/k4aviewer/CMakeLists.txt -index 98578c0..6ab38d9 100644 +index 98578c0..244c867 100644 --- a/tools/k4aviewer/CMakeLists.txt +++ b/tools/k4aviewer/CMakeLists.txt @@ -60,10 +60,11 @@ set(EXTERNAL_LIBRARIES @@ -595,7 +594,7 @@ index 98578c0..6ab38d9 100644 - LibUSB::LibUSB - libyuv::libyuv - glfw::glfw -+ ${LibUSB} ++ PkgConfig::libusb + yuv + glfw ${OPENGL_LIBRARIES} diff --git a/ports/azure-kinect-sensor-sdk/fix-header.patch b/ports/azure-kinect-sensor-sdk/fix-header.patch new file mode 100644 index 00000000000000..cd8fd9b1d6ff4d --- /dev/null +++ b/ports/azure-kinect-sensor-sdk/fix-header.patch @@ -0,0 +1,48 @@ +diff --git a/tools/k4aviewer/k4aaudiochanneldatagraph.h b/tools/k4aviewer/k4aaudiochanneldatagraph.h +index 9aede89..56d2c77 100644 +--- a/tools/k4aviewer/k4aaudiochanneldatagraph.h ++++ b/tools/k4aviewer/k4aaudiochanneldatagraph.h +@@ -7,6 +7,7 @@ + // System headers + // + #include ++#include + + // Library headers + // +diff --git a/tools/k4aviewer/k4aaudiowindow.h b/tools/k4aviewer/k4aaudiowindow.h +index 87b63b3..fcfc86e 100644 +--- a/tools/k4aviewer/k4aaudiowindow.h ++++ b/tools/k4aviewer/k4aaudiowindow.h +@@ -8,6 +8,7 @@ + // + #include + #include ++#include + + // Library headers + // +diff --git a/tools/k4aviewer/k4amicrophonelistener.cpp b/tools/k4aviewer/k4amicrophonelistener.cpp +index db7b546..8baa05c 100644 +--- a/tools/k4aviewer/k4amicrophonelistener.cpp ++++ b/tools/k4aviewer/k4amicrophonelistener.cpp +@@ -8,6 +8,7 @@ + // System headers + // + #include ++#include + + // Library headers + // +diff --git a/tools/k4aviewer/perfcounter.h b/tools/k4aviewer/perfcounter.h +index b39e721..c3e28d2 100644 +--- a/tools/k4aviewer/perfcounter.h ++++ b/tools/k4aviewer/perfcounter.h +@@ -13,6 +13,7 @@ + #include + #include + #include ++#include + + // Library headers + // diff --git a/ports/azure-kinect-sensor-sdk/portfile.cmake b/ports/azure-kinect-sensor-sdk/portfile.cmake index 0bbc78a5220e12..f20fe2a747551e 100644 --- a/ports/azure-kinect-sensor-sdk/portfile.cmake +++ b/ports/azure-kinect-sensor-sdk/portfile.cmake @@ -2,7 +2,7 @@ set(VERSION 1.4.1) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO microsoft/Azure-Kinect-Sensor-SDK - REF v${VERSION} + REF "v${VERSION}" SHA512 ef94c072caae43b0a105b192013e09082d267d4064e6676fac981b52e7576a663f59fcb53f0afe66b425ef2cea0cb3aa224ff7be6485c0b5543ff9cdabd82d4d HEAD_REF master PATCHES @@ -11,9 +11,11 @@ vcpkg_from_github( fix-linux.patch fix-calibration-c.patch fix-build-imgui.patch + fix-header.patch ) vcpkg_find_acquire_program(PYTHON3) +vcpkg_find_acquire_program(PKGCONFIG) get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY) vcpkg_add_to_path("${PYTHON3_DIR}") @@ -27,7 +29,9 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" DISABLE_PARALLEL_CONFIGURE - OPTIONS ${FEATURE_OPTIONS} + OPTIONS + "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" + ${FEATURE_OPTIONS} -DK4A_SOURCE_LINK=OFF -DK4A_MTE_VERSION=ON -DBUILD_EXAMPLES=OFF @@ -38,7 +42,9 @@ vcpkg_cmake_configure( vcpkg_cmake_install() # Avoid deleting debug/lib/cmake when fixing the first cmake -file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/cmake" "${CURRENT_PACKAGES_DIR}/debug/share") +if(NOT VCPKG_BUILD_TYPE) + file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/cmake" "${CURRENT_PACKAGES_DIR}/debug/share") +endif() file(RENAME "${CURRENT_PACKAGES_DIR}/lib/cmake" "${CURRENT_PACKAGES_DIR}/share") vcpkg_cmake_config_fixup(PACKAGE_NAME k4a CONFIG_PATH share/k4a) @@ -79,13 +85,17 @@ endif () if (VCPKG_TARGET_IS_LINUX) file(COPY "${PACKAGE_PATH}/linux/lib/native/${VCPKG_TARGET_ARCHITECTURE}/release/libdepthengine.so.2.0" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") - file(COPY "${PACKAGE_PATH}/linux/lib/native/${VCPKG_TARGET_ARCHITECTURE}/release/libdepthengine.so.2.0" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") + if(NOT VCPKG_BUILD_TYPE) + file(COPY "${PACKAGE_PATH}/linux/lib/native/${VCPKG_TARGET_ARCHITECTURE}/release/libdepthengine.so.2.0" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") + endif() else() file(COPY "${PACKAGE_PATH}/lib/native/${ARCHITECTURE}/release/depthengine_2_0.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/azure-kinect-sensor-sdk") - file(COPY "${PACKAGE_PATH}/lib/native/${ARCHITECTURE}/release/depthengine_2_0.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/tools/azure-kinect-sensor-sdk") file(COPY "${CMAKE_CURRENT_LIST_DIR}/k4adeploy.ps1" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/azure-kinect-sensor-sdk") - file(COPY "${CMAKE_CURRENT_LIST_DIR}/k4adeploy.ps1" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/tools/azure-kinect-sensor-sdk") + if(NOT VCPKG_BUILD_TYPE) + file(COPY "${PACKAGE_PATH}/lib/native/${ARCHITECTURE}/release/depthengine_2_0.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/tools/azure-kinect-sensor-sdk") + file(COPY "${CMAKE_CURRENT_LIST_DIR}/k4adeploy.ps1" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/tools/azure-kinect-sensor-sdk") + endif() endif() # Handle copyright -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/azure-kinect-sensor-sdk/vcpkg.json b/ports/azure-kinect-sensor-sdk/vcpkg.json index 9726bd8cdb0e33..63c4ff4a8d8cfb 100644 --- a/ports/azure-kinect-sensor-sdk/vcpkg.json +++ b/ports/azure-kinect-sensor-sdk/vcpkg.json @@ -1,7 +1,7 @@ { "name": "azure-kinect-sensor-sdk", "version": "1.4.1", - "port-version": 5, + "port-version": 8, "description": "Azure Kinect SDK is a cross platform (Linux and Windows) user mode SDK to read data from your Azure Kinect device.", "homepage": "https://github.com/microsoft/Azure-Kinect-Sensor-SDK", "supports": "linux | windows", diff --git a/ports/azure-messaging-eventhubs-checkpointstore-blob-cpp/portfile.cmake b/ports/azure-messaging-eventhubs-checkpointstore-blob-cpp/portfile.cmake index 0cb708f1afb333..248ec2fbdceff8 100644 --- a/ports/azure-messaging-eventhubs-checkpointstore-blob-cpp/portfile.cmake +++ b/ports/azure-messaging-eventhubs-checkpointstore-blob-cpp/portfile.cmake @@ -1,8 +1,15 @@ +# NOTE: All changes made to this file will get overwritten by the next port release. +# Please contribute your changes to https://github.com/Azure/azure-sdk-for-cpp. + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Azure/azure-sdk-for-cpp - REF azure-messaging-eventhubs-checkpointstore-blob_1.0.0-beta.1 + REF "azure-messaging-eventhubs-checkpointstore-blob_${VERSION}" SHA512 7c55eda0c04bbc57729a7b479d8d5874b0e06927aff1916833520a3a944e63b6fceabd3565fd91549ec00157f2c4af5a87a6a2db55a5c24df611cd96572f9a08 + HEAD_REF main + PATCHES + useragent.patch + set_version.patch ) if(EXISTS "${SOURCE_PATH}/sdk/eventhubs/azure-messaging-eventhubs-checkpointstore-blob") diff --git a/ports/azure-messaging-eventhubs-checkpointstore-blob-cpp/set_version.patch b/ports/azure-messaging-eventhubs-checkpointstore-blob-cpp/set_version.patch new file mode 100644 index 00000000000000..e2c226785b07c5 --- /dev/null +++ b/ports/azure-messaging-eventhubs-checkpointstore-blob-cpp/set_version.patch @@ -0,0 +1,12 @@ +diff --git a/sdk/eventhubs/azure-messaging-eventhubs-checkpointstore-blob/CMakeLists.txt b/sdk/eventhubs/azure-messaging-eventhubs-checkpointstore-blob/CMakeLists.txt +index 215269090..9fbc1062a 100644 +--- a/sdk/eventhubs/azure-messaging-eventhubs-checkpointstore-blob/CMakeLists.txt ++++ b/sdk/eventhubs/azure-messaging-eventhubs-checkpointstore-blob/CMakeLists.txt +@@ -91,6 +91,7 @@ target_link_libraries(azure-messaging-eventhubs-checkpointstore-blob + create_code_coverage(eventhubs azure-messaging-eventhubs-checkpointstore-blob azure-messaging-eventhubs-blobcheckpointstore-test "tests?/*;samples?/*") + + get_az_version("${CMAKE_CURRENT_SOURCE_DIR}/src/private/package_version.hpp") ++set_target_properties(azure-messaging-eventhubs-checkpointstore-blob PROPERTIES VERSION ${AZ_LIBRARY_VERSION}) + #generate_documentation(azure-messaging-eventhubs-checkpointstore-blob ${AZ_LIBRARY_VERSION}) + generate_documentation(azure-messaging-eventhubs-checkpointstore-blob ${AZ_LIBRARY_VERSION}) + diff --git a/ports/azure-messaging-eventhubs-checkpointstore-blob-cpp/useragent.patch b/ports/azure-messaging-eventhubs-checkpointstore-blob-cpp/useragent.patch new file mode 100644 index 00000000000000..b0e3e1aba5cdbe --- /dev/null +++ b/ports/azure-messaging-eventhubs-checkpointstore-blob-cpp/useragent.patch @@ -0,0 +1,12 @@ +diff --git a/sdk/eventhubs/azure-messaging-eventhubs-checkpointstore-blob/CMakeLists.txt b/sdk/eventhubs/azure-messaging-eventhubs-checkpointstore-blob/CMakeLists.txt +index f776b3a94..c9bf65363 100644 +--- a/sdk/eventhubs/azure-messaging-eventhubs-checkpointstore-blob/CMakeLists.txt ++++ b/sdk/eventhubs/azure-messaging-eventhubs-checkpointstore-blob/CMakeLists.txt +@@ -69,6 +69,7 @@ add_library( + azure-messaging-eventhubs-checkpointstore-blob + ${AZURE_MESSAGING_EVENTHUBS_BLOB_CHECKPOINT_HEADER} ${AZURE_MESSAGING_EVENTHUBS_BLOB_CHECKPOINT_SOURCE} + ) ++target_compile_definitions(azure-messaging-eventhubs-checkpointstore-blob PRIVATE _azure_BUILDING_SDK) + create_per_service_target_build(eventhubs azure-messaging-eventhubs-checkpointstore-blob) + add_library(Azure::azure-messaging-eventhubs-checkpointstore-blob ALIAS azure-messaging-eventhubs-checkpointstore-blob) + diff --git a/ports/azure-messaging-eventhubs-checkpointstore-blob-cpp/vcpkg.json b/ports/azure-messaging-eventhubs-checkpointstore-blob-cpp/vcpkg.json index 77fe967455bfc6..96636239929c17 100644 --- a/ports/azure-messaging-eventhubs-checkpointstore-blob-cpp/vcpkg.json +++ b/ports/azure-messaging-eventhubs-checkpointstore-blob-cpp/vcpkg.json @@ -1,6 +1,11 @@ { + "$comment": [ + "NOTE: All changes made to this file will get overwritten by the next port release.", + "Please contribute your changes to https://github.com/Azure/azure-sdk-for-cpp." + ], "name": "azure-messaging-eventhubs-checkpointstore-blob-cpp", "version-semver": "1.0.0-beta.1", + "port-version": 4, "description": [ "Microsoft Azure Messaging Event Hubs Blob Checkpoint Store SDK for C++", "This library provides an Azure-Storage-Blobs based implementation of an Azure Messaging Event Hubs SDK Checkpoint Store." diff --git a/ports/azure-messaging-eventhubs-cpp/portfile.cmake b/ports/azure-messaging-eventhubs-cpp/portfile.cmake index 1e2f17d19e857e..ea0bf92a4fb2b3 100644 --- a/ports/azure-messaging-eventhubs-cpp/portfile.cmake +++ b/ports/azure-messaging-eventhubs-cpp/portfile.cmake @@ -1,8 +1,12 @@ +# NOTE: All changes made to this file will get overwritten by the next port release. +# Please contribute your changes to https://github.com/Azure/azure-sdk-for-cpp. + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Azure/azure-sdk-for-cpp - REF azure-messaging-eventhubs_1.0.0-beta.3 - SHA512 0ad0e02755eba07408c6a837a742c0e58890a4b5f281709e1d84ea59a378c0a013068428d99e81d4972172760a3fb55a6026d34d8a558a5747c48a6b3f85e664 + REF "azure-messaging-eventhubs_${VERSION}" + SHA512 13f1ad09a4093ab3a591208e47d6ce5daad2a4e055f2c86fdb49a9dbee4826efb19ddb294c0d5d9a4e5f4e2318059bd57fc346fec5ae1cee26f20839030f4276 + HEAD_REF main ) if(EXISTS "${SOURCE_PATH}/sdk/eventhubs/azure-messaging-eventhubs") diff --git a/ports/azure-messaging-eventhubs-cpp/vcpkg.json b/ports/azure-messaging-eventhubs-cpp/vcpkg.json index 521ce83e32249d..0bf6ceacecd23c 100644 --- a/ports/azure-messaging-eventhubs-cpp/vcpkg.json +++ b/ports/azure-messaging-eventhubs-cpp/vcpkg.json @@ -1,6 +1,10 @@ { + "$comment": [ + "NOTE: All changes made to this file will get overwritten by the next port release.", + "Please contribute your changes to https://github.com/Azure/azure-sdk-for-cpp." + ], "name": "azure-messaging-eventhubs-cpp", - "version-semver": "1.0.0-beta.3", + "version-semver": "1.0.0-beta.10", "description": [ "Microsoft Azure Messaging Event Hubs SDK for C++", "This library provides Azure Messaging Event Hubs SDK." @@ -11,7 +15,12 @@ { "name": "azure-core-amqp-cpp", "default-features": false, - "version>=": "1.0.0-beta.2" + "version>=": "1.0.0-beta.9" + }, + { + "name": "azure-core-cpp", + "default-features": false, + "version>=": "1.14.1" }, { "name": "vcpkg-cmake", diff --git a/ports/azure-security-attestation-cpp/context_syntax.patch b/ports/azure-security-attestation-cpp/context_syntax.patch new file mode 100644 index 00000000000000..d7dfd3c5f5f86a --- /dev/null +++ b/ports/azure-security-attestation-cpp/context_syntax.patch @@ -0,0 +1,13 @@ +diff --git a/sdk/attestation/azure-security-attestation/inc/azure/attestation/attestation_client.hpp b/sdk/attestation/azure-security-attestation/inc/azure/attestation/attestation_client.hpp +index d7c44d494..31fcb8d3f 100644 +--- a/sdk/attestation/azure-security-attestation/inc/azure/attestation/attestation_client.hpp ++++ b/sdk/attestation/azure-security-attestation/inc/azure/attestation/attestation_client.hpp +@@ -176,7 +176,7 @@ namespace Azure { namespace Security { namespace Attestation { + * specified service instance. + */ + Response GetOpenIdMetadata( +- Azure::Core::Context const& context = Azure::Core::Context::ApplicationContext) const; ++ Azure::Core::Context const& context = {}) const; + + /** + * @brief Retrieve the attestation signing certificates for this attestation instance. diff --git a/ports/azure-security-attestation-cpp/portfile.cmake b/ports/azure-security-attestation-cpp/portfile.cmake index f1fc4d6680f31f..cc04c8f3300b2e 100644 --- a/ports/azure-security-attestation-cpp/portfile.cmake +++ b/ports/azure-security-attestation-cpp/portfile.cmake @@ -1,8 +1,16 @@ +# NOTE: All changes made to this file will get overwritten by the next port release. +# Please contribute your changes to https://github.com/Azure/azure-sdk-for-cpp. + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Azure/azure-sdk-for-cpp - REF azure-security-attestation_1.1.0 + REF "azure-security-attestation_${VERSION}" SHA512 bf5c0ab830122838045e3e5ff03aae38f81082b50b9b0c61fa21a8c101a2fd98ad98b136d49702665d720f59baa6a89c8af3f161a44c09d24ad747fb1828cbca + HEAD_REF main + PATCHES + context_syntax.patch + useragent.patch + set_version.patch ) if(EXISTS "${SOURCE_PATH}/sdk/attestation/azure-security-attestation") @@ -19,6 +27,7 @@ vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}/_/_/_" OPTIONS -DWARNINGS_AS_ERRORS=OFF + -DBUILD_TESTING=OFF ) vcpkg_cmake_install() diff --git a/ports/azure-security-attestation-cpp/set_version.patch b/ports/azure-security-attestation-cpp/set_version.patch new file mode 100644 index 00000000000000..3f923b368214fb --- /dev/null +++ b/ports/azure-security-attestation-cpp/set_version.patch @@ -0,0 +1,12 @@ +diff --git a/sdk/attestation/azure-security-attestation/CMakeLists.txt b/sdk/attestation/azure-security-attestation/CMakeLists.txt +index 8dec8cfa5..dee51d63f 100644 +--- a/sdk/attestation/azure-security-attestation/CMakeLists.txt ++++ b/sdk/attestation/azure-security-attestation/CMakeLists.txt +@@ -86,6 +86,7 @@ create_code_coverage(attestation azure-security-attestation azure-security-attes + + + get_az_version("${CMAKE_CURRENT_SOURCE_DIR}/src/private/package_version.hpp") ++set_target_properties(azure-security-attestation PROPERTIES VERSION ${AZ_LIBRARY_VERSION}) + generate_documentation(azure-security-attestation ${AZ_LIBRARY_VERSION}) + + az_vcpkg_export( diff --git a/ports/azure-security-attestation-cpp/useragent.patch b/ports/azure-security-attestation-cpp/useragent.patch new file mode 100644 index 00000000000000..dfab091c00a9ae --- /dev/null +++ b/ports/azure-security-attestation-cpp/useragent.patch @@ -0,0 +1,12 @@ +diff --git a/sdk/attestation/azure-security-attestation/CMakeLists.txt b/sdk/attestation/azure-security-attestation/CMakeLists.txt +index 6993ce663..d57e7154d 100644 +--- a/sdk/attestation/azure-security-attestation/CMakeLists.txt ++++ b/sdk/attestation/azure-security-attestation/CMakeLists.txt +@@ -76,6 +76,7 @@ target_include_directories( + ) + + target_link_libraries(azure-security-attestation PUBLIC Azure::azure-core OpenSSL::Crypto OpenSSL::SSL) ++target_compile_definitions(azure-security-attestation PRIVATE _azure_BUILDING_SDK) + + # make sure that users can consume the project as a library. + add_library(Azure::azure-security-attestation ALIAS azure-security-attestation) diff --git a/ports/azure-security-attestation-cpp/vcpkg.json b/ports/azure-security-attestation-cpp/vcpkg.json index 4ec72e8e770e58..0fc6fd35ad6335 100644 --- a/ports/azure-security-attestation-cpp/vcpkg.json +++ b/ports/azure-security-attestation-cpp/vcpkg.json @@ -1,7 +1,11 @@ { + "$comment": [ + "NOTE: All changes made to this file will get overwritten by the next port release.", + "Please contribute your changes to https://github.com/Azure/azure-sdk-for-cpp." + ], "name": "azure-security-attestation-cpp", "version-semver": "1.1.0", - "port-version": 1, + "port-version": 6, "description": [ "Microsoft Azure Attestation Service SDK for C++", "This library provides API access to the Microsoft Azure Attestation service." diff --git a/ports/azure-security-keyvault-administration-cpp/portfile.cmake b/ports/azure-security-keyvault-administration-cpp/portfile.cmake index d1f7ae837065b0..0a992359288d86 100644 --- a/ports/azure-security-keyvault-administration-cpp/portfile.cmake +++ b/ports/azure-security-keyvault-administration-cpp/portfile.cmake @@ -1,8 +1,14 @@ +# NOTE: All changes made to this file will get overwritten by the next port release. +# Please contribute your changes to https://github.com/Azure/azure-sdk-for-cpp. + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Azure/azure-sdk-for-cpp - REF azure-security-keyvault-administration_4.0.0-beta.3 - SHA512 1209811b470821f929ffd5d09df58ff19b19f13a657acf304fefd457ee533acb3e91774ca6d72d0106e42d601d0bd4d23fbd563f62a4c9a62d686afe61cb4e6c + REF "azure-security-keyvault-administration_${VERSION}" + SHA512 075364958d05b4eace3babbcc700706a02f2125577d3f903ef4ca2cc71245a45963ca5ac82f1e9bd3903c799d3c44846741802cbd917bbc8f65a92d047caf7ef + HEAD_REF main + PATCHES + set_version.patch ) if(EXISTS "${SOURCE_PATH}/sdk/keyvault/azure-security-keyvault-administration") @@ -19,6 +25,7 @@ vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}/_/_/_" OPTIONS -DWARNINGS_AS_ERRORS=OFF + -DBUILD_TESTING=OFF ) vcpkg_cmake_install() diff --git a/ports/azure-security-keyvault-administration-cpp/set_version.patch b/ports/azure-security-keyvault-administration-cpp/set_version.patch new file mode 100644 index 00000000000000..3d8966f305c952 --- /dev/null +++ b/ports/azure-security-keyvault-administration-cpp/set_version.patch @@ -0,0 +1,12 @@ +diff --git a/sdk/keyvault/azure-security-keyvault-administration/CMakeLists.txt b/sdk/keyvault/azure-security-keyvault-administration/CMakeLists.txt +index 5f70eb301..45a1181e7 100644 +--- a/sdk/keyvault/azure-security-keyvault-administration/CMakeLists.txt ++++ b/sdk/keyvault/azure-security-keyvault-administration/CMakeLists.txt +@@ -95,6 +95,7 @@ target_compile_definitions(azure-security-keyvault-administration PRIVATE _azure + create_code_coverage(keyvault azure-security-keyvault-administration azure-security-keyvault-administration-test "tests?/*;samples?/*") + + get_az_version("${CMAKE_CURRENT_SOURCE_DIR}/src/private/package_version.hpp") ++set_target_properties(azure-security-keyvault-administration PROPERTIES VERSION ${AZ_LIBRARY_VERSION}) + generate_documentation(azure-security-keyvault-administration ${AZ_LIBRARY_VERSION}) + if(BUILD_TESTING) + diff --git a/ports/azure-security-keyvault-administration-cpp/vcpkg.json b/ports/azure-security-keyvault-administration-cpp/vcpkg.json index 5f04262e573898..1207ed01c40625 100644 --- a/ports/azure-security-keyvault-administration-cpp/vcpkg.json +++ b/ports/azure-security-keyvault-administration-cpp/vcpkg.json @@ -1,6 +1,10 @@ { + "$comment": [ + "NOTE: All changes made to this file will get overwritten by the next port release.", + "Please contribute your changes to https://github.com/Azure/azure-sdk-for-cpp." + ], "name": "azure-security-keyvault-administration-cpp", - "version-semver": "4.0.0-beta.3", + "version-semver": "4.0.0-beta.5", "port-version": 1, "description": [ "Microsoft Azure Key Vault Administration SDK for C++", diff --git a/ports/azure-security-keyvault-certificates-cpp/portfile.cmake b/ports/azure-security-keyvault-certificates-cpp/portfile.cmake index b0cba5d37ad48a..1960aae4e67315 100644 --- a/ports/azure-security-keyvault-certificates-cpp/portfile.cmake +++ b/ports/azure-security-keyvault-certificates-cpp/portfile.cmake @@ -1,8 +1,15 @@ +# NOTE: All changes made to this file will get overwritten by the next port release. +# Please contribute your changes to https://github.com/Azure/azure-sdk-for-cpp. + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Azure/azure-sdk-for-cpp - REF azure-security-keyvault-certificates_4.2.0 - SHA512 bcfbeb47bbf0871113be3a7704b519af2b3209304be8f9c29874325e8efd3e4e440706aae1f86139076097b31e3777b85e3c9b01861bc5ace9113645d8a97260 + REF "azure-security-keyvault-certificates_${VERSION}" + SHA512 f18d205ee0be9ab4289860fe4fdc0f4a6c3571eb0a8d0ca0ea66e7fef477e04ed0ba455e1a5af687e0980d7f12b919d1a5c85ee40d41dbcfd695f5d62843dcd5 + HEAD_REF main + PATCHES + useragent.patch + set_version.patch ) if(EXISTS "${SOURCE_PATH}/sdk/keyvault/azure-security-keyvault-certificates") @@ -19,6 +26,7 @@ vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}/_/_/_" OPTIONS -DWARNINGS_AS_ERRORS=OFF + -DBUILD_TESTING=OFF ) vcpkg_cmake_install() diff --git a/ports/azure-security-keyvault-certificates-cpp/set_version.patch b/ports/azure-security-keyvault-certificates-cpp/set_version.patch new file mode 100644 index 00000000000000..e22a1d3ddb267a --- /dev/null +++ b/ports/azure-security-keyvault-certificates-cpp/set_version.patch @@ -0,0 +1,12 @@ +diff --git a/sdk/keyvault/azure-security-keyvault-certificates/CMakeLists.txt b/sdk/keyvault/azure-security-keyvault-certificates/CMakeLists.txt +index 0806e09b0..0c08f1576 100644 +--- a/sdk/keyvault/azure-security-keyvault-certificates/CMakeLists.txt ++++ b/sdk/keyvault/azure-security-keyvault-certificates/CMakeLists.txt +@@ -100,6 +100,7 @@ target_compile_definitions(azure-security-keyvault-certificates PRIVATE _azure_B + create_code_coverage(keyvault azure-security-keyvault-certificates azure-security-keyvault-certificates-test "tests?/*;samples?/*") + + get_az_version("${CMAKE_CURRENT_SOURCE_DIR}/src/private/package_version.hpp") ++set_target_properties(azure-security-keyvault-certificates PROPERTIES VERSION ${AZ_LIBRARY_VERSION}) + generate_documentation(azure-security-keyvault-certificates ${AZ_LIBRARY_VERSION}) + + if(BUILD_TESTING) diff --git a/ports/azure-security-keyvault-certificates-cpp/useragent.patch b/ports/azure-security-keyvault-certificates-cpp/useragent.patch new file mode 100644 index 00000000000000..36b878500d4147 --- /dev/null +++ b/ports/azure-security-keyvault-certificates-cpp/useragent.patch @@ -0,0 +1,13 @@ +diff --git a/sdk/keyvault/azure-security-keyvault-certificates/CMakeLists.txt b/sdk/keyvault/azure-security-keyvault-certificates/CMakeLists.txt +index 084e41fb6..bae592cb0 100644 +--- a/sdk/keyvault/azure-security-keyvault-certificates/CMakeLists.txt ++++ b/sdk/keyvault/azure-security-keyvault-certificates/CMakeLists.txt +@@ -94,6 +94,8 @@ target_include_directories( + + target_link_libraries(azure-security-keyvault-certificates PUBLIC Azure::azure-core) + ++target_compile_definitions(azure-security-keyvault-certificates PRIVATE _azure_BUILDING_SDK) ++ + # coverage. Has no effect if BUILD_CODE_COVERAGE is OFF + create_code_coverage(keyvault azure-security-keyvault-certificates azure-security-keyvault-certificates-test "tests?/*;samples?/*") + diff --git a/ports/azure-security-keyvault-certificates-cpp/vcpkg.json b/ports/azure-security-keyvault-certificates-cpp/vcpkg.json index 841abd2114b846..fa45bcd04f2090 100644 --- a/ports/azure-security-keyvault-certificates-cpp/vcpkg.json +++ b/ports/azure-security-keyvault-certificates-cpp/vcpkg.json @@ -1,7 +1,11 @@ { + "$comment": [ + "NOTE: All changes made to this file will get overwritten by the next port release.", + "Please contribute your changes to https://github.com/Azure/azure-sdk-for-cpp." + ], "name": "azure-security-keyvault-certificates-cpp", - "version-semver": "4.2.0", - "port-version": 1, + "version-semver": "4.2.1", + "port-version": 3, "description": [ "Microsoft Azure Key Vault Certificates SDK for C++", "This library provides Azure Key Vault Certificates SDK." diff --git a/ports/azure-security-keyvault-keys-cpp/portfile.cmake b/ports/azure-security-keyvault-keys-cpp/portfile.cmake index 08d8764a64fce7..ff865983bcd37f 100644 --- a/ports/azure-security-keyvault-keys-cpp/portfile.cmake +++ b/ports/azure-security-keyvault-keys-cpp/portfile.cmake @@ -1,8 +1,15 @@ +# NOTE: All changes made to this file will get overwritten by the next port release. +# Please contribute your changes to https://github.com/Azure/azure-sdk-for-cpp. + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Azure/azure-sdk-for-cpp - REF azure-security-keyvault-keys_4.4.0 - SHA512 00fc21a1ecf4b40543a1a381777970739579f3384392cdb9a2eb44563d05a5ac648f797cb5198df27f74cd4b45d341b06e45f552ed2a878f2cfd50f3461ad4fd + REF "azure-security-keyvault-keys_${VERSION}" + SHA512 758ff05ce33672d81cf14d347edada2a7c008c7df61639b7bac9ce1a1114144a1f6fcc3d364d1d90f5f9cda8f8c1db14f80873403d4190d4aca1844fb25dd517 + HEAD_REF main + PATCHES + useragent.patch + set_version.patch ) if(EXISTS "${SOURCE_PATH}/sdk/keyvault/azure-security-keyvault-keys") @@ -19,6 +26,7 @@ vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}/_/_/_" OPTIONS -DWARNINGS_AS_ERRORS=OFF + -DBUILD_TESTING=OFF ) vcpkg_cmake_install() diff --git a/ports/azure-security-keyvault-keys-cpp/set_version.patch b/ports/azure-security-keyvault-keys-cpp/set_version.patch new file mode 100644 index 00000000000000..49ab6c0cb2e64e --- /dev/null +++ b/ports/azure-security-keyvault-keys-cpp/set_version.patch @@ -0,0 +1,12 @@ +diff --git a/sdk/keyvault/azure-security-keyvault-keys/CMakeLists.txt b/sdk/keyvault/azure-security-keyvault-keys/CMakeLists.txt +index 6217fd13f..d5b6db60a 100644 +--- a/sdk/keyvault/azure-security-keyvault-keys/CMakeLists.txt ++++ b/sdk/keyvault/azure-security-keyvault-keys/CMakeLists.txt +@@ -138,6 +138,7 @@ target_compile_definitions(azure-security-keyvault-keys PRIVATE _azure_BUILDING_ + create_code_coverage(keyvault azure-security-keyvault-keys azure-security-keyvault-keys-test "tests?/*;samples?/*") + + get_az_version("${CMAKE_CURRENT_SOURCE_DIR}/src/private/package_version.hpp") ++set_target_properties(azure-security-keyvault-keys PROPERTIES VERSION ${AZ_LIBRARY_VERSION}) + generate_documentation(azure-security-keyvault-keys ${AZ_LIBRARY_VERSION}) + + if(BUILD_TESTING) diff --git a/ports/azure-security-keyvault-keys-cpp/useragent.patch b/ports/azure-security-keyvault-keys-cpp/useragent.patch new file mode 100644 index 00000000000000..2ca7de9f4fbf3f --- /dev/null +++ b/ports/azure-security-keyvault-keys-cpp/useragent.patch @@ -0,0 +1,13 @@ +diff --git a/sdk/keyvault/azure-security-keyvault-keys/CMakeLists.txt b/sdk/keyvault/azure-security-keyvault-keys/CMakeLists.txt +index 18098c757..7bda8dba0 100644 +--- a/sdk/keyvault/azure-security-keyvault-keys/CMakeLists.txt ++++ b/sdk/keyvault/azure-security-keyvault-keys/CMakeLists.txt +@@ -132,6 +132,8 @@ target_include_directories( + + target_link_libraries(azure-security-keyvault-keys PUBLIC Azure::azure-core) + ++target_compile_definitions(azure-security-keyvault-keys PRIVATE _azure_BUILDING_SDK) ++ + # coverage. Has no effect if BUILD_CODE_COVERAGE is OFF + create_code_coverage(keyvault azure-security-keyvault-keys azure-security-keyvault-keys-test "tests?/*;samples?/*") + diff --git a/ports/azure-security-keyvault-keys-cpp/vcpkg.json b/ports/azure-security-keyvault-keys-cpp/vcpkg.json index 76b30472e038b4..badfdb225590fb 100644 --- a/ports/azure-security-keyvault-keys-cpp/vcpkg.json +++ b/ports/azure-security-keyvault-keys-cpp/vcpkg.json @@ -1,7 +1,11 @@ { + "$comment": [ + "NOTE: All changes made to this file will get overwritten by the next port release.", + "Please contribute your changes to https://github.com/Azure/azure-sdk-for-cpp." + ], "name": "azure-security-keyvault-keys-cpp", - "version-semver": "4.4.0", - "port-version": 1, + "version-semver": "4.4.1", + "port-version": 3, "description": [ "Microsoft Azure Key Vault Keys SDK for C++", "This library provides Azure Key Vault Keys SDK." diff --git a/ports/azure-security-keyvault-secrets-cpp/portfile.cmake b/ports/azure-security-keyvault-secrets-cpp/portfile.cmake index 4709ea977c32a3..5f17c65e035164 100644 --- a/ports/azure-security-keyvault-secrets-cpp/portfile.cmake +++ b/ports/azure-security-keyvault-secrets-cpp/portfile.cmake @@ -1,8 +1,15 @@ +# NOTE: All changes made to this file will get overwritten by the next port release. +# Please contribute your changes to https://github.com/Azure/azure-sdk-for-cpp. + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Azure/azure-sdk-for-cpp - REF azure-security-keyvault-secrets_4.2.0 - SHA512 1f464e60f9cb234bb28c3daa5abb0a27fdb9c75327f7eb84b3d5215524457aae9b6c64617a35175341afcaf0da39373190c867fb1d5a1780b9395062a7420aaa + REF "azure-security-keyvault-secrets_${VERSION}" + SHA512 8d944bbcc29b670b884234a789455bb6b33e33fa45c7b02a4200c2267189597cb849f3cbbaa5f7c4db013ec74a2ea0b073237254db7fcac96c290888c05dcba5 + HEAD_REF main + PATCHES + useragent.patch + set_version.patch ) if(EXISTS "${SOURCE_PATH}/sdk/keyvault/azure-security-keyvault-secrets") @@ -19,6 +26,7 @@ vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}/_/_/_" OPTIONS -DWARNINGS_AS_ERRORS=OFF + -DBUILD_TESTING=OFF ) vcpkg_cmake_install() diff --git a/ports/azure-security-keyvault-secrets-cpp/set_version.patch b/ports/azure-security-keyvault-secrets-cpp/set_version.patch new file mode 100644 index 00000000000000..623ee43893edca --- /dev/null +++ b/ports/azure-security-keyvault-secrets-cpp/set_version.patch @@ -0,0 +1,12 @@ +diff --git a/sdk/keyvault/azure-security-keyvault-secrets/CMakeLists.txt b/sdk/keyvault/azure-security-keyvault-secrets/CMakeLists.txt +index e5acb6001..647285994 100644 +--- a/sdk/keyvault/azure-security-keyvault-secrets/CMakeLists.txt ++++ b/sdk/keyvault/azure-security-keyvault-secrets/CMakeLists.txt +@@ -133,6 +133,7 @@ target_compile_definitions(azure-security-keyvault-secrets PRIVATE _azure_BUILDI + create_code_coverage(keyvault azure-security-keyvault-secrets azure-security-keyvault-secrets-test "tests?/*;samples?/*") + + get_az_version("${CMAKE_CURRENT_SOURCE_DIR}/src/private/package_version.hpp") ++set_target_properties(azure-security-keyvault-secrets PROPERTIES VERSION ${AZ_LIBRARY_VERSION}) + generate_documentation(azure-security-keyvault-secrets ${AZ_LIBRARY_VERSION}) + if(BUILD_TESTING) + diff --git a/ports/azure-security-keyvault-secrets-cpp/useragent.patch b/ports/azure-security-keyvault-secrets-cpp/useragent.patch new file mode 100644 index 00000000000000..8f6e46cc76234a --- /dev/null +++ b/ports/azure-security-keyvault-secrets-cpp/useragent.patch @@ -0,0 +1,13 @@ +diff --git a/sdk/keyvault/azure-security-keyvault-secrets/CMakeLists.txt b/sdk/keyvault/azure-security-keyvault-secrets/CMakeLists.txt +index 280208205..e04413950 100644 +--- a/sdk/keyvault/azure-security-keyvault-secrets/CMakeLists.txt ++++ b/sdk/keyvault/azure-security-keyvault-secrets/CMakeLists.txt +@@ -97,6 +97,8 @@ target_include_directories( + + target_link_libraries(azure-security-keyvault-secrets PUBLIC Azure::azure-core) + ++target_compile_definitions(azure-security-keyvault-secrets PRIVATE _azure_BUILDING_SDK) ++ + # coverage. Has no effect if BUILD_CODE_COVERAGE is OFF + create_code_coverage(keyvault azure-security-keyvault-secrets azure-security-keyvault-secrets-test "tests?/*;samples?/*") + diff --git a/ports/azure-security-keyvault-secrets-cpp/vcpkg.json b/ports/azure-security-keyvault-secrets-cpp/vcpkg.json index f912e278088f4a..1bc75c16d822b7 100644 --- a/ports/azure-security-keyvault-secrets-cpp/vcpkg.json +++ b/ports/azure-security-keyvault-secrets-cpp/vcpkg.json @@ -1,7 +1,11 @@ { + "$comment": [ + "NOTE: All changes made to this file will get overwritten by the next port release.", + "Please contribute your changes to https://github.com/Azure/azure-sdk-for-cpp." + ], "name": "azure-security-keyvault-secrets-cpp", - "version-semver": "4.2.0", - "port-version": 1, + "version-semver": "4.2.1", + "port-version": 3, "description": [ "Microsoft Azure Key Vault Secrets SDK for C++", "This library provides Azure Key Vault Secrets SDK." diff --git a/ports/azure-storage-blobs-cpp/portfile.cmake b/ports/azure-storage-blobs-cpp/portfile.cmake index 8b00f84e70671a..5fb4f7c590a2ee 100644 --- a/ports/azure-storage-blobs-cpp/portfile.cmake +++ b/ports/azure-storage-blobs-cpp/portfile.cmake @@ -1,8 +1,14 @@ +# NOTE: All changes made to this file will get overwritten by the next port release. +# Please contribute your changes to https://github.com/Azure/azure-sdk-for-cpp. + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Azure/azure-sdk-for-cpp - REF azure-storage-blobs_12.9.0 - SHA512 10126fa8f34357d941cc7ac031c7811cdbf5fe998d2b6741e9e97325c67df5ed9c490ec42034d9b1ba56716e7de3b7283eb9059554d32b2f4d907e839b64b59f + REF "azure-storage-blobs_${VERSION}" + SHA512 b8d060c0e26e48c590ecacbe0491361a93f41dbd14a1f76564056b288e47e472e5525588122ba7d12653f43110a56ac88dc66c0ea77fff02dc708978a9dfcfa3 + HEAD_REF main + PATCHES + set_version.patch ) if(EXISTS "${SOURCE_PATH}/sdk/storage/azure-storage-blobs") diff --git a/ports/azure-storage-blobs-cpp/set_version.patch b/ports/azure-storage-blobs-cpp/set_version.patch new file mode 100644 index 00000000000000..2269eec1d08b6c --- /dev/null +++ b/ports/azure-storage-blobs-cpp/set_version.patch @@ -0,0 +1,12 @@ +diff --git a/sdk/storage/azure-storage-blobs/CMakeLists.txt b/sdk/storage/azure-storage-blobs/CMakeLists.txt +index f87ceae40..d624433d8 100644 +--- a/sdk/storage/azure-storage-blobs/CMakeLists.txt ++++ b/sdk/storage/azure-storage-blobs/CMakeLists.txt +@@ -96,6 +96,7 @@ target_link_libraries(azure-storage-blobs PUBLIC Azure::azure-storage-common) + target_compile_definitions(azure-storage-blobs PRIVATE _azure_BUILDING_SDK) + + get_az_version("${CMAKE_CURRENT_SOURCE_DIR}/src/private/package_version.hpp") ++set_target_properties(azure-storage-blobs PROPERTIES VERSION ${AZ_LIBRARY_VERSION}) + generate_documentation(azure-storage-blobs ${AZ_LIBRARY_VERSION}) + + az_vcpkg_export( diff --git a/ports/azure-storage-blobs-cpp/vcpkg.json b/ports/azure-storage-blobs-cpp/vcpkg.json index 178263c79d9286..2295214c864dd4 100644 --- a/ports/azure-storage-blobs-cpp/vcpkg.json +++ b/ports/azure-storage-blobs-cpp/vcpkg.json @@ -1,6 +1,10 @@ { + "$comment": [ + "NOTE: All changes made to this file will get overwritten by the next port release.", + "Please contribute your changes to https://github.com/Azure/azure-sdk-for-cpp." + ], "name": "azure-storage-blobs-cpp", - "version-semver": "12.9.0", + "version-semver": "12.13.0", "port-version": 1, "description": [ "Microsoft Azure Storage Blobs SDK for C++", @@ -12,7 +16,7 @@ { "name": "azure-storage-common-cpp", "default-features": false, - "version>=": "12.4.0" + "version>=": "12.8.0" }, { "name": "vcpkg-cmake", diff --git a/ports/azure-storage-common-cpp/portfile.cmake b/ports/azure-storage-common-cpp/portfile.cmake index bc1ef6918562fe..26adb9d3b604cf 100644 --- a/ports/azure-storage-common-cpp/portfile.cmake +++ b/ports/azure-storage-common-cpp/portfile.cmake @@ -1,8 +1,12 @@ +# NOTE: All changes made to this file will get overwritten by the next port release. +# Please contribute your changes to https://github.com/Azure/azure-sdk-for-cpp. + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Azure/azure-sdk-for-cpp - REF azure-storage-common_12.4.0 - SHA512 999bbd93b645849720d2fd4401b8f9e9f12ce31ea1362786cd1aa0392efd0a05de717d87b2db43a190c2a40f42477daddebcc00812efc4de3ccc08e7563001dd + REF "azure-storage-common_${VERSION}" + SHA512 fad728edbbd062f00640027c5ce87fc2048674aff7269807160abcabfd0b36c1716f0bbf27e9724c0207585fc81600ce3886c0417b9ac2177bba54a111d8e081 + HEAD_REF main ) if(EXISTS "${SOURCE_PATH}/sdk/storage/azure-storage-common") diff --git a/ports/azure-storage-common-cpp/vcpkg.json b/ports/azure-storage-common-cpp/vcpkg.json index 3040c4efb2a1bf..c69d2702072d81 100644 --- a/ports/azure-storage-common-cpp/vcpkg.json +++ b/ports/azure-storage-common-cpp/vcpkg.json @@ -1,7 +1,10 @@ { + "$comment": [ + "NOTE: All changes made to this file will get overwritten by the next port release.", + "Please contribute your changes to https://github.com/Azure/azure-sdk-for-cpp." + ], "name": "azure-storage-common-cpp", - "version-semver": "12.4.0", - "port-version": 1, + "version-semver": "12.9.0", "description": [ "Microsoft Azure Common Storage SDK for C++", "This library provides common Azure Storage-related abstractions for Azure SDK." @@ -12,10 +15,11 @@ { "name": "azure-core-cpp", "default-features": false, - "version>=": "1.9.0" + "version>=": "1.14.1" }, { "name": "libxml2", + "default-features": false, "platform": "!windows" }, { diff --git a/ports/azure-storage-files-datalake-cpp/portfile.cmake b/ports/azure-storage-files-datalake-cpp/portfile.cmake index adaf077d7310e0..1fcccbf3611f98 100644 --- a/ports/azure-storage-files-datalake-cpp/portfile.cmake +++ b/ports/azure-storage-files-datalake-cpp/portfile.cmake @@ -1,8 +1,14 @@ +# NOTE: All changes made to this file will get overwritten by the next port release. +# Please contribute your changes to https://github.com/Azure/azure-sdk-for-cpp. + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Azure/azure-sdk-for-cpp - REF azure-storage-files-datalake_12.8.0 - SHA512 4539b8ba806abdf71cdf82e2bdcffe1adae1d19e6ea62f72cea6ac7e0beef32895d13cff53df4afe06b53ed5740c19bba858c09f75b74cd446d5c125e36ca2b3 + REF "azure-storage-files-datalake_${VERSION}" + SHA512 fa91118b8f17c6c2800610833f0a6fbb6543a1470d8cdffd1d654516252df62f54496d9dd9756ab5ee0772230dbf58873819fc07a642fdc24af32d255f525de5 + HEAD_REF main + PATCHES + set_version.patch ) if(EXISTS "${SOURCE_PATH}/sdk/storage/azure-storage-files-datalake") diff --git a/ports/azure-storage-files-datalake-cpp/set_version.patch b/ports/azure-storage-files-datalake-cpp/set_version.patch new file mode 100644 index 00000000000000..edc82e88fae3b1 --- /dev/null +++ b/ports/azure-storage-files-datalake-cpp/set_version.patch @@ -0,0 +1,12 @@ +diff --git a/sdk/storage/azure-storage-files-datalake/CMakeLists.txt b/sdk/storage/azure-storage-files-datalake/CMakeLists.txt +index 71905c86d..d02850bf1 100644 +--- a/sdk/storage/azure-storage-files-datalake/CMakeLists.txt ++++ b/sdk/storage/azure-storage-files-datalake/CMakeLists.txt +@@ -92,6 +92,7 @@ target_include_directories( + target_link_libraries(azure-storage-files-datalake PUBLIC Azure::azure-storage-blobs) + + get_az_version("${CMAKE_CURRENT_SOURCE_DIR}/src/private/package_version.hpp") ++set_target_properties(azure-storage-files-datalake PROPERTIES VERSION ${AZ_LIBRARY_VERSION}) + generate_documentation(azure-storage-files-datalake ${AZ_LIBRARY_VERSION}) + + az_vcpkg_export( diff --git a/ports/azure-storage-files-datalake-cpp/vcpkg.json b/ports/azure-storage-files-datalake-cpp/vcpkg.json index d9e2670e66d621..b49b8cea7d8a5d 100644 --- a/ports/azure-storage-files-datalake-cpp/vcpkg.json +++ b/ports/azure-storage-files-datalake-cpp/vcpkg.json @@ -1,6 +1,10 @@ { + "$comment": [ + "NOTE: All changes made to this file will get overwritten by the next port release.", + "Please contribute your changes to https://github.com/Azure/azure-sdk-for-cpp." + ], "name": "azure-storage-files-datalake-cpp", - "version-semver": "12.8.0", + "version-semver": "12.12.0", "port-version": 1, "description": [ "Microsoft Azure Storage Files Data Lake SDK for C++", @@ -12,7 +16,7 @@ { "name": "azure-storage-blobs-cpp", "default-features": false, - "version>=": "12.9.0" + "version>=": "12.13.0" }, { "name": "vcpkg-cmake", diff --git a/ports/azure-storage-files-shares-cpp/portfile.cmake b/ports/azure-storage-files-shares-cpp/portfile.cmake index 77265ee56ff2de..9bea8dd3d82650 100644 --- a/ports/azure-storage-files-shares-cpp/portfile.cmake +++ b/ports/azure-storage-files-shares-cpp/portfile.cmake @@ -1,8 +1,12 @@ +# NOTE: All changes made to this file will get overwritten by the next port release. +# Please contribute your changes to https://github.com/Azure/azure-sdk-for-cpp. + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Azure/azure-sdk-for-cpp - REF azure-storage-files-shares_12.7.0 - SHA512 2482a7c437bd36e63efc8c77d917a09d73bde2bc12d49afd1e24cf0977656e991c59c15d34b52c1bd19c6988fe7c40c95b5edea8740977ffc676f3dd6758dc5e + REF "azure-storage-files-shares_${VERSION}" + SHA512 296e0798c9a831ba16bcfd9b29d2bc8613a2b7d6a117bfccb46f49f4d5d91caf8e1fbb82465dca5daae3305656cf44bee2f78ad0341a8e13b36940938317b45c + HEAD_REF main ) if(EXISTS "${SOURCE_PATH}/sdk/storage/azure-storage-files-shares") diff --git a/ports/azure-storage-files-shares-cpp/vcpkg.json b/ports/azure-storage-files-shares-cpp/vcpkg.json index dca31f29e90dc5..1dfc698487fbdf 100644 --- a/ports/azure-storage-files-shares-cpp/vcpkg.json +++ b/ports/azure-storage-files-shares-cpp/vcpkg.json @@ -1,7 +1,10 @@ { + "$comment": [ + "NOTE: All changes made to this file will get overwritten by the next port release.", + "Please contribute your changes to https://github.com/Azure/azure-sdk-for-cpp." + ], "name": "azure-storage-files-shares-cpp", - "version-semver": "12.7.0", - "port-version": 1, + "version-semver": "12.12.0", "description": [ "Microsoft Azure Storage Files Shares SDK for C++", "This library provides Azure Storage Files Shares SDK." @@ -12,7 +15,7 @@ { "name": "azure-storage-common-cpp", "default-features": false, - "version>=": "12.4.0" + "version>=": "12.9.0" }, { "name": "vcpkg-cmake", diff --git a/ports/azure-storage-queues-cpp/portfile.cmake b/ports/azure-storage-queues-cpp/portfile.cmake index f52d77dca6c676..81c9a8bf3e6662 100644 --- a/ports/azure-storage-queues-cpp/portfile.cmake +++ b/ports/azure-storage-queues-cpp/portfile.cmake @@ -1,8 +1,14 @@ +# NOTE: All changes made to this file will get overwritten by the next port release. +# Please contribute your changes to https://github.com/Azure/azure-sdk-for-cpp. + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Azure/azure-sdk-for-cpp - REF azure-storage-queues_12.1.0 - SHA512 98f1b44f408418e43aedf57392c79a625348bbbe516a84d1682486d77655851546e191ea409397cc5c0d822d77bfe9ee2628e9a581334abe86d478418ac0ba9d + REF "azure-storage-queues_${VERSION}" + SHA512 919353a8cf8c98906bfbe6795245c81ece5a82914f01c8d7083fd6e44f13877f42aefee3ed16c2078befa89e520339b8430e8dc115064bdffdd366b8c83684da + HEAD_REF main + PATCHES + set_version.patch ) if(EXISTS "${SOURCE_PATH}/sdk/storage/azure-storage-queues") diff --git a/ports/azure-storage-queues-cpp/set_version.patch b/ports/azure-storage-queues-cpp/set_version.patch new file mode 100644 index 00000000000000..eb0450c632f542 --- /dev/null +++ b/ports/azure-storage-queues-cpp/set_version.patch @@ -0,0 +1,12 @@ +diff --git a/sdk/storage/azure-storage-queues/CMakeLists.txt b/sdk/storage/azure-storage-queues/CMakeLists.txt +index e567623d5..9ffc621ad 100644 +--- a/sdk/storage/azure-storage-queues/CMakeLists.txt ++++ b/sdk/storage/azure-storage-queues/CMakeLists.txt +@@ -81,6 +81,7 @@ target_include_directories( + target_link_libraries(azure-storage-queues PUBLIC Azure::azure-storage-common) + + get_az_version("${CMAKE_CURRENT_SOURCE_DIR}/src/private/package_version.hpp") ++set_target_properties(azure-storage-queues PROPERTIES VERSION ${AZ_LIBRARY_VERSION}) + generate_documentation(azure-storage-queues ${AZ_LIBRARY_VERSION}) + + az_vcpkg_export( diff --git a/ports/azure-storage-queues-cpp/vcpkg.json b/ports/azure-storage-queues-cpp/vcpkg.json index 003196aa8b9977..f1f2be238d2c8b 100644 --- a/ports/azure-storage-queues-cpp/vcpkg.json +++ b/ports/azure-storage-queues-cpp/vcpkg.json @@ -1,6 +1,10 @@ { + "$comment": [ + "NOTE: All changes made to this file will get overwritten by the next port release.", + "Please contribute your changes to https://github.com/Azure/azure-sdk-for-cpp." + ], "name": "azure-storage-queues-cpp", - "version-semver": "12.1.0", + "version-semver": "12.4.0", "port-version": 1, "description": [ "Microsoft Azure Storage Queues SDK for C++", @@ -12,7 +16,7 @@ { "name": "azure-storage-common-cpp", "default-features": false, - "version>=": "12.4.0" + "version>=": "12.8.0" }, { "name": "vcpkg-cmake", diff --git a/ports/azure-uamqp-c/portfile.cmake b/ports/azure-uamqp-c/portfile.cmake index a05e0abb67c68c..935de65c5547eb 100644 --- a/ports/azure-uamqp-c/portfile.cmake +++ b/ports/azure-uamqp-c/portfile.cmake @@ -3,8 +3,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Azure/azure-uamqp-c - REF efd1b1b8b1e85d471ebd3aa1be062fb1cc6a10a1 - SHA512 1303183cf1830be0cd52ccb67eebe2055343979d788f8c7eddde30343cc2c334035a1f4767bf404b1432277f7a4846317e14fb0da3a05114e8befb91562fa8f3 + REF 96d7179f60e558b2c350194ea0061c725377f7e0 + SHA512 29788744f46c72d042bda6622661bd045db493dcc4b29fbd4649bfa49673e86d3c5b6f9c9ce056e42283624ce9e13f6abf60eba3e41176b00acddcd9cd026727 HEAD_REF master ) diff --git a/ports/azure-uamqp-c/vcpkg.json b/ports/azure-uamqp-c/vcpkg.json index f9b9e4ecc6187c..b677ff85b71567 100644 --- a/ports/azure-uamqp-c/vcpkg.json +++ b/ports/azure-uamqp-c/vcpkg.json @@ -1,6 +1,6 @@ { "name": "azure-uamqp-c", - "version-date": "2023-08-07", + "version-date": "2024-08-12", "description": "AMQP library for C", "homepage": "https://github.com/Azure/azure-uamqp-c", "license": "MIT", diff --git a/ports/azure-uhttp-c/portfile.cmake b/ports/azure-uhttp-c/portfile.cmake index d20732cc62e19f..53729ca6956edd 100644 --- a/ports/azure-uhttp-c/portfile.cmake +++ b/ports/azure-uhttp-c/portfile.cmake @@ -3,8 +3,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Azure/azure-uhttp-c - REF ff321c8158b53b18557b0224dfd32a4bf0ebb77a - SHA512 47c03d550561580155c56e4a35734c453d6df64feac7aa39ec777cfa420aa142e596e32c19c9847654f5f02c75335314ad20d1b64c4a60a8189641c305938b19 + REF 65449ac08044475f9a14d3667ae04064a8767d76 + SHA512 ff55f3b81fbee4136af3172960c806811d7d9a49fd021c0e9dcf88fdc512b96a376711bbd6176880f9493d497b6a2f6782ad6ca6fb72687517e146eef780c86f HEAD_REF master ) diff --git a/ports/azure-uhttp-c/vcpkg.json b/ports/azure-uhttp-c/vcpkg.json index faac6faa922369..4618ebd436a037 100644 --- a/ports/azure-uhttp-c/vcpkg.json +++ b/ports/azure-uhttp-c/vcpkg.json @@ -1,6 +1,6 @@ { "name": "azure-uhttp-c", - "version-date": "2023-08-07", + "version-date": "2024-06-24", "description": "Azure HTTP Library written in C", "homepage": "https://github.com/Azure/azure-uhttp-c", "license": "MIT", diff --git a/ports/azure-umqtt-c/portfile.cmake b/ports/azure-umqtt-c/portfile.cmake index 4f55379ac5ae96..0f28641c255dc0 100644 --- a/ports/azure-umqtt-c/portfile.cmake +++ b/ports/azure-umqtt-c/portfile.cmake @@ -3,8 +3,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Azure/azure-umqtt-c - REF 457e5af5e08ce72cee4c3c32d13ef274ab23c0d3 - SHA512 f95c3f8a207d34cdb5fe686f86421e4c8a584f3d506c82055e320133f8a346e67ffcdaa872d70d3ac7be67ae9f24d14dac852a95e0c1f98b7d2012805083f587 + REF f1cc7804df4213a8f4b87575b1272b2f16a27438 + SHA512 769160ae088b1fca3af6ac92cdfff860a42c001746c1c6e603764230c67e9f0e8e7a2e6f44da8e818094067283d562e242a90db8c31d1faa2e50fe78fa35de71 HEAD_REF master ) diff --git a/ports/azure-umqtt-c/vcpkg.json b/ports/azure-umqtt-c/vcpkg.json index 446d03f7a9f973..ba3b79501cfd10 100644 --- a/ports/azure-umqtt-c/vcpkg.json +++ b/ports/azure-umqtt-c/vcpkg.json @@ -1,6 +1,6 @@ { "name": "azure-umqtt-c", - "version-date": "2023-08-03", + "version-date": "2024-06-24", "description": "General purpose library for communication over the mqtt protocol", "homepage": "https://github.com/Azure/azure-umqtt-c", "license": "MIT", diff --git a/ports/backward-cpp/include-dir.diff b/ports/backward-cpp/include-dir.diff deleted file mode 100644 index 9a502744b2b0d4..00000000000000 --- a/ports/backward-cpp/include-dir.diff +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/BackwardConfig.cmake b/BackwardConfig.cmake -index a982adc..0c549f3 100644 ---- a/BackwardConfig.cmake -+++ b/BackwardConfig.cmake -@@ -198,6 +198,11 @@ if(WIN32) - endif() - - set(BACKWARD_INCLUDE_DIR "${CMAKE_CURRENT_LIST_DIR}") -+if(NOT PROJECT_NAME STREQUAL "backward") -+ get_filename_component(BACKWARD_INCLUDE_DIR "${BACKWARD_INCLUDE_DIR}" DIRECTORY) -+ get_filename_component(BACKWARD_INCLUDE_DIR "${BACKWARD_INCLUDE_DIR}" DIRECTORY) -+ set(BACKWARD_INCLUDE_DIR "${BACKWARD_INCLUDE_DIR}/include") -+endif() - - set(BACKWARD_HAS_EXTERNAL_LIBRARIES FALSE) - set(FIND_PACKAGE_REQUIRED_VARS BACKWARD_INCLUDE_DIR) diff --git a/ports/backward-cpp/portfile.cmake b/ports/backward-cpp/portfile.cmake index 65725bea26397e..feaad6324f6fed 100644 --- a/ports/backward-cpp/portfile.cmake +++ b/ports/backward-cpp/portfile.cmake @@ -1,21 +1,20 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO bombela/backward-cpp - REF "v${VERSION}" - SHA512 db0256a54819952ff1d92e05d6ab81fe979d4826ebb6651b6b08c30e7a0091879dfeff33d81f9599462152ce68e61e2c8c42bf039129bc6b28d1e68b1eab039b + REF 51f0700452cf71c57d43c2d028277b24cde32502 # 2023-11-24 + SHA512 8831be0a1c0a2f2d2625c5e2065202445520e0f7591cdbf998c60f2c892880d1527f304f9361b057c831f84621be636e12fea018297c9a17d858ecc6c36c9ffb HEAD_REF master - PATCHES - include-dir.diff ) -set(VCPKG_BUILD_TYPE release) # header-only - vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBACKWARD_TESTS=OFF ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(PACKAGE_NAME backward CONFIG_PATH lib/backward) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/backward) -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/backward-cpp/usage b/ports/backward-cpp/usage new file mode 100644 index 00000000000000..a4bc592a7156db --- /dev/null +++ b/ports/backward-cpp/usage @@ -0,0 +1,7 @@ +backward-cpp provides CMake targets: + + find_package(Backward CONFIG REQUIRED) + # To use the header library + target_link_libraries(main PRIVATE Backward::Interface) + # To use the prebuilt library + target_link_libraries(main PRIVATE Backward::Backward) diff --git a/ports/backward-cpp/vcpkg.json b/ports/backward-cpp/vcpkg.json index f1b7db835c83b6..a2560755659907 100644 --- a/ports/backward-cpp/vcpkg.json +++ b/ports/backward-cpp/vcpkg.json @@ -1,6 +1,6 @@ { "name": "backward-cpp", - "version": "1.6", + "version-date": "2023-11-24", "port-version": 1, "description": "A beautiful stack trace pretty printer for C++", "homepage": "https://github.com/bombela/backward-cpp", diff --git a/ports/baresip-libre/fix-static-library-build.patch b/ports/baresip-libre/fix-static-library-build.patch deleted file mode 100644 index 9a5ec2088491df..00000000000000 --- a/ports/baresip-libre/fix-static-library-build.patch +++ /dev/null @@ -1,136 +0,0 @@ -diff -Naur --exclude='*.rej' re-3.4.0-orig/CMakeLists.txt re-3.4.0/CMakeLists.txt ---- re-3.4.0-orig/CMakeLists.txt 2023-08-09 09:53:10.000000000 +0200 -+++ re-3.4.0/CMakeLists.txt 2023-10-04 08:48:23.000000000 +0200 -@@ -93,7 +93,7 @@ - endif() - - set(re_DIR ${CMAKE_CURRENT_LIST_DIR}/cmake) --find_package(re CONFIG REQUIRED) -+include("${CMAKE_CURRENT_LIST_DIR}/cmake/re-config.cmake") - - list(APPEND RE_DEFINITIONS - -DRE_VERSION="${PROJECT_VERSION_FULL}" -@@ -694,7 +694,7 @@ - if(LIBRE_BUILD_STATIC) - list(APPEND RE_INSTALL_TARGETS re) - add_library(re STATIC $) -- target_link_libraries(re PUBLIC ${LINKLIBS}) -+ target_link_libraries(re PRIVATE ${LINKLIBS}) - target_include_directories(re PUBLIC - $ - ) -@@ -702,6 +702,9 @@ - - if(MSVC) - set_target_properties(re PROPERTIES OUTPUT_NAME "re-static") -+ if(NOT LIBRE_BUILD_SHARED) -+ set(PC_LIBNAME "re-static") -+ endif() - endif() - endif() - -@@ -714,6 +717,28 @@ - add_subdirectory(packaging) - endif() - -+if(NOT PC_LIBNAME) -+ set(PC_LIBNAME "re") -+endif() -+set(PC_REQUIRES "") -+set(PC_LINKLIBS "") -+foreach(item IN LISTS LINKLIBS) -+ if(item STREQUAL "Threads::Threads") -+ list(APPEND PC_LINKLIBS ${CMAKE_THREADS_LIBS_INIT}) -+ elseif(item STREQUAL "OpenSSL::Crypto") -+ list(APPEND PC_REQUIRES "libcrypto") -+ elseif(item STREQUAL "OpenSSL::SSL") -+ list(APPEND PC_REQUIRES "libssl") -+ elseif(item STREQUAL "ZLIB::ZLIB") -+ list(APPEND PC_REQUIRES "zlib") -+ elseif(item MATCHES "^-|/") -+ list(APPEND PC_LINKLIBS "${item}") -+ else() -+ list(APPEND PC_LINKLIBS "-l${item}") -+ endif() -+endforeach() -+list(JOIN PC_LINKLIBS " " PC_LINKLIBS) -+list(JOIN PC_REQUIRES " " PC_REQUIRES) - configure_file(packaging/libre.pc.in libre.pc @ONLY) - - -@@ -725,6 +750,9 @@ - - install(TARGETS ${RE_INSTALL_TARGETS} - EXPORT libre -+ RUNTIME -+ DESTINATION ${CMAKE_INSTALL_BINDIR} -+ COMPONENT Libraries - LIBRARY - DESTINATION ${CMAKE_INSTALL_LIBDIR} - COMPONENT Libraries -@@ -743,7 +771,9 @@ - - install(EXPORT libre - DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libre -+ FILE libre-targets.cmake - NAMESPACE libre:: -+ COMPONENT Development - ) - - if(LIBRE_BUILD_SHARED) -@@ -755,12 +785,8 @@ - ) - endif() - --install(FILES cmake/re-config.cmake -- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/re -- COMPONENT Development --) -- --install(FILES cmake/libre-config.cmake -+configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake/libre-config.cmake" "${CMAKE_CURRENT_BINARY_DIR}/cmake/libre-config.cmake" @ONLY) -+install(FILES "${CMAKE_CURRENT_BINARY_DIR}/cmake/libre-config.cmake" - DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libre - COMPONENT Development - ) -diff -Naur --exclude='*.rej' re-3.4.0-orig/cmake/libre-config.cmake re-3.4.0/cmake/libre-config.cmake ---- re-3.4.0-orig/cmake/libre-config.cmake 2023-08-09 09:53:10.000000000 +0200 -+++ re-3.4.0/cmake/libre-config.cmake 2023-10-03 10:01:11.000000000 +0200 -@@ -1 +1,23 @@ --include("${CMAKE_CURRENT_LIST_DIR}/libre.cmake") -+if("@LIBRE_BUILD_STATIC@") -+ include(CMakeFindDependencyMacro) -+ find_dependency(Threads) -+ if("@USE_OPENSSL@") -+ find_dependency(OpenSSL) -+ endif() -+ if("@ZLIB_FOUND@") -+ find_dependency(ZLIB) -+ endif() -+endif() -+ -+include("${CMAKE_CURRENT_LIST_DIR}/libre-targets.cmake") -+ -+# convenience target libre::libre for uniform usage -+if(NOT TARGET libre::libre) -+ if(TARGET libre::re_shared AND (BUILD_SHARED_LIBS OR NOT TARGET libre::re)) -+ add_library(libre::libre INTERFACE IMPORTED) -+ set_target_properties(libre::libre PROPERTIES INTERFACE_LINK_LIBRARIES libre::re_shared) -+ elseif(TARGET libre::re AND (NOT BUILD_SHARED_LIBS OR NOT TARGET libre::re_shared)) -+ add_library(libre::libre INTERFACE IMPORTED) -+ set_target_properties(libre::libre PROPERTIES INTERFACE_LINK_LIBRARIES libre::re) -+ endif() -+endif() -diff -Naur --exclude='*.rej' re-3.4.0-orig/packaging/libre.pc.in re-3.4.0/packaging/libre.pc.in ---- re-3.4.0-orig/packaging/libre.pc.in 2023-08-09 09:53:10.000000000 +0200 -+++ re-3.4.0/packaging/libre.pc.in 2023-10-03 10:01:11.000000000 +0200 -@@ -7,6 +7,7 @@ - Description: @CMAKE_PROJECT_DESCRIPTION@ - Version: @PROJECT_VERSION@ - URL: @CMAKE_PROJECT_HOMEPAGE_URL@ --Libs: -L${libdir} -lre --Libs.private: -L${libdir} -lre -ldl -lssl -lcrypto -lz -lpthread -+Libs: -L${libdir} -l@PC_LIBNAME@ -+Libs.private: @PC_LINKLIBS@ -+Requires.private: @PC_REQUIRES@ - Cflags: -I${includedir} diff --git a/ports/baresip-libre/portfile.cmake b/ports/baresip-libre/portfile.cmake index dd7e59ba327336..e34d20a7c98cd5 100644 --- a/ports/baresip-libre/portfile.cmake +++ b/ports/baresip-libre/portfile.cmake @@ -6,11 +6,9 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO baresip/re REF "v${VERSION}" - SHA512 97ea35e4d4f36a9b3e47bb942497d495247e01106bcceef98fba4ab8e36061acaca88d12568990f9c8014b1061941ea5e2c6e8c0287e6dcd83a60a70400b083d + SHA512 db9c67a60803a224a87aa4104d5a0a349d09946b5bf7c8b18fd121ed7517d25a5412b0516dfc6a386218db9d5020b65ac1253966052a4978075e6bfcb71dc908 HEAD_REF main PATCHES - fix-static-library-build.patch - use-c11.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" LIBRE_BUILD_SHARED) diff --git a/ports/baresip-libre/use-c11.patch b/ports/baresip-libre/use-c11.patch deleted file mode 100644 index ec03b519c4ce4a..00000000000000 --- a/ports/baresip-libre/use-c11.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b364219..fd662d4 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -32,6 +32,10 @@ else() - set(PROJECT_VERSION_FULL ${PROJECT_VERSION}) - endif() - -+if(WIN32 AND NOT MINGW) -+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std:c11" ) -+endif() -+ - list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/cmake) - - ############################################################################## diff --git a/ports/baresip-libre/vcpkg.json b/ports/baresip-libre/vcpkg.json index 2b18d71d635312..25cb168d716dfb 100644 --- a/ports/baresip-libre/vcpkg.json +++ b/ports/baresip-libre/vcpkg.json @@ -1,6 +1,6 @@ { "name": "baresip-libre", - "version": "3.4.0", + "version": "3.18.0", "description": "Generic library for real-time communications with async IO support", "homepage": "https://github.com/baresip/re", "license": "BSD-3-Clause", diff --git a/ports/bark/portfile.cmake b/ports/bark/portfile.cmake new file mode 100644 index 00000000000000..0ff8b6586bbd4d --- /dev/null +++ b/ports/bark/portfile.cmake @@ -0,0 +1,29 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO twig-energy/bark + REF "${VERSION}" + HEAD_REF main + SHA512 96fca5df5a3a0bc91d8b626f1538c517df778dc2a0cf29f1061ef041a270bb2f798525ad4c6a64fbaf7c5e0617475a0abf581eb3f15003e769adc317f1c9e746 +) + +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DCMAKE_CXX_STANDARD=20 + -DCMAKE_CXX_STANDARD_REQUIRED=ON + -DCMAKE_CXX_EXTENSIONS=OFF) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/bark) +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +file(INSTALL "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/bark/usage b/ports/bark/usage new file mode 100644 index 00000000000000..8df6f3adaf4854 --- /dev/null +++ b/ports/bark/usage @@ -0,0 +1,4 @@ +bark provides CMake targets: + + find_package(bark CONFIG REQUIRED) + target_link_libraries(main PRIVATE twig::bark) diff --git a/ports/bark/vcpkg.json b/ports/bark/vcpkg.json new file mode 100644 index 00000000000000..2f9913db73e5f0 --- /dev/null +++ b/ports/bark/vcpkg.json @@ -0,0 +1,31 @@ +{ + "name": "bark", + "version-semver": "0.3.0", + "description": "A modern, low latency datadog client for C++", + "homepage": "https://github.com/twig-energy/bark", + "license": "MIT", + "supports": "!(uwp | osx)", + "dependencies": [ + "asio", + "fmt", + "mpmcqueue", + "spscqueue", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "test": { + "description": "Dependencies for testing", + "dependencies": [ + "benchmark", + "doctest" + ] + } + } +} diff --git a/ports/basisu/0001-cmake.patch b/ports/basisu/0001-cmake.patch new file mode 100644 index 00000000000000..f927c2bfc9d8f4 --- /dev/null +++ b/ports/basisu/0001-cmake.patch @@ -0,0 +1,204 @@ +Remove once https://github.com/BinomialLLC/basis_universal/pull/383 merged + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8345623d..f4ed6708 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -5,6 +5,7 @@ cmake_minimum_required(VERSION 3.5) + project(basisu) + option(STATIC "static linking" FALSE) + option(SAN "sanitize" FALSE) ++option(EXAMPLES "Build examples" TRUE) + + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin) + +@@ -174,15 +175,21 @@ add_executable(basisu basisu_tool.cpp) + target_link_libraries(basisu PRIVATE basisu_encoder) + + # Create the new example executable and link against the static library +-add_executable(examples example/example.cpp) +-target_link_libraries(examples PRIVATE basisu_encoder) ++if(EXAMPLES) ++ add_executable(examples example/example.cpp) ++ target_link_libraries(examples PRIVATE basisu_encoder) ++endif() + + if (ZSTD) + target_compile_definitions(basisu PRIVATE BASISD_SUPPORT_KTX2_ZSTD=1) +- target_compile_definitions(examples PRIVATE BASISD_SUPPORT_KTX2_ZSTD=1) ++ if(EXAMPLES) ++ target_compile_definitions(examples PRIVATE BASISD_SUPPORT_KTX2_ZSTD=1) ++ endif() + else() + target_compile_definitions(basisu PRIVATE BASISD_SUPPORT_KTX2_ZSTD=0) +- target_compile_definitions(examples PRIVATE BASISD_SUPPORT_KTX2_ZSTD=0) ++ if(EXAMPLES) ++ target_compile_definitions(examples PRIVATE BASISD_SUPPORT_KTX2_ZSTD=0) ++ endif() + endif() + + if (NOT MSVC) +@@ -192,7 +199,9 @@ if (NOT MSVC) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DBASISU_SUPPORT_OPENCL=1") + + target_include_directories(basisu PRIVATE ${OpenCL_INCLUDE_DIRS}) +- target_include_directories(examples PRIVATE ${OpenCL_INCLUDE_DIRS}) ++ if(EXAMPLES) ++ target_include_directories(examples PRIVATE ${OpenCL_INCLUDE_DIRS}) ++ endif() + target_include_directories(basisu_encoder PRIVATE ${OpenCL_INCLUDE_DIRS}) + set(BASISU_EXTRA_LIBS ${OpenCL_LIBRARIES}) + endif() +@@ -203,22 +212,30 @@ else() + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DBASISU_SUPPORT_OPENCL=1") + + target_include_directories(basisu PRIVATE "OpenCL") +- target_include_directories(examples PRIVATE "OpenCL") ++ if(EXAMPLES) ++ target_include_directories(examples PRIVATE "OpenCL") ++ endif() + target_include_directories(basisu_encoder PRIVATE "OpenCL") + + if (BUILD_X64) + target_link_libraries(basisu PRIVATE "${CMAKE_SOURCE_DIR}/OpenCL/lib/OpenCL64.lib") +- target_link_libraries(examples PRIVATE "${CMAKE_SOURCE_DIR}/OpenCL/lib/OpenCL64.lib") ++ if(EXAMPLES) ++ target_link_libraries(examples PRIVATE "${CMAKE_SOURCE_DIR}/OpenCL/lib/OpenCL64.lib") ++ endif() + else() + target_link_libraries(basisu PRIVATE "${CMAKE_SOURCE_DIR}/OpenCL/lib/OpenCL.lib") +- target_link_libraries(examples PRIVATE "${CMAKE_SOURCE_DIR}/OpenCL/lib/OpenCL.lib") ++ if(EXAMPLES) ++ target_link_libraries(examples PRIVATE "${CMAKE_SOURCE_DIR}/OpenCL/lib/OpenCL.lib") ++ endif() + endif() + endif() + endif() + + if (NOT MSVC) + target_link_libraries(basisu PRIVATE m pthread ${BASISU_EXTRA_LIBS}) +- target_link_libraries(examples PRIVATE m pthread ${BASISU_EXTRA_LIBS}) ++ if(EXAMPLES) ++ target_link_libraries(examples PRIVATE m pthread ${BASISU_EXTRA_LIBS}) ++ endif() + endif() + + if (NOT EMSCRIPTEN) +@@ -242,13 +259,15 @@ if (MSVC) + RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} + RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} + RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} +- ) +- +- set_target_properties(examples PROPERTIES +- RUNTIME_OUTPUT_NAME "examples" +- RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} +- RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} +- RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} +- RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} +- ) ++ ) ++ ++ if(EXAMPLES) ++ set_target_properties(examples PROPERTIES ++ RUNTIME_OUTPUT_NAME "examples" ++ RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} ++ RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} ++ RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} ++ RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} ++ ) ++ endif() + endif() + + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f4ed6708..e4e7c7e6 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -240,15 +240,16 @@ endif() + + if (NOT EMSCRIPTEN) + if (UNIX) +- if (CMAKE_BUILD_TYPE STREQUAL Release) +- if (APPLE) +- add_custom_command(TARGET basisu POST_BUILD COMMAND strip -X -x ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/basisu) +- #message("strip command: strip -X -x ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/basisu") +- else() +- add_custom_command(TARGET basisu POST_BUILD COMMAND strip -g -X -x ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/basisu) +- #message("strip command: strip -g -X -x ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/basisu") +- endif() ++ set(STRIP_ARGS -X -x) ++ if (NOT APPLE) ++ list(APPEND STRIP_ARGS -g) + endif() ++ add_custom_command( ++ TARGET basisu POST_BUILD ++ DEPENDS basisu ++ COMMAND $<$:${CMAKE_STRIP}> ++ ARGS ${STRIP_ARGS} $ ++ ) + endif() + endif() + + + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e4e7c7e6..46818dc4 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -169,6 +169,10 @@ endif() + + # Create the static library + add_library(basisu_encoder STATIC ${ENCODER_LIB_SRC_LIST}) ++target_include_directories(basisu_encoder PUBLIC ++ $ ++ $ ++ $) + + # Create the basisu executable and link against the static library + add_executable(basisu basisu_tool.cpp) +@@ -272,3 +276,31 @@ if (MSVC) + ) + endif() + endif() ++ ++# Target Installation ++install(TARGETS basisu_encoder basisu EXPORT basisu-targets) ++install(DIRECTORY "./transcoder" DESTINATION "include/basisu/" ++ FILES_MATCHING PATTERN "*.h" PATTERN "*.inc" ++) ++install(DIRECTORY "./encoder" DESTINATION "include/basisu/" ++ FILES_MATCHING PATTERN "*.h" ++) ++ ++# CMake Export ++include(CMakePackageConfigHelpers) ++include(GNUInstallDirs) ++configure_package_config_file( ++ ${PROJECT_SOURCE_DIR}/basisu-config.cmake.in ++ ${PROJECT_BINARY_DIR}/basisu-config.cmake ++ INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/basisu) ++export( ++ TARGETS basisu_encoder basisu ++ NAMESPACE basisu:: ++ FILE ${PROJECT_BINARY_DIR}/basisu-targets.cmake) ++install( ++ FILES ${PROJECT_BINARY_DIR}/basisu-config.cmake ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/basisu) ++install( ++ EXPORT basisu-targets ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/basisu ++ NAMESPACE basisu::) +diff --git a/basisu-config.cmake.in b/basisu-config.cmake.in +new file mode 100644 +index 00000000..6ac330ed +--- /dev/null ++++ b/basisu-config.cmake.in +@@ -0,0 +1,7 @@ ++@PACKAGE_INIT@ ++ ++if (NOT TARGET basisu::basisu_encoder) ++ include(${CMAKE_CURRENT_LIST_DIR}/basisu-targets.cmake) ++endif () ++ ++check_required_components(basisu) diff --git a/ports/basisu/portfile.cmake b/ports/basisu/portfile.cmake index b1ffe4326d7860..0ac8010afc9ac8 100644 --- a/ports/basisu/portfile.cmake +++ b/ports/basisu/portfile.cmake @@ -1,24 +1,28 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO BinomialLLC/basis_universal - REF "${VERSION}" - SHA512 7f7dd62741b4a3e13050233a2ed751e6108cde9eab7b05ea5882ded6ab49fe181cc30e795cf73f8fa625a71e77ae891fda5ea84e20b632b1397844d6539715b3 + REF "v1_50_0_2" + SHA512 845077e9c88a3610b4845bbf4856a2141d678751eb2b5eba26bb4cbbaa0199ad4eae6a37dee485bfcac9d583ee6dca983f300fb7e2b86dfbc9824b5059e11345 HEAD_REF master + PATCHES + # Remove once https://github.com/BinomialLLC/basis_universal/pull/383 merged + 0001-cmake.patch ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DBUILD_TESTS=OFF + -DEXAMPLES=OFF ) vcpkg_cmake_install() - vcpkg_copy_pdbs() vcpkg_copy_tools(TOOL_NAMES "basisu" AUTO_CLEAN) set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) -# Remove unnecessary files -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_cmake_config_fixup(PACKAGE_NAME basisu CONFIG_PATH lib/cmake/basisu) vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/basisu/vcpkg.json b/ports/basisu/vcpkg.json index 59a53779de1b78..751683b0c0f18a 100644 --- a/ports/basisu/vcpkg.json +++ b/ports/basisu/vcpkg.json @@ -1,6 +1,6 @@ { "name": "basisu", - "version": "1.16.4", + "version": "1.50.0", "description": "Basis Universal is a supercompressed GPU texture and video compression format that outputs a highly compressed intermediate file format (.basis) that can be quickly transcoded to a wide variety of GPU texture compression formats.", "homepage": "https://github.com/BinomialLLC/basis_universal", "license": "Apache-2.0", @@ -10,6 +10,10 @@ { "name": "vcpkg-cmake", "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } ] } diff --git a/ports/bddisasm/portfile.cmake b/ports/bddisasm/portfile.cmake index 3bd4f390184caa..f0c0adc79e8af1 100644 --- a/ports/bddisasm/portfile.cmake +++ b/ports/bddisasm/portfile.cmake @@ -3,8 +3,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO bitdefender/bddisasm - REF v1.34.10 - SHA512 441a14c590fa12920bb972ca1d1b255cd03e0444be57eef16565803b446a1d9a49c62642b7947a1dcbf64b650fb7a66ae1796e42872d742cbaa9071a35150527 + REF "v${VERSION}" + SHA512 5c1b8b8b9a29db76ce6197674e662fdc526e89372a84f7fac8e74cf4cc53bfab8d55c096cdb3f344fcfaa6a4d54a5bef79e8f1cf9131e497636072523b2cf3ec HEAD_REF master ) @@ -16,11 +16,7 @@ vcpkg_cmake_configure( vcpkg_cmake_install() -file(INSTALL - ${SOURCE_PATH}/LICENSE - DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} - RENAME copyright -) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/bddisasm) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") @@ -29,3 +25,5 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") vcpkg_fixup_pkgconfig() + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/bddisasm/usage b/ports/bddisasm/usage new file mode 100644 index 00000000000000..1c6e5d2d96b1e9 --- /dev/null +++ b/ports/bddisasm/usage @@ -0,0 +1,11 @@ +bddisasm provides CMake targets: + + find_package(bddisasm CONFIG REQUIRED) + # Decoder library. + target_link_libraries(main PRIVATE bddisasm::bddisasm) + # Shellcode emulator library. + target_link_libraries(main PRIVATE bddisasm::bdshemu) + +bddisasm provides pkg-config modules: + + lbddisasm diff --git a/ports/bddisasm/vcpkg.json b/ports/bddisasm/vcpkg.json index c780b3f190c5c9..964e8c9fd38c7a 100644 --- a/ports/bddisasm/vcpkg.json +++ b/ports/bddisasm/vcpkg.json @@ -1,12 +1,12 @@ { "name": "bddisasm", - "version": "1.34.10", + "version": "2.2.0", "maintainers": "Cristi Anichitei ", "description": "bddisasm is a fast, lightweight, x86/x64 instruction decoder and emulator.", "homepage": "https://github.com/bitdefender/bddisasm", "documentation": "https://bddisasm.readthedocs.io/en/latest/", "license": "Apache-2.0", - "supports": "!arm", + "supports": "!osx & !android", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/bde/portfile.cmake b/ports/bde/portfile.cmake index 3d83db6ace0364..cd86a2d101a306 100644 --- a/ports/bde/portfile.cmake +++ b/ports/bde/portfile.cmake @@ -1,18 +1,17 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -set(BDE_TOOLS_VERSION "${VERSION}") - # Acquire Python and add it to PATH vcpkg_find_acquire_program(PYTHON3) get_filename_component(PYTHON3_EXE_PATH ${PYTHON3} DIRECTORY) # Acquire BDE Tools and add them to PATH +set (BDE_TOOLS_VER 4.13.0.0) vcpkg_from_github( OUT_SOURCE_PATH TOOLS_PATH REPO "bloomberg/bde-tools" - REF "${BDE_TOOLS_VERSION}" - SHA512 e59560810acfe562d85a13585d908decce17ec76c89bd61f43dac56cddfdf6c56269566da75730f8eda14b5fc046d2ebce959b24110a428e8eac0e358d2597c2 - HEAD_REF 3.123.0.0 + REF "${BDE_TOOLS_VER}" + SHA512 6a0eec25889a33fb0302af735ed2fcce38afa5ad2be9202d2589d76509f9fd85f9ddc0a73147df1b6471543f51df3b5b40e8c08d378ab1335d2703d89b5921e6 + HEAD_REF main ) message(STATUS "Configure bde-tools-v${BDE_TOOLS_VERSION}") @@ -24,8 +23,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO "bloomberg/bde" REF "${VERSION}" - SHA512 f1c3c5ddec7ff1d301ca6f8ab00e6be42ab6a5fa3c889639e7797df74f68425d57d8b71978098331c9247820c7c831edeaf4427ae64c890d81f704343b1bb112 - HEAD_REF 3.123.0.0 + SHA512 d25a17e213c6f50901c6a0e27366d6331c3b0506ef88fb34fd0496bfb214e04308f8adb6b1dd2f9a3821d230c444b04d8158cee730f540a6cb4984bc16d022d5 + HEAD_REF main ) vcpkg_cmake_configure( @@ -57,8 +56,5 @@ endforeach() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/${CMAKE_INSTALL_LIBDIR}/cmake" "${CURRENT_PACKAGES_DIR}/debug/${CMAKE_INSTALL_LIBDIR}/cmake") # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE - DESTINATION ${CURRENT_PACKAGES_DIR}/share/bde - RENAME copyright -) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") vcpkg_fixup_pkgconfig() diff --git a/ports/bde/vcpkg.json b/ports/bde/vcpkg.json index 963f91527e77e6..830494bc72bd6e 100644 --- a/ports/bde/vcpkg.json +++ b/ports/bde/vcpkg.json @@ -1,8 +1,12 @@ { + "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json", "name": "bde", - "version": "3.123.0.0", + "version": "4.14.0.0", "description": "Basic Development Environment - a set of foundational C++ libraries used at Bloomberg.", - "supports": "!windows & !arm & !android & !osx", + "homepage": "https://techatbloomberg.com/", + "documentation": "https://bloomberg.github.io/bde/", + "license": "Apache-2.0", + "supports": "!android & !(arm64 & windows) & !uwp", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/bdwgc/portfile.cmake b/ports/bdwgc/portfile.cmake index 8a8b0a71002766..c957d1bb872307 100644 --- a/ports/bdwgc/portfile.cmake +++ b/ports/bdwgc/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ivmai/bdwgc - REF v8.2.4 - SHA512 323d65a867f95cfbf5ecb0ff57e8dede0282cffd0d75153526e50282fe019b2e9b3a0cf16d551654832bd4f01ce8f8461590bfc5f4ea9b5eed80384321d369d7 + REF "v${VERSION}" + SHA512 da03597f7c947dd54adc3a489b781540d905b92ffb5fb6487d0c8b5121b301522ab07bdbda0a8930c7ac7655c7048d1dd0853786a56a7ff248e96745f0e36f43 HEAD_REF master ) diff --git a/ports/bdwgc/vcpkg.json b/ports/bdwgc/vcpkg.json index 7bba131fbb8ef5..adef65e221be81 100644 --- a/ports/bdwgc/vcpkg.json +++ b/ports/bdwgc/vcpkg.json @@ -1,6 +1,6 @@ { "name": "bdwgc", - "version": "8.2.4", + "version": "8.2.8", "description": "The Boehm-Demers-Weiser conservative C/C++ Garbage Collector (libgc, bdwgc, boehm-gc)", "homepage": "https://www.hboehm.info/gc/", "license": "MIT", diff --git a/ports/behaviortree-cpp/portfile.cmake b/ports/behaviortree-cpp/portfile.cmake index 521e9b089471f8..c71ffeb0976949 100644 --- a/ports/behaviortree-cpp/portfile.cmake +++ b/ports/behaviortree-cpp/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO BehaviorTree/BehaviorTree.CPP REF ${VERSION} - SHA512 f2ee647c734e39e50f92405c5dc9fd2876602ff074a86416959fbf6548e37130d35f312cafb084ca4a40da7ee81386502a75ad839ce99a2859c30ff187820fdf + SHA512 f3ebbf21a93839b66b3b9d5091906b62c7a7f121f2c296cfdd7be4563924e695ea7464b8ab947ee95039242b3ea0cfe1572a2fd0ae826ab2bbeebd820631f716 HEAD_REF master PATCHES fix-x86_build.patch diff --git a/ports/behaviortree-cpp/vcpkg.json b/ports/behaviortree-cpp/vcpkg.json index 32f343b67070bd..4d47dae4c2289a 100644 --- a/ports/behaviortree-cpp/vcpkg.json +++ b/ports/behaviortree-cpp/vcpkg.json @@ -1,6 +1,6 @@ { "name": "behaviortree-cpp", - "version": "4.3.7", + "version": "4.6.2", "description": "Behavior Trees Library in C++.", "homepage": "https://www.behaviortree.dev", "supports": "!uwp", diff --git a/ports/benchmark/portfile.cmake b/ports/benchmark/portfile.cmake index 2e13e0df8f6cbb..141ac37e07fa52 100644 --- a/ports/benchmark/portfile.cmake +++ b/ports/benchmark/portfile.cmake @@ -1,10 +1,8 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/benchmark REF "v${VERSION}" - SHA512 4e12114251c79a426873cfba6e27270b69fc980cef9a68e9cb3170f8e2e203f77dee19ab1e65cad51cd67e60991d3bbfdd52553f22522ce5e6c611b5aa07602c + SHA512 fc787d3d60a55abb3edaa575bf947c72e1ad1404a35bfddf585299411bcd04d32503bba563f9a36dccf128fce6261b97d460d6c293ed2c2d0807cf0154c86aa7 HEAD_REF main ) @@ -12,6 +10,8 @@ vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} OPTIONS -DBENCHMARK_ENABLE_TESTING=OFF + -DBENCHMARK_INSTALL_DOCS=OFF + -Werror=old-style-cast ) vcpkg_cmake_install() @@ -25,4 +25,4 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") # Handle copyright -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/benchmark/vcpkg.json b/ports/benchmark/vcpkg.json index f2f48eb748b751..826b3ce72bfa0f 100644 --- a/ports/benchmark/vcpkg.json +++ b/ports/benchmark/vcpkg.json @@ -1,8 +1,8 @@ { "$comment": "https://github.com/google/benchmark/issues/661 describes the missing UWP support upstream", "name": "benchmark", - "version-semver": "1.8.3", - "description": "A library to support the benchmarking of functions, similar to unit-tests.", + "version-semver": "1.9.1", + "description": "A library to benchmark code snippets, similar to unit tests.", "homepage": "https://github.com/google/benchmark", "license": "Apache-2.0", "supports": "!uwp", diff --git a/ports/bento4/portfile.cmake b/ports/bento4/portfile.cmake index dab20b97013e6a..c4b635595b368e 100644 --- a/ports/bento4/portfile.cmake +++ b/ports/bento4/portfile.cmake @@ -4,7 +4,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO axiomatic-systems/Bento4 REF "v${VERSION}" - SHA512 2c5b9b5cc2aaa6a59eaaf3cf47f91b8748362319c6bf9b954d8fc1fe309fda42e28f03a704783bef215b05578cec1832c6ae07d8f53a2173009e135ae630fae5 + SHA512 ad92c561a16a830ac63b0fbff98bd14f732dd2e38416de937191b14c750e632c793e5256b92361d3ff8867f9fd1cf727756ba78cd0122af1b79d62532d2ca427 HEAD_REF master ) diff --git a/ports/bento4/vcpkg.json b/ports/bento4/vcpkg.json index 42745f853776b7..6d0b6f58c5871f 100644 --- a/ports/bento4/vcpkg.json +++ b/ports/bento4/vcpkg.json @@ -1,6 +1,6 @@ { "name": "bento4", - "version": "1.6.0-640", + "version": "1.6.0-641", "description": "Bento4 is a C++ class library and tools designed to read and write ISO-MP4 files. This format is defined in international specifications ISO/IEC 14496-12, 14496-14 and 14496-15.", "homepage": "https://github.com/axiomatic-systems/Bento4", "license": null, diff --git a/ports/bext-di/portfile.cmake b/ports/bext-di/portfile.cmake index 36ce8c0a9b213f..49469f0123f04f 100644 --- a/ports/bext-di/portfile.cmake +++ b/ports/bext-di/portfile.cmake @@ -1,17 +1,22 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boost-ext/di - REF 6078f073feb8560127fbf0308b3794a551146252 # v1.2.0 - SHA512 d7876b10b0365a92095ee7edefdc9cb9a0e237baf2bad124a927f22ed6ec30e18802b20517bc032184f39b7b4d71f44e965bdcea074646871d0194bd4e851d43 + REF "v${VERSION}" + SHA512 2371415df0b6569861d60c32908afb6fae8bfa221ad4153eeb7f60143f8449eca6c81b57067d5009b8cd85e31c04ede554fdee23008ddeffa4e7746856e250ae HEAD_REF cpp14 ) file(INSTALL ${SOURCE_PATH}/include/boost DESTINATION ${CURRENT_PACKAGES_DIR}/include) + +if ("extensions" IN_LIST FEATURES) + file(INSTALL ${SOURCE_PATH}/extension/include/boost + DESTINATION ${CURRENT_PACKAGES_DIR}/include) +endif() vcpkg_download_distfile(LICENSE URLS https://www.boost.org/LICENSE_1_0.txt FILENAME "di-copyright" SHA512 d6078467835dba8932314c1c1e945569a64b065474d7aced27c9a7acc391d52e9f234138ed9f1aa9cd576f25f12f557e0b733c14891d42c16ecdc4a7bd4d60b8 ) -file(INSTALL ${LICENSE} DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${LICENSE}") diff --git a/ports/bext-di/vcpkg.json b/ports/bext-di/vcpkg.json index 2b47e5578d98b1..4436ec18f83108 100644 --- a/ports/bext-di/vcpkg.json +++ b/ports/bext-di/vcpkg.json @@ -1,7 +1,12 @@ { "name": "bext-di", - "version": "1.2.0", + "version": "1.3.0", "port-version": 1, "description": "C++14 Dependency Injection Library.", - "homepage": "https://github.com/boost-ext/di" + "homepage": "https://github.com/boost-ext/di", + "features": { + "extensions": { + "description": "Build with extensions included" + } + } } diff --git a/ports/bext-sml/portfile.cmake b/ports/bext-sml/portfile.cmake index 3701e1616f1cd3..53f5d7518405bc 100644 --- a/ports/bext-sml/portfile.cmake +++ b/ports/bext-sml/portfile.cmake @@ -2,8 +2,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boost-ext/sml - REF v1.1.5 - SHA512 6babee6da2db93912afa2eb932591674a73f43609b7c2b0523e84ba682c09f6d4f67d1c7f6ea48f73f1f09de8df2eaf2ae30b3399c1602189ea08d42689758d7 + REF "v${VERSION}" + SHA512 ac40d4c273ea91d52419e88c27c079efbcb5d29d59690b82840b69091fdd16dc72d90aa661c1bd340c448904dc59837ca1d284d0f144f254fcaf11f4a6998649 HEAD_REF master ) @@ -12,4 +12,4 @@ file(INSTALL "${SOURCE_PATH}/include/boost/sml.hpp" ) # Handle copyright -file(INSTALL "${SOURCE_PATH}/LICENSE.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") diff --git a/ports/bext-sml/vcpkg.json b/ports/bext-sml/vcpkg.json index 5b04bc3fc66e9c..7eef04db1bae97 100644 --- a/ports/bext-sml/vcpkg.json +++ b/ports/bext-sml/vcpkg.json @@ -1,6 +1,6 @@ { "name": "bext-sml", - "version": "1.1.5", + "version": "1.1.11", "description": "Your scalable C++14 one header only State Machine Library with no dependencies", "homepage": "https://github.com/boost-ext/sml", "license": "BSL-1.0" diff --git a/ports/bext-sml2/portfile.cmake b/ports/bext-sml2/portfile.cmake index 9d851cbac1b35c..c034ec04fa4ae9 100644 --- a/ports/bext-sml2/portfile.cmake +++ b/ports/bext-sml2/portfile.cmake @@ -1,9 +1,9 @@ # Header-only library vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO boost-ext/sml2 - REF 6989e01776ab0d51a7b9463c307855d4a274888f - SHA512 215e404769b80da01735d4038ec8fd63804ef3dfb6b65fcbce38b9e90491d4758c28338a1d259776b2258e35f14a4fb27330fa730800cf7289d147cf5e580d4e + REPO qlibs/sml + REF "v${VERSION}" + SHA512 8c2406f1d35145b4f5896c41c8d1a616444cb151cc468f670daefc1b7dc4bd8aa6c9acc3c2c733158c0e6a21b4077cac4b519eea2b0fd3bc549dae726d0a23d7 HEAD_REF master ) @@ -12,4 +12,4 @@ file(INSTALL "${SOURCE_PATH}/sml2" ) # Handle copyright -vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/README.md") diff --git a/ports/bext-sml2/vcpkg.json b/ports/bext-sml2/vcpkg.json index 2422e2ddb97219..ebf94f6a5c01a8 100644 --- a/ports/bext-sml2/vcpkg.json +++ b/ports/bext-sml2/vcpkg.json @@ -1,7 +1,7 @@ { "name": "bext-sml2", - "version-date": "2023-09-20", + "version": "2.0.0", "description": "Your scalable C++20 one header only State Machine Library with no dependencies", - "homepage": "https://github.com/boost-ext/sml2", + "homepage": "https://github.com/qlibs/sml", "license": "BSL-1.0" } diff --git a/ports/bext-text/fix-boost-dependency.patch b/ports/bext-text/fix-boost-dependency.patch new file mode 100644 index 00000000000000..044d80c47ad240 --- /dev/null +++ b/ports/bext-text/fix-boost-dependency.patch @@ -0,0 +1,82 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2b7b03d6..1228484f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -2,6 +2,7 @@ cmake_minimum_required(VERSION 3.5) + list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake) + project(boost_text LANGUAGES CXX) + ++include(CMakePackageConfigHelpers) + ################################################## + # C++ standard version selection + ################################################## +@@ -85,7 +86,7 @@ target_include_directories(text + PUBLIC + $ + $) +-target_include_directories(text PRIVATE ${Boost_INCLUDE_DIR}) ++target_link_libraries(text PRIVATE Boost::boost) + set_property(TARGET text PROPERTY CXX_STANDARD ${CXX_STD}) + target_compile_options(text PRIVATE -DBOOST_TEXT_SOURCE) + if (link_flags) +@@ -106,13 +107,22 @@ install(EXPORT text_export + NAMESPACE Boost:: + DESTINATION lib/cmake/text) + ++ ++configure_package_config_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake/text-config.cmake.in" ++ "${CMAKE_CURRENT_BINARY_DIR}/cmake/text-config.cmake" ++ INSTALL_DESTINATION "lib/cmake/text" ++ NO_SET_AND_CHECK_MACRO ++ NO_CHECK_REQUIRED_COMPONENTS_MACRO ++ ) ++ + install(FILES +- ${CMAKE_CURRENT_SOURCE_DIR}/cmake/text-config.cmake ++ ${CMAKE_CURRENT_BINARY_DIR}/cmake/text-config.cmake + DESTINATION "lib/cmake/text") + + install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/boost + DESTINATION "include") + ++if(0) + # If Boost was not found, make text depend on boost_clone, so that we clone + # Boost from Github repos. However, we don't want a permanent text -> + # boost_clone dependency, so make this CMakeLists.txt file dirty by touching +@@ -140,4 +150,5 @@ endif () + add_subdirectory(test) + add_subdirectory(perf) + add_subdirectory(example) ++endif() + +diff --git a/cmake/dependencies.cmake b/cmake/dependencies.cmake +index 1e25c825..bcec1bc5 100644 +--- a/cmake/dependencies.cmake ++++ b/cmake/dependencies.cmake +@@ -7,7 +7,8 @@ + # Boost + ############################################################################### + set(Boost_USE_STATIC_LIBS ON) +-find_package(Boost 1.71.0 COMPONENTS ${boost_components}) ++find_package(Boost REQUIRED COMPONENTS ${boost_components}) ++if(0) + if (Boost_INCLUDE_DIR) + add_library(boost INTERFACE) + target_include_directories(boost INTERFACE ${Boost_INCLUDE_DIR}) +@@ -108,3 +109,4 @@ if (MSVC) + else() + find_package(ICU 60 COMPONENTS i18n data uc) + endif() ++endif() +diff --git a/cmake/text-config.cmake b/cmake/text-config.cmake.in +similarity index 70% +rename from cmake/text-config.cmake +rename to cmake/text-config.cmake.in +index b7071ff5..b9c8be91 100644 +--- a/cmake/text-config.cmake ++++ b/cmake/text-config.cmake.in +@@ -1,2 +1,4 @@ ++@PACKAGE_INIT@ + include(CMakeFindDependencyMacro) ++find_dependency(Boost) + include("${CMAKE_CURRENT_LIST_DIR}/text-targets.cmake") diff --git a/ports/bext-text/portfile.cmake b/ports/bext-text/portfile.cmake new file mode 100644 index 00000000000000..5105504eb0768e --- /dev/null +++ b/ports/bext-text/portfile.cmake @@ -0,0 +1,21 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO tzlaine/text + REF dd2959e7143fde3f62b24d87a6573b5b96b6ea46 + SHA512 6897d6aac64f16ebf7c0fc4623d5b773844e6714d7c4feef69fad338657e7e7f845a0120b1ffb7b36e8b29f42afde470d0883e65bbcd7adb9466f07306ed64d5 + HEAD_REF master + PATCHES fix-boost-dependency.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(PACKAGE_NAME text CONFIG_PATH "lib/cmake/text") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE_1_0.txt") + diff --git a/ports/bext-text/vcpkg.json b/ports/bext-text/vcpkg.json new file mode 100644 index 00000000000000..05dc6de1830013 --- /dev/null +++ b/ports/bext-text/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "bext-text", + "version-date": "2024-01-19", + "description": "What a c++ standard Unicode library might look like.", + "homepage": "https://tzlaine.github.io/text/doc/html/index.html", + "license": "BSL-1.0", + "dependencies": [ + "boost", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/bext-ut/portfile.cmake b/ports/bext-ut/portfile.cmake index a843667685e802..87913301be926f 100644 --- a/ports/bext-ut/portfile.cmake +++ b/ports/bext-ut/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boost-ext/ut - REF bf8388f61103571dee3061a4ef23292a320d9dbf #committed on 2023-07-09 - SHA512 e7f95c71fb094170e0f431af115845f66c53f05748829a547612ae480839339b7794d4a3d8c2ae44ad2536654228f00d9d6b058b3b55c4af3432936efc2f6c2d + REF "v${VERSION}" + SHA512 6894767ddae9d3ddd7aac2f77565f653e5051d213d39129a149405c6441a5f20a2878a5f548ad8d4ca37f70e44c6360c447f12df9c870149f9ed57a281214c24 HEAD_REF master ) @@ -14,6 +14,7 @@ vcpkg_cmake_configure( -DBOOST_UT_BUILD_EXAMPLES=OFF -DBOOST_UT_BUILD_TESTS=OFF -DINCLUDE_INSTALL_DIR=include + -DBOOST_UT_DISABLE_MODULE=ON ) vcpkg_cmake_install() vcpkg_copy_pdbs() @@ -23,4 +24,8 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" "${CURRENT_PACKAGES_DIR}/lib" ) + +configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" + "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" COPYONLY) + vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") diff --git a/ports/bext-ut/usage b/ports/bext-ut/usage new file mode 100644 index 00000000000000..ade67c1c927127 --- /dev/null +++ b/ports/bext-ut/usage @@ -0,0 +1,4 @@ +bext-ut provides CMake targets: + +find_package(ut CONFIG REQUIRED) +target_link_libraries(main PRIVATE Boost::ut) diff --git a/ports/bext-ut/vcpkg.json b/ports/bext-ut/vcpkg.json index c5bb24dca4a4c6..2888766ecdd6b2 100644 --- a/ports/bext-ut/vcpkg.json +++ b/ports/bext-ut/vcpkg.json @@ -1,9 +1,8 @@ { "name": "bext-ut", - "version": "1.1.9", - "port-version": 2, - "description": "UT: C++20 μ(micro)/Unit Testing Framework", - "homepage": "https://boost-ext.github.io/ut/", + "version": "2.0.1", + "description": "C++ single header/single module, macro-free μ(micro)/Unit Testing Framework.", + "homepage": "https://github.com/boost-ext/ut", "license": "BSL-1.0", "dependencies": [ { diff --git a/ports/bext-wintls/portfile.cmake b/ports/bext-wintls/portfile.cmake index 81b1aebb0cf9c6..1c87e893dd6b5a 100644 --- a/ports/bext-wintls/portfile.cmake +++ b/ports/bext-wintls/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO laudrup/boost-wintls REF "v${VERSION}" - SHA512 b2973148f53f036108783ea6c30fca5f5055efc3676a9df2d1bf527399f757ac2f319f8637646904820e5280a8be48cf8369a3d2b6a3879afc0aa4463c77ea06 + SHA512 b63f2634b194b9663376786ec788fd7ae1aa8281ab01899071c985311b694cc9655abb893e1b46dea7b1e7fca767fd236795b25ce1520af1b236a08589df5ae0 HEAD_REF master ) diff --git a/ports/bext-wintls/vcpkg.json b/ports/bext-wintls/vcpkg.json index 80327ea1ab7200..2470f35f019204 100644 --- a/ports/bext-wintls/vcpkg.json +++ b/ports/bext-wintls/vcpkg.json @@ -1,6 +1,6 @@ { "name": "bext-wintls", - "version": "0.9.7", + "version": "0.9.8", "description": "Native Windows TLS stream wrapper for use with boost::asio", "homepage": "https://github.com/laudrup/boost-wintls", "supports": "windows | mingw", diff --git a/ports/bgfx/portfile.cmake b/ports/bgfx/portfile.cmake index 67d6b14e2e4a7d..de77c567588e36 100644 --- a/ports/bgfx/portfile.cmake +++ b/ports/bgfx/portfile.cmake @@ -1,86 +1,64 @@ -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO "bkaradzic/bgfx.cmake" - HEAD_REF master - REF v${VERSION} - SHA512 5d19e3ba50db25c203d87b1f47e9151a21f2afced35a7306d33c4fd2fc44f4d56826a1920023bd6de5cebbed2301e39e152f4c17e63905e34f56b39e34b235d1 -) - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH_BX - REPO "bkaradzic/bx" - HEAD_REF master - REF 9b1805ea8bdc63552e4e32ff72842fce0238bb10 - SHA512 9032b160204faf939b33d46123b7220de441377b2fc95447b87714ce12d31f0c220ee9b53d9a7807f8ae3e807f7d2bea6dd255a4443bb66e4aa0679f10696e96 -) +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH_BIMG - REPO "bkaradzic/bimg" - HEAD_REF master - REF ec02df824a763b2e2ae31e19c674ba0bc88c0695 - SHA512 e0f26afae510244e85758ddaada83e3d6b48745b447e197bffcb972f1fd8f42269f2e9f3ee48a6d54ea99d0ad66062a6212a3604f7e61d616681b815fb8a6d8f +vcpkg_download_distfile( + ARCHIVE_FILE + URLS https://github.com/bkaradzic/bgfx.cmake/releases/download/v${VERSION}/bgfx.cmake.v${VERSION}.tar.gz + FILENAME bgfx.cmake.v${VERSION}.tar.gz + SHA512 879ffef9623238b5e4ff88ac1bd655203adf76f4232f8e36f9a7ba5d0baab11ef80fdc7b3fea110e54d22f284106d51e12bf468459d82dc50a177555b4e4ada9 ) -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH_BGFX - REPO "bkaradzic/bgfx" - HEAD_REF master - REF e2c5b1d3e1320145baebc405a3c894cd851f8dc1 - SHA512 5bde6c2b4f147c01c7949eff529b940b8981e06a3b72e8389e991b98e3052a83762e59a798b1b0eb3292c35889f8f3fb68f54613c270c4f3f0f942e11cc9f3e9 +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE_FILE}" ) vcpkg_check_features( OUT_FEATURE_OPTIONS FEATURE_OPTIONS - FEATURES tools BGFX_BUILD_TOOLS multithreaded BGFX_CONFIG_MULTITHREADED + FEATURES + tools BGFX_BUILD_TOOLS + multithreaded BGFX_CONFIG_MULTITHREADED ) -if (TARGET_TRIPLET MATCHES "(windows|uwp)") - # bgfx doesn't apply __declspec(dllexport) which prevents dynamic linking - set(BGFX_LIBRARY_TYPE "STATIC") -elseif (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) +if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) set(BGFX_LIBRARY_TYPE "SHARED") else () set(BGFX_LIBRARY_TYPE "STATIC") endif () -file(COPY "${CMAKE_CURRENT_LIST_DIR}/vcpkg-inject-packages.cmake" DESTINATION "${SOURCE_PATH}") - vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - OPTIONS -DBX_DIR=${SOURCE_PATH_BX} - -DBIMG_DIR=${SOURCE_PATH_BIMG} - -DBGFX_DIR=${SOURCE_PATH_BGFX} - -DBGFX_LIBRARY_TYPE=${BGFX_LIBRARY_TYPE} - -DBX_AMALGAMATED=ON - -DBGFX_AMALGAMATED=ON - -DBGFX_BUILD_EXAMPLES=OFF - -DBGFX_OPENGLES_VERSION=30 - -DBGFX_CMAKE_USER_SCRIPT=vcpkg-inject-packages.cmake - ${FEATURE_OPTIONS} + OPTIONS + -DBGFX_LIBRARY_TYPE=${BGFX_LIBRARY_TYPE} + -DBX_AMALGAMATED=ON + -DBGFX_AMALGAMATED=ON + -DBGFX_BUILD_EXAMPLES=OFF + -DBGFX_OPENGLES_VERSION=30 + "-DBGFX_CMAKE_USER_SCRIPT=${CURRENT_PORT_DIR}/vcpkg-inject-packages.cmake" + "-DBGFX_ADDITIONAL_TOOL_PATHS=${CURRENT_INSTALLED_DIR}/../${HOST_TRIPLET}/tools/bgfx" + ${FEATURE_OPTIONS} + OPTIONS_DEBUG + -DBGFX_BUILD_TOOLS=OFF ) vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") vcpkg_copy_pdbs() -if (BGFX_BUILD_TOOLS) - vcpkg_copy_tools( - TOOL_NAMES bin2c shaderc geometryc geometryv texturec texturev AUTO_CLEAN - ) +if ("tools" IN_LIST FEATURES) + vcpkg_copy_tools(TOOL_NAMES bin2c shaderc geometryc geometryv texturec texturev AUTO_CLEAN) endif () -# Handle copyright -file( - INSTALL "${CURRENT_PACKAGES_DIR}/share/licences/${PORT}/LICENSE" - DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" - RENAME copyright -) +vcpkg_install_copyright( + FILE_LIST "${CURRENT_PACKAGES_DIR}/share/licences/${PORT}/LICENSE" + COMMENT [[ +bgfx includes third-party components which are subject to specific license +terms. Check the sources for details. +]]) -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/licences" - "${CURRENT_PACKAGES_DIR}/debug/include" - "${CURRENT_PACKAGES_DIR}/debug/share" +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/share/licences" + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" ) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static" OR NOT VCPKG_TARGET_IS_WINDOWS) - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") -endif() diff --git a/ports/bgfx/vcpkg.json b/ports/bgfx/vcpkg.json index 8db3f9e2f6a682..fff5bb3d03dcea 100644 --- a/ports/bgfx/vcpkg.json +++ b/ports/bgfx/vcpkg.json @@ -1,11 +1,11 @@ { "name": "bgfx", - "version": "1.121.8534-453", + "version": "1.128.8808-482", "maintainers": "Sandy Carter ", "description": "Cross-platform, graphics API agnostic, Bring Your Own Engine/Framework style rendering library.", "homepage": "https://bkaradzic.github.io/bgfx/overview.html", "documentation": "https://bkaradzic.github.io/bgfx", - "license": "BSD-2-Clause", + "license": "BSD-2-Clause AND CC0-1.0", "dependencies": [ "libsquish", "miniz", @@ -20,26 +20,16 @@ } ], "default-features": [ - "platform-default-features" + { + "name": "multithreaded", + "platform": "!emscripten" + } ], "features": { "multithreaded": { "description": "Encode and render on different threads", "supports": "!emscripten" }, - "platform-default-features": { - "description": "Enables default features per platform", - "dependencies": [ - { - "$comment": "bgfx does not support multithreading on emscripten", - "name": "bgfx", - "features": [ - "multithreaded" - ], - "platform": "!emscripten" - } - ] - }, "tools": { "$comment": "Use '\"host\": true' in dependencies of vcpkg.json in manifest mode.", "description": "Shader, Texture and Geometry compilers for bgfx.", diff --git a/ports/bit7z/fix_compile_options.patch b/ports/bit7z/fix_compile_options.patch new file mode 100644 index 00000000000000..19f611a5bd9d53 --- /dev/null +++ b/ports/bit7z/fix_compile_options.patch @@ -0,0 +1,13 @@ +diff --git a/cmake/CompilerOptions.cmake b/cmake/CompilerOptions.cmake +index 1cdb84f..fd9346f 100644 +--- a/cmake/CompilerOptions.cmake ++++ b/cmake/CompilerOptions.cmake +@@ -70,7 +70,7 @@ if( MSVC ) + endforeach() + endif() + else() +- target_compile_options( ${LIB_TARGET} PRIVATE -Wall -Wextra -Werror -Wconversion -Wsign-conversion ) ++ target_compile_options( ${LIB_TARGET} PRIVATE -Wall -Wextra -Wconversion -Wsign-conversion ) + endif() + + # Extra warning flags for Clang diff --git a/ports/bit7z/fix_dependency.patch b/ports/bit7z/fix_dependency.patch new file mode 100644 index 00000000000000..befb74be79570b --- /dev/null +++ b/ports/bit7z/fix_dependency.patch @@ -0,0 +1,28 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f8ff6f0..855b78d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -194,15 +194,22 @@ include( cmake/BuildOptions.cmake ) + include( cmake/CompilerOptions.cmake ) + + # dependencies +-include( cmake/Dependencies.cmake ) ++# include( cmake/Dependencies.cmake ) ++find_package(7zip CONFIG REQUIRED) ++add_library(7-zip ALIAS 7zip::7zip) + + # 7-zip source code + target_link_libraries( ${LIB_TARGET} PRIVATE 7-zip ) + + # filesystem library (needed if std::filesystem is not available) ++if(0) + if( ghc_filesystem_ADDED ) + target_link_libraries( ${LIB_TARGET} PRIVATE ghc_filesystem ) + endif() ++else() ++ find_package(ghc_filesystem CONFIG REQUIRED) ++ target_link_libraries(${LIB_TARGET} PRIVATE ghcFilesystem::ghc_filesystem ) ++endif() + + # public includes + target_include_directories( ${LIB_TARGET} PUBLIC "$" diff --git a/ports/bit7z/fix_install.patch b/ports/bit7z/fix_install.patch new file mode 100644 index 00000000000000..9c242be6230539 --- /dev/null +++ b/ports/bit7z/fix_install.patch @@ -0,0 +1,43 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2eb8634..f8ff6f0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -179,7 +179,7 @@ message( STATUS "Language Standard for bit7z: C++${CMAKE_CXX_STANDARD}" ) + set( LIB_TARGET bit7z${ARCH_POSTFIX} ) + add_library( ${LIB_TARGET} STATIC ) + target_sources( ${LIB_TARGET} +- PUBLIC ${PUBLIC_HEADERS} ++ # PUBLIC ${PUBLIC_HEADERS} + PRIVATE ${HEADERS} ${SOURCES} ) + + # additional target without the architecture suffix in the name +@@ -246,3 +246,29 @@ endif() + if( BIT7Z_BUILD_DOCS ) + add_subdirectory( docs ) + endif() ++ ++set_target_properties(${LIB_TARGET} PROPERTIES PUBLIC_HEADER "${PUBLIC_HEADERS}") ++ ++include(CMakePackageConfigHelpers) ++configure_package_config_file( ++ "${CMAKE_CURRENT_SOURCE_DIR}/unofficial-bit7z-config.cmake.in" ++ "${CMAKE_CURRENT_BINARY_DIR}/unofficial-bit7z-config.cmake" ++ INSTALL_DESTINATION "share/unofficial-bit7z" ++) ++install( ++ FILES "${CMAKE_CURRENT_BINARY_DIR}/unofficial-bit7z-config.cmake" ++ DESTINATION "share/unofficial-bit7z" ++) ++ ++include(GNUInstallDirs) ++install( ++ TARGETS ${LIB_TARGET} ++ EXPORT unofficial-bit7z-targets ++ COMPONENT bit7z ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/bit7z COMPONENT bit7z_development) ++ ++install(EXPORT unofficial-bit7z-targets FILE unofficial-bit7z-targets.cmake NAMESPACE unofficial::bit7z:: DESTINATION share/unofficial-bit7z) ++ diff --git a/ports/bit7z/portfile.cmake b/ports/bit7z/portfile.cmake new file mode 100644 index 00000000000000..3f08cdc4907ed7 --- /dev/null +++ b/ports/bit7z/portfile.cmake @@ -0,0 +1,46 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO rikyoz/bit7z + REF "v${VERSION}" + SHA512 c0577b07301b09726fb46164483dc277d681a74a80a90a1aa4881d949be28e6ec26678a0cfbf83e38b4915c8a724078e0771fecefba8c6dfbf9029f8db6063fa + HEAD_REF master + PATCHES + fix_install.patch + fix_dependency.patch + fix_compile_options.patch +) + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/unofficial-bit7z-config.cmake.in" DESTINATION "${SOURCE_PATH}") + +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + regex-matching BIT7Z_REGEX_MATCHING +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBIT7Z_AUTO_FORMAT=ON + -DBIT7Z_AUTO_PREFIX_LONG_PATHS=ON + -DBIT7Z_DISABLE_ZIP_ASCII_PWD_CHECK=OFF + -DBIT7Z_PATH_SANITIZATION=ON + -DBIT7Z_DISABLE_USE_STD_FILESYSTEM=OFF + -DBIT7Z_USE_STD_BYTE=OFF + -DBIT7Z_USE_NATIVE_STRING=OFF + -DBIT7Z_USE_SYSTEM_CODEPAGE=OFF + -DBIT7Z_BUILD_TESTS=OFF + -DBIT7Z_BUILD_DOCS=OFF + ${FEATURE_OPTIONS} +) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() + +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-bit7z CONFIG_PATH share/unofficial-bit7z) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") diff --git a/ports/bit7z/unofficial-bit7z-config.cmake.in b/ports/bit7z/unofficial-bit7z-config.cmake.in new file mode 100644 index 00000000000000..cd432b60126bf5 --- /dev/null +++ b/ports/bit7z/unofficial-bit7z-config.cmake.in @@ -0,0 +1,10 @@ +@PACKAGE_INIT@ + +include(CMakeFindDependencyMacro) + +find_dependency(7zip CONFIG) +find_dependency(ghc_filesystem CONFIG) + +include("${CMAKE_CURRENT_LIST_DIR}/unofficial-bit7z-targets.cmake") + +check_required_components(bit7z) diff --git a/ports/bit7z/vcpkg.json b/ports/bit7z/vcpkg.json new file mode 100644 index 00000000000000..d7e4438f18f0a4 --- /dev/null +++ b/ports/bit7z/vcpkg.json @@ -0,0 +1,25 @@ +{ + "name": "bit7z", + "version": "4.0.9", + "port-version": 1, + "description": "A C++ static library offering a clean and simple interface to the 7-zip shared libraries.", + "homepage": "https://github.com/rikyoz/bit7z", + "license": "MPL-2.0", + "dependencies": [ + "7zip", + "ghc-filesystem", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "regex-matching": { + "description": "Enables the support for extracting files matching regular expressions" + } + } +} diff --git a/ports/bitmagic/fix-clang.patch b/ports/bitmagic/fix-clang.patch new file mode 100644 index 00000000000000..23e3cb6205ba7e --- /dev/null +++ b/ports/bitmagic/fix-clang.patch @@ -0,0 +1,22 @@ +diff --git a/src/bm.h b/src/bm.h +index 547b108..0c59785 100644 +--- a/src/bm.h ++++ b/src/bm.h +@@ -523,7 +523,7 @@ public: + { + bvect_ = ii.bvect_; + if (!buf_) +- buf_ = bvect_->allocate_tempblock(); ++ buf_ = (value_type*) bvect_->blockman_.get_allocator().alloc_bit_block(); + buf_size_ = ii.buf_size_; + ::memcpy(buf_, ii.buf_, buf_size_ * sizeof(*buf_)); + sorted_ = ii.sorted_; +@@ -534,7 +534,7 @@ public: + { + bvect_ = ii.bvect_; + if (buf_) +- bvect_->free_tempblock(buf_); ++ bvect_->blockman_.get_allocator().free_bit_block((bm::word_t*)buf_); + buf_ = ii.buf_; ii.buf_ = 0; + buf_size_ = ii.buf_size_; + sorted_ = ii.sorted_; diff --git a/ports/bitmagic/portfile.cmake b/ports/bitmagic/portfile.cmake index 6ee8a0cf468c5f..eef702e6d7360a 100644 --- a/ports/bitmagic/portfile.cmake +++ b/ports/bitmagic/portfile.cmake @@ -5,9 +5,10 @@ vcpkg_from_github( REF "v${VERSION}" SHA512 d034f66b8631d09cb0be11b96f5f12dea416ef2cfca42ed7f0865aeb65102a4951821805ec65bee793541ce1a665e5d11ba4bedb0d79956c0eee6c856afb29b2 HEAD_REF master - + PATCHES + fix-clang.patch #https://github.com/tlk00/BitMagic/commit/fab01f43eca266bf56efb1aca659773c911a83fb ) file(GLOB HEADER_LIST "${SOURCE_PATH}/src/*.h") file(INSTALL ${HEADER_LIST} DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}") -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/bitmagic/vcpkg.json b/ports/bitmagic/vcpkg.json index fdb3c5bc81687d..4e3cd01ea16f78 100644 --- a/ports/bitmagic/vcpkg.json +++ b/ports/bitmagic/vcpkg.json @@ -1,6 +1,8 @@ { "name": "bitmagic", "version": "7.13.4", + "port-version": 1, "description": "Algorithms and tools for Algebra of Sets for information retrieval, indexing of databases, scientific algorithms, ranking, clustering, unsupervised machine learning and signal processing.", - "homepage": "http://bitmagic.io" + "homepage": "http://bitmagic.io", + "license": "Apache-2.0" } diff --git a/ports/bitserializer-cpprestjson/portfile.cmake b/ports/bitserializer-cpprestjson/portfile.cmake deleted file mode 100644 index 0015715fb66c72..00000000000000 --- a/ports/bitserializer-cpprestjson/portfile.cmake +++ /dev/null @@ -1 +0,0 @@ -set(VCPKG_POLICY_EMPTY_PACKAGE enabled) \ No newline at end of file diff --git a/ports/bitserializer-cpprestjson/vcpkg.json b/ports/bitserializer-cpprestjson/vcpkg.json deleted file mode 100644 index e12e04f042e611..00000000000000 --- a/ports/bitserializer-cpprestjson/vcpkg.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "name": "bitserializer-cpprestjson", - "version-string": "alias", - "port-version": 1, - "description": "Deprecated alias for bitserializer-cpprestjson", - "dependencies": [ - { - "name": "bitserializer", - "features": [ - "cpprestjson-archive" - ] - } - ] -} diff --git a/ports/bitserializer-pugixml/portfile.cmake b/ports/bitserializer-pugixml/portfile.cmake deleted file mode 100644 index 0015715fb66c72..00000000000000 --- a/ports/bitserializer-pugixml/portfile.cmake +++ /dev/null @@ -1 +0,0 @@ -set(VCPKG_POLICY_EMPTY_PACKAGE enabled) \ No newline at end of file diff --git a/ports/bitserializer-pugixml/vcpkg.json b/ports/bitserializer-pugixml/vcpkg.json deleted file mode 100644 index 8e705da12b69f1..00000000000000 --- a/ports/bitserializer-pugixml/vcpkg.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "name": "bitserializer-pugixml", - "version-string": "alias", - "port-version": 1, - "description": "Deprecated alias for bitserializer-pugixml", - "dependencies": [ - { - "name": "bitserializer", - "features": [ - "pugixml-archive" - ] - } - ] -} diff --git a/ports/bitserializer-rapidjson/portfile.cmake b/ports/bitserializer-rapidjson/portfile.cmake deleted file mode 100644 index 0015715fb66c72..00000000000000 --- a/ports/bitserializer-rapidjson/portfile.cmake +++ /dev/null @@ -1 +0,0 @@ -set(VCPKG_POLICY_EMPTY_PACKAGE enabled) \ No newline at end of file diff --git a/ports/bitserializer-rapidjson/vcpkg.json b/ports/bitserializer-rapidjson/vcpkg.json deleted file mode 100644 index 2da6054e393980..00000000000000 --- a/ports/bitserializer-rapidjson/vcpkg.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "name": "bitserializer-rapidjson", - "version-string": "alias", - "port-version": 1, - "description": "Deprecated alias for bitserializer-rapidjson", - "dependencies": [ - { - "name": "bitserializer", - "features": [ - "rapidjson-archive" - ] - } - ] -} diff --git a/ports/bitserializer-rapidyaml/portfile.cmake b/ports/bitserializer-rapidyaml/portfile.cmake deleted file mode 100644 index 0015715fb66c72..00000000000000 --- a/ports/bitserializer-rapidyaml/portfile.cmake +++ /dev/null @@ -1 +0,0 @@ -set(VCPKG_POLICY_EMPTY_PACKAGE enabled) \ No newline at end of file diff --git a/ports/bitserializer-rapidyaml/vcpkg.json b/ports/bitserializer-rapidyaml/vcpkg.json deleted file mode 100644 index 9d548ea4206eb9..00000000000000 --- a/ports/bitserializer-rapidyaml/vcpkg.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "name": "bitserializer-rapidyaml", - "version-string": "alias", - "port-version": 3, - "description": "Deprecated alias for bitserializer-rapidyaml", - "dependencies": [ - { - "name": "bitserializer", - "features": [ - "rapidyaml-archive" - ] - } - ] -} diff --git a/ports/bitserializer/portfile.cmake b/ports/bitserializer/portfile.cmake index 39267875886476..b75a967709b04e 100644 --- a/ports/bitserializer/portfile.cmake +++ b/ports/bitserializer/portfile.cmake @@ -4,8 +4,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO PavelKisliak/BitSerializer - REF v0.65 - SHA512 fa49c6409b691c8e67fd2bf6ba740367334283bbfe3d984256420da3f9b439b56a04e718844466875b4cc01380d4d3a4ff3f3a6b347d3fd391895551eb8c8f91 + REF v0.75 + SHA512 ae31f17a0b4e488892f676eafe94e2d43a381153b9179891a9d3a6380c7b3f12d29bc20b7be270a71305bc7c27b08395f6aa8a8be26c52934e148e7140d34d21 HEAD_REF master ) @@ -16,10 +16,12 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS "pugixml-archive" BUILD_PUGIXML_ARCHIVE "rapidyaml-archive" BUILD_RAPIDYAML_ARCHIVE "csv-archive" BUILD_CSV_ARCHIVE + "msgpack-archive" BUILD_MSGPACK_ARCHIVE ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" + DISABLE_PARALLEL_CONFIGURE OPTIONS ${FEATURE_OPTIONS} ) @@ -30,7 +32,7 @@ vcpkg_cmake_config_fixup() vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -if (NOT ${BUILD_CSV_ARCHIVE}) +if (NOT (${BUILD_CSV_ARCHIVE} OR ${BUILD_MSGPACK_ARCHIVE})) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") endif() diff --git a/ports/bitserializer/usage b/ports/bitserializer/usage index 0a7eca52e5e410..b53e9bb853954e 100644 --- a/ports/bitserializer/usage +++ b/ports/bitserializer/usage @@ -8,4 +8,5 @@ BitSerializer provides CMake targets: BitSerializer::pugixml-archive BitSerializer::rapidyaml-archive BitSerializer::csv-archive + BitSerializer::msgpack-archive ) diff --git a/ports/bitserializer/vcpkg.json b/ports/bitserializer/vcpkg.json index e67460c44b9ed2..0fa640857025b2 100644 --- a/ports/bitserializer/vcpkg.json +++ b/ports/bitserializer/vcpkg.json @@ -1,7 +1,7 @@ { "name": "bitserializer", - "version": "0.65", - "description": "C++ 17 library for serialization to JSON, XML, YAML, CSV", + "version": "0.75", + "description": "C++ 17 library for serialization to JSON, XML, YAML, CSV, MsgPack", "homepage": "https://github.com/PavelKisliak/BitSerializer", "license": "MIT", "dependencies": [ @@ -24,6 +24,9 @@ "csv-archive": { "description": "Module for support CSV" }, + "msgpack-archive": { + "description": "Module for support MsgPack" + }, "pugixml-archive": { "description": "Module for support XML (implementation based on the PugiXml library)", "dependencies": [ diff --git a/ports/bitsery/portfile.cmake b/ports/bitsery/portfile.cmake index 8451aa78207f32..2fc9262f0b1980 100644 --- a/ports/bitsery/portfile.cmake +++ b/ports/bitsery/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO fraillt/bitsery REF "v${VERSION}" - SHA512 6edaf4d5f22d640df67813f7525c2e076a76911079e25eeb93f4302a835b26d986379d1aad6bdb98f1781af3a5d638ee02ea9c32765741ce91366b518fc4d447 + SHA512 26e525d799d1777e182753c6c970765be8695a557e0fef35224ab8f4629a094c04fd8d7e456da369938d74acb0ca84084f394f212ae1343fa62a27256dba971f HEAD_REF master ) diff --git a/ports/bitsery/vcpkg.json b/ports/bitsery/vcpkg.json index 0774267a722a4d..4908314131e3eb 100644 --- a/ports/bitsery/vcpkg.json +++ b/ports/bitsery/vcpkg.json @@ -1,6 +1,6 @@ { "name": "bitsery", - "version": "5.2.3", + "version": "5.2.4", "description": "Header only C++ binary serialization library", "homepage": "https://github.com/fraillt/bitsery", "dependencies": [ diff --git a/ports/blake3/fix-windows-arm-build-error.patch b/ports/blake3/fix-windows-arm-build-error.patch index a1df6c18d5dea1..2296275671248b 100644 --- a/ports/blake3/fix-windows-arm-build-error.patch +++ b/ports/blake3/fix-windows-arm-build-error.patch @@ -7,7 +7,7 @@ index af6c3da..dce85b4 100644 #define ATOMIC_LOAD(x) x #define ATOMIC_STORE(x, y) x = y -#elif defined(_MSC_VER) -+#elif defined(IS_X86) and defined(_MSC_VER) ++#elif defined(IS_X86) && defined(_MSC_VER) #define ATOMIC_INT LONG #define ATOMIC_LOAD(x) InterlockedOr(&x, 0) #define ATOMIC_STORE(x, y) InterlockedExchange(&x, y) diff --git a/ports/blake3/portfile.cmake b/ports/blake3/portfile.cmake index 76cade75ea6ff1..0fb2aed60a6c62 100644 --- a/ports/blake3/portfile.cmake +++ b/ports/blake3/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO BLAKE3-team/BLAKE3 REF "${VERSION}" - SHA512 eb782d48240cf2fa8cc3cddd699dce3a362eb480b3ca58a97d54cd3595a0c969e51fe14374b91136036e8e29c8f745efbd5a4d1aaed2c17f23cb89fb756645d0 + SHA512 39b8c49f70a84ac23df1ddaf920ad3d829268db108077e67108b19bc7cdf7e18d468eba5d58a10d79269101204dad52c9463a5b1729d212e15f6c7a419fcfbe7 HEAD_REF main PATCHES fix-windows-arm-build-error.patch @@ -18,4 +18,4 @@ vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE_A2" "${SOURCE_PATH}/LICENSE_A2LLVM" "${SOURCE_PATH}/LICENSE_CC0") diff --git a/ports/blake3/vcpkg.json b/ports/blake3/vcpkg.json index e46a5b990dc4f1..862a1a2d4b2b36 100644 --- a/ports/blake3/vcpkg.json +++ b/ports/blake3/vcpkg.json @@ -1,6 +1,6 @@ { "name": "blake3", - "version": "1.5.0", + "version": "1.5.4", "description": "BLAKE3 cryptographic hash function.", "homepage": "https://github.com/BLAKE3-team/BLAKE3", "license": "CC0-1.0 OR Apache-2.0", diff --git a/ports/blas/CMakeLists.txt b/ports/blas/CMakeLists.txt deleted file mode 100644 index 790f79e8baa70e..00000000000000 --- a/ports/blas/CMakeLists.txt +++ /dev/null @@ -1,4 +0,0 @@ -cmake_minimum_required(VERSION 3.17) - -project(Find_BLAS_external) -find_package(BLAS REQUIRED) diff --git a/ports/blas/blas.pc.in b/ports/blas/blas.pc.in new file mode 100644 index 00000000000000..49f7f103dc1420 --- /dev/null +++ b/ports/blas/blas.pc.in @@ -0,0 +1,8 @@ +prefix=${pcfiledir}/../.. + +Name: BLAS +Description: Implementation of BLAS +Version: +Requires: @requires@ +Libs: @libs@ +Cflags: @cflags@ diff --git a/ports/blas/portfile.cmake b/ports/blas/portfile.cmake index d92af5c328163c..1b2db3c39edc76 100644 --- a/ports/blas/portfile.cmake +++ b/ports/blas/portfile.cmake @@ -1,15 +1,72 @@ -SET(VCPKG_POLICY_EMPTY_PACKAGE enabled) - -file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/blas") - -# Make sure BLAS can be found -vcpkg_list(SET CMAKE_IGNORE_PATH) -if(NOT DEFINED ENV{MKLROOT}) - list(APPEND CMAKE_IGNORE_PATH "${CURRENT_INSTALLED_DIR}/lib/intel64") -endif() -vcpkg_cmake_configure( - SOURCE_PATH "${CURRENT_PORT_DIR}" - OPTIONS - "-DCMAKE_PREFIX_PATH=${CURRENT_PACKAGES_DIR}" - "-DCMAKE_IGNORE_PATH=${CMAKE_IGNORE_PATH}" -) +SET(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +# Due to the interaction between BLAS and LAPACK, we need to choose implementations consistent with +# each other. +# +# First, if we are on Apple, we use the Accelerate framework. +# +# Then, we prefer to use openblas and lapack-reference for blas and lapack, respectively, but +# sometimes are unable. +# +# If we are on Windows and arm or uwp, that we use gfortran as our fortran compiler creates an issue +# because there is no available libgfortran. This means we can't use lapack-reference at all. +# +# If we are on Windows and static, there is a linking problem caused by static gfortran in the same +# link as openblas, so we have to use the blas implementation from lapack-reference. +# +# That results in roughly the following decision tree: +# +# no_libgfortran = (uwp || (windows && arm)) +# can_link_mixed_static_libgfortran = !windows || !static +# +# if (no_libgfortran) { +# return { +# "blas": "openblas", +# "lapack": "clapack" +# }; +# } else if (can_link_mixed_static_libgfortran) { +# return { +# "blas": "openblas", +# "lapack": "lapack-reference[noblas]" +# }; +# } else { +# return { +# "blas": "lapack-reference[blas]", +# "lapack": "lapack-reference[blas]" +# }; +# } +# +# Scoping this to just the 'can use openblas' question, we get: +# uwp || (windows && arm) || !windows || !static +# and for lapack-reference[blas], the DeMorgan'd inverse of that: +# !uwp && !(windows && arm) && windows && static + +if(VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_IOS) + # Use Apple's accelerate framework where available + set(BLA_VENDOR Apple) + set(requires "") + set(libs "-framework Accelerate") + set(cflags "-framework Accelerate") +elseif(VCPKG_TARGET_IS_UWP + OR (VCPKG_TARGET_IS_WINDOWS AND VCPKG_TARGET_ARCHITECTURE MATCHES "arm") + OR NOT VCPKG_TARGET_IS_WINDOWS + OR NOT (VCPKG_LIBRARY_LINKAGE STREQUAL "static")) + set(BLA_VENDOR OpenBLAS) + set(requires openblas) +else() + set(BLA_VENDOR Generic) + set(requires "blas-reference") +endif() + +configure_file("${CMAKE_CURRENT_LIST_DIR}/blas.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/blas.pc" @ONLY) +if(NOT VCPKG_BUILD_TYPE) + configure_file("${CMAKE_CURRENT_LIST_DIR}/blas.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/blas.pc" @ONLY) +endif() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + set(BLA_STATIC ON) +else() + set(BLA_STATIC OFF) +endif() + +configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake.in" "${CURRENT_PACKAGES_DIR}/share/blas/vcpkg-cmake-wrapper.cmake" @ONLY) diff --git a/ports/blas/vcpkg-cmake-wrapper.cmake b/ports/blas/vcpkg-cmake-wrapper.cmake deleted file mode 100644 index e152e8c87c3e41..00000000000000 --- a/ports/blas/vcpkg-cmake-wrapper.cmake +++ /dev/null @@ -1,9 +0,0 @@ -if(NOT DEFINED ENV{MKLROOT}) - set(z_vcpkg_blas_ignore_path "${CMAKE_IGNORE_PATH}") - list(APPEND CMAKE_IGNORE_PATH "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib/intel64") -endif() -_find_package(${ARGS}) -if(NOT DEFINED ENV{MKLROOT}) - set(CMAKE_IGNORE_PATH "${z_vcpkg_blas_ignore_path}") - unset(z_vcpkg_blas_ignore_path) -endif() diff --git a/ports/blas/vcpkg-cmake-wrapper.cmake.in b/ports/blas/vcpkg-cmake-wrapper.cmake.in new file mode 100644 index 00000000000000..67b63bc3d7dc5b --- /dev/null +++ b/ports/blas/vcpkg-cmake-wrapper.cmake.in @@ -0,0 +1,9 @@ +# BLA_VENDOR and BLA_STATIC are documented at: +# * https://cmake.org/cmake/help/latest/module/FindBLAS.html +# * https://cmake.org/cmake/help/latest/module/FindLAPACK.html + +set(BLA_VENDOR @BLA_VENDOR@) +set(BLA_STATIC @BLA_STATIC@) +_find_package(${ARGS}) +unset(BLA_VENDOR) +unset(BLA_STATIC) diff --git a/ports/blas/vcpkg.json b/ports/blas/vcpkg.json index 979381198851d4..69b62707fab31e 100644 --- a/ports/blas/vcpkg.json +++ b/ports/blas/vcpkg.json @@ -1,10 +1,22 @@ { + "$comment": "Keep the platform expressions in sync with the wrappers installed by the portfiles!", "name": "blas", - "version-date": "2023-03-25", + "version-date": "2023-04-14", + "port-version": 2, "description": "Metapackage for packages which provide BLAS", "license": null, "dependencies": [ - "openblas", + { + "name": "lapack-reference", + "features": [ + "cblas" + ], + "platform": "!osx & !ios & !uwp & !(windows & arm) & windows & static" + }, + { + "name": "openblas", + "platform": "!osx & !ios & (uwp | (windows & arm) | !windows | !static)" + }, { "name": "vcpkg-cmake", "host": true diff --git a/ports/blaze/portfile.cmake b/ports/blaze/portfile.cmake index c78f91d842a54a..8cdd4955c02c3f 100644 --- a/ports/blaze/portfile.cmake +++ b/ports/blaze/portfile.cmake @@ -6,9 +6,16 @@ vcpkg_from_bitbucket( HEAD_REF master ) +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + lapack USE_LAPACK + openmp BLAZE_SHARED_MEMORY_PARALLELIZATION +) + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS + ${FEATURE_OPTIONS} -DBLAZE_SMP_THREADS=OpenMP ) diff --git a/ports/blaze/vcpkg.json b/ports/blaze/vcpkg.json index 5df573d5d7537d..f5a9c41f0e6efa 100644 --- a/ports/blaze/vcpkg.json +++ b/ports/blaze/vcpkg.json @@ -1,12 +1,12 @@ { "name": "blaze", "version": "3.8.2", + "port-version": 1, "description": "Blaze is an open-source, high-performance C++ math library for dense and sparse arithmetic.", "homepage": "https://bitbucket.org/blaze-lib/blaze", "license": "BSD-3-Clause", "dependencies": [ "boost-exception", - "lapack", { "name": "vcpkg-cmake", "host": true @@ -15,5 +15,20 @@ "name": "vcpkg-cmake-config", "host": true } - ] + ], + "default-features": [ + "lapack", + "openmp" + ], + "features": { + "lapack": { + "description": "LAPACK support", + "dependencies": [ + "lapack" + ] + }, + "openmp": { + "description": "OpenMP support" + } + } } diff --git a/ports/blend2d/portfile.cmake b/ports/blend2d/portfile.cmake index c859fee8e58233..d2225fe30eebc1 100644 --- a/ports/blend2d/portfile.cmake +++ b/ports/blend2d/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO blend2d/blend2d - REF 7f292c15bafd8a7d92791f421cecb2ce84a75da8 # commited on 2023-06-16 - SHA512 dfd97a27b88bd94753b1404cbe63989186185bb6700b5c65a22b48e14fec7392038e328f30ea71a893c7bbee376f6017b4cdc2bf596259146be601d934c4fbdf + REF 9a86b2700917ced827c008c3dd488108afb3490c # commited on 2024-07-08 + SHA512 741404d4c7044e8d338ad5b02e6b6e00b7e40f9c9cf03c53de4607447b552f559747d4a96d53c7b6311abb6348f4bf8a4abd6d726c51be8c1b7e65e540c4f128 HEAD_REF master ) @@ -11,31 +11,14 @@ string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BLEND2D_STATIC) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS INVERTED_FEATURES jit BLEND2D_NO_JIT - logging BLEND2D_NO_JIT_LOGGING - tls BLEND2D_NO_TLS ) -if(NOT BLEND2D_NO_JIT) - vcpkg_from_github( - OUT_SOURCE_PATH ASMJIT_SOURCE_PATH - REPO asmjit/asmjit - REF 3577608cab0bc509f856ebf6e41b2f9d9f71acc4 # commited on 2023-04-28 - SHA512 36557af5c82ccc8e5ef2d4effe22b75e22c2bf1f4504daae3ff813e907449be6e7b25678af071cb9dede7c6e02dc5c8ad2fc2a3da011aa660eb7f5c75ab23042 - HEAD_REF master - ) - - file(REMOVE_RECURSE "${SOURCE_PATH}/3rdparty/asmjit") - - get_filename_component(ASMJIT_SOURCE_DIR_NAME "${ASMJIT_SOURCE_PATH}" NAME) - file(COPY "${ASMJIT_SOURCE_PATH}" DESTINATION "${SOURCE_PATH}/3rdparty") - file(RENAME "${SOURCE_PATH}/3rdparty/${ASMJIT_SOURCE_DIR_NAME}" "${SOURCE_PATH}/3rdparty/asmjit") -endif() - vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS "-DBLEND2D_STATIC=${BLEND2D_STATIC}" "-DBLEND2D_NO_FUTEX=OFF" + "-DBLEND2D_EXTERNAL_ASMJIT=ON" ${FEATURE_OPTIONS} ) @@ -45,14 +28,17 @@ vcpkg_copy_pdbs() vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -if(BLEND2D_STATIC) - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/blend2d/api.h" + "#if !defined(BL_STATIC)" + "#if 0" + ) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/blend2d-debug.h" + "#if defined(BL_STATIC)" + "#if 1" + ) endif() +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") - -if(BLEND2D_STATIC) - file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage_static.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME usage) -else() - file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -endif() diff --git a/ports/blend2d/usage_static.txt b/ports/blend2d/usage_static.txt deleted file mode 100644 index 45fd141ede68c8..00000000000000 --- a/ports/blend2d/usage_static.txt +++ /dev/null @@ -1,6 +0,0 @@ -blend2d provides CMake targets: - - find_package(blend2d CONFIG REQUIRED) - target_link_libraries(main PRIVATE blend2d::blend2d) - -Also, define BL_STATIC before any blend2d includes. diff --git a/ports/blend2d/vcpkg.json b/ports/blend2d/vcpkg.json index 07899cbcb3bf36..cbd12836b94ada 100644 --- a/ports/blend2d/vcpkg.json +++ b/ports/blend2d/vcpkg.json @@ -1,12 +1,11 @@ { "name": "blend2d", - "version-date": "2023-06-16", - "port-version": 1, - "description": "Beta 2D Vector Graphics Powered by a JIT Compiler", + "version-date": "2024-07-08", + "description": "2D Vector Graphics Engine Powered by a JIT Compiler", "homepage": "https://github.com/blend2d/blend2d", "documentation": "https://blend2d.com/doc/index.html", "license": "Zlib", - "supports": "!uwp & !wasm32", + "supports": "!wasm32", "dependencies": [ { "name": "vcpkg-cmake", @@ -18,41 +17,17 @@ } ], "default-features": [ - "jit", - "logging", - "tls" + { + "name": "jit", + "platform": "!arm32" + } ], "features": { "jit": { - "description": "Default feature. Enables jit pipeline compilation.", - "dependencies": [ - { - "name": "blend2d", - "default-features": false, - "platform": "windows" - } - ] - }, - "logging": { - "description": "Default feature. Enables logging.", - "dependencies": [ - { - "name": "blend2d", - "default-features": false, - "features": [ - "jit" - ] - } - ] - }, - "tls": { - "description": "Default feature. Enables use of thread_local feature. Disable for platforms where thread local storage is expensive or not supported.", + "description": "Enables JIT compiler to generate optimized pipelines.", + "supports": "!arm32", "dependencies": [ - { - "name": "blend2d", - "default-features": false, - "platform": "windows" - } + "asmjit" ] } } diff --git a/ports/blitz/portfile.cmake b/ports/blitz/portfile.cmake index cba693f54ff0d7..f2a0769d0070b5 100644 --- a/ports/blitz/portfile.cmake +++ b/ports/blitz/portfile.cmake @@ -6,9 +6,9 @@ vcpkg_from_github( HEAD_REF master ) -vcpkg_find_acquire_program(PYTHON2) -get_filename_component(PYTHON2_DIR "${PYTHON2}" DIRECTORY) -vcpkg_add_to_path("${PYTHON2_DIR}") +vcpkg_find_acquire_program(PYTHON3) +get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY) +vcpkg_add_to_path("${PYTHON3_DIR}") vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" @@ -30,10 +30,10 @@ vcpkg_copy_pdbs() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake) vcpkg_fixup_pkgconfig() -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/blitz/matbops.h" "${SOURCE_PATH}" "") -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/blitz/matuops.h" "${SOURCE_PATH}" "") -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/blitz/mathfunc.h" "${SOURCE_PATH}" "") -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/blitz/promote-old.h" "${SOURCE_PATH}" "") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/blitz/matbops.h" "${SOURCE_PATH}" "" IGNORE_UNCHANGED) +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/blitz/matuops.h" "${SOURCE_PATH}" "" IGNORE_UNCHANGED) +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/blitz/mathfunc.h" "${SOURCE_PATH}" "" IGNORE_UNCHANGED) +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/blitz/promote-old.h" "${SOURCE_PATH}" "" IGNORE_UNCHANGED) # Handle copyright file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/blitz/vcpkg.json b/ports/blitz/vcpkg.json index 93da72b81b94aa..bedb8f61a36842 100644 --- a/ports/blitz/vcpkg.json +++ b/ports/blitz/vcpkg.json @@ -1,7 +1,7 @@ { "name": "blitz", "version-date": "2020-03-25", - "port-version": 5, + "port-version": 7, "description": "Blitz++ is a C++ template class library that provides high-performance multidimensional array containers for scientific computing.", "homepage": "https://github.com/blitzpp/blitz", "supports": "!(arm | arm64 | uwp)", @@ -13,10 +13,6 @@ { "name": "vcpkg-cmake-config", "host": true - }, - { - "name": "vcpkg-tool-python2", - "host": true } ] } diff --git a/ports/bloomberg-quantum/portfile.cmake b/ports/bloomberg-quantum/portfile.cmake new file mode 100644 index 00000000000000..ea943726e47142 --- /dev/null +++ b/ports/bloomberg-quantum/portfile.cmake @@ -0,0 +1,22 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO bloomberg/quantum + REF f4b872f99480bc7f2ab60620d99823e8f2d3b0d6 + SHA512 c41930c8bb0a1b70fdd4123ef349a0e8e892e0ecd52b412a171b1ce05386323a9ed2376a792ac12cd69f7d5a97a257bc08c2b85ce8a5f16b6f4e75740823b53b + HEAD_REF master + PATCHES rename-config-file-and-namespace.patch +) + +set(VCPKG_BUILD_TYPE release) # header-only + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DQUANTUM_EXPORT_PKGCONFIG=OFF +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-${PORT} CONFIG_PATH "share/cmake/unofficial-${PORT}") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/bloomberg-quantum/rename-config-file-and-namespace.patch b/ports/bloomberg-quantum/rename-config-file-and-namespace.patch new file mode 100644 index 00000000000000..b7a5f24d49e51c --- /dev/null +++ b/ports/bloomberg-quantum/rename-config-file-and-namespace.patch @@ -0,0 +1,46 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5d22f0f..55d6f65 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -33,8 +33,9 @@ endif() + if (NOT QUANTUM_PKGCONFIG_DIR) + set(QUANTUM_PKGCONFIG_DIR share/pkgconfig) + endif() ++set(PROJECT_NAMESPACE_NAME unofficial-bloomberg-${PROJECT_NAME}) + if (NOT QUANTUM_CMAKE_CONFIG_DIR) +- set(QUANTUM_CMAKE_CONFIG_DIR share/cmake/${PROJECT_NAME}) ++ set(QUANTUM_CMAKE_CONFIG_DIR share/cmake/${PROJECT_NAMESPACE_NAME}) + endif() + + #Global options +diff --git a/cmake/QuantumConfig.cmake.in b/cmake/unofficial-bloomberg-QuantumConfig.cmake.in +similarity index 100% +rename from cmake/QuantumConfig.cmake.in +rename to cmake/unofficial-bloomberg-QuantumConfig.cmake.in +diff --git a/quantum/CMakeLists.txt b/quantum/CMakeLists.txt +index 1a721f9..1e93bc4 100644 +--- a/quantum/CMakeLists.txt ++++ b/quantum/CMakeLists.txt +@@ -21,10 +21,10 @@ make_quantum_header() + + set(PKG_DIR "${CMAKE_BINARY_DIR}/package") + set(PKGCONFIG_FILE "${PKG_DIR}/${PROJECT_TARGET_NAME}.pc") +-set(TARGET_CONFIG_FILE "${PKG_DIR}/${PROJECT_NAME}Config.cmake") +-set(TARGET_VERSION_FILE "${PKG_DIR}/${PROJECT_NAME}ConfigVersion.cmake") ++set(TARGET_CONFIG_FILE "${PKG_DIR}/${PROJECT_NAMESPACE_NAME}Config.cmake") ++set(TARGET_VERSION_FILE "${PKG_DIR}/${PROJECT_NAMESPACE_NAME}ConfigVersion.cmake") + set(TARGET_EXPORT_NAME ${PROJECT_NAME}Targets) +-set(NAMESPACE "${PROJECT_NAME}::") ++set(NAMESPACE "${PROJECT_NAMESPACE_NAME}::") + + add_library(${PROJECT_TARGET_NAME} INTERFACE) + set(QUANTUM_DEPENDENCIES Boost::context pthread) +@@ -70,7 +70,7 @@ if (QUANTUM_EXPORT_CMAKE_CONFIG) + + # Generate CMAKE configuration file and exported targets + configure_package_config_file( +- "${PROJECT_SOURCE_DIR}/cmake/${PROJECT_NAME}Config.cmake.in" ++ "${PROJECT_SOURCE_DIR}/cmake/${PROJECT_NAMESPACE_NAME}Config.cmake.in" + "${TARGET_CONFIG_FILE}" + INSTALL_DESTINATION "${QUANTUM_CMAKE_CONFIG_DIR}" + PATH_VARS CMAKE_INSTALL_PREFIX CMAKE_INSTALL_INCLUDEDIR diff --git a/ports/bloomberg-quantum/vcpkg.json b/ports/bloomberg-quantum/vcpkg.json new file mode 100644 index 00000000000000..71182a149de0f7 --- /dev/null +++ b/ports/bloomberg-quantum/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "bloomberg-quantum", + "version-date": "2023-02-03", + "description": "Powerful multi-threaded coroutine dispatcher and parallel execution engine", + "homepage": "https://github.com/bloomberg/quantum/", + "license": "Apache-2.0", + "dependencies": [ + "boost-context", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/blosc/portfile.cmake b/ports/blosc/portfile.cmake index 926dc4a63a5c0d..42d07f75b36445 100644 --- a/ports/blosc/portfile.cmake +++ b/ports/blosc/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Blosc/c-blosc REF "v${VERSION}" - SHA512 01e6d80e1114d76c4bd1b413778c293d0455879ec38e1e1ec46e8e7eaf2997b47cc2de35bc52cdc4c2c70341b6f87d70626a9a9c24ffc8b7b170d760efa60c07 + SHA512 f32ac9ca7dd473f32201cdf4b7bb61a89e8bc3e3d16e027d2c6dc1aa838cb47c42dfed6942c9108532b3920ed22a8c662e7451890177c9bbe6ec5b8ab65362b3 HEAD_REF master PATCHES 0001-fix-CMake-config.patch diff --git a/ports/blosc/vcpkg.json b/ports/blosc/vcpkg.json index a6f7af997517a8..ad5edf9e95a385 100644 --- a/ports/blosc/vcpkg.json +++ b/ports/blosc/vcpkg.json @@ -1,6 +1,6 @@ { "name": "blosc", - "version": "1.21.5", + "version": "1.21.6", "description": "A blocking, shuffling and loss-less compression library that can be faster than `memcpy()`", "homepage": "https://github.com/Blosc/c-blosc", "license": "BSD-3-Clause", diff --git a/ports/blpapi/portfile.cmake b/ports/blpapi/portfile.cmake index ba712278846a89..e5286139bd6b08 100644 --- a/ports/blpapi/portfile.cmake +++ b/ports/blpapi/portfile.cmake @@ -3,15 +3,15 @@ if (VCPKG_TARGET_IS_LINUX) vcpkg_download_distfile(ARCHIVE - URLS "https://bcms.bloomberg.com/BLPAPI-Generic/blpapi_cpp_3.20.2.1-linux.tar.gz" - FILENAME "blpapi_cpp_3.20.2.1-linux.tar.gz" - SHA512 4d4cf999d6cc2bf924dfb79fdabd2a30c2d1251e4e56fe856684c4f8e0be03dcd33f69d75f8706d381bb35ad4b1ad954a5cc88156a80e053f2601d8257815863 + URLS "https://blpapi.bloomberg.com/download/releases/raw/files/blpapi_cpp_3.24.6.1-linux.tar.gz" + FILENAME "blpapi_cpp_3.24.6.1-linux.tar.gz" + SHA512 a70b43614a7c3414ca391b4b1a9499a545d6ec98779caafed4317b2bc5cdce3e493bcd600196b340c657ce23287ce6f85833ec270b5301e074884f4640cb19f4 ) elseif (VCPKG_TARGET_IS_WINDOWS) vcpkg_download_distfile(ARCHIVE - URLS "https://bcms.bloomberg.com/BLPAPI-Generic/blpapi_cpp_3.20.2.2-windows.zip" - FILENAME "blpapi_cpp_3.20.2.2-windows.zip" - SHA512 f6e66d75a8f16c014737ae813c65304e38423e5ab955eb98fb7f487eecda06bcc9d84733b55957ac577f689da2af753fdeb132feb0eb02a9ec38e8f3868ad795 + URLS "https://blpapi.bloomberg.com/download/releases/raw/files/blpapi_cpp_3.24.6.1-windows.zip" + FILENAME "blpapi_cpp_3.24.6.1-windows.zip" + SHA512 1e1dba172767c9fcd0d015f2e8eaa16ef25f643a241144bf4a38ed35c8d8cce9f7fa9f4275636abd8a7307c21def17e50cda0a28bdb3f233d1e7a5affd87d3a5 ) endif() diff --git a/ports/blpapi/vcpkg.json b/ports/blpapi/vcpkg.json index 89fc990e40c16e..b53c7975db1966 100644 --- a/ports/blpapi/vcpkg.json +++ b/ports/blpapi/vcpkg.json @@ -1,6 +1,6 @@ { "name": "blpapi", - "version": "3.20.2", + "version": "3.24.6", "description": "Bloomberg API Library (BLPAPI)", "homepage": "https://www.bloomberg.com/professional/support/api-library/", "supports": "(linux | (windows & !uwp)) & !static & (x86 | x64)" diff --git a/ports/bluescarni-tanuki/portfile.cmake b/ports/bluescarni-tanuki/portfile.cmake new file mode 100644 index 00000000000000..a0a2630a06922a --- /dev/null +++ b/ports/bluescarni-tanuki/portfile.cmake @@ -0,0 +1,11 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO bluescarni/tanuki + REF 14e076abf879bcded0cc437cd09f3766969b15d1 + SHA512 e847e13e757aa2eee0ed8cde584d39545786a233905f6ed30110dcfc325dfe26eeb37ee00bff4936aa311bfdd66bb3f3f58f41aafc021701c4ea056caf964ee3 + HEAD_REF main +) + +file(INSTALL "${SOURCE_PATH}/include/tanuki/tanuki.hpp" DESTINATION "${CURRENT_PACKAGES_DIR}/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/bluescarni-tanuki/vcpkg.json b/ports/bluescarni-tanuki/vcpkg.json new file mode 100644 index 00000000000000..3bfc03dd64ae25 --- /dev/null +++ b/ports/bluescarni-tanuki/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "bluescarni-tanuki", + "version-date": "2024-08-17", + "description": "A type-erasure toolkit for C++20.", + "homepage": "https://github.com/bluescarni/tanuki", + "license": "MPL-2.0" +} diff --git a/ports/boinc/portfile.cmake b/ports/boinc/portfile.cmake index 595b12d6375635..6b10083be5cf49 100644 --- a/ports/boinc/portfile.cmake +++ b/ports/boinc/portfile.cmake @@ -1,10 +1,10 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - +string(REGEX REPLACE "^([0-9]*[.][0-9]*)[.].*" "\\1" MAJOR_MINOR "${VERSION}") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO BOINC/boinc - REF client_release/7.24/7.24.1 - SHA512 7dad36900c13b69a89b5a173fc283130bc4cf15c781ed31ed72ce0b6ba0db4895a12314d0f302c7a91c2762333b7c162f20f32e67ed5e2e7a4099e1f2238c255 + REF "client_release/${MAJOR_MINOR}/${VERSION}" + SHA512 0e0c4f7647325f8f1e8a87da0d7ff43d1a3e5d3ef0dc3daf1fb974a47c0e4fb7318b3fdde77d0ae6ec4f3d30be113a5ceff33658facc8f3c2c325c8c61942698 HEAD_REF master ) diff --git a/ports/boinc/vcpkg.json b/ports/boinc/vcpkg.json index 31c73c72c2d181..2516a091e0ffd3 100644 --- a/ports/boinc/vcpkg.json +++ b/ports/boinc/vcpkg.json @@ -1,6 +1,6 @@ { "name": "boinc", - "version": "7.24.1", + "version": "8.0.4", "description": "Open-source software for volunteer computing and grid computing.", "homepage": "https://boinc.berkeley.edu/", "license": "LGPL-3.0-or-later", diff --git a/ports/bond/fix-install-path.patch b/ports/bond/fix-install-path.patch index 643e0cfbfbf0d3..75d26ceeec2edb 100644 --- a/ports/bond/fix-install-path.patch +++ b/ports/bond/fix-install-path.patch @@ -1,17 +1,17 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index f2f8eaa..1b0c01c 100644 +index 7b22038a..400421c7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -23,7 +23,7 @@ set (BOND_FIND_RAPIDJSON - # settings so that we don't apply our settings to third-party code. - add_subdirectory (thirdparty) +@@ -16,7 +16,7 @@ set (BOND_FIND_RAPIDJSON + "FALSE" + CACHE BOOL "If FALSE, then use and install rapidjson from the /thirdparty subdirectory") -enable_testing() +#enable_testing() set (BOND_IDL ${CMAKE_CURRENT_SOURCE_DIR}/idl) set (BOND_INCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/cpp/inc) -@@ -85,6 +85,6 @@ if (BOND_GBC_PATH) +@@ -78,6 +78,6 @@ if (BOND_GBC_PATH) install ( FILES ${BOND_GBC_PATH} @@ -20,10 +20,10 @@ index f2f8eaa..1b0c01c 100644 RENAME ${INSTALLED_GBC_NAME}) endif() diff --git a/compiler/CMakeLists.txt b/compiler/CMakeLists.txt -index 1dff9d0..9a11575 100644 +index c8d06afd..6440e9fd 100644 --- a/compiler/CMakeLists.txt +++ b/compiler/CMakeLists.txt -@@ -108,7 +108,7 @@ set (test_sources +@@ -107,7 +107,7 @@ set (test_sources tests/TestMain.hs ${tests}) @@ -32,7 +32,7 @@ index 1dff9d0..9a11575 100644 set (completion ${CMAKE_CURRENT_BINARY_DIR}/gbc.comp) set (output ${CMAKE_CURRENT_BINARY_DIR}/build/gbc/gbc${CMAKE_EXECUTABLE_SUFFIX}) set (GBC_EXECUTABLE ${output} PARENT_SCOPE) -@@ -130,7 +130,7 @@ endif() +@@ -129,7 +129,7 @@ endif() install (FILES ${output} PERMISSIONS OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE @@ -42,10 +42,10 @@ index 1dff9d0..9a11575 100644 install (FILES ${completion} RENAME gbc diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt -index b45078e..1eebe9c 100644 +index 15203f66..c15becd5 100644 --- a/cpp/CMakeLists.txt +++ b/cpp/CMakeLists.txt -@@ -110,7 +110,7 @@ target_include_directories (bond_apply BEFORE PRIVATE +@@ -91,7 +91,7 @@ target_include_directories (bond_apply BEFORE PRIVATE install (TARGETS bond bond_apply EXPORT bond diff --git a/ports/bond/portfile.cmake b/ports/bond/portfile.cmake index 2e119751510866..8809ba6367242b 100644 --- a/ports/bond/portfile.cmake +++ b/ports/bond/portfile.cmake @@ -4,18 +4,17 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO microsoft/bond REF "${VERSION}" - SHA512 a5475d3f988928fc3d03b69fc34b33ada35bd790138a0f4a733642558c72945e79c5dcde88b656cbc1cafbc3cb2dd4ba28031e09e507d730056876148ef65014 + SHA512 b00e371686bbd8aca36d70ffb079a460323e9aecef7431d78018891d27c9af9fe0cad9f489b7e98b3c9ef9786192d75e72fe6835fb6933983ccb0ecf05bb99df HEAD_REF master PATCHES fix-install-path.patch - skip-grpc-compilation.patch ) if (VCPKG_TARGET_IS_WINDOWS) vcpkg_download_distfile(GBC_ARCHIVE URLS "https://github.com/microsoft/bond/releases/download/${VERSION}/gbc-${VERSION}-amd64.zip" FILENAME "gbc-${VERSION}-amd64.zip" - SHA512 590b051aa47ad161f8a8a5f782e22d2201ad536e0772c9e528f98df1d1fd2b154723d21587d35c8b948805ab229dfb3b515273ae37d05028554fd49b39dc5418 + SHA512 4CD92F0665E36CB718311A237DF80B8CD93BFE33971F6460B88A1B74E9E2237D6AEA146766D6AE92674E2DDBBB3245CEBB199FF5BA82163FE69781340E0479AE ) # Clear the generator to prevent it from updating @@ -35,11 +34,6 @@ else() message("\nA recent version of Haskell Tool Stack is required to build.\n For information on how to install see https://docs.haskellstack.org/en/stable/README/\n") endif() -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - FEATURES - bond-over-grpc BOND_ENABLE_GRPC -) - set(ENV{STACK_ROOT} "${CURRENT_BUILDTREES_DIR}/stack") vcpkg_cmake_configure( @@ -50,6 +44,7 @@ vcpkg_cmake_configure( -DBOND_GBC_PATH=${FETCHED_GBC_PATH} -DBOND_SKIP_GBC_TESTS=TRUE -DBOND_FIND_RAPIDJSON=TRUE + -DBOND_SKIP_CORE_TESTS=TRUE -DBOND_STACK_OPTIONS=--allow-different-user ${FEATURE_OPTIONS} ) diff --git a/ports/bond/skip-grpc-compilation.patch b/ports/bond/skip-grpc-compilation.patch deleted file mode 100644 index eb45faba4265c8..00000000000000 --- a/ports/bond/skip-grpc-compilation.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/thirdparty/CMakeLists.txt b/thirdparty/CMakeLists.txt -index 8c1f368..8b13789 100644 ---- a/thirdparty/CMakeLists.txt -+++ b/thirdparty/CMakeLists.txt -@@ -1,10 +1 @@ --include (Compiler) - --if (BOND_ENABLE_GRPC) -- if (BOND_FIND_GRPC) -- find_package(grpc CONFIG REQUIRED) -- else () -- cxx_add_compile_options(Clang -Wno-unused-value) -- add_subdirectory(grpc) -- endif () --endif () diff --git a/ports/bond/vcpkg.json b/ports/bond/vcpkg.json index 7e28e4a4e60162..51f162963f0246 100644 --- a/ports/bond/vcpkg.json +++ b/ports/bond/vcpkg.json @@ -1,7 +1,6 @@ { "name": "bond", - "version": "10.0.0", - "port-version": 1, + "version": "13.0.1", "description": "Bond is a cross-platform framework for working with schematized data. It supports cross-language de/serialization and powerful generic mechanisms for efficiently manipulating data. Bond is broadly used at Microsoft in high scale services.", "homepage": "https://github.com/Microsoft/bond", "dependencies": [ @@ -18,13 +17,5 @@ "name": "vcpkg-cmake-config", "host": true } - ], - "features": { - "bond-over-grpc": { - "description": "Bond-over-gRPC provides code generation from Bond IDL service definitions to send Bond objects via gRPC.", - "dependencies": [ - "grpc" - ] - } - } + ] } diff --git a/ports/boost-accumulators/portfile.cmake b/ports/boost-accumulators/portfile.cmake index 9b508f23e64460..69e1f269c8a865 100644 --- a/ports/boost-accumulators/portfile.cmake +++ b/ports/boost-accumulators/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/accumulators - REF boost-1.83.0 - SHA512 6c7b9b03235945e796eb629e632f074262c46c9201918cd636298b87d464f97923fdb6f9d64c8d3ff70a5e4d6afac4f7d95fb338cf67b9c3ee4c0a7812d62984 + REF boost-${VERSION} + SHA512 72cb1c2bf3d58b8a97ca70765e73b98151b6767c80cc309f8117b4624909d45359cfbae7f4aab8e1f9a854bf9313be06cabd4d0d0d008ec3b5b755bbae11c0ed HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-accumulators/vcpkg.json b/ports/boost-accumulators/vcpkg.json index b6ae3428119199..43fe61ddc5799f 100644 --- a/ports/boost-accumulators/vcpkg.json +++ b/ports/boost-accumulators/vcpkg.json @@ -1,94 +1,98 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-accumulators", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost accumulators module", - "homepage": "https://github.com/boostorg/accumulators", + "homepage": "https://www.boost.org/libs/accumulators", "license": "BSL-1.0", "dependencies": [ { "name": "boost-array", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-circular-buffer", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-concept-check", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-fusion", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-iterator", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-numeric-conversion", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-parameter", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-preprocessor", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-range", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-serialization", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-tuple", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-typeof", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-ublas", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-algorithm/portfile.cmake b/ports/boost-algorithm/portfile.cmake index 5988bb02e450ea..0494d1717db66c 100644 --- a/ports/boost-algorithm/portfile.cmake +++ b/ports/boost-algorithm/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/algorithm - REF boost-1.83.0 - SHA512 88321824ce0ec8c804c6a8451d16fb45b611107aaf0fcc0ee9ca4efd6fb17e60638b55867c811b8c3e57a270c21573ccba4d7e49865ee7a8df2e87d7759f46e4 + REF boost-${VERSION} + SHA512 2ce673ab8693cca338a4499d0dbe0c63b8b4967f017463fefd59a2892a636bf1197b49bf625cef797c93efd0685a5c399daa1d55456c35bcbcd013d47476c72b HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-algorithm/vcpkg.json b/ports/boost-algorithm/vcpkg.json index aa517edaf9fcd2..ad8812fbd3ccb1 100644 --- a/ports/boost-algorithm/vcpkg.json +++ b/ports/boost-algorithm/vcpkg.json @@ -1,82 +1,86 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-algorithm", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost algorithm module", - "homepage": "https://github.com/boostorg/algorithm", + "homepage": "https://www.boost.org/libs/algorithm", "license": "BSL-1.0", "dependencies": [ { "name": "boost-array", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-bind", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-concept-check", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-function", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-iterator", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-range", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-regex", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-tuple", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-unordered", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-align/portfile.cmake b/ports/boost-align/portfile.cmake index 79f790abc7eb2d..284536b611b285 100644 --- a/ports/boost-align/portfile.cmake +++ b/ports/boost-align/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/align - REF boost-1.83.0 - SHA512 4a8a3b9686a29c2d52bb23f52a256aee8f246b72a832af63082b87a8435aeab076a67c0cd220b1bad9d6a9f0184c59a2495594c7a4eb86916495ee2c8d35e5dc + REF boost-${VERSION} + SHA512 bffa9c6accb4e52fea876aca2fae3ed969f65deff578344c3cce48890650e30981f2010d64f19c642791f1a5d3798198502ebf56582096f0f734d5c2a665bb21 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-align/vcpkg.json b/ports/boost-align/vcpkg.json index e8ac7c176bc96c..6bbd8f0f980ed0 100644 --- a/ports/boost-align/vcpkg.json +++ b/ports/boost-align/vcpkg.json @@ -1,30 +1,34 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-align", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost align module", - "homepage": "https://github.com/boostorg/align", + "homepage": "https://www.boost.org/libs/align", "license": "BSL-1.0", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-static-assert", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "name": "boost-static-assert", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-any/portfile.cmake b/ports/boost-any/portfile.cmake index 3aadf636e5e195..a160b5fbbd12cd 100644 --- a/ports/boost-any/portfile.cmake +++ b/ports/boost-any/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/any - REF boost-1.83.0 - SHA512 5e0916fb16e14bc0d4702b3fa89a2ed1aadf0297abf627d2774604453d5049b799a9958e1bd525ef477e59fb28d65b3763d945603029200534d550e9137541c2 + REF boost-${VERSION} + SHA512 721d3f1cd479994f8a6562333e76409c53c1baf2f7c77a074c9f1d07e896a88e3302eb570c3476d2fb7af5811fe7692a9e9c1b0b171deb00e8649cc588544f27 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-any/vcpkg.json b/ports/boost-any/vcpkg.json index 6cebf811b3f177..ae32df4016a613 100644 --- a/ports/boost-any/vcpkg.json +++ b/ports/boost-any/vcpkg.json @@ -1,42 +1,34 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-any", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost any module", - "homepage": "https://github.com/boostorg/any", + "homepage": "https://www.boost.org/libs/any", "license": "BSL-1.0", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-config", - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" }, { - "name": "boost-core", - "version>=": "1.83.0" + "name": "boost-config", + "version>=": "1.86.0" }, { - "name": "boost-static-assert", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-index", - "version>=": "1.83.0" - }, - { - "name": "boost-type-traits", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-array/portfile.cmake b/ports/boost-array/portfile.cmake index 070351b5aefbbb..98848c22d332af 100644 --- a/ports/boost-array/portfile.cmake +++ b/ports/boost-array/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/array - REF boost-1.83.0 - SHA512 3f1ec923d440139f57a5b7ec652501dad2cb0b6317cf7f064db2fddcc126fcad63e8b6c95b44b50b3e0c0b457245e386540e14d5e881cc611d6f2ce6fe395d00 + REF boost-${VERSION} + SHA512 a3fe3e7230bd5d82874b4a7c73311f6656c37820eeec5f6186547dde77a43ce5c6264aa0aed87f41399ab50e14988d816d6dd5e66f7ee0fe307c1d15e14d4355 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-array/vcpkg.json b/ports/boost-array/vcpkg.json index ceb2cf98c1556d..abb32a85da3d82 100644 --- a/ports/boost-array/vcpkg.json +++ b/ports/boost-array/vcpkg.json @@ -1,34 +1,38 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-array", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost array module", - "homepage": "https://github.com/boostorg/array", + "homepage": "https://www.boost.org/libs/array", "license": "BSL-1.0", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-static-assert", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { - "name": "boost-throw-exception", - "version>=": "1.83.0" + "name": "boost-static-assert", + "version>=": "1.86.0" }, { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "name": "boost-throw-exception", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-asio/opt-dep.diff b/ports/boost-asio/opt-dep.diff new file mode 100644 index 00000000000000..49992e76f53829 --- /dev/null +++ b/ports/boost-asio/opt-dep.diff @@ -0,0 +1,28 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2ad3c1de2f..c918c7707d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -17,13 +17,21 @@ target_link_libraries(boost_asio + Boost::align + Boost::assert + Boost::config +- Boost::context +- Boost::coroutine ++ $ ++ $ + Boost::date_time + Boost::system + Boost::throw_exception + ) + ++if(NOT TARGET Boost::context) ++ target_compile_definitions(boost_asio INTERFACE $<$>:BOOST_ASIO_DISABLE_BOOST_CONTEXT_FIBER>) ++endif() ++ ++if(NOT TARGET Boost::coroutine) ++ target_compile_definitions(boost_asio INTERFACE $<$>:BOOST_ASIO_DISABLE_BOOST_COROUTINE>) ++endif() ++ + target_compile_features(boost_asio INTERFACE cxx_std_11) + + if(BUILD_TESTING AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/test/CMakeLists.txt") diff --git a/ports/boost-asio/portfile.cmake b/ports/boost-asio/portfile.cmake index 892cc4ea93bb6c..34a0f260dba0d4 100644 --- a/ports/boost-asio/portfile.cmake +++ b/ports/boost-asio/portfile.cmake @@ -3,11 +3,15 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/asio - REF boost-1.83.0 - SHA512 83e6f39a4b8e54c89e7e7d322acc9e52a83a2a37f45c834a0267f0dbc1219314ad008f4f97e4cddc0a0c15dbea1785681181cea2e903773bdb31176875e0af95 + REF boost-${VERSION} + SHA512 379905acf0cc0352c8df32f4106c3e17ad0f02fd0367288c2dca319a7573bd34ebf435a0e9d876ee0d44a24189d896167c49c7727e1dc77c0fca887e9f7a6eca HEAD_REF master - PATCHES windows_alloca_header.patch + PATCHES + opt-dep.diff ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-asio/vcpkg.json b/ports/boost-asio/vcpkg.json index 69f51495dba8f8..19b3ef82d6496c 100644 --- a/ports/boost-asio/vcpkg.json +++ b/ports/boost-asio/vcpkg.json @@ -1,88 +1,52 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-asio", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost asio module", - "homepage": "https://github.com/boostorg/asio", + "homepage": "https://www.boost.org/libs/asio", "license": "BSL-1.0", "dependencies": [ { "name": "boost-align", - "version>=": "1.83.0" - }, - { - "name": "boost-array", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-bind", - "version>=": "1.83.0" - }, - { - "name": "boost-chrono", - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-context", "platform": "!uwp & !emscripten", - "version>=": "1.83.0" - }, - { - "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-coroutine", "platform": "!(arm & windows) & !uwp & !emscripten", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-date-time", - "version>=": "1.83.0" - }, - { - "name": "boost-exception", - "version>=": "1.83.0" - }, - { - "name": "boost-function", - "version>=": "1.83.0" - }, - { - "name": "boost-regex", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-smart-ptr", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-system", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" - }, - { - "name": "boost-type-traits", - "version>=": "1.83.0" - }, - { - "name": "boost-utility", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ], "features": { diff --git a/ports/boost-asio/windows_alloca_header.patch b/ports/boost-asio/windows_alloca_header.patch deleted file mode 100644 index 609e1ebfe110d0..00000000000000 --- a/ports/boost-asio/windows_alloca_header.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/include/boost/asio/detail/impl/socket_ops.ipp b/include/boost/asio/detail/impl/socket_ops.ipp -index 7d7c31f..d2cd468 100644 ---- a/include/boost/asio/detail/impl/socket_ops.ipp -+++ b/include/boost/asio/detail/impl/socket_ops.ipp -@@ -27,6 +27,10 @@ - #include - #include - -+#if defined(BOOST_ASIO_WINDOWS) -+#include -+#endif -+ - #if defined(BOOST_ASIO_WINDOWS_RUNTIME) - # include - # include diff --git a/ports/boost-assert/portfile.cmake b/ports/boost-assert/portfile.cmake index 5ba6918637c1e9..e76b83cf5ebba7 100644 --- a/ports/boost-assert/portfile.cmake +++ b/ports/boost-assert/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/assert - REF boost-1.83.0 - SHA512 6ae5fd1bf3360361fdc0dd7c47752aba866c44766129359f0d00b4d9a6357c50b86d20f7aa6ebb1a324e575c4256a7690de589ca98d49eb6e0677def8aded5ca + REF boost-${VERSION} + SHA512 5774b88d43233d53a3449962c0768ff1362bde7a116130f0d433ae6e9937925f98a7575f6dc11743230940da5d1972664dabdae035722fa2881bcdef5e4bbbfc HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-assert/vcpkg.json b/ports/boost-assert/vcpkg.json index 85ba47c2542d17..0b021e430f1c02 100644 --- a/ports/boost-assert/vcpkg.json +++ b/ports/boost-assert/vcpkg.json @@ -1,18 +1,22 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-assert", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost assert module", - "homepage": "https://github.com/boostorg/assert", + "homepage": "https://www.boost.org/libs/assert", "license": "BSL-1.0", "dependencies": [ + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-assign/portfile.cmake b/ports/boost-assign/portfile.cmake index f2f620f990cd08..227cf4787cd154 100644 --- a/ports/boost-assign/portfile.cmake +++ b/ports/boost-assign/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/assign - REF boost-1.83.0 - SHA512 cdcab29f429528aff53c009e6ee822c70e763534561be97be5ceb806d58ea2906b19b3e81f667f27fb08a320385a9207122d5bdba704e314eda040377d63ea6a + REF boost-${VERSION} + SHA512 c86e613bdd0cade0f2be229ea12fea2e869cbc220c8f95a743a0599d2c0e74a41e6feff71c40fb6197cc4f53a632c42ff8f7f2ec4e6ac8c769c6fea1820fa3cc HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-assign/vcpkg.json b/ports/boost-assign/vcpkg.json index a87c622fe261b7..3ff81d04c996d9 100644 --- a/ports/boost-assign/vcpkg.json +++ b/ports/boost-assign/vcpkg.json @@ -1,58 +1,62 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-assign", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost assign module", - "homepage": "https://github.com/boostorg/assign", + "homepage": "https://www.boost.org/libs/assign", "license": "BSL-1.0", "dependencies": [ { "name": "boost-array", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-move", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-preprocessor", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-ptr-container", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-range", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-tuple", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-atomic/fix-include.patch b/ports/boost-atomic/fix-include.patch new file mode 100644 index 00000000000000..f78794baad72f7 --- /dev/null +++ b/ports/boost-atomic/fix-include.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index cf6dc658f2..4e976a3676 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -20,6 +20,8 @@ find_package(Threads REQUIRED) + # official monolithic Boost distribution tree). + include(cmake/BoostLibraryIncludes.cmake) + ++list(APPEND BOOST_LIBRARY_INCLUDES "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include") ++ + set(boost_atomic_sources src/lock_pool.cpp) + + set(CMAKE_REQUIRED_INCLUDES ${BOOST_LIBRARY_INCLUDES}) diff --git a/ports/boost-atomic/portfile.cmake b/ports/boost-atomic/portfile.cmake index 54ac7a4bc15505..f8f95b3c569a40 100644 --- a/ports/boost-atomic/portfile.cmake +++ b/ports/boost-atomic/portfile.cmake @@ -3,19 +3,16 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/atomic - REF boost-1.83.0 - SHA512 d6ee15758d9de6c64e9bb307e3b9a5a9aea6d4555be2df78c8ed8089d9da75926f6ec376c2917fbb8c2f985f23b0b926b39fb2d02921c443a83edb77e0455996 + REF boost-${VERSION} + SHA512 9296704de816cfa3a262d7d49b39431565ca24e65c9503fcef068c65f1bdd08f4c451a1355cb107ffd1c3d6dbf54a5a09c0e2b7b3658e78eeada1f4517494536 HEAD_REF master + PATCHES + fix-include.patch + ) -vcpkg_replace_string("${SOURCE_PATH}/build/Jamfile.v2" - "project.load [ path.join [ path.make $(here:D) ] ../../config/checks/architecture ]" - "project.load [ path.join [ path.make $(here:D) ] ../config/checks/architecture ]" +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} ) -file(COPY "${CURRENT_INSTALLED_DIR}/share/boost-config/checks" DESTINATION "${SOURCE_PATH}/config") -#Make sure to keep this line when updating boost. -file(INSTALL "${SOURCE_PATH}/config/has_synchronization_lib.cpp" DESTINATION "${CURRENT_PACKAGES_DIR}/share/boost-atomic") -include(${CURRENT_HOST_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake) -boost_modular_build(SOURCE_PATH ${SOURCE_PATH}) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) diff --git a/ports/boost-atomic/vcpkg.json b/ports/boost-atomic/vcpkg.json index bbdb68070987fb..773400e682aa1d 100644 --- a/ports/boost-atomic/vcpkg.json +++ b/ports/boost-atomic/vcpkg.json @@ -1,60 +1,46 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-atomic", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost atomic module", - "homepage": "https://github.com/boostorg/atomic", + "homepage": "https://www.boost.org/libs/atomic", "license": "BSL-1.0", "dependencies": [ { "name": "boost-align", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-build", - "host": true, - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-modular-build-helper", - "host": true, - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-predef", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-preprocessor", - "version>=": "1.83.0" - }, - { - "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-winapi", - "version>=": "1.83.0" - }, - { - "name": "vcpkg-cmake", - "host": true + "version>=": "1.86.0" } ] } diff --git a/ports/boost-beast/portfile.cmake b/ports/boost-beast/portfile.cmake index bd81a5f132a5bb..d540d1f0abdd84 100644 --- a/ports/boost-beast/portfile.cmake +++ b/ports/boost-beast/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/beast - REF boost-1.83.0 - SHA512 d79ab6eb972e2beff4751809b3038c816578d6ea10422eca89bb75652686315bc31579761982a098c100272320b0e36ba2b4b70c2d5d30d7f2aa9a1a60e78ec8 + REF boost-${VERSION} + SHA512 342e78855354a8c35c0ca2297ce7abdb28fec2ef119bee419931994bbd1bb0251b7ac46061709b9373f3dd263a7a6a660063b6837d3419daea9327bbcb217130 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-beast/vcpkg.json b/ports/boost-beast/vcpkg.json index 2738c5d17a6f9e..64ed266ce54b35 100644 --- a/ports/boost-beast/vcpkg.json +++ b/ports/boost-beast/vcpkg.json @@ -1,99 +1,103 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-beast", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost beast module", - "homepage": "https://github.com/boostorg/beast", + "homepage": "https://www.boost.org/libs/beast", "license": "BSL-1.0", "supports": "!emscripten", "dependencies": [ { "name": "boost-asio", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-bind", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-container", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-container-hash", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-endian", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-intrusive", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-logic", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-mp11", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-optional", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-preprocessor", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-smart-ptr", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-string", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-system", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-index", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-winapi", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-bimap/portfile.cmake b/ports/boost-bimap/portfile.cmake index 44ea51f7ac0f89..04fdd3dd42d2fa 100644 --- a/ports/boost-bimap/portfile.cmake +++ b/ports/boost-bimap/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/bimap - REF boost-1.83.0 - SHA512 e4de66ad6c185be505abbe077ce22862466dd11c2d11d3879032e43e0fd08cd9b4b27276422fd4f5909b5367e483f891c75e1895407ca8d67a4284d9821c04eb + REF boost-${VERSION} + SHA512 1bd2a7d5d07c1a96ece6dd3683374212b89343aa7096d2631f6fd8e4650f34e5cdca5cd920ad5a4d8d06adc190b890041343c89827a98cb2eac2de66da463979 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-bimap/vcpkg.json b/ports/boost-bimap/vcpkg.json index 5843fc0518ce0a..4931cc2094769b 100644 --- a/ports/boost-bimap/vcpkg.json +++ b/ports/boost-bimap/vcpkg.json @@ -1,66 +1,70 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-bimap", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost bimap module", - "homepage": "https://github.com/boostorg/bimap", + "homepage": "https://www.boost.org/libs/bimap", "license": "BSL-1.0", "dependencies": [ + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, { "name": "boost-concept-check", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-container-hash", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-iterator", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-lambda", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-multi-index", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-preprocessor", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-utility", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-bind/portfile.cmake b/ports/boost-bind/portfile.cmake index 01a151f88846ee..baa9a6eeca32b5 100644 --- a/ports/boost-bind/portfile.cmake +++ b/ports/boost-bind/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/bind - REF boost-1.83.0 - SHA512 7b2e76459b5cd18437f5d8644c532d6f2ba293cc56ffbe979981a9ac81fa8ca87b0354a1a488321742be1c3448e3ce13637f590856c671993de3a2512e040d07 + REF boost-${VERSION} + SHA512 178fa4b8396b6a76c20cff40e029ae1b36d6f0b199636bda1b34ea7c2cb827d6f09e45e364547e30120e63e5e17c8280df62ecdda6e163f83919cc21bfaeb01a HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-bind/vcpkg.json b/ports/boost-bind/vcpkg.json index 10dfccbb57479e..20a16931aaf68d 100644 --- a/ports/boost-bind/vcpkg.json +++ b/ports/boost-bind/vcpkg.json @@ -1,22 +1,26 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-bind", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost bind module", - "homepage": "https://github.com/boostorg/bind", + "homepage": "https://www.boost.org/libs/bind", "license": "BSL-1.0", "dependencies": [ + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-build/0003-fix-emscripten.patch b/ports/boost-build/0003-fix-emscripten.patch index 1de8a56a997019..31baf4ec78b68b 100644 --- a/ports/boost-build/0003-fix-emscripten.patch +++ b/ports/boost-build/0003-fix-emscripten.patch @@ -1,32 +1,21 @@ diff --git a/src/tools/emscripten.jam b/src/tools/emscripten.jam -index d6594c5e43..8b15d0af96 100644 +index 28175f6..c3c9968 100644 --- a/src/tools/emscripten.jam +++ b/src/tools/emscripten.jam -@@ -6,6 +6,7 @@ +@@ -7,12 +7,16 @@ import feature ; import os ; import toolset ; +import generators ; import common ; - import gcc ; import type ; -@@ -37,6 +38,9 @@ rule init ( version ? : command * : options * ) + import version ; feature.extend toolset : emscripten ; +generators.override builtin.lib-generator : emscripten.prebuilt ; +generators.override emscripten.searched-lib-generator : searched-lib-generator ; + - toolset.inherit-generators emscripten emscripten - : gcc - : gcc.mingw.link gcc.mingw.link.dll gcc.compile.c.pch gcc.compile.c++.pch -@@ -53,7 +57,7 @@ toolset.inherit-flags emscripten : gcc - - type.set-generated-target-suffix EXE : emscripten : "js" ; - type.set-generated-target-suffix OBJ : emscripten : "bc" ; --type.set-generated-target-suffix STATIC_LIB : emscripten : "bc" ; -+type.set-generated-target-suffix STATIC_LIB : emscripten : "a" ; - - toolset.flags emscripten.compile OPTIONS ; - toolset.flags emscripten.compile OPTIONS ; - \ No newline at end of file + feature.feature embind : off on : propagated ; + feature.feature closure : off on full : propagated ; + feature.feature link-optimization : off on full : propagated ; diff --git a/ports/boost-build/portfile.cmake b/ports/boost-build/portfile.cmake index 2f876bfe0a9830..5fdfb8351a469c 100644 --- a/ports/boost-build/portfile.cmake +++ b/ports/boost-build/portfile.cmake @@ -4,13 +4,13 @@ if(CMAKE_HOST_WIN32 AND VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME return() endif() -set(BOOST_VERSION 1.83.0) +set(BOOST_VERSION ${VERSION}) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/build - REF boost-${BOOST_VERSION} - SHA512 1dfd98087b41190437ea07a82fca0a85b71d29ee3f059c6d49916d089102d7fd79a721f720019b98f9cdefcada2cc8dc8fc87d3507a70b43fc0e1b4eaa7853f8 + REF boost-${VERSION} + SHA512 0214861d3c93f64fd3d211631304a42783eb019df946a4b6ed216163aa9d22b609056c6d1e8dcd62f5f00e9963aa56e84818f01d94465debfc615999baad6bab HEAD_REF master PATCHES 0002-fix-get-version.patch @@ -27,7 +27,7 @@ vcpkg_download_distfile(ARCHIVE vcpkg_download_distfile(BOOSTCPP_ARCHIVE URLS "https://raw.githubusercontent.com/boostorg/boost/boost-${BOOST_VERSION}/boostcpp.jam" FILENAME "boost-${BOOST_VERSION}-boostcpp.jam" - SHA512 32feae4e13418f68702b18964b17e706255429dd881a098355a0b644da11a97c42aa7eeffa5cc4e30aa8a370dde2097aecc62175fb37cd5cf9766e7fc6303da7 + SHA512 8bbd436749a1079ad2fb77cdf65b893f35260a9bdd52b360180780e83ff0f90595693f27641745d6db3a7dbc0e3ba5947e23790e99a8aeb94bfc5fb910d16df6 ) # https://github.com/boostorg/boost/pull/206 diff --git a/ports/boost-build/vcpkg.json b/ports/boost-build/vcpkg.json index 3b5b20ce6bfe2c..a067b0eb992fa8 100644 --- a/ports/boost-build/vcpkg.json +++ b/ports/boost-build/vcpkg.json @@ -1,14 +1,15 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-build", - "version": "1.83.0", + "version": "1.86.0", + "port-version": 1, "description": "Boost.Build", "homepage": "https://github.com/boostorg/build", "license": "BSL-1.0", "dependencies": [ { "name": "boost-uninstall", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-callable-traits/portfile.cmake b/ports/boost-callable-traits/portfile.cmake index 5a63347b0d560b..c7a6828ef57f6b 100644 --- a/ports/boost-callable-traits/portfile.cmake +++ b/ports/boost-callable-traits/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/callable_traits - REF boost-1.83.0 - SHA512 102097394e795dea433742941c5708c2bd80c1a59fb2d4acb851ec071822f505889ca3fa8484332e684d210d16820212519674d1a758463258ae6fef6634e0e9 + REF boost-${VERSION} + SHA512 625682baee6df7bea8eeb55dbc941cdd40546f90de271c3c4ff872cc9d51d68eba4991fc3fc2c8073f59182b4739934e6d940239e2a11d69a0b3a8438d95ba78 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-callable-traits/vcpkg.json b/ports/boost-callable-traits/vcpkg.json index 48cb60b0f43b33..f2dd38e1647bfd 100644 --- a/ports/boost-callable-traits/vcpkg.json +++ b/ports/boost-callable-traits/vcpkg.json @@ -1,14 +1,22 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-callable-traits", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost callable_traits module", - "homepage": "https://github.com/boostorg/callable_traits", + "homepage": "https://www.boost.org/libs/callable_traits", "license": "BSL-1.0", "dependencies": [ { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-charconv/portfile.cmake b/ports/boost-charconv/portfile.cmake new file mode 100644 index 00000000000000..17fd612c8c0dab --- /dev/null +++ b/ports/boost-charconv/portfile.cmake @@ -0,0 +1,15 @@ +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/charconv + REF boost-${VERSION} + SHA512 9b4668cb9d5e1e4a8f7d57c117998b8d5a6dbf3718c684670b13c3c55eda59257fb8a76e8ab6c34d96a807018d36dd6379890f03b18eba1135ed99dae202c2df + HEAD_REF master +) + +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-charconv/vcpkg.json b/ports/boost-charconv/vcpkg.json new file mode 100644 index 00000000000000..c2ff0c3ceac1db --- /dev/null +++ b/ports/boost-charconv/vcpkg.json @@ -0,0 +1,30 @@ +{ + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", + "name": "boost-charconv", + "version": "1.86.0", + "description": "Boost charconv module", + "homepage": "https://www.boost.org/libs/charconv", + "license": "BSL-1.0", + "dependencies": [ + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-core", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + } + ] +} diff --git a/ports/boost-chrono/portfile.cmake b/ports/boost-chrono/portfile.cmake index 440e2316d9c129..2861cc98d0074d 100644 --- a/ports/boost-chrono/portfile.cmake +++ b/ports/boost-chrono/portfile.cmake @@ -3,12 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/chrono - REF boost-1.83.0 - SHA512 4e337e93dac9758121afa1a9f404e9b0d02b6a34fa8a81fca09419587cd3f4d6f796dfde5e2d212e94f843db0f7f2996557ef2af0b2b697ed31b72895a7438e8 + REF boost-${VERSION} + SHA512 b10162a7e74fafd9f6841b20672adee3994937201d2928da6c17f47aa52c69819d76b33f85c727801dd02c4897b9e5e75b7975fd937665ae17b7b1fb5807a924 HEAD_REF master ) -include(${CURRENT_HOST_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake) -boost_modular_build(SOURCE_PATH ${SOURCE_PATH}) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-chrono/vcpkg.json b/ports/boost-chrono/vcpkg.json index a71d0b8e27c3f3..df285fe93c0d34 100644 --- a/ports/boost-chrono/vcpkg.json +++ b/ports/boost-chrono/vcpkg.json @@ -1,88 +1,78 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-chrono", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost chrono module", - "homepage": "https://github.com/boostorg/chrono", + "homepage": "https://www.boost.org/libs/chrono", "license": "BSL-1.0", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-build", - "host": true, - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-integer", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { - "name": "boost-modular-build-helper", - "host": true, - "version>=": "1.83.0" + "name": "boost-integer", + "version>=": "1.86.0" }, { "name": "boost-move", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-predef", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-ratio", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-system", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-typeof", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-utility", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-winapi", - "version>=": "1.83.0" - }, - { - "name": "vcpkg-cmake", - "host": true + "version>=": "1.86.0" } ] } diff --git a/ports/boost-circular-buffer/portfile.cmake b/ports/boost-circular-buffer/portfile.cmake index ca71f072ba2657..0b5b73eb3472bc 100644 --- a/ports/boost-circular-buffer/portfile.cmake +++ b/ports/boost-circular-buffer/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/circular_buffer - REF boost-1.83.0 - SHA512 8ec66b5b9185971684c72cd6f4ef86c2ed5d0decb1a72949d1dc7423f8f220f14e124151d1c6a7042805ecb9813a2ce67080f2ebef316e24a0b67ea5686a2e1f + REF boost-${VERSION} + SHA512 475e9fbe37e87a4b09fefd12556b5c4efacb5a4af6a1204b40ded29856933d6140b9c5758f66e6dfb16d1f7e1d5d168fc218bf74f44de604a68aaa1a031e8d56 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-circular-buffer/vcpkg.json b/ports/boost-circular-buffer/vcpkg.json index 06a962e903fd95..f020b0f0e347eb 100644 --- a/ports/boost-circular-buffer/vcpkg.json +++ b/ports/boost-circular-buffer/vcpkg.json @@ -1,46 +1,50 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-circular-buffer", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost circular_buffer module", - "homepage": "https://github.com/boostorg/circular_buffer", + "homepage": "https://www.boost.org/libs/circular_buffer", "license": "BSL-1.0", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-concept-check", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-move", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-cmake/CMakeLists.txt.in b/ports/boost-cmake/CMakeLists.txt.in new file mode 100644 index 00000000000000..5659fadc0eea51 --- /dev/null +++ b/ports/boost-cmake/CMakeLists.txt.in @@ -0,0 +1,14 @@ +cmake_minimum_required(VERSION 3.21) + +include(CMakePackageConfigHelpers) + +project(Boost VERSION @VERSION@ LANGUAGES NONE) + +set(CONFIG_VERSION_FILE_NAME "${CMAKE_CURRENT_BINARY_DIR}/tmpinst/BoostConfigVersion.cmake") + +write_basic_package_version_file("${CONFIG_VERSION_FILE_NAME}" COMPATIBILITY SameMajorVersion ARCH_INDEPENDENT) + +install(FILES + "${CONFIG_VERSION_FILE_NAME}" + "${CMAKE_CURRENT_SOURCE_DIR}/config/BoostConfig.cmake" + DESTINATION "share/boost") \ No newline at end of file diff --git a/ports/boost-cmake/add-optional-deps.diff b/ports/boost-cmake/add-optional-deps.diff new file mode 100644 index 00000000000000..5e0df328ec56d8 --- /dev/null +++ b/ports/boost-cmake/add-optional-deps.diff @@ -0,0 +1,38 @@ +diff --git a/include/BoostRoot.cmake b/include/BoostRoot.cmake +index f356666739..1843f528cd 100644 +--- a/include/BoostRoot.cmake ++++ b/include/BoostRoot.cmake +@@ -189,6 +189,7 @@ function(__boost_scan_dependencies lib var) + + set(result "") + set(required_components "") ++ set(optional_components "") + + if(EXISTS "${BOOST_SUPERPROJECT_SOURCE_DIR}/libs/${lib}/CMakeLists.txt") + +@@ -202,6 +203,12 @@ function(__boost_scan_dependencies lib var) + string(REGEX REPLACE "^numeric_" "numeric/" dep ${CMAKE_MATCH_1}) + list(APPEND result ${dep}) + ++ elseif(line MATCHES "^[ ]*\\$[ ]*$") ++ ++ list(APPEND optional_components ${CMAKE_MATCH_1}) ++ string(REGEX REPLACE "^numeric_" "numeric/" dep ${CMAKE_MATCH_1}) ++ list(APPEND result ${dep}) ++ + endif() + + endforeach() +@@ -209,9 +216,10 @@ function(__boost_scan_dependencies lib var) + endif() + + list(REMOVE_DUPLICATES required_components) ++ list(REMOVE_DUPLICATES optional_components) + list(REMOVE_ITEM required_components boost ${lib}) # due to property_tree and python +- if(required_components) ++ if(required_components OR optional_components) +- find_package(Boost COMPONENTS ${required_components} REQUIRED CONFIG) ++ find_package(Boost COMPONENTS ${required_components} OPTIONAL_COMPONENTS ${optional_components} REQUIRED CONFIG) + endif() + set(${var} ${result} PARENT_SCOPE) + diff --git a/ports/boost-cmake/fix-mpi.diff b/ports/boost-cmake/fix-mpi.diff new file mode 100644 index 00000000000000..7960ab7906ed1b --- /dev/null +++ b/ports/boost-cmake/fix-mpi.diff @@ -0,0 +1,18 @@ +diff --git a/include/BoostInstall.cmake b/include/BoostInstall.cmake +index 47f3eb756e..49c0086fea 100644 +--- a/include/BoostInstall.cmake ++++ b/include/BoostInstall.cmake +@@ -336,6 +336,13 @@ function(boost_install_target) + + string(APPEND CONFIG_FILE_CONTENTS "find_dependency(zstd CONFIG)\n") + ++ elseif(dep STREQUAL "MPI::MPI_C") ++ ++ # COMPONENTS requires 3.9, but the imported target also requires 3.9 ++ string(APPEND CONFIG_FILE_CONTENTS "enable_language(C)\n") ++ string(APPEND CONFIG_FILE_CONTENTS "find_dependency(MPI COMPONENTS C)\n") ++ ++ + elseif(dep STREQUAL "MPI::MPI_CXX") + + # COMPONENTS requires 3.9, but the imported target also requires 3.9 diff --git a/ports/boost-cmake/no-config-suffix.diff b/ports/boost-cmake/no-config-suffix.diff new file mode 100644 index 00000000000000..17cea8f7578f83 --- /dev/null +++ b/ports/boost-cmake/no-config-suffix.diff @@ -0,0 +1,21 @@ +diff --git a/include/BoostInstall.cmake b/include/BoostInstall.cmake +index 49c0086fea..ad16dc5e0a 100644 +--- a/include/BoostInstall.cmake ++++ b/include/BoostInstall.cmake +@@ -284,14 +284,16 @@ function(__boost_install_set_output_name LIB TYPE VERSION) + + set(CONFIG_INSTALL_DIR "${BOOST_INSTALL_CMAKEDIR}/${LIB}-${__VERSION}") + ++ if(0) + if(TYPE STREQUAL "SHARED_LIBRARY") + string(APPEND CONFIG_INSTALL_DIR "-shared") + endif() + + if(TYPE STREQUAL "STATIC_LIBRARY") + string(APPEND CONFIG_INSTALL_DIR "-static") + endif() ++ endif() + + install(TARGETS ${LIB} EXPORT ${LIB}-targets + # explicit destination specification required for 3.13, 3.14 no longer needs it + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" diff --git a/ports/boost-cmake/no-honor-static.diff b/ports/boost-cmake/no-honor-static.diff new file mode 100644 index 00000000000000..5ffccd1ce0a62f --- /dev/null +++ b/ports/boost-cmake/no-honor-static.diff @@ -0,0 +1,12 @@ +--- a/include/BoostInstall.cmake ++++ b/include/BoostInstall.cmake +@@ -458,7 +458,7 @@ + + endif() + +- if("${LIB}" STREQUAL "boost_exception" OR "${LIB}" STREQUAL "boost_test_exec_monitor") ++ if(1) + + # These two libraries are hardcoded to STATIC + + else() diff --git a/ports/boost-cmake/no-prefix.diff b/ports/boost-cmake/no-prefix.diff new file mode 100644 index 00000000000000..1c0f77e9347e1e --- /dev/null +++ b/ports/boost-cmake/no-prefix.diff @@ -0,0 +1,13 @@ +diff --git a/include/BoostInstall.cmake b/include/BoostInstall.cmake +index 49c0086fea..ad16dc5e0a 100644 +--- a/include/BoostInstall.cmake ++++ b/include/BoostInstall.cmake +@@ -69,7 +69,7 @@ function(__boost_install_set_output_name LIB TYPE VERSION) + + # prefix + if(WIN32 AND TYPE STREQUAL "STATIC_LIBRARY") +- set_target_properties(${LIB} PROPERTIES PREFIX "lib") ++ #set_target_properties(${LIB} PROPERTIES PREFIX "lib") + endif() + + # toolset diff --git a/ports/boost-cmake/portfile.cmake b/ports/boost-cmake/portfile.cmake new file mode 100644 index 00000000000000..a8f93f1de5e39b --- /dev/null +++ b/ports/boost-cmake/portfile.cmake @@ -0,0 +1,42 @@ +set(VCPKG_POLICY_CMAKE_HELPER_PORT enabled) + +include("${CMAKE_CURRENT_LIST_DIR}/ref_sha.cmake") + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH_SUPER + REPO boostorg/boost + REF ${boost_boost_ref} + SHA512 ${boost_boost_sha512} + HEAD_REF master +) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH_CMAKE + REPO boostorg/cmake + REF ${boost_cmake_ref} + SHA512 ${boost_cmake_sha512} + HEAD_REF master + PATCHES + "vcpkg-build.diff" + "fix-mpi.diff" + "no-prefix.diff" + "no-config-suffix.diff" + "no-honor-static.diff" + "add-optional-deps.diff" +) + +configure_file("${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt.in" "${SOURCE_PATH_CMAKE}/CMakeLists.txt" @ONLY) +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH_CMAKE}") +vcpkg_cmake_install() + +file(INSTALL "${SOURCE_PATH_CMAKE}/include/" DESTINATION "${CURRENT_PACKAGES_DIR}/share/boost/cmake-build") + +file(INSTALL + "${CMAKE_CURRENT_LIST_DIR}/vcpkg-port-config.cmake" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH_SUPER}/LICENSE_1_0.txt") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") diff --git a/ports/boost-cmake/ref_sha.cmake b/ports/boost-cmake/ref_sha.cmake new file mode 100644 index 00000000000000..2a6e30152832a4 --- /dev/null +++ b/ports/boost-cmake/ref_sha.cmake @@ -0,0 +1,4 @@ +set(boost_boost_ref boost-${VERSION}) +set(boost_boost_sha512 b30b52c81fa3bfaeb5d67ac766ca47c16da829900c3dcf1f7a1ee2913b88de6d8a72287838adb5a63d59a1b72aea6164a693f921a29fefae8e990aa85c413e0d) +set(boost_cmake_ref boost-${VERSION}) +set(boost_cmake_sha512 3b0650baa5384df71f4a9be4f54d1b9b34c2ab4f828dbcdf1cc2f5623b5ca2cde6762c72c6f708ef728c9cbbeded12ba632a2b953bf178a3a6b44b4b677cb621) diff --git a/ports/boost-cmake/usage b/ports/boost-cmake/usage new file mode 100644 index 00000000000000..d246f42a4b3268 --- /dev/null +++ b/ports/boost-cmake/usage @@ -0,0 +1,4 @@ +All boost packages are compatible with built-in CMake targets of FindBoost.cmake: + + find_package(Boost REQUIRED [COMPONENTS ...]) + target_link_libraries(main PRIVATE Boost::boost Boost:: Boost:: ...) diff --git a/ports/boost-cmake/vcpkg-build.diff b/ports/boost-cmake/vcpkg-build.diff new file mode 100644 index 00000000000000..17572c1ef8f7f2 --- /dev/null +++ b/ports/boost-cmake/vcpkg-build.diff @@ -0,0 +1,85 @@ +diff --git a/include/BoostRoot.cmake b/include/BoostRoot.cmake +index e93f90712..063032e8a 100644 +--- a/include/BoostRoot.cmake ++++ b/include/BoostRoot.cmake +@@ -21,7 +21,7 @@ set(__boost_incompatible_libraries "") + + # Define cache variables if root project + +-if(CMAKE_SOURCE_DIR STREQUAL Boost_SOURCE_DIR) ++if(1) + + # --with- + set(BOOST_INCLUDE_LIBRARIES "" CACHE STRING +@@ -200,6 +200,7 @@ endfunction() + function(__boost_scan_dependencies lib var) + + set(result "") ++ set(required_components "") + + if(EXISTS "${BOOST_SUPERPROJECT_SOURCE_DIR}/libs/${lib}/CMakeLists.txt") + +@@ -209,7 +209,8 @@ function(__boost_scan_dependencies lib var) + foreach(line IN LISTS data) + + if(line MATCHES "^[ ]*Boost::([A-Za-z0-9_]+)[ ]*$") + ++ list(APPEND required_components ${CMAKE_MATCH_1}) + string(REGEX REPLACE "^numeric_" "numeric/" dep ${CMAKE_MATCH_1}) + list(APPEND result ${dep}) + +@@ -218,13 +218,18 @@ function(__boost_scan_dependencies lib var) + + endif() + ++ list(REMOVE_DUPLICATES required_components) ++ list(REMOVE_ITEM required_components boost ${lib}) # due to property_tree and python ++ if(required_components) ++ find_package(Boost COMPONENTS ${required_components} REQUIRED CONFIG) ++ endif() + set(${var} ${result} PARENT_SCOPE) + + endfunction() + + macro(__boost_add_header_only lib) + + if(TARGET "boost_${lib}" AND TARGET "Boost::${lib}") + + get_target_property(__boost_lib_type "boost_${lib}" TYPE) + +@@ -251,13 +256,13 @@ while(__boost_libs_to_scan) + + list(REMOVE_DUPLICATES __boost_dependencies) + +- set(__boost_libs_to_scan ${__boost_dependencies}) + + if(__boost_libs_to_scan) + list(REMOVE_ITEM __boost_libs_to_scan ${__boost_include_libraries}) ++ list(REMOVE_ITEM __boost_libs_to_scan ${__boost_lib}) + endif() + + list(APPEND __boost_include_libraries ${__boost_libs_to_scan}) + + endwhile() + +@@ -362,13 +367,14 @@ if(CMAKE_SKIP_INSTALL_RULES) + + endif() + ++if(0) + set(CONFIG_INSTALL_DIR "${BOOST_INSTALL_CMAKEDIR}/Boost-${BOOST_SUPERPROJECT_VERSION}") + set(CONFIG_FILE_NAME "${CMAKE_CURRENT_LIST_DIR}/../config/BoostConfig.cmake") + + install(FILES "${CONFIG_FILE_NAME}" DESTINATION "${CONFIG_INSTALL_DIR}") + + set(CONFIG_VERSION_FILE_NAME "${CMAKE_CURRENT_BINARY_DIR}/tmpinst/BoostConfigVersion.cmake") + + if(NOT CMAKE_VERSION VERSION_LESS 3.14) + + write_basic_package_version_file("${CONFIG_VERSION_FILE_NAME}" COMPATIBILITY SameMajorVersion ARCH_INDEPENDENT) +@@ -385,3 +392,4 @@ else() + endif() + + install(FILES "${CONFIG_VERSION_FILE_NAME}" DESTINATION "${CONFIG_INSTALL_DIR}") ++endif() +\ No newline at end of file diff --git a/ports/boost-cmake/vcpkg-port-config.cmake b/ports/boost-cmake/vcpkg-port-config.cmake new file mode 100644 index 00000000000000..2f67672d2fd727 --- /dev/null +++ b/ports/boost-cmake/vcpkg-port-config.cmake @@ -0,0 +1,3 @@ +include_guard(GLOBAL) + +include("${CURRENT_HOST_INSTALLED_DIR}/share/vcpkg-boost/vcpkg-port-config.cmake") diff --git a/ports/boost-cmake/vcpkg.json b/ports/boost-cmake/vcpkg.json new file mode 100644 index 00000000000000..8c8edc5c676bd1 --- /dev/null +++ b/ports/boost-cmake/vcpkg.json @@ -0,0 +1,26 @@ +{ + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", + "name": "boost-cmake", + "version": "1.86.0", + "description": "Boost CMake support infrastructure", + "homepage": "https://github.com/boostorg/cmake", + "license": "BSL-1.0", + "dependencies": [ + { + "name": "boost-uninstall", + "version>=": "1.86.0" + }, + { + "name": "vcpkg-boost", + "host": true + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/boost-cobalt/fail-on-compiler-not-supported.patch b/ports/boost-cobalt/fail-on-compiler-not-supported.patch new file mode 100644 index 00000000000000..db564c659ee3dd --- /dev/null +++ b/ports/boost-cobalt/fail-on-compiler-not-supported.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5a51d5285c..8374f911a6 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -14,7 +14,7 @@ project(boost_cobalt VERSION "${BOOST_COBALT_VERSION}" LANGUAGES CXX) + + include(cmake/CheckRequirements.cmake) + if (NOT BOOST_COBALT_REQUIREMENTS_MATCHED) +- return() ++ message(FATAL_ERROR "The current compiler is not supported.") + endif() + + set(BOOST_COBALT_IS_ROOT OFF) diff --git a/ports/boost-cobalt/portfile.cmake b/ports/boost-cobalt/portfile.cmake new file mode 100644 index 00000000000000..9938c6bbbfd18c --- /dev/null +++ b/ports/boost-cobalt/portfile.cmake @@ -0,0 +1,18 @@ +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/cobalt + REF boost-${VERSION} + SHA512 a92ff4050772b61035121f944d81d4a9d6d2da858dedc0956ad850132657c80c660a8839a99597443751744577dd5b0958239e99d948d3036c85b8361151aa27 + HEAD_REF master + PATCHES + fail-on-compiler-not-supported.patch + +) + +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-cobalt/vcpkg.json b/ports/boost-cobalt/vcpkg.json new file mode 100644 index 00000000000000..b0472210327885 --- /dev/null +++ b/ports/boost-cobalt/vcpkg.json @@ -0,0 +1,81 @@ +{ + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", + "name": "boost-cobalt", + "version": "1.86.0", + "port-version": 1, + "description": "Boost cobalt module", + "homepage": "https://www.boost.org/libs/cobalt", + "license": "BSL-1.0", + "supports": "!osx & !ios & !android & !uwp", + "dependencies": [ + { + "name": "boost-asio", + "version>=": "1.86.0" + }, + { + "name": "boost-callable-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-circular-buffer", + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-container", + "version>=": "1.86.0" + }, + { + "name": "boost-context", + "platform": "!uwp & !emscripten", + "version>=": "1.86.0" + }, + { + "name": "boost-core", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-intrusive", + "version>=": "1.86.0" + }, + { + "name": "boost-leaf", + "version>=": "1.86.0" + }, + { + "name": "boost-mp11", + "version>=": "1.86.0" + }, + { + "name": "boost-preprocessor", + "version>=": "1.86.0" + }, + { + "name": "boost-smart-ptr", + "version>=": "1.86.0" + }, + { + "name": "boost-system", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-variant2", + "version>=": "1.86.0" + } + ] +} diff --git a/ports/boost-compat/portfile.cmake b/ports/boost-compat/portfile.cmake index 71b5be29678e22..8714e5f6149e11 100644 --- a/ports/boost-compat/portfile.cmake +++ b/ports/boost-compat/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/compat - REF boost-1.83.0 - SHA512 4eb3d73e278da881967d9408822cb6d8a54b98ab7bfe278eed94189a3ff6b1b3987b5317f9765ce2b16b4c0cb75af5755bdb0850a053fa0ccec3e942e67a9347 + REF boost-${VERSION} + SHA512 581ab370fffec2e4d531abcec84f6a8fa9a71152375f44147ab0892e7b8549deec10c32056bcc97137ad2d1dee11c0aca416231620185dd904ddc6344ded3c5d HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-compat/vcpkg.json b/ports/boost-compat/vcpkg.json index 04e24cb8b086a8..0e4773f5249d40 100644 --- a/ports/boost-compat/vcpkg.json +++ b/ports/boost-compat/vcpkg.json @@ -1,26 +1,30 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-compat", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost compat module", - "homepage": "https://github.com/boostorg/compat", + "homepage": "https://www.boost.org/libs/compat", "license": "BSL-1.0", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-throw-exception", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "name": "boost-throw-exception", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-compatibility/portfile.cmake b/ports/boost-compatibility/portfile.cmake index 4933d57a90f469..9a51b45e05e8ce 100644 --- a/ports/boost-compatibility/portfile.cmake +++ b/ports/boost-compatibility/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/compatibility - REF boost-1.83.0 - SHA512 bc6ff1c30acc9f7123e9b28a732960776e1a028bf0fc5459f39266546f1e2466c62366cc689dab6f8a59a4a46fa9ae3370b4bca14b51d364c3d16e680d5ff95b + REF boost-${VERSION} + SHA512 bfc956d62e31929324820d97a17f597ad9397e4eadcfcfb669694fa09f0c743b622e2b8dd37a4eeb8a73e1ae142c9d28fa9c7f4b7e8b856704036609c961bdf0 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-compatibility/vcpkg.json b/ports/boost-compatibility/vcpkg.json index 9f50aee0f3fbc1..ac94b97d9a8db0 100644 --- a/ports/boost-compatibility/vcpkg.json +++ b/ports/boost-compatibility/vcpkg.json @@ -1,14 +1,22 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-compatibility", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost compatibility module", - "homepage": "https://github.com/boostorg/compatibility", + "homepage": "https://www.boost.org/libs/compatibility", "license": "BSL-1.0", "dependencies": [ { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-compute/opt-filesystem.diff b/ports/boost-compute/opt-filesystem.diff new file mode 100644 index 00000000000000..2485b39273c7a1 --- /dev/null +++ b/ports/boost-compute/opt-filesystem.diff @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9afee7ff90..44f0c20256 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -23,7 +23,7 @@ target_link_libraries(boost_compute + Boost::chrono + Boost::config + Boost::core +- Boost::filesystem ++ $ + Boost::function + Boost::function_types + Boost::fusion diff --git a/ports/boost-compute/portfile.cmake b/ports/boost-compute/portfile.cmake index 0c05381cb761b2..5147aa2b890ce9 100644 --- a/ports/boost-compute/portfile.cmake +++ b/ports/boost-compute/portfile.cmake @@ -3,10 +3,15 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/compute - REF boost-1.83.0 - SHA512 bb555cffc7761a1dba3b010aa45782af22d4bac049ecfa9d26695a5eb3c5722b29f5f7b30143d17698b2098f81dcc7eaef2425482c5a6495e29324b1f8f324b2 + REF boost-${VERSION} + SHA512 2bbd253f0cf89d8cd34c4a3813b0b42dd8bd8e68c8e2a10b5637c247b3e532ff97ff2abb03be0f030f1710e655d89eab336e7a4b9fb92a3477f213daaf419f05 HEAD_REF master + PATCHES + opt-filesystem.diff ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-compute/vcpkg.json b/ports/boost-compute/vcpkg.json index 2b41b23b589767..fa4a3320869ecb 100644 --- a/ports/boost-compute/vcpkg.json +++ b/ports/boost-compute/vcpkg.json @@ -1,123 +1,127 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-compute", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost compute module", - "homepage": "https://github.com/boostorg/compute", + "homepage": "https://www.boost.org/libs/compute", "license": "BSL-1.0", "dependencies": [ { "name": "boost-algorithm", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-array", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-chrono", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-filesystem", "platform": "!uwp", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-function", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-function-types", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-fusion", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-iterator", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-lexical-cast", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-optional", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-preprocessor", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-property-tree", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-proto", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-range", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-smart-ptr", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-thread", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-tuple", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-typeof", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-utility", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-uuid", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-concept-check/portfile.cmake b/ports/boost-concept-check/portfile.cmake index 453bff850bdb2e..681486a4939eb9 100644 --- a/ports/boost-concept-check/portfile.cmake +++ b/ports/boost-concept-check/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/concept_check - REF boost-1.83.0 - SHA512 525debb2e5a804daf9dfe59afc16022ff32825dc385930167736ae337b7cbb9e54165e1be59c77c8bbf8cd1c7e0d7b1f5689091119ea79d4fb461f03f9d228a3 + REF boost-${VERSION} + SHA512 5d959efc1dc930454552a7e6b896618c2e24242ff9c3d9e63cd30f1090fa84de0650fcd3226043fa3f6fc76d97fe31b9e19f807a553fb1209efda2fbc168cd10 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-concept-check/vcpkg.json b/ports/boost-concept-check/vcpkg.json index b8b7d41318e928..113e7353555546 100644 --- a/ports/boost-concept-check/vcpkg.json +++ b/ports/boost-concept-check/vcpkg.json @@ -1,30 +1,34 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-concept-check", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost concept_check module", - "homepage": "https://github.com/boostorg/concept_check", + "homepage": "https://www.boost.org/libs/concept_check", "license": "BSL-1.0", "dependencies": [ + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-preprocessor", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-config/portfile.cmake b/ports/boost-config/portfile.cmake index 29a6236a45c7c0..3db0316c7cf5dd 100644 --- a/ports/boost-config/portfile.cmake +++ b/ports/boost-config/portfile.cmake @@ -3,17 +3,20 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/config - REF boost-1.83.0 - SHA512 84ae4e303b9f63e950fc6e01d0318bf223b56518474343a3e0f2d9e5ee631c4ca8ddedb5ec425259806360b30f82b80cd3330ff2ad6cfc8013d7c90d32280516 + REF boost-${VERSION} + SHA512 d2ca9b1619905c60d7e2d82afab9570e84834e6d8d742e0a10693fd71319c69d8ad3b5a4c4dad007d8df2840aa8a79786e5e9a53ed2c44395bc319995e86bb9e HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) -file(APPEND ${CURRENT_PACKAGES_DIR}/include/boost/config/user.hpp "\n#ifndef BOOST_ALL_NO_LIB\n#define BOOST_ALL_NO_LIB\n#endif\n") -file(APPEND ${CURRENT_PACKAGES_DIR}/include/boost/config/user.hpp "\n#undef BOOST_ALL_DYN_LINK\n") +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) +file(APPEND "${CURRENT_PACKAGES_DIR}/include/boost/config/user.hpp" "\n#ifndef BOOST_ALL_NO_LIB\n#define BOOST_ALL_NO_LIB\n#endif\n") +file(APPEND "${CURRENT_PACKAGES_DIR}/include/boost/config/user.hpp" "\n#undef BOOST_ALL_DYN_LINK\n") if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - file(APPEND ${CURRENT_PACKAGES_DIR}/include/boost/config/user.hpp "\n#define BOOST_ALL_DYN_LINK\n") + file(APPEND "${CURRENT_PACKAGES_DIR}/include/boost/config/user.hpp" "\n#define BOOST_ALL_DYN_LINK\n") endif() -file(COPY ${SOURCE_PATH}/checks DESTINATION ${CURRENT_PACKAGES_DIR}/share/boost-config) +file(COPY "${SOURCE_PATH}/libs/config/checks" DESTINATION "${CURRENT_PACKAGES_DIR}/share/boost-config") diff --git a/ports/boost-config/vcpkg.json b/ports/boost-config/vcpkg.json index fcfdc74e5789d0..4dc1a95a9b2873 100644 --- a/ports/boost-config/vcpkg.json +++ b/ports/boost-config/vcpkg.json @@ -1,14 +1,18 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-config", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost config module", - "homepage": "https://github.com/boostorg/config", + "homepage": "https://www.boost.org/libs/config", "license": "BSL-1.0", "dependencies": [ { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-container-hash/portfile.cmake b/ports/boost-container-hash/portfile.cmake index a43a7ad6ba9680..df5478a9459578 100644 --- a/ports/boost-container-hash/portfile.cmake +++ b/ports/boost-container-hash/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/container_hash - REF boost-1.83.0 - SHA512 8258ad4888d5780cd083466af1facba2430aba7ac1de32b513cecbf9eae3920c9d2d17622bf6b00ebe75cb3bbb84f64ae48dfb78c913d60ec583f09cabfc4b8d + REF boost-${VERSION} + SHA512 3abb573c4dccb23d706abf57d21f3a837baf49d9e976d5b7ff31cd41e0b827528e8218f2e63368440e14d6aeaada23db5bbdc389ba70f1cecf94d899ce3fcf1b HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-container-hash/vcpkg.json b/ports/boost-container-hash/vcpkg.json index 040464eddb6f84..91b00a8905dfa2 100644 --- a/ports/boost-container-hash/vcpkg.json +++ b/ports/boost-container-hash/vcpkg.json @@ -1,30 +1,30 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-container-hash", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost container_hash module", - "homepage": "https://github.com/boostorg/container_hash", + "homepage": "https://www.boost.org/libs/container_hash", "license": "BSL-1.0", "dependencies": [ { - "name": "boost-config", - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" }, { - "name": "boost-describe", - "version>=": "1.83.0" + "name": "boost-config", + "version>=": "1.86.0" }, { - "name": "boost-mp11", - "version>=": "1.83.0" + "name": "boost-describe", + "version>=": "1.86.0" }, { - "name": "boost-type-traits", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "name": "boost-mp11", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-container/portfile.cmake b/ports/boost-container/portfile.cmake index 6e31165e748019..b7e8052d93f879 100644 --- a/ports/boost-container/portfile.cmake +++ b/ports/boost-container/portfile.cmake @@ -3,12 +3,15 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/container - REF boost-1.83.0 - SHA512 4c5054ba5ab55df8fbb58d6f9661ec32e14a6a0c06ac86b916d98de076565f1bc6d76d85aad90b7a198760360bbcd4acea6d8d298347157866593486a1ae0ba8 + REF boost-${VERSION} + SHA512 bac716c525f83337551a029497d923eaad3b6e02b14a227bc5bffae593637bae8aac7715a0ff5819857999e2b9b9e526806c7d460203556dbb9baa0d4a216e66 HEAD_REF master + PATCHES + posix-threads.diff ) -include(${CURRENT_HOST_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake) -boost_modular_build(SOURCE_PATH ${SOURCE_PATH}) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-container/posix-threads.diff b/ports/boost-container/posix-threads.diff new file mode 100644 index 00000000000000..ee82a2e1f68a35 --- /dev/null +++ b/ports/boost-container/posix-threads.diff @@ -0,0 +1,21 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 01e97c5..faf17d4 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -15,6 +15,16 @@ add_library(boost_container + src/synchronized_pool_resource.cpp + src/unsynchronized_pool_resource.cpp + ) ++if(NOT WIN32) ++ set(THREADS_PREFER_PTHREAD_FLAG 1) ++ find_package(Threads REQUIRED) ++ target_link_libraries(boost_container PUBLIC Threads::Threads) ++ if(EMSCRIPTEN) ++ # Boost config needs `-pthread` to see `_POSIX_THREADS`, ++ # but FindTheads.cmake finishes with `CMAKE_HAVE_LIBC_PTHREAD`. ++ target_compile_options(boost_container PUBLIC -pthread) ++ endif() ++endif() + + add_library(Boost::container ALIAS boost_container) + diff --git a/ports/boost-container/vcpkg.json b/ports/boost-container/vcpkg.json index 7a3e700203bd46..5feae60f0fc20d 100644 --- a/ports/boost-container/vcpkg.json +++ b/ports/boost-container/vcpkg.json @@ -1,48 +1,34 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-container", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost container module", - "homepage": "https://github.com/boostorg/container", + "homepage": "https://www.boost.org/libs/container", "license": "BSL-1.0", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-build", - "host": true, - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-intrusive", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { - "name": "boost-modular-build-helper", - "host": true, - "version>=": "1.83.0" + "name": "boost-intrusive", + "version>=": "1.86.0" }, { "name": "boost-move", - "version>=": "1.83.0" - }, - { - "name": "boost-static-assert", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" - }, - { - "name": "vcpkg-cmake", - "host": true + "version>=": "1.86.0" } ] } diff --git a/ports/boost-context/b2-options.cmake.in b/ports/boost-context/b2-options.cmake.in deleted file mode 100644 index c54e6b9f0c6aab..00000000000000 --- a/ports/boost-context/b2-options.cmake.in +++ /dev/null @@ -1,36 +0,0 @@ - -if(@VCPKG_TARGET_IS_WINDOWS@) - list(APPEND B2_OPTIONS - abi=ms - binary-format=pe - ) -endif() - -if(@VCPKG_TARGET_IS_OSX@) - if(@VCPKG_TARGET_ARCHITECTURE@ MATCHES "^(ARM|arm)64$") - list(APPEND B2_OPTIONS - abi=aapcs - binary-format=mach-o - ) - else() - list(APPEND B2_OPTIONS - abi=sysv - binary-format=mach-o - ) - endif() -endif() - -if("@VCPKG_TARGET_IS_LINUX@" STREQUAL "ON" OR "@VCPKG_TARGET_IS_ANDROID@" STREQUAL "ON") - if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") - list(APPEND B2_OPTIONS - abi=aapcs - ) - elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - list(APPEND B2_OPTIONS - abi=sysv - ) - endif() - list(APPEND B2_OPTIONS - binary-format=elf - ) -endif() diff --git a/ports/boost-context/marmasm.patch b/ports/boost-context/marmasm.patch new file mode 100644 index 00000000000000..6576b76f1a628d --- /dev/null +++ b/ports/boost-context/marmasm.patch @@ -0,0 +1,16 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index dca534962d..bf02ea3425 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -142,7 +142,11 @@ if(BOOST_CONTEXT_IMPLEMENTATION STREQUAL "fcontext") + enable_language(ASM) + endif() + elseif(BOOST_CONTEXT_ASSEMBLER STREQUAL armasm) ++ if(MSVC) ++ enable_language(ASM_MARMASM) ++ else() + enable_language(ASM_ARMASM) ++ endif() + else() + enable_language(ASM_MASM) + endif() diff --git a/ports/boost-context/portfile.cmake b/ports/boost-context/portfile.cmake index b5eef2e9836146..10b3bafb0a2b42 100644 --- a/ports/boost-context/portfile.cmake +++ b/ports/boost-context/portfile.cmake @@ -3,25 +3,16 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/context - REF boost-1.83.0 - SHA512 726d54231de62eb5a30331ff21c334f6fd88a70ec35904315753c695c8470f38904ed65cf468015ef2284901080df17fab28db68a028c6cfe7ef0e3d0cc7545d + REF boost-${VERSION} + SHA512 cd21a4e834a09783c6c4c26fd9904df9a598ace34cd71f0963baf04801f9d78f62014a0aa48ff711b26e9ed0185fbda5d678e46a57eb7fcf058a5e7f3deecb56 HEAD_REF master + PATCHES + marmasm.patch + ) -vcpkg_replace_string("${SOURCE_PATH}/build/Jamfile.v2" - "import ../../config/checks/config" - "import ../config/checks/config" +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} ) -file(COPY "${CURRENT_INSTALLED_DIR}/share/boost-config/checks" DESTINATION "${SOURCE_PATH}/config") -include(${CURRENT_HOST_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake) -configure_file( - "${CMAKE_CURRENT_LIST_DIR}/b2-options.cmake.in" - "${CURRENT_BUILDTREES_DIR}/vcpkg-b2-options.cmake" - @ONLY -) -boost_modular_build( - SOURCE_PATH ${SOURCE_PATH} - BOOST_CMAKE_FRAGMENT "${CURRENT_BUILDTREES_DIR}/vcpkg-b2-options.cmake" -) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) diff --git a/ports/boost-context/vcpkg.json b/ports/boost-context/vcpkg.json index ebc36913aea0d2..b4ca2180a7880b 100644 --- a/ports/boost-context/vcpkg.json +++ b/ports/boost-context/vcpkg.json @@ -1,57 +1,47 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-context", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost context module", - "homepage": "https://github.com/boostorg/context", + "homepage": "https://www.boost.org/libs/context", "license": "BSL-1.0", "supports": "!uwp & !emscripten", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-build", - "host": true, - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-modular-build-helper", - "host": true, - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-mp11", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-pool", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-predef", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-smart-ptr", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" - }, - { - "name": "vcpkg-cmake", - "host": true + "version>=": "1.86.0" } ] } diff --git a/ports/boost-contract/portfile.cmake b/ports/boost-contract/portfile.cmake index a6840bf7c88793..be10fbbf39ef78 100644 --- a/ports/boost-contract/portfile.cmake +++ b/ports/boost-contract/portfile.cmake @@ -3,12 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/contract - REF boost-1.83.0 - SHA512 70ce8255eb8d32f525dc0af4f6f1cb953a7f5032fc76c70dd51609849100ac6addcadb00e2eca74f688471441a1fe286854dedeae3cb8c925638764f1028dbef + REF boost-${VERSION} + SHA512 4efee6cb0794408947c66f7731ac2745df910485ab58365adb059f4868737f45475eed835713bdcf50e05c74f3ece2911b70f22445607ee1bd3d98c908a15228 HEAD_REF master ) -include(${CURRENT_HOST_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake) -boost_modular_build(SOURCE_PATH ${SOURCE_PATH}) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-contract/vcpkg.json b/ports/boost-contract/vcpkg.json index 07854dc561dfed..2fe33751d0aa18 100644 --- a/ports/boost-contract/vcpkg.json +++ b/ports/boost-contract/vcpkg.json @@ -1,92 +1,82 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-contract", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost contract module", - "homepage": "https://github.com/boostorg/contract", + "homepage": "https://www.boost.org/libs/contract", "license": "BSL-1.0", "dependencies": [ { "name": "boost-any", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-build", - "host": true, - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-function", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-function-types", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-modular-build-helper", - "host": true, - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-optional", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-preprocessor", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-smart-ptr", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-thread", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-typeof", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-utility", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" - }, - { - "name": "vcpkg-cmake", - "host": true + "version>=": "1.86.0" } ] } diff --git a/ports/boost-conversion/portfile.cmake b/ports/boost-conversion/portfile.cmake index 1790bc0a047ec1..1cea8e36f8eb5e 100644 --- a/ports/boost-conversion/portfile.cmake +++ b/ports/boost-conversion/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/conversion - REF boost-1.83.0 - SHA512 c64a6bbdd0089e89b27f778c3c4ffbee606c7239293e2451396d3e0489aea83bc81b1fc720a37539dd592634a6310ffeef810f3f520f561d84fbc062475c3cbb + REF boost-${VERSION} + SHA512 16e50594633b77d584c3cea6430cea8eb4797c7b840291a2724ace112cf2cdfc5caa6519c6671c813c53cc295bafbd4cb12940e98668f51da39f0125c57543c2 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-conversion/vcpkg.json b/ports/boost-conversion/vcpkg.json index 1b246e5883ffdc..02cdc8312c8195 100644 --- a/ports/boost-conversion/vcpkg.json +++ b/ports/boost-conversion/vcpkg.json @@ -1,42 +1,34 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-conversion", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost conversion module", - "homepage": "https://github.com/boostorg/conversion", + "homepage": "https://www.boost.org/libs/conversion", "license": "BSL-1.0", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-core", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-smart-ptr", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" - }, - { - "name": "boost-type-traits", - "version>=": "1.83.0" - }, - { - "name": "boost-typeof", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-convert/portfile.cmake b/ports/boost-convert/portfile.cmake index cce4c88917eebd..95cdefe37c9cbc 100644 --- a/ports/boost-convert/portfile.cmake +++ b/ports/boost-convert/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/convert - REF boost-1.83.0 - SHA512 03e5b4e483eae34bd2c024f147cd54a6d255a041a469a079f544e9bcf9aee2ac1e777103e8bdb696f2ea43cb6012173cc9f4d006e5c0afd343bb91f806c978d5 + REF boost-${VERSION} + SHA512 8b3cbc66378a739c040a7cfdce5d3be391629b34734fc52e8babfec793789368ae0eeff90b46af835967a412155364eaa9205d541e44af2ecb684e332230b7d6 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-convert/vcpkg.json b/ports/boost-convert/vcpkg.json index de99ab2fa878fc..fc24bade16ef0f 100644 --- a/ports/boost-convert/vcpkg.json +++ b/ports/boost-convert/vcpkg.json @@ -1,58 +1,62 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-convert", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost convert module", - "homepage": "https://github.com/boostorg/convert", + "homepage": "https://www.boost.org/libs/convert", "license": "BSL-1.0", "dependencies": [ + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-function-types", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-lexical-cast", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-math", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-optional", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-parameter", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-range", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-spirit", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-core/portfile.cmake b/ports/boost-core/portfile.cmake index 18ceafe7a4bfb7..77d376f0dda099 100644 --- a/ports/boost-core/portfile.cmake +++ b/ports/boost-core/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/core - REF boost-1.83.0 - SHA512 a67515e7b641eb3c7ae7fe25a4cee67ddec0de86cb40bd6d7b6c4f7472050f1de06285498a4144c3bd4da7a1b00ae330da593a61a37a1ba7e22fb33d1da2f269 + REF boost-${VERSION} + SHA512 36e269dabb7c5c74416d2e55683a7354f47623c726fa95576c8a2c78745e65ce6e9ad5688cc96581f55ba939c00853da30e28d814aef71233080dfcfdb3428f0 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-core/vcpkg.json b/ports/boost-core/vcpkg.json index 9b42315d6a142d..1a2a916068fdea 100644 --- a/ports/boost-core/vcpkg.json +++ b/ports/boost-core/vcpkg.json @@ -1,30 +1,34 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-core", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost core module", - "homepage": "https://github.com/boostorg/core", + "homepage": "https://www.boost.org/libs/core", "license": "BSL-1.0", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-static-assert", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { - "name": "boost-throw-exception", - "version>=": "1.83.0" + "name": "boost-static-assert", + "version>=": "1.86.0" }, { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "name": "boost-throw-exception", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-coroutine/portfile.cmake b/ports/boost-coroutine/portfile.cmake index 5af166a4a89c1d..df1e37fccc0f17 100644 --- a/ports/boost-coroutine/portfile.cmake +++ b/ports/boost-coroutine/portfile.cmake @@ -3,12 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/coroutine - REF boost-1.83.0 - SHA512 aa2c1f22ac750d9a7f55b6b1c97c0a3db8e409bfbedf6722e77f7c60669db7b8c647c710bf512b2523f1aae819edc647331069e6e25abc5434a16ab4ee1c3105 + REF boost-${VERSION} + SHA512 e41b0c22bdbc621cc6d1081a1c5050541894648c5ab8de760fc35e203933e4c13eee57c16060b0b2f28f94bef966e6b71eb26206fe495180e1a9905de5abf7ef HEAD_REF master ) -include(${CURRENT_HOST_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake) -boost_modular_build(SOURCE_PATH ${SOURCE_PATH}) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-coroutine/vcpkg.json b/ports/boost-coroutine/vcpkg.json index 5d9e99e080be58..bc22d8fe1482e1 100644 --- a/ports/boost-coroutine/vcpkg.json +++ b/ports/boost-coroutine/vcpkg.json @@ -1,70 +1,60 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-coroutine", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost coroutine module", - "homepage": "https://github.com/boostorg/coroutine", + "homepage": "https://www.boost.org/libs/coroutine", "license": "BSL-1.0", "supports": "!(arm & windows) & !uwp & !emscripten", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-build", - "host": true, - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-context", "platform": "!uwp & !emscripten", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-modular-build-helper", - "host": true, - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-move", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-system", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-utility", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" - }, - { - "name": "vcpkg-cmake", - "host": true + "version>=": "1.86.0" } ] } diff --git a/ports/boost-coroutine2/portfile.cmake b/ports/boost-coroutine2/portfile.cmake index b80aefa79327ab..e8856e0d04f753 100644 --- a/ports/boost-coroutine2/portfile.cmake +++ b/ports/boost-coroutine2/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/coroutine2 - REF boost-1.83.0 - SHA512 e3cbf798364ed5b5aa6e9d811d356d74bae37463c586ac44a39b2e9f19d4aa366d5703e2f28bb2c8af4509a0695b6e8b5d61fcfdef5a6d0d54136a5aed59f4af + REF boost-${VERSION} + SHA512 11d84272ce98c6a251253f2bf766255115566d6e29fb2c8b67166666fb76dfda5ab6457368cdd8cf49999598ee03acb81b3abc05c12849681c6da3778a66b2be HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-coroutine2/vcpkg.json b/ports/boost-coroutine2/vcpkg.json index d4eca980f72900..a1a4b816c88b92 100644 --- a/ports/boost-coroutine2/vcpkg.json +++ b/ports/boost-coroutine2/vcpkg.json @@ -1,28 +1,30 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-coroutine2", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost coroutine2 module", - "homepage": "https://github.com/boostorg/coroutine2", + "homepage": "https://www.boost.org/libs/coroutine2", "license": "BSL-1.0", - "supports": "!emscripten", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-context", - "platform": "!uwp & !emscripten", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-crc/portfile.cmake b/ports/boost-crc/portfile.cmake index 434cebba61bec9..582a5ce9e3eca4 100644 --- a/ports/boost-crc/portfile.cmake +++ b/ports/boost-crc/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/crc - REF boost-1.83.0 - SHA512 c758c8ecf586689b50df5e8462a09726d46a89a64c8521d9d37a071df6babbdaafa87b60ba612faed37ee327f6e57bea2f07cbd4e264f79bdba1236191e8d2b2 + REF boost-${VERSION} + SHA512 86ade360a2c4cd4e6f7e59a474838952a89275917acca1a6fcbabbf408ea82f5fcfe74ed3ff82dc528cd0d631c62d0dc7ae74a6e76ed67d756c44a79c787e9c9 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-crc/vcpkg.json b/ports/boost-crc/vcpkg.json index 49370feed1e43d..bd650bc39326c3 100644 --- a/ports/boost-crc/vcpkg.json +++ b/ports/boost-crc/vcpkg.json @@ -1,30 +1,22 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-crc", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost crc module", - "homepage": "https://github.com/boostorg/crc", + "homepage": "https://www.boost.org/libs/crc", "license": "BSL-1.0", "dependencies": [ { - "name": "boost-array", - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-integer", - "version>=": "1.83.0" - }, - { - "name": "boost-type-traits", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-date-time/portfile.cmake b/ports/boost-date-time/portfile.cmake index 17c1a28c207778..5bd4ab8374acb8 100644 --- a/ports/boost-date-time/portfile.cmake +++ b/ports/boost-date-time/portfile.cmake @@ -3,12 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/date_time - REF boost-1.83.0 - SHA512 efcdb38090295548d7bd9c9f0b3d095360f30b586c92cfe6c72e3de112cd0253a9e5b7307898e0d2498a100f153289b7ad7c423f83beb32d3fd24f5ed0502aac + REF boost-${VERSION} + SHA512 b5befffc1bc958b7167fd8b7154ded3a07ac47882007577a8aebbe26de0baebe99fdc71867f51e4446ad7e6f454ebe75fc02e1327089b22a4edd60c887a75c32 HEAD_REF master ) -include(${CURRENT_HOST_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake) -boost_modular_build(SOURCE_PATH ${SOURCE_PATH}) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-date-time/vcpkg.json b/ports/boost-date-time/vcpkg.json index 9625ed3b0d0dd7..36ac7cc99a571f 100644 --- a/ports/boost-date-time/vcpkg.json +++ b/ports/boost-date-time/vcpkg.json @@ -1,88 +1,78 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-date-time", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost date_time module", - "homepage": "https://github.com/boostorg/date_time", + "homepage": "https://www.boost.org/libs/date_time", "license": "BSL-1.0", "dependencies": [ { "name": "boost-algorithm", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-build", - "host": true, - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-io", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { - "name": "boost-lexical-cast", - "version>=": "1.83.0" + "name": "boost-io", + "version>=": "1.86.0" }, { - "name": "boost-modular-build-helper", - "host": true, - "version>=": "1.83.0" + "name": "boost-lexical-cast", + "version>=": "1.86.0" }, { "name": "boost-numeric-conversion", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-range", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-smart-ptr", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-tokenizer", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-utility", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-winapi", - "version>=": "1.83.0" - }, - { - "name": "vcpkg-cmake", - "host": true + "version>=": "1.86.0" } ] } diff --git a/ports/boost-describe/portfile.cmake b/ports/boost-describe/portfile.cmake index 68db2eea46713c..6d6d9fed5fa1a1 100644 --- a/ports/boost-describe/portfile.cmake +++ b/ports/boost-describe/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/describe - REF boost-1.83.0 - SHA512 652972000916ce99a54dc8aa6fe5507c8ea04aba9ff9624cdfdfe89e6f0e9aae19c84b08381066a411bf851239dc9c585205df64a72f57f56e52f2f02e1ce6ad + REF boost-${VERSION} + SHA512 6dae1a712b2d3270163f37d7d1761e48c860f9339f1acb64e481056f1e9018222d44a176848a7a704e97a94d1c5b514fec7d5fb532ec179deca1d51984f11326 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-describe/vcpkg.json b/ports/boost-describe/vcpkg.json index db6d78547cf66d..3dea38eb7aa606 100644 --- a/ports/boost-describe/vcpkg.json +++ b/ports/boost-describe/vcpkg.json @@ -1,18 +1,26 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-describe", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost describe module", - "homepage": "https://github.com/boostorg/describe", + "homepage": "https://www.boost.org/libs/describe", "license": "BSL-1.0", "dependencies": [ { - "name": "boost-mp11", - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" }, { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-mp11", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-detail/portfile.cmake b/ports/boost-detail/portfile.cmake index 95a221d798d355..817ad026115b64 100644 --- a/ports/boost-detail/portfile.cmake +++ b/ports/boost-detail/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/detail - REF boost-1.83.0 - SHA512 40e0e7c06c5fa94fe0210b9fb74ece2ef42cc4448d30b6090789b1dc3a31da1c3a2efac5826c4e51f39c716ed20810cbb12350b590197710518f37ff8b028154 + REF boost-${VERSION} + SHA512 1235a8297c101a3f35cba4b74aca7bd9d8ded89fe60cf8d4868ea8a1eebe40ffdb50c385a16c11e3fce6dead37aa979c6bc55aa4bd067dc77fb7d1429daf3860 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-detail/vcpkg.json b/ports/boost-detail/vcpkg.json index 5d14d4e5065341..b6c7cab4f97ecf 100644 --- a/ports/boost-detail/vcpkg.json +++ b/ports/boost-detail/vcpkg.json @@ -1,34 +1,38 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-detail", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost detail module", - "homepage": "https://github.com/boostorg/detail", + "homepage": "https://www.boost.org/libs/detail", "license": "BSL-1.0", "dependencies": [ + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-preprocessor", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-dll/portfile.cmake b/ports/boost-dll/portfile.cmake index fbe1e9e587ee6e..80df04792e5e5c 100644 --- a/ports/boost-dll/portfile.cmake +++ b/ports/boost-dll/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/dll - REF boost-1.83.0 - SHA512 1a45b45673301809a6ad4f4aadfcebf7566f9ed973e35982b3cf4b39a881e2573517a5ad40af749714474fb13e69087b1a7f3dc1a81df0093a1e60fec022011c + REF boost-${VERSION} + SHA512 da9a2c341a23930e50747d978dc23dc41e2cdbb41cf50f561f309a942adecd855284fc4ca6e6c6f751d721b0a02bf476266ea4a66fb3e67abfafc17d93c87dce HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-dll/vcpkg.json b/ports/boost-dll/vcpkg.json index 18d804e037e80a..55e121b29143ac 100644 --- a/ports/boost-dll/vcpkg.json +++ b/ports/boost-dll/vcpkg.json @@ -1,75 +1,74 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-dll", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost dll module", - "homepage": "https://github.com/boostorg/dll", + "homepage": "https://www.boost.org/libs/dll", "license": "BSL-1.0", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-filesystem", - "platform": "!uwp", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-function", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-move", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-predef", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-smart-ptr", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-spirit", - "version>=": "1.83.0" - }, - { - "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-system", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-index", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-winapi", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-dynamic-bitset/portfile.cmake b/ports/boost-dynamic-bitset/portfile.cmake index 94fc7ff6096fc2..7fb956a6b50b41 100644 --- a/ports/boost-dynamic-bitset/portfile.cmake +++ b/ports/boost-dynamic-bitset/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/dynamic_bitset - REF boost-1.83.0 - SHA512 33795e6323b1a91bec31789e2f1ede38ce952b2a50fbd10f931225a0e83e4ad530827392991e8a6f994e06edb1627cb29927c9111c6ff98e18b2e17fd31b945e + REF boost-${VERSION} + SHA512 e86fc2ef217bdead342aa50d7e2e629b07b58059aecd99ca9d34414cd83cf1cc0effb707a18c140d9403766266098af03d758b5aaf61933a893430104b5d3b3e HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-dynamic-bitset/vcpkg.json b/ports/boost-dynamic-bitset/vcpkg.json index b3c20ec69730e0..38309adc591f57 100644 --- a/ports/boost-dynamic-bitset/vcpkg.json +++ b/ports/boost-dynamic-bitset/vcpkg.json @@ -1,46 +1,50 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-dynamic-bitset", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost dynamic_bitset module", - "homepage": "https://github.com/boostorg/dynamic_bitset", + "homepage": "https://www.boost.org/libs/dynamic_bitset", "license": "BSL-1.0", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-container-hash", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-integer", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-move", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-endian/portfile.cmake b/ports/boost-endian/portfile.cmake index 093442319419ab..3c5bbfe91c9f8b 100644 --- a/ports/boost-endian/portfile.cmake +++ b/ports/boost-endian/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/endian - REF boost-1.83.0 - SHA512 8c77b9b5d1931844cdd083d02f6f4eb677ad6344aad704bf7ff8fe0c05fa2775be31d7c776048f11eb54f6601ddcf9a884898747d0286f8440fe4bdf493862b8 + REF boost-${VERSION} + SHA512 022205042407ff55f28a24282b3de56a71bc94b7d55a8cfbb92b83d343d07456c3d77612aeda222327bde59fdc69942bd5dc06056bd4f61e146db180db3160a5 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-endian/vcpkg.json b/ports/boost-endian/vcpkg.json index c0127e4d4a1dbd..02aba836740647 100644 --- a/ports/boost-endian/vcpkg.json +++ b/ports/boost-endian/vcpkg.json @@ -1,30 +1,22 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-endian", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost endian module", - "homepage": "https://github.com/boostorg/endian", + "homepage": "https://www.boost.org/libs/endian", "license": "BSL-1.0", "dependencies": [ { - "name": "boost-config", - "version>=": "1.83.0" - }, - { - "name": "boost-core", - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" }, { - "name": "boost-static-assert", - "version>=": "1.83.0" - }, - { - "name": "boost-type-traits", - "version>=": "1.83.0" + "name": "boost-config", + "version>=": "1.86.0" }, { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-exception/features.cmake b/ports/boost-exception/features.cmake new file mode 100644 index 00000000000000..a58eb5b7592dc3 --- /dev/null +++ b/ports/boost-exception/features.cmake @@ -0,0 +1 @@ +set(Z_VCPKG_BOOST_FORCE_HEADER_ONLY ON) diff --git a/ports/boost-exception/portfile.cmake b/ports/boost-exception/portfile.cmake index 9192e0f18e17d3..07d68b8c176de3 100644 --- a/ports/boost-exception/portfile.cmake +++ b/ports/boost-exception/portfile.cmake @@ -3,12 +3,14 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/exception - REF boost-1.83.0 - SHA512 9b5bc191b3f50c529e3f61bfe6acfdfb095a6f462ff9e62bbd7ad63e93e52b6286f13c59847063889623d281d09f607277a42134ab735c3734959db2bf627546 + REF boost-${VERSION} + SHA512 1472e4e59d2397f30bbc32e0d9bc9965d36272fb290a9a923363b396ecd6a4f7d0a7e874eeb3f5d2b3ba5cada279eb10e948df5c96b45994439bbcda76b2105e HEAD_REF master ) -include(${CURRENT_HOST_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake) -boost_modular_build(SOURCE_PATH ${SOURCE_PATH}) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +include("${CMAKE_CURRENT_LIST_DIR}/features.cmake") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-exception/vcpkg.json b/ports/boost-exception/vcpkg.json index 4fb1c255dd6c7c..d1758ba0351384 100644 --- a/ports/boost-exception/vcpkg.json +++ b/ports/boost-exception/vcpkg.json @@ -1,56 +1,46 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-exception", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost exception module", - "homepage": "https://github.com/boostorg/exception", + "homepage": "https://www.boost.org/libs/exception", "license": "BSL-1.0", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-build", - "host": true, - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-modular-build-helper", - "host": true, - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-smart-ptr", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-tuple", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" - }, - { - "name": "vcpkg-cmake", - "host": true + "version>=": "1.86.0" } ] } diff --git a/ports/boost-fiber/b2-options.cmake b/ports/boost-fiber/b2-options.cmake deleted file mode 100644 index 296336aae92c4e..00000000000000 --- a/ports/boost-fiber/b2-options.cmake +++ /dev/null @@ -1,3 +0,0 @@ -if("numa" IN_LIST FEATURES) - list(APPEND B2_OPTIONS numa=on) -endif() diff --git a/ports/boost-fiber/portfile.cmake b/ports/boost-fiber/portfile.cmake index b92c51b8d83dfa..1de376545ca305 100644 --- a/ports/boost-fiber/portfile.cmake +++ b/ports/boost-fiber/portfile.cmake @@ -3,20 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/fiber - REF boost-1.83.0 - SHA512 f1ee98497a548661ce5aab19a2a49aea62ed789b7102eaa2a65f5011ead33fa4f19dce549f7d026bf7d93dba80bbc75555ffd1b80aa35da0627f5f4e3cc54ee3 + REF boost-${VERSION} + SHA512 9936195278181804a25b1b1b8a358c96cc3bc6e6d3952c0f01c29de349f1562503e063eb4f569deeca3589cb902ed1200e0db5289f9f7c0756934914e445caf5 HEAD_REF master ) -vcpkg_replace_string("${SOURCE_PATH}/build/Jamfile.v2" - "import ../../config/checks/config" - "import ../config/checks/config" +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} ) -file(COPY "${CURRENT_INSTALLED_DIR}/share/boost-config/checks" DESTINATION "${SOURCE_PATH}/config") -include(${CURRENT_HOST_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake) -boost_modular_build( - SOURCE_PATH ${SOURCE_PATH} - BOOST_CMAKE_FRAGMENT "${CMAKE_CURRENT_LIST_DIR}/b2-options.cmake" -) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) diff --git a/ports/boost-fiber/vcpkg.json b/ports/boost-fiber/vcpkg.json index 29a08d13bb097d..701cf96e52d676 100644 --- a/ports/boost-fiber/vcpkg.json +++ b/ports/boost-fiber/vcpkg.json @@ -1,72 +1,61 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-fiber", - "version": "1.83.0", - "port-version": 1, + "version": "1.86.0", "description": "Boost fiber module", - "homepage": "https://github.com/boostorg/fiber", + "homepage": "https://www.boost.org/libs/fiber", "license": "BSL-1.0", "supports": "!uwp & !(arm & windows) & !emscripten", "dependencies": [ { "name": "boost-algorithm", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-build", - "host": true, - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-context", "platform": "!uwp & !emscripten", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-filesystem", "platform": "!uwp", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-format", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-intrusive", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { - "name": "boost-modular-build-helper", - "host": true, - "version>=": "1.83.0" + "name": "boost-intrusive", + "version>=": "1.86.0" }, { "name": "boost-predef", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-smart-ptr", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" - }, - { - "name": "vcpkg-cmake", - "host": true + "version>=": "1.86.0" } ], "features": { diff --git a/ports/boost-filesystem/portfile.cmake b/ports/boost-filesystem/portfile.cmake index c55de16262e00f..12f8008c16a696 100644 --- a/ports/boost-filesystem/portfile.cmake +++ b/ports/boost-filesystem/portfile.cmake @@ -3,12 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/filesystem - REF boost-1.83.0 - SHA512 7de786c7831971faa9aacbc454dcba3021e41d115a88dbfb05f3cb3f68dcec9bb56521eaba16ee77b16e93670e197964649436b83ceb6a0eef199d29e25ff95e + REF boost-${VERSION} + SHA512 cb036ab7a381ffd72c0a415d00b256c82445f4f777ce5b7b1490f9dcea53e28af8ccea67807a12195f44bfee6aa29e1bd7178cef2199f2cfd017c066c005d29c HEAD_REF master ) -include(${CURRENT_HOST_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake) -boost_modular_build(SOURCE_PATH ${SOURCE_PATH}) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-filesystem/vcpkg.json b/ports/boost-filesystem/vcpkg.json index a4c46cb606365c..85e376b343dd9e 100644 --- a/ports/boost-filesystem/vcpkg.json +++ b/ports/boost-filesystem/vcpkg.json @@ -1,85 +1,75 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-filesystem", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost filesystem module", - "homepage": "https://github.com/boostorg/filesystem", + "homepage": "https://www.boost.org/libs/filesystem", "license": "BSL-1.0", "supports": "!uwp", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-atomic", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-build", - "host": true, - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-container-hash", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-detail", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-io", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-iterator", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-modular-build-helper", - "host": true, - "version>=": "1.83.0" + "name": "boost-predef", + "version>=": "1.86.0" }, { - "name": "boost-predef", - "version>=": "1.83.0" + "name": "boost-scope", + "version>=": "1.86.0" }, { "name": "boost-smart-ptr", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-system", - "version>=": "1.83.0" - }, - { - "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-winapi", - "version>=": "1.83.0" - }, - { - "name": "vcpkg-cmake", - "host": true + "version>=": "1.86.0" } ] } diff --git a/ports/boost-flyweight/portfile.cmake b/ports/boost-flyweight/portfile.cmake index c435bea91fecd5..3af81e904381f6 100644 --- a/ports/boost-flyweight/portfile.cmake +++ b/ports/boost-flyweight/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/flyweight - REF boost-1.83.0 - SHA512 c054403707a0574c0b2e5c7f34521153f604ae17d10a52ed7ff8e222d006ff4875d3e479abacce18c59edd2d44d8fec63f22a806d7a203094ce9e885ffbd903b + REF boost-${VERSION} + SHA512 dc5862df3f1f1b8d8704175952690011dd02e01cd396318b24da4d52e9b5c12da27903128a6003439b92934ce4fb3341b42972152793d17768a04acedcf0bde7 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-flyweight/vcpkg.json b/ports/boost-flyweight/vcpkg.json index 583dfd94164a72..468c4f24a5555b 100644 --- a/ports/boost-flyweight/vcpkg.json +++ b/ports/boost-flyweight/vcpkg.json @@ -1,66 +1,70 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-flyweight", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost flyweight module", - "homepage": "https://github.com/boostorg/flyweight", + "homepage": "https://www.boost.org/libs/flyweight", "license": "BSL-1.0", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-container-hash", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-detail", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-interprocess", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-multi-index", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-parameter", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-preprocessor", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-smart-ptr", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-foreach/portfile.cmake b/ports/boost-foreach/portfile.cmake index 603a32a182fa98..d501f9e8288290 100644 --- a/ports/boost-foreach/portfile.cmake +++ b/ports/boost-foreach/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/foreach - REF boost-1.83.0 - SHA512 74b95e1c13c48ef38a4d8bfd50fd896fda6f12cbbc360530a1c69c96ab2a891ef5c6b7162ea5fe13dd978f329e5c618226688ba75307a0243fc0b1845cc9f18a + REF boost-${VERSION} + SHA512 9ec2431151570a7cc0efa8e9651a6ea5484e8e483a50067faa221e26c2bfbaf26e7ff97de7bb8fa82cbffaead5710f9df28ef1781aff83320e747110d678c531 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-foreach/vcpkg.json b/ports/boost-foreach/vcpkg.json index da21862f73121d..470e7d65d7d8c3 100644 --- a/ports/boost-foreach/vcpkg.json +++ b/ports/boost-foreach/vcpkg.json @@ -1,38 +1,42 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-foreach", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost foreach module", - "homepage": "https://github.com/boostorg/foreach", + "homepage": "https://www.boost.org/libs/foreach", "license": "BSL-1.0", "dependencies": [ + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-iterator", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-range", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-format/portfile.cmake b/ports/boost-format/portfile.cmake index 27f5c7f2cef7ec..059de09e389df1 100644 --- a/ports/boost-format/portfile.cmake +++ b/ports/boost-format/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/format - REF boost-1.83.0 - SHA512 e5faefa4aca61498b13522d2606c3fe91c1c23053f2ae6d83f9680d6c19680fafd36232fbcb735fb4d7cb79f498c28fd7095f1568594b050f87060c744960c13 + REF boost-${VERSION} + SHA512 7b1d2bc208835e2d106265f98df005026a1e73f9f7f8414a379581e1aa4dd27458343855db0fb4ca8ae00d783c995c23e983e051b7f418110400df7674cc5de4 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-format/vcpkg.json b/ports/boost-format/vcpkg.json index 3ad32d2aa66529..b4c801f675582c 100644 --- a/ports/boost-format/vcpkg.json +++ b/ports/boost-format/vcpkg.json @@ -1,42 +1,46 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-format", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost format module", - "homepage": "https://github.com/boostorg/format", + "homepage": "https://www.boost.org/libs/format", "license": "BSL-1.0", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-optional", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-smart-ptr", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-utility", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-function-types/portfile.cmake b/ports/boost-function-types/portfile.cmake index cc46072ff765a2..48119a05a8c60d 100644 --- a/ports/boost-function-types/portfile.cmake +++ b/ports/boost-function-types/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/function_types - REF boost-1.83.0 - SHA512 6ccaf5f67a7fd50e175b57a6e3cfe47c9bd523a94705d008f9ed7837926e8e84a2d13df2bd8b64e7df6a85d61a51a4c30ab409acd6a3b9f8eb054236dcc68abc + REF boost-${VERSION} + SHA512 4b58a7b8b7f3f0115d85bf7c141b6d06f9b16a0e537cf9fce40c784a62accb289436c1dafaed11217e1658b32dd9b7834914aee80642248de07a495328968d5f HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-function-types/vcpkg.json b/ports/boost-function-types/vcpkg.json index 2b62673eac48a6..7aa91d0c5a4526 100644 --- a/ports/boost-function-types/vcpkg.json +++ b/ports/boost-function-types/vcpkg.json @@ -1,38 +1,42 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-function-types", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost function_types module", - "homepage": "https://github.com/boostorg/function_types", + "homepage": "https://www.boost.org/libs/function_types", "license": "BSL-1.0", "dependencies": [ + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-detail", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-preprocessor", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-function/portfile.cmake b/ports/boost-function/portfile.cmake index af63bd8314e0fc..d2a66fb17c2c73 100644 --- a/ports/boost-function/portfile.cmake +++ b/ports/boost-function/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/function - REF boost-1.83.0 - SHA512 2df43a509b4f5ee39c5febc5253369eacbf2421d73fff32525fbdb28e8aa4c2a22173ee1d11a4aefa28975ea6ca7649edc771d047f1893179da119a13ca27681 + REF boost-${VERSION} + SHA512 c3ff72eaad404c14cbcb5da18ae434390c5f2baac31809ce1862ecc2b71d76c844864c1147a8365ee51e6fc93cb42342782a3438d4b35f617582fc3cb0ca4580 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-function/vcpkg.json b/ports/boost-function/vcpkg.json index b24271bf7c1d85..cd249169a49475 100644 --- a/ports/boost-function/vcpkg.json +++ b/ports/boost-function/vcpkg.json @@ -1,46 +1,43 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-function", - "version": "1.83.0", + "version": "1.86.0", + "port-version": 1, "description": "Boost function module", - "homepage": "https://github.com/boostorg/function", + "homepage": "https://www.boost.org/libs/function", "license": "BSL-1.0", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-bind", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-preprocessor", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" - }, - { - "name": "boost-typeof", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-functional/portfile.cmake b/ports/boost-functional/portfile.cmake index 417cff00c47077..ee73c76aae064c 100644 --- a/ports/boost-functional/portfile.cmake +++ b/ports/boost-functional/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/functional - REF boost-1.83.0 - SHA512 c63de62b13393a125039ef5b2e28d42de4aebff3d6ac7c137780451471992b7022765f9e28a67050d5bcc406328730cc56a77bdc41fdfbf8a3926aaed80080e9 + REF boost-${VERSION} + SHA512 47bd14e4768bc2d71e450d3c82be006bb036526f9de2667aabd81646bc80da144a6f43e21a9e5d2d38272c268fb1aa48644a36fb75dc010ef879f2fbc4dfa633 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-functional/vcpkg.json b/ports/boost-functional/vcpkg.json index 571d06f2c3d9b3..7c03127dfaebe9 100644 --- a/ports/boost-functional/vcpkg.json +++ b/ports/boost-functional/vcpkg.json @@ -1,50 +1,54 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-functional", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost functional module", - "homepage": "https://github.com/boostorg/functional", + "homepage": "https://www.boost.org/libs/functional", "license": "BSL-1.0", "dependencies": [ + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-function", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-function-types", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-preprocessor", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-typeof", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-utility", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-fusion/portfile.cmake b/ports/boost-fusion/portfile.cmake index cc7c20feae4a2e..c54c2fa9d34dd0 100644 --- a/ports/boost-fusion/portfile.cmake +++ b/ports/boost-fusion/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/fusion - REF boost-1.83.0 - SHA512 4fefa5c968a7a7f99e408d58d08b25ac52a7e5bc50a7b6d60e185f1b7947382da487d2e97bfc725bef693208b80d072c610bb7d44028d666fd66e3bf2677098e + REF boost-${VERSION} + SHA512 335fdf5f66711cc755e9c44b9bb33b1312c5850e1ff864c71a90d5ff3db92e23286445975a0395b53bfec300c6d5a4619a30baa60956b244e8ece779d3bd0a1d HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-fusion/vcpkg.json b/ports/boost-fusion/vcpkg.json index 919dc406f94aac..82532c0cd79646 100644 --- a/ports/boost-fusion/vcpkg.json +++ b/ports/boost-fusion/vcpkg.json @@ -1,62 +1,66 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-fusion", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost fusion module", - "homepage": "https://github.com/boostorg/fusion", + "homepage": "https://www.boost.org/libs/fusion", "license": "BSL-1.0", "dependencies": [ + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-container-hash", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-function-types", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-functional", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-preprocessor", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-tuple", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-typeof", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-utility", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-geometry/portfile.cmake b/ports/boost-geometry/portfile.cmake index f4e30525b9ae09..c66604f1bd6a73 100644 --- a/ports/boost-geometry/portfile.cmake +++ b/ports/boost-geometry/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/geometry - REF boost-1.83.0 - SHA512 e6708bdcb2ec9b55e9a68cade2efd0114cfc757c1cbf2aaa84e740c2ce5a26c910afef09343be9d7cd2ac8209bf99310b7404a1938ddac99975eef92b7c1e675 + REF boost-${VERSION} + SHA512 1dc66ddee35716c7891e9f4035ae8da8bcbb52b8130f16db2e464c0317fdcdf94e88ab252cee5a38ad4d3ce61925b77bdfa72abb35ef4b0948ef3d30d0f78ba7 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-geometry/vcpkg.json b/ports/boost-geometry/vcpkg.json index a7fb1242cecbd9..f9e7f45cd2cb18 100644 --- a/ports/boost-geometry/vcpkg.json +++ b/ports/boost-geometry/vcpkg.json @@ -1,134 +1,138 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-geometry", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost geometry module", - "homepage": "https://github.com/boostorg/geometry", + "homepage": "https://www.boost.org/libs/geometry", "license": "BSL-1.0", "dependencies": [ { "name": "boost-algorithm", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-any", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-array", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-concept-check", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-container", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-function-types", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-fusion", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-integer", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-iterator", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-lexical-cast", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-math", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-multiprecision", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-numeric-conversion", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-polygon", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-qvm", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-range", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-rational", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-serialization", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-thread", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-tokenizer", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-tuple", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-variant", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-variant2", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-gil/portfile.cmake b/ports/boost-gil/portfile.cmake index 4289591da517a4..4243d2af427493 100644 --- a/ports/boost-gil/portfile.cmake +++ b/ports/boost-gil/portfile.cmake @@ -3,10 +3,15 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/gil - REF boost-1.83.0 - SHA512 36efb70a22bf44eea5c8e6a4db2cf4e46754dfc19052a0c73a78dec1c51cdb0913b0565f2236eb5e9c9d59992175964e7766d871240ade1468208e72e3e8d8ac + REF boost-${VERSION} + SHA512 97de2f6af8b60f826c330677646ebf9e94832f4e94bbe2be7ec799856956e2f6c809f6bbd00541642e7f6db4817d2f10343ab55babdb6710bb9c1c702c313c6e HEAD_REF master + PATCHES + remove-boost-filesystem-dep.diff ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-gil/remove-boost-filesystem-dep.diff b/ports/boost-gil/remove-boost-filesystem-dep.diff new file mode 100644 index 00000000000000..6fc07b798cee7a --- /dev/null +++ b/ports/boost-gil/remove-boost-filesystem-dep.diff @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index fd94577e89..4e14499dab 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -27,7 +27,6 @@ target_link_libraries(boost_gil + Boost::config + Boost::container_hash + Boost::core +- Boost::filesystem + Boost::integer + Boost::iterator + Boost::mp11 diff --git a/ports/boost-gil/vcpkg.json b/ports/boost-gil/vcpkg.json index c87d92bc9ddcc0..c340d2e5821653 100644 --- a/ports/boost-gil/vcpkg.json +++ b/ports/boost-gil/vcpkg.json @@ -1,58 +1,62 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-gil", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost gil module", - "homepage": "https://github.com/boostorg/gil", + "homepage": "https://www.boost.org/libs/gil", "license": "BSL-1.0", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-concept-check", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-container-hash", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-integer", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-iterator", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-mp11", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-preprocessor", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-variant2", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-graph-parallel/portfile.cmake b/ports/boost-graph-parallel/portfile.cmake index 598cb5d420b278..9106ec9fe0adaa 100644 --- a/ports/boost-graph-parallel/portfile.cmake +++ b/ports/boost-graph-parallel/portfile.cmake @@ -3,12 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/graph_parallel - REF boost-1.83.0 - SHA512 8987b10f1f472bffe1075a477ec108ebc52d37cc412667cec2c58434b44ba6b61e24dbfff7783057c40278c574ec9b9d3027858416c845a2751edc89e1555566 + REF boost-${VERSION} + SHA512 701e068240813a64aa1215e241a770b3497a8f9a054eeef98fd3d8462ac60fbf943c7e0d833f097ddb5f2e18b843459707027c2b144cb81517f60d4cc8672c6a HEAD_REF master ) -include(${CURRENT_HOST_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake) -boost_modular_build(SOURCE_PATH ${SOURCE_PATH}) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-graph-parallel/vcpkg.json b/ports/boost-graph-parallel/vcpkg.json index 6c0922501ef895..9a809fc91ae070 100644 --- a/ports/boost-graph-parallel/vcpkg.json +++ b/ports/boost-graph-parallel/vcpkg.json @@ -1,137 +1,126 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-graph-parallel", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost graph_parallel module", - "homepage": "https://github.com/boostorg/graph_parallel", + "homepage": "https://www.boost.org/libs/graph_parallel", "license": "BSL-1.0", - "supports": "!uwp", "dependencies": [ { "name": "boost-algorithm", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-build", - "host": true, - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-concept-check", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-container-hash", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-detail", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-dynamic-bitset", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-filesystem", "platform": "!uwp", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-foreach", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-function", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-graph", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-iterator", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { - "name": "boost-lexical-cast", - "version>=": "1.83.0" + "name": "boost-iterator", + "version>=": "1.86.0" }, { - "name": "boost-modular-build-helper", - "host": true, - "version>=": "1.83.0" + "name": "boost-lexical-cast", + "version>=": "1.86.0" }, { "name": "boost-mpi", "platform": "!uwp", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-optional", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-property-map", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-property-map-parallel", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-random", "platform": "!uwp", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-serialization", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-smart-ptr", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-tuple", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-variant", - "version>=": "1.83.0" + "version>=": "1.86.0" }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" - }, - "mpi", - { - "name": "vcpkg-cmake", - "host": true - } + "mpi" ] } diff --git a/ports/boost-graph/portfile.cmake b/ports/boost-graph/portfile.cmake index 9cde614960fa07..f938b0b427a5ce 100644 --- a/ports/boost-graph/portfile.cmake +++ b/ports/boost-graph/portfile.cmake @@ -3,12 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/graph - REF boost-1.83.0 - SHA512 fee24d3e62d422811f71139c61372a7d205b6d55215b54387dd5973e84b475b9eed42aafb84174058e29b1ce9b858407dd044614784a81f447f351c43e5d95c0 + REF boost-${VERSION} + SHA512 fcd2554e467f499352b3ae9166891c58e49edd60a56a79197e8adf5d0c188d12df143d89667aa27d78307548ef9c30d0cce3ecf5f39404ed610283c4f3f6a4cb HEAD_REF master ) -include(${CURRENT_HOST_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake) -boost_modular_build(SOURCE_PATH ${SOURCE_PATH}) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-graph/vcpkg.json b/ports/boost-graph/vcpkg.json index 0a11e71be314f6..fdf04bf75bc5a4 100644 --- a/ports/boost-graph/vcpkg.json +++ b/ports/boost-graph/vcpkg.json @@ -1,193 +1,182 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-graph", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost graph module", - "homepage": "https://github.com/boostorg/graph", + "homepage": "https://www.boost.org/libs/graph", "license": "BSL-1.0", "dependencies": [ { "name": "boost-algorithm", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-any", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-array", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-bimap", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-bind", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-build", - "host": true, - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-concept-check", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-container-hash", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-conversion", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-detail", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-foreach", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-function", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-integer", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-iterator", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-lexical-cast", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-math", - "version>=": "1.83.0" - }, - { - "name": "boost-modular-build-helper", - "host": true, - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-move", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-multi-index", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-optional", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-parameter", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-preprocessor", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-property-map", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-property-tree", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-random", - "platform": "!uwp", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-range", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-regex", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-serialization", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-smart-ptr", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-spirit", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-tti", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-tuple", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-typeof", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-unordered", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-utility", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-xpressive", - "version>=": "1.83.0" - }, - { - "name": "vcpkg-cmake", - "host": true + "version>=": "1.86.0" } ] } diff --git a/ports/boost-hana/portfile.cmake b/ports/boost-hana/portfile.cmake index a34ec3acec02da..a52b40f42e9e0a 100644 --- a/ports/boost-hana/portfile.cmake +++ b/ports/boost-hana/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/hana - REF boost-1.83.0 - SHA512 7a4e76839f5afece4dd1f8fc333364f5522bac1a02601dcfaf7525a67fd4e36617357d4731a486d03a9f0ad04b67364e6ec156fefc37f5e3e11d6d5e87abb2c3 + REF boost-${VERSION} + SHA512 16b3fbc6a95c980a5dae83d001bc5a4cf115c1379ecc9305eb10f5a737057160341c51354413b35040ff59778803fd173e6b0f0e0053a888734881b991a82109 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-hana/vcpkg.json b/ports/boost-hana/vcpkg.json index 915ee51f1c018b..d62fd85f0834df 100644 --- a/ports/boost-hana/vcpkg.json +++ b/ports/boost-hana/vcpkg.json @@ -1,34 +1,38 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-hana", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost hana module", - "homepage": "https://github.com/boostorg/hana", + "homepage": "https://www.boost.org/libs/hana", "license": "BSL-1.0", "dependencies": [ + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-fusion", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-mpl", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { - "name": "boost-tuple", - "version>=": "1.83.0" + "name": "boost-mpl", + "version>=": "1.86.0" }, { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "name": "boost-tuple", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-headers/portfile.cmake b/ports/boost-headers/portfile.cmake new file mode 100644 index 00000000000000..0972598a3cb24e --- /dev/null +++ b/ports/boost-headers/portfile.cmake @@ -0,0 +1,15 @@ +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/headers + REF boost-${VERSION} + SHA512 4cd0f4c04fe8891789139ba454aa87c97bbaa2de6ee16dd9fa251ce6902c4c7685dfa00295cbf4c1b7e08b013c0eba3fa87404d1ba363fafb2020d2e9e9064dc + HEAD_REF master +) + +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-headers/vcpkg.json b/ports/boost-headers/vcpkg.json new file mode 100644 index 00000000000000..846ffacd99832e --- /dev/null +++ b/ports/boost-headers/vcpkg.json @@ -0,0 +1,14 @@ +{ + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", + "name": "boost-headers", + "version": "1.86.0", + "description": "Boost headers module", + "homepage": "https://www.boost.org/libs/headers", + "license": "BSL-1.0", + "dependencies": [ + { + "name": "boost-cmake", + "version>=": "1.86.0" + } + ] +} diff --git a/ports/boost-heap/portfile.cmake b/ports/boost-heap/portfile.cmake index 90273f8f3e65fe..13d0b05c7d53a8 100644 --- a/ports/boost-heap/portfile.cmake +++ b/ports/boost-heap/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/heap - REF boost-1.83.0 - SHA512 372bb5b2c92792f0d60a045271eab60eaf1d8743e72afea7686fe24c478aceffc598689e8a65479812c93517701671d5c4505dddf770c73eec1127a6a6318cb2 + REF boost-${VERSION} + SHA512 4585d61775ad0c3f374d5d67d817b471fa5d0f796f396a09a100192898837b318d87507c2b86e3ad9ae6e37de160b1b2ff884f7ade13bfb83300b8371b32fa2e HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-heap/vcpkg.json b/ports/boost-heap/vcpkg.json index 7699191665bbd9..766b41907be3a7 100644 --- a/ports/boost-heap/vcpkg.json +++ b/ports/boost-heap/vcpkg.json @@ -1,62 +1,66 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-heap", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost heap module", - "homepage": "https://github.com/boostorg/heap", + "homepage": "https://www.boost.org/libs/heap", "license": "BSL-1.0", "dependencies": [ { "name": "boost-array", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-bind", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-concept-check", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-intrusive", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-iterator", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-parameter", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-histogram/portfile.cmake b/ports/boost-histogram/portfile.cmake index d8f9e38e2d56dd..fc428abaac9d83 100644 --- a/ports/boost-histogram/portfile.cmake +++ b/ports/boost-histogram/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/histogram - REF boost-1.83.0 - SHA512 dc791fdabc4e7e3c49257acefbe3e31968b9049421c643f5c34002974ab87f660e971c422b4ec02bf662d131df1daca7f7bacfc6966c61d9b7c1356ea1c10cf1 + REF boost-${VERSION} + SHA512 3be9658d1938c62751428c6b76a315b4089832634d6ad1ac7836cd96ba21798fcf9c3810e04dbd04e71c585b1fd8e097d10fac99aa936fd3f552b7339c6e6a36 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-histogram/vcpkg.json b/ports/boost-histogram/vcpkg.json index 0111523aac4d28..f5d75666d9ce70 100644 --- a/ports/boost-histogram/vcpkg.json +++ b/ports/boost-histogram/vcpkg.json @@ -1,42 +1,46 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-histogram", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost histogram module", - "homepage": "https://github.com/boostorg/histogram", + "homepage": "https://www.boost.org/libs/histogram", "license": "BSL-1.0", "dependencies": [ + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-math", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-mp11", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-serialization", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-variant2", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-hof/portfile.cmake b/ports/boost-hof/portfile.cmake index f4d7ed10327b3e..43499d3fd2ea09 100644 --- a/ports/boost-hof/portfile.cmake +++ b/ports/boost-hof/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/hof - REF boost-1.83.0 - SHA512 32b04d64c585e5f390d9a0690cdd18a90b8f512652ef7bb0a0acfe533da26298430cc80f8528eb927d6fde75c2b1841a7abe3996fd48453676f6de8a814d22e3 + REF boost-${VERSION} + SHA512 b7babd4d1aad5f1a1fae4186248c07e9ec2d790c03abdaf847645d41b02517b3ca8e14ffb40f4973d8486b2c2ab0bd4b94e0d27c272b2d2b3aee1c81da003665 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-hof/vcpkg.json b/ports/boost-hof/vcpkg.json index 24d8c43eb9cd8b..0a757b20232750 100644 --- a/ports/boost-hof/vcpkg.json +++ b/ports/boost-hof/vcpkg.json @@ -1,14 +1,22 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-hof", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost hof module", - "homepage": "https://github.com/boostorg/hof", + "homepage": "https://www.boost.org/libs/hof", "license": "BSL-1.0", "dependencies": [ { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-icl/portfile.cmake b/ports/boost-icl/portfile.cmake index 60567ab1300466..e59e81e2b66b99 100644 --- a/ports/boost-icl/portfile.cmake +++ b/ports/boost-icl/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/icl - REF boost-1.83.0 - SHA512 1c3a7c2cb127c2ca3ad6133d4aaba78a4839c8a54ce8021dee562f84c279439543b93bce8c389091e195f6b0f9b22491e7f2d0383dc06f899cb0fcf75a75b62e + REF boost-${VERSION} + SHA512 fd1346495ce408fed874e68baf24641552553f5754fa59e29d2b36b10ef5cae8cd655af13fe378620c1dff45afc5412ff63bf2bfbca33aad62631406eab181bf HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-icl/vcpkg.json b/ports/boost-icl/vcpkg.json index fe7852788b2b2d..2a1f578dc9c8ac 100644 --- a/ports/boost-icl/vcpkg.json +++ b/ports/boost-icl/vcpkg.json @@ -1,74 +1,78 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-icl", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost icl module", - "homepage": "https://github.com/boostorg/icl", + "homepage": "https://www.boost.org/libs/icl", "license": "BSL-1.0", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-concept-check", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-container", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-date-time", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-detail", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-iterator", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-move", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-range", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-rational", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-utility", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-integer/portfile.cmake b/ports/boost-integer/portfile.cmake index 1139ebbf261c40..8ecad21499c8a8 100644 --- a/ports/boost-integer/portfile.cmake +++ b/ports/boost-integer/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/integer - REF boost-1.83.0 - SHA512 7e477d9b5cbba4ba0a9153ad312f33bcfc95654b387233c364bbdf9fc51e098cd4db004fec17c2f8fe4f837eb96e96da0f4fcc3392d6657dc91295c295c3c4d1 + REF boost-${VERSION} + SHA512 9bef2fc320f72c20b0eadef9b2693dc3288e7903650b11496b6cdba55b8a9e7e21cbdf47985b8611612f3a1aeb8354ca7cfdda8cedbf0d0ed7f5e5708628cdeb HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-integer/vcpkg.json b/ports/boost-integer/vcpkg.json index 6dbbe4fcfbd2b2..c816846ea623f7 100644 --- a/ports/boost-integer/vcpkg.json +++ b/ports/boost-integer/vcpkg.json @@ -1,38 +1,42 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-integer", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost integer module", - "homepage": "https://github.com/boostorg/integer", + "homepage": "https://www.boost.org/libs/integer", "license": "BSL-1.0", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-interprocess/portfile.cmake b/ports/boost-interprocess/portfile.cmake index 93a6b5581d45d0..24dbe6b6c932da 100644 --- a/ports/boost-interprocess/portfile.cmake +++ b/ports/boost-interprocess/portfile.cmake @@ -3,10 +3,15 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/interprocess - REF boost-1.83.0 - SHA512 2edc43879058253fcce61f4a63bcb0277b2155c723c402514defda13c2938f617566b67faae186588b54d4944bb80eeeee66b6af001b2c5d30853a4b219968ae + REF boost-${VERSION} + SHA512 f619d1e29e2ce2808d2edb6e022a877bcbf762ea1eb7bd2518dce2cd047be7402272f5e5bb7fc5120a7318f4643ab7107d908b4b7c15c4e3e0ee7231ed1fc7ee HEAD_REF master + PATCHES + unused-link-libs.diff ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-interprocess/unused-link-libs.diff b/ports/boost-interprocess/unused-link-libs.diff new file mode 100644 index 00000000000000..ac0aeeff145d84 --- /dev/null +++ b/ports/boost-interprocess/unused-link-libs.diff @@ -0,0 +1,17 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2b3f13b..913fa25 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -18,12 +18,10 @@ target_link_libraries(boost_interprocess + Boost::config + Boost::container + Boost::core +- Boost::integer + Boost::intrusive + Boost::move + Boost::static_assert + Boost::type_traits +- Boost::unordered + Boost::winapi + ) + diff --git a/ports/boost-interprocess/vcpkg.json b/ports/boost-interprocess/vcpkg.json index 96e2e514f9e6ac..13a8ecfb2dcaed 100644 --- a/ports/boost-interprocess/vcpkg.json +++ b/ports/boost-interprocess/vcpkg.json @@ -1,54 +1,54 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-interprocess", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost interprocess module", - "homepage": "https://github.com/boostorg/interprocess", + "homepage": "https://www.boost.org/libs/interprocess", "license": "BSL-1.0", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-container", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-intrusive", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-move", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" - }, - { - "name": "boost-unordered", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-winapi", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-interval/portfile.cmake b/ports/boost-interval/portfile.cmake index 35d75bf5234175..fc1513f6283280 100644 --- a/ports/boost-interval/portfile.cmake +++ b/ports/boost-interval/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/interval - REF boost-1.83.0 - SHA512 a3088e9e987c3f5e4b8b83cd86157ff60972e70b4e936956371f4788e1b9923acd04531b40278dc4e27c3f7f02eaf3a04e7ac995f581960e9361b6f44e3672cd + REF boost-${VERSION} + SHA512 918a84b539a0efa21d30c047f2ebcecdb794019cd048a56e44ca7fbc893eaedf1835eefb0c4bc7185b10207a576741ab452074e351432965542bc28f8ec33772 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-interval/vcpkg.json b/ports/boost-interval/vcpkg.json index a36655d3f80a63..d8954b41ceaf86 100644 --- a/ports/boost-interval/vcpkg.json +++ b/ports/boost-interval/vcpkg.json @@ -1,26 +1,30 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-interval", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost interval module", - "homepage": "https://github.com/boostorg/interval", + "homepage": "https://www.boost.org/libs/numeric/interval", "license": "BSL-1.0", "dependencies": [ + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-detail", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-logic", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "name": "boost-logic", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-intrusive/portfile.cmake b/ports/boost-intrusive/portfile.cmake index 0ebc267991a4ae..95c19dad2aaf08 100644 --- a/ports/boost-intrusive/portfile.cmake +++ b/ports/boost-intrusive/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/intrusive - REF boost-1.83.0 - SHA512 b19c2eeb9f2870bcc024d62ed363a473459a7b8a7db0c5c7687168a114ac279eef1b65855ed82efeaba74658185914cb9cdfd1225f86dcd8c0d19a3c1efc4ec5 + REF boost-${VERSION} + SHA512 bce80432295b596b0bdb3682353623fb6fd2fa5ff4f732ccf8c3806b8392e386e4d101de91901abc9c3028ab8d329266e0b07f23ed41f02239025d182b5bd74d HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-intrusive/vcpkg.json b/ports/boost-intrusive/vcpkg.json index 48dd94be753ea5..4a08572ae1bd67 100644 --- a/ports/boost-intrusive/vcpkg.json +++ b/ports/boost-intrusive/vcpkg.json @@ -1,34 +1,30 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-intrusive", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost intrusive module", - "homepage": "https://github.com/boostorg/intrusive", + "homepage": "https://www.boost.org/libs/intrusive", "license": "BSL-1.0", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-config", - "version>=": "1.83.0" - }, - { - "name": "boost-container-hash", - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" }, { - "name": "boost-move", - "version>=": "1.83.0" + "name": "boost-config", + "version>=": "1.86.0" }, { - "name": "boost-static-assert", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "name": "boost-move", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-io/portfile.cmake b/ports/boost-io/portfile.cmake index 91641f78091667..9b92d616be6d26 100644 --- a/ports/boost-io/portfile.cmake +++ b/ports/boost-io/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/io - REF boost-1.83.0 - SHA512 f9aac28c4ecb9d305e0eb0a7d108abaa3c7f769a8027722a77554b086bc2e5af412279e7fc274d7d13e567a11f0fd89ad8f238f118d4c9d8d84ee2c0f14f9d06 + REF boost-${VERSION} + SHA512 060e3c5b6e2e1bfc804ef2722f1380683a92466b4f8b41a39d66d1be2f1951973936f60210bec94dcabfb88442170e6467d36c9db8936875ff81d6006fb7601d HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-io/vcpkg.json b/ports/boost-io/vcpkg.json index 3c60bf52922073..eb1b6b9b61e899 100644 --- a/ports/boost-io/vcpkg.json +++ b/ports/boost-io/vcpkg.json @@ -1,18 +1,22 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-io", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost io module", - "homepage": "https://github.com/boostorg/io", + "homepage": "https://www.boost.org/libs/io", "license": "BSL-1.0", "dependencies": [ + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-iostreams/b2-options.cmake b/ports/boost-iostreams/b2-options.cmake deleted file mode 100644 index 5b24d9d6ddb2b0..00000000000000 --- a/ports/boost-iostreams/b2-options.cmake +++ /dev/null @@ -1,74 +0,0 @@ -if(CMAKE_BUILD_TYPE STREQUAL "Release") - set(lib_path_suffix lib) -else() - set(lib_path_suffix debug/lib) -endif() - -if("bzip2" IN_LIST FEATURES) - list(APPEND B2_OPTIONS - -sBZIP2_INCLUDE="${CURRENT_INSTALLED_DIR}/include" - ) - # Overwride debug library name - if(CMAKE_BUILD_TYPE STREQUAL "Debug") - list(APPEND B2_OPTIONS - -sBZIP2_NAME=bz2d - ) - endif() - list(APPEND B2_OPTIONS - -sBZIP2_LIBRARY_PATH="${CURRENT_INSTALLED_DIR}/${lib_path_suffix}" - ) -else() - list(APPEND B2_OPTIONS - -sNO_BZIP2=1 - ) -endif() - -if("lzma" IN_LIST FEATURES) - list(APPEND B2_OPTIONS - -sLZMA_INCLUDE="${CURRENT_INSTALLED_DIR}/include" - ) - list(APPEND B2_OPTIONS - -sLZMA_LIBRARY_PATH="${CURRENT_INSTALLED_DIR}/${lib_path_suffix}" - ) -else() - list(APPEND B2_OPTIONS - -sNO_LZMA=1 - ) -endif() - -if("zlib" IN_LIST FEATURES) - list(APPEND B2_OPTIONS - -sZLIB_INCLUDE="${CURRENT_INSTALLED_DIR}/include" - ) - # Overwride windows library names - if(WIN32) - if(CMAKE_BUILD_TYPE STREQUAL "Debug") - set(ZLIB_NAME zlibd) - else() - set(ZLIB_NAME zlib) # for mingw - endif() - list(APPEND B2_OPTIONS - -sZLIB_NAME=${ZLIB_NAME} - ) - endif() - list(APPEND B2_OPTIONS - -sZLIB_LIBRARY_PATH="${CURRENT_INSTALLED_DIR}/${lib_path_suffix}" - ) -else() - list(APPEND B2_OPTIONS - -sNO_ZLIB=1 - ) -endif() - -if("zstd" IN_LIST FEATURES) - list(APPEND B2_OPTIONS - -sZSTD_INCLUDE="${CURRENT_INSTALLED_DIR}/include" - ) - list(APPEND B2_OPTIONS - -sZSTD_LIBRARY_PATH="${CURRENT_INSTALLED_DIR}/${lib_path_suffix}" - ) -else() - list(APPEND B2_OPTIONS - -sNO_ZSTD=1 - ) -endif() \ No newline at end of file diff --git a/ports/boost-iostreams/features.cmake b/ports/boost-iostreams/features.cmake new file mode 100644 index 00000000000000..d0e5cc1b54786f --- /dev/null +++ b/ports/boost-iostreams/features.cmake @@ -0,0 +1,9 @@ +vcpkg_check_features( + OUT_FEATURE_OPTIONS + FEATURE_OPTIONS + FEATURES + "bzip2" BOOST_IOSTREAMS_ENABLE_BZIP2 + "lzma" BOOST_IOSTREAMS_ENABLE_LZMA + "zlib" BOOST_IOSTREAMS_ENABLE_ZLIB + "zstd" BOOST_IOSTREAMS_ENABLE_ZSTD +) \ No newline at end of file diff --git a/ports/boost-iostreams/fix-zstd.diff b/ports/boost-iostreams/fix-zstd.diff new file mode 100644 index 00000000000000..776cc3ee1b330a --- /dev/null +++ b/ports/boost-iostreams/fix-zstd.diff @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1d8352f5f..f603de959 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -38,7 +38,7 @@ endfunction() + boost_iostreams_option(BOOST_IOSTREAMS_ENABLE_ZLIB "Boost.Iostreams: Enable ZLIB support" ZLIB "" ZLIB_FOUND ZLIB::ZLIB src/zlib.cpp src/gzip.cpp) + boost_iostreams_option(BOOST_IOSTREAMS_ENABLE_BZIP2 "Boost.Iostreams: Enable BZip2 support" BZip2 "" BZIP2_FOUND BZip2::BZip2 src/bzip2.cpp) + boost_iostreams_option(BOOST_IOSTREAMS_ENABLE_LZMA "Boost.Iostreams: Enable LZMA support" LibLZMA "" LIBLZMA_FOUND LibLZMA::LibLZMA src/lzma.cpp) +-boost_iostreams_option(BOOST_IOSTREAMS_ENABLE_ZSTD "Boost.Iostreams: Enable Zstd support" zstd "1.0" zstd_FOUND zstd::libzstd_shared src/zstd.cpp) ++boost_iostreams_option(BOOST_IOSTREAMS_ENABLE_ZSTD "Boost.Iostreams: Enable Zstd support" zstd "1.0" zstd_FOUND $,zstd::libzstd_shared,zstd::libzstd_static> src/zstd.cpp) + + include(CheckCXXSourceCompiles) + diff --git a/ports/boost-iostreams/portfile.cmake b/ports/boost-iostreams/portfile.cmake index 622a39a89850b1..a1766540ac35e3 100644 --- a/ports/boost-iostreams/portfile.cmake +++ b/ports/boost-iostreams/portfile.cmake @@ -3,16 +3,17 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/iostreams - REF boost-1.83.0 - SHA512 a7c9f5712249071960d088fb1a4a2934f50a1323f3ed2c7e69dc85e4252c04b245f0f340e245bdc37d0f775dd7112b302cf0c9b8614b1742144f11cb6d143fa4 + REF boost-${VERSION} + SHA512 4ceafacc4eb5797f3add43e45b7ea6232724abe553b1069d050bfdbcf82a236e9a4e662f88f8a11d6bc760b55fb43b898692bed006455f7753baf2c9a74baf6c HEAD_REF master - PATCHES Removeseekpos.patch + PATCHES + Removeseekpos.patch + fix-zstd.diff ) -include(${CURRENT_HOST_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake) -boost_modular_build( - SOURCE_PATH ${SOURCE_PATH} - BOOST_CMAKE_FRAGMENT "${CMAKE_CURRENT_LIST_DIR}/b2-options.cmake" +set(FEATURE_OPTIONS "") +include("${CMAKE_CURRENT_LIST_DIR}/features.cmake") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) diff --git a/ports/boost-iostreams/vcpkg.json b/ports/boost-iostreams/vcpkg.json index 98ed0e15fcf1f4..53a1700e0f35ab 100644 --- a/ports/boost-iostreams/vcpkg.json +++ b/ports/boost-iostreams/vcpkg.json @@ -1,103 +1,92 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-iostreams", - "version": "1.83.0", - "port-version": 1, + "version": "1.86.0", "description": "Boost iostreams module", - "homepage": "https://github.com/boostorg/iostreams", + "homepage": "https://www.boost.org/libs/iostreams", "license": "BSL-1.0", "supports": "!uwp", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-build", - "host": true, - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-detail", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-function", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-integer", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { - "name": "boost-iterator", - "version>=": "1.83.0" + "name": "boost-integer", + "version>=": "1.86.0" }, { - "name": "boost-modular-build-helper", - "host": true, - "version>=": "1.83.0" + "name": "boost-iterator", + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-numeric-conversion", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-preprocessor", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-random", "platform": "!uwp", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-range", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-regex", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-smart-ptr", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-utility", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" - }, - { - "name": "vcpkg-cmake", - "host": true + "version>=": "1.86.0" } ], "default-features": [ diff --git a/ports/boost-iterator/portfile.cmake b/ports/boost-iterator/portfile.cmake index e5e67f03bb8c19..e7640716b58012 100644 --- a/ports/boost-iterator/portfile.cmake +++ b/ports/boost-iterator/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/iterator - REF boost-1.83.0 - SHA512 b040b64b02705b3f5b7adac40a2cfdbc7a21443891989a1465c74e9d9c4403a51be4b08bca4782ce002a8797bf21602f65faae62dd5bc613d4e8cacb8993b34b + REF boost-${VERSION} + SHA512 1e6adfd1cc1236ccbdb91ec94f041720b5acd867a475f7091e3007adbacdd44c0a154d2044bfa319f4d0f945a268d16dac37d26e3dc478ee576cec3ce1ce868b HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-iterator/vcpkg.json b/ports/boost-iterator/vcpkg.json index d11ea59be24f78..7db270cb9c5928 100644 --- a/ports/boost-iterator/vcpkg.json +++ b/ports/boost-iterator/vcpkg.json @@ -1,70 +1,70 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-iterator", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost iterator module", - "homepage": "https://github.com/boostorg/iterator", + "homepage": "https://www.boost.org/libs/iterator", "license": "BSL-1.0", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-concept-check", - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" }, { - "name": "boost-config", - "version>=": "1.83.0" + "name": "boost-concept-check", + "version>=": "1.86.0" }, { - "name": "boost-conversion", - "version>=": "1.83.0" + "name": "boost-config", + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-detail", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-function-types", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-fusion", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-optional", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-smart-ptr", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-utility", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-json/0001-Fix-use-of-intrinsics-on-windows-ARM-platforms.patch b/ports/boost-json/0001-Fix-use-of-intrinsics-on-windows-ARM-platforms.patch deleted file mode 100644 index 91959cca7c299c..00000000000000 --- a/ports/boost-json/0001-Fix-use-of-intrinsics-on-windows-ARM-platforms.patch +++ /dev/null @@ -1,44 +0,0 @@ -From c4ce8509d015a0b75cfa9d36609b8409821a9c86 Mon Sep 17 00:00:00 2001 -From: Matt Borland -Date: Fri, 11 Aug 2023 09:20:47 -0400 -Subject: [PATCH 1/2] Fix use of intrinsics on windows ARM platforms - ---- - .../json/detail/charconv/detail/emulated128.hpp | 12 ++++++++---- - 1 file changed, 8 insertions(+), 4 deletions(-) - -diff --git a/include/boost/json/detail/charconv/detail/emulated128.hpp b/include/boost/json/detail/charconv/detail/emulated128.hpp -index 3a1a392..6eadbc7 100644 ---- a/include/boost/json/detail/charconv/detail/emulated128.hpp -+++ b/include/boost/json/detail/charconv/detail/emulated128.hpp -@@ -58,11 +58,15 @@ struct uint128 - - static inline std::uint64_t umul64(std::uint32_t x, std::uint32_t y) noexcept - { --#if defined(BOOST_JSON_HAS_MSVC_32BIT_INTRINSICS) -+ #if defined(BOOST_JSON_HAS_MSVC_32BIT_INTRINSICS) && !defined(_M_ARM64) -+ - return __emulu(x, y); --#else -+ -+ #else -+ - return x * static_cast(y); --#endif -+ -+ #endif - } - - // Get 128-bit result of multiplication of two 64-bit unsigned integers. -@@ -73,7 +77,7 @@ BOOST_JSON_SAFEBUFFERS inline uint128 umul128(std::uint64_t x, std::uint64_t y) - auto result = static_cast(x) * static_cast(y); - return {static_cast(result >> 64), static_cast(result)}; - -- #elif defined(BOOST_JSON_HAS_MSVC_64BIT_INTRINSICS) -+ #elif defined(BOOST_JSON_HAS_MSVC_64BIT_INTRINSICS) && !defined(_M_ARM64) - - std::uint64_t high; - std::uint64_t low = _umul128(x, y, &high); --- -2.38.1.windows.1 - diff --git a/ports/boost-json/0002-Replace-_M_ARM64-with-_M_ARM-for-32-bit-path.patch b/ports/boost-json/0002-Replace-_M_ARM64-with-_M_ARM-for-32-bit-path.patch deleted file mode 100644 index 252b14721a2a2c..00000000000000 --- a/ports/boost-json/0002-Replace-_M_ARM64-with-_M_ARM-for-32-bit-path.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 0c1b4692f9b1c43830c12244bf402c7a2bce23d9 Mon Sep 17 00:00:00 2001 -From: Matt Borland -Date: Wed, 16 Aug 2023 08:06:45 -0400 -Subject: [PATCH 2/2] Replace _M_ARM64 with _M_ARM for 32 bit path - ---- - include/boost/json/detail/charconv/detail/emulated128.hpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/include/boost/json/detail/charconv/detail/emulated128.hpp b/include/boost/json/detail/charconv/detail/emulated128.hpp -index 6eadbc7..7840d51 100644 ---- a/include/boost/json/detail/charconv/detail/emulated128.hpp -+++ b/include/boost/json/detail/charconv/detail/emulated128.hpp -@@ -58,7 +58,7 @@ struct uint128 - - static inline std::uint64_t umul64(std::uint32_t x, std::uint32_t y) noexcept - { -- #if defined(BOOST_JSON_HAS_MSVC_32BIT_INTRINSICS) && !defined(_M_ARM64) -+ #if defined(BOOST_JSON_HAS_MSVC_32BIT_INTRINSICS) && !defined(_M_ARM) - - return __emulu(x, y); - --- -2.38.1.windows.1 - diff --git a/ports/boost-json/b2-options.cmake b/ports/boost-json/b2-options.cmake deleted file mode 100644 index b05e7494f5392c..00000000000000 --- a/ports/boost-json/b2-options.cmake +++ /dev/null @@ -1,3 +0,0 @@ -if(APPLE) - list(APPEND B2_OPTIONS cxxstd=11) -endif() \ No newline at end of file diff --git a/ports/boost-json/portfile.cmake b/ports/boost-json/portfile.cmake index b38d3c70ac0b4e..488cfaaef8a87a 100644 --- a/ports/boost-json/portfile.cmake +++ b/ports/boost-json/portfile.cmake @@ -3,23 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/json - REF boost-1.83.0 - SHA512 0640a922507c416d171eff1b60c291e9644dba97770a3277c85233982d8c1022e64cbab88e9cdff7ce0f371965c214dc6da36f9cd7b134d1f5e8dc8deabb31f9 + REF boost-${VERSION} + SHA512 44788307fe747b417c42ded277fae4f0ae6d599d02971c65a55c020609435248a2013a8b42c8fcb25f7b39a73b5155d414cfbc729bcb157fed566962eff3b817 HEAD_REF master - PATCHES - 0001-Fix-use-of-intrinsics-on-windows-ARM-platforms.patch - 0002-Replace-_M_ARM64-with-_M_ARM-for-32-bit-path.patch ) -vcpkg_replace_string("${SOURCE_PATH}/build/Jamfile" - "import ../../config/checks/config" - "import ../config/checks/config" +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} ) -file(COPY "${CURRENT_INSTALLED_DIR}/share/boost-config/checks" DESTINATION "${SOURCE_PATH}/config") -include(${CURRENT_HOST_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake) -boost_modular_build( - SOURCE_PATH ${SOURCE_PATH} - BOOST_CMAKE_FRAGMENT "${CMAKE_CURRENT_LIST_DIR}/b2-options.cmake" -) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) diff --git a/ports/boost-json/vcpkg.json b/ports/boost-json/vcpkg.json index 4d559a168ee553..dfacd6bd05cdbd 100644 --- a/ports/boost-json/vcpkg.json +++ b/ports/boost-json/vcpkg.json @@ -1,68 +1,66 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-json", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost json module", - "homepage": "https://github.com/boostorg/json", + "homepage": "https://www.boost.org/libs/json", "license": "BSL-1.0", "dependencies": [ { "name": "boost-align", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-build", - "host": true, - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-container", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-container-hash", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-describe", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-modular-build-helper", - "host": true, - "version>=": "1.83.0" + "name": "boost-endian", + "version>=": "1.86.0" }, { - "name": "boost-mp11", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { - "name": "boost-system", - "version>=": "1.83.0" + "name": "boost-mp11", + "version>=": "1.86.0" }, { - "name": "boost-throw-exception", - "version>=": "1.83.0" + "name": "boost-static-assert", + "version>=": "1.86.0" }, { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "name": "boost-system", + "version>=": "1.86.0" }, { - "name": "vcpkg-cmake", - "host": true + "name": "boost-throw-exception", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-lambda/portfile.cmake b/ports/boost-lambda/portfile.cmake index cdc3c14137788d..73b2e0889c362a 100644 --- a/ports/boost-lambda/portfile.cmake +++ b/ports/boost-lambda/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/lambda - REF boost-1.83.0 - SHA512 6dd59886678fae152b324efad65e2e7b4626f6713655cec3cc578dd35703e7b090e5e0b2eff34bc896f88fe99bbf15ee3cffe9bd8382381375b01fe405cf2350 + REF boost-${VERSION} + SHA512 35886bfdf1391f868fdc148905547a8b8090ca7c21913a565d698232715b93835a0908a2db73550bb69aeebfe38bc07b14f6b34bdf8e9de00f2cc5095912bf9e HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-lambda/vcpkg.json b/ports/boost-lambda/vcpkg.json index 9f16d7d2007910..a51fea2db39f53 100644 --- a/ports/boost-lambda/vcpkg.json +++ b/ports/boost-lambda/vcpkg.json @@ -1,54 +1,58 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-lambda", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost lambda module", - "homepage": "https://github.com/boostorg/lambda", + "homepage": "https://www.boost.org/libs/lambda", "license": "BSL-1.0", "dependencies": [ { "name": "boost-bind", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-detail", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-iterator", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-preprocessor", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-tuple", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-utility", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-lambda2/portfile.cmake b/ports/boost-lambda2/portfile.cmake index f103a2ebd136ad..47136f6e53b1cd 100644 --- a/ports/boost-lambda2/portfile.cmake +++ b/ports/boost-lambda2/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/lambda2 - REF boost-1.83.0 - SHA512 0848d250675f271a8f7fd68e2b7934cce6e7447365eb28101b40bb9af26d54b2a4bdcba655ee3cd94c01a812b65279d75e0e9492fb69a1006983cf7969da37ce + REF boost-${VERSION} + SHA512 5af711d0011f9deed59e23ab548d6ed15ef9eaa86616ea62756e833013e7b6564e129f009a93de5d8940e322f863297ba3c59aa77d680a81189de34fb36671fe HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-lambda2/vcpkg.json b/ports/boost-lambda2/vcpkg.json index 5c359a99c8892a..898c202b19fb39 100644 --- a/ports/boost-lambda2/vcpkg.json +++ b/ports/boost-lambda2/vcpkg.json @@ -1,14 +1,22 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-lambda2", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost lambda2 module", - "homepage": "https://github.com/boostorg/lambda2", + "homepage": "https://www.boost.org/libs/lambda2", "license": "BSL-1.0", "dependencies": [ { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-leaf/portfile.cmake b/ports/boost-leaf/portfile.cmake index 4364254bb657ca..a0e9366ea33e5d 100644 --- a/ports/boost-leaf/portfile.cmake +++ b/ports/boost-leaf/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/leaf - REF boost-1.83.0 - SHA512 cc79c4551d4974e832e7ffbab3d6565963f50a42e4276c0bea5133d98ef83bb327a9e8b7637ca66d6af6156fcd397f5ff6334c75a4da774b250da3dea2796635 + REF boost-${VERSION} + SHA512 8adcfc3447ed54b7696217060cf41a9da12a1ba11c1214cc28f39a6f4b54c1b479b2163c66ca7b21ae7b77070baf15faa2184bc02a8855f75739e6091c5eb22c HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-leaf/vcpkg.json b/ports/boost-leaf/vcpkg.json index 7a592666ba5504..1e69c917a43b20 100644 --- a/ports/boost-leaf/vcpkg.json +++ b/ports/boost-leaf/vcpkg.json @@ -1,14 +1,22 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-leaf", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost leaf module", - "homepage": "https://github.com/boostorg/leaf", + "homepage": "https://www.boost.org/libs/leaf", "license": "BSL-1.0", "dependencies": [ { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-lexical-cast/portfile.cmake b/ports/boost-lexical-cast/portfile.cmake index be0808c2df9771..426b8843a8de82 100644 --- a/ports/boost-lexical-cast/portfile.cmake +++ b/ports/boost-lexical-cast/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/lexical_cast - REF boost-1.83.0 - SHA512 22a482dfb87313a3118107ffd5c409a2051e7851cfdae74a03ed2ed5c95d322043c2bc76a843be945d892dacb8f9eddbda18d2bf82a2d3e037f7d37b57dc8989 + REF boost-${VERSION} + SHA512 f4ce81d6f1acc31b131bb60d2918147f3cdbb9ab38a1abf8d463fc437d5eea6cd8dcc676b09b28c3174c2ffeb7cabb2439cbc546bbea86f8ea01c2dee596f39d HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-lexical-cast/vcpkg.json b/ports/boost-lexical-cast/vcpkg.json index bbf551cc7db717..90b1a55566911a 100644 --- a/ports/boost-lexical-cast/vcpkg.json +++ b/ports/boost-lexical-cast/vcpkg.json @@ -1,58 +1,42 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-lexical-cast", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost lexical_cast module", - "homepage": "https://github.com/boostorg/lexical_cast", + "homepage": "https://www.boost.org/libs/lexical_cast", "license": "BSL-1.0", "dependencies": [ { - "name": "boost-array", - "version>=": "1.83.0" - }, - { - "name": "boost-assert", - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-container", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" - }, - { - "name": "boost-integer", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-numeric-conversion", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { - "name": "boost-range", - "version>=": "1.83.0" - }, - { - "name": "boost-static-assert", - "version>=": "1.83.0" + "name": "boost-integer", + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-local-function/portfile.cmake b/ports/boost-local-function/portfile.cmake index 9787ae1917cb5f..1d21941cf9616e 100644 --- a/ports/boost-local-function/portfile.cmake +++ b/ports/boost-local-function/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/local_function - REF boost-1.83.0 - SHA512 8dc0a64eba885bae71cb1c7092faba09eaf14ae02534726fad96bc347d90e30f5dc7a62fcf46ed543cd03cec011dcdc459dd27fcd4ac732b8c7c0c38cf632448 + REF boost-${VERSION} + SHA512 68dec23a37e8594883aca078d0f1bda607234491f91ac234077317ff161386465e49c3d3c9dec3a29b8d18296ed46c456270cabf12d945556c53020f238492b7 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-local-function/vcpkg.json b/ports/boost-local-function/vcpkg.json index 6fac1b1f1513f9..4dfd7148ea77cb 100644 --- a/ports/boost-local-function/vcpkg.json +++ b/ports/boost-local-function/vcpkg.json @@ -1,42 +1,46 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-local-function", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost local_function module", - "homepage": "https://github.com/boostorg/local_function", + "homepage": "https://www.boost.org/libs/local_function", "license": "BSL-1.0", "dependencies": [ + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-preprocessor", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-scope-exit", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-typeof", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-utility", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-locale/0001-fix-build-error-on-MSVC.patch b/ports/boost-locale/0001-fix-build-error-on-MSVC.patch deleted file mode 100644 index 74f641aa7b86da..00000000000000 --- a/ports/boost-locale/0001-fix-build-error-on-MSVC.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 0552ffc29ff11e4fe130b7143ea6ac2bee7b15c6 Mon Sep 17 00:00:00 2001 -From: wevsty -Date: Sat, 12 Aug 2023 22:13:48 +0800 -Subject: [PATCH] fix build error on MSVC - ---- - include/boost/locale/util/string.hpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/include/boost/locale/util/string.hpp b/include/boost/locale/util/string.hpp -index 9ab9521..ba066bd 100644 ---- a/include/boost/locale/util/string.hpp -+++ b/include/boost/locale/util/string.hpp -@@ -38,7 +38,7 @@ namespace boost { namespace locale { namespace util { - /// Cast an unsigned char to a (possibly signed) char avoiding implementation defined behavior - constexpr char to_char(unsigned char c) - { -- return static_cast((c - std::numeric_limits::min()) + std::numeric_limits::min()); -+ return static_cast((c - (std::numeric_limits::min)()) + (std::numeric_limits::min)()); - } - - }}} // namespace boost::locale::util --- -2.38.1.windows.1 - diff --git a/ports/boost-locale/b2-options.cmake.in b/ports/boost-locale/b2-options.cmake.in deleted file mode 100644 index 66fa64326fa52b..00000000000000 --- a/ports/boost-locale/b2-options.cmake.in +++ /dev/null @@ -1,42 +0,0 @@ -set(_B2_OPTIONS_FEATURES "@FEATURES@") -if("icu" IN_LIST _B2_OPTIONS_FEATURES) - set(BOOST_LOCALE_ENABLE_ICU on) -else() - set(BOOST_LOCALE_ENABLE_ICU off) -endif() - -if(@VCPKG_TARGET_IS_WINDOWS@) - set(BOOST_LOCALE_ENABLE_ICONV off) - set(BOOST_LOCALE_ENABLE_POSIX off) - set(BOOST_LOCALE_ENABLE_WINAPI on) -else() - find_library(VCPKG_ICONV_LIBRARY_RELEASE iconv PATHS "${CURRENT_INSTALLED_DIR}/lib/" NO_DEFAULT_PATH) - find_library(VCPKG_ICONV_LIBRARY_DEBUG iconv PATHS "${CURRENT_INSTALLED_DIR}/debug/lib/" NO_DEFAULT_PATH) - set(BOOST_LOCALE_ENABLE_ICONV on) - if(@VCPKG_TARGET_IS_ANDROID@) - set(BOOST_LOCALE_ENABLE_POSIX off) - else() - set(BOOST_LOCALE_ENABLE_POSIX on) - endif() - set(BOOST_LOCALE_ENABLE_WINAPI off) -endif() - -list(APPEND B2_OPTIONS - boost.locale.iconv=${BOOST_LOCALE_ENABLE_ICONV} - boost.locale.icu=${BOOST_LOCALE_ENABLE_ICU} - boost.locale.posix=${BOOST_LOCALE_ENABLE_POSIX} - boost.locale.winapi=${BOOST_LOCALE_ENABLE_WINAPI} - /boost/locale//boost_locale -) - -if(BOOST_LOCALE_ENABLE_ICONV) - list(APPEND B2_OPTIONS - -sICONV_PATH=${CURRENT_INSTALLED_DIR} - ) - - if(VCPKG_TARGET_IS_OSX OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Emscripten" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "wasm32") - list(APPEND B2_OPTIONS - boost.locale.force-found-iconv=on - ) - endif() -endif() diff --git a/ports/boost-locale/features.cmake b/ports/boost-locale/features.cmake new file mode 100644 index 00000000000000..e9017331a10d8b --- /dev/null +++ b/ports/boost-locale/features.cmake @@ -0,0 +1,44 @@ +vcpkg_check_features( + OUT_FEATURE_OPTIONS + FEATURE_OPTIONS + FEATURES + "icu" BOOST_LOCALE_ENABLE_ICU +) + +if(VCPKG_TARGET_IS_WINDOWS) + set(BOOST_LOCALE_ENABLE_ICONV off) + set(BOOST_LOCALE_ENABLE_POSIX off) +else() + set(BOOST_LOCALE_ENABLE_ICONV on) + if(VCPKG_TARGET_IS_ANDROID) + set(BOOST_LOCALE_ENABLE_POSIX off) + else() + set(BOOST_LOCALE_ENABLE_POSIX on) + endif() +endif() + +list(APPEND FEATURE_OPTIONS + -DBOOST_LOCALE_ENABLE_ICONV=${BOOST_LOCALE_ENABLE_ICONV} + -DBOOST_LOCALE_ENABLE_POSIX=${BOOST_LOCALE_ENABLE_POSIX} + ) + + + # BOOST_LOCALE_ENABLE_ICU + + # When ON, enables the ICU backend. Defaults to ON when ICU is found, OFF otherwise. + + # BOOST_LOCALE_ENABLE_ICONV + + # When ON, enables the Iconv backend. Defaults to ON when iconv is found, OFF otherwise. + + # BOOST_LOCALE_ENABLE_POSIX + + # When ON, enables the POSIX backend. Defaults to ON on POSIX systems, OFF otherwise. + + # BOOST_LOCALE_ENABLE_STD + + # When ON, enables the std::locale backend. Defaults to ON. + + # BOOST_LOCALE_ENABLE_WINAPI + + # When ON, enables the Windows API backend. Defaults to ON under Windows, OFF otherwise. diff --git a/ports/boost-locale/fix-dependencies.patch b/ports/boost-locale/fix-dependencies.patch deleted file mode 100644 index de6d4bf707ef7c..00000000000000 --- a/ports/boost-locale/fix-dependencies.patch +++ /dev/null @@ -1,87 +0,0 @@ -diff --git a/build/Jamfile.v2 b/build/Jamfile.v2 -index f1321db..b0e9283 100644 ---- a/build/Jamfile.v2 -+++ b/build/Jamfile.v2 -@@ -22,6 +21,7 @@ project /boost/locale - # Features - - feature.feature boost.locale.iconv : on off : optional propagated ; -+feature.feature boost.locale.force-found-iconv : on off : optional propagated ; - feature.feature boost.locale.icu : on off : optional propagated ; - feature.feature boost.locale.posix : on off : optional propagated ; - feature.feature boost.locale.std : on off : optional propagated ; -@@ -133,13 +133,7 @@ if $(ICU_ICUUC_NAME) - } - else - { -- lib icuuc : : shared @path_options ; -- lib icuuc : : msvc debug icuucd shared @path_options ; -- lib icuuc : : intel windows debug icuucd shared @path_options ; -- lib icuuc : : sicuuc static @path_options ; -- lib icuuc : : msvc debug sicuucd static @path_options ; -- lib icuuc : : intel windows debug sicuucd static @path_options ; -- lib icuuc : : this_is_an_invalid_library_name ; -+ alias icuuc : /user-config//icuuc ; - } - - if $(ICU_ICUDT_NAME) -@@ -149,13 +143,7 @@ if $(ICU_ICUDT_NAME) - } - else - { -- lib icudt : : icudata shared @path_options ; -- lib icudt : : icudt msvc shared @path_options ; -- lib icudt : : icudt intel windows shared @path_options ; -- lib icudt : : sicudata static @path_options ; -- lib icudt : : sicudt msvc static @path_options ; -- lib icudt : : sicudt intel windows static @path_options ; -- lib icudt : : this_is_an_invalid_library_name ; -+ alias icudt : /user-config//icudt ; - } - - if $(ICU_ICUIN_NAME) -@@ -165,27 +153,15 @@ if $(ICU_ICUIN_NAME) - } - else - { -- lib icuin : : icui18n shared @path_options ; -- lib icuin : : msvc debug icuind shared @path_options ; -- lib icuin : : msvc icuin shared @path_options ; -- lib icuin : : intel windows debug icuind shared @path_options ; -- lib icuin : : intel windows icuin shared @path_options ; -- lib icuin : : sicui18n static @path_options ; -- lib icuin : : msvc debug sicuind static @path_options ; -- lib icuin : : msvc sicuin static @path_options ; -- lib icuin : : intel windows debug sicuind static @path_options ; -- lib icuin : : intel windows sicuin static @path_options ; -- lib icuin : : this_is_an_invalid_library_name ; -+ alias icuin : /user-config//icuin ; - } -+explicit icuuc icuin icudt ; - - ICU_OPTS = - $(.icu-path)/include -- shared:icuuc/shared -- shared:icudt/shared -- shared:icuin/shared -- static:icuuc -- static:icudt -- static:icuin -+ icuuc -+ icudt -+ icuin - windows,clang:"advapi32.lib" - static:U_STATIC_IMPLEMENTATION=1 - ; -@@ -204,6 +204,11 @@ rule configure-full ( properties * : flags-only ) - - local found-iconv ; - -+ if on in $(properties) -+ { -+ found-iconv = true ; -+ } -+ - # The system Iconv on Solaris may have bugs, while the GNU Iconv is fine. - # So enable by default only if not on Solaris. - if on in $(properties) diff --git a/ports/boost-locale/portfile.cmake b/ports/boost-locale/portfile.cmake index da01947d5d1715..276109217eba54 100644 --- a/ports/boost-locale/portfile.cmake +++ b/ports/boost-locale/portfile.cmake @@ -3,28 +3,14 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/locale - REF boost-1.83.0 - SHA512 8d30de6f2a02768716a109b8784f573e6fdd75fe0ba50fabbe1edf6cd65fb0ec92eccf6929102130d464bfbcdc3a677b53f0ac57ab82464a4f0b8cbbd3d644a6 + REF boost-${VERSION} + SHA512 e66d2f11a29637a13dfb90fd67fb69374a869553e665452fbcb7b0909535526c57e66dd69c766cd2ade2ba74d790b07a80012937f86c0c7752e683b08d7ccd4d HEAD_REF master - PATCHES - 0001-fix-build-error-on-MSVC.patch - fix-dependencies.patch ) -vcpkg_replace_string("${SOURCE_PATH}/build/Jamfile.v2" - "import config : requires ;" - "import ../config/checks/config : requires ;" +set(FEATURE_OPTIONS "") +include("${CMAKE_CURRENT_LIST_DIR}/features.cmake") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} ) -file(COPY "${CURRENT_INSTALLED_DIR}/share/boost-config/checks" DESTINATION "${SOURCE_PATH}/config") -include(${CURRENT_HOST_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake) -configure_file( - "${CMAKE_CURRENT_LIST_DIR}/b2-options.cmake.in" - "${CURRENT_BUILDTREES_DIR}/vcpkg-b2-options.cmake" - @ONLY -) -boost_modular_build( - SOURCE_PATH ${SOURCE_PATH} - BOOST_CMAKE_FRAGMENT "${CURRENT_BUILDTREES_DIR}/vcpkg-b2-options.cmake" -) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) diff --git a/ports/boost-locale/vcpkg.json b/ports/boost-locale/vcpkg.json index 0f9cb62ff251e7..e5ccbe7f649b02 100644 --- a/ports/boost-locale/vcpkg.json +++ b/ports/boost-locale/vcpkg.json @@ -1,61 +1,51 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-locale", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost locale module", - "homepage": "https://github.com/boostorg/locale", + "homepage": "https://www.boost.org/libs/locale", "license": "BSL-1.0", "supports": "!uwp", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-build", - "host": true, - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-iterator", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { - "name": "boost-modular-build-helper", - "host": true, - "version>=": "1.83.0" + "name": "boost-iterator", + "version>=": "1.86.0" }, { "name": "boost-predef", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-thread", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-utility", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "libiconv", "platform": "!uwp & !windows & !mingw" - }, - { - "name": "vcpkg-cmake", - "host": true } ], "features": { diff --git a/ports/boost-lockfree/portfile.cmake b/ports/boost-lockfree/portfile.cmake index 69e1ebdd91bbc8..9a33b5bf391866 100644 --- a/ports/boost-lockfree/portfile.cmake +++ b/ports/boost-lockfree/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/lockfree - REF boost-1.83.0 - SHA512 289a45a2ac9aebcf2bb4550f005ee394e6c46b0635125cc5d1d04f81175bdac2bbfa29ffdf3f808004deb80a6e8e924c44af1b859b0a95f6dd0fefd57d8b4b14 + REF boost-${VERSION} + SHA512 1cfeb02576b8075449fb899ddc46dbb5d953b27abf768fe7d6a72506d1b45d6d93621a83189238f7366c5070ed915680b30c532d1a95b0c24d55bc6f17d09f27 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-lockfree/vcpkg.json b/ports/boost-lockfree/vcpkg.json index 93e5e0b5b72db4..e421212cc828f4 100644 --- a/ports/boost-lockfree/vcpkg.json +++ b/ports/boost-lockfree/vcpkg.json @@ -1,74 +1,78 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-lockfree", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost lockfree module", - "homepage": "https://github.com/boostorg/lockfree", + "homepage": "https://www.boost.org/libs/lockfree", "license": "BSL-1.0", "dependencies": [ { "name": "boost-align", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-array", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-atomic", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-integer", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-iterator", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-parameter", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-predef", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-tuple", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-utility", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-log/portfile.cmake b/ports/boost-log/portfile.cmake index 460a7983a9804d..79faccac61b993 100644 --- a/ports/boost-log/portfile.cmake +++ b/ports/boost-log/portfile.cmake @@ -3,21 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/log - REF boost-1.83.0 - SHA512 35ab1c2b69861ef2c6971c159d13d2f9d4ed463d94a6d000acfdf0d58a358ffb7a371dc5dff047db0d03d588c43f41da2915be16c25e92af4512db6b5d8b8fcc + REF boost-${VERSION} + SHA512 3772a3cdc39f52e04080e2e416452bd698b2b2a6ba12e51b2a4e70e8cc524b1c71c8f67fa4ebfedd0a6b4a4b62603d62b3242a6d65a93cdd48315e470dd9f1fd HEAD_REF master ) -file(READ "${SOURCE_PATH}/build/Jamfile.v2" _contents) -string(REPLACE "import ../../config/checks/config" "import ../config/checks/config" _contents "${_contents}") -string(REPLACE " @select-arch-specific-sources" "#@select-arch-specific-sources" _contents "${_contents}") -file(WRITE "${SOURCE_PATH}/build/Jamfile.v2" "${_contents}") -vcpkg_replace_string("${SOURCE_PATH}/build/log-arch-config.jam" - "project.load [ path.join [ path.make $(here:D) ] ../../config/checks/architecture ]" - "project.load [ path.join [ path.make $(here:D) ] ../config/checks/architecture ]" +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} ) -file(COPY "${CURRENT_INSTALLED_DIR}/share/boost-config/checks" DESTINATION "${SOURCE_PATH}/config") -include(${CURRENT_HOST_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake) -boost_modular_build(SOURCE_PATH ${SOURCE_PATH}) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) diff --git a/ports/boost-log/vcpkg.json b/ports/boost-log/vcpkg.json index 484bf1c55f0abf..3d38daee5ad2fb 100644 --- a/ports/boost-log/vcpkg.json +++ b/ports/boost-log/vcpkg.json @@ -1,199 +1,169 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-log", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost log module", - "homepage": "https://github.com/boostorg/log", + "homepage": "https://www.boost.org/libs/log", "license": "BSL-1.0", "supports": "!uwp & !emscripten", "dependencies": [ { "name": "boost-align", - "version>=": "1.83.0" - }, - { - "name": "boost-array", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-asio", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-atomic", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-bind", - "version>=": "1.83.0" - }, - { - "name": "boost-build", - "host": true, - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" - }, - { - "name": "boost-container", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-date-time", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-filesystem", "platform": "!uwp", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-function-types", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-fusion", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-interprocess", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-intrusive", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-io", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-iterator", - "version>=": "1.83.0" - }, - { - "name": "boost-lexical-cast", - "version>=": "1.83.0" - }, - { - "name": "boost-modular-build-helper", - "host": true, - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-move", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-optional", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-parameter", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-phoenix", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-predef", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-preprocessor", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-property-tree", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-proto", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-random", "platform": "!uwp", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-range", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-regex", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-smart-ptr", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-spirit", - "version>=": "1.83.0" - }, - { - "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-system", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-thread", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-index", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-utility", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-winapi", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-xpressive", - "version>=": "1.83.0" - }, - { - "name": "vcpkg-cmake", - "host": true + "version>=": "1.86.0" } ] } diff --git a/ports/boost-logic/portfile.cmake b/ports/boost-logic/portfile.cmake index 74cd26917f4b58..c37cf9f06997cc 100644 --- a/ports/boost-logic/portfile.cmake +++ b/ports/boost-logic/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/logic - REF boost-1.83.0 - SHA512 9361746ed066e1ca04d9005b38aecda63b22e9dd32f5aa89e49743499af21def4e87acad8df229ad10c2125da560c56f648a1510f1a7f2ed8395a40b5cf374e2 + REF boost-${VERSION} + SHA512 47f41a660d6bcef88a81c1aef0b08a420553460ea8851a830f03da232aed04ce577f50316b0c2c055d0a66a4df4392e7c0281330430ce053169fc9356620a5c2 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-logic/vcpkg.json b/ports/boost-logic/vcpkg.json index a8d943fdce5dd4..333e145d779a45 100644 --- a/ports/boost-logic/vcpkg.json +++ b/ports/boost-logic/vcpkg.json @@ -1,22 +1,26 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-logic", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost logic module", - "homepage": "https://github.com/boostorg/logic", + "homepage": "https://www.boost.org/libs/logic", "license": "BSL-1.0", "dependencies": [ + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-math/001-remove-checks.patch b/ports/boost-math/001-remove-checks.patch deleted file mode 100644 index d25166fa38b3b2..00000000000000 --- a/ports/boost-math/001-remove-checks.patch +++ /dev/null @@ -1,23 +0,0 @@ - build/Jamfile.v2 | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/build/Jamfile.v2 b/build/Jamfile.v2 -index fd84028..3537e9f 100644 ---- a/build/Jamfile.v2 -+++ b/build/Jamfile.v2 -@@ -5,7 +5,6 @@ - - import testing ; - import pch ; --import ../../config/checks/config : requires ; - - project - : requirements -@@ -19,7 +18,6 @@ project - intel-linux:-fvisibility=hidden - #sun:-xldscope=hidden - [ check-target-builds ../config//has_gcc_visibility "gcc visibility" : gcc:-fvisibility=hidden : ] -- [ requires cxx11_noexcept cxx11_rvalue_references sfinae_expr cxx11_auto_declarations cxx11_lambdas cxx11_unified_initialization_syntax cxx11_hdr_tuple cxx11_hdr_initializer_list cxx11_hdr_chrono cxx11_thread_local cxx11_constexpr cxx11_nullptr cxx11_numeric_limits cxx11_decltype cxx11_hdr_array cxx11_hdr_atomic cxx11_hdr_type_traits cxx11_allocator cxx11_explicit_conversion_operators ] - ; - - cpp-pch pch : ../src/tr1/pch.hpp : ../src/tr1 shared:BOOST_MATH_TR1_DYN_LINK=1 ; diff --git a/ports/boost-math/b2-options.cmake b/ports/boost-math/b2-options.cmake deleted file mode 100644 index 57388346841878..00000000000000 --- a/ports/boost-math/b2-options.cmake +++ /dev/null @@ -1,3 +0,0 @@ -if(APPLE) - list(APPEND B2_OPTIONS cxxstd=11) -endif() diff --git a/ports/boost-math/build-old-libs.patch b/ports/boost-math/build-old-libs.patch new file mode 100644 index 00000000000000..49c58cbc4eb222 --- /dev/null +++ b/ports/boost-math/build-old-libs.patch @@ -0,0 +1,113 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7e7790271c..cd08a77e4a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -41,6 +41,108 @@ else() + + endif() + ++option(BOOST_MATH_BUILD_WITH_LEGACY_FUNCTIONS "" OFF) ++if(BOOST_MATH_BUILD_WITH_LEGACY_FUNCTIONS) ++include(CheckCXXSourceCompiles) ++set(CMAKE_REQUIRED_LIBRARIES Boost::config) ++set(CMAKE_REQUIRED_INCLUDES "${CMAKE_CURRENT_SOURCE_DIR}/include") ++check_cxx_source_compiles("#include <${CMAKE_CURRENT_SOURCE_DIR}/config/has_long_double_support.cpp> \n int main() { return 0;}" BOOST_MATH_HAS_LONG_DOUBLE) ++unset(CMAKE_REQUIRED_LIBRARIES) ++unset(CMAKE_REQUIRED_INCLUDES) ++ ++set(C99_SOURCES ++ acosh ++ asinh ++ atanh ++ cbrt ++ copysign ++ erfc ++ erf ++ expm1 ++ fmax ++ fmin ++ fpclassify ++ hypot ++ lgamma ++ llround ++ log1p ++ lround ++ nextafter ++ nexttoward ++ round ++ tgamma ++ trunc ++) ++ ++set(TR1_SOURCES ++ assoc_laguerre ++ assoc_legendre ++ beta ++ comp_ellint_1 ++ comp_ellint_2 ++ comp_ellint_3 ++ cyl_bessel_i ++ cyl_bessel_j ++ cyl_bessel_k ++ cyl_neumann ++ ellint_1 ++ ellint_2 ++ ellint_3 ++ expint ++ hermite ++ laguerre ++ legendre ++ riemann_zeta ++ sph_bessel ++ sph_legendre ++ sph_neumann ++) ++ ++list(TRANSFORM C99_SOURCES PREPEND "src/tr1/" ) # OUTPUT_VARIABLE ]) ++list(TRANSFORM TR1_SOURCES PREPEND "src/tr1/" ) ++ ++list(TRANSFORM C99_SOURCES APPEND "f.cpp" OUTPUT_VARIABLE C99_SOURCESf) ++list(TRANSFORM TR1_SOURCES APPEND "f.cpp" OUTPUT_VARIABLE TR1_SOURCESf) ++ ++set(types "" f) ++ ++if(BOOST_MATH_HAS_LONG_DOUBLE) ++ list(TRANSFORM C99_SOURCES APPEND "l.cpp" OUTPUT_VARIABLE C99_SOURCESl) ++ list(TRANSFORM TR1_SOURCES APPEND "l.cpp" OUTPUT_VARIABLE TR1_SOURCESl) ++ list(APPEND types l) ++endif() ++ ++list(TRANSFORM C99_SOURCES APPEND ".cpp") ++list(TRANSFORM TR1_SOURCES APPEND ".cpp") ++ ++foreach(type IN LISTS types) ++ add_library(boost_math_tr1${type} ${TR1_SOURCES${type}}) ++ target_link_libraries(boost_math_tr1${type} PUBLIC Boost::config) ++ target_include_directories(boost_math_tr1${type} PRIVATE src/tr1) ++ target_include_directories(boost_math_tr1${type} PRIVATE include) ++ add_library(boost_math_c99${type} ${C99_SOURCES${type}}) ++ target_link_libraries(boost_math_c99${type} PUBLIC Boost::config) ++ target_include_directories(boost_math_c99${type} PRIVATE src/tr1) ++ target_include_directories(boost_math_c99${type} PRIVATE include) ++ if(BUILD_SHARED_LIBS) ++ target_compile_definitions(boost_math_tr1${type} PUBLIC BOOST_MATH_TR1_DYN_LINK=1) ++ target_compile_definitions(boost_math_c99${type} PUBLIC BOOST_MATH_TR1_DYN_LINK=1) ++ if(MSVC) ++ target_compile_definitions(boost_math_tr1${type} PRIVATE "BOOST_SYMBOL_EXPORT=__declspec(dllexport)" BOOST_ALL_NO_LIB) ++ target_compile_definitions(boost_math_c99${type} PRIVATE "BOOST_SYMBOL_EXPORT=__declspec(dllexport)" BOOST_ALL_NO_LIB) ++ endif() ++ endif() ++ target_compile_features(boost_math_tr1${type} PUBLIC cxx_std_11) ++ target_compile_features(boost_math_c99${type} PUBLIC cxx_std_11) ++ if(DARWIN) ++ target_compile_definitions(boost_math_tr1${type} PRIVATE _DARWIN_C_SOURCE) ++ target_compile_definitions(boost_math_c99${type} PRIVATE _DARWIN_C_SOURCE) ++ endif() ++ boost_install_target(TARGET boost_math_tr1${type} VERSION ${BOOST_SUPERPROJECT_VERSION}) ++ boost_install_target(TARGET boost_math_c99${type} VERSION ${BOOST_SUPERPROJECT_VERSION}) ++endforeach() ++endif() ++ + # Only enable tests when we're the root project + if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) + diff --git a/ports/boost-math/features.cmake b/ports/boost-math/features.cmake new file mode 100644 index 00000000000000..c63efe8374b04c --- /dev/null +++ b/ports/boost-math/features.cmake @@ -0,0 +1,10 @@ +vcpkg_check_features( + OUT_FEATURE_OPTIONS + FEATURE_OPTIONS + FEATURES + "legacy" BOOST_MATH_BUILD_WITH_LEGACY_FUNCTIONS +) + +if(NOT BOOST_MATH_BUILD_WITH_LEGACY_FUNCTIONS) + set(Z_VCPKG_BOOST_FORCE_HEADER_ONLY ON) +endif() diff --git a/ports/boost-math/opt-random.diff b/ports/boost-math/opt-random.diff new file mode 100644 index 00000000000000..d5892746c43499 --- /dev/null +++ b/ports/boost-math/opt-random.diff @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index cf695409e4..ea9ffdf8eb 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -34,7 +34,7 @@ else() + Boost::integer + Boost::lexical_cast + Boost::predef +- Boost::random ++ $ + Boost::static_assert + Boost::throw_exception + ) diff --git a/ports/boost-math/portfile.cmake b/ports/boost-math/portfile.cmake index 3c69ae1d158bab..332b5a62c4fc74 100644 --- a/ports/boost-math/portfile.cmake +++ b/ports/boost-math/portfile.cmake @@ -3,16 +3,17 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/math - REF boost-1.83.0 - SHA512 29d1e9fda7daebdeb6824537234aa9818a15f258227af854c0600ef55dea2f46bca116a848ae9f5f445d5f8ba50d7c2b46956a066786bd0375f1f23e1c5a88fd + REF boost-${VERSION} + SHA512 1cafc98a4bbfce1868f8eb92bc039473065dfc49a2b4909a045758e5ba65f4c1df7ffe4a4f82fb1d0d5fbf548dfce240fbc31e8b5fd1ec2d1d9809b8992bfc14 HEAD_REF master - PATCHES 001-remove-checks.patch + PATCHES + build-old-libs.patch + opt-random.diff ) -include(${CURRENT_HOST_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake) -boost_modular_build( - SOURCE_PATH ${SOURCE_PATH} - BOOST_CMAKE_FRAGMENT "${CMAKE_CURRENT_LIST_DIR}/b2-options.cmake" +set(FEATURE_OPTIONS "") +include("${CMAKE_CURRENT_LIST_DIR}/features.cmake") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) diff --git a/ports/boost-math/vcpkg.json b/ports/boost-math/vcpkg.json index ab8ab8f2949ea2..15aec7a0ba4a7c 100644 --- a/ports/boost-math/vcpkg.json +++ b/ports/boost-math/vcpkg.json @@ -1,69 +1,64 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-math", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost math module", - "homepage": "https://github.com/boostorg/math", + "homepage": "https://www.boost.org/libs/math", "license": "BSL-1.0", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-build", - "host": true, - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-concept-check", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-integer", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { - "name": "boost-lexical-cast", - "version>=": "1.83.0" + "name": "boost-integer", + "version>=": "1.86.0" }, { - "name": "boost-modular-build-helper", - "host": true, - "version>=": "1.83.0" + "name": "boost-lexical-cast", + "version>=": "1.86.0" }, { "name": "boost-predef", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-random", "platform": "!uwp", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" - }, - { - "name": "vcpkg-cmake", - "host": true + "version>=": "1.86.0" + } + ], + "features": { + "legacy": { + "description": "Build the legacy C99 and TR1 libraries" } - ] + } } diff --git a/ports/boost-metaparse/portfile.cmake b/ports/boost-metaparse/portfile.cmake index a97bd47007efc4..d3173d695db3df 100644 --- a/ports/boost-metaparse/portfile.cmake +++ b/ports/boost-metaparse/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/metaparse - REF boost-1.83.0 - SHA512 ae862ecf3cdcb9158fb5f3a05382b46f05da18edbe65c9d9f809f70c94e3d4b3e2b63ad30b0be0e3675643697d38b1b45f740ec604a511d87d122a5d3fde84d4 + REF boost-${VERSION} + SHA512 9e43a66f8e47ff850af444a20ae7bb9cb88bd5dd14e9a75c653a1635d4c3a962909c4278f7943032d58bd540fdb86792ade73f99055548a54f2efdf2fce338bd HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-metaparse/vcpkg.json b/ports/boost-metaparse/vcpkg.json index 0ec1bba67dd9f4..6b66a957d7d67d 100644 --- a/ports/boost-metaparse/vcpkg.json +++ b/ports/boost-metaparse/vcpkg.json @@ -1,38 +1,42 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-metaparse", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost metaparse module", - "homepage": "https://github.com/boostorg/metaparse", + "homepage": "https://www.boost.org/libs/metaparse", "license": "BSL-1.0", "dependencies": [ + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-predef", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-preprocessor", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-modular-build-helper/CMakeLists.txt b/ports/boost-modular-build-helper/CMakeLists.txt deleted file mode 100644 index 25cac1d27fa61b..00000000000000 --- a/ports/boost-modular-build-helper/CMakeLists.txt +++ /dev/null @@ -1,311 +0,0 @@ -cmake_minimum_required(VERSION 3.9) -project(boost NONE) - -# The following variables are used in user-config.jam file -set(USER_CONFIG_TOOLSET "") -set(USER_CONFIG_TOOLSET_VERSION "") -set(USER_CONFIG_TOOLSET_INVOCATION_COMMAND "") -set(USER_CONFIG_TOOLSET_OPTIONS "") -set(USER_CONFIG_EXTRA_LINES "") -set(USER_CONFIG_REQUIREMENTS "") - -set(B2_OPTIONS "") - -include("${VCPKG_CMAKE_VARS_FILE}") - -# Add build type specific options -if(VCPKG_CRT_LINKAGE STREQUAL "dynamic") - list(APPEND B2_OPTIONS runtime-link=shared) -else() - list(APPEND B2_OPTIONS runtime-link=static) -endif() - -if(BUILD_SHARED_LIBS) - list(APPEND B2_OPTIONS link=shared) -else() - list(APPEND B2_OPTIONS link=static) -endif() - -if(VCPKG_DETECTED_CMAKE_SIZEOF_VOID_P EQUAL "8") - list(APPEND B2_OPTIONS address-model=64) -else() - list(APPEND B2_OPTIONS address-model=32) -endif() - -if(VCPKG_TARGET_ARCHITECTURE STREQUAL "s390x") - list(APPEND B2_OPTIONS architecture=s390x) -elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") - list(APPEND B2_OPTIONS architecture=arm) -elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "ppc64le") - list(APPEND B2_OPTIONS architecture=power) -elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "loongarch") - list(APPEND B2_OPTIONS architecture=loongarch) -elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "mips64") - list(APPEND B2_OPTIONS architecture=mips64) -elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "riscv") - list(APPEND B2_OPTIONS architecture=riscv) -elseif("arm64" IN_LIST VCPKG_TARGET_ARCHITECTURE AND "x86_64" IN_LIST VCPKG_TARGET_ARCHITECTURE) - list(APPEND B2_OPTIONS architecture=arm+x86) -elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "wasm32") - # do nothing -else() - list(APPEND B2_OPTIONS architecture=x86) -endif() - -if(VCPKG_DETECTED_MSVC) - if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") - list(APPEND B2_OPTIONS "asmflags=/safeseh") - endif() - - if(VCPKG_DETECTED_CMAKE_CXX_COMPILER_ID STREQUAL "Clang") - set(USER_CONFIG_TOOLSET clang-win) - else() - set(USER_CONFIG_TOOLSET msvc) - if(VCPKG_DETECTED_MSVC_VERSION LESS "1900") - math(EXPR USER_CONFIG_TOOLSET_VERSION "${VCPKG_DETECTED_MSVC_VERSION} / 10 - 60") - else() - math(EXPR USER_CONFIG_TOOLSET_VERSION "${VCPKG_DETECTED_MSVC_VERSION} / 10 - 50") - endif() - endif() -elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "wasm32") - set(USER_CONFIG_TOOLSET emscripten) -elseif(VCPKG_DETECTED_CMAKE_CXX_COMPILER_ID MATCHES "Clang") - set(USER_CONFIG_TOOLSET clang) -elseif(VCPKG_DETECTED_CMAKE_CXX_COMPILER_ID MATCHES "NVHPC") - set(USER_CONFIG_TOOLSET pgi) -else() - set(USER_CONFIG_TOOLSET gcc) -endif() - -if(WIN32) - list(APPEND B2_OPTIONS target-os=windows) -elseif(APPLE) - if(IOS) - list(APPEND B2_OPTIONS target-os=iphone) - else() - list(APPEND B2_OPTIONS target-os=darwin) - endif() -elseif(ANDROID) - list(APPEND B2_OPTIONS target-os=android) -elseif(VCPKG_DETECTED_CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") - list(APPEND B2_OPTIONS target-os=freebsd) -else() - list(APPEND B2_OPTIONS target-os=linux) -endif() - -# Properly handle compiler and linker flags passed by VCPKG -string(TOUPPER "${CMAKE_BUILD_TYPE}" UPPER_BUILD_TYPE) - -set(CXXFLAGS "${VCPKG_COMBINED_CXX_FLAGS_${UPPER_BUILD_TYPE}}") -set(CFLAGS "${VCPKG_COMBINED_C_FLAGS_${UPPER_BUILD_TYPE}}") -set(LDFLAGS "${VCPKG_COMBINED_SHARED_LINKER_FLAGS_${UPPER_BUILD_TYPE}}") -set(ARFLAGS "${VCPKG_COMBINED_STATIC_LINKER_FLAGS_${UPPER_BUILD_TYPE}}") - -if(APPLE) - string(APPEND COMPILEFLAGS " -D_DARWIN_C_SOURCE") - if(NOT CXXFLAGS MATCHES " -std=") - # If the user hasn't provided their own standard flag, use at least c++11 - string(APPEND CXXFLAGS " -std=c++11") - endif() -endif() - -if(VCPKG_DETECTED_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - # cl in b2 appears to not receive `LIBPATH` for finding winmd files, so we transform them to `/AI` options. - set(libpath_args "$ENV{LIBPATH}") - # Apply: {x -> /AI"x"} - list(TRANSFORM libpath_args PREPEND "/AI\"") - list(TRANSFORM libpath_args APPEND "\"") - list(JOIN libpath_args " " libpath_arg) - string(APPEND COMPILEFLAGS " ${libpath_arg} /D_WIN32_WINNT=0x0A00") - list(APPEND B2_OPTIONS windows-api=store) - list(APPEND B2_OPTIONS linkflags=WindowsApp.lib) # TODO: Fix this; Probably should use a VCPKG_DETECTED_ variable and also be applied in the !store case -endif() - -set(USER_CONFIG_TOOLSET_INVOCATION_COMMAND "\"${VCPKG_DETECTED_CMAKE_CXX_COMPILER}\"") - -string(APPEND CXXFLAGS "${COMPILEFLAGS}") -string(APPEND CFLAGS "${COMPILEFLAGS}") - -foreach(var CXXFLAGS CFLAGS LDFLAGS ARFLAGS) - string(REPLACE [[\]] [[\\]] ${var} "${${var}}") - string(REPLACE [["]] [[\"]] ${var} "${${var}}") - if(WIN32) - # env variables need extra %%var%% to be not expanded early - string(REGEX REPLACE [[(%[^%]+%)]] [[%\1%]] ${var} "${${var}}") - # remove PDB flag, until the pdb install rule of boost-build can be deactivated. - string(REGEX REPLACE "-PDB:[^ ]+" "" ${var} "${${var}}") - endif() - string(REGEX REPLACE "[ \t\r\n]+" " " ${var} "${${var}}") - string(STRIP "${${var}}" ${var}) -endforeach() - -if(CFLAGS MATCHES "-Zi" OR CXXFLAGS MATCHES "-Zi") - list(APPEND B2_OPTIONS - debug-store=database - pch=off - ) -endif() - -if(USER_CONFIG_TOOLSET MATCHES "^(msvc|clang-win)$") - file(TO_CMAKE_PATH "${CMAKE_CURRENT_LIST_DIR}/nothing.bat" NOTHING_BAT) - string(APPEND USER_CONFIG_TOOLSET_OPTIONS - " \"${NOTHING_BAT}\"\n" - ) - if(NOT ARFLAGS STREQUAL "") - # Only apply these flags for MSVC - string(APPEND USER_CONFIG_REQUIREMENTS "\"${ARFLAGS}\"\n ") - endif() -else() - string(APPEND USER_CONFIG_TOOLSET_OPTIONS - " \"${VCPKG_DETECTED_CMAKE_RANLIB}\"\n" - " \"${VCPKG_DETECTED_CMAKE_AR}\"\n" - ) -endif() - -if(NOT CXXFLAGS STREQUAL "") - string(APPEND USER_CONFIG_TOOLSET_OPTIONS " \"${CXXFLAGS}\"\n") -endif() -if(NOT CFLAGS STREQUAL "") - string(APPEND USER_CONFIG_TOOLSET_OPTIONS " \"${CFLAGS}\"\n \"${CFLAGS}\"\n") -endif() -if(NOT LDFLAGS STREQUAL "") - string(APPEND USER_CONFIG_REQUIREMENTS "\"${LDFLAGS}\"\n ") - string(APPEND USER_CONFIG_TOOLSET_OPTIONS " \"${LDFLAGS}\"\n") -endif() - -if(WIN32 AND NOT USER_CONFIG_TOOLSET MATCHES "^(msvc|clang-win)$") - # MINGW here causes b2 to not run cygpath - string(APPEND USER_CONFIG_TOOLSET_OPTIONS - " mingw\n" - ) -endif() - -if(WIN32) - list(APPEND B2_OPTIONS threadapi=win32) -else() - list(APPEND B2_OPTIONS threadapi=pthread) -endif() - -if(CMAKE_BUILD_TYPE STREQUAL "Release") - list(APPEND B2_OPTIONS variant=release) -else() - list(APPEND B2_OPTIONS variant=debug) -endif() - -if(NOT WIN32) - list(APPEND B2_OPTIONS "--layout=system") -endif() - - -# Handle ICU -if(WIN32) - list(APPEND B2_OPTIONS "--disable-icu") -else() - find_path(ICU_PATH include/unicode/utf.h) - list(APPEND B2_OPTIONS "-sICU_PATH=\"${ICU_PATH}\"") -endif() - -# Handle Python -set(python_versions "") - -if(WITH_PYTHON2) - # Find Python2 in the current installed directory - file(GLOB python2_include_dir "${CURRENT_INSTALLED_DIR}/include/python2.*") - string(REGEX REPLACE ".*python([0-9\.]+).*" "\\1" python2_version "${python2_include_dir}") - string(APPEND USER_CONFIG_EXTRA_LINES - "using python : ${python2_version} : : \"${python2_include_dir}\" : \"${CURRENT_INSTALLED_DIR}/lib\" ;\n" - "using python : ${python2_version} : : \"${python2_include_dir}\" : \"${CURRENT_INSTALLED_DIR}/debug/lib\" : on ;\n" - ) - list(APPEND python_versions "${python2_version}") -endif() - -if(WITH_PYTHON3) - # Find Python3 in the current installed directory - file(GLOB python3_include_dir "${CURRENT_INSTALLED_DIR}/include/python3.*") - string(REGEX REPLACE ".*python([0-9\.]+).*" "\\1" python3_version "${python3_include_dir}") - string(APPEND USER_CONFIG_EXTRA_LINES - "using python : ${python3_version} : : \"${python3_include_dir}\" : \"${CURRENT_INSTALLED_DIR}/lib\" ;\n" - "using python : ${python3_version} : : \"${python3_include_dir}\" : \"${CURRENT_INSTALLED_DIR}/debug/lib\" : on ;\n" - ) - list(APPEND python_versions "${python3_version}") -endif() - -if(NOT python_versions STREQUAL "") - list(JOIN python_versions "," python_versions) - list(APPEND B2_OPTIONS "python=${python_versions}") - - if(CMAKE_BUILD_TYPE STREQUAL "Debug") - list(APPEND B2_OPTIONS "python-debugging=on") - endif() -endif() - -if("${PORT}" STREQUAL "boost-mpi" OR "${PORT}" STREQUAL "boost-graph-parallel") - string(APPEND USER_CONFIG_EXTRA_LINES - "using mpi : : \"${CURRENT_INSTALLED_DIR}/lib\"\n" - " \"${CURRENT_INSTALLED_DIR}/include\"\n" - ) - if(WIN32) - string(APPEND USER_CONFIG_EXTRA_LINES - " msmpi ;\n" - ) - else() - string(APPEND USER_CONFIG_EXTRA_LINES - " openmpi ;\n" - ) - endif() -endif() - -# Include port specific CMake fragment -if(DEFINED BOOST_CMAKE_FRAGMENT) - message(STATUS "Including ${BOOST_CMAKE_FRAGMENT}") - include(${BOOST_CMAKE_FRAGMENT}) -endif() - -configure_file(${CMAKE_CURRENT_LIST_DIR}/user-config.jam.in ${CMAKE_CURRENT_BINARY_DIR}/user-config.jam @ONLY) - -add_custom_target(boost ALL - COMMAND "${B2_EXE}" - toolset=${USER_CONFIG_TOOLSET} - --user-config=${CMAKE_CURRENT_BINARY_DIR}/user-config.jam - --stagedir=${CMAKE_CURRENT_BINARY_DIR}/stage - --build-dir=${CMAKE_CURRENT_BINARY_DIR} - ${B2_OPTIONS} - --with-atomic - --with-random - --with-date_time - --with-filesystem - --with-system - --with-thread - --with-chrono - -j ${VCPKG_CONCURRENCY} - -sBOOST_ROOT=${BOOST_BUILD_PATH} - -sBOOST_BUILD_PATH=${BOOST_BUILD_PATH} - --debug-configuration - --debug-building - --debug-generators - --ignore-site-config - --hash - -q - debug-symbols=on - # Enable debugging level 2. - -d +2 - - threading=multi - - stage - WORKING_DIRECTORY "${SOURCE_PATH}/build" -) - -set(SUBDIR "${CMAKE_CURRENT_BINARY_DIR}/stage/lib") -install( - CODE " -file(GLOB LIBS \"${SUBDIR}/*.so.*\" \"${SUBDIR}/*.so\" \"${SUBDIR}/*.a\" \"${SUBDIR}/*.dylib\" \"${SUBDIR}/*.dylib.*\" \"${SUBDIR}/*.lib\") -if(LIBS) - file(INSTALL \${LIBS} DESTINATION \"\${CMAKE_INSTALL_PREFIX}/lib\") -endif() -file(GLOB DLLS \"${SUBDIR}/*.dll\" \"${SUBDIR}/*.pyd\") -if(DLLS) - file(INSTALL \${DLLS} DESTINATION \"\${CMAKE_INSTALL_PREFIX}/bin\") -endif() -" -) diff --git a/ports/boost-modular-build-helper/Jamroot.jam.in b/ports/boost-modular-build-helper/Jamroot.jam.in deleted file mode 100644 index 83d7c9a3348267..00000000000000 --- a/ports/boost-modular-build-helper/Jamroot.jam.in +++ /dev/null @@ -1,207 +0,0 @@ -constant BOOST_VERSION : @BOOST_VERSION@ ; -constant BOOST_VERSION_ABI_TAG : @BOOST_VERSION_ABI_TAG@ ; -constant BOOST_JAMROOT_MODULE : $(__name__) ; - -import boostcpp ; -import feature ; -import configure ; - -boostcpp.set-version $(BOOST_VERSION) ; - -project boost : requirements - include&&"@CURRENT_INSTALLED_DIR@/include" - BOOST_ALL_NO_LIB=1 - @$(__name__).tag - @B2_REQUIREMENTS@ - ; - -rule boost-install ( libraries * ) -{ - stagedir = [ option.get stagedir ] ; - install stage - : $(libraries) - : $(stagedir)/lib ; -} - -rule tag ( name : type ? : property-set ) -{ - return [ boostcpp.tag $(name) : $(type) : $(property-set) ] ; -} - -rule python-tag ( name : type ? : property-set ) -{ - return [ boostcpp.python-tag $(name) : $(type) : $(property-set) ] ; -} - -if "@PORT@" != "boost-system" -{ - use-project /boost/system : . ; - - lib boost_system : : "@CURRENT_INSTALLED_DIR@/lib/@BOOST_LIB_PREFIX@boost_system@BOOST_LIB_RELEASE_SUFFIX@" release ; - lib boost_system : : "@CURRENT_INSTALLED_DIR@/debug/lib/@BOOST_LIB_PREFIX@boost_system@BOOST_LIB_DEBUG_SUFFIX@" debug ; - explicit boost_system ; - - use-project /boost : . ; - alias system : boost_system ; -} - -if "@PORT@" != "boost-chrono" -{ - use-project /boost/chrono : . ; - - lib boost_chrono : : "@CURRENT_INSTALLED_DIR@/lib/@BOOST_LIB_PREFIX@boost_chrono@BOOST_LIB_RELEASE_SUFFIX@" release ; - lib boost_chrono : : "@CURRENT_INSTALLED_DIR@/debug/lib/@BOOST_LIB_PREFIX@boost_chrono@BOOST_LIB_DEBUG_SUFFIX@" debug ; - explicit boost_chrono ; -} - -if "@PORT@" != "boost-regex" -{ - use-project /boost/regex : . ; - - lib boost_regex : : "@CURRENT_INSTALLED_DIR@/lib/@BOOST_LIB_PREFIX@boost_regex@BOOST_LIB_RELEASE_SUFFIX@" release ; - lib boost_regex : : "@CURRENT_INSTALLED_DIR@/debug/lib/@BOOST_LIB_PREFIX@boost_regex@BOOST_LIB_DEBUG_SUFFIX@" debug ; - explicit boost_regex ; -} - -if "@PORT@" != "boost-date-time" -{ - use-project /boost/date_time : . ; - - lib boost_date_time : : "@CURRENT_INSTALLED_DIR@/lib/@BOOST_LIB_PREFIX@boost_date_time@BOOST_LIB_RELEASE_SUFFIX@" release -/boost/date_time//boost_date_time ; - lib boost_date_time : : "@CURRENT_INSTALLED_DIR@/debug/lib/@BOOST_LIB_PREFIX@boost_date_time@BOOST_LIB_DEBUG_SUFFIX@" debug -/boost/date_time//boost_date_time ; - explicit boost_date_time ; -} - -if "@PORT@" != "boost-thread" -{ - use-project /boost/thread : . ; - - lib boost_thread : : "@CURRENT_INSTALLED_DIR@/lib/@BOOST_LIB_PREFIX@boost_thread@BOOST_LIB_RELEASE_SUFFIX@" release : : /boost/date_time//boost_date_time ; - lib boost_thread : : "@CURRENT_INSTALLED_DIR@/debug/lib/@BOOST_LIB_PREFIX@boost_thread@BOOST_LIB_DEBUG_SUFFIX@" debug : : /boost/date_time//boost_date_time ; - explicit boost_thread ; -} - -if "@PORT@" != "boost-timer" -{ - use-project /boost/timer : . ; - - lib boost_timer : : "@CURRENT_INSTALLED_DIR@/lib/@BOOST_LIB_PREFIX@boost_timer@BOOST_LIB_RELEASE_SUFFIX@" release ; - lib boost_timer : : "@CURRENT_INSTALLED_DIR@/debug/lib/@BOOST_LIB_PREFIX@boost_timer@BOOST_LIB_DEBUG_SUFFIX@" debug ; - explicit boost_timer ; -} - -if "@PORT@" != "boost-filesystem" -{ - use-project /boost/filesystem : . ; - - lib boost_filesystem : : "@CURRENT_INSTALLED_DIR@/lib/@BOOST_LIB_PREFIX@boost_filesystem@BOOST_LIB_RELEASE_SUFFIX@" release : : /boost/system//boost_system ; - lib boost_filesystem : : "@CURRENT_INSTALLED_DIR@/debug/lib/@BOOST_LIB_PREFIX@boost_filesystem@BOOST_LIB_DEBUG_SUFFIX@" debug : : /boost/system//boost_system ; - explicit boost_filesystem ; -} - -if "@PORT@" != "boost-atomic" -{ - lib synchronization ; - explicit synchronization ; - - exe has_synchronization_lib : "@CURRENT_INSTALLED_DIR@/share/boost-atomic/has_synchronization_lib.cpp" : synchronization ; - explicit has_synchronization_lib ; - - rule check-synchronization-lib ( properties * ) - { - local result ; - - if windows in $(properties) - { - if [ configure.builds has_synchronization_lib : $(properties) : "has synchronization.lib" ] - { - result += synchronization ; - } - else - { - result += BOOST_ATOMIC_NO_SYNCHRONIZATION_LIB ; - } - } - - return $(result) ; - } - use-project /boost/atomic : . ; - - lib boost_atomic : : "@CURRENT_INSTALLED_DIR@/lib/@BOOST_LIB_PREFIX@boost_atomic@BOOST_LIB_RELEASE_SUFFIX@" release : : usage-requirements - @check-synchronization-lib ; - lib boost_atomic : : "@CURRENT_INSTALLED_DIR@/debug/lib/@BOOST_LIB_PREFIX@boost_atomic@BOOST_LIB_DEBUG_SUFFIX@" debug : : usage-requirements - @check-synchronization-lib ; - explicit boost_atomic ; -} - -if "@PORT@" != "boost-context" -{ - feature.feature segmented-stacks : on : optional propagated composite ; - feature.compose on : BOOST_USE_SEGMENTED_STACKS ; - - use-project /boost/context : . ; - - lib boost_context : : "@CURRENT_INSTALLED_DIR@/lib/@BOOST_LIB_PREFIX@boost_context@BOOST_LIB_RELEASE_SUFFIX@" release ; - lib boost_context : : "@CURRENT_INSTALLED_DIR@/debug/lib/@BOOST_LIB_PREFIX@boost_context@BOOST_LIB_DEBUG_SUFFIX@" debug ; - explicit boost_context ; -} - -if "@PORT@" != "boost-test" -{ - use-project /boost/test : . ; - - lib boost_unit_test_framework : : "@CURRENT_INSTALLED_DIR@/lib/@BOOST_LIB_PREFIX@boost_unit_test_framework@BOOST_LIB_RELEASE_SUFFIX@" release ; - lib boost_unit_test_framework : : "@CURRENT_INSTALLED_DIR@/debug/lib/@BOOST_LIB_PREFIX@boost_unit_test_framework@BOOST_LIB_DEBUG_SUFFIX@" debug ; - explicit boost_unit_test_framework ; -} - -if "@PORT@" != "boost-serialization" -{ - use-project /boost/serialization : . ; - - lib boost_serialization : : "@CURRENT_INSTALLED_DIR@/lib/@BOOST_LIB_PREFIX@boost_serialization@BOOST_LIB_RELEASE_SUFFIX@" release ; - lib boost_serialization : : "@CURRENT_INSTALLED_DIR@/debug/lib/@BOOST_LIB_PREFIX@boost_serialization@BOOST_LIB_DEBUG_SUFFIX@" debug ; - explicit boost_serialization ; -} - -if "@PORT@" != "boost-mpi" -{ - use-project /boost/mpi : . ; - - lib boost_mpi : : "@CURRENT_INSTALLED_DIR@/lib/@BOOST_LIB_PREFIX@boost_mpi@BOOST_LIB_RELEASE_SUFFIX@" release : : /boost/serialization//boost_serialization ; - lib boost_mpi : : "@CURRENT_INSTALLED_DIR@/debug/lib/@BOOST_LIB_PREFIX@boost_mpi@BOOST_LIB_DEBUG_SUFFIX@" debug : : /boost/serialization//boost_serialization ; - explicit boost_mpi ; -} - -if "@PORT@" != "boost-container" -{ - use-project /boost/container : . ; - - lib boost_container : : "@CURRENT_INSTALLED_DIR@/lib/@BOOST_LIB_PREFIX@boost_container@BOOST_LIB_RELEASE_SUFFIX@" release ; - lib boost_container : : "@CURRENT_INSTALLED_DIR@/debug/lib/@BOOST_LIB_PREFIX@boost_container@BOOST_LIB_DEBUG_SUFFIX@" debug ; - explicit boost_container ; -} - -if "@PORT@" != "boost-python" -{ - use-project /boost/python : . ; - - lib boost_python : : "@CURRENT_INSTALLED_DIR@/lib/@BOOST_LIB_PREFIX@boost_python@PYTHON_VERSION_TAG@@BOOST_LIB_RELEASE_SUFFIX@" release ; - lib boost_python : : "@CURRENT_INSTALLED_DIR@/debug/lib/@BOOST_LIB_PREFIX@boost_python@PYTHON_VERSION_TAG@@BOOST_LIB_DEBUG_SUFFIX@" debug ; - explicit boost_python ; -} - -rule requires ( foo * ) -{ -} - -rule boost-lib ( name : sources * : requirements * : default-build * : usage-requirements * ) -{ - name = boost_$(name) ; - lib $(name) : $(sources) : $(requirements) : $(default-build) : $(usage-requirements) ; - boost-install $(name) ; -} - -use-project /boost/@PORT@ : build ; - -build-project build ; diff --git a/ports/boost-modular-build-helper/boost-modular-build.cmake b/ports/boost-modular-build-helper/boost-modular-build.cmake deleted file mode 100644 index a57ca416a052b2..00000000000000 --- a/ports/boost-modular-build-helper/boost-modular-build.cmake +++ /dev/null @@ -1,202 +0,0 @@ -include_guard(GLOBAL) -include("${CMAKE_CURRENT_LIST_DIR}/../vcpkg-cmake/vcpkg-port-config.cmake") -include("${CMAKE_CURRENT_LIST_DIR}/../vcpkg-cmake-get-vars/vcpkg-port-config.cmake") - -get_filename_component(BOOST_BUILD_INSTALLED_DIR "${CMAKE_CURRENT_LIST_DIR}" DIRECTORY) -get_filename_component(BOOST_BUILD_INSTALLED_DIR "${BOOST_BUILD_INSTALLED_DIR}" DIRECTORY) - -set(BOOST_VERSION "${VERSION}") -string(REGEX MATCH "^([0-9]+)\\.([0-9]+)\\.([0-9]+)" BOOST_VERSION_MATCH "${BOOST_VERSION}") -if("${CMAKE_MATCH_3}" GREATER 0) - set(BOOST_VERSION_ABI_TAG "${CMAKE_MATCH_1}_${CMAKE_MATCH_2}_${CMAKE_MATCH_3}") -else() - set(BOOST_VERSION_ABI_TAG "${CMAKE_MATCH_1}_${CMAKE_MATCH_2}") -endif() - -function(boost_modular_build) - cmake_parse_arguments(_bm "" "SOURCE_PATH;BOOST_CMAKE_FRAGMENT" "" ${ARGN}) - - if(NOT DEFINED _bm_SOURCE_PATH) - message(FATAL_ERROR "SOURCE_PATH is a required argument to boost_modular_build.") - endif() - - # The following variables are used in the Jamroot.jam - set(B2_REQUIREMENTS) - - # Some CMake variables may be overridden in the file specified in ${_bm_BOOST_CMAKE_FRAGMENT} - if(DEFINED _bm_BOOST_CMAKE_FRAGMENT) - message(STATUS "Including ${_bm_BOOST_CMAKE_FRAGMENT}") - include(${_bm_BOOST_CMAKE_FRAGMENT}) - endif() - - set(BOOST_BUILD_PATH "${BOOST_BUILD_INSTALLED_DIR}/tools/boost-build") - - if(EXISTS "${BOOST_BUILD_PATH}/b2.exe") - set(B2_EXE "${BOOST_BUILD_PATH}/b2.exe") - elseif(EXISTS "${BOOST_BUILD_PATH}/b2") - set(B2_EXE "${BOOST_BUILD_PATH}/b2") - else() - message(FATAL_ERROR "Could not find b2 in ${BOOST_BUILD_PATH}") - endif() - if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - set(BOOST_LIB_PREFIX) - if(VCPKG_PLATFORM_TOOLSET MATCHES "v14.") - set(BOOST_LIB_RELEASE_SUFFIX -vc140-mt.lib) - set(BOOST_LIB_DEBUG_SUFFIX -vc140-mt-gd.lib) - elseif(VCPKG_PLATFORM_TOOLSET MATCHES "v120") - set(BOOST_LIB_RELEASE_SUFFIX -vc120-mt.lib) - set(BOOST_LIB_DEBUG_SUFFIX -vc120-mt-gd.lib) - else() - set(BOOST_LIB_RELEASE_SUFFIX .lib) - set(BOOST_LIB_DEBUG_SUFFIX d.lib) - endif() - else() - set(BOOST_LIB_PREFIX lib) - if(VCPKG_TARGET_ARCHITECTURE STREQUAL "wasm32") - set(BOOST_LIB_RELEASE_SUFFIX .a) - set(BOOST_LIB_DEBUG_SUFFIX .a) - elseif(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - set(BOOST_LIB_RELEASE_SUFFIX .a) - set(BOOST_LIB_DEBUG_SUFFIX .a) - elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") - set(BOOST_LIB_RELEASE_SUFFIX .dylib) - set(BOOST_LIB_DEBUG_SUFFIX .dylib) - elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "MinGW") - set(BOOST_LIB_RELEASE_SUFFIX .dll.a) - set(BOOST_LIB_DEBUG_SUFFIX .dll.a) - else() - set(BOOST_LIB_RELEASE_SUFFIX .so) - set(BOOST_LIB_DEBUG_SUFFIX .so) - endif() - endif() - - set(_jamfile) - if(EXISTS "${_bm_SOURCE_PATH}/build/Jamfile.v2") - set(_jamfile "${_bm_SOURCE_PATH}/build/Jamfile.v2") - elseif(EXISTS "${_bm_SOURCE_PATH}/build/Jamfile") - set(_jamfile "${_bm_SOURCE_PATH}/build/Jamfile") - endif() - if(_jamfile) - file(READ "${_jamfile}" _contents) - string(REGEX REPLACE - "\.\./\.\./([^/ ]+)/build//(boost_[^/ ]+)" - "/boost/\\1//\\2" - _contents - "${_contents}" - ) - string(REGEX REPLACE "/boost//([^/ ]+)" "/boost/\\1//boost_\\1" _contents "${_contents}") - file(WRITE "${_jamfile}" "${_contents}") - endif() - - if("python2" IN_LIST FEATURES) - # Find Python2 in the current installed directory - file(GLOB python2_include_dir "${CURRENT_INSTALLED_DIR}/include/python2.*") - string(REGEX REPLACE ".*python([0-9\.]+).*" "\\1" python2_version "${python2_include_dir}") - string(REPLACE "." "" PYTHON_VERSION_TAG "${python2_version}") - endif() - if("python3" IN_LIST FEATURES) - # Find Python3 in the current installed directory - file(GLOB python3_include_dir "${CURRENT_INSTALLED_DIR}/include/python3.*") - string(REGEX REPLACE ".*python([0-9\.]+).*" "\\1" python3_version "${python3_include_dir}") - string(REPLACE "." "" PYTHON_VERSION_TAG "${python3_version}") - endif() - - configure_file("${BOOST_BUILD_INSTALLED_DIR}/share/boost-build/Jamroot.jam.in" "${_bm_SOURCE_PATH}/Jamroot.jam" @ONLY) - - set(configure_options) - if(_bm_BOOST_CMAKE_FRAGMENT) - list(APPEND configure_options "-DBOOST_CMAKE_FRAGMENT=${_bm_BOOST_CMAKE_FRAGMENT}") - endif() - - vcpkg_cmake_get_vars(cmake_vars_file) - - vcpkg_check_features( - OUT_FEATURE_OPTIONS feature_options - FEATURES - python2 WITH_PYTHON2 - python3 WITH_PYTHON3 - ) - - vcpkg_cmake_configure( - SOURCE_PATH "${BOOST_BUILD_INSTALLED_DIR}/share/boost-build" - GENERATOR Ninja - OPTIONS - "-DPORT=${PORT}" - "-DFEATURES=${FEATURES}" - ${feature_options} - "-DCURRENT_INSTALLED_DIR=${CURRENT_INSTALLED_DIR}" - "-DB2_EXE=${B2_EXE}" - "-DSOURCE_PATH=${_bm_SOURCE_PATH}" - "-DBOOST_BUILD_PATH=${BOOST_BUILD_PATH}" - "-DVCPKG_CRT_LINKAGE=${VCPKG_CRT_LINKAGE}" - "-DVCPKG_CMAKE_VARS_FILE=${cmake_vars_file}" - "-DVCPKG_CONCURRENCY=${VCPKG_CONCURRENCY}" - ${configure_options} - MAYBE_UNUSED_VARIABLES - FEATURES - ) - - vcpkg_cmake_install() - - vcpkg_copy_pdbs( - BUILD_PATHS - "${CURRENT_PACKAGES_DIR}/bin/*.dll" - "${CURRENT_PACKAGES_DIR}/bin/*.pyd" - "${CURRENT_PACKAGES_DIR}/debug/bin/*.dll" - "${CURRENT_PACKAGES_DIR}/debug/bin/*.pyd" - ) - - file(GLOB INSTALLED_LIBS "${CURRENT_PACKAGES_DIR}/debug/lib/*.lib" "${CURRENT_PACKAGES_DIR}/lib/*.lib") - foreach(LIB IN LISTS INSTALLED_LIBS) - get_filename_component(OLD_FILENAME ${LIB} NAME) - get_filename_component(DIRECTORY_OF_LIB_FILE ${LIB} DIRECTORY) - string(REPLACE "libboost_" "boost_" NEW_FILENAME ${OLD_FILENAME}) - string(REPLACE "-s-" "-" NEW_FILENAME ${NEW_FILENAME}) # For Release libs - string(REPLACE "-vc141-" "-vc140-" NEW_FILENAME ${NEW_FILENAME}) # To merge VS2017 and VS2015 binaries - string(REPLACE "-vc142-" "-vc140-" NEW_FILENAME ${NEW_FILENAME}) # To merge VS2019 and VS2015 binaries - string(REPLACE "-vc143-" "-vc140-" NEW_FILENAME ${NEW_FILENAME}) # To merge VS2022 and VS2015 binaries - string(REPLACE "-sgd-" "-gd-" NEW_FILENAME ${NEW_FILENAME}) # For Debug libs - string(REPLACE "-sgyd-" "-gyd-" NEW_FILENAME ${NEW_FILENAME}) # For Debug libs - string(REPLACE "-gyd-" "-gd-" NEW_FILENAME ${NEW_FILENAME}) # For Debug libs with python debugging - string(REPLACE "-x32-" "-" NEW_FILENAME ${NEW_FILENAME}) # To enable CMake 3.10 and earlier to locate the binaries - string(REPLACE "-x64-" "-" NEW_FILENAME ${NEW_FILENAME}) # To enable CMake 3.10 and earlier to locate the binaries - string(REPLACE "-a32-" "-" NEW_FILENAME ${NEW_FILENAME}) # To enable CMake 3.10 and earlier to locate the binaries - string(REPLACE "-a64-" "-" NEW_FILENAME ${NEW_FILENAME}) # To enable CMake 3.10 and earlier to locate the binaries - string(REPLACE "-${BOOST_VERSION_ABI_TAG}" "" NEW_FILENAME ${NEW_FILENAME}) # To enable CMake > 3.10 to locate the binaries - if("${DIRECTORY_OF_LIB_FILE}/${NEW_FILENAME}" STREQUAL "${DIRECTORY_OF_LIB_FILE}/${OLD_FILENAME}") - # nothing to do - elseif(EXISTS "${DIRECTORY_OF_LIB_FILE}/${NEW_FILENAME}") - file(REMOVE "${DIRECTORY_OF_LIB_FILE}/${OLD_FILENAME}") - else() - file(RENAME "${DIRECTORY_OF_LIB_FILE}/${OLD_FILENAME}" "${DIRECTORY_OF_LIB_FILE}/${NEW_FILENAME}") - endif() - endforeach() - # Similar for mingw - file(GLOB INSTALLED_LIBS "${CURRENT_PACKAGES_DIR}/debug/lib/*-mgw*-*.a" "${CURRENT_PACKAGES_DIR}/lib/*-mgw*-*.a") - foreach(LIB IN LISTS INSTALLED_LIBS) - get_filename_component(OLD_FILENAME "${LIB}" NAME) - get_filename_component(DIRECTORY_OF_LIB_FILE "${LIB}" DIRECTORY) - string(REGEX REPLACE "-mgw[0-9]+-.*[0-9](\\.dll\\.a|\\.a)$" "\\1" NEW_FILENAME "${OLD_FILENAME}") - if("${DIRECTORY_OF_LIB_FILE}/${NEW_FILENAME}" STREQUAL "${DIRECTORY_OF_LIB_FILE}/${OLD_FILENAME}") - # nothing to do - elseif(EXISTS "${DIRECTORY_OF_LIB_FILE}/${NEW_FILENAME}") - file(REMOVE "${DIRECTORY_OF_LIB_FILE}/${OLD_FILENAME}") - else() - file(RENAME "${DIRECTORY_OF_LIB_FILE}/${OLD_FILENAME}" "${DIRECTORY_OF_LIB_FILE}/${NEW_FILENAME}") - endif() - endforeach() - - # boost-regex[icu] and boost-locale[icu] generate has_icu.lib - if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/has_icu.lib") - file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/has_icu.lib") - endif() - if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/has_icu.lib") - file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/has_icu.lib") - endif() - - if(NOT EXISTS "${CURRENT_PACKAGES_DIR}/lib") - message(FATAL_ERROR "No libraries were produced. This indicates a failure while building the boost library.") - endif() - - configure_file("${BOOST_BUILD_INSTALLED_DIR}/share/boost-build/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" COPYONLY) -endfunction() diff --git a/ports/boost-modular-build-helper/nothing.bat b/ports/boost-modular-build-helper/nothing.bat deleted file mode 100644 index e69de29bb2d1d6..00000000000000 diff --git a/ports/boost-modular-build-helper/portfile.cmake b/ports/boost-modular-build-helper/portfile.cmake deleted file mode 100644 index 3caa70b6c2a05c..00000000000000 --- a/ports/boost-modular-build-helper/portfile.cmake +++ /dev/null @@ -1,13 +0,0 @@ -set(VCPKG_POLICY_EMPTY_PACKAGE enabled) - -file( - COPY - ${CMAKE_CURRENT_LIST_DIR}/boost-modular-build.cmake - ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt - ${CMAKE_CURRENT_LIST_DIR}/Jamroot.jam.in - ${CMAKE_CURRENT_LIST_DIR}/nothing.bat - ${CMAKE_CURRENT_LIST_DIR}/usage - ${CMAKE_CURRENT_LIST_DIR}/user-config.jam.in - DESTINATION - ${CURRENT_PACKAGES_DIR}/share/boost-build -) \ No newline at end of file diff --git a/ports/boost-modular-build-helper/usage b/ports/boost-modular-build-helper/usage deleted file mode 100644 index 89a0376daddec3..00000000000000 --- a/ports/boost-modular-build-helper/usage +++ /dev/null @@ -1,4 +0,0 @@ -The package boost is compatible with built-in CMake targets: - - find_package(Boost REQUIRED [COMPONENTS ...]) - target_link_libraries(main PRIVATE Boost::boost Boost:: Boost:: ...) diff --git a/ports/boost-modular-build-helper/user-config.jam.in b/ports/boost-modular-build-helper/user-config.jam.in deleted file mode 100644 index fccfa1a43ee028..00000000000000 --- a/ports/boost-modular-build-helper/user-config.jam.in +++ /dev/null @@ -1,53 +0,0 @@ -import toolset ; - -using @USER_CONFIG_TOOLSET@ : @USER_CONFIG_TOOLSET_VERSION@ : @USER_CONFIG_TOOLSET_INVOCATION_COMMAND@ - : -@USER_CONFIG_TOOLSET_OPTIONS@ - ; - -@USER_CONFIG_EXTRA_LINES@ - -project user-config : requirements @USER_CONFIG_REQUIREMENTS@ ; - -if "@USER_CONFIG_TOOLSET@" = "msvc" || "@USER_CONFIG_TOOLSET@" = "clang-win" -{ - lib advapi32 ; - - lib icuuc : : "@CURRENT_INSTALLED_DIR@/lib/icuuc.lib" release : : advapi32 ; - lib icuuc : : "@CURRENT_INSTALLED_DIR@/debug/lib/icuucd.lib" debug : : advapi32 ; - - lib icuin : : "@CURRENT_INSTALLED_DIR@/lib/icuin.lib" release : : ; - lib icuin : : "@CURRENT_INSTALLED_DIR@/debug/lib/icuind.lib" debug : : ; - - lib icudt : : "@CURRENT_INSTALLED_DIR@/lib/icudt.lib" release : : ; - lib icudt : : "@CURRENT_INSTALLED_DIR@/debug/lib/icudtd.lib" debug : : ; -} -else -{ - if "@CMAKE_SYSTEM_NAME@" = "Windows" # We are hopelessly stuck inside boost-modular-build-helper, only this works - { - lib icuuc : : icuuc "@CURRENT_INSTALLED_DIR@/lib" release : : ; - lib icuuc : : icuucd "@CURRENT_INSTALLED_DIR@/debug/lib" debug : : ; - - lib icuin : : icuin "@CURRENT_INSTALLED_DIR@/lib" release : : ; - lib icuin : : icuind "@CURRENT_INSTALLED_DIR@/debug/lib" debug : : ; - - lib icudt : : icudt "@CURRENT_INSTALLED_DIR@/lib" release : : ; - lib icudt : : icudtd "@CURRENT_INSTALLED_DIR@/debug/lib" debug : : ; - } - else - { - lib dl ; - lib icuuc : : icuuc "@CURRENT_INSTALLED_DIR@/lib" release : : dl ; - lib icuuc : : icuuc "@CURRENT_INSTALLED_DIR@/debug/lib" debug : : dl ; - - lib icuin : : icui18n "@CURRENT_INSTALLED_DIR@/lib" release : : ; - lib icuin : : icui18n "@CURRENT_INSTALLED_DIR@/debug/lib" debug : : ; - - lib icudt : : icudata "@CURRENT_INSTALLED_DIR@/lib" release : : ; - lib icudt : : icudata "@CURRENT_INSTALLED_DIR@/debug/lib" debug : : ; - } -} - -lib iconv : : "@VCPKG_ICONV_LIBRARY_RELEASE@" shared shared release : : ; -lib iconv : : "@VCPKG_ICONV_LIBRARY_DEBUG@" shared shared debug : : ; diff --git a/ports/boost-modular-build-helper/vcpkg.json b/ports/boost-modular-build-helper/vcpkg.json deleted file mode 100644 index 65728732413b4b..00000000000000 --- a/ports/boost-modular-build-helper/vcpkg.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", - "name": "boost-modular-build-helper", - "version": "1.83.0", - "port-version": 1, - "description": "Internal vcpkg port used to build Boost libraries", - "license": "MIT", - "dependencies": [ - { - "name": "boost-uninstall", - "version>=": "1.83.0" - }, - { - "name": "vcpkg-cmake", - "host": true - }, - { - "name": "vcpkg-cmake-get-vars", - "host": true - } - ] -} diff --git a/ports/boost-move/portfile.cmake b/ports/boost-move/portfile.cmake index 9a68d6ad6ba9ca..4eface528418c2 100644 --- a/ports/boost-move/portfile.cmake +++ b/ports/boost-move/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/move - REF boost-1.83.0 - SHA512 f9eac21a2d05f22e866c9ed149a6121f9b6332bfc039c3dfadd17126aaa4f464cadd4f22c01628791dcc8d76adfb2f5323623e81164b48bf9d5011cd1d76fc94 + REF boost-${VERSION} + SHA512 753ff955f350db2ee4289dde8b21d40905f6b22676935bd8ff4958d6307fbd4fb3fb4038055869a82219ec4988714a4adf2d5784a0a1762f0719b3ccb3b4f80b HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-move/vcpkg.json b/ports/boost-move/vcpkg.json index 767a821a44c530..a44bb2059d82c4 100644 --- a/ports/boost-move/vcpkg.json +++ b/ports/boost-move/vcpkg.json @@ -1,18 +1,22 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-move", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost move module", - "homepage": "https://github.com/boostorg/move", + "homepage": "https://www.boost.org/libs/move", "license": "BSL-1.0", "dependencies": [ + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-mp11/portfile.cmake b/ports/boost-mp11/portfile.cmake index 68d4a5f41775ee..08dec1bb697c8a 100644 --- a/ports/boost-mp11/portfile.cmake +++ b/ports/boost-mp11/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/mp11 - REF boost-1.83.0 - SHA512 d9db5afc318a0e28649d447b6c08fd0ee446bbc3b0d394607cf0430fd55350ea5dd75769bdb461abd39db6207dec5e76c4c468b9b6925d9608a62b7fdfdcfa05 + REF boost-${VERSION} + SHA512 de2df1ec464785891f457bf6c7aba6ed93a6fa9a7ca5b2eedbce28a4e5e23362c08282931fd639193c4c2e7434aec449ebacdcb3ea9e12655265b52aced8b89a HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-mp11/vcpkg.json b/ports/boost-mp11/vcpkg.json index cbb25e11c28fd8..fa86de33cecb89 100644 --- a/ports/boost-mp11/vcpkg.json +++ b/ports/boost-mp11/vcpkg.json @@ -1,14 +1,22 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-mp11", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost mp11 module", - "homepage": "https://github.com/boostorg/mp11", + "homepage": "https://www.boost.org/libs/mp11", "license": "BSL-1.0", "dependencies": [ { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-mpi/fix-build-with-msvc.patch b/ports/boost-mpi/fix-build-with-msvc.patch deleted file mode 100644 index 697f19ddf3ea84..00000000000000 --- a/ports/boost-mpi/fix-build-with-msvc.patch +++ /dev/null @@ -1,30 +0,0 @@ - include/boost/mpi/detail/offsets.hpp | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/include/boost/mpi/detail/offsets.hpp b/include/boost/mpi/detail/offsets.hpp -index 8d33f8e..e6afaa0 100644 ---- a/include/boost/mpi/detail/offsets.hpp -+++ b/include/boost/mpi/detail/offsets.hpp -@@ -17,10 +17,10 @@ namespace detail { - - // Convert a sequence of sizes [S0..Sn] to a sequence displacement - // [O0..On] where O[0] = 0 and O[k+1] = O[k]+S[k]. --void BOOST_MPI_DECL sizes2offsets(int const* sizes, int* offsets, int n); -+BOOST_MPI_DECL void sizes2offsets(int const* sizes, int* offsets, int n); - - // Same as size2offset(sizes.data(), offsets.data(), sizes.size()) --void BOOST_MPI_DECL sizes2offsets(std::vector const& sizes, std::vector& offsets); -+BOOST_MPI_DECL void sizes2offsets(std::vector const& sizes, std::vector& offsets); - - // Given a sequence of sizes (typically the number of records dispatched - // to each process in a scater) and a sequence of displacements (typically the -@@ -33,7 +33,7 @@ void offsets2skipped(int const* sizes, int const* offsets, int* skipped, int n); - // displs are not already provided. - // If memory was allocated, returns a pointer to it - // otherwise null. --int* BOOST_MPI_DECL make_offsets(communicator const& comm, int const* sizes, int const* displs, int root = -1); -+BOOST_MPI_DECL int* make_offsets(communicator const& comm, int const* sizes, int const* displs, int root = -1); - - // Reconstruct skip slots from sizes and offsets. - // Only takes place if on the root process and if - \ No newline at end of file diff --git a/ports/boost-mpi/portfile.cmake b/ports/boost-mpi/portfile.cmake index f5506f48452379..83ca5b27b55f7c 100644 --- a/ports/boost-mpi/portfile.cmake +++ b/ports/boost-mpi/portfile.cmake @@ -3,13 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/mpi - REF boost-1.83.0 - SHA512 f70aedba476b350e217717d420178af9b11539d5a30066edb1a4697dbfee08679a5a7b50f8c8cbb2c645dbd3b67735311ed8562907d3836dd1988a89f05bedc1 + REF boost-${VERSION} + SHA512 c229ac1cd354245da2d03d054f2725c63c500c87c1de8f50b0c8b1946a6095c9948715c5abd24d7ddae639616793c1535a2171c7e698d2ed25a8515eab37ceb2 HEAD_REF master - PATCHES fix-build-with-msvc.patch ) -include(${CURRENT_HOST_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake) -boost_modular_build(SOURCE_PATH ${SOURCE_PATH}) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-mpi/vcpkg.json b/ports/boost-mpi/vcpkg.json index b26afa89151b72..9b7dc2d47ff481 100644 --- a/ports/boost-mpi/vcpkg.json +++ b/ports/boost-mpi/vcpkg.json @@ -1,99 +1,89 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-mpi", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost mpi module", - "homepage": "https://github.com/boostorg/mpi", + "homepage": "https://www.boost.org/libs/mpi", "license": "BSL-1.0", "supports": "!uwp", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-build", - "host": true, - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-foreach", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-function", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-graph", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-integer", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-iterator", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-lexical-cast", - "version>=": "1.83.0" - }, - { - "name": "boost-modular-build-helper", - "host": true, - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-optional", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-serialization", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-smart-ptr", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-utility", - "version>=": "1.83.0" + "version>=": "1.86.0" }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" - }, - "mpi", - { - "name": "vcpkg-cmake", - "host": true - } + "mpi" ], "features": { "python3": { @@ -102,11 +92,8 @@ "dependencies": [ { "name": "boost-python", - "features": [ - "python3" - ], "platform": "!uwp & !emscripten & !ios & !android", - "version>=": "1.83.0" + "version>=": "1.86.0" }, "python3" ] diff --git a/ports/boost-mpl/portfile.cmake b/ports/boost-mpl/portfile.cmake index 4ede5e3ac22dd3..0a4e869ac77c3b 100644 --- a/ports/boost-mpl/portfile.cmake +++ b/ports/boost-mpl/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/mpl - REF boost-1.83.0 - SHA512 2c14736be6639110774b944218b5bbe77efabe92f74574c631cfd83c9df6df0fccecf8b11e6977a0438af4ba31677a05b6fcbaf6662c97877a4b2bab4a702c45 + REF boost-${VERSION} + SHA512 a28099eeebb00369f3e1e8b7cfc0a1fbdf8bd6b162da48e2034004cdf1e8732fa2c1fdeffb3c3fc7fd13550b4b1a7da4f51f66842be39d723d3edc755ddf48be HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-mpl/vcpkg.json b/ports/boost-mpl/vcpkg.json index 6f99c42a770465..3f6bf3886a63a2 100644 --- a/ports/boost-mpl/vcpkg.json +++ b/ports/boost-mpl/vcpkg.json @@ -1,42 +1,46 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-mpl", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost mpl module", - "homepage": "https://github.com/boostorg/mpl", + "homepage": "https://www.boost.org/libs/mpl", "license": "BSL-1.0", "dependencies": [ + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-predef", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-preprocessor", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-utility", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-msm/portfile.cmake b/ports/boost-msm/portfile.cmake index ca1140064c672d..98b77b93af3ac9 100644 --- a/ports/boost-msm/portfile.cmake +++ b/ports/boost-msm/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/msm - REF boost-1.83.0 - SHA512 8799de356ab5923e76f85f70181678495c6c7fa25483a0c8528e5a1daf2521add0b05f723cb6bd329aa22748f0c8bda2b33e020418be3c57a03cdaab4cc4d233 + REF boost-${VERSION} + SHA512 400b175afa4a369c1a06ffbed35921b800880d65304a08ca9d53113f7ddcc72776d90a9af3f5a5468de848d2cb1bed7585a42caf6d08cd44b8acf32bb65ef00c HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-msm/vcpkg.json b/ports/boost-msm/vcpkg.json index d1333fac100336..b03b3966cc06cf 100644 --- a/ports/boost-msm/vcpkg.json +++ b/ports/boost-msm/vcpkg.json @@ -1,82 +1,90 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-msm", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost msm module", - "homepage": "https://github.com/boostorg/msm", + "homepage": "https://www.boost.org/libs/msm", "license": "BSL-1.0", "dependencies": [ { "name": "boost-any", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-bind", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-circular-buffer", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-function", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-fusion", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-parameter", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-phoenix", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-preprocessor", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-proto", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-serialization", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-tuple", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-type-traits", - "version>=": "1.83.0" + "name": "boost-type-index", + "version>=": "1.86.0" }, { - "name": "boost-typeof", - "version>=": "1.83.0" + "name": "boost-type-traits", + "version>=": "1.86.0" }, { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "name": "boost-typeof", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-multi-array/portfile.cmake b/ports/boost-multi-array/portfile.cmake index 29cfb22700ed93..d87e7db1ed1ff4 100644 --- a/ports/boost-multi-array/portfile.cmake +++ b/ports/boost-multi-array/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/multi_array - REF boost-1.83.0 - SHA512 9335bfd87a7b20e08f834153565f7efe9f582560d36537182b33942a1705c22f080c5004eb27d42fb478c91ba82a1c7421ea96e360e5e8f45dea82a0aa10ecf2 + REF boost-${VERSION} + SHA512 c8b0430f7ea8fefe078029ee88867e3ba1f73a33a21e9f70a00c44ecccee2020ed2db78bd06d3c56da7717633e9ffc140f74a1af0b4903a2753ba04067ea4a6f HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-multi-array/vcpkg.json b/ports/boost-multi-array/vcpkg.json index 0806c974f84fd6..b0fdac7b011bd0 100644 --- a/ports/boost-multi-array/vcpkg.json +++ b/ports/boost-multi-array/vcpkg.json @@ -1,54 +1,58 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-multi-array", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost multi_array module", - "homepage": "https://github.com/boostorg/multi_array", + "homepage": "https://www.boost.org/libs/multi_array", "license": "BSL-1.0", "dependencies": [ { "name": "boost-array", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-concept-check", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-functional", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-iterator", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-multi-index/portfile.cmake b/ports/boost-multi-index/portfile.cmake index c665ee871542ee..bc3fb0e068804f 100644 --- a/ports/boost-multi-index/portfile.cmake +++ b/ports/boost-multi-index/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/multi_index - REF boost-1.83.0 - SHA512 f742fa3b2cfa555d5f125c117ffcec7962ef7db6e7ab4bcb0bee517c1b583da7685a969fdbb6df8348415f1a2647cffda5f04158335da2880c6baf4bf8be57d2 + REF boost-${VERSION} + SHA512 e86ffc579e7274509f91ed1a87efcbb6f2d559a1f18a6b276aa2424d9acf54b3b0e418c9fee5935ec8e097f4602ba61e2501ee5c0e971879c7636078134e9252 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-multi-index/vcpkg.json b/ports/boost-multi-index/vcpkg.json index 4b94c94dad59be..49ee70cab686fb 100644 --- a/ports/boost-multi-index/vcpkg.json +++ b/ports/boost-multi-index/vcpkg.json @@ -1,78 +1,82 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-multi-index", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost multi_index module", - "homepage": "https://github.com/boostorg/multi_index", + "homepage": "https://www.boost.org/libs/multi_index", "license": "BSL-1.0", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-bind", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-container-hash", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-integer", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-iterator", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-move", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-preprocessor", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-smart-ptr", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-tuple", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-utility", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-multiprecision/portfile.cmake b/ports/boost-multiprecision/portfile.cmake index 5fff763c31c2a4..327f4b1580b3ce 100644 --- a/ports/boost-multiprecision/portfile.cmake +++ b/ports/boost-multiprecision/portfile.cmake @@ -3,10 +3,15 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/multiprecision - REF boost-1.83.0 - SHA512 64107cbf115245a297396e37d2620f53c022fddda1c82228b0b21ec4997ed30a6befdbef3c35ca0450e7296164590f7af2bfb5d9aa273681a201f84e9d33b0f3 + REF boost-${VERSION} + SHA512 e9f8f86180abcb2d9c7762cbf0200868645a9c99a792a5bd5b52df5e3038263a69ebdc12436284c8fc3982dab02bacf157120e838ecc432f99f749d4fc2d6bbd HEAD_REF master + PATCHES + remove-random.diff ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-multiprecision/remove-random.diff b/ports/boost-multiprecision/remove-random.diff new file mode 100644 index 00000000000000..edd152d59b8d6f --- /dev/null +++ b/ports/boost-multiprecision/remove-random.diff @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d6cdd2861e..fabfe26023 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -33,7 +33,6 @@ else() + Boost::integer + Boost::lexical_cast + Boost::math +- Boost::random + ) + + endif() diff --git a/ports/boost-multiprecision/vcpkg.json b/ports/boost-multiprecision/vcpkg.json index 5602bf8dbbff34..f318bfcb02a059 100644 --- a/ports/boost-multiprecision/vcpkg.json +++ b/ports/boost-multiprecision/vcpkg.json @@ -1,51 +1,55 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-multiprecision", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost multiprecision module", - "homepage": "https://github.com/boostorg/multiprecision", + "homepage": "https://www.boost.org/libs/multiprecision", "license": "BSL-1.0", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-integer", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-lexical-cast", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-math", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-predef", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-random", "platform": "!uwp", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-mysql/portfile.cmake b/ports/boost-mysql/portfile.cmake index 8ff06e9cfeca51..5015a60d328a93 100644 --- a/ports/boost-mysql/portfile.cmake +++ b/ports/boost-mysql/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/mysql - REF boost-1.83.0 - SHA512 5d1cc43bb1b6fd62caedc3276d3b2d8734cf7fbc8fe402bc2a89bfa854a9c907089d65f32c8ec9c66a252e3204ea0098beb29443d5a14856473b9ce4fe2915fc + REF boost-${VERSION} + SHA512 c3a096515f631b92fb3b69eae5ab5fe30be93269fd0176dd87c65a9212539b7aec2ac1386bf5401d5a01c75f8151666ecb643813fa59f7742ff3372b54a46a57 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-mysql/vcpkg.json b/ports/boost-mysql/vcpkg.json index 33f98f41db3365..2f23b871e5d896 100644 --- a/ports/boost-mysql/vcpkg.json +++ b/ports/boost-mysql/vcpkg.json @@ -1,58 +1,71 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-mysql", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost mysql module", - "homepage": "https://github.com/boostorg/mysql", + "homepage": "https://www.boost.org/libs/mysql", "license": "BSL-1.0", "dependencies": [ { "name": "boost-asio", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-charconv", + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-describe", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-endian", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-lexical-cast", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-intrusive", + "version>=": "1.86.0" }, { "name": "boost-mp11", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-optional", + "version>=": "1.86.0" }, { "name": "boost-system", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-variant2", - "version>=": "1.83.0" + "version>=": "1.86.0" }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" - } + "openssl" ] } diff --git a/ports/boost-nowide/b2-options.cmake b/ports/boost-nowide/b2-options.cmake deleted file mode 100644 index 57388346841878..00000000000000 --- a/ports/boost-nowide/b2-options.cmake +++ /dev/null @@ -1,3 +0,0 @@ -if(APPLE) - list(APPEND B2_OPTIONS cxxstd=11) -endif() diff --git a/ports/boost-nowide/portfile.cmake b/ports/boost-nowide/portfile.cmake index b0d69a2016cac6..306303758359ee 100644 --- a/ports/boost-nowide/portfile.cmake +++ b/ports/boost-nowide/portfile.cmake @@ -3,20 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/nowide - REF boost-1.83.0 - SHA512 1cdfc8f6087719206ea9affc6262114bfefc5f0e326d40cf5be9bae613a4ed8ebb378d3e59a2db31fec946c02b038a9ffbf5ff33b24cab4863da47236661b24a + REF boost-${VERSION} + SHA512 f3dd88c9c48360cf5603a152d16626479ac23a8fa90916658f9ca2b596f28ab3b37cbb6c70e91c5a98fd59d5b5e8054015131e1bafae8146f0f5f766946b159d HEAD_REF master ) -vcpkg_replace_string("${SOURCE_PATH}/build/Jamfile.v2" - "import ../../config/checks/config" - "import ../config/checks/config" +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} ) -file(COPY "${CURRENT_INSTALLED_DIR}/share/boost-config/checks" DESTINATION "${SOURCE_PATH}/config") -include(${CURRENT_HOST_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake) -boost_modular_build( - SOURCE_PATH ${SOURCE_PATH} - BOOST_CMAKE_FRAGMENT "${CMAKE_CURRENT_LIST_DIR}/b2-options.cmake" -) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) diff --git a/ports/boost-nowide/vcpkg.json b/ports/boost-nowide/vcpkg.json index 812ad097ea80f6..a0d598d9fa70ac 100644 --- a/ports/boost-nowide/vcpkg.json +++ b/ports/boost-nowide/vcpkg.json @@ -1,37 +1,27 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-nowide", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost nowide module", - "homepage": "https://github.com/boostorg/nowide", + "homepage": "https://www.boost.org/libs/nowide", "license": "BSL-1.0", "dependencies": [ { - "name": "boost-build", - "host": true, - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-filesystem", "platform": "!uwp", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-modular-build-helper", - "host": true, - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" - }, - { - "name": "vcpkg-cmake", - "host": true + "name": "boost-headers", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-numeric-conversion/portfile.cmake b/ports/boost-numeric-conversion/portfile.cmake index 238c6fc4e7a4d0..ffe8aad1589616 100644 --- a/ports/boost-numeric-conversion/portfile.cmake +++ b/ports/boost-numeric-conversion/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/numeric_conversion - REF boost-1.83.0 - SHA512 41ea20e08416058d264ea11825715a4f5c299bf34152628875436b2a02bb99325ba97b5ebcfea7f4b5bdbfdc64b3b31329a7e7418341a19a294969ae22eef43e + REF boost-${VERSION} + SHA512 b2f80515df47f92b5db2711c6fee577c1b776b302a712d6105caf7ade6727799cc0e30e09cc251b59f0315fbbb96593cc66b7fa5209ecce87b8476a4652df444 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-numeric-conversion/vcpkg.json b/ports/boost-numeric-conversion/vcpkg.json index fc78cdf53d838d..6b0a091a72b4ed 100644 --- a/ports/boost-numeric-conversion/vcpkg.json +++ b/ports/boost-numeric-conversion/vcpkg.json @@ -1,42 +1,46 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-numeric-conversion", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost numeric_conversion module", - "homepage": "https://github.com/boostorg/numeric_conversion", + "homepage": "https://www.boost.org/libs/numeric/conversion", "license": "BSL-1.0", "dependencies": [ + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-conversion", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-preprocessor", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-odeint/features.cmake b/ports/boost-odeint/features.cmake new file mode 100644 index 00000000000000..09274d672110b8 --- /dev/null +++ b/ports/boost-odeint/features.cmake @@ -0,0 +1,6 @@ +vcpkg_check_features( + OUT_FEATURE_OPTIONS + FEATURE_OPTIONS + FEATURES + "mpi" BOOST_ENABLE_MPI +) diff --git a/ports/boost-odeint/opt-mpi.diff b/ports/boost-odeint/opt-mpi.diff new file mode 100644 index 00000000000000..01b1cdbb94dbd7 --- /dev/null +++ b/ports/boost-odeint/opt-mpi.diff @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3692bea4a7..29ee7adb1c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -61,7 +61,7 @@ target_link_libraries(boost_numeric_odeint + if(BOOST_ENABLE_MPI) + target_link_libraries(boost_numeric_odeint + INTERFACE +- Boost::mpi ++ $ + ) + endif() + diff --git a/ports/boost-odeint/portfile.cmake b/ports/boost-odeint/portfile.cmake index 328c22de16ca95..0f2c829fc3a425 100644 --- a/ports/boost-odeint/portfile.cmake +++ b/ports/boost-odeint/portfile.cmake @@ -3,10 +3,16 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/odeint - REF boost-1.83.0 - SHA512 2c0bd72bfec74389fec86170ad0d739654be563d9fe3b2bd7297c5cf4ed9efbe94c4b15f277c83298f3cae21320574d1b7aa2ef158f6c4b342b153272360a353 + REF boost-${VERSION} + SHA512 7e15d0eb8566a35e2d9968c779750a9135d43d9a3523789d9c2ba977c4d1dac1afbc3c62fb2d1efc8ab60d4b58f0b6c07fa03719d62acee76a7376726ecf26c6 HEAD_REF master + PATCHES + opt-mpi.diff ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +include("${CMAKE_CURRENT_LIST_DIR}/features.cmake") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-odeint/vcpkg.json b/ports/boost-odeint/vcpkg.json index d7bf89e8625885..56d934f73131ba 100644 --- a/ports/boost-odeint/vcpkg.json +++ b/ports/boost-odeint/vcpkg.json @@ -1,94 +1,86 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-odeint", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost odeint module", - "homepage": "https://github.com/boostorg/odeint", + "homepage": "https://www.boost.org/libs/numeric/odeint", "license": "BSL-1.0", "dependencies": [ - { - "name": "boost-array", - "version>=": "1.83.0" - }, { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-bind", - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-compute", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-function", - "version>=": "1.83.0" + "name": "boost-fusion", + "version>=": "1.86.0" }, { - "name": "boost-fusion", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-iterator", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-math", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-multi-array", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-preprocessor", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-range", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-ublas", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-units", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-utility", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ], "features": { @@ -97,7 +89,7 @@ "dependencies": [ { "name": "boost-mpi", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-optional/portfile.cmake b/ports/boost-optional/portfile.cmake index b2f53be99375f6..6156892cf1972e 100644 --- a/ports/boost-optional/portfile.cmake +++ b/ports/boost-optional/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/optional - REF boost-1.83.0 - SHA512 ef677b2e590f39bc84cdc5e840452946c71341db73457116e65f5cd1f50f5a15d01426641ac4fb4a2db4a01c58b29c7c35115629392ba202a7811bc9c9ba709c + REF boost-${VERSION} + SHA512 1917bde44b4284c193e89de30f71681a71b414ed3aefebc07dec3df441a94f629fbc34a1175232604d99649979ef99dae0fc7072346eb601d5620775e2388184 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-optional/vcpkg.json b/ports/boost-optional/vcpkg.json index 46a541ed82174c..7d4e485d96d732 100644 --- a/ports/boost-optional/vcpkg.json +++ b/ports/boost-optional/vcpkg.json @@ -1,54 +1,58 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-optional", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost optional module", - "homepage": "https://github.com/boostorg/optional", + "homepage": "https://www.boost.org/libs/optional", "license": "BSL-1.0", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-detail", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-move", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-predef", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-utility", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-outcome/portfile.cmake b/ports/boost-outcome/portfile.cmake index 171873512127d5..bad3ea2f531b92 100644 --- a/ports/boost-outcome/portfile.cmake +++ b/ports/boost-outcome/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/outcome - REF boost-1.83.0 - SHA512 2347e1250908b96175627b1b2a16ef731cde9574c37ac7392632b21a03bbe46fba84ea107cae37782eb475597fcbb6a21bd7f9868311309c5d6dac90f0f4bfab + REF boost-${VERSION} + SHA512 4082967c4bff31898b2a1706ac3f069c6a44bad92a3470c8001d375956f1742cd33a4f96c2184c502c1a61edc2ad40bdaae188e5c65c286683ebf4100c584b1a HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-outcome/vcpkg.json b/ports/boost-outcome/vcpkg.json index ffc9bfce249ea4..4fa9911762e1ab 100644 --- a/ports/boost-outcome/vcpkg.json +++ b/ports/boost-outcome/vcpkg.json @@ -1,30 +1,38 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-outcome", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost outcome module", - "homepage": "https://github.com/boostorg/outcome", + "homepage": "https://www.boost.org/libs/outcome", "license": "BSL-1.0", "dependencies": [ + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-system", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { - "name": "boost-throw-exception", - "version>=": "1.83.0" + "name": "boost-system", + "version>=": "1.86.0" }, { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "name": "boost-throw-exception", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-parameter-python/portfile.cmake b/ports/boost-parameter-python/portfile.cmake index 01997d8e1b070e..5d591ebf0a6de2 100644 --- a/ports/boost-parameter-python/portfile.cmake +++ b/ports/boost-parameter-python/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/parameter_python - REF boost-1.83.0 - SHA512 c9c58b018439a6efb2eb4b0e2e23dbb9dd7ca73256006a3aaba2c761b6e72b75efb32efb38e71c45b8e0a1d390fb397d029436ccdb1e795ed6a6624058224868 + REF boost-${VERSION} + SHA512 64d32f11042db4d88f4c96e1f68c12cc9eee007398054ddd02c4b884247e2aa673ec69a3c51a7774e88d58c40758af63e2e523f46f0680bfd7ce3d5398cc3bb1 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-parameter-python/vcpkg.json b/ports/boost-parameter-python/vcpkg.json index 888d93de9bae0e..7ea447b5c8151a 100644 --- a/ports/boost-parameter-python/vcpkg.json +++ b/ports/boost-parameter-python/vcpkg.json @@ -1,32 +1,38 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-parameter-python", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost parameter_python module", - "homepage": "https://github.com/boostorg/parameter_python", + "homepage": "https://www.boost.org/libs/parameter_python", "license": "BSL-1.0", - "supports": "!emscripten", "dependencies": [ + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-parameter", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-preprocessor", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-python", - "platform": "!uwp & !emscripten & !ios & !android", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-parameter/portfile.cmake b/ports/boost-parameter/portfile.cmake index bd3f75dd75d4ee..1cd2e8e1ddbf73 100644 --- a/ports/boost-parameter/portfile.cmake +++ b/ports/boost-parameter/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/parameter - REF boost-1.83.0 - SHA512 ac3e541f0ebecbac9bd7154ceb1ada710c7802e6519e2648c8f7ee6ce35bc1b3852380e06a0381f1467b240a2bfb123f70d66f5f37637b99c3fd2311ae64661f + REF boost-${VERSION} + SHA512 42ca9ab48cd3f871104f9b435129ffe2e7a25c6dbb65102b4b9e3bd7ff2b5d5f69a2a876585607b6fc8199d4204839d7241eecfc5d2f9be6381c362f57124780 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-parameter/vcpkg.json b/ports/boost-parameter/vcpkg.json index e7a4b74ba9378f..6e69b6d40a6753 100644 --- a/ports/boost-parameter/vcpkg.json +++ b/ports/boost-parameter/vcpkg.json @@ -1,54 +1,58 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-parameter", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost parameter module", - "homepage": "https://github.com/boostorg/parameter", + "homepage": "https://www.boost.org/libs/parameter", "license": "BSL-1.0", "dependencies": [ + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-function", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-fusion", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-mp11", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-optional", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-preprocessor", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-utility", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-pfr/portfile.cmake b/ports/boost-pfr/portfile.cmake index 39013d2db86543..58eba81ba9d403 100644 --- a/ports/boost-pfr/portfile.cmake +++ b/ports/boost-pfr/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/pfr - REF boost-1.83.0 - SHA512 90a63e84ff9368ef48f9897eea69dab234666f6bbebfb411db97855ab415b7c4dd092fef6a4c80644eacfa370c10e334497e07263e0ea39245da33274d7e42f3 + REF boost-${VERSION} + SHA512 19e6c58ade33a01ca6686aa9d19d4725dec448ba8bdeced15f1e72b0a691092c8009b82b72d1ad7d632121b19953255d47446833b63943b1e964eaf3c487d61e HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-pfr/vcpkg.json b/ports/boost-pfr/vcpkg.json index 399193b038fc84..1d6dc402613c78 100644 --- a/ports/boost-pfr/vcpkg.json +++ b/ports/boost-pfr/vcpkg.json @@ -1,14 +1,22 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-pfr", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost pfr module", - "homepage": "https://github.com/boostorg/pfr", + "homepage": "https://www.boost.org/libs/pfr", "license": "BSL-1.0", "dependencies": [ { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-phoenix/fix-duplicate-symbols.patch b/ports/boost-phoenix/fix-duplicate-symbols.patch deleted file mode 100644 index fcfdba43f63732..00000000000000 --- a/ports/boost-phoenix/fix-duplicate-symbols.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/include/boost/phoenix/stl/tuple.hpp b/include/boost/phoenix/stl/tuple.hpp -index a83014a..9d49487 100644 ---- a/include/boost/phoenix/stl/tuple.hpp -+++ b/include/boost/phoenix/stl/tuple.hpp -@@ -110,7 +110,7 @@ namespace boost { namespace phoenix { - namespace placeholders { - #define BOOST_PP_LOCAL_LIMITS (1, BOOST_PHOENIX_ARG_LIMIT) - #define BOOST_PP_LOCAL_MACRO(N) \ -- auto uarg##N = \ -+ const auto uarg##N = \ - boost::phoenix::get_<(N)-1>(boost::phoenix::placeholders::arg1); - #include BOOST_PP_LOCAL_ITERATE() - } diff --git a/ports/boost-phoenix/portfile.cmake b/ports/boost-phoenix/portfile.cmake index d5420e115a3b96..1a8de268acbac3 100644 --- a/ports/boost-phoenix/portfile.cmake +++ b/ports/boost-phoenix/portfile.cmake @@ -3,11 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/phoenix - REF boost-1.83.0 - SHA512 3535e5ca3b5045eab728b7e3b66d5ebc30f55847ea424c09b6efa291a69f3588972f772ba0a67a990c9880f526cb91ebd4e4998be7406a4d786fc88d121d58d6 + REF boost-${VERSION} + SHA512 6d54655310d4ec03217bb8e88b28fa56bf8512a00223b602df072eaba3f35ead1f89aeb58e4084e955bb08f34497093707daf848678c324b857a51c6462eff80 HEAD_REF master - PATCHES fix-duplicate-symbols.patch ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-phoenix/vcpkg.json b/ports/boost-phoenix/vcpkg.json index d70710784eec20..0263473834680b 100644 --- a/ports/boost-phoenix/vcpkg.json +++ b/ports/boost-phoenix/vcpkg.json @@ -1,70 +1,74 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-phoenix", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost phoenix module", - "homepage": "https://github.com/boostorg/phoenix", + "homepage": "https://www.boost.org/libs/phoenix", "license": "BSL-1.0", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-bind", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-function", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-fusion", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-predef", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-preprocessor", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-proto", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-range", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-smart-ptr", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-utility", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-poly-collection/portfile.cmake b/ports/boost-poly-collection/portfile.cmake index e31430895b3b9e..52e6340f046694 100644 --- a/ports/boost-poly-collection/portfile.cmake +++ b/ports/boost-poly-collection/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/poly_collection - REF boost-1.83.0 - SHA512 03f5d17f5a77f9d05ad6a57f04e7987e5efd560e770025d5618c26c7078bd55630f463df51d6e150b45f415357ea6a79d6402a9922d1a986d2521e9d4ce8fe52 + REF boost-${VERSION} + SHA512 eee224078f2b9752156537f0e9672123b19426abd7f559cddc28d6cfbf44b5461b0e32c157cf207018a18ee91f9e03e6ebd83dd1389ce91ad416648dfae00682 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-poly-collection/vcpkg.json b/ports/boost-poly-collection/vcpkg.json index 02d4fde288403a..3d1fa4c056f191 100644 --- a/ports/boost-poly-collection/vcpkg.json +++ b/ports/boost-poly-collection/vcpkg.json @@ -1,46 +1,50 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-poly-collection", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost poly_collection module", - "homepage": "https://github.com/boostorg/poly_collection", + "homepage": "https://www.boost.org/libs/poly_collection", "license": "BSL-1.0", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-iterator", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-mp11", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-erasure", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-polygon/portfile.cmake b/ports/boost-polygon/portfile.cmake index 6b7a5874905b65..d622520ca37147 100644 --- a/ports/boost-polygon/portfile.cmake +++ b/ports/boost-polygon/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/polygon - REF boost-1.83.0 - SHA512 b18926f2580da0cf8f975fb86738822fe38784e432ce5f803bda298c21a4c67612607bc8336aece0ba2471f2c98a57ed5171841a239b0a5e04147cac967cf330 + REF boost-${VERSION} + SHA512 85b77ef37d4e370ec463129da539f4767e2a1fc957d8f4349d4d36ada77ec9ad440733a93e55a756fc20c9f23bcdc6cd4b1aea6b65881e112e3c69853881e561 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-polygon/vcpkg.json b/ports/boost-polygon/vcpkg.json index ec95560abe9373..e617e117ce9bb5 100644 --- a/ports/boost-polygon/vcpkg.json +++ b/ports/boost-polygon/vcpkg.json @@ -1,18 +1,22 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-polygon", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost polygon module", - "homepage": "https://github.com/boostorg/polygon", + "homepage": "https://www.boost.org/libs/polygon", "license": "BSL-1.0", "dependencies": [ + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-pool/portfile.cmake b/ports/boost-pool/portfile.cmake index ab3ace5af91d87..a2bcb1576d119c 100644 --- a/ports/boost-pool/portfile.cmake +++ b/ports/boost-pool/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/pool - REF boost-1.83.0 - SHA512 1f885d10f66d1292222fe77c1b0dc43612fe12d0f72f0daaa874dc2f807ee40083cce1d5f32ec6fdcaa9f71c48310b442efc215394282214c8b0407cd84841ea + REF boost-${VERSION} + SHA512 56b22505892f282b95e37d314d1d233f2f1649c725fdadfbd4f59ab7551164a88412a641625957fc4e3442e116616437667c768e6e0c7dec8fb94a2188ee1a28 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-pool/vcpkg.json b/ports/boost-pool/vcpkg.json index 0ffcff246fa745..6a91157c9b8b1a 100644 --- a/ports/boost-pool/vcpkg.json +++ b/ports/boost-pool/vcpkg.json @@ -1,38 +1,42 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-pool", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost pool module", - "homepage": "https://github.com/boostorg/pool", + "homepage": "https://www.boost.org/libs/pool", "license": "BSL-1.0", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-integer", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-winapi", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-predef/portfile.cmake b/ports/boost-predef/portfile.cmake index 03d3313546d754..8c19051edb8a10 100644 --- a/ports/boost-predef/portfile.cmake +++ b/ports/boost-predef/portfile.cmake @@ -3,12 +3,15 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/predef - REF boost-1.83.0 - SHA512 54926d14810b268f594848c0f5614728d78e742fc83648eaf8a941c68df7ffafe12f88f009b3af7e398f62c0b1bed273e1d717b2b3a4b8066a4556b35a479e38 + REF boost-${VERSION} + SHA512 b908034a88b91c1a35e2933207a09e06862994ee36f5c62d2e58842bbb4d2bcfe10069350bfb330276f6b4e1e0ff213a4f2f7b7f0ac54c12e022c6c397b32ef0 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) -file(COPY ${SOURCE_PATH}/tools/check DESTINATION ${CURRENT_PACKAGES_DIR}/share/boost-predef) +file(COPY "${SOURCE_PATH}/libs/predef/tools/check" DESTINATION "${CURRENT_PACKAGES_DIR}/share/boost-predef") diff --git a/ports/boost-predef/vcpkg.json b/ports/boost-predef/vcpkg.json index f7121daeeb962c..88067456841de6 100644 --- a/ports/boost-predef/vcpkg.json +++ b/ports/boost-predef/vcpkg.json @@ -1,14 +1,22 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-predef", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost predef module", - "homepage": "https://github.com/boostorg/predef", + "homepage": "https://www.boost.org/libs/predef", "license": "BSL-1.0", "dependencies": [ { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-preprocessor/portfile.cmake b/ports/boost-preprocessor/portfile.cmake index d1b828709b3d30..4058e534c17895 100644 --- a/ports/boost-preprocessor/portfile.cmake +++ b/ports/boost-preprocessor/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/preprocessor - REF boost-1.83.0 - SHA512 4ed20e49162029e46b59d49099b7b52f43ef09ebefd312b1ebadcbbd80ba2c2fa689f73c94285b47c9e46b4b80c4f21ff908f04e1885607a44d225b65002d694 + REF boost-${VERSION} + SHA512 f7b4c108c8276da8b441136af2e24dba67842e1461f4f1add56722680c2f8194f87e06610be09ad8c65145e5fd1f74430027fa606599d1b2d2824a0805cfcf01 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-preprocessor/vcpkg.json b/ports/boost-preprocessor/vcpkg.json index bdd8e551bb9e5c..c8cf262624337e 100644 --- a/ports/boost-preprocessor/vcpkg.json +++ b/ports/boost-preprocessor/vcpkg.json @@ -1,14 +1,22 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-preprocessor", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost preprocessor module", - "homepage": "https://github.com/boostorg/preprocessor", + "homepage": "https://www.boost.org/libs/preprocessor", "license": "BSL-1.0", "dependencies": [ { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-process/opt-filesystem.patch b/ports/boost-process/opt-filesystem.patch new file mode 100644 index 00000000000000..ef1fd011bcebe9 --- /dev/null +++ b/ports/boost-process/opt-filesystem.patch @@ -0,0 +1,25 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c0c1bfef94..3c879b8958 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -17,7 +17,7 @@ target_link_libraries(boost_process + Boost::asio + Boost::config + Boost::core +- Boost::filesystem ++ $ + Boost::fusion + Boost::iterator + Boost::move +@@ -50,6 +50,11 @@ target_compile_definitions(boost_process + PRIVATE BOOST_PROCESS_SOURCE=1 + ) + ++if(NOT TARGET Boost::filesystem) ++ set(BOOST_PROCESS_USE_STD_FS ON) ++ target_compile_features(boost_process PUBLIC cxx_std_17) ++endif() ++ + if (BOOST_PROCESS_USE_STD_FS) + target_compile_definitions(boost_process PUBLIC BOOST_PROCESS_USE_STD_FS=1 ) + else() diff --git a/ports/boost-process/portfile.cmake b/ports/boost-process/portfile.cmake index 422edc17bf68c9..1c2996c6237619 100644 --- a/ports/boost-process/portfile.cmake +++ b/ports/boost-process/portfile.cmake @@ -3,10 +3,16 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/process - REF boost-1.83.0 - SHA512 854e101dd1879f6a4a9033201a59297acef5beb0dbb2228b099b94ae4e5755b65a5052df45a9748b7c58f4c515cfc03ec2d80284c1a77baea78611c80c87e7cc + REF boost-${VERSION} + SHA512 a084c71effdd591b83a7fbff85bdea925da1436dc452267ceafd0f7bd875dcd9611cd28a92c06548e9130bb596703ea05932cd94063724cfecf6d861cceebe21 HEAD_REF master + PATCHES + opt-filesystem.patch + ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-process/vcpkg.json b/ports/boost-process/vcpkg.json index 13bbc5671604e8..b5e8a4fbf41e56 100644 --- a/ports/boost-process/vcpkg.json +++ b/ports/boost-process/vcpkg.json @@ -1,84 +1,92 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-process", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost process module", - "homepage": "https://github.com/boostorg/process", + "homepage": "https://www.boost.org/libs/process", "license": "BSL-1.0", - "supports": "!emscripten", + "supports": "!uwp & !emscripten & !android", "dependencies": [ { "name": "boost-algorithm", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-asio", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-filesystem", "platform": "!uwp", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-fusion", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-io", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-iterator", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-move", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-optional", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-system", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-tokenizer", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-index", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-utility", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-winapi", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-program-options/portfile.cmake b/ports/boost-program-options/portfile.cmake index 943558356cd1e6..925a08b29649f2 100644 --- a/ports/boost-program-options/portfile.cmake +++ b/ports/boost-program-options/portfile.cmake @@ -3,12 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/program_options - REF boost-1.83.0 - SHA512 246b8d4e23810e1ef34950d15b4c026b62175b2fb239c0e37c142e32040c960966a52c0dbf52c46a1f3237fd6f0fcbec3cc1c7cbceb53b6dd11bdbfb11c28480 + REF boost-${VERSION} + SHA512 bf0fe8d2dc75fd29bc61eb594a1871cc73412467c61dfbac6f1996793426b406c48c7c61d7eb0db5264c70028529fde1181bf3d591980acd5fb465c44bd92d85 HEAD_REF master ) -include(${CURRENT_HOST_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake) -boost_modular_build(SOURCE_PATH ${SOURCE_PATH}) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-program-options/vcpkg.json b/ports/boost-program-options/vcpkg.json index 7716527efd1ab0..c1c53eebce7ce3 100644 --- a/ports/boost-program-options/vcpkg.json +++ b/ports/boost-program-options/vcpkg.json @@ -1,80 +1,70 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-program-options", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost program_options module", - "homepage": "https://github.com/boostorg/program_options", + "homepage": "https://www.boost.org/libs/program_options", "license": "BSL-1.0", "dependencies": [ { "name": "boost-any", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-bind", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-build", - "host": true, - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-detail", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-function", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-iterator", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { - "name": "boost-lexical-cast", - "version>=": "1.83.0" + "name": "boost-iterator", + "version>=": "1.86.0" }, { - "name": "boost-modular-build-helper", - "host": true, - "version>=": "1.83.0" + "name": "boost-lexical-cast", + "version>=": "1.86.0" }, { "name": "boost-smart-ptr", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-tokenizer", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" - }, - { - "name": "vcpkg-cmake", - "host": true + "version>=": "1.86.0" } ] } diff --git a/ports/boost-property-map-parallel/portfile.cmake b/ports/boost-property-map-parallel/portfile.cmake index 0fa2b3b3ecc59a..3213bfe99f0499 100644 --- a/ports/boost-property-map-parallel/portfile.cmake +++ b/ports/boost-property-map-parallel/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/property_map_parallel - REF boost-1.83.0 - SHA512 2e4f2022be50985a77985c9b84e9e2a9a9f195bd899dda4082f9349dada99a90ff5646be08ce9c3af51668f83db3b45b84e548958a5811208a23b70eeeeefe8b + REF boost-${VERSION} + SHA512 000cfb346a7c150af595541cc4dcbabdfaa668dee2f2c05ff780ba5c290f4013de6fc354687a2f16197c68831746ab210a1af6d1218d53231ffd3135909b2bf0 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-property-map-parallel/vcpkg.json b/ports/boost-property-map-parallel/vcpkg.json index fd5c5f1fc40e4f..ac8a43aaa67b2a 100644 --- a/ports/boost-property-map-parallel/vcpkg.json +++ b/ports/boost-property-map-parallel/vcpkg.json @@ -1,67 +1,70 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-property-map-parallel", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost property_map_parallel module", - "homepage": "https://github.com/boostorg/property_map_parallel", + "homepage": "https://www.boost.org/libs/property_map_parallel", "license": "BSL-1.0", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-concept-check", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-function", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-mpi", - "platform": "!uwp", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-multi-index", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-optional", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-property-map", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-serialization", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-smart-ptr", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-property-map/portfile.cmake b/ports/boost-property-map/portfile.cmake index e3bb5a0b2ba0d0..7540c23b765e5b 100644 --- a/ports/boost-property-map/portfile.cmake +++ b/ports/boost-property-map/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/property_map - REF boost-1.83.0 - SHA512 0c5ca44843a55306b7ceb129d48eba71ba68514000a0dece471906f5244a89054b1ba543d5e0fa3d2af48117cc1b0e24972a9c8f80e972568b2063b14299ce08 + REF boost-${VERSION} + SHA512 d5d3c448695d5be850413a1c68fd91eaab94e2b0ad14f365f5fa96dc2d0e4cb9c13e6f4bfa9b14bdd9e4549b86e3205851e52c8c13f5c2c46ba6e495e12bb48e HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-property-map/vcpkg.json b/ports/boost-property-map/vcpkg.json index 11c2bb89cc9b0e..23a788283a0846 100644 --- a/ports/boost-property-map/vcpkg.json +++ b/ports/boost-property-map/vcpkg.json @@ -1,74 +1,78 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-property-map", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost property_map module", - "homepage": "https://github.com/boostorg/property_map", + "homepage": "https://www.boost.org/libs/property_map", "license": "BSL-1.0", "dependencies": [ { "name": "boost-any", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-concept-check", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-function", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-iterator", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-lexical-cast", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-smart-ptr", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-index", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-utility", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-property-tree/portfile.cmake b/ports/boost-property-tree/portfile.cmake index 898a976253df4f..5c25f9fa7876aa 100644 --- a/ports/boost-property-tree/portfile.cmake +++ b/ports/boost-property-tree/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/property_tree - REF boost-1.83.0 - SHA512 fbc2bbb30ccf72494424b7f5f20053b11be8978b3d205476588684f4c8f667fc844c9b8fa148b7363b54b10da85a67ce3299c04b77292dfeb5f78836a94b9985 + REF boost-${VERSION} + SHA512 5fc15952d51dd298adb8b3b9121bdae6eb7188aae0518ba3591dcd83ef0d73b57771f8b7ee9d939ff3a682d853feeb409b82d0d63f96bf7a720d6dde6be83399 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-property-tree/vcpkg.json b/ports/boost-property-tree/vcpkg.json index 7e94327e3c0461..9396137a0f4887 100644 --- a/ports/boost-property-tree/vcpkg.json +++ b/ports/boost-property-tree/vcpkg.json @@ -1,74 +1,74 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-property-tree", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost property_tree module", - "homepage": "https://github.com/boostorg/property_tree", + "homepage": "https://www.boost.org/libs/property_tree", "license": "BSL-1.0", "dependencies": [ { "name": "boost-any", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-bind", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-format", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-iterator", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-multi-index", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-optional", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-range", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-serialization", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-proto/portfile.cmake b/ports/boost-proto/portfile.cmake index 515f7f0f908923..0ea2396f336f70 100644 --- a/ports/boost-proto/portfile.cmake +++ b/ports/boost-proto/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/proto - REF boost-1.83.0 - SHA512 c67d4db66a5843a2fbe27f139d1f7a0f2d844ddbc46ac4c5780b9f6e85ab7c86113c3712de50f03ceb0f6b10ffb1d2522b397447a248d176cc48b2f4657b0483 + REF boost-${VERSION} + SHA512 4e89061602f4a2646eeb570e65adf588dab169461527aa60cb3c2328a227c81ec233311af431dd14ab0fe1f14d64486b0b10cbcb9ddfa156289a11661abfb117 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-proto/vcpkg.json b/ports/boost-proto/vcpkg.json index 793797e57ff946..19e909f5eed764 100644 --- a/ports/boost-proto/vcpkg.json +++ b/ports/boost-proto/vcpkg.json @@ -1,54 +1,58 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-proto", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost proto module", - "homepage": "https://github.com/boostorg/proto", + "homepage": "https://www.boost.org/libs/proto", "license": "BSL-1.0", "dependencies": [ + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-fusion", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-preprocessor", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-range", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-typeof", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-utility", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-ptr-container/portfile.cmake b/ports/boost-ptr-container/portfile.cmake index 839d5ba2a03320..36eda75f06df85 100644 --- a/ports/boost-ptr-container/portfile.cmake +++ b/ports/boost-ptr-container/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/ptr_container - REF boost-1.83.0 - SHA512 5e415290c01132dd62f01a49acfcc4a49c9348a77e7d0aa5dab7821d2e4019ec45a2bd3b0f112ade987583e368700bfa4ed0f79a4d4f68daabfae7c6f6b9acd1 + REF boost-${VERSION} + SHA512 fd45d221bc9dfb81822943c8bcfa02285f3054977bb07285c5754b8cef7c3db4ecb90e591410bc636e3474ae71ec2e232e5f2d3ea4a46caf14182633b1954213 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-ptr-container/vcpkg.json b/ports/boost-ptr-container/vcpkg.json index f7a389d030afca..a09092b2a1043c 100644 --- a/ports/boost-ptr-container/vcpkg.json +++ b/ports/boost-ptr-container/vcpkg.json @@ -1,66 +1,70 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-ptr-container", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost ptr_container module", - "homepage": "https://github.com/boostorg/ptr_container", + "homepage": "https://www.boost.org/libs/ptr_container", "license": "BSL-1.0", "dependencies": [ { "name": "boost-array", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-circular-buffer", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-iterator", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-range", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-smart-ptr", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-unordered", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-utility", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-python/portfile.cmake b/ports/boost-python/portfile.cmake index fe8de2b4e8f5ff..3e61d29d801025 100644 --- a/ports/boost-python/portfile.cmake +++ b/ports/boost-python/portfile.cmake @@ -3,12 +3,15 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/python - REF boost-1.83.0 - SHA512 ef0b597b8be2550d4fb89eced8cd678f170dba315ef78becc319ef848d69772a6da3b2439cfc799b1663fad15b8ba8e679f0781b43abe2f3685fa1091b60f927 + REF boost-${VERSION} + SHA512 8823bd211c2c505cc990ee7aeae6a064801538fba018dde80b6118b4434909029f2ffaa3b53cdbb6b51500adbd5314de37da01c6960afeebe57b15582cec322a HEAD_REF master + PATCHES + remove_undef.diff ) -include(${CURRENT_HOST_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake) -boost_modular_build(SOURCE_PATH ${SOURCE_PATH}) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-python/remove_undef.diff b/ports/boost-python/remove_undef.diff new file mode 100644 index 00000000000000..65e6b4e732aea9 --- /dev/null +++ b/ports/boost-python/remove_undef.diff @@ -0,0 +1,28 @@ +diff --git a/fabscript b/fabscript +index 8188779fd..6a136d82a 100644 +--- a/fabscript ++++ b/fabscript +@@ -28,7 +28,7 @@ class has_numpy(try_run): + src = r""" + // If defined, enforces linking against PythonXXd.lib, which + // is usually not included in Python environments. +-#undef _DEBUG ++ + #include "Python.h" + #define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION + #include "numpy/arrayobject.h" +diff --git a/include/boost/detail/wrap_python.hpp b/include/boost/detail/wrap_python.hpp +index 037e4bf2e..a690913f2 100644 +--- a/include/boost/python/detail/wrap_python.hpp ++++ b/include/boost/python/detail/wrap_python.hpp +@@ -42,8 +42,8 @@ + # include + # include + # endif +-# undef _DEBUG // Don't let Python force the debug library just because we're debugging. +-# define DEBUG_UNDEFINED_FROM_WRAP_PYTHON_H ++//# undef _DEBUG // Don't let Python force the debug library just because we're debugging. ++//# define DEBUG_UNDEFINED_FROM_WRAP_PYTHON_H + # endif + #endif + diff --git a/ports/boost-python/vcpkg.json b/ports/boost-python/vcpkg.json index e9e1eeda931d21..7d154509bee8d1 100644 --- a/ports/boost-python/vcpkg.json +++ b/ports/boost-python/vcpkg.json @@ -1,131 +1,104 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-python", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost python module", - "homepage": "https://github.com/boostorg/python", + "homepage": "https://www.boost.org/libs/python", "license": "BSL-1.0", "supports": "!uwp & !emscripten & !ios & !android", "dependencies": [ { "name": "boost-align", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-bind", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-build", - "host": true, - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-conversion", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-detail", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-foreach", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-function", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-graph", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-integer", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-iterator", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-lexical-cast", - "version>=": "1.83.0" - }, - { - "name": "boost-modular-build-helper", - "host": true, - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-numeric-conversion", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-preprocessor", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-property-map", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-smart-ptr", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-tuple", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-utility", - "version>=": "1.83.0" + "version>=": "1.86.0" }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" - }, - { - "name": "vcpkg-cmake", - "host": true - } - ], - "default-features": [ "python3" - ], - "features": { - "python2": { - "description": "Build with Python2 support", - "supports": "!(arm & windows)", - "dependencies": [ - "python2" - ] - }, - "python3": { - "description": "Build with Python3 support", - "dependencies": [ - "python3" - ] - } - } + ] } diff --git a/ports/boost-qvm/portfile.cmake b/ports/boost-qvm/portfile.cmake index 0b9efadfc729fc..5286f47efd848d 100644 --- a/ports/boost-qvm/portfile.cmake +++ b/ports/boost-qvm/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/qvm - REF boost-1.83.0 - SHA512 39098f1c98b219fe74bc75ed6af234476d88c8974a996f057e1cb3f6205c1cf2c4edc5f73d18f4d5ad059f57e91904508e8996fdd438fd39aa6d39467990e609 + REF boost-${VERSION} + SHA512 93dc58a5de6576523478856863daea225a26667463b4b0f188a78c82f11fe2610095600f70491877e866f7eb1bf76616fbb339f951f9342e6edbe143ef57cb1c HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-qvm/vcpkg.json b/ports/boost-qvm/vcpkg.json index 984798430d755c..5849b7372aa723 100644 --- a/ports/boost-qvm/vcpkg.json +++ b/ports/boost-qvm/vcpkg.json @@ -1,14 +1,22 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-qvm", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost qvm module", - "homepage": "https://github.com/boostorg/qvm", + "homepage": "https://www.boost.org/libs/qvm", "license": "BSL-1.0", "dependencies": [ { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-random/portfile.cmake b/ports/boost-random/portfile.cmake index 0a08f958609ef6..dc7545a5c97b24 100644 --- a/ports/boost-random/portfile.cmake +++ b/ports/boost-random/portfile.cmake @@ -3,12 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/random - REF boost-1.83.0 - SHA512 17dba6187364a93e8984cc0e75fcfb5a0f6c6acab80bf7abcf93c58e55f81a0a3eeaa9b24dea158a72b32ef01aa3001f9db2f358ca27720b2598549d8aa38f3c + REF boost-${VERSION} + SHA512 eb436d7cec4ff70b4532dc63b8d2f32ab1bc21a8734072dde91424b8beaf76a72c172c00ddea821882509ddd63385a260ea412064a74542cbe537b3e66ef0d89 HEAD_REF master ) -include(${CURRENT_HOST_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake) -boost_modular_build(SOURCE_PATH ${SOURCE_PATH}) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-random/vcpkg.json b/ports/boost-random/vcpkg.json index c7c24d49e166d9..b7b39818b1b8ec 100644 --- a/ports/boost-random/vcpkg.json +++ b/ports/boost-random/vcpkg.json @@ -1,81 +1,71 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-random", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost random module", - "homepage": "https://github.com/boostorg/random", + "homepage": "https://www.boost.org/libs/random", "license": "BSL-1.0", "supports": "!uwp", "dependencies": [ { "name": "boost-array", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-build", - "host": true, - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-dynamic-bitset", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-integer", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { - "name": "boost-io", - "version>=": "1.83.0" + "name": "boost-integer", + "version>=": "1.86.0" }, { - "name": "boost-modular-build-helper", - "host": true, - "version>=": "1.83.0" + "name": "boost-io", + "version>=": "1.86.0" }, { "name": "boost-range", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-system", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-utility", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" - }, - { - "name": "vcpkg-cmake", - "host": true + "version>=": "1.86.0" } ] } diff --git a/ports/boost-range/portfile.cmake b/ports/boost-range/portfile.cmake index 33b86ef347acf9..0b1fa980836d6c 100644 --- a/ports/boost-range/portfile.cmake +++ b/ports/boost-range/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/range - REF boost-1.83.0 - SHA512 a1fb0f51c0494e7c018b8b792ab3ae30a08eeb0a6f1eb36dbbce9955f5d83a3ae7f0e630ccb6167ebc4693e42ce3e1d35fcad40dd60b3328918a0d52709523a2 + REF boost-${VERSION} + SHA512 1da5bf0546ac612afe9dac522a8207ff27d2714144790729791d9b2b3151691d9f23fdea9a6a16517cf8de88e7717f1b8916c953d0c81fc4444ba2c399bea9d6 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-range/vcpkg.json b/ports/boost-range/vcpkg.json index b92f7fd46cee60..384054fd57e371 100644 --- a/ports/boost-range/vcpkg.json +++ b/ports/boost-range/vcpkg.json @@ -1,82 +1,86 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-range", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost range module", - "homepage": "https://github.com/boostorg/range", + "homepage": "https://www.boost.org/libs/range", "license": "BSL-1.0", "dependencies": [ { "name": "boost-array", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-concept-check", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-container-hash", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-conversion", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-detail", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-iterator", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-optional", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-preprocessor", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-regex", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-tuple", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-utility", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-ratio/portfile.cmake b/ports/boost-ratio/portfile.cmake index 89fc465b4ac2c7..1a9c95767b23a1 100644 --- a/ports/boost-ratio/portfile.cmake +++ b/ports/boost-ratio/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/ratio - REF boost-1.83.0 - SHA512 783735e52aff3751130051181c0305001ea921ffb3146f0a7198d77da0f1adab277739ad4294489702404aaf8f199340155fe366aec3c54af92345984a6d6871 + REF boost-${VERSION} + SHA512 5d355b1cfafc4a4548c049a7cb90faef9a3942934f798444ccdf322d720c62af1b257992f8e80ce3b48cefbbe3cdfd21b984fc4b5c3ed8cfcbc0222b1c9f2f34 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-ratio/vcpkg.json b/ports/boost-ratio/vcpkg.json index 5e7b16ea266fc5..2c252d1a2bd947 100644 --- a/ports/boost-ratio/vcpkg.json +++ b/ports/boost-ratio/vcpkg.json @@ -1,42 +1,22 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-ratio", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost ratio module", - "homepage": "https://github.com/boostorg/ratio", + "homepage": "https://www.boost.org/libs/ratio", "license": "BSL-1.0", "dependencies": [ { - "name": "boost-config", - "version>=": "1.83.0" - }, - { - "name": "boost-core", - "version>=": "1.83.0" - }, - { - "name": "boost-integer", - "version>=": "1.83.0" - }, - { - "name": "boost-mpl", - "version>=": "1.83.0" - }, - { - "name": "boost-rational", - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" }, { - "name": "boost-static-assert", - "version>=": "1.83.0" - }, - { - "name": "boost-type-traits", - "version>=": "1.83.0" + "name": "boost-config", + "version>=": "1.86.0" }, { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-rational/portfile.cmake b/ports/boost-rational/portfile.cmake index 639930104d9ea1..916d3072b0212a 100644 --- a/ports/boost-rational/portfile.cmake +++ b/ports/boost-rational/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/rational - REF boost-1.83.0 - SHA512 fda1c106b3d2b87752892abb0ca096aaae709dc846e9776c8f22cc1b9ef738dc4ae568abb19cd973e15dfb4bbbac113c4de0735841575d525f9c33787c80838e + REF boost-${VERSION} + SHA512 720b7fb736135c0f3d5ca237ad72d64b36394bccaff68ef0038f7f65f3da8d6914fafd4ed645e3a85b16702d65075f5130d18905ad10c390dabedeab4e6bfda3 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-rational/vcpkg.json b/ports/boost-rational/vcpkg.json index 0364d5d51bb9ae..6c8755fbbdb771 100644 --- a/ports/boost-rational/vcpkg.json +++ b/ports/boost-rational/vcpkg.json @@ -1,46 +1,50 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-rational", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost rational module", - "homepage": "https://github.com/boostorg/rational", + "homepage": "https://www.boost.org/libs/rational", "license": "BSL-1.0", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-integer", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-utility", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-redis/portfile.cmake b/ports/boost-redis/portfile.cmake new file mode 100644 index 00000000000000..f25d546ed38812 --- /dev/null +++ b/ports/boost-redis/portfile.cmake @@ -0,0 +1,15 @@ +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/redis + REF boost-${VERSION} + SHA512 918ad6b11a787125d344fad9b62d83e4ab7a4ba098e37be854345befb4e48bcd3b56fc6c2797fc454e3ca2ac1d26b1a5f958720e81e0bd71d1a0b308cdb215bc + HEAD_REF master +) + +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-redis/vcpkg.json b/ports/boost-redis/vcpkg.json new file mode 100644 index 00000000000000..98137e683568cb --- /dev/null +++ b/ports/boost-redis/vcpkg.json @@ -0,0 +1,46 @@ +{ + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", + "name": "boost-redis", + "version": "1.86.0", + "description": "Boost redis module", + "homepage": "https://www.boost.org/libs/redis", + "license": "BSL-1.0", + "dependencies": [ + { + "name": "boost-asio", + "version>=": "1.86.0" + }, + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-core", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-mp11", + "version>=": "1.86.0" + }, + { + "name": "boost-system", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + } + ] +} diff --git a/ports/boost-regex/b2-options.cmake b/ports/boost-regex/b2-options.cmake deleted file mode 100644 index 70597a0daadcb5..00000000000000 --- a/ports/boost-regex/b2-options.cmake +++ /dev/null @@ -1,8 +0,0 @@ -if("icu" IN_LIST FEATURES) - set(B2_REQUIREMENTS "/user-config//icuuc /user-config//icudt /user-config//icuin BOOST_HAS_ICU=1") - if(APPLE) - list(APPEND B2_OPTIONS cxxstd=11) - endif() -else() - list(APPEND B2_OPTIONS --disable-icu) -endif() diff --git a/ports/boost-regex/compat.diff b/ports/boost-regex/compat.diff new file mode 100644 index 00000000000000..cff8669e9372b1 --- /dev/null +++ b/ports/boost-regex/compat.diff @@ -0,0 +1,45 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ccd422301..0959c5ab1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -8,17 +8,25 @@ cmake_minimum_required(VERSION 3.5...3.16) + + project(boost_regex VERSION "${BOOST_SUPERPROJECT_VERSION}" LANGUAGES CXX) + +-add_library(boost_regex INTERFACE) ++set(regex_compat_sources ++ "src/posix_api.cpp" ++ "src/wide_posix_api.cpp" ++ "src/regex.cpp" ++ "src/regex_debug.cpp" ++ "src/static_mutex.cpp" ++) ++ ++add_library(boost_regex "${regex_compat_sources}") + add_library(Boost::regex ALIAS boost_regex) + +-target_include_directories(boost_regex INTERFACE include) ++target_include_directories(boost_regex PUBLIC include) + + option(BOOST_REGEX_STANDALONE "Boost.Regex: Enable Standalone Mode (i.e. no Boost dependencies)") + + if(NOT BOOST_REGEX_STANDALONE) + + target_link_libraries(boost_regex +- INTERFACE ++ PUBLIC + Boost::config + Boost::throw_exception + Boost::predef +@@ -34,9 +42,9 @@ else() + endif() + + find_package(ICU COMPONENTS data i18n uc QUIET) +-#option(BOOST_REGEX_ENABLE_ICU "Boost.Regex: enable ICU support" ${ICU_FOUND}) ++option(BOOST_REGEX_ENABLE_ICU "Boost.Regex: enable ICU support" ${ICU_FOUND}) + +-if(ICU_FOUND) ++if(BOOST_REGEX_ENABLE_ICU) + + add_library(boost_regex_icu INTERFACE) + add_library(Boost::regex_icu ALIAS boost_regex_icu) diff --git a/ports/boost-regex/features.cmake b/ports/boost-regex/features.cmake new file mode 100644 index 00000000000000..d89a6bca0d1d1f --- /dev/null +++ b/ports/boost-regex/features.cmake @@ -0,0 +1,6 @@ +vcpkg_check_features( + OUT_FEATURE_OPTIONS + FEATURE_OPTIONS + FEATURES + "icu" BOOST_REGEX_ENABLE_ICU +) \ No newline at end of file diff --git a/ports/boost-regex/portfile.cmake b/ports/boost-regex/portfile.cmake index 9244746cf4d000..4e2c7c1de211dc 100644 --- a/ports/boost-regex/portfile.cmake +++ b/ports/boost-regex/portfile.cmake @@ -3,15 +3,16 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/regex - REF boost-1.83.0 - SHA512 9d5513a9aacbf18a221213eb560be69825c37949c9869b9b06c520694a62d0f2adb490703bcbe95d1976805eb16eb3bfb7eeacfe659e28c5dfbab782904772e3 + REF boost-${VERSION} + SHA512 4c52620fd8f754e8053b5c70cab7a274e311751356c90546f7f54d2700d744638ffc0db0e974ae80ef15efc4564ce8c81a98c02604f8e6ed0a7cc9b94e0d8aae HEAD_REF master + PATCHES + compat.diff ) -include(${CURRENT_HOST_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake) -boost_modular_build( - SOURCE_PATH ${SOURCE_PATH} - BOOST_CMAKE_FRAGMENT "${CMAKE_CURRENT_LIST_DIR}/b2-options.cmake" +set(FEATURE_OPTIONS "") +include("${CMAKE_CURRENT_LIST_DIR}/features.cmake") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) diff --git a/ports/boost-regex/vcpkg.json b/ports/boost-regex/vcpkg.json index 7ddfe760bbf1fa..62998145509d9d 100644 --- a/ports/boost-regex/vcpkg.json +++ b/ports/boost-regex/vcpkg.json @@ -1,76 +1,66 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-regex", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost regex module", - "homepage": "https://github.com/boostorg/regex", + "homepage": "https://www.boost.org/libs/regex", "license": "BSL-1.0", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-build", - "host": true, - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-concept-check", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-container-hash", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-integer", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { - "name": "boost-modular-build-helper", - "host": true, - "version>=": "1.83.0" + "name": "boost-integer", + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-predef", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-smart-ptr", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" - }, - { - "name": "vcpkg-cmake", - "host": true + "version>=": "1.86.0" } ], "features": { diff --git a/ports/boost-safe-numerics/portfile.cmake b/ports/boost-safe-numerics/portfile.cmake index a4e0a14eb892e9..a4692abde38b9d 100644 --- a/ports/boost-safe-numerics/portfile.cmake +++ b/ports/boost-safe-numerics/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/safe_numerics - REF boost-1.83.0 - SHA512 b9b62491b64a320a57edd3306db7936f0a6a383c17111a72db29aa284ff8955cf00094eff0a315d236cf2c32d4f6a50b4ecf83d3a74f957853002ec676a8ccf9 + REF boost-${VERSION} + SHA512 b9fda40e3012af0431ca29982aba36caf6303e6a80f5738454f6c704f8c8f2e3c826f4f9338da826f61bf81aa0cd26dbf9155105ec4ecfac6c61e0e8506622e9 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-safe-numerics/vcpkg.json b/ports/boost-safe-numerics/vcpkg.json index 1f01a917f1286a..e3134f4b25632f 100644 --- a/ports/boost-safe-numerics/vcpkg.json +++ b/ports/boost-safe-numerics/vcpkg.json @@ -1,38 +1,42 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-safe-numerics", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost safe_numerics module", - "homepage": "https://github.com/boostorg/safe_numerics", + "homepage": "https://www.boost.org/libs/safe_numerics", "license": "BSL-1.0", "dependencies": [ + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, { "name": "boost-concept-check", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-integer", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-logic", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-mp11", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-scope-exit/portfile.cmake b/ports/boost-scope-exit/portfile.cmake index a74de479963418..5885523ffb6260 100644 --- a/ports/boost-scope-exit/portfile.cmake +++ b/ports/boost-scope-exit/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/scope_exit - REF boost-1.83.0 - SHA512 b93b5e38477e23d6abe6666bff037ce6feecbe4f16a1326f93faba042287838871d79c8d4cc6679c682eb9b4dc3eac04ee44a47db573eb2d6d25cbf1cbbe3dac + REF boost-${VERSION} + SHA512 28dbee1fe9f828c2ed31b1284959ef26fb54702823c0a680b1c4058bda829c7afdd77ce5df82f148ee43b4d924c60ba3067a44df1444063f68d3ca7c36e7b4fa HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-scope-exit/vcpkg.json b/ports/boost-scope-exit/vcpkg.json index 8001edbd1e3bd0..e964c0c594454f 100644 --- a/ports/boost-scope-exit/vcpkg.json +++ b/ports/boost-scope-exit/vcpkg.json @@ -1,34 +1,38 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-scope-exit", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost scope_exit module", - "homepage": "https://github.com/boostorg/scope_exit", + "homepage": "https://www.boost.org/libs/scope_exit", "license": "BSL-1.0", "dependencies": [ + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-function", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-preprocessor", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-typeof", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-scope/portfile.cmake b/ports/boost-scope/portfile.cmake new file mode 100644 index 00000000000000..d0eb2931c52fb7 --- /dev/null +++ b/ports/boost-scope/portfile.cmake @@ -0,0 +1,15 @@ +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/scope + REF boost-${VERSION} + SHA512 5f16d7f457197bd6d5c0a259ff5fda9508f18fa4acfbe9b619cac1741b346f51e3e21e086f1f97ca2996d1cc5d700f4995b4c785e12a69bf883ba31920ecd20c + HEAD_REF master +) + +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-scope/vcpkg.json b/ports/boost-scope/vcpkg.json new file mode 100644 index 00000000000000..2cfade76c485ad --- /dev/null +++ b/ports/boost-scope/vcpkg.json @@ -0,0 +1,34 @@ +{ + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", + "name": "boost-scope", + "version": "1.86.0", + "description": "Boost scope module", + "homepage": "https://www.boost.org/libs/scope", + "license": "BSL-1.0", + "dependencies": [ + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-core", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + } + ] +} diff --git a/ports/boost-serialization/portfile.cmake b/ports/boost-serialization/portfile.cmake index f95cfd3d6b26ef..b85372f5dbc6df 100644 --- a/ports/boost-serialization/portfile.cmake +++ b/ports/boost-serialization/portfile.cmake @@ -3,12 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/serialization - REF boost-1.83.0 - SHA512 d4d69c383ce486e829e02c95ea714faa776444d457e8ac4cc6e1595853f741a4bbbee35a13d0e625e05854b0799c504472a3912d529ebd3da02c0b6f0adf95a9 + REF boost-${VERSION} + SHA512 c2743ce8a74321aca1637dcf80bc1e43f842a8ca652a3474cdb015efbe1d0e60204d658ce3437939f1756ab312fbefd8c8b1b00f50726cc10b1369d61c97f529 HEAD_REF master ) -include(${CURRENT_HOST_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake) -boost_modular_build(SOURCE_PATH ${SOURCE_PATH}) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-serialization/vcpkg.json b/ports/boost-serialization/vcpkg.json index cf75de8a80bd50..30ea8b3225f15a 100644 --- a/ports/boost-serialization/vcpkg.json +++ b/ports/boost-serialization/vcpkg.json @@ -1,112 +1,110 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-serialization", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost serialization module", - "homepage": "https://github.com/boostorg/serialization", + "homepage": "https://www.boost.org/libs/serialization", "license": "BSL-1.0", "dependencies": [ { "name": "boost-array", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-build", - "host": true, - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-detail", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-function", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-integer", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-io", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-iterator", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-modular-build-helper", - "host": true, - "version>=": "1.83.0" + "name": "boost-move", + "version>=": "1.86.0" }, { - "name": "boost-move", - "version>=": "1.83.0" + "name": "boost-mp11", + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-optional", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-predef", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-preprocessor", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-smart-ptr", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-spirit", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-type-traits", - "version>=": "1.83.0" + "name": "boost-throw-exception", + "version>=": "1.86.0" }, { - "name": "boost-unordered", - "version>=": "1.83.0" + "name": "boost-type-traits", + "version>=": "1.86.0" }, { "name": "boost-utility", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-variant", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "vcpkg-cmake", - "host": true + "name": "boost-variant2", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-signals2/portfile.cmake b/ports/boost-signals2/portfile.cmake index a85153ff6b2645..60d34cd8cb87d9 100644 --- a/ports/boost-signals2/portfile.cmake +++ b/ports/boost-signals2/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/signals2 - REF boost-1.83.0 - SHA512 6a9186d956c41527add674d81a345a9f55416ddd5b9c35123ca0e5e38e55e40a5ad4c7f5c999b11781696d2255761b6c46ab6c1790bc62a1966dba4bb5b3ddf5 + REF boost-${VERSION} + SHA512 ad1e6ec601aaea4f9129f6c9e86f4438bc57e0e0b1de3acb69205a9f686095d610ab536a2a68bbd6e1a0412aec6db9b57156a32742903e7f381203422218201c HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-signals2/vcpkg.json b/ports/boost-signals2/vcpkg.json index c42545c123ee0a..f03478d75058d0 100644 --- a/ports/boost-signals2/vcpkg.json +++ b/ports/boost-signals2/vcpkg.json @@ -1,74 +1,82 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-signals2", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost signals2 module", - "homepage": "https://github.com/boostorg/signals2", + "homepage": "https://www.boost.org/libs/signals2", "license": "BSL-1.0", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-bind", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-function", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-iterator", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-move", + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-optional", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-parameter", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-preprocessor", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-smart-ptr", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-tuple", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-variant", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-smart-ptr/portfile.cmake b/ports/boost-smart-ptr/portfile.cmake index f909766ae1bc95..e30568bd6c9560 100644 --- a/ports/boost-smart-ptr/portfile.cmake +++ b/ports/boost-smart-ptr/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/smart_ptr - REF boost-1.83.0 - SHA512 301b0928a6bc42ec694151820b8caa6b3d8f7055995f103781848fcea282be4889c6e285f4f228e2bb60a49d7bd291aa00315aa156f3d6a6d557299b3eb5d7a6 + REF boost-${VERSION} + SHA512 5b56c43298cdf3dd636e68276954075a3bae9a1fd5736039b779935f106a252ea9e979e12362b89903375ad1de0078c9fa5c81779ffb91d8453e4e02d711e17e HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-smart-ptr/vcpkg.json b/ports/boost-smart-ptr/vcpkg.json index 2ee1ddbf2a3ce9..8e8c1c28abcf13 100644 --- a/ports/boost-smart-ptr/vcpkg.json +++ b/ports/boost-smart-ptr/vcpkg.json @@ -1,42 +1,46 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-smart-ptr", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost smart_ptr module", - "homepage": "https://github.com/boostorg/smart_ptr", + "homepage": "https://www.boost.org/libs/smart_ptr", "license": "BSL-1.0", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-move", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-sort/portfile.cmake b/ports/boost-sort/portfile.cmake index e86352c59f1641..52f332d6e3c4e2 100644 --- a/ports/boost-sort/portfile.cmake +++ b/ports/boost-sort/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/sort - REF boost-1.83.0 - SHA512 b1509b0e207b1afd38110b7abe0553244a6adddaf3bcb7fddc36fb6666eb4caeae53449380d060e2b967455a86cb4eedc5d434f5691e814b4810c7e79a5b5fb4 + REF boost-${VERSION} + SHA512 6c6257bc3c7fc12cbef19e0a96390683d6f8a1cd293beafe86ad9b1d425bb58d00a5788bb45bf7b666ab8259f5934db9c07dd862662ec89f16c170f75c75bc1e HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-sort/vcpkg.json b/ports/boost-sort/vcpkg.json index 2a67ff632c06d3..de5c864287231e 100644 --- a/ports/boost-sort/vcpkg.json +++ b/ports/boost-sort/vcpkg.json @@ -1,34 +1,38 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-sort", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost sort module", - "homepage": "https://github.com/boostorg/sort", + "homepage": "https://www.boost.org/libs/sort", "license": "BSL-1.0", "dependencies": [ + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-range", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-spirit/portfile.cmake b/ports/boost-spirit/portfile.cmake index f8c5ac3ba49222..3591773aaafa45 100644 --- a/ports/boost-spirit/portfile.cmake +++ b/ports/boost-spirit/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/spirit - REF boost-1.83.0 - SHA512 965bc3a4e9306766d3bf0c5315460bcdaf6c0699277694b52f0f58070c26b754e07143ae019f71a6c388ed1c8bad1f43b643d66e4a8e88805bd3cee77e56dd69 + REF boost-${VERSION} + SHA512 a1be8a441b62cad7bc96ecd86830b789495f7b8fa74507d3fc0c41dac3c04309f8480c7ca9d56bcf7cb3e9ad42342f05ab9e5a644d96ff7d397e87ac4d900d72 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-spirit/vcpkg.json b/ports/boost-spirit/vcpkg.json index 3e324eab397788..7c00cf4671ca0a 100644 --- a/ports/boost-spirit/vcpkg.json +++ b/ports/boost-spirit/vcpkg.json @@ -1,130 +1,134 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-spirit", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost spirit module", - "homepage": "https://github.com/boostorg/spirit", + "homepage": "https://www.boost.org/libs/spirit", "license": "BSL-1.0", "dependencies": [ { "name": "boost-array", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-endian", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-function", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-function-types", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-fusion", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-integer", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-io", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-iterator", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-move", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-optional", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-phoenix", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-pool", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-preprocessor", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-proto", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-range", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-regex", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-smart-ptr", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-thread", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-typeof", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-unordered", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-utility", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-variant", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-stacktrace/features.cmake b/ports/boost-stacktrace/features.cmake new file mode 100644 index 00000000000000..3147a326df26d9 --- /dev/null +++ b/ports/boost-stacktrace/features.cmake @@ -0,0 +1,31 @@ + # BOOST_STACKTRACE_ENABLE_NOOP + + # When ON, builds the boost_stacktrace_noop library variant. Defaults to ON. + + # BOOST_STACKTRACE_ENABLE_BACKTRACE + + # When ON, builds the boost_stacktrace_backtrace library variant. Defaults to ON when libbacktrace is found, OFF otherwise. + + # BOOST_STACKTRACE_ENABLE_ADDR2LINE + + # When ON, builds the boost_stacktrace_addr2line library variant. Defaults to ON, except on Windows. + + # BOOST_STACKTRACE_ENABLE_BASIC + + # When ON, builds the boost_stacktrace_basic library variant. Defaults to ON. + + # BOOST_STACKTRACE_ENABLE_WINDBG + + # When ON, builds the boost_stacktrace_windbg library variant. Defaults to ON under Windows when WinDbg support is autodetected, otherwise OFF. + + # BOOST_STACKTRACE_ENABLE_WINDBG_CACHED + + # When ON, builds the boost_stacktrace_windbg_cached library variant. Defaults to ON under Windows when WinDbg support is autodetected and when thread_local is supported, otherwise OFF. + +vcpkg_check_features( + OUT_FEATURE_OPTIONS + FEATURE_OPTIONS + FEATURES + "backtrace" BOOST_STACKTRACE_ENABLE_BACKTRACE + "windbg" BOOST_STACKTRACE_ENABLE_WINDBG +) diff --git a/ports/boost-stacktrace/fix_config-check.diff b/ports/boost-stacktrace/fix_config-check.diff new file mode 100644 index 00000000000000..63f80936f6c36e --- /dev/null +++ b/ports/boost-stacktrace/fix_config-check.diff @@ -0,0 +1,36 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1cb895570d..4638618d56 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -52,7 +52,7 @@ include(CheckCXXSourceCompiles) + + function(stacktrace_check var source incs libs defs) + +- set(CMAKE_REQUIRED_INCLUDES "${incs}") ++ set(CMAKE_REQUIRED_INCLUDES "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include") + list(APPEND CMAKE_REQUIRED_INCLUDES "${CMAKE_CURRENT_SOURCE_DIR}/build") + set(CMAKE_REQUIRED_LIBRARIES "${libs}") + set(CMAKE_REQUIRED_DEFINITIONS "${defs}") +@@ -69,7 +69,7 @@ if(WIN32 AND NOT CMAKE_CXX_PLATFORM_ID MATCHES "Cygwin") + endif() + + stacktrace_check(BOOST_STACKTRACE_HAS_WINDBG has_windbg.cpp "" "dbgeng;ole32" "") +-stacktrace_check(BOOST_STACKTRACE_HAS_WINDBG_CACHED has_windbg_cached.cpp "${CMAKE_CURRENT_SOURCE_DIR}/../config/include" "dbgeng;ole32" "") ++stacktrace_check(BOOST_STACKTRACE_HAS_WINDBG_CACHED has_windbg_cached.cpp "" "dbgeng;ole32" "") + + option(BOOST_STACKTRACE_ENABLE_NOOP "Boost.Stacktrace: build boost_stacktrace_noop" ON) + option(BOOST_STACKTRACE_ENABLE_BACKTRACE "Boost.Stacktrace: build boost_stacktrace_backtrace" ${BOOST_STACKTRACE_HAS_BACKTRACE}) +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -90,7 +90,10 @@ message(STATUS "Boost.Stacktrace: " + ) + + stacktrace_add_library(noop ${BOOST_STACKTRACE_ENABLE_NOOP} "" "") +-stacktrace_add_library(backtrace ${BOOST_STACKTRACE_ENABLE_BACKTRACE} "backtrace;${CMAKE_DL_LIBS}" "") ++if(BOOST_STACKTRACE_ENABLE_BACKTRACE) ++ find_library(BACKTRACE_LIBRARY_PATH NAMES backtrace REQUIRED) ++ stacktrace_add_library(backtrace ${BOOST_STACKTRACE_ENABLE_BACKTRACE} "${BACKTRACE_LIBRARY_PATH};${CMAKE_DL_LIBS}" "") ++endif() + stacktrace_add_library(addr2line ${BOOST_STACKTRACE_ENABLE_ADDR2LINE} "${CMAKE_DL_LIBS}" "") + stacktrace_add_library(basic ${BOOST_STACKTRACE_ENABLE_BASIC} "${CMAKE_DL_LIBS}" "") + stacktrace_add_library(windbg ${BOOST_STACKTRACE_ENABLE_WINDBG} "dbgeng;ole32" "_GNU_SOURCE=1") diff --git a/ports/boost-stacktrace/portfile.cmake b/ports/boost-stacktrace/portfile.cmake index ce111df15ef0c7..0c14baeaa38ca8 100644 --- a/ports/boost-stacktrace/portfile.cmake +++ b/ports/boost-stacktrace/portfile.cmake @@ -3,12 +3,16 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/stacktrace - REF boost-1.83.0 - SHA512 abc42a9e9cb4d45976db946c200d4f0c140b091724cde42c00a1ad26198292068bfa180c472253d637b0434eda43058b67a5d98f2cd4adadada9d75f2c1d8203 + REF boost-${VERSION} + SHA512 643338eaafb956dc184c33889fd038602df0fe626e01b7135cf34cb5d716dabaf94511f78f2eafbc27c05d8881b4e0a230cb86e916a9d3705c7b02a5ad42b22d HEAD_REF master + PATCHES + fix_config-check.diff ) -include(${CURRENT_HOST_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake) -boost_modular_build(SOURCE_PATH ${SOURCE_PATH}) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +include("${CMAKE_CURRENT_LIST_DIR}/features.cmake") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-stacktrace/vcpkg.json b/ports/boost-stacktrace/vcpkg.json index aa1a8ce21d8d97..b1b468d4b59b09 100644 --- a/ports/boost-stacktrace/vcpkg.json +++ b/ports/boost-stacktrace/vcpkg.json @@ -1,61 +1,69 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-stacktrace", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost stacktrace module", - "homepage": "https://github.com/boostorg/stacktrace", + "homepage": "https://www.boost.org/libs/stacktrace", "license": "BSL-1.0", "supports": "!uwp", "dependencies": [ { - "name": "boost-array", - "version>=": "1.83.0" + "name": "boost-assert", + "version>=": "1.86.0" }, { - "name": "boost-build", - "host": true, - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-container-hash", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-modular-build-helper", - "host": true, - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-predef", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-static-assert", - "version>=": "1.83.0" - }, - { - "name": "boost-type-traits", - "version>=": "1.83.0" - }, + "name": "boost-winapi", + "version>=": "1.86.0" + } + ], + "default-features": [ { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "name": "backtrace", + "platform": "!windows" }, { - "name": "boost-winapi", - "version>=": "1.83.0" + "name": "windbg", + "platform": "windows" + } + ], + "features": { + "backtrace": { + "description": "Use boost_stacktrace_backtrace", + "supports": "!windows", + "dependencies": [ + { + "name": "libbacktrace", + "platform": "!windows" + } + ] }, - { - "name": "vcpkg-cmake", - "host": true + "windbg": { + "description": "Use boost_stacktrace_windbg", + "supports": "windows" } - ] + } } diff --git a/ports/boost-statechart/portfile.cmake b/ports/boost-statechart/portfile.cmake index 93819efabe320d..820dc4a3bb21d3 100644 --- a/ports/boost-statechart/portfile.cmake +++ b/ports/boost-statechart/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/statechart - REF boost-1.83.0 - SHA512 f6eb991c7a020b0fccc013aeac4f15854638823245029ef82ec57c0a7c6fdfc29ef1132984748e1040812e59b8b97f623d0b303eeadcb043a75b407739d92d3b + REF boost-${VERSION} + SHA512 1aaf8056b13bfe5f6a7dc51e23155e27af872961cc55e8afe470e4a9dc91eab42ccd7d720bc37ee4f7965f4ab37b33c6d7367308c213bacb5a6454ef960e3c51 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-statechart/vcpkg.json b/ports/boost-statechart/vcpkg.json index c966adb70afb33..854eb5cabc5a21 100644 --- a/ports/boost-statechart/vcpkg.json +++ b/ports/boost-statechart/vcpkg.json @@ -1,62 +1,66 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-statechart", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost statechart module", - "homepage": "https://github.com/boostorg/statechart", + "homepage": "https://www.boost.org/libs/statechart", "license": "BSL-1.0", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-bind", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-conversion", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-detail", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-function", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-smart-ptr", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-thread", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-static-assert/portfile.cmake b/ports/boost-static-assert/portfile.cmake index eff163ac8d0b35..ab9d853bc9f3c9 100644 --- a/ports/boost-static-assert/portfile.cmake +++ b/ports/boost-static-assert/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/static_assert - REF boost-1.83.0 - SHA512 60c126c60f435b3fe0f11d23e05df5836c6f6c7630f383818777931684599fc26ba0d801f714d74e24419699842abb915c350637118e036bfa26d5ae6180e82a + REF boost-${VERSION} + SHA512 f32baa358fd0314a903bab2f87ed3ed50e4027830c38c544a5507207a2ecd4deaf698bc3cef1a1e1967dadc360a7a355b7d7eddf890d514acea21cbc4994ad0f HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-static-assert/vcpkg.json b/ports/boost-static-assert/vcpkg.json index 3d595f1e099c60..23a1790a437b9f 100644 --- a/ports/boost-static-assert/vcpkg.json +++ b/ports/boost-static-assert/vcpkg.json @@ -1,18 +1,22 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-static-assert", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost static_assert module", - "homepage": "https://github.com/boostorg/static_assert", + "homepage": "https://www.boost.org/libs/static_assert", "license": "BSL-1.0", "dependencies": [ + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-static-string/portfile.cmake b/ports/boost-static-string/portfile.cmake index cd525e7f33b103..ddece620c89d0c 100644 --- a/ports/boost-static-string/portfile.cmake +++ b/ports/boost-static-string/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/static_string - REF boost-1.83.0 - SHA512 c3150f362aa771d6e41f20cd7ebac895c7eb039fdf80a04d65933e8f9c574f214a7164121b0a38b7f6d7e5a9d4a315d98eefec663fceb4251ce7dce50b7e9dee + REF boost-${VERSION} + SHA512 81b975e2bd5b4c9e84a21ae920c989fcbb8119e81935e44e19cbe67ccb5a7a7a5239e8544d75bfa00e3aa654b8d942d73092c05f98e97c9fe6b9e3bc232a5448 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-static-string/vcpkg.json b/ports/boost-static-string/vcpkg.json index b596826458c335..2bba9a8de3785f 100644 --- a/ports/boost-static-string/vcpkg.json +++ b/ports/boost-static-string/vcpkg.json @@ -1,42 +1,46 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-static-string", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost static_string module", - "homepage": "https://github.com/boostorg/static_string", + "homepage": "https://www.boost.org/libs/static_string", "license": "BSL-1.0", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-container-hash", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-utility", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-stl-interfaces/portfile.cmake b/ports/boost-stl-interfaces/portfile.cmake index d523c3d3c22ec9..3a091c00bd6e7f 100644 --- a/ports/boost-stl-interfaces/portfile.cmake +++ b/ports/boost-stl-interfaces/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/stl_interfaces - REF boost-1.83.0 - SHA512 cc0995bb231ead8268de72f2ef13a53eb0c5ac354da102af3dc373e5f8a0c87196c75671c8e93d3f7251da10d87d16c62ef08a9c030475b6c28a5642ef9957f2 + REF boost-${VERSION} + SHA512 522f422512d2fc5a60caa8d471593983b04b3dc9132229a3e873b1e460a02a7627546588e560c31ed927e4d5f74b30d3a25c9f5748d806e461ecee75fbf91a2e HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-stl-interfaces/vcpkg.json b/ports/boost-stl-interfaces/vcpkg.json index dd1f032393f3b4..9729be889db966 100644 --- a/ports/boost-stl-interfaces/vcpkg.json +++ b/ports/boost-stl-interfaces/vcpkg.json @@ -1,26 +1,30 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-stl-interfaces", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost stl_interfaces module", - "homepage": "https://github.com/boostorg/stl_interfaces", + "homepage": "https://www.boost.org/libs/stl_interfaces", "license": "BSL-1.0", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-type-traits", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "name": "boost-type-traits", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-system/compat.diff b/ports/boost-system/compat.diff new file mode 100644 index 00000000000000..24b2bea6d49de6 --- /dev/null +++ b/ports/boost-system/compat.diff @@ -0,0 +1,21 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1417f6a79..a25a1238d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -6,13 +6,13 @@ cmake_minimum_required(VERSION 3.5...3.20) + + project(boost_system VERSION "${BOOST_SUPERPROJECT_VERSION}" LANGUAGES CXX) + +-add_library(boost_system INTERFACE) ++add_library(boost_system "src/error_code.cpp") + add_library(Boost::system ALIAS boost_system) + +-target_include_directories(boost_system INTERFACE include) ++target_include_directories(boost_system PUBLIC include) + + target_link_libraries(boost_system +- INTERFACE ++ PUBLIC + Boost::assert + Boost::config + Boost::throw_exception diff --git a/ports/boost-system/portfile.cmake b/ports/boost-system/portfile.cmake index e37d60adc51bce..17055ae7fd34dc 100644 --- a/ports/boost-system/portfile.cmake +++ b/ports/boost-system/portfile.cmake @@ -5,12 +5,15 @@ vcpkg_buildpath_length_warning(37) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/system - REF boost-1.83.0 - SHA512 f1db7d7cd7967a079821701c82202c5b2de8eda763d95284aaa960738a9e298b018e72099b7afeedea7e057392044df5fd260d396f2de5e6f354be2036aa7a9c + REF boost-${VERSION} + SHA512 d51ecdaa3e5ab82b725f608516ce973224c383bdee90a681d099599bfc0dd5774f50f421075a691d52bf5209c1d0d85762217ec1425e39000eb7fb366f69757a HEAD_REF master + PATCHES + compat.diff ) -include(${CURRENT_HOST_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake) -boost_modular_build(SOURCE_PATH ${SOURCE_PATH}) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-system/vcpkg.json b/ports/boost-system/vcpkg.json index 6ce46eca58c555..86866b5b20970d 100644 --- a/ports/boost-system/vcpkg.json +++ b/ports/boost-system/vcpkg.json @@ -1,48 +1,38 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-system", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost system module", - "homepage": "https://github.com/boostorg/system", + "homepage": "https://www.boost.org/libs/system", "license": "BSL-1.0", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-build", - "host": true, - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-modular-build-helper", - "host": true, - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-variant2", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-winapi", - "version>=": "1.83.0" - }, - { - "name": "vcpkg-cmake", - "host": true + "version>=": "1.86.0" } ] } diff --git a/ports/boost-test/portfile.cmake b/ports/boost-test/portfile.cmake index 37d7431c0302fe..85248914c0abc5 100644 --- a/ports/boost-test/portfile.cmake +++ b/ports/boost-test/portfile.cmake @@ -3,30 +3,26 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/test - REF boost-1.83.0 - SHA512 012277af2c4a58dea27d71699cfeb5f63385c66c43051beea1cdc642acab671bb29a25292b64d8aaa583e2bfb157a614310b5f869d9959d83cbf439081c8282c + REF boost-${VERSION} + SHA512 16e06e677bddbdc04a4607c653a66ca36fbf812eef4fe82244197a1a0e428ff0a5e3ead3c423c123273d67bc857a634bae889888175119e04691fdd3e5ad2b27 HEAD_REF master ) -vcpkg_replace_string("${SOURCE_PATH}/build/Jamfile.v2" - "import ../../predef/check/predef" - "import ../predef/check/predef" +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} ) -file(COPY "${CURRENT_INSTALLED_DIR}/share/boost-predef/check" DESTINATION "${SOURCE_PATH}/predef") -include(${CURRENT_HOST_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake) -boost_modular_build(SOURCE_PATH ${SOURCE_PATH}) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/lib/manual-link) + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/lib/manual-link") file(GLOB MONITOR_LIBS ${CURRENT_PACKAGES_DIR}/lib/*_exec_monitor*) - file(COPY ${MONITOR_LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/lib/manual-link) + file(COPY ${MONITOR_LIBS} DESTINATION "${CURRENT_PACKAGES_DIR}/lib/manual-link") file(REMOVE ${MONITOR_LIBS}) endif() if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link) + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/lib/manual-link") file(GLOB DEBUG_MONITOR_LIBS ${CURRENT_PACKAGES_DIR}/debug/lib/*_exec_monitor*) - file(COPY ${DEBUG_MONITOR_LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link) + file(COPY ${DEBUG_MONITOR_LIBS} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib/manual-link") file(REMOVE ${DEBUG_MONITOR_LIBS}) endif() diff --git a/ports/boost-test/vcpkg.json b/ports/boost-test/vcpkg.json index acde76d88f9266..5b016044f6edd1 100644 --- a/ports/boost-test/vcpkg.json +++ b/ports/boost-test/vcpkg.json @@ -1,101 +1,91 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-test", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost test module", - "homepage": "https://github.com/boostorg/test", + "homepage": "https://www.boost.org/libs/test", "license": "BSL-1.0", "supports": "!uwp", "dependencies": [ { "name": "boost-algorithm", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-bind", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-build", - "host": true, - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-detail", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-function", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-io", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { - "name": "boost-iterator", - "version>=": "1.83.0" + "name": "boost-io", + "version>=": "1.86.0" }, { - "name": "boost-modular-build-helper", - "host": true, - "version>=": "1.83.0" + "name": "boost-iterator", + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-numeric-conversion", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-optional", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-preprocessor", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-smart-ptr", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-utility", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" - }, - { - "name": "vcpkg-cmake", - "host": true + "version>=": "1.86.0" } ] } diff --git a/ports/boost-thread/b2-options.cmake b/ports/boost-thread/b2-options.cmake deleted file mode 100644 index 198b23084e16ce..00000000000000 --- a/ports/boost-thread/b2-options.cmake +++ /dev/null @@ -1,2 +0,0 @@ -set(B2_REQUIREMENTS "/boost/date_time//boost_date_time") -list(APPEND B2_OPTIONS /boost/thread//boost_thread) diff --git a/ports/boost-thread/portfile.cmake b/ports/boost-thread/portfile.cmake index 34cf481cb157d3..e436c49869b291 100644 --- a/ports/boost-thread/portfile.cmake +++ b/ports/boost-thread/portfile.cmake @@ -3,15 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/thread - REF boost-1.83.0 - SHA512 674ead829cd5799121e89b335e5ce73cfb2f934bb2b26c93112c072833fda10e48c56c439d0d40d8150eb7a6606c83900db1a6815d77c57fa4ee840f14413f36 + REF boost-${VERSION} + SHA512 0c10698176e695011b70aea5b0f427bb4265032349297fd6d71cb8b4d82ff4144ce8b5a4bc7ed9587485e51e46764820d3d4688a1e576dd8ec375140bce1f708 HEAD_REF master ) -include(${CURRENT_HOST_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake) -boost_modular_build( - SOURCE_PATH ${SOURCE_PATH} - BOOST_CMAKE_FRAGMENT "${CMAKE_CURRENT_LIST_DIR}/b2-options.cmake" +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) diff --git a/ports/boost-thread/vcpkg.json b/ports/boost-thread/vcpkg.json index 26ed5b805a46d8..49a156f61c0485 100644 --- a/ports/boost-thread/vcpkg.json +++ b/ports/boost-thread/vcpkg.json @@ -1,144 +1,118 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-thread", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost thread module", - "homepage": "https://github.com/boostorg/thread", + "homepage": "https://www.boost.org/libs/thread", "license": "BSL-1.0", "dependencies": [ - { - "name": "boost-algorithm", - "version>=": "1.83.0" - }, { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-atomic", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-bind", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-build", - "host": true, - "version>=": "1.83.0" + "name": "boost-chrono", + "version>=": "1.86.0" }, { - "name": "boost-chrono", - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-concept-check", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-container", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-container-hash", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-date-time", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-function", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-intrusive", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-io", - "version>=": "1.83.0" - }, - { - "name": "boost-iterator", - "version>=": "1.83.0" - }, - { - "name": "boost-lexical-cast", - "version>=": "1.83.0" - }, - { - "name": "boost-modular-build-helper", - "host": true, - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-move", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-optional", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-predef", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-preprocessor", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-smart-ptr", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-system", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-tuple", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-utility", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-winapi", - "version>=": "1.83.0" - }, - { - "name": "vcpkg-cmake", - "host": true + "version>=": "1.86.0" } ] } diff --git a/ports/boost-throw-exception/portfile.cmake b/ports/boost-throw-exception/portfile.cmake index 0034f9cc302c01..7499b037697ad6 100644 --- a/ports/boost-throw-exception/portfile.cmake +++ b/ports/boost-throw-exception/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/throw_exception - REF boost-1.83.0 - SHA512 5f730520fbc7d3783257071bbf8db2ecbf0170c5d3ae45c603b98d48ca5920c9cbab0dc0d3584670345970f550bb0ab612eaf18d701a44332168fa9aec847a36 + REF boost-${VERSION} + SHA512 5474c6bc6dbc2d3dca6ad4baa60be5638fb69863a21cc6e4d2f3b15f23be5f9a89202a806284fac0191532e2411ddaeddfd8f1f5f0feb6348edcd2aa7338ff23 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-throw-exception/vcpkg.json b/ports/boost-throw-exception/vcpkg.json index 2dde22684fd158..99d0a6bac55086 100644 --- a/ports/boost-throw-exception/vcpkg.json +++ b/ports/boost-throw-exception/vcpkg.json @@ -1,22 +1,26 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-throw-exception", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost throw_exception module", - "homepage": "https://github.com/boostorg/throw_exception", + "homepage": "https://www.boost.org/libs/throw_exception", "license": "BSL-1.0", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-timer/portfile.cmake b/ports/boost-timer/portfile.cmake index c91108030bd766..c62ad59ba85e7d 100644 --- a/ports/boost-timer/portfile.cmake +++ b/ports/boost-timer/portfile.cmake @@ -3,12 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/timer - REF boost-1.83.0 - SHA512 480635346e40ed6fe63c2574d6924a43f0e98278cf9e6e3acd31991cd2da7856258979925e59d9753f3ed535026cbf62edd19bbc1a893459d3f00feb6e617f21 + REF boost-${VERSION} + SHA512 464cde448fcd3254f3087f51ef4cfce6624f8e73f71e0c16f92471544df0559056c30a073b259bc3201cfea6452d2648ea576c0e30eece8b1fc37375ee612a4f HEAD_REF master ) -include(${CURRENT_HOST_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake) -boost_modular_build(SOURCE_PATH ${SOURCE_PATH}) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-timer/vcpkg.json b/ports/boost-timer/vcpkg.json index 93b482a20d32cd..414cc8a6cb2431 100644 --- a/ports/boost-timer/vcpkg.json +++ b/ports/boost-timer/vcpkg.json @@ -1,40 +1,30 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-timer", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost timer module", - "homepage": "https://github.com/boostorg/timer", + "homepage": "https://www.boost.org/libs/timer", "license": "BSL-1.0", "dependencies": [ { - "name": "boost-build", - "host": true, - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-io", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { - "name": "boost-modular-build-helper", - "host": true, - "version>=": "1.83.0" + "name": "boost-io", + "version>=": "1.86.0" }, { "name": "boost-predef", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" - }, - { - "name": "vcpkg-cmake", - "host": true + "version>=": "1.86.0" } ] } diff --git a/ports/boost-tokenizer/portfile.cmake b/ports/boost-tokenizer/portfile.cmake index 33fea9346f2e91..a6e43022999bf5 100644 --- a/ports/boost-tokenizer/portfile.cmake +++ b/ports/boost-tokenizer/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/tokenizer - REF boost-1.83.0 - SHA512 25e3aca064a1aeff65cd9abd8e828a1a25c2f4411d8e66f1bda7bccb9fc30145923eb1ca79d9ae8328584305a4d88e517897b870d45eca17923038edc58619f5 + REF boost-${VERSION} + SHA512 9aff6bdee0abcfd25febef7bf94bff96f6146356ea3c83549f11e6b05c730cce8c24c88fb1bf325f4f69a4aaea9de37be11d73f12c6844c9e56dfa46068b217e HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-tokenizer/vcpkg.json b/ports/boost-tokenizer/vcpkg.json index 03ad8c00038fca..c4670df1bb7473 100644 --- a/ports/boost-tokenizer/vcpkg.json +++ b/ports/boost-tokenizer/vcpkg.json @@ -1,38 +1,42 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-tokenizer", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost tokenizer module", - "homepage": "https://github.com/boostorg/tokenizer", + "homepage": "https://www.boost.org/libs/tokenizer", "license": "BSL-1.0", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-iterator", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-tti/portfile.cmake b/ports/boost-tti/portfile.cmake index 0d0573013a504b..d29122296cf122 100644 --- a/ports/boost-tti/portfile.cmake +++ b/ports/boost-tti/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/tti - REF boost-1.83.0 - SHA512 5a134b60981d84858fe55b18c72737ce3c6a6d644972f86db5a465cc28257249c7288e333d14c2c6e8eca21fb3f6c17d74e41dbad6d4806616f230d2bc0c68ae + REF boost-${VERSION} + SHA512 a05af5933e961634dec75971d3398562ba983367fde7387a76bdbf874b758049fe4fa2358d8b7fb480e71c1be813efe4ef87291816d8693eb5f61d0da594e033 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-tti/vcpkg.json b/ports/boost-tti/vcpkg.json index 5cef1a31cc5908..3e7a5b3e338b2f 100644 --- a/ports/boost-tti/vcpkg.json +++ b/ports/boost-tti/vcpkg.json @@ -1,34 +1,38 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-tti", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost tti module", - "homepage": "https://github.com/boostorg/tti", + "homepage": "https://www.boost.org/libs/tti", "license": "BSL-1.0", "dependencies": [ + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-function-types", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-preprocessor", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-tuple/portfile.cmake b/ports/boost-tuple/portfile.cmake index b053e4068610bf..1a4743d4be2787 100644 --- a/ports/boost-tuple/portfile.cmake +++ b/ports/boost-tuple/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/tuple - REF boost-1.83.0 - SHA512 0f963643da633b4fda913d98703fb865349ba12063202defeb6d0fce82d8b06b9e3c12decef0ab866ddfb689ea85e112c32b52bb669a353fca64d0257aeef9a8 + REF boost-${VERSION} + SHA512 7a2d8bfed1db0f99d6b19c77afa0b0ab55d01a4d5a49605395e65eb3919e24fb75b28c8db999f2c8e8f935d0a2a9f63abda1f2b024bc0b1d51e0ccee71f70e67 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-tuple/vcpkg.json b/ports/boost-tuple/vcpkg.json index cf7e8b08a9accd..9a60931a3d9895 100644 --- a/ports/boost-tuple/vcpkg.json +++ b/ports/boost-tuple/vcpkg.json @@ -1,30 +1,34 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-tuple", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost tuple module", - "homepage": "https://github.com/boostorg/tuple", + "homepage": "https://www.boost.org/libs/tuple", "license": "BSL-1.0", "dependencies": [ + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-static-assert", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { - "name": "boost-type-traits", - "version>=": "1.83.0" + "name": "boost-static-assert", + "version>=": "1.86.0" }, { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "name": "boost-type-traits", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-type-erasure/portfile.cmake b/ports/boost-type-erasure/portfile.cmake index 8494c1670f001d..dd941111de34cd 100644 --- a/ports/boost-type-erasure/portfile.cmake +++ b/ports/boost-type-erasure/portfile.cmake @@ -3,12 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/type_erasure - REF boost-1.83.0 - SHA512 57188b1e79e3ab9c0ec4124862460c14255f8830d3bc6c09d5266fcd7cc8d33add8c2a126ddce9302450e2420095932a96725073fdb569f847cd41baf49d8867 + REF boost-${VERSION} + SHA512 48c24dafdd631057b09c11fc790cee8674211ee21296e1880bd6211f094f409c15a25b453b5914fd89456730d6e42bd7e123376fab6f6c3093b4b788c5141e18 HEAD_REF master ) -include(${CURRENT_HOST_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake) -boost_modular_build(SOURCE_PATH ${SOURCE_PATH}) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-type-erasure/vcpkg.json b/ports/boost-type-erasure/vcpkg.json index f5718af77e0c89..61e96d9c0c6da4 100644 --- a/ports/boost-type-erasure/vcpkg.json +++ b/ports/boost-type-erasure/vcpkg.json @@ -1,84 +1,74 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-type-erasure", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost type_erasure module", - "homepage": "https://github.com/boostorg/type_erasure", + "homepage": "https://www.boost.org/libs/type_erasure", "license": "BSL-1.0", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-build", - "host": true, - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-fusion", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-iterator", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { - "name": "boost-modular-build-helper", - "host": true, - "version>=": "1.83.0" + "name": "boost-iterator", + "version>=": "1.86.0" }, { "name": "boost-mp11", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-preprocessor", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-smart-ptr", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-thread", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-typeof", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-vmd", - "version>=": "1.83.0" - }, - { - "name": "vcpkg-cmake", - "host": true + "version>=": "1.86.0" } ] } diff --git a/ports/boost-type-index/portfile.cmake b/ports/boost-type-index/portfile.cmake index 9b801e1d1e9e5f..3d5bceccdecadd 100644 --- a/ports/boost-type-index/portfile.cmake +++ b/ports/boost-type-index/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/type_index - REF boost-1.83.0 - SHA512 e6da09d06231d9eee05847205220e1f7ea0cd512271a0bbf14254eb794f49357fa141a785db38b5e92a1f8e9d966dd9cde0137300f596f282d31c95446699264 + REF boost-${VERSION} + SHA512 be51ca7a6cbdaae4f13f30f73a075f2898ca5eb3048febd173a6d17cf42c3fbea2508f03f2cfb3364f469ef7d30a124e13a944a16e7be961dd0dfdd83781c4e5 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-type-index/vcpkg.json b/ports/boost-type-index/vcpkg.json index 9a0a20d32cd2bf..1f18c68ce9b622 100644 --- a/ports/boost-type-index/vcpkg.json +++ b/ports/boost-type-index/vcpkg.json @@ -1,42 +1,34 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-type-index", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost type_index module", - "homepage": "https://github.com/boostorg/type_index", + "homepage": "https://www.boost.org/libs/type_index", "license": "BSL-1.0", "dependencies": [ + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-container-hash", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" - }, - { - "name": "boost-preprocessor", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-static-assert", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" - }, - { - "name": "boost-type-traits", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-type-traits/portfile.cmake b/ports/boost-type-traits/portfile.cmake index e1b0c143c55017..f7c4d01902b361 100644 --- a/ports/boost-type-traits/portfile.cmake +++ b/ports/boost-type-traits/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/type_traits - REF boost-1.83.0 - SHA512 8763b4f8d2eecade2092ae69503be82c5845804d5ccf8788c412f48b708d517c24c63244905700a8c018c847410f60bafa8803ae0e7dcd1b52506be210ce9635 + REF boost-${VERSION} + SHA512 35f59eb0ae7b854ee0a4b0a307cbc25514fb2d47684bfde760d4fbb8f6c6fb1b93ed919feef08d6fb6339dae25b7e1cc1eb0164a762d247a126e282a562cec98 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-type-traits/vcpkg.json b/ports/boost-type-traits/vcpkg.json index db94949fc024dd..f1f971e6643734 100644 --- a/ports/boost-type-traits/vcpkg.json +++ b/ports/boost-type-traits/vcpkg.json @@ -1,22 +1,26 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-type-traits", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost type_traits module", - "homepage": "https://github.com/boostorg/type_traits", + "homepage": "https://www.boost.org/libs/type_traits", "license": "BSL-1.0", "dependencies": [ + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-static-assert", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "name": "boost-static-assert", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-typeof/portfile.cmake b/ports/boost-typeof/portfile.cmake index 5e3e9fb60c495c..6ba59fbedbbfe0 100644 --- a/ports/boost-typeof/portfile.cmake +++ b/ports/boost-typeof/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/typeof - REF boost-1.83.0 - SHA512 210a9d303f6827e87744104f031b98c30ef3de288e17f5ebe5925e7a2114a2be1dd8990e4f3653a56001c43992d7c6f3cc8b0dd08fe79d0549118524f319791a + REF boost-${VERSION} + SHA512 08194c921a05ba1d5981e21c2515d575b16c42dcb25fda8a06362130583249659d920c78b0020ccf8f1ab447695aa9fae1f61333bfb3ae0c92387ed138e467f5 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-typeof/vcpkg.json b/ports/boost-typeof/vcpkg.json index 240b34d19aaec7..b65921079bc9f9 100644 --- a/ports/boost-typeof/vcpkg.json +++ b/ports/boost-typeof/vcpkg.json @@ -1,26 +1,22 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-typeof", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost typeof module", - "homepage": "https://github.com/boostorg/typeof", + "homepage": "https://www.boost.org/libs/typeof", "license": "BSL-1.0", "dependencies": [ { - "name": "boost-config", - "version>=": "1.83.0" - }, - { - "name": "boost-preprocessor", - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" }, { - "name": "boost-type-traits", - "version>=": "1.83.0" + "name": "boost-config", + "version>=": "1.86.0" }, { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-ublas/portfile.cmake b/ports/boost-ublas/portfile.cmake index 415db170821aba..ccabee0c6aee26 100644 --- a/ports/boost-ublas/portfile.cmake +++ b/ports/boost-ublas/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/ublas - REF boost-1.83.0 - SHA512 bd3c1ae81f903271c5b88ebafb29e032646d4a9ecd4b99c2580bac3adbc20e87c550022d94ada7496e29e5e133516cb1a6b47338db9238ca834c5fa480fb93b4 + REF boost-${VERSION} + SHA512 456300b79bce700364ed3349cfd8ea8c33e68047b671d865035eb10e72a736d49a24825110264e5ca2fc4fb5f7472b27ff540976231e0547b4632a24017c5614 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-ublas/vcpkg.json b/ports/boost-ublas/vcpkg.json index 4042ba6eeb25d4..9e15e38c575ef2 100644 --- a/ports/boost-ublas/vcpkg.json +++ b/ports/boost-ublas/vcpkg.json @@ -1,62 +1,70 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-ublas", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost ublas module", - "homepage": "https://github.com/boostorg/ublas", + "homepage": "https://www.boost.org/libs/numeric/ublas", "license": "BSL-1.0", "dependencies": [ + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-compute", + "version>=": "1.86.0" + }, { "name": "boost-concept-check", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-interval", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-iterator", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-range", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-serialization", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-smart-ptr", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-typeof", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-uninstall/vcpkg-cmake-wrapper.cmake b/ports/boost-uninstall/vcpkg-cmake-wrapper.cmake index d3e5109b2ad842..3cf8dd14f7cf40 100644 --- a/ports/boost-uninstall/vcpkg-cmake-wrapper.cmake +++ b/ports/boost-uninstall/vcpkg-cmake-wrapper.cmake @@ -1,11 +1,3 @@ -set(Boost_USE_STATIC_LIBS OFF) -set(Boost_USE_MULTITHREADED ON) -unset(Boost_USE_STATIC_RUNTIME) -set(Boost_NO_BOOST_CMAKE ON) -unset(Boost_USE_STATIC_RUNTIME CACHE) -if("${CMAKE_VS_PLATFORM_TOOLSET}" STREQUAL "v120") - set(Boost_COMPILER "-vc120") -else() - set(Boost_COMPILER "-vc140") -endif() +# Need to keep this file due to vcpkg.cmake otherwise injecting a different behavior. +set(Boost_NO_BOOST_CMAKE OFF) _find_package(${ARGS}) \ No newline at end of file diff --git a/ports/boost-uninstall/vcpkg.json b/ports/boost-uninstall/vcpkg.json index e0d4ea2b954dd1..6be196923d909f 100644 --- a/ports/boost-uninstall/vcpkg.json +++ b/ports/boost-uninstall/vcpkg.json @@ -1,7 +1,7 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-uninstall", - "version": "1.83.0", + "version": "1.86.0", "description": "Internal vcpkg port used to uninstall Boost", "license": "MIT" } diff --git a/ports/boost-units/portfile.cmake b/ports/boost-units/portfile.cmake index 75d7214c7d489d..bee59ecb961fa3 100644 --- a/ports/boost-units/portfile.cmake +++ b/ports/boost-units/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/units - REF boost-1.83.0 - SHA512 f915fb2b77b98c0482a5d706dc51fc5f8887ce00848a58907f06cb740792221c21bd1785b5cc1c0e5e9a3c7c78bcf5c0528adbdb9b58db01bed5c3cdd4434b4b + REF boost-${VERSION} + SHA512 36923eeb494682959057d190c9900dc70b1f966bdb37f5029cade89bb1e1db2ae934825fa02fd11b069c3ed7866ce7c09af6eda86a28357d5f6092e3cd0a8c7d HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-units/vcpkg.json b/ports/boost-units/vcpkg.json index ebd10d2298ea73..46c45b785f315b 100644 --- a/ports/boost-units/vcpkg.json +++ b/ports/boost-units/vcpkg.json @@ -1,62 +1,66 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-units", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost units module", - "homepage": "https://github.com/boostorg/units", + "homepage": "https://www.boost.org/libs/units", "license": "BSL-1.0", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-integer", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-io", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-lambda", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-math", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-preprocessor", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-typeof", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-unordered/0001-unordered-fix-copy-assign.patch b/ports/boost-unordered/0001-unordered-fix-copy-assign.patch deleted file mode 100644 index 809197f84fc21c..00000000000000 --- a/ports/boost-unordered/0001-unordered-fix-copy-assign.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/include/boost/unordered/detail/foa/core.hpp b/include/boost/unordered/detail/foa/core.hpp -index 239d05d3..7ae9f2c8 100644 ---- a/include/boost/unordered/detail/foa/core.hpp -+++ b/include/boost/unordered/detail/foa/core.hpp -@@ -1870,9 +1870,10 @@ private: - - void fast_copy_elements_from(const table_core& x) - { -- if(arrays.elements){ -+ if(arrays.elements&&x.arrays.elements){ - copy_elements_array_from(x); - copy_groups_array_from(x); -+ size_ctrl.ml=std::size_t(x.size_ctrl.ml); - size_ctrl.size=std::size_t(x.size_ctrl.size); - } - } diff --git a/ports/boost-unordered/portfile.cmake b/ports/boost-unordered/portfile.cmake index 1378201724f6cb..59c3c63de7943b 100644 --- a/ports/boost-unordered/portfile.cmake +++ b/ports/boost-unordered/portfile.cmake @@ -3,11 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/unordered - REF boost-1.83.0 - SHA512 52a36f1d279c6fd9e6b480267aa3cb6cab64e3c996230b0bf585973067bf845711f30a8f79402263236420ebbb6e856bbc9e1c6c2dd72e416f571bff150f858a + REF boost-${VERSION} + SHA512 65865639d5e3d9f323cfffbdf532224b1f06f2c04a6a25e7f282a4051814101835c71747642bf7a8a704b6fbcde9006b03abac2e5a1e185a205fc88c3b3394e1 HEAD_REF master - PATCHES 0001-unordered-fix-copy-assign.patch ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-unordered/vcpkg.json b/ports/boost-unordered/vcpkg.json index 6d099a95ddde0d..65a28b88874094 100644 --- a/ports/boost-unordered/vcpkg.json +++ b/ports/boost-unordered/vcpkg.json @@ -1,62 +1,46 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-unordered", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost unordered module", - "homepage": "https://github.com/boostorg/unordered", + "homepage": "https://www.boost.org/libs/unordered", "license": "BSL-1.0", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-container-hash", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-move", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-mp11", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-predef", - "version>=": "1.83.0" - }, - { - "name": "boost-preprocessor", - "version>=": "1.83.0" - }, - { - "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" - }, - { - "name": "boost-tuple", - "version>=": "1.83.0" - }, - { - "name": "boost-type-traits", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-url/portfile.cmake b/ports/boost-url/portfile.cmake index a9acf70160e611..ab8e15f9321a10 100644 --- a/ports/boost-url/portfile.cmake +++ b/ports/boost-url/portfile.cmake @@ -3,17 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/url - REF boost-1.83.0 - SHA512 a980edb3cd1c5d5a0d8606df246e4ef177a08837f93045adff0be8f9e5677e65f1df2d586299f6f4362508d292f4536336877eb56a78026ec368d0de3c453a15 + REF boost-${VERSION} + SHA512 f03f2e3d00a9b1591a1e432613b76ae4e0c5bb633cb8e9725282833b93227edf7f929d4ac138f5a585fe6e66ce030cf00043c73cab02f5ac87edf6c4b07f8c31 HEAD_REF master ) -vcpkg_replace_string("${SOURCE_PATH}/Jamfile" - "import ../../config/checks/config : requires ;" - "import config/checks/config : requires ;" +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} ) -file(COPY "${CURRENT_INSTALLED_DIR}/share/boost-config/checks" DESTINATION "${SOURCE_PATH}/config") -include(${CURRENT_HOST_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake) -boost_modular_build(SOURCE_PATH ${SOURCE_PATH}) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) diff --git a/ports/boost-url/vcpkg.json b/ports/boost-url/vcpkg.json index 7680015348fae5..7d9d6397a51f6b 100644 --- a/ports/boost-url/vcpkg.json +++ b/ports/boost-url/vcpkg.json @@ -1,72 +1,62 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-url", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost url module", - "homepage": "https://github.com/boostorg/url", + "homepage": "https://www.boost.org/libs/url", "license": "BSL-1.0", "dependencies": [ { "name": "boost-align", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-build", - "host": true, - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-modular-build-helper", - "host": true, - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-mp11", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-optional", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-system", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-variant2", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" - }, - { - "name": "vcpkg-cmake", - "host": true + "version>=": "1.86.0" } ] } diff --git a/ports/boost-utility/portfile.cmake b/ports/boost-utility/portfile.cmake index 70a5a0810a457e..75551523f6bb27 100644 --- a/ports/boost-utility/portfile.cmake +++ b/ports/boost-utility/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/utility - REF boost-1.83.0 - SHA512 73740147342f62ecc7a321f2c940c94a182650e03a18da85df66b496a396ab33ff1b055cb887990738cf92aac3e549cfa529028143746fcd274facb19dd1d038 + REF boost-${VERSION} + SHA512 ce7e43702f0e5f02448408abd21878002d6148e75ac1cf31fc568169807cafbf8128bea5ba3fca84ef977e62acc09342111c9c59ad152cef39da8d57e3cd6cb5 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-utility/vcpkg.json b/ports/boost-utility/vcpkg.json index 1811849e06c034..64e1c6058d57fe 100644 --- a/ports/boost-utility/vcpkg.json +++ b/ports/boost-utility/vcpkg.json @@ -1,42 +1,46 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-utility", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost utility module", - "homepage": "https://github.com/boostorg/utility", + "homepage": "https://www.boost.org/libs/utility", "license": "BSL-1.0", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-io", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-preprocessor", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-uuid/portfile.cmake b/ports/boost-uuid/portfile.cmake index 32cfdb550dfd3a..41306c5e7fdb46 100644 --- a/ports/boost-uuid/portfile.cmake +++ b/ports/boost-uuid/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/uuid - REF boost-1.83.0 - SHA512 8b6d2f77b1bb3c3fa7238899a7e88772ec4094f49578102df73a46a3e7be69b8ad4df05d2a5b5322705b53f3f0f86ab1a91c495dc5820433b535bb8d5b15a195 + REF boost-${VERSION} + SHA512 0c9ec80278696c7c1e1398e1f01bee52adc0afef647d3619c63ba700899329fc82520b7afda8871537163659229d96e6223bf30b6e962084a578051821707864 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-uuid/vcpkg.json b/ports/boost-uuid/vcpkg.json index 0801f44f845736..2a1809ae83b496 100644 --- a/ports/boost-uuid/vcpkg.json +++ b/ports/boost-uuid/vcpkg.json @@ -1,71 +1,34 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-uuid", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost uuid module", - "homepage": "https://github.com/boostorg/uuid", + "homepage": "https://www.boost.org/libs/uuid", "license": "BSL-1.0", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-config", - "version>=": "1.83.0" - }, - { - "name": "boost-container-hash", - "version>=": "1.83.0" - }, - { - "name": "boost-core", - "version>=": "1.83.0" - }, - { - "name": "boost-io", - "version>=": "1.83.0" - }, - { - "name": "boost-move", - "version>=": "1.83.0" - }, - { - "name": "boost-numeric-conversion", - "version>=": "1.83.0" - }, - { - "name": "boost-predef", - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" }, { - "name": "boost-random", - "platform": "!uwp", - "version>=": "1.83.0" + "name": "boost-config", + "version>=": "1.86.0" }, { - "name": "boost-static-assert", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" - }, - { - "name": "boost-tti", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" - }, - { - "name": "boost-winapi", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-variant/portfile.cmake b/ports/boost-variant/portfile.cmake index 142d129d376f66..9bbca15b60afd6 100644 --- a/ports/boost-variant/portfile.cmake +++ b/ports/boost-variant/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/variant - REF boost-1.83.0 - SHA512 8069d706490471892be9d160446fc81439b947e9b7cd8b34980f27a92add4329e4b7dec3f2386b47f93d0f2bcf4da33fc033380ab4d0d5e9d6d7df836e6a8a6e + REF boost-${VERSION} + SHA512 cb40d94f19955af79483ef0e3c01e32ffde6c57ca38b915867a8f9151a6db967117f22ca2382fa5f728d6222515355dedf6871a54ebc66b8038caa9cd2113e0a HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-variant/vcpkg.json b/ports/boost-variant/vcpkg.json index 19f9af9f593058..01960f8d00e8c2 100644 --- a/ports/boost-variant/vcpkg.json +++ b/ports/boost-variant/vcpkg.json @@ -1,74 +1,70 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-variant", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost variant module", - "homepage": "https://github.com/boostorg/variant", + "homepage": "https://www.boost.org/libs/variant", "license": "BSL-1.0", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-bind", - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-container-hash", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-detail", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-integer", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { - "name": "boost-move", - "version>=": "1.83.0" + "name": "boost-integer", + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-preprocessor", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-index", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-utility", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-variant2/portfile.cmake b/ports/boost-variant2/portfile.cmake index 12a9facff5f623..353172432ddbd0 100644 --- a/ports/boost-variant2/portfile.cmake +++ b/ports/boost-variant2/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/variant2 - REF boost-1.83.0 - SHA512 7c3d9f28efa6c9cc94502816b45f9d30fdd8c438153790fa4a3311b7ea4ac959f801910a64397ec04be7ade7068e17c603bda06f300ddf92ca97a338bb70c8ec + REF boost-${VERSION} + SHA512 0b85a5d229ab6e75575ed1379922d28c227c89f6e6e72302ba723b3a32d4ab13740c2c7a09c35714c1713ed426be1bf7bf14ef5d4e05e894ecc6d1fd83f019ac HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-variant2/vcpkg.json b/ports/boost-variant2/vcpkg.json index d67a3e85178ca2..6bc09886fbf494 100644 --- a/ports/boost-variant2/vcpkg.json +++ b/ports/boost-variant2/vcpkg.json @@ -1,26 +1,30 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-variant2", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost variant2 module", - "homepage": "https://github.com/boostorg/variant2", + "homepage": "https://www.boost.org/libs/variant2", "license": "BSL-1.0", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-mp11", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "name": "boost-mp11", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-vcpkg-helpers/LICENSE.txt b/ports/boost-vcpkg-helpers/LICENSE.txt deleted file mode 100644 index 2e4eac8264fa4c..00000000000000 --- a/ports/boost-vcpkg-helpers/LICENSE.txt +++ /dev/null @@ -1,23 +0,0 @@ -Copyright (c) Microsoft Corporation - -All rights reserved. - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/ports/boost-vcpkg-helpers/boost-modular-headers.cmake b/ports/boost-vcpkg-helpers/boost-modular-headers.cmake deleted file mode 100644 index eaa4fde5fbfb44..00000000000000 --- a/ports/boost-vcpkg-helpers/boost-modular-headers.cmake +++ /dev/null @@ -1,25 +0,0 @@ -function(boost_modular_headers) - cmake_parse_arguments(_bm "" "SOURCE_PATH" "" ${ARGN}) - - if(NOT DEFINED _bm_SOURCE_PATH) - message(FATAL_ERROR "SOURCE_PATH is a required argument to boost_modular_headers.") - endif() - - message(STATUS "Copying headers") - file( - COPY "${_bm_SOURCE_PATH}/include/boost" - DESTINATION "${CURRENT_PACKAGES_DIR}/include" - ) - message(STATUS "Copying headers done") - - file(INSTALL - "${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/usage" - DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" - ) - - file(INSTALL - "${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost_LICENSE_1_0.txt" - DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" - RENAME copyright - ) -endfunction() diff --git a/ports/boost-vcpkg-helpers/portfile.cmake b/ports/boost-vcpkg-helpers/portfile.cmake deleted file mode 100644 index 2279b6aa9e0e8a..00000000000000 --- a/ports/boost-vcpkg-helpers/portfile.cmake +++ /dev/null @@ -1,17 +0,0 @@ -set(VCPKG_POLICY_EMPTY_PACKAGE enabled) -vcpkg_minimum_required(VERSION 2022-10-12) # for ${VERSION} - -vcpkg_download_distfile(LICENSE - URLS "https://raw.githubusercontent.com/boostorg/boost/boost-${VERSION}/LICENSE_1_0.txt" - FILENAME "boost_LICENSE_1_0.txt" - SHA512 d6078467835dba8932314c1c1e945569a64b065474d7aced27c9a7acc391d52e9f234138ed9f1aa9cd576f25f12f557e0b733c14891d42c16ecdc4a7bd4d60b8 -) - -file(INSTALL - "${CMAKE_CURRENT_LIST_DIR}/boost-modular-headers.cmake" - "${CMAKE_CURRENT_LIST_DIR}/usage" - "${LICENSE}" - DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" -) - -vcpkg_install_copyright(FILE_LIST "${CMAKE_CURRENT_LIST_DIR}/LICENSE.txt") diff --git a/ports/boost-vcpkg-helpers/usage b/ports/boost-vcpkg-helpers/usage deleted file mode 100644 index 89a0376daddec3..00000000000000 --- a/ports/boost-vcpkg-helpers/usage +++ /dev/null @@ -1,4 +0,0 @@ -The package boost is compatible with built-in CMake targets: - - find_package(Boost REQUIRED [COMPONENTS ...]) - target_link_libraries(main PRIVATE Boost::boost Boost:: Boost:: ...) diff --git a/ports/boost-vcpkg-helpers/vcpkg.json b/ports/boost-vcpkg-helpers/vcpkg.json deleted file mode 100644 index 28a97ab2c2b271..00000000000000 --- a/ports/boost-vcpkg-helpers/vcpkg.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", - "name": "boost-vcpkg-helpers", - "version": "1.83.0", - "description": "Internal vcpkg port used to modularize Boost", - "license": "MIT", - "dependencies": [ - { - "name": "boost-uninstall", - "version>=": "1.83.0" - } - ] -} diff --git a/ports/boost-vmd/portfile.cmake b/ports/boost-vmd/portfile.cmake index 5b61b69363b09e..f813aa70042f03 100644 --- a/ports/boost-vmd/portfile.cmake +++ b/ports/boost-vmd/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/vmd - REF boost-1.83.0 - SHA512 75a1d58d8375cb0196027c4476b5eca9a00f437a72e6a7056eba324b42ace30c447b04cd46fcc5db6170801103d9fb4a8e3095b7ef795373a7ddab00f12da787 + REF boost-${VERSION} + SHA512 9ec3e6cb7b269f8f0403404ee1afd775e993825f7939a960f2656a2dbe7bb6af0364009f24aaf3c6bb5f6cc2249780cb281ee7f4147401d0e479b3b2cdf24806 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-vmd/vcpkg.json b/ports/boost-vmd/vcpkg.json index db3b6fb6314f0b..6d49c4dff3e756 100644 --- a/ports/boost-vmd/vcpkg.json +++ b/ports/boost-vmd/vcpkg.json @@ -1,18 +1,26 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-vmd", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost vmd module", - "homepage": "https://github.com/boostorg/vmd", + "homepage": "https://www.boost.org/libs/vmd", "license": "BSL-1.0", "dependencies": [ { - "name": "boost-preprocessor", - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" }, { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-preprocessor", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-wave/portfile.cmake b/ports/boost-wave/portfile.cmake index 2d4e0778177ae3..824ae9d0798857 100644 --- a/ports/boost-wave/portfile.cmake +++ b/ports/boost-wave/portfile.cmake @@ -3,17 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/wave - REF boost-1.83.0 - SHA512 7590174cfba34d463685672cfe2a709d562d15496dcffda746c70f8f00ab0f57fc20556d111168eaa2592d1f3c6157d9eb0d2a4e56338e2932cb88e7f6c358ff + REF boost-${VERSION} + SHA512 2eb0b5327720dd6d58a083c9a5a2d0316bbc2b8d7618aa51929e3f97e6cff7d30b7f1cfce027801d9355dc1d5d78daa7bc2ca891598da25a8e759c82438e6ded HEAD_REF master ) -vcpkg_replace_string("${SOURCE_PATH}/build/Jamfile.v2" - "import ../../config/checks/config" - "import ../config/checks/config" +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} ) -file(COPY "${CURRENT_INSTALLED_DIR}/share/boost-config/checks" DESTINATION "${SOURCE_PATH}/config") -include(${CURRENT_HOST_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake) -boost_modular_build(SOURCE_PATH ${SOURCE_PATH}) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) diff --git a/ports/boost-wave/vcpkg.json b/ports/boost-wave/vcpkg.json index 901c352f0c66dc..2dff7b9755c6a7 100644 --- a/ports/boost-wave/vcpkg.json +++ b/ports/boost-wave/vcpkg.json @@ -1,106 +1,96 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-wave", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost wave module", - "homepage": "https://github.com/boostorg/wave", + "homepage": "https://www.boost.org/libs/wave", "license": "BSL-1.0", "supports": "!uwp", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-build", - "host": true, - "version>=": "1.83.0" + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-concept-check", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-filesystem", "platform": "!uwp", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-format", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-iterator", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { - "name": "boost-lexical-cast", - "version>=": "1.83.0" + "name": "boost-iterator", + "version>=": "1.86.0" }, { - "name": "boost-modular-build-helper", - "host": true, - "version>=": "1.83.0" + "name": "boost-lexical-cast", + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-multi-index", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-optional", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-pool", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-preprocessor", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-serialization", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-smart-ptr", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-spirit", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" - }, - { - "name": "vcpkg-cmake", - "host": true + "version>=": "1.86.0" } ] } diff --git a/ports/boost-winapi/portfile.cmake b/ports/boost-winapi/portfile.cmake index 6ca4b075e82cdf..f5ff907e8fec48 100644 --- a/ports/boost-winapi/portfile.cmake +++ b/ports/boost-winapi/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/winapi - REF boost-1.83.0 - SHA512 b0aae07b0edf477b690f7435fe25dc3d8db153c11e66a543e4ca05ea9bd22da3a7e2f07e4e7b24999f476f2d1be82f33f760d317ee8f3f8650e08c67c55dd9ae + REF boost-${VERSION} + SHA512 e03553565112ec318f63bd7af4829f0406c022ce4df5e0d46667971f6b6c7fc5f538644102591bdc864ac71f431efc606592bb457fe40688fdbf911ac064a28c HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-winapi/vcpkg.json b/ports/boost-winapi/vcpkg.json index f16b47af4d6289..ccc417106348cd 100644 --- a/ports/boost-winapi/vcpkg.json +++ b/ports/boost-winapi/vcpkg.json @@ -1,22 +1,26 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-winapi", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost winapi module", - "homepage": "https://github.com/boostorg/winapi", + "homepage": "https://www.boost.org/libs/winapi", "license": "BSL-1.0", "dependencies": [ + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-predef", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "name": "boost-predef", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-xpressive/portfile.cmake b/ports/boost-xpressive/portfile.cmake index 12caf8628a9a28..dd306404ee5384 100644 --- a/ports/boost-xpressive/portfile.cmake +++ b/ports/boost-xpressive/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/xpressive - REF boost-1.83.0 - SHA512 7b9689eb55cd653b53e598c2911e1d32537125543b57ddf3bc7a2a7ee89fa33623354722cf916c68dd2410c3466d45b40bac02ed8076dc9b8b152d3549dc2015 + REF boost-${VERSION} + SHA512 cf9bb9b0680f43fbbcebe32441b81978ac036c20d1579fce375623e7a03c90276ba5b2b2363fe7988655afabaed42d296e8d2af5b6339a7bddd7b4b44d265054 HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-xpressive/vcpkg.json b/ports/boost-xpressive/vcpkg.json index d6bd5501cd0648..0d5269c3ab51f7 100644 --- a/ports/boost-xpressive/vcpkg.json +++ b/ports/boost-xpressive/vcpkg.json @@ -1,102 +1,106 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-xpressive", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost xpressive module", - "homepage": "https://github.com/boostorg/xpressive", + "homepage": "https://www.boost.org/libs/xpressive", "license": "BSL-1.0", "dependencies": [ { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-conversion", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-fusion", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-integer", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-iterator", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-lexical-cast", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-numeric-conversion", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-optional", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-preprocessor", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-proto", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-range", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-smart-ptr", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-spirit", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-typeof", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-utility", - "version>=": "1.83.0" - }, - { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boost-yap/portfile.cmake b/ports/boost-yap/portfile.cmake index 64db6e3254233a..f9379ba66a5077 100644 --- a/ports/boost-yap/portfile.cmake +++ b/ports/boost-yap/portfile.cmake @@ -3,10 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/yap - REF boost-1.83.0 - SHA512 c9f68a439556a9bb1943ab98da2f3a7d95d13b7c4104251c4f28f858392dc05d05fcb6bca31280ef040ea5562910a3c06fa00daeb7a3d74b3f761fc147363b98 + REF boost-${VERSION} + SHA512 81bdbe0e6d14556fbcca7c13073f2d18811288e8420e775f97e43bce00ea0d34aed61c2aec30a9b0427caa63374d60366c6437e6818b5672d91b828ed6e9d88d HEAD_REF master ) -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-yap/vcpkg.json b/ports/boost-yap/vcpkg.json index 3efe6d33295420..5403cd0d2b81bf 100644 --- a/ports/boost-yap/vcpkg.json +++ b/ports/boost-yap/vcpkg.json @@ -1,26 +1,34 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-yap", - "version": "1.83.0", + "version": "1.86.0", "description": "Boost yap module", - "homepage": "https://github.com/boostorg/yap", + "homepage": "https://www.boost.org/libs/yap", "license": "BSL-1.0", "dependencies": [ + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, { "name": "boost-hana", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { - "name": "boost-preprocessor", - "version>=": "1.83.0" + "name": "boost-headers", + "version>=": "1.86.0" }, { - "name": "boost-type-index", - "version>=": "1.83.0" + "name": "boost-preprocessor", + "version>=": "1.86.0" }, { - "name": "boost-vcpkg-helpers", - "version>=": "1.83.0" + "name": "boost-type-index", + "version>=": "1.86.0" } ] } diff --git a/ports/boost/vcpkg.json b/ports/boost/vcpkg.json index 1b59ec2f92ea36..d0727aa58e6888 100644 --- a/ports/boost/vcpkg.json +++ b/ports/boost/vcpkg.json @@ -1,7 +1,7 @@ { "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost", - "version": "1.83.0", + "version": "1.86.0", "port-version": 1, "description": "Peer-reviewed portable C++ source libraries", "homepage": "https://boost.org", @@ -9,616 +9,644 @@ "dependencies": [ { "name": "boost-accumulators", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-algorithm", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-align", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-any", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-array", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-asio", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-assign", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-atomic", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-beast", "platform": "!emscripten", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-bimap", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-bind", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-callable-traits", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-charconv", + "version>=": "1.86.0" }, { "name": "boost-chrono", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-circular-buffer", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-compat", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-compatibility", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-compute", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-concept-check", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-config", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-container", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-container-hash", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-context", "platform": "!uwp & !emscripten", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-contract", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-conversion", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-convert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-core", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-coroutine", "platform": "!(arm & windows) & !uwp & !emscripten", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-coroutine2", - "platform": "!emscripten", - "version>=": "1.83.0" + "platform": "!uwp & !emscripten", + "version>=": "1.86.0" }, { "name": "boost-crc", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-date-time", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-describe", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-detail", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-dll", - "version>=": "1.83.0" + "platform": "!uwp", + "version>=": "1.86.0" }, { "name": "boost-dynamic-bitset", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-endian", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-fiber", "platform": "!uwp & !(arm & windows) & !emscripten", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-filesystem", "platform": "!uwp", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-flyweight", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-foreach", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-format", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-function", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-function-types", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-functional", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-fusion", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-geometry", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-gil", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-graph", - "version>=": "1.83.0" + "platform": "!uwp", + "version>=": "1.86.0" }, { "name": "boost-hana", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" }, { "name": "boost-heap", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-histogram", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-hof", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-icl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-integer", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-interprocess", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-interval", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-intrusive", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-io", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-iostreams", "platform": "!uwp", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-iterator", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-json", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-lambda", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-lambda2", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-leaf", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-lexical-cast", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-local-function", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-locale", "platform": "!uwp", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-lockfree", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-log", "platform": "!uwp & !emscripten", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-logic", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-math", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-metaparse", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-move", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-mp11", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-mpl", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-msm", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-multi-array", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-multi-index", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-multiprecision", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-mysql", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-nowide", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-numeric-conversion", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-odeint", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-optional", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-outcome", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-parameter", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-parameter-python", - "platform": "!emscripten", - "version>=": "1.83.0" + "platform": "!uwp & !emscripten & !ios & !android", + "version>=": "1.86.0" }, { "name": "boost-pfr", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-phoenix", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-poly-collection", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-polygon", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-pool", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-predef", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-preprocessor", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-process", - "platform": "!emscripten", - "version>=": "1.83.0" + "platform": "!uwp & !emscripten & !android", + "version>=": "1.86.0" }, { "name": "boost-program-options", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-property-map", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-property-tree", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-proto", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-ptr-container", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-python", "platform": "!uwp & !emscripten & !ios & !android", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-qvm", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-random", "platform": "!uwp", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-range", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-ratio", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-rational", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-redis", + "version>=": "1.86.0" }, { "name": "boost-regex", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-safe-numerics", - "version>=": "1.83.0" + "version>=": "1.86.0" + }, + { + "name": "boost-scope", + "version>=": "1.86.0" }, { "name": "boost-scope-exit", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-serialization", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-signals2", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-smart-ptr", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-sort", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-spirit", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-stacktrace", "platform": "!uwp", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-statechart", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-assert", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-static-string", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-stl-interfaces", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-system", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-test", "platform": "!uwp", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-thread", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-throw-exception", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-timer", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-tokenizer", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-tti", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-tuple", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-erasure", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-index", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-type-traits", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-typeof", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-ublas", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-units", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-unordered", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-url", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-utility", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-uuid", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-variant", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-variant2", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-vmd", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-wave", "platform": "!uwp", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-winapi", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-xpressive", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-yap", - "version>=": "1.83.0" + "version>=": "1.86.0" } ], "features": { + "cobalt": { + "description": "Build boost-cobalt", + "dependencies": [ + { + "name": "boost-cobalt", + "platform": "!osx & !ios & !android & !uwp", + "version>=": "1.86.0" + } + ] + }, "mpi": { "description": "Build with MPI support", "dependencies": [ { "name": "boost-graph-parallel", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-mpi", - "version>=": "1.83.0" + "version>=": "1.86.0" }, { "name": "boost-property-map-parallel", - "version>=": "1.83.0" + "version>=": "1.86.0" } ] } diff --git a/ports/boringssl/0002-remove-WX-Werror.patch b/ports/boringssl/0002-remove-WX-Werror.patch index 36e0a42219dc29..a3ee79b7dd44ec 100644 --- a/ports/boringssl/0002-remove-WX-Werror.patch +++ b/ports/boringssl/0002-remove-WX-Werror.patch @@ -1,23 +1,28 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt +index ce60e8daf..015adf4c0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -140,7 +140,7 @@ if(CMAKE_COMPILER_IS_GNUCXX OR CLANG) +@@ -105,7 +105,7 @@ set(CMAKE_C_STANDARD_REQUIRED ON) + if(CMAKE_COMPILER_IS_GNUCXX OR CLANG) # Note clang-cl is odd and sets both CLANG and MSVC. We base our configuration # primarily on our normal Clang one. - # TODO(bbe) took out -Wmissing-field-initializers for pki - fix and put back or disable only for pki -- set(C_CXX_FLAGS "-Werror -Wformat=2 -Wsign-compare -Wwrite-strings -Wvla -Wshadow -Wtype-limits") -+ set(C_CXX_FLAGS "-Wformat=2 -Wsign-compare -Wwrite-strings -Wvla -Wshadow -Wtype-limits") +- set(C_CXX_FLAGS "-Werror -Wformat=2 -Wsign-compare -Wwrite-strings -Wvla -Wshadow -Wtype-limits -Wmissing-field-initializers") ++ set(C_CXX_FLAGS "-Wformat=2 -Wsign-compare -Wwrite-strings -Wvla -Wshadow -Wtype-limits -Wmissing-field-initializers") if(MSVC) # clang-cl sets different default warnings than clang. It also treats -Wall # as -Weverything, to match MSVC. Instead -W3 is the alias for -Wall. -@@ -211,8 +211,8 @@ elseif(MSVC) +@@ -192,12 +192,12 @@ elseif(MSVC) ) string(REPLACE "C" " -wd" MSVC_DISABLED_WARNINGS_STR ${MSVC_DISABLED_WARNINGS_LIST}) - set(CMAKE_C_FLAGS "-utf-8 -W4 -WX ${MSVC_DISABLED_WARNINGS_STR}") -- set(CMAKE_CXX_FLAGS "-utf-8 -W4 -WX ${MSVC_DISABLED_WARNINGS_STR}") + set(CMAKE_C_FLAGS "-utf-8 -W4 ${MSVC_DISABLED_WARNINGS_STR}") -+ set(CMAKE_CXX_FLAGS "-utf-8 -W4 ${MSVC_DISABLED_WARNINGS_STR}") + # Without /Zc:__cplusplus, MSVC does not define the right value for + # __cplusplus. See https://devblogs.microsoft.com/cppblog/msvc-now-correctly-reports-__cplusplus/ + # If this becomes too problematic for downstream code, we can look at + # _MSVC_LANG. +- set(CMAKE_CXX_FLAGS "-utf-8 -W4 -WX ${MSVC_DISABLED_WARNINGS_STR} -Zc:__cplusplus") ++ set(CMAKE_CXX_FLAGS "-utf-8 -W4 ${MSVC_DISABLED_WARNINGS_STR} -Zc:__cplusplus") endif() if(WIN32) diff --git a/ports/boringssl/0003-fix-shared-symbol-visibility.patch b/ports/boringssl/0003-fix-shared-symbol-visibility.patch index 1b73d0b48a92b6..8cf9d6bc1f4b33 100644 --- a/ports/boringssl/0003-fix-shared-symbol-visibility.patch +++ b/ports/boringssl/0003-fix-shared-symbol-visibility.patch @@ -1,7 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2308d5721..d14f02b66 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -252,8 +252,6 @@ if(FUZZ) +@@ -237,8 +237,6 @@ if(FUZZ) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address,fuzzer-no-link -fsanitize-coverage=edge,indirect-calls") endif() @@ -10,34 +11,27 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt if(BUILD_SHARED_LIBS) add_definitions(-DBORINGSSL_SHARED_LIBRARY) # Enable position-independent code globally. This is needed because -@@ -563,7 +561,7 @@ if(APPLE) - endif() +@@ -579,6 +577,7 @@ target_include_directories(crypto PUBLIC + $ + ) + set_property(TARGET crypto PROPERTY EXPORT_NAME Crypto) ++target_compile_definitions(crypto PRIVATE BORINGSSL_IMPLEMENTATION) + + if(FIPS_SHARED) + # Rewrite libcrypto.so to inject the correct module hash value. This assumes +@@ -624,6 +623,7 @@ add_library(ssl ${SSL_SOURCES}) + # here. + set_property(TARGET ssl PROPERTY EXPORT_NAME SSL) + target_link_libraries(ssl crypto) ++target_compile_definitions(ssl PRIVATE BORINGSSL_IMPLEMENTATION) + + add_library(decrepit ${DECREPIT_SOURCES}) + target_link_libraries(decrepit crypto ssl) +@@ -665,6 +665,7 @@ endif() add_library(pki ${PKI_SOURCES}) --target_compile_definitions(pki PRIVATE _BORINGSSL_LIBPKI_) -+target_compile_definitions(pki PRIVATE _BORINGSSL_LIBPKI_ BORINGSSL_IMPLEMENTATION) target_link_libraries(pki crypto) ++target_compile_definitions(pki PRIVATE BORINGSSL_IMPLEMENTATION) add_executable(pki_test ${PKI_TEST_SOURCES}) -diff --git a/crypto/CMakeLists.txt b/crypto/CMakeLists.txt ---- a/crypto/CMakeLists.txt -+++ b/crypto/CMakeLists.txt -@@ -294,6 +294,7 @@ add_library( - $ - ${CRYPTO_FIPS_OBJECTS} - ) -+target_compile_definitions(crypto PRIVATE BORINGSSL_IMPLEMENTATION) - if(OPENSSL_ASM) - target_sources(crypto PRIVATE ${CRYPTO_SOURCES_ASM}) - endif() -diff --git a/ssl/CMakeLists.txt b/ssl/CMakeLists.txt ---- a/ssl/CMakeLists.txt -+++ b/ssl/CMakeLists.txt -@@ -39,6 +39,7 @@ add_library( - tls13_enc.cc - tls13_server.cc - ) -+target_compile_definitions(ssl PRIVATE BORINGSSL_IMPLEMENTATION) - # Although libssl also provides headers that require an include directory, the - # flag is already specified by libcrypto, so we omit target_include_directories - # here. + target_link_libraries(pki_test test_support_lib boringssl_gtest pki crypto) diff --git a/ports/boringssl/portfile.cmake b/ports/boringssl/portfile.cmake index 6fb4c9c80a790c..b639d747e66216 100644 --- a/ports/boringssl/portfile.cmake +++ b/ports/boringssl/portfile.cmake @@ -17,8 +17,8 @@ vcpkg_add_to_path("${GO_EXE_PATH}") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/boringssl - REF cfcb954901e264edb9915e501de64a81732c5edd - SHA512 6fc7fff24c85ed580fb362f788b216ef04ca16976656c68c75d3fd72c84e28ed39a3ab8fcb064b7c7061f93a4d37d5426e36d259e1714fa62d90b99659a3ddc2 + REF 0.20240913.0 + SHA512 bfb36d7d0a90bbede3f77967525cd9377e7488114c3d0fb576015d0361e7f4460801aab8ef8a470908541bc9d7f76cdbdd823af4fd6aaebb4cac711ee5b5b9fa HEAD_REF master PATCHES 0001-static-gtest.patch diff --git a/ports/boringssl/vcpkg.json b/ports/boringssl/vcpkg.json index 6dc9f6b02db09e..a9a24dec58b094 100644 --- a/ports/boringssl/vcpkg.json +++ b/ports/boringssl/vcpkg.json @@ -1,6 +1,6 @@ { "name": "boringssl", - "version-date": "2023-10-13", + "version-date": "2024-09-13", "description": "BoringSSL is a fork of OpenSSL developed by Google", "homepage": "https://boringssl.googlesource.com/boringssl", "supports": "!uwp", diff --git a/ports/botan/0009-fix-regression-f2bf049-85491b3.patch b/ports/botan/0009-fix-regression-f2bf049-85491b3.patch new file mode 100644 index 00000000000000..27d58f88d9fbe5 --- /dev/null +++ b/ports/botan/0009-fix-regression-f2bf049-85491b3.patch @@ -0,0 +1,39 @@ +diff --git a/configure.py b/configure.py +index be0dc23..27f48b8 100644 +--- a/configure.py ++++ b/configure.py +@@ -2322,6 +2322,8 @@ def create_template_vars(source_paths, build_paths, options, modules, disabled_m + # just transfer them over to just the compiler invocations + variables['cc_compile_flags'] = '%s %s' % (variables['cxx_abi_flags'], variables['cc_compile_flags']) + variables['cxx_abi_flags'] = '' ++ else: ++ variables['ldflags'] = '%s %s' % (variables['ldflags'], variables['cc_compile_flags']) + + variables['lib_flags'] = cc.gen_lib_flags(options, variables) + +diff --git a/src/build-data/makefile.in b/src/build-data/makefile.in +index 7696aa7..4dbf192 100644 +--- a/src/build-data/makefile.in ++++ b/src/build-data/makefile.in +@@ -16,7 +16,7 @@ LANG_EXE_FLAGS = %{cc_lang_binary_linker_flags} + CXXFLAGS = %{cc_compile_flags} + WARN_FLAGS = %{cc_warning_flags} + LIB_FLAGS = %{lib_flags} +-LDFLAGS = %{ldflags} %{cc_compile_flags} ++LDFLAGS = %{ldflags} + + EXE_LINK_CMD = %{exe_link_cmd} + +diff --git a/src/build-data/ninja.in b/src/build-data/ninja.in +index a6279d3..414663a 100644 +--- a/src/build-data/ninja.in ++++ b/src/build-data/ninja.in +@@ -10,7 +10,7 @@ LANG_EXE_FLAGS = %{cc_lang_binary_linker_flags} + CXXFLAGS = %{cc_compile_flags} + WARN_FLAGS = %{cc_warning_flags} + +-LDFLAGS = %{ldflags} %{cc_compile_flags} ++LDFLAGS = %{ldflags} + + EXE_LINK_CMD = %{exe_link_cmd} + diff --git a/ports/botan/embed-debug-info.patch b/ports/botan/embed-debug-info.patch index 09a17202e0dd17..14d2a5ca4a18a5 100644 --- a/ports/botan/embed-debug-info.patch +++ b/ports/botan/embed-debug-info.patch @@ -1,11 +1,11 @@ diff --git a/src/build-data/cc/msvc.txt b/src/build-data/cc/msvc.txt -index 2306a4485..977e2e958 100644 +index 64b6eae..66258ca 100644 --- a/src/build-data/cc/msvc.txt +++ b/src/build-data/cc/msvc.txt -@@ -17,10 +17,10 @@ optimization_flags "/O2 /Oi" +@@ -20,10 +20,10 @@ optimization_flags "/O2 /Oi /Zc:throwingNew" size_optimization_flags "/O1 /Os" - # for debug info in the object file: + # for debug info in the object file (required if using sccache): -#debug_info_flags "/Z7" +debug_info_flags "/Z7" @@ -13,5 +13,5 @@ index 2306a4485..977e2e958 100644 -debug_info_flags "/Zi /FS" +#debug_info_flags "/Zi /FS" - preproc_flags "/nologo /EP" + preproc_flags "/nologo /EP /Zc:preprocessor" diff --git a/ports/botan/fix-cmake-usage.patch b/ports/botan/fix-cmake-usage.patch new file mode 100644 index 00000000000000..e1c8f5978faa63 --- /dev/null +++ b/ports/botan/fix-cmake-usage.patch @@ -0,0 +1,79 @@ +diff --git a/src/build-data/botan-config.cmake.in b/src/build-data/botan-config.cmake.in +index 8d14c4e..cfc9277 100644 +--- a/src/build-data/botan-config.cmake.in ++++ b/src/build-data/botan-config.cmake.in +@@ -65,27 +65,36 @@ if(DEFINED ${CMAKE_FIND_PACKAGE_NAME}_FOUND AND NOT ${${CMAKE_FIND_PACKAGE_NAME} + return() + endif() + +-# botan-config.cmake lives in "${_Botan_PREFIX}/lib/cmake/Botan-X": traverse up to $_Botan_PREFIX ++# botan-config.cmake lives in "${_Botan_PREFIX}/share/botan": traverse up to $_Botan_PREFIX + set(_Botan_PREFIX "${CMAKE_CURRENT_LIST_DIR}") + get_filename_component(_Botan_PREFIX "${_Botan_PREFIX}" DIRECTORY) + get_filename_component(_Botan_PREFIX "${_Botan_PREFIX}" DIRECTORY) +-get_filename_component(_Botan_PREFIX "${_Botan_PREFIX}" DIRECTORY) + + %{if build_static_lib} + if(NOT TARGET Botan::Botan-static) + add_library(Botan::Botan-static STATIC IMPORTED) + set_target_properties(Botan::Botan-static + PROPERTIES +- IMPORTED_LOCATION "${_Botan_PREFIX}/lib/%{static_lib_name}" +- INTERFACE_INCLUDE_DIRECTORIES "${_Botan_PREFIX}/include/botan-%{version_major}" ++ INTERFACE_INCLUDE_DIRECTORIES "${_Botan_PREFIX}/include" + IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" + INTERFACE_LINK_OPTIONS "SHELL:%{cxx_abi_flags}") ++ if(EXISTS "${_Botan_PREFIX}/debug/lib/%{static_lib_name}") ++ set_property(TARGET Botan::Botan-static APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG) ++ set_target_properties(Botan::Botan-static PROPERTIES ++ IMPORTED_LOCATION_DEBUG "${_Botan_PREFIX}/debug/lib/%{static_lib_name}" ++ ) ++ endif() ++ set_property(TARGET Botan::Botan-static APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) ++ set_target_properties(Botan::Botan-static PROPERTIES ++ IMPORTED_LOCATION_RELEASE "${_Botan_PREFIX}/lib/%{static_lib_name}" ++ ) + endif() + %{endif} + + %{if implib_name} +-set(_Botan_implib "${_Botan_PREFIX}/lib/%{implib_name}") +-set(_Botan_shared_lib "${_Botan_PREFIX}/bin/%{shared_lib_name}") ++set(_Botan_implib "${_Botan_PREFIX}/lib/%{implib_name}") ++set(_Botan_implib_debug "${_Botan_PREFIX}/debug/lib/%{implib_name}") ++set(_Botan_shared_lib "${_Botan_PREFIX}/bin/%{shared_lib_name}") + %{endif} + %{unless implib_name} + set(_Botan_implib "") +@@ -100,10 +109,28 @@ if(NOT TARGET Botan::Botan) + add_library(Botan::Botan SHARED IMPORTED) + set_target_properties(Botan::Botan + PROPERTIES +- IMPORTED_LOCATION "${_Botan_shared_lib}" +- IMPORTED_IMPLIB "${_Botan_implib}" +- INTERFACE_INCLUDE_DIRECTORIES "${_Botan_PREFIX}/include/botan-%{version_major}" ++ INTERFACE_INCLUDE_DIRECTORIES "${_Botan_PREFIX}/include" + INTERFACE_LINK_OPTIONS "SHELL:%{cxx_abi_flags}") ++ if(EXISTS "${_Botan_PREFIX}/debug/lib/%{shared_lib_name}") ++ set_property(TARGET Botan::Botan APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG) ++ set_target_properties(Botan::Botan PROPERTIES ++ IMPORTED_LOCATION_DEBUG "${_Botan_PREFIX}/debug/bin/%{shared_lib_name}" ++ ) ++ if(NOT _Botan_implib STREQUAL "") ++ set_target_properties(Botan::Botan PROPERTIES ++ IMPORTED_IMPLIB_DEBUG ${_Botan_implib_debug} ++ ) ++ endif() ++ endif() ++ set_property(TARGET Botan::Botan APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) ++ set_target_properties(Botan::Botan PROPERTIES ++ IMPORTED_LOCATION_RELEASE "${_Botan_PREFIX}/bin/%{shared_lib_name}" ++ ) ++ if(NOT _Botan_implib STREQUAL "") ++ set_target_properties(Botan::Botan PROPERTIES ++ IMPORTED_IMPLIB_RELEASE ${_Botan_implib} ++ ) ++ endif() + set_property(TARGET Botan::Botan APPEND PROPERTY IMPORTED_CONFIGURATIONS NOCONFIG) + set_target_properties(Botan::Botan + PROPERTIES diff --git a/ports/botan/fix_android.patch b/ports/botan/fix_android.patch new file mode 100644 index 00000000000000..a8b562861ad39f --- /dev/null +++ b/ports/botan/fix_android.patch @@ -0,0 +1,13 @@ +diff --git a/src/lib/utils/prefetch.cpp b/src/lib/utils/prefetch.cpp +index 40786b3..e0d5239 100644 +--- a/src/lib/utils/prefetch.cpp ++++ b/src/lib/utils/prefetch.cpp +@@ -12,7 +12,7 @@ + namespace Botan { + + uint64_t prefetch_array_raw(size_t bytes, const void* arrayv) noexcept { +-#if defined(__cpp_lib_hardware_interference_size) ++#if defined(__cpp_lib_hardware_interference_size) && (!defined(BOTAN_TARGET_OS_IS_ANDROID) || defined(NDK_IS_NEWER_THAN_25)) + const size_t cache_line_size = std::hardware_destructive_interference_size; + #else + // We arbitrarily use a 64 byte cache line, which is by far the most diff --git a/ports/botan/libcxx-winpthread-fixes.patch b/ports/botan/libcxx-winpthread-fixes.patch new file mode 100644 index 00000000000000..bf5ee22ecb8b3b --- /dev/null +++ b/ports/botan/libcxx-winpthread-fixes.patch @@ -0,0 +1,14 @@ +diff --git a/src/tests/tests.h b/src/tests/tests.h +index d198376..12f001a 100644 +--- a/src/tests/tests.h ++++ b/src/tests/tests.h +@@ -17,7 +17,9 @@ + #include + #include + #include ++#ifndef __ANDROID__ + #include ++#endif + #include + #include + #include diff --git a/ports/botan/portfile.cmake b/ports/botan/portfile.cmake index 7d265ba541360a..9f70d1d0016409 100644 --- a/ports/botan/portfile.cmake +++ b/ports/botan/portfile.cmake @@ -1,15 +1,18 @@ -vcpkg_minimum_required(VERSION 2022-10-12) # for ${VERSION} vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO randombit/botan REF "${VERSION}" - SHA512 fb6be83b0292bb28319061721fe10ea16776a942b381780a8d4bece9b86e3525a0f533e3572e54c6498b08c4dc421a746bff8f0302f3ea0d810e266811331a65 + SHA512 dcd9ac8e748422d55854c38e565704e4a239418b6855836bdea85bd4dc3ab45e218d320471b98b6a451fc63d8518895f3813a50c94dee90227c09d12d96ca1dc HEAD_REF master PATCHES embed-debug-info.patch pkgconfig.patch verbose-install.patch configure-zlib.patch + fix_android.patch + libcxx-winpthread-fixes.patch + fix-cmake-usage.patch + 0009-fix-regression-f2bf049-85491b3.patch # extract from PR 4255 ) file(COPY "${CMAKE_CURRENT_LIST_DIR}/configure" DESTINATION "${SOURCE_PATH}") @@ -53,7 +56,9 @@ if("zlib" IN_LIST FEATURES) x_vcpkg_pkgconfig_get_modules(LIBS PREFIX "ZLIB" MODULES "zlib" ${pkgconfig_syntax}) endif() -if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") +if(VCPKG_TARGET_IS_EMSCRIPTEN) + vcpkg_list(APPEND configure_arguments --cpu=wasm) +elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") vcpkg_list(APPEND configure_arguments --cpu=x86) elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") vcpkg_list(APPEND configure_arguments --cpu=x86_64) @@ -65,6 +70,12 @@ else() message(FATAL_ERROR "Unsupported architecture") endif() +# Allow disabling use of WinSock2 by setting BOTAN_USE_WINSOCK2=OFF in triplet +# for targeting older Windows versions with missing APIs. +if(VCPKG_TARGET_IS_WINDOWS AND DEFINED BOTAN_USE_WINSOCK2 AND NOT BOTAN_USE_WINSOCK2) + vcpkg_list(APPEND configure_arguments --without-os-features=winsock2) +endif() + if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) vcpkg_list(APPEND configure_arguments --os=windows) @@ -72,6 +83,16 @@ if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) vcpkg_list(APPEND configure_arguments --cc=msvc) endif() + # When compiling with Clang, -mrdrand is required to enable the RDRAND intrinsics. Botan will + # check for RDRAND at runtime before trying to use it, so we should be safe to specify this + # without triggering illegal instruction faults on older CPUs. + if(VCPKG_DETECTED_CMAKE_CXX_COMPILER MATCHES "clang-cl(\.exe)?$") + vcpkg_list(APPEND configure_arguments "--extra-cxxflags=${VCPKG_DETECTED_CMAKE_CXX_FLAGS} -mrdrnd") + else() + # ...otherwise just forward the detected CXXFLAGS. + vcpkg_list(APPEND configure_arguments "--extra-cxxflags=${VCPKG_DETECTED_CMAKE_CXX_FLAGS}") + endif() + if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") vcpkg_list(APPEND configure_arguments --enable-shared-library --disable-static-library) else() @@ -101,6 +122,11 @@ if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) "--msvc-runtime=${BOTAN_MSVC_RUNTIME}d" "--with-external-libdir=${CURRENT_INSTALLED_DIR}/debug/lib" --debug-mode + OPTIONS + "CXX=\"${VCPKG_DETECTED_CMAKE_CXX_COMPILER}\"" + "LINKER=\"${VCPKG_DETECTED_CMAKE_LINKER}\"" + "AR=\"${VCPKG_DETECTED_CMAKE_AR}\"" + "EXE_LINK_CMD=\"${VCPKG_DETECTED_CMAKE_LINKER}\" ${VCPKG_LINKER_FLAGS}" OPTIONS_RELEASE "ZLIB_LIBS=${ZLIB_LIBS_RELEASE}" OPTIONS_DEBUG @@ -109,11 +135,17 @@ if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) vcpkg_copy_tools(TOOL_NAMES botan-cli AUTO_CLEAN) vcpkg_copy_pdbs() else() - if(VCPKG_TARGET_IS_MINGW) + if(VCPKG_TARGET_IS_ANDROID) + vcpkg_list(APPEND configure_arguments --os=android) + elseif(VCPKG_TARGET_IS_EMSCRIPTEN) + vcpkg_list(APPEND configure_arguments --os=emscripten) + elseif(VCPKG_TARGET_IS_MINGW) vcpkg_list(APPEND configure_arguments --os=mingw) endif() - if(VCPKG_DETECTED_CMAKE_CXX_COMPILER_ID STREQUAL "GNU") + if(VCPKG_TARGET_IS_EMSCRIPTEN) + vcpkg_list(APPEND configure_arguments --cc=emcc) + elseif(VCPKG_DETECTED_CMAKE_CXX_COMPILER_ID STREQUAL "GNU") vcpkg_list(APPEND configure_arguments --cc=gcc) elseif(VCPKG_DETECTED_CMAKE_CXX_COMPILER_ID MATCHES "Clang") vcpkg_list(APPEND configure_arguments --cc=clang) @@ -141,9 +173,13 @@ else() "ZLIB_LIBS_RELEASE=${ZLIB_LIBS_RELEASE}" "ZLIB_LIBS_DEBUG=${ZLIB_LIBS_DEBUG}" ) - vcpkg_copy_tools(TOOL_NAMES botan AUTO_CLEAN) + if(NOT VCPKG_TARGET_IS_EMSCRIPTEN) + vcpkg_copy_tools(TOOL_NAMES botan AUTO_CLEAN) + endif() endif() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/Botan-${VERSION}") + file(RENAME "${CURRENT_PACKAGES_DIR}/include/botan-3/botan" "${CURRENT_PACKAGES_DIR}/include/botan") if(pkgconfig_requires) @@ -162,8 +198,8 @@ file(REMOVE_RECURSE ) vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/botan/build.h" "#define BOTAN_INSTALL_PREFIX R\"(${CURRENT_PACKAGES_DIR})\"" "") -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/botan/build.h" "#define BOTAN_INSTALL_LIB_DIR R\"(${CURRENT_PACKAGES_DIR}\\lib)\"" "") -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/botan/build.h" "#define BOTAN_INSTALL_LIB_DIR R\"(${CURRENT_PACKAGES_DIR}/lib)\"" "") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/botan/build.h" "#define BOTAN_INSTALL_LIB_DIR R\"(${CURRENT_PACKAGES_DIR}\\lib)\"" "" IGNORE_UNCHANGED) +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/botan/build.h" "#define BOTAN_INSTALL_LIB_DIR R\"(${CURRENT_PACKAGES_DIR}/lib)\"" "" IGNORE_UNCHANGED) vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/botan/build.h" "--prefix=${CURRENT_PACKAGES_DIR}" "") vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/license.txt") diff --git a/ports/botan/vcpkg.json b/ports/botan/vcpkg.json index 067569ba68f380..e36048d8e239c9 100644 --- a/ports/botan/vcpkg.json +++ b/ports/botan/vcpkg.json @@ -1,11 +1,15 @@ { "name": "botan", - "version": "3.1.1", + "version": "3.6.1", "description": "A cryptography library written in C++11", "homepage": "https://botan.randombit.net", "license": "BSD-2-Clause", "supports": "!uwp", "dependencies": [ + { + "name": "vcpkg-cmake-config", + "host": true + }, { "name": "vcpkg-cmake-get-vars", "host": true diff --git a/ports/braft/export-target.patch b/ports/braft/export-target.patch index 097a0570ca48f7..98b04e90129a5d 100644 --- a/ports/braft/export-target.patch +++ b/ports/braft/export-target.patch @@ -1,5 +1,27 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3d75dd5..090a02e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -99,7 +99,7 @@ if(BRPC_WITH_GLOG) + ${OPENSSL_LIBRARIES} + ${OPENSSL_CRYPTO_LIBRARY} + dl +- z ++ ZLIB::ZLIB + ) + else() + set(DYNAMIC_LIB +@@ -111,7 +111,7 @@ else() + ${OPENSSL_LIBRARIES} + ${OPENSSL_CRYPTO_LIBRARY} + dl +- z ++ ZLIB::ZLIB + ) + endif() + diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 78adc56..ff435a2 100644 +index 78adc56..50cffc6 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -19,8 +19,10 @@ add_library(braft-static STATIC $) @@ -13,7 +35,7 @@ index 78adc56..ff435a2 100644 target_link_libraries(braft-static PUBLIC ${DYNAMIC_LIB}) endif() -@@ -31,15 +33,30 @@ SET_TARGET_PROPERTIES(braft-shared PROPERTIES OUTPUT_NAME braft CLEAN_DIRECT_OUT +@@ -31,15 +33,32 @@ SET_TARGET_PROPERTIES(braft-shared PROPERTIES OUTPUT_NAME braft CLEAN_DIRECT_OUT endif() if (NOT BUILD_SHARED_LIBS) @@ -34,7 +56,9 @@ index 78adc56..ff435a2 100644 + +file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/unofficial-braft-config.cmake" +[[include(CMakeFindDependencyMacro) ++find_dependency(ZLIB) +find_dependency(gflags CONFIG) ++find_dependency(Protobuf CONFIG) +file(GLOB TARGET_FILES "${CMAKE_CURRENT_LIST_DIR}/unofficial-braftTargets.cmake") +foreach (TARGET_FILE ${TARGET_FILES}) + include("${TARGET_FILE}") diff --git a/ports/braft/fix-dependency.patch b/ports/braft/fix-dependency.patch index b39ba03fa619f0..d875f352d58af1 100644 --- a/ports/braft/fix-dependency.patch +++ b/ports/braft/fix-dependency.patch @@ -1,5 +1,5 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 53ddaed..a851c00 100644 +index 53ddaed..3d75dd5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -47,8 +47,9 @@ if ((NOT LEVELDB_INCLUDE_PATH) OR (NOT LEVELDB_LIB)) @@ -14,3 +14,18 @@ index 53ddaed..a851c00 100644 if ((NOT GFLAGS_INCLUDE_PATH) OR (NOT GFLAGS_LIB)) message(FATAL_ERROR "Fail to find gflags") endif() +@@ -77,13 +78,7 @@ if (NOT PROTOBUF_PROTOC_EXECUTABLE) + set (PROTOBUF_PROTOC_EXECUTABLE "${PROTO_LIB_DIR}/../bin/protoc") + endif() + +-if(CMAKE_SYSTEM_NAME STREQUAL "Darwin") +- set(OPENSSL_ROOT_DIR +- "/usr/local/opt/openssl" # Homebrew installed OpenSSL +- ) +-endif() +- +-include(FindOpenSSL) ++find_package(OpenSSL REQUIRED) + + include_directories( + ${GFLAGS_INCLUDE_PATH} diff --git a/ports/braft/fix-glog.patch b/ports/braft/fix-glog.patch new file mode 100644 index 00000000000000..a2783e5c0c57e9 --- /dev/null +++ b/ports/braft/fix-glog.patch @@ -0,0 +1,39 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 090a02e..fbe0ac3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -55,12 +55,8 @@ if ((NOT GFLAGS_INCLUDE_PATH) OR (NOT GFLAGS_LIB)) + endif() + + if(BRPC_WITH_GLOG) +- find_path(GLOG_INCLUDE_PATH NAMES glog/logging.h) +- find_library(GLOG_LIB NAMES glog) +- if((NOT GLOG_INCLUDE_PATH) OR (NOT GLOG_LIB)) +- message(FATAL_ERROR "Fail to find glog") +- endif() +- include_directories(${GLOG_INCLUDE_PATH}) ++ find_package(glog CONFIG REQUIRED) ++ set(GLOG_LIB glog::glog) + endif() + + if(LEVELDB_WITH_SNAPPY) +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 70d73df..a3d3046 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -11,6 +11,7 @@ include_directories(${CMAKE_SOURCE_DIR}/src) + + add_library(OBJ_LIB OBJECT ${SOURCES}) + ++target_link_libraries(OBJ_LIB PUBLIC ${DYNAMIC_LIB}) + set_property(TARGET ${OBJ_LIB} PROPERTY POSITION_INDEPENDENT_CODE 1) + if (BUILD_SHARED_LIBS) + add_library(braft-shared SHARED $) +@@ -50,6 +51,7 @@ file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/unofficial-braft-config.cmake" + [[include(CMakeFindDependencyMacro) + find_dependency(ZLIB) + find_dependency(gflags CONFIG) ++find_dependency(glog CONFIG) + find_dependency(Protobuf CONFIG) + file(GLOB TARGET_FILES "${CMAKE_CURRENT_LIST_DIR}/unofficial-braftTargets.cmake") + foreach (TARGET_FILE ${TARGET_FILES}) diff --git a/ports/braft/portfile.cmake b/ports/braft/portfile.cmake index 6e5875b1d67b4a..8811e4f9b3c6ad 100644 --- a/ports/braft/portfile.cmake +++ b/ports/braft/portfile.cmake @@ -16,6 +16,8 @@ vcpkg_from_github( fix-dependency.patch export-target.patch "${GCC_11_PATCH}" + fix-glog.patch + protobuf.patch ) vcpkg_cmake_configure( diff --git a/ports/braft/protobuf.patch b/ports/braft/protobuf.patch new file mode 100644 index 00000000000000..7ba2bed6eb2d23 --- /dev/null +++ b/ports/braft/protobuf.patch @@ -0,0 +1,23 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 28c1026..65af3ae 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -22,7 +22,7 @@ endif() + set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) + + include(FindThreads) +-include(FindProtobuf) ++find_package(Protobuf CONFIG REQUIRED) + + if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") + # require at least gcc 4.8 +@@ -69,7 +69,8 @@ if ((NOT BRPC_INCLUDE_PATH) OR (NOT BRPC_LIB)) + message(FATAL_ERROR "Fail to find brpc") + endif() + +-if (NOT PROTOBUF_PROTOC_EXECUTABLE) ++set(PROTOBUF_LIBRARY protobuf::libprotobuf) ++if (0) + get_filename_component(PROTO_LIB_DIR ${PROTOBUF_LIBRARY} DIRECTORY) + set (PROTOBUF_PROTOC_EXECUTABLE "${PROTO_LIB_DIR}/../bin/protoc") + endif() diff --git a/ports/braft/vcpkg.json b/ports/braft/vcpkg.json index 19bfa4481e075d..2083b4d5cecbd9 100644 --- a/ports/braft/vcpkg.json +++ b/ports/braft/vcpkg.json @@ -1,7 +1,7 @@ { "name": "braft", "version-date": "2021-26-04", - "port-version": 1, + "port-version": 5, "description": "Consensus algorithm library", "homepage": "https://github.com/baidu/braft", "license": "Apache-2.0", diff --git a/ports/breakpad/CMakeLists.txt b/ports/breakpad/CMakeLists.txt index f37d30f3ef6dfc..53d24c7fc97ddb 100644 --- a/ports/breakpad/CMakeLists.txt +++ b/ports/breakpad/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.8) project(breakpad CXX) -set(CMAKE_CXX_STANDARD 11) +set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) add_definitions( @@ -24,10 +24,10 @@ if(NOT CMAKE_SYSTEM_NAME STREQUAL Android) file(GLOB_RECURSE LIBBREAKPAD_SOURCES src/processor/*.cc) if(WIN32) list(FILTER LIBBREAKPAD_SOURCES EXCLUDE REGEX - "_unittest|_selftest|synth_minidump|/tests|/testdata|/linux|/mac|/android|/solaris|microdump_stackwalk|minidump_dump|minidump_stackwalk") + "_unittest|_selftest|synth_minidump|/tests|/testdata|/linux|/mac|/android|/solaris|microdump_stackwalk|minidump_dump|minidump_stackwalk|disassembler_objdump.cc") elseif(APPLE) list(FILTER LIBBREAKPAD_SOURCES EXCLUDE REGEX - "_unittest|_selftest|synth_minidump|/tests|/testdata|/linux|/windows|/android|/solaris|microdump_stackwalk|minidump_dump|minidump_stackwalk") + "_unittest|_selftest|synth_minidump|/tests|/testdata|/linux|/windows|/android|/solaris|microdump_stackwalk|minidump_dump|minidump_stackwalk|disassembler_objdump.cc") else() list(FILTER LIBBREAKPAD_SOURCES EXCLUDE REGEX "_unittest|_selftest|synth_minidump|/tests|/testdata|/mac|/windows|/android|/solaris|microdump_stackwalk|minidump_dump|minidump_stackwalk") @@ -93,6 +93,14 @@ else() endif() endif() +set(USED_ZLIB OFF) +if(LINUX AND NOT CMAKE_SYSTEM_NAME STREQUAL Android) + # src/common/linux/dump_symbols.cc wants zlib.h + find_package(ZLIB REQUIRED) + target_link_libraries(libbreakpad_client PRIVATE ZLIB::ZLIB) + set(USED_ZLIB ON) +endif() + target_include_directories(libbreakpad_client PUBLIC $ @@ -141,14 +149,6 @@ if(INSTALL_TOOLS) src/common/dwarf/dwarf2diehandler.cc src/common/dwarf/dwarf2reader.cc src/common/dwarf/elf_reader.cc - src/common/linux/crc32.cc - src/common/linux/dump_symbols.cc - src/common/linux/elf_symbols_to_module.cc - src/common/linux/elfutils.cc - src/common/linux/file_id.cc - src/common/linux/linux_libc_support.cc - src/common/linux/memory_mapped_file.cc - src/common/linux/safe_readlink.cc src/tools/linux/dump_syms/dump_syms.cc) target_link_libraries(dump_syms PRIVATE libbreakpad_client) install(TARGETS dump_syms DESTINATION bin) @@ -213,7 +213,9 @@ endif() install( EXPORT unofficial-breakpad-targets - FILE unofficial-breakpad-config.cmake + FILE unofficial-breakpadTargets.cmake NAMESPACE unofficial::breakpad:: DESTINATION share/unofficial-breakpad ) + +configure_file("${CMAKE_CURRENT_LIST_DIR}/unofficial-breakpadConfig.cmake" "${CMAKE_INSTALL_PREFIX}/share/unofficial-breakpad/unofficial-breakpadConfig.cmake" @ONLY) diff --git a/ports/breakpad/add-algorithm-1.patch b/ports/breakpad/add-algorithm-1.patch new file mode 100644 index 00000000000000..20b13ed227d19b --- /dev/null +++ b/ports/breakpad/add-algorithm-1.patch @@ -0,0 +1,12 @@ +diff --git a/src/common/string_view.h b/src/common/string_view.h +index a8e15922..bcaa7b96 100644 +--- a/src/common/string_view.h ++++ b/src/common/string_view.h +@@ -29,6 +29,7 @@ + #ifndef COMMON_STRING_VIEW_H__ + #define COMMON_STRING_VIEW_H__ + ++#include + #include + #include + #include diff --git a/ports/breakpad/add-algorithm.patch b/ports/breakpad/add-algorithm.patch new file mode 100644 index 00000000000000..3a53e42bccf9f1 --- /dev/null +++ b/ports/breakpad/add-algorithm.patch @@ -0,0 +1,12 @@ +diff --git a/src/common/module.cc b/src/common/module.cc +index 0eb5aad..b6f5da7 100644 +--- a/src/common/module.cc ++++ b/src/common/module.cc +@@ -42,6 +42,7 @@ + #include + #include + ++#include + #include + #include + #include diff --git a/ports/breakpad/fix-unique_ptr.patch b/ports/breakpad/fix-unique_ptr.patch deleted file mode 100644 index 4f81de3d9e850f..00000000000000 --- a/ports/breakpad/fix-unique_ptr.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/common/windows/pe_util.cc b/src/common/windows/pe_util.cc -index 9f9e8fa..d912635 100644 ---- a/src/common/windows/pe_util.cc -+++ b/src/common/windows/pe_util.cc -@@ -28,7 +28,7 @@ - // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - #include "pe_util.h" -- -+#include - #include - #include - #include diff --git a/ports/breakpad/portfile.cmake b/ports/breakpad/portfile.cmake index b5d472da6b1b22..c81c61f68bf33a 100644 --- a/ports/breakpad/portfile.cmake +++ b/ports/breakpad/portfile.cmake @@ -1,49 +1,69 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO google/breakpad - REF v2022.07.12 - SHA512 872fa74520709d6510b798c7adfb7fed34a84b1831e774087515c23a005b0ea76ef7758bb565f0ff9f2153206cf53958621463fba0e055c9d31dc68f687e2b8f - HEAD_REF master - PATCHES - fix-unique_ptr.patch -) - -if(VCPKG_HOST_IS_LINUX OR VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_ANDROID) - vcpkg_from_git( - OUT_SOURCE_PATH LSS_SOURCE_PATH - URL https://chromium.googlesource.com/linux-syscall-support - REF 7bde79cc274d06451bf65ae82c012a5d3e476b5a - ) - - file(RENAME "${LSS_SOURCE_PATH}" "${SOURCE_PATH}/src/third_party/lss") -endif() - -file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" "${CMAKE_CURRENT_LIST_DIR}/check_getcontext.cc" DESTINATION "${SOURCE_PATH}") - -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - FEATURES - "tools" INSTALL_TOOLS -) - -vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - ${FEATURE_OPTIONS} - OPTIONS_RELEASE - -DINSTALL_HEADERS=ON -) - -vcpkg_cmake_install() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/client/linux/data" "${CURRENT_PACKAGES_DIR}/include/client/linux/sender") - -if("tools" IN_LIST FEATURES) - vcpkg_copy_tools(TOOL_NAMES microdump_stackwalk minidump_dump minidump_stackwalk core2md pid2md dump_syms minidump-2-core minidump_upload sym_upload core_handler AUTO_CLEAN) -endif() - -vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-breakpad) - -vcpkg_copy_pdbs() - -vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO google/breakpad + REF v2023.06.01 + SHA512 7a231bbaf88f94c79b1ace1c3e66bd520595905bfc8a7ffa1aa453ea6f056136b82aea3a321d97db4ccfd1212a41e8790badcc43222564d861e9e5c35e40a402 + HEAD_REF master + PATCHES + add-algorithm.patch # https://github.com/google/breakpad/commit/898a997855168c0e6a689072fefba89246271a5d + add-algorithm-1.patch +) + +if(VCPKG_HOST_IS_LINUX OR VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_ANDROID) + vcpkg_from_git( + OUT_SOURCE_PATH LSS_SOURCE_PATH + URL https://chromium.googlesource.com/linux-syscall-support + REF 9719c1e1e676814c456b55f5f070eabad6709d31 + ) + + file(RENAME "${LSS_SOURCE_PATH}" "${SOURCE_PATH}/src/third_party/lss") +endif() + +file(COPY + "${CMAKE_CURRENT_LIST_DIR}/check_getcontext.cc" + "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" + "${CMAKE_CURRENT_LIST_DIR}/unofficial-breakpadConfig.cmake" + DESTINATION + "${SOURCE_PATH}") + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + "tools" INSTALL_TOOLS +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} + OPTIONS_RELEASE + -DINSTALL_HEADERS=ON +) + +vcpkg_cmake_install() +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/include/client/linux/data" + "${CURRENT_PACKAGES_DIR}/include/client/linux/sender") + +if("tools" IN_LIST FEATURES) + vcpkg_copy_tools( + TOOL_NAMES + microdump_stackwalk + minidump_dump + minidump_stackwalk + core2md + pid2md + dump_syms + minidump-2-core + minidump_upload + sym_upload + core_handler + AUTO_CLEAN) +endif() + +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-breakpad) + +vcpkg_copy_pdbs() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/breakpad/unofficial-breakpadConfig.cmake b/ports/breakpad/unofficial-breakpadConfig.cmake new file mode 100644 index 00000000000000..67d55984f4ba86 --- /dev/null +++ b/ports/breakpad/unofficial-breakpadConfig.cmake @@ -0,0 +1,6 @@ +if(@USED_ZLIB@) + include(CMakeFindDependencyMacro) + find_dependency(ZLIB) +endif() + +include("${CMAKE_CURRENT_LIST_DIR}/unofficial-breakpadTargets.cmake") diff --git a/ports/breakpad/vcpkg.json b/ports/breakpad/vcpkg.json index 28c75a24edc83f..51e58c652c3381 100644 --- a/ports/breakpad/vcpkg.json +++ b/ports/breakpad/vcpkg.json @@ -1,7 +1,7 @@ { "name": "breakpad", - "version-date": "2022-07-12", - "port-version": 6, + "version-date": "2023-06-01", + "port-version": 2, "description": "a set of client and server components which implement a crash-reporting system.", "homepage": "https://github.com/google/breakpad", "license": "BSD-3-Clause", @@ -19,6 +19,10 @@ { "name": "vcpkg-cmake-config", "host": true + }, + { + "name": "zlib", + "platform": "linux" } ], "features": { diff --git a/ports/brpc/fix-boost-ptr.patch b/ports/brpc/fix-boost-ptr.patch deleted file mode 100644 index bd468ee8a0fd3e..00000000000000 --- a/ports/brpc/fix-boost-ptr.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/src/brpc/policy/thrift_protocol.cpp b/src/brpc/policy/thrift_protocol.cpp -index 9871c01..269cfe1 100644 ---- a/src/brpc/policy/thrift_protocol.cpp -+++ b/src/brpc/policy/thrift_protocol.cpp -@@ -45,8 +45,7 @@ - #if defined(_THRIFT_STDCXX_H_) - # define THRIFT_STDCXX apache::thrift::stdcxx - #else -- # define THRIFT_STDCXX boost -- # include -+ # define THRIFT_STDCXX std - #endif - #endif - diff --git a/ports/brpc/fix-build.patch b/ports/brpc/fix-build.patch index 3e193c4677b3b4..e48139fc5c5d6d 100644 --- a/ports/brpc/fix-build.patch +++ b/ports/brpc/fix-build.patch @@ -1,25 +1,29 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 4ac815d6..dbb9b7ee 100644 +index b14fe178..9e9a776a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -66,7 +66,8 @@ endif() +@@ -68,7 +68,8 @@ endif() if(WITH_THRIFT) set(THRIFT_CPP_FLAG "-DENABLE_THRIFT_FRAMED_PROTOCOL") -- set(THRIFT_LIB "thrift") +- find_library(THRIFT_LIB NAMES thrift) + find_package(Thrift CONFIG REQUIRED) + set(THRIFT_LIB "thrift::thrift") - endif() - - set(WITH_RDMA_VAL "0") -@@ -150,11 +151,15 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") + if (NOT THRIFT_LIB) + message(FATAL_ERROR "Fail to find Thrift") endif() +@@ -154,6 +155,8 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") endif() --find_package(Protobuf REQUIRED) -+find_package(protobuf CONFIG REQUIRED) + find_package(Protobuf REQUIRED) +get_target_property(PROTOBUF_INCLUDE_DIR protobuf::libprotobuf INTERFACE_INCLUDE_DIRECTORIES) +set(PROTOBUF_LIBRARIES protobuf::libprotobuf) + if(Protobuf_VERSION GREATER 4.21) + # required by absl + set(CMAKE_CXX_STANDARD 17) +@@ -199,9 +202,11 @@ else() + use_cxx11() + endif() find_package(Threads REQUIRED) +find_package(ZLIB REQUIRED) @@ -30,7 +34,7 @@ index 4ac815d6..dbb9b7ee 100644 if ((NOT LEVELDB_INCLUDE_PATH) OR (NOT LEVELDB_LIB)) message(FATAL_ERROR "Fail to find leveldb") endif() -@@ -169,8 +174,9 @@ if(WITH_SNAPPY) +@@ -216,8 +221,9 @@ if(WITH_SNAPPY) endif() if(WITH_GLOG) @@ -42,7 +46,7 @@ index 4ac815d6..dbb9b7ee 100644 if((NOT GLOG_INCLUDE_PATH) OR (NOT GLOG_LIB)) message(FATAL_ERROR "Fail to find glog") endif() -@@ -197,7 +203,7 @@ if(WITH_RDMA) +@@ -244,7 +250,7 @@ if(WITH_RDMA) endif() endif() @@ -51,30 +55,36 @@ index 4ac815d6..dbb9b7ee 100644 if(NOT PROTOC_LIB) message(FATAL_ERROR "Fail to find protoc lib") endif() -@@ -208,7 +214,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Darwin") +@@ -259,7 +265,7 @@ else() ) - endif() + endif() --find_package(OpenSSL) -+find_package(OpenSSL REQUIRED) +- find_package(OpenSSL) ++ find_package(OpenSSL REQUIRED) + include_directories(${OPENSSL_INCLUDE_DIR}) + endif() - include_directories( - ${GFLAGS_INCLUDE_PATH} -@@ -223,11 +229,11 @@ set(DYNAMIC_LIB +@@ -275,9 +281,10 @@ set(DYNAMIC_LIB ${LEVELDB_LIB} ${PROTOC_LIB} ${CMAKE_THREAD_LIBS_INIT} -- ${THRIFT_LIB} -- ${THRIFTNB_LIB} - ${OPENSSL_CRYPTO_LIBRARY} + ${OPENSSL_SSL_LIBRARY} -+ ${THRIFT_LIB} + ${THRIFT_LIB} dl - z) + ZLIB::ZLIB) - if(WITH_MESALINK) - list(APPEND DYNAMIC_LIB ${MESALINK_LIB}) + if(WITH_BORINGSSL) + list(APPEND DYNAMIC_LIB ${BORINGSSL_SSL_LIBRARY}) +@@ -520,7 +527,7 @@ compile_proto(PROTO_HDRS PROTO_SRCS ${PROJECT_BINARY_DIR} + ${PROJECT_SOURCE_DIR}/src + "${PROTO_FILES}") + add_library(PROTO_LIB OBJECT ${PROTO_SRCS} ${PROTO_HDRS}) +- ++target_link_libraries(PROTO_LIB PUBLIC ${DYNAMIC_LIB}) + set(SOURCES + ${BVAR_SOURCES} + ${BTHREAD_SOURCES} diff --git a/cmake/FindGFLAGS.cmake b/cmake/FindGFLAGS.cmake index dfad5fd8..8423d55a 100644 --- a/cmake/FindGFLAGS.cmake @@ -91,10 +101,19 @@ index dfad5fd8..8423d55a 100644 set(GFLAGS_FOUND TRUE) endif(GFLAGS_INCLUDE_PATH AND GFLAGS_LIBRARY) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index fbcc7cc5..95037a0d 100644 +index 1b4b2332..638ec070 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt -@@ -31,16 +31,24 @@ add_dependencies(SOURCES_LIB PROTO_LIB) +@@ -24,13 +24,16 @@ include_directories(${CMAKE_CURRENT_BINARY_DIR}) + include_directories(${PROJECT_SOURCE_DIR}/src) + + add_library(BUTIL_LIB OBJECT ${BUTIL_SOURCES}) ++target_link_libraries(BUTIL_LIB PUBLIC ${DYNAMIC_LIB}) + add_library(SOURCES_LIB OBJECT ${SOURCES}) ++target_link_libraries(SOURCES_LIB PUBLIC ${DYNAMIC_LIB}) + add_dependencies(SOURCES_LIB PROTO_LIB) + + # shared library needs POSITION_INDEPENDENT_CODE set_property(TARGET ${SOURCES_LIB} PROPERTY POSITION_INDEPENDENT_CODE 1) set_property(TARGET ${BUTIL_LIB} PROPERTY POSITION_INDEPENDENT_CODE 1) @@ -102,26 +121,29 @@ index fbcc7cc5..95037a0d 100644 add_library(brpc-static STATIC $ $ $) +@@ -60,12 +63,19 @@ endfunction() + --if(BRPC_WITH_THRIFT) -- target_link_libraries(brpc-static thrift) -+if(WITH_THRIFT) -+ target_link_libraries(brpc-static ${THRIFT_LIB}) + if(WITH_THRIFT) +- target_link_libraries(brpc-static ${THRIFT_LIB}) +- check_thrift_version(brpc-static) ++ target_link_libraries(brpc-static PUBLIC ${THRIFT_LIB}) endif() +target_link_libraries(brpc-static PUBLIC ${DYNAMIC_LIB}) +if(BRPC_WITH_GLOG) -+ target_link_libraries(brpc-static ${GLOG_LIB}) ++ target_link_libraries(brpc-static PUBLIC ${GLOG_LIB}) +endif() +target_include_directories(brpc-static PUBLIC $) ++ SET_TARGET_PROPERTIES(brpc-static PROPERTIES OUTPUT_NAME brpc CLEAN_DIRECT_OUTPUT 1) - +endif() + +if(0) # for protoc-gen-mcpack set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/output/bin) -@@ -49,35 +57,62 @@ set(protoc_gen_mcpack_SOURCES +@@ -74,36 +84,63 @@ set(protoc_gen_mcpack_SOURCES ) add_executable(protoc-gen-mcpack ${protoc_gen_mcpack_SOURCES}) @@ -132,22 +154,24 @@ index fbcc7cc5..95037a0d 100644 $ $) - target_link_libraries(brpc-shared ${DYNAMIC_LIB}) ++ target_link_libraries(brpc-shared PUBLIC ${DYNAMIC_LIB}) + target_include_directories(brpc-shared PUBLIC $) - if(BRPC_WITH_GLOG) - target_link_libraries(brpc-shared ${GLOG_LIB}) + if(WITH_GLOG) +- target_link_libraries(brpc-shared ${GLOG_LIB}) ++ target_link_libraries(brpc-shared PUBLIC ${GLOG_LIB}) endif() -- if(BRPC_WITH_THRIFT) -- target_link_libraries(brpc-shared thrift) -+ if(WITH_THRIFT) -+ target_link_libraries(brpc-shared ${THRIFT_LIB}) + if(WITH_THRIFT) +- target_link_libraries(brpc-shared ${THRIFT_LIB}) +- check_thrift_version(brpc-shared) ++ target_link_libraries(brpc-shared PUBLIC ${THRIFT_LIB}) endif() SET_TARGET_PROPERTIES(brpc-shared PROPERTIES OUTPUT_NAME brpc CLEAN_DIRECT_OUTPUT 1) - + if(0) target_link_libraries(protoc-gen-mcpack brpc-shared ${DYNAMIC_LIB} pthread) -- -- install(TARGETS brpc-shared + endif() + +- install(TARGETS brpc-shared + install(TARGETS brpc-shared EXPORT unofficial-brpcTargets RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} @@ -160,7 +184,7 @@ index fbcc7cc5..95037a0d 100644 +endif() - +- -install(TARGETS brpc-static +if(NOT BUILD_SHARED_LIBS) +install(TARGETS brpc-static EXPORT unofficial-brpcTargets diff --git a/ports/brpc/fix-warnings.patch b/ports/brpc/fix-warnings.patch new file mode 100644 index 00000000000000..72755d163e995a --- /dev/null +++ b/ports/brpc/fix-warnings.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9e9a776a..a8c4c1ea 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -124,8 +124,8 @@ if(WITH_MESALINK) + endif() + set(CMAKE_CPP_FLAGS "${CMAKE_CPP_FLAGS} -DBTHREAD_USE_FAST_PTHREAD_MUTEX -D__const__=__unused__ -D_GNU_SOURCE -DUSE_SYMBOLIZE -DNO_TCMALLOC -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -DBRPC_REVISION=\\\"${BRPC_REVISION}\\\" -D__STRICT_ANSI__") + set(CMAKE_CPP_FLAGS "${CMAKE_CPP_FLAGS} ${DEBUG_SYMBOL} ${THRIFT_CPP_FLAG}") +-set(CMAKE_CXX_FLAGS "${CMAKE_CPP_FLAGS} -O2 -pipe -Wall -W -fPIC -fstrict-aliasing -Wno-invalid-offsetof -Wno-unused-parameter -fno-omit-frame-pointer") +-set(CMAKE_C_FLAGS "${CMAKE_CPP_FLAGS} -O2 -pipe -Wall -W -fPIC -fstrict-aliasing -Wno-unused-parameter -fno-omit-frame-pointer") ++set(CMAKE_CXX_FLAGS "${CMAKE_CPP_FLAGS} -O2 -pipe -w -fPIC -fstrict-aliasing -Wno-invalid-offsetof -Wno-unused-parameter -fno-omit-frame-pointer") ++set(CMAKE_C_FLAGS "${CMAKE_CPP_FLAGS} -O2 -pipe -w -fPIC -fstrict-aliasing -Wno-unused-parameter -fno-omit-frame-pointer") + + macro(use_cxx11) + if(CMAKE_VERSION VERSION_LESS "3.1.3") diff --git a/ports/brpc/portfile.cmake b/ports/brpc/portfile.cmake index 74b3f25cb9db7c..23c59e70509339 100644 --- a/ports/brpc/portfile.cmake +++ b/ports/brpc/portfile.cmake @@ -1,12 +1,27 @@ +vcpkg_download_distfile( + PROTOBUF_V5_PATCH + URLS https://github.com/apache/brpc/commit/282776acaf2c894791d2b5d4c294a28cfa2d4138.patch?full_index=1 + SHA512 2e62617ed56047a037f0e673a7dcc43e02c9bff46b6c9d1ae0098e4c73630f1a9a67c113e770bf1cc12d86d273f88f504f83af1ed69ee771f35cccac1a472990 + FILENAME 282776acaf2c894791d2b5d4c294a28cfa2d4138.patch +) + +vcpkg_download_distfile( + PROTOBUF_29_PATCH + URLS https://github.com/apache/brpc/commit/8d1ee6d06ffdf84a33bd083463663ece5fb9e7a9.patch?full_index=1 + SHA512 d271aadc636c97bc3b2ad514558e7ae0f41af076b98346169f13f4e79be6165a69a9aa0da83c7db8ddfca5689e3d67afc8dd14ecd893f54441bde1135eafaf8e + FILENAME 8d1ee6d06ffdf84a33bd083463663ece5fb9e7a9.patch +) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO apache/incubator-brpc + REPO apache/brpc REF "${VERSION}" - SHA512 2c69a1eaaca26da494c1a10d4f6c67ca53c5cfe43243457263e4966101a77207dee5f29b7372895230978c729254b156b7e4223a41d8e909919fbdac6badc75c + SHA512 eb2f9528f055a31db5b2bbf57d302b17d2229d387c3bc6afd7dec5f3d21d1f882275d43d49c04cb5190442c2daa746ac2a174b3741d943e531ebbbd82526d510 HEAD_REF master PATCHES fix-build.patch - fix-boost-ptr.patch + fix-warnings.patch + ${PROTOBUF_V5_PATCH} + ${PROTOBUF_29_PATCH} ) vcpkg_cmake_configure( @@ -27,6 +42,6 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/butil/third_party/superfast vcpkg_copy_pdbs() -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") vcpkg_fixup_pkgconfig() diff --git a/ports/brpc/vcpkg.json b/ports/brpc/vcpkg.json index f885e5b6f5e6b1..913d57fda1a155 100644 --- a/ports/brpc/vcpkg.json +++ b/ports/brpc/vcpkg.json @@ -1,10 +1,11 @@ { "name": "brpc", - "version": "1.6.0", + "version": "1.11.0", + "port-version": 1, "description": "Industrial-grade RPC framework used throughout Baidu, with 1,000,000+ instances and thousands kinds of services, called \"baidu-rpc\" inside Baidu.", - "homepage": "https://github.com/apache/incubator-brpc", + "homepage": "https://github.com/apache/brpc", "license": "Apache-2.0", - "supports": "!windows & !arm", + "supports": "!windows & !(arm & android)", "dependencies": [ "gflags", "glog", diff --git a/ports/bshoshany-thread-pool/portfile.cmake b/ports/bshoshany-thread-pool/portfile.cmake index dd8589ea9ffc58..919943455a857a 100644 --- a/ports/bshoshany-thread-pool/portfile.cmake +++ b/ports/bshoshany-thread-pool/portfile.cmake @@ -2,12 +2,12 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO bshoshany/thread-pool REF "v${VERSION}" - SHA512 43200acf989adbabc0478d847931d2e46c4ce13de9d28f2e603e6b86d38a7370c0e50bacd36bff5a1a200f33ae6394764adc64ce9a54df5e418d85fb525b4b3f + SHA512 ba118decce074a3bbd004dcd3d2ee233b629c6f7b452e6e81700107f22c1b426931121b03e6497c1e3035dfdc6631080ebb539201fcbe1c3a8e919210d3ebf91 HEAD_REF master ) -file(GLOB HEADER_FILES LIST_DIRECTORIES false "${SOURCE_PATH}/include/*.hpp") +file(INSTALL "${SOURCE_PATH}/include/BS_thread_pool.hpp" DESTINATION "${CURRENT_PACKAGES_DIR}/include") -file(INSTALL ${HEADER_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/include") +file(INSTALL "${SOURCE_PATH}/modules/BS.thread_pool.cppm" DESTINATION "${CURRENT_PACKAGES_DIR}/modules") file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/bshoshany-thread-pool/vcpkg.json b/ports/bshoshany-thread-pool/vcpkg.json index 38abafcd5b819c..e921ccf1e83773 100644 --- a/ports/bshoshany-thread-pool/vcpkg.json +++ b/ports/bshoshany-thread-pool/vcpkg.json @@ -1,8 +1,8 @@ { "name": "bshoshany-thread-pool", - "version": "3.5.0", + "version": "5.0.0", "maintainers": "Barak Shoshany ", - "description": "BS::thread_pool: a fast, lightweight, and easy-to-use C++17 thread pool library", + "description": "BS::thread_pool: a fast, lightweight, modern, and easy-to-use C++17 / C++20 / C++23 thread pool library", "homepage": "https://github.com/bshoshany/thread-pool", "documentation": "https://github.com/bshoshany/thread-pool/blob/master/README.md", "license": "MIT" diff --git a/ports/buck-yeh-bux-mariadb-client/portfile.cmake b/ports/buck-yeh-bux-mariadb-client/portfile.cmake deleted file mode 100644 index fbae2b34a102b4..00000000000000 --- a/ports/buck-yeh-bux-mariadb-client/portfile.cmake +++ /dev/null @@ -1,15 +0,0 @@ -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO buck-yeh/bux-mariadb-client - REF aa7a543ed98081f357f1f27e2d77b66b81d727d6 # v1.0.3 - SHA512 35877ec1f17f43c4215c2662613ec00fc4e8a851087809aadcf4770ef1691b645a6804bfd12124af39db9338e28e9c1ed87fe03bf38e1675651a9c325df23b24 - HEAD_REF main -) - -vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" -) - -vcpkg_cmake_install() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/buck-yeh-bux-mariadb-client/vcpkg.json b/ports/buck-yeh-bux-mariadb-client/vcpkg.json deleted file mode 100644 index 4c20b9246df86e..00000000000000 --- a/ports/buck-yeh-bux-mariadb-client/vcpkg.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "buck-yeh-bux-mariadb-client", - "version": "1.0.3", - "port-version": 1, - "description": "Loose-coupled throw-on-error C++20 wrapper classes and utilities over mysql/mariadb Connector/C API", - "homepage": "https://github.com/buck-yeh/bux-mariadb-client", - "license": "MIT", - "supports": "!(arm | uwp | osx | linux)", - "dependencies": [ - "buck-yeh-bux", - "fmt", - "libmariadb", - { - "name": "vcpkg-cmake", - "host": true - } - ] -} diff --git a/ports/buck-yeh-bux-sqlite/portfile.cmake b/ports/buck-yeh-bux-sqlite/portfile.cmake index 6846f46018f31f..b2706e20c05a9b 100644 --- a/ports/buck-yeh-bux-sqlite/portfile.cmake +++ b/ports/buck-yeh-bux-sqlite/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO buck-yeh/bux-sqlite - REF e8ab90da9586f61024b59aa1a4900efb94f1d3f4 # v1.0.1 - SHA512 27acefdb32dd00dbbef91479b5e682cf6a9281e13a596128d5050fe44ed4b8669d5e7279b4db30efbd4d016d268c6f2ce893f91bbdddff17f2a227ba3a292d01 + REF "${VERSION}" + SHA512 ccfeb141530efcf8233bd3579ba6eb17e7decc1d4fa92706f0810824303078e7f379a9c81a777189860e53c866b9c338b51b2f5884958782d02f7d79d7fb575c HEAD_REF main ) diff --git a/ports/buck-yeh-bux-sqlite/vcpkg.json b/ports/buck-yeh-bux-sqlite/vcpkg.json index 17dae253fda5e6..5320d65312a12d 100644 --- a/ports/buck-yeh-bux-sqlite/vcpkg.json +++ b/ports/buck-yeh-bux-sqlite/vcpkg.json @@ -1,14 +1,16 @@ { "name": "buck-yeh-bux-sqlite", - "version": "1.0.1", + "version": "1.0.5", "description": "Modern C++ wrapper classes and utilities of the original sqlite3 API", "homepage": "https://github.com/buck-yeh/bux-sqlite", "license": "MIT", - "supports": "!(arm | uwp | osx | linux)", + "supports": "!(android | linux | osx | uwp)", "dependencies": [ "buck-yeh-bux", - "fmt", - "sqlite3", + { + "name": "sqlite3", + "default-features": false + }, { "name": "vcpkg-cmake", "host": true diff --git a/ports/buck-yeh-bux/portfile.cmake b/ports/buck-yeh-bux/portfile.cmake index d6096af8884668..3bb3a957e6afff 100644 --- a/ports/buck-yeh-bux/portfile.cmake +++ b/ports/buck-yeh-bux/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO buck-yeh/bux REF "${VERSION}" - SHA512 7b58e67d0744ead50fb5a826118d1026dc85b6bd880a2d3f30a9d355fc20f48697057eec139ad3960a65cebfbd0e30b99bee42b71bd23058c815a50b6df10c5c + SHA512 90ce7cd956f758fb0f17398ce9f63651965ec5288256d318e267c619aff59f49e05412a52d0032df5896173fc5b32bc7c42ac1422485ef9e261af278f38ccf4b HEAD_REF main ) diff --git a/ports/buck-yeh-bux/vcpkg.json b/ports/buck-yeh-bux/vcpkg.json index 249e2da1aa0a32..fd95a409987139 100644 --- a/ports/buck-yeh-bux/vcpkg.json +++ b/ports/buck-yeh-bux/vcpkg.json @@ -1,13 +1,11 @@ { "name": "buck-yeh-bux", - "version": "1.6.8", - "port-version": 1, + "version": "1.10.2", "description": "A supplemental C++ library with functionalities not directly supported from Modern C++ standard.", "homepage": "https://github.com/buck-yeh/bux", "license": "MIT", - "supports": "!(arm | uwp | osx | linux)", + "supports": "!(android | linux | osx | uwp)", "dependencies": [ - "fmt", { "name": "vcpkg-cmake", "host": true diff --git a/ports/bullet3/cmake-config-export.diff b/ports/bullet3/cmake-config-export.diff new file mode 100644 index 00000000000000..f89fdd88fd17d5 --- /dev/null +++ b/ports/bullet3/cmake-config-export.diff @@ -0,0 +1,460 @@ +diff --git a/BulletConfig.cmake.in b/BulletConfig.cmake.in +index f5dc7bd..2d18304 100644 +--- a/BulletConfig.cmake.in ++++ b/BulletConfig.cmake.in +@@ -14,12 +14,15 @@ + # BULLET_ROOT_DIR - The base directory of Bullet + # BULLET_VERSION_STRING - A human-readable string containing the version + ++@PACKAGE_INIT@ ++include("${CMAKE_CURRENT_LIST_DIR}/BulletTargets.cmake") ++ + set ( BULLET_FOUND 1 ) +-set ( BULLET_USE_FILE "@BULLET_USE_FILE@" ) ++set_and_check ( BULLET_USE_FILE "${CMAKE_CURRENT_LIST_DIR}/UseBullet.cmake" ) + set ( BULLET_DEFINITIONS "@BULLET_DEFINITIONS@" ) +-set ( BULLET_INCLUDE_DIR "@INCLUDE_INSTALL_DIR@" ) +-set ( BULLET_INCLUDE_DIRS "@INCLUDE_INSTALL_DIR@" ) ++set_and_check ( BULLET_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@" ) ++set_and_check ( BULLET_INCLUDE_DIRS "@PACKAGE_INCLUDE_INSTALL_DIR@" ) + set ( BULLET_LIBRARIES "@BULLET_LIBRARIES@" ) +-set ( BULLET_LIBRARY_DIRS "@LIB_DESTINATION@" ) +-set ( BULLET_ROOT_DIR "@CMAKE_INSTALL_PREFIX@" ) ++set ( BULLET_LIBRARY_DIRS "" ) # subject to CMAKE_BUILD_TYPE ++set_and_check ( BULLET_ROOT_DIR "@PACKAGE_CMAKE_INSTALL_PREFIX@" ) + set ( BULLET_VERSION_STRING "@BULLET_VERSION@" ) +\ No newline at end of file +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a695b71..c3eb136 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -498,15 +498,25 @@ list (APPEND BULLET_LIBRARIES BulletCollision) + list (APPEND BULLET_LIBRARIES BulletDynamics) + list (APPEND BULLET_LIBRARIES BulletSoftBody) + set (BULLET_USE_FILE ${BULLET_CONFIG_CMAKE_PATH}/UseBullet.cmake) +-configure_file ( ${CMAKE_CURRENT_SOURCE_DIR}/BulletConfig.cmake.in +- ${CMAKE_CURRENT_BINARY_DIR}/BulletConfig.cmake +- @ONLY ESCAPE_QUOTES +- ) ++include(CMakePackageConfigHelpers) ++configure_package_config_file( ++ ${CMAKE_CURRENT_SOURCE_DIR}/BulletConfig.cmake.in ++ ${CMAKE_CURRENT_BINARY_DIR}/BulletConfig.cmake ++ PATH_VARS INCLUDE_INSTALL_DIR LIB_DESTINATION CMAKE_INSTALL_PREFIX BULLET_CONFIG_CMAKE_PATH ++ INSTALL_DESTINATION ${BULLET_CONFIG_CMAKE_PATH} ++) ++write_basic_package_version_file( ++ "${CMAKE_CURRENT_BINARY_DIR}/BulletConfigVersion.cmake" ++ VERSION ${BULLET_VERSION} ++ COMPATIBILITY AnyNewerVersion ++) + OPTION(INSTALL_CMAKE_FILES "Install generated CMake files" ON) + + IF (INSTALL_CMAKE_FILES) ++ install(EXPORT BulletTargets DESTINATION ${BULLET_CONFIG_CMAKE_PATH}) + install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/UseBullet.cmake + ${CMAKE_CURRENT_BINARY_DIR}/BulletConfig.cmake ++ ${CMAKE_CURRENT_BINARY_DIR}/BulletConfigVersion.cmake + DESTINATION ${BULLET_CONFIG_CMAKE_PATH} + ) + ENDIF (INSTALL_CMAKE_FILES) +diff --git a/Extras/BulletRobotics/CMakeLists.txt b/Extras/BulletRobotics/CMakeLists.txt +index 6267219..b5603ab 100644 +--- a/Extras/BulletRobotics/CMakeLists.txt ++++ b/Extras/BulletRobotics/CMakeLists.txt +@@ -281,9 +281,7 @@ ADD_LIBRARY(BulletRobotics ${BulletRobotics_SRCS}) + SET_TARGET_PROPERTIES(BulletRobotics PROPERTIES VERSION ${BULLET_VERSION}) + SET_TARGET_PROPERTIES(BulletRobotics PROPERTIES SOVERSION ${BULLET_VERSION}) + +-IF (BUILD_SHARED_LIBS) +- TARGET_LINK_LIBRARIES(BulletRobotics BulletInverseDynamicsUtils BulletWorldImporter BulletFileLoader BulletSoftBody BulletDynamics BulletCollision BulletInverseDynamics LinearMath Bullet3Common) +-ENDIF (BUILD_SHARED_LIBS) ++TARGET_LINK_LIBRARIES(BulletRobotics PUBLIC BulletInverseDynamicsUtils BulletWorldImporter BulletFileLoader BulletSoftBody BulletDynamics BulletCollision BulletInverseDynamics LinearMath Bullet3Common) + + + +@@ -294,6 +292,7 @@ INSTALL ( + + INSTALL(TARGETS + BulletRobotics ++ EXPORT BulletTargets + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX} + ) +diff --git a/Extras/ConvexDecomposition/CMakeLists.txt b/Extras/ConvexDecomposition/CMakeLists.txt +index 132a336..4f636c6 100644 +--- a/Extras/ConvexDecomposition/CMakeLists.txt ++++ b/Extras/ConvexDecomposition/CMakeLists.txt +@@ -38,9 +38,7 @@ ADD_LIBRARY(ConvexDecomposition ${ConvexDecomposition_SRCS} ${ConvexDecompositio + SET_TARGET_PROPERTIES(ConvexDecomposition PROPERTIES VERSION ${BULLET_VERSION}) + SET_TARGET_PROPERTIES(ConvexDecomposition PROPERTIES SOVERSION ${BULLET_VERSION}) + +-IF (BUILD_SHARED_LIBS) +- TARGET_LINK_LIBRARIES(ConvexDecomposition BulletCollision LinearMath) +-ENDIF (BUILD_SHARED_LIBS) ++TARGET_LINK_LIBRARIES(ConvexDecomposition PUBLIC BulletCollision LinearMath) + + IF (INSTALL_EXTRA_LIBS) + IF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) +@@ -50,6 +48,7 @@ IF (INSTALL_EXTRA_LIBS) + INSTALL(TARGETS ConvexDecomposition DESTINATION .) + ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + INSTALL(TARGETS ConvexDecomposition ++ EXPORT BulletTargets + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) +diff --git a/Extras/InverseDynamics/CMakeLists.txt b/Extras/InverseDynamics/CMakeLists.txt +index 22e953a..7865951 100644 +--- a/Extras/InverseDynamics/CMakeLists.txt ++++ b/Extras/InverseDynamics/CMakeLists.txt +@@ -21,9 +21,7 @@ User2InternalIndex.cpp + SET_TARGET_PROPERTIES(BulletInverseDynamicsUtils PROPERTIES VERSION ${BULLET_VERSION}) + SET_TARGET_PROPERTIES(BulletInverseDynamicsUtils PROPERTIES SOVERSION ${BULLET_VERSION}) + +-IF (BUILD_SHARED_LIBS) +- TARGET_LINK_LIBRARIES(BulletInverseDynamicsUtils BulletInverseDynamics BulletDynamics BulletCollision Bullet3Common LinearMath) +-ENDIF (BUILD_SHARED_LIBS) ++TARGET_LINK_LIBRARIES(BulletInverseDynamicsUtils PUBLIC BulletInverseDynamics BulletDynamics BulletCollision Bullet3Common LinearMath) + + IF (INSTALL_EXTRA_LIBS) + IF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) +@@ -33,6 +31,7 @@ IF (INSTALL_EXTRA_LIBS) + INSTALL(TARGETS BulletInverseDynamicsUtils DESTINATION .) + ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + INSTALL(TARGETS BulletInverseDynamicsUtils ++ EXPORT BulletTargets + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) +diff --git a/Extras/Serialize/BulletFileLoader/CMakeLists.txt b/Extras/Serialize/BulletFileLoader/CMakeLists.txt +index 9b5dce7..b9cd2b7 100644 +--- a/Extras/Serialize/BulletFileLoader/CMakeLists.txt ++++ b/Extras/Serialize/BulletFileLoader/CMakeLists.txt +@@ -20,9 +20,7 @@ btBulletFile.h + + ADD_LIBRARY(BulletFileLoader ${BulletFileLoader_SRCS} ${BulletFileLoader_HDRS}) + +-IF (BUILD_SHARED_LIBS) +- TARGET_LINK_LIBRARIES(BulletFileLoader LinearMath) +-ENDIF (BUILD_SHARED_LIBS) ++TARGET_LINK_LIBRARIES(BulletFileLoader PUBLIC LinearMath) + + SET_TARGET_PROPERTIES(BulletFileLoader PROPERTIES VERSION ${BULLET_VERSION}) + SET_TARGET_PROPERTIES(BulletFileLoader PROPERTIES SOVERSION ${BULLET_VERSION}) +@@ -35,6 +33,7 @@ IF (INSTALL_EXTRA_LIBS) + INSTALL(TARGETS BulletFileLoader DESTINATION .) + ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + INSTALL(TARGETS BulletFileLoader ++ EXPORT BulletTargets + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) +diff --git a/Extras/Serialize/BulletWorldImporter/CMakeLists.txt b/Extras/Serialize/BulletWorldImporter/CMakeLists.txt +index b56b39a..6e23be5 100644 +--- a/Extras/Serialize/BulletWorldImporter/CMakeLists.txt ++++ b/Extras/Serialize/BulletWorldImporter/CMakeLists.txt +@@ -15,9 +15,7 @@ btWorldImporter.h + SET_TARGET_PROPERTIES(BulletWorldImporter PROPERTIES VERSION ${BULLET_VERSION}) + SET_TARGET_PROPERTIES(BulletWorldImporter PROPERTIES SOVERSION ${BULLET_VERSION}) + +-IF (BUILD_SHARED_LIBS) +- TARGET_LINK_LIBRARIES(BulletWorldImporter BulletDynamics BulletCollision BulletFileLoader LinearMath) +-ENDIF (BUILD_SHARED_LIBS) ++TARGET_LINK_LIBRARIES(BulletWorldImporter PUBLIC BulletDynamics BulletCollision BulletFileLoader LinearMath) + + IF (INSTALL_EXTRA_LIBS) + IF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) +@@ -27,6 +25,7 @@ IF (INSTALL_EXTRA_LIBS) + INSTALL(TARGETS BulletWorldImporter DESTINATION .) + ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + INSTALL(TARGETS BulletWorldImporter ++ EXPORT BulletTargets + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) +diff --git a/Extras/Serialize/BulletXmlWorldImporter/CMakeLists.txt b/Extras/Serialize/BulletXmlWorldImporter/CMakeLists.txt +index 9fd125e..4e16d9e 100644 +--- a/Extras/Serialize/BulletXmlWorldImporter/CMakeLists.txt ++++ b/Extras/Serialize/BulletXmlWorldImporter/CMakeLists.txt +@@ -17,9 +17,7 @@ ADD_LIBRARY( + SET_TARGET_PROPERTIES(BulletXmlWorldImporter PROPERTIES VERSION ${BULLET_VERSION}) + SET_TARGET_PROPERTIES(BulletXmlWorldImporter PROPERTIES SOVERSION ${BULLET_VERSION}) + +-IF (BUILD_SHARED_LIBS) +- TARGET_LINK_LIBRARIES(BulletXmlWorldImporter BulletWorldImporter BulletDynamics BulletCollision BulletFileLoader LinearMath) +-ENDIF (BUILD_SHARED_LIBS) ++TARGET_LINK_LIBRARIES(BulletXmlWorldImporter PUBLIC BulletWorldImporter BulletDynamics BulletCollision BulletFileLoader LinearMath) + + IF (INSTALL_EXTRA_LIBS) + IF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) +@@ -29,6 +27,7 @@ IF (INSTALL_EXTRA_LIBS) + INSTALL(TARGETS BulletXmlWorldImporter DESTINATION .) + ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + INSTALL(TARGETS BulletXmlWorldImporter ++ EXPORT BulletTargets + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) +diff --git a/src/Bullet3Collision/CMakeLists.txt b/src/Bullet3Collision/CMakeLists.txt +index 130095c..1642284 100644 +--- a/src/Bullet3Collision/CMakeLists.txt ++++ b/src/Bullet3Collision/CMakeLists.txt +@@ -58,9 +58,7 @@ SET(Bullet3Collision_HDRS + ) + + ADD_LIBRARY(Bullet3Collision ${Bullet3Collision_SRCS} ${Bullet3Collision_HDRS}) +-if (BUILD_SHARED_LIBS) +- target_link_libraries(Bullet3Collision Bullet3Geometry) +-endif () ++target_link_libraries(Bullet3Collision PUBLIC Bullet3Geometry) + SET_TARGET_PROPERTIES(Bullet3Collision PROPERTIES VERSION ${BULLET_VERSION}) + SET_TARGET_PROPERTIES(Bullet3Collision PROPERTIES SOVERSION ${BULLET_VERSION}) + +@@ -72,6 +70,7 @@ IF (INSTALL_LIBS) + INSTALL(TARGETS Bullet3Collision DESTINATION .) + ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + INSTALL(TARGETS Bullet3Collision ++ EXPORT BulletTargets + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) +diff --git a/src/Bullet3Common/CMakeLists.txt b/src/Bullet3Common/CMakeLists.txt +index 03a3b40..6f631e6 100644 +--- a/src/Bullet3Common/CMakeLists.txt ++++ b/src/Bullet3Common/CMakeLists.txt +@@ -37,6 +37,7 @@ SET(Bullet3Common_HDRS + ADD_LIBRARY(Bullet3Common ${Bullet3Common_SRCS} ${Bullet3Common_HDRS}) + SET_TARGET_PROPERTIES(Bullet3Common PROPERTIES VERSION ${BULLET_VERSION}) + SET_TARGET_PROPERTIES(Bullet3Common PROPERTIES SOVERSION ${BULLET_VERSION}) ++TARGET_INCLUDE_DIRECTORIES(Bullet3Common INTERFACE $) + + IF (INSTALL_LIBS) + IF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) +@@ -46,6 +47,7 @@ IF (INSTALL_LIBS) + INSTALL(TARGETS Bullet3Common DESTINATION .) + ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + INSTALL(TARGETS Bullet3Common ++ EXPORT BulletTargets + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) +diff --git a/src/Bullet3Dynamics/CMakeLists.txt b/src/Bullet3Dynamics/CMakeLists.txt +index 94c120d..2736323 100644 +--- a/src/Bullet3Dynamics/CMakeLists.txt ++++ b/src/Bullet3Dynamics/CMakeLists.txt +@@ -30,9 +30,7 @@ SET(Bullet3Dynamics_HDRS + ) + + ADD_LIBRARY(Bullet3Dynamics ${Bullet3Dynamics_SRCS} ${Bullet3Dynamics_HDRS}) +-if (BUILD_SHARED_LIBS) +- target_link_libraries(Bullet3Dynamics Bullet3Collision) +-endif () ++target_link_libraries(Bullet3Dynamics PUBLIC Bullet3Collision) + SET_TARGET_PROPERTIES(Bullet3Dynamics PROPERTIES VERSION ${BULLET_VERSION}) + SET_TARGET_PROPERTIES(Bullet3Dynamics PROPERTIES SOVERSION ${BULLET_VERSION}) + +@@ -44,6 +42,7 @@ IF (INSTALL_LIBS) + INSTALL(TARGETS Bullet3Dynamics DESTINATION .) + ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + INSTALL(TARGETS Bullet3Dynamics ++ EXPORT BulletTargets + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) +diff --git a/src/Bullet3Geometry/CMakeLists.txt b/src/Bullet3Geometry/CMakeLists.txt +index 8206872..dfd622b 100644 +--- a/src/Bullet3Geometry/CMakeLists.txt ++++ b/src/Bullet3Geometry/CMakeLists.txt +@@ -16,9 +16,7 @@ SET(Bullet3Geometry_HDRS + ) + + ADD_LIBRARY(Bullet3Geometry ${Bullet3Geometry_SRCS} ${Bullet3Geometry_HDRS}) +-if (BUILD_SHARED_LIBS) +- target_link_libraries(Bullet3Geometry Bullet3Common) +-endif() ++target_link_libraries(Bullet3Geometry PUBLIC Bullet3Common) + SET_TARGET_PROPERTIES(Bullet3Geometry PROPERTIES VERSION ${BULLET_VERSION}) + SET_TARGET_PROPERTIES(Bullet3Geometry PROPERTIES SOVERSION ${BULLET_VERSION}) + +@@ -30,6 +28,7 @@ IF (INSTALL_LIBS) + INSTALL(TARGETS Bullet3Geometry DESTINATION .) + ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + INSTALL(TARGETS Bullet3Geometry ++ EXPORT BulletTargets + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) +diff --git a/src/Bullet3OpenCL/CMakeLists.txt b/src/Bullet3OpenCL/CMakeLists.txt +index 1da58d4..b93b80b 100644 +--- a/src/Bullet3OpenCL/CMakeLists.txt ++++ b/src/Bullet3OpenCL/CMakeLists.txt +@@ -43,9 +43,7 @@ SET(Bullet3OpenCL_clew_HDRS + ADD_LIBRARY(Bullet3OpenCL_clew ${Bullet3OpenCL_clew_SRCS} ${Bullet3OpenCL_clew_HDRS}) + SET_TARGET_PROPERTIES(Bullet3OpenCL_clew PROPERTIES VERSION ${BULLET_VERSION}) + SET_TARGET_PROPERTIES(Bullet3OpenCL_clew PROPERTIES SOVERSION ${BULLET_VERSION}) +-IF (BUILD_SHARED_LIBS) +- TARGET_LINK_LIBRARIES(Bullet3OpenCL_clew LinearMath Bullet3Dynamics ${CMAKE_DL_LIBS}) +-ENDIF (BUILD_SHARED_LIBS) ++TARGET_LINK_LIBRARIES(Bullet3OpenCL_clew PUBLIC LinearMath Bullet3Dynamics ${CMAKE_DL_LIBS}) + + + IF (INSTALL_LIBS) +@@ -55,7 +53,9 @@ IF (INSTALL_LIBS) + IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + INSTALL(TARGETS Bullet3OpenCL_clew DESTINATION .) + ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) +- INSTALL(TARGETS Bullet3OpenCL_clew RUNTIME DESTINATION bin ++ INSTALL(TARGETS Bullet3OpenCL_clew ++ EXPORT BulletTargets ++ RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) + INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} +diff --git a/src/Bullet3Serialize/Bullet2FileLoader/CMakeLists.txt b/src/Bullet3Serialize/Bullet2FileLoader/CMakeLists.txt +index 1255766..e47ad6f 100644 +--- a/src/Bullet3Serialize/Bullet2FileLoader/CMakeLists.txt ++++ b/src/Bullet3Serialize/Bullet2FileLoader/CMakeLists.txt +@@ -24,9 +24,7 @@ SET(Bullet2FileLoader_HDRS + ) + + ADD_LIBRARY(Bullet2FileLoader ${Bullet2FileLoader_SRCS} ${Bullet2FileLoader_HDRS}) +-if (BUILD_SHARED_LIBS) +- target_link_libraries(Bullet2FileLoader Bullet3Common) +-endif () ++target_link_libraries(Bullet2FileLoader PUBLIC Bullet3Common) + SET_TARGET_PROPERTIES(Bullet2FileLoader PROPERTIES VERSION ${BULLET_VERSION}) + SET_TARGET_PROPERTIES(Bullet2FileLoader PROPERTIES SOVERSION ${BULLET_VERSION}) + +@@ -38,6 +36,7 @@ IF (INSTALL_LIBS) + INSTALL(TARGETS Bullet2FileLoader DESTINATION .) + ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + INSTALL(TARGETS Bullet2FileLoader ++ EXPORT BulletTargets + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) +diff --git a/src/BulletCollision/CMakeLists.txt b/src/BulletCollision/CMakeLists.txt +index f5d7255..53dd2f1 100644 +--- a/src/BulletCollision/CMakeLists.txt ++++ b/src/BulletCollision/CMakeLists.txt +@@ -256,9 +256,7 @@ SET(BulletCollision_HDRS + ADD_LIBRARY(BulletCollision ${BulletCollision_SRCS} ${BulletCollision_HDRS}) + SET_TARGET_PROPERTIES(BulletCollision PROPERTIES VERSION ${BULLET_VERSION}) + SET_TARGET_PROPERTIES(BulletCollision PROPERTIES SOVERSION ${BULLET_VERSION}) +-IF (BUILD_SHARED_LIBS) +- TARGET_LINK_LIBRARIES(BulletCollision LinearMath) +-ENDIF (BUILD_SHARED_LIBS) ++TARGET_LINK_LIBRARIES(BulletCollision PUBLIC LinearMath) + + + IF (INSTALL_LIBS) +@@ -268,7 +266,9 @@ IF (INSTALL_LIBS) + IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + INSTALL(TARGETS BulletCollision DESTINATION .) + ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) +- INSTALL(TARGETS BulletCollision RUNTIME DESTINATION bin ++ INSTALL(TARGETS BulletCollision ++ EXPORT BulletTargets ++ RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) + INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} +diff --git a/src/BulletDynamics/CMakeLists.txt b/src/BulletDynamics/CMakeLists.txt +index cfd49e9..217b702 100644 +--- a/src/BulletDynamics/CMakeLists.txt ++++ b/src/BulletDynamics/CMakeLists.txt +@@ -143,9 +143,7 @@ SET(BulletDynamics_HDRS + ADD_LIBRARY(BulletDynamics ${BulletDynamics_SRCS} ${BulletDynamics_HDRS}) + SET_TARGET_PROPERTIES(BulletDynamics PROPERTIES VERSION ${BULLET_VERSION}) + SET_TARGET_PROPERTIES(BulletDynamics PROPERTIES SOVERSION ${BULLET_VERSION}) +-IF (BUILD_SHARED_LIBS) +- TARGET_LINK_LIBRARIES(BulletDynamics BulletCollision LinearMath) +-ENDIF (BUILD_SHARED_LIBS) ++TARGET_LINK_LIBRARIES(BulletDynamics PUBLIC BulletCollision) + + IF (INSTALL_LIBS) + IF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) +@@ -153,7 +151,9 @@ IF (INSTALL_LIBS) + IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + INSTALL(TARGETS BulletDynamics DESTINATION .) + ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) +- INSTALL(TARGETS BulletDynamics RUNTIME DESTINATION bin ++ INSTALL(TARGETS BulletDynamics ++ EXPORT BulletTargets ++ RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) + INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} +diff --git a/src/BulletInverseDynamics/CMakeLists.txt b/src/BulletInverseDynamics/CMakeLists.txt +index 3331c27..b49d795 100644 +--- a/src/BulletInverseDynamics/CMakeLists.txt ++++ b/src/BulletInverseDynamics/CMakeLists.txt +@@ -32,9 +32,7 @@ SET(BulletInverseDynamics_HDRS + ADD_LIBRARY(BulletInverseDynamics ${BulletInverseDynamics_SRCS} ${BulletInverseDynamics_HDRS}) + SET_TARGET_PROPERTIES(BulletInverseDynamics PROPERTIES VERSION ${BULLET_VERSION}) + SET_TARGET_PROPERTIES(BulletInverseDynamics PROPERTIES SOVERSION ${BULLET_VERSION}) +-IF (BUILD_SHARED_LIBS) +- TARGET_LINK_LIBRARIES(BulletInverseDynamics Bullet3Common LinearMath) +-ENDIF (BUILD_SHARED_LIBS) ++TARGET_LINK_LIBRARIES(BulletInverseDynamics PUBLIC Bullet3Common LinearMath) + + + IF (INSTALL_LIBS) +@@ -44,7 +42,9 @@ IF (INSTALL_LIBS) + IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + INSTALL(TARGETS BulletInverseDynamics DESTINATION .) + ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) +- INSTALL(TARGETS BulletInverseDynamics RUNTIME DESTINATION bin ++ INSTALL(TARGETS BulletInverseDynamics ++ EXPORT BulletTargets ++ RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) + INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} +diff --git a/src/BulletSoftBody/CMakeLists.txt b/src/BulletSoftBody/CMakeLists.txt +index c12eef5..51ecdca 100644 +--- a/src/BulletSoftBody/CMakeLists.txt ++++ b/src/BulletSoftBody/CMakeLists.txt +@@ -80,9 +80,7 @@ SET(BulletSoftBody_HDRS + ADD_LIBRARY(BulletSoftBody ${BulletSoftBody_SRCS} ${BulletSoftBody_HDRS}) + SET_TARGET_PROPERTIES(BulletSoftBody PROPERTIES VERSION ${BULLET_VERSION}) + SET_TARGET_PROPERTIES(BulletSoftBody PROPERTIES SOVERSION ${BULLET_VERSION}) +-IF (BUILD_SHARED_LIBS) +- TARGET_LINK_LIBRARIES(BulletSoftBody BulletDynamics) +-ENDIF (BUILD_SHARED_LIBS) ++TARGET_LINK_LIBRARIES(BulletSoftBody PUBLIC BulletDynamics) + + IF (INSTALL_LIBS) + IF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) +@@ -90,7 +88,9 @@ IF (INSTALL_LIBS) + IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + INSTALL(TARGETS BulletSoftBody DESTINATION .) + ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) +- INSTALL(TARGETS BulletSoftBody RUNTIME DESTINATION bin ++ INSTALL(TARGETS BulletSoftBody ++ EXPORT BulletTargets ++ RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) + INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} +diff --git a/src/LinearMath/CMakeLists.txt b/src/LinearMath/CMakeLists.txt +index a0532c7..a9a577d 100644 +--- a/src/LinearMath/CMakeLists.txt ++++ b/src/LinearMath/CMakeLists.txt +@@ -57,6 +57,7 @@ SET(LinearMath_HDRS + ADD_LIBRARY(LinearMath ${LinearMath_SRCS} ${LinearMath_HDRS}) + SET_TARGET_PROPERTIES(LinearMath PROPERTIES VERSION ${BULLET_VERSION}) + SET_TARGET_PROPERTIES(LinearMath PROPERTIES SOVERSION ${BULLET_VERSION}) ++TARGET_INCLUDE_DIRECTORIES(LinearMath INTERFACE $) + + IF (INSTALL_LIBS) + IF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) +@@ -66,6 +67,7 @@ IF (INSTALL_LIBS) + INSTALL(TARGETS LinearMath DESTINATION .) + ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + INSTALL(TARGETS LinearMath ++ EXPORT BulletTargets + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) diff --git a/ports/bullet3/cmake-fix.patch b/ports/bullet3/cmake-fix.patch deleted file mode 100644 index 3b80ac00a080d5..00000000000000 --- a/ports/bullet3/cmake-fix.patch +++ /dev/null @@ -1,517 +0,0 @@ -diff --git a/BulletConfig.cmake.in b/BulletConfig.cmake.in -index f5dc7bd..50b3d67 100644 ---- a/BulletConfig.cmake.in -+++ b/BulletConfig.cmake.in -@@ -13,13 +13,23 @@ - # BULLET_LIBRARY_DIRS - List of directories containing Bullet' libraries - # BULLET_ROOT_DIR - The base directory of Bullet - # BULLET_VERSION_STRING - A human-readable string containing the version -- -+@PACKAGE_INIT@ - set ( BULLET_FOUND 1 ) --set ( BULLET_USE_FILE "@BULLET_USE_FILE@" ) -+set_and_check ( BULLET_USE_FILE "@PACKAGE_BULLET_CONFIG_CMAKE_PATH@/UseBullet.cmake" ) - set ( BULLET_DEFINITIONS "@BULLET_DEFINITIONS@" ) --set ( BULLET_INCLUDE_DIR "@INCLUDE_INSTALL_DIR@" ) --set ( BULLET_INCLUDE_DIRS "@INCLUDE_INSTALL_DIR@" ) -+set_and_check ( BULLET_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@" ) -+set_and_check ( BULLET_INCLUDE_DIRS "@PACKAGE_INCLUDE_INSTALL_DIR@" ) - set ( BULLET_LIBRARIES "@BULLET_LIBRARIES@" ) --set ( BULLET_LIBRARY_DIRS "@LIB_DESTINATION@" ) --set ( BULLET_ROOT_DIR "@CMAKE_INSTALL_PREFIX@" ) --set ( BULLET_VERSION_STRING "@BULLET_VERSION@" ) -\ No newline at end of file -+set_and_check ( BULLET_LIBRARY_DIRS "@PACKAGE_LIB_DESTINATION@" ) -+set_and_check ( BULLET_ROOT_DIR "@PACKAGE_CMAKE_INSTALL_PREFIX@" ) -+set ( BULLET_VERSION_STRING "@BULLET_VERSION@" ) -+# Load targets -+if(NOT TARGET Bullet3Common) -+ # -+ include("@PACKAGE_BULLET_CONFIG_CMAKE_PATH@/LinearMathTargets.cmake") -+ file(GLOB CONFIG_FILES "@PACKAGE_BULLET_CONFIG_CMAKE_PATH@/*Targets.cmake") -+ foreach(f IN LISTS CONFIG_FILES) -+ include(${f}) -+ endforeach() -+ set(_DIR) -+endif() -diff --git a/CMakeLists.txt b/CMakeLists.txt -index a695b71..f98cf4d 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,4 +1,4 @@ --cmake_minimum_required(VERSION 2.4.3) -+cmake_minimum_required(VERSION 3.0) - set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true) - cmake_policy(SET CMP0017 NEW) - #this line has to appear before 'PROJECT' in order to be able to disable incremental linking -@@ -489,24 +489,33 @@ IF (BUILD_UNIT_TESTS) - SUBDIRS(test) - ENDIF() - --set (BULLET_CONFIG_CMAKE_PATH lib${LIB_SUFFIX}/cmake/bullet ) -+include(CMakePackageConfigHelpers) -+write_basic_package_version_file( -+ "${CMAKE_CURRENT_BINARY_DIR}/BulletConfigVersion.cmake" -+ VERSION ${BULLET_VERSION} -+ COMPATIBILITY AnyNewerVersion -+) -+ -+set (BULLET_CONFIG_CMAKE_PATH share/bullet ) - list (APPEND BULLET_DEFINITIONS ${BULLET_DOUBLE_DEF}) --list (APPEND BULLET_LIBRARIES LinearMath) - list (APPEND BULLET_LIBRARIES Bullet3Common) - list (APPEND BULLET_LIBRARIES BulletInverseDynamics) --list (APPEND BULLET_LIBRARIES BulletCollision) - list (APPEND BULLET_LIBRARIES BulletDynamics) -+list (APPEND BULLET_LIBRARIES BulletCollision) - list (APPEND BULLET_LIBRARIES BulletSoftBody) --set (BULLET_USE_FILE ${BULLET_CONFIG_CMAKE_PATH}/UseBullet.cmake) --configure_file ( ${CMAKE_CURRENT_SOURCE_DIR}/BulletConfig.cmake.in -- ${CMAKE_CURRENT_BINARY_DIR}/BulletConfig.cmake -- @ONLY ESCAPE_QUOTES -- ) -+list (APPEND BULLET_LIBRARIES LinearMath) -+configure_package_config_file( -+ ${CMAKE_CURRENT_SOURCE_DIR}/BulletConfig.cmake.in -+ ${CMAKE_CURRENT_BINARY_DIR}/BulletConfig.cmake -+ PATH_VARS INCLUDE_INSTALL_DIR LIB_DESTINATION CMAKE_INSTALL_PREFIX BULLET_CONFIG_CMAKE_PATH -+ INSTALL_DESTINATION ${BULLET_CONFIG_CMAKE_PATH} -+) - OPTION(INSTALL_CMAKE_FILES "Install generated CMake files" ON) - - IF (INSTALL_CMAKE_FILES) - install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/UseBullet.cmake - ${CMAKE_CURRENT_BINARY_DIR}/BulletConfig.cmake -+ ${CMAKE_CURRENT_BINARY_DIR}/BulletConfigVersion.cmake - DESTINATION ${BULLET_CONFIG_CMAKE_PATH} - ) - ENDIF (INSTALL_CMAKE_FILES) -diff --git a/Extras/BulletRobotics/CMakeLists.txt b/Extras/BulletRobotics/CMakeLists.txt -index d2ab423..dabb504 100644 ---- a/Extras/BulletRobotics/CMakeLists.txt -+++ b/Extras/BulletRobotics/CMakeLists.txt -@@ -282,7 +282,7 @@ SET_TARGET_PROPERTIES(BulletRobotics PROPERTIES VERSION ${BULLET_VERSION}) - SET_TARGET_PROPERTIES(BulletRobotics PROPERTIES SOVERSION ${BULLET_VERSION}) - - IF (BUILD_SHARED_LIBS) -- TARGET_LINK_LIBRARIES(BulletRobotics BulletInverseDynamicsUtils BulletWorldImporter BulletFileLoader BulletSoftBody BulletDynamics BulletCollision BulletInverseDynamics LinearMath Bullet3Common) -+ TARGET_LINK_LIBRARIES(BulletRobotics PUBLIC BulletInverseDynamicsUtils BulletWorldImporter BulletFileLoader BulletSoftBody BulletDynamics BulletCollision BulletInverseDynamics LinearMath Bullet3Common) - ENDIF (BUILD_SHARED_LIBS) - - -diff --git a/Extras/BulletRoboticsGUI/CMakeLists.txt b/Extras/BulletRoboticsGUI/CMakeLists.txt -index 57ab97f..27b9992 100644 ---- a/Extras/BulletRoboticsGUI/CMakeLists.txt -+++ b/Extras/BulletRoboticsGUI/CMakeLists.txt -@@ -166,7 +166,7 @@ SET_TARGET_PROPERTIES(BulletRoboticsGUI PROPERTIES VERSION ${BULLET_VERSION}) - SET_TARGET_PROPERTIES(BulletRoboticsGUI PROPERTIES SOVERSION ${BULLET_VERSION}) - - IF (BUILD_SHARED_LIBS) -- TARGET_LINK_LIBRARIES(BulletRoboticsGUI BulletExampleBrowserLib BulletRobotics BulletInverseDynamicsUtils BulletWorldImporter BulletFileLoader BulletSoftBody BulletDynamics BulletCollision BulletInverseDynamics LinearMath Bullet3Common) -+ TARGET_LINK_LIBRARIES(BulletRoboticsGUI PUBLIC BulletExampleBrowserLib BulletRobotics BulletInverseDynamicsUtils BulletWorldImporter BulletFileLoader BulletSoftBody BulletDynamics BulletCollision BulletInverseDynamics LinearMath Bullet3Common) - ENDIF (BUILD_SHARED_LIBS) - - -diff --git a/Extras/ConvexDecomposition/CMakeLists.txt b/Extras/ConvexDecomposition/CMakeLists.txt -index 132a336..62babb0 100644 ---- a/Extras/ConvexDecomposition/CMakeLists.txt -+++ b/Extras/ConvexDecomposition/CMakeLists.txt -@@ -39,7 +39,7 @@ SET_TARGET_PROPERTIES(ConvexDecomposition PROPERTIES VERSION ${BULLET_VERSION}) - SET_TARGET_PROPERTIES(ConvexDecomposition PROPERTIES SOVERSION ${BULLET_VERSION}) - - IF (BUILD_SHARED_LIBS) -- TARGET_LINK_LIBRARIES(ConvexDecomposition BulletCollision LinearMath) -+ TARGET_LINK_LIBRARIES(ConvexDecomposition PUBLIC BulletCollision LinearMath) - ENDIF (BUILD_SHARED_LIBS) - - IF (INSTALL_EXTRA_LIBS) -diff --git a/Extras/InverseDynamics/CMakeLists.txt b/Extras/InverseDynamics/CMakeLists.txt -index 22e953a..59b733d 100644 ---- a/Extras/InverseDynamics/CMakeLists.txt -+++ b/Extras/InverseDynamics/CMakeLists.txt -@@ -22,7 +22,7 @@ SET_TARGET_PROPERTIES(BulletInverseDynamicsUtils PROPERTIES VERSION ${BULLET_VER - SET_TARGET_PROPERTIES(BulletInverseDynamicsUtils PROPERTIES SOVERSION ${BULLET_VERSION}) - - IF (BUILD_SHARED_LIBS) -- TARGET_LINK_LIBRARIES(BulletInverseDynamicsUtils BulletInverseDynamics BulletDynamics BulletCollision Bullet3Common LinearMath) -+ TARGET_LINK_LIBRARIES(BulletInverseDynamicsUtils PUBLIC BulletInverseDynamics BulletDynamics BulletCollision Bullet3Common LinearMath) - ENDIF (BUILD_SHARED_LIBS) - - IF (INSTALL_EXTRA_LIBS) -diff --git a/Extras/Serialize/BulletFileLoader/CMakeLists.txt b/Extras/Serialize/BulletFileLoader/CMakeLists.txt -index 9b5dce7..2f30385 100644 ---- a/Extras/Serialize/BulletFileLoader/CMakeLists.txt -+++ b/Extras/Serialize/BulletFileLoader/CMakeLists.txt -@@ -21,7 +21,7 @@ btBulletFile.h - ADD_LIBRARY(BulletFileLoader ${BulletFileLoader_SRCS} ${BulletFileLoader_HDRS}) - - IF (BUILD_SHARED_LIBS) -- TARGET_LINK_LIBRARIES(BulletFileLoader LinearMath) -+ TARGET_LINK_LIBRARIES(BulletFileLoader PUBLIC LinearMath) - ENDIF (BUILD_SHARED_LIBS) - - SET_TARGET_PROPERTIES(BulletFileLoader PROPERTIES VERSION ${BULLET_VERSION}) -diff --git a/Extras/Serialize/BulletWorldImporter/CMakeLists.txt b/Extras/Serialize/BulletWorldImporter/CMakeLists.txt -index b56b39a..1684651 100644 ---- a/Extras/Serialize/BulletWorldImporter/CMakeLists.txt -+++ b/Extras/Serialize/BulletWorldImporter/CMakeLists.txt -@@ -16,7 +16,7 @@ SET_TARGET_PROPERTIES(BulletWorldImporter PROPERTIES VERSION ${BULLET_VERSION}) - SET_TARGET_PROPERTIES(BulletWorldImporter PROPERTIES SOVERSION ${BULLET_VERSION}) - - IF (BUILD_SHARED_LIBS) -- TARGET_LINK_LIBRARIES(BulletWorldImporter BulletDynamics BulletCollision BulletFileLoader LinearMath) -+ TARGET_LINK_LIBRARIES(BulletWorldImporter PUBLIC BulletDynamics BulletCollision BulletFileLoader LinearMath) - ENDIF (BUILD_SHARED_LIBS) - - IF (INSTALL_EXTRA_LIBS) -diff --git a/Extras/Serialize/BulletXmlWorldImporter/CMakeLists.txt b/Extras/Serialize/BulletXmlWorldImporter/CMakeLists.txt -index 9fd125e..889c30e 100644 ---- a/Extras/Serialize/BulletXmlWorldImporter/CMakeLists.txt -+++ b/Extras/Serialize/BulletXmlWorldImporter/CMakeLists.txt -@@ -18,7 +18,7 @@ SET_TARGET_PROPERTIES(BulletXmlWorldImporter PROPERTIES VERSION ${BULLET_VERSIO - SET_TARGET_PROPERTIES(BulletXmlWorldImporter PROPERTIES SOVERSION ${BULLET_VERSION}) - - IF (BUILD_SHARED_LIBS) -- TARGET_LINK_LIBRARIES(BulletXmlWorldImporter BulletWorldImporter BulletDynamics BulletCollision BulletFileLoader LinearMath) -+ TARGET_LINK_LIBRARIES(BulletXmlWorldImporter PUBLIC BulletWorldImporter BulletDynamics BulletCollision BulletFileLoader LinearMath) - ENDIF (BUILD_SHARED_LIBS) - - IF (INSTALL_EXTRA_LIBS) -diff --git a/src/Bullet3Collision/CMakeLists.txt b/src/Bullet3Collision/CMakeLists.txt -index 130095c..661a461 100644 ---- a/src/Bullet3Collision/CMakeLists.txt -+++ b/src/Bullet3Collision/CMakeLists.txt -@@ -69,9 +69,10 @@ IF (INSTALL_LIBS) - #FILES_MATCHING requires CMake 2.6 - IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) - IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -- INSTALL(TARGETS Bullet3Collision DESTINATION .) -+ INSTALL(TARGETS Bullet3Collision EXPORT Bullet3CollisionTargets DESTINATION .) - ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) - INSTALL(TARGETS Bullet3Collision -+ EXPORT Bullet3CollisionTargets - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX}) -@@ -89,5 +90,7 @@ DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING PATTERN "*.h" PATTERN - #SET_PROPERTY(SOURCE ${Bullet3CollisionBroadPhase_HDRS} PROPERTY MACOSX_PACKAGE_LOCATION Headers/BroadPhaseCollision) - - ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -+ INSTALL(EXPORT Bullet3CollisionTargets -+ DESTINATION ${BULLET_CONFIG_CMAKE_PATH}) - ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) - ENDIF (INSTALL_LIBS) -diff --git a/src/Bullet3Common/CMakeLists.txt b/src/Bullet3Common/CMakeLists.txt -index e899e67..e990b16 100644 ---- a/src/Bullet3Common/CMakeLists.txt -+++ b/src/Bullet3Common/CMakeLists.txt -@@ -37,15 +37,17 @@ SET(Bullet3Common_HDRS - ADD_LIBRARY(Bullet3Common ${Bullet3Common_SRCS} ${Bullet3Common_HDRS}) - SET_TARGET_PROPERTIES(Bullet3Common PROPERTIES VERSION ${BULLET_VERSION}) - SET_TARGET_PROPERTIES(Bullet3Common PROPERTIES SOVERSION ${BULLET_VERSION}) -+TARGET_INCLUDE_DIRECTORIES(Bullet3Common INTERFACE $) - - IF (INSTALL_LIBS) - IF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) - #FILES_MATCHING requires CMake 2.6 - IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) - IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -- INSTALL(TARGETS Bullet3Common DESTINATION .) -+ INSTALL(TARGETS Bullet3Common EXPORT Bullet3CommonTargets DESTINATION .) - ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) - INSTALL(TARGETS Bullet3Common -+ EXPORT Bullet3CommonTargets - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX}) -@@ -59,5 +61,7 @@ DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING PATTERN "*.h" PATTERN - SET_TARGET_PROPERTIES(Bullet3Common PROPERTIES FRAMEWORK true) - SET_TARGET_PROPERTIES(Bullet3Common PROPERTIES PUBLIC_HEADER "${Bullet3Common_HDRS}") - ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -+ INSTALL(EXPORT Bullet3CommonTargets -+ DESTINATION ${BULLET_CONFIG_CMAKE_PATH}) - ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) - ENDIF (INSTALL_LIBS) -diff --git a/src/Bullet3Dynamics/CMakeLists.txt b/src/Bullet3Dynamics/CMakeLists.txt -index 94c120d..e83503a 100644 ---- a/src/Bullet3Dynamics/CMakeLists.txt -+++ b/src/Bullet3Dynamics/CMakeLists.txt -@@ -41,9 +41,10 @@ IF (INSTALL_LIBS) - #FILES_MATCHING requires CMake 2.6 - IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) - IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -- INSTALL(TARGETS Bullet3Dynamics DESTINATION .) -+ INSTALL(TARGETS Bullet3Dynamics EXPORT Bullet3DynamicsTargets DESTINATION .) - ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) - INSTALL(TARGETS Bullet3Dynamics -+ EXPORT Bullet3DynamicsTargets - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX}) -@@ -57,5 +58,7 @@ DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING PATTERN "*.h" PATTERN - SET_TARGET_PROPERTIES(Bullet3Dynamics PROPERTIES FRAMEWORK true) - SET_TARGET_PROPERTIES(Bullet3Dynamics PROPERTIES PUBLIC_HEADER "${Bullet3Dynamics_HDRS}") - ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -+ INSTALL(EXPORT Bullet3DynamicsTargets -+ DESTINATION ${BULLET_CONFIG_CMAKE_PATH}) - ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) - ENDIF (INSTALL_LIBS) -diff --git a/src/Bullet3Geometry/CMakeLists.txt b/src/Bullet3Geometry/CMakeLists.txt -index 8206872..e605d79 100644 ---- a/src/Bullet3Geometry/CMakeLists.txt -+++ b/src/Bullet3Geometry/CMakeLists.txt -@@ -27,9 +27,12 @@ IF (INSTALL_LIBS) - #FILES_MATCHING requires CMake 2.6 - IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) - IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -- INSTALL(TARGETS Bullet3Geometry DESTINATION .) -+ INSTALL(TARGETS Bullet3Geometry -+ EXPORT Bullet3GeometryTargets -+ DESTINATION .) - ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) - INSTALL(TARGETS Bullet3Geometry -+ EXPORT Bullet3GeometryTargets - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX}) -@@ -43,5 +46,8 @@ DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING PATTERN "*.h" PATTERN - SET_TARGET_PROPERTIES(Bullet3Geometry PROPERTIES FRAMEWORK true) - SET_TARGET_PROPERTIES(Bullet3Geometry PROPERTIES PUBLIC_HEADER "${Bullet3Geometry_HDRS}") - ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -+ -+ INSTALL(EXPORT Bullet3GeometryTargets -+ DESTINATION ${BULLET_CONFIG_CMAKE_PATH}) - ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) - ENDIF (INSTALL_LIBS) -diff --git a/src/Bullet3OpenCL/CMakeLists.txt b/src/Bullet3OpenCL/CMakeLists.txt -index 1da58d4..c1b21df 100644 ---- a/src/Bullet3OpenCL/CMakeLists.txt -+++ b/src/Bullet3OpenCL/CMakeLists.txt -@@ -44,7 +44,7 @@ ADD_LIBRARY(Bullet3OpenCL_clew ${Bullet3OpenCL_clew_SRCS} ${Bullet3OpenCL_clew_H - SET_TARGET_PROPERTIES(Bullet3OpenCL_clew PROPERTIES VERSION ${BULLET_VERSION}) - SET_TARGET_PROPERTIES(Bullet3OpenCL_clew PROPERTIES SOVERSION ${BULLET_VERSION}) - IF (BUILD_SHARED_LIBS) -- TARGET_LINK_LIBRARIES(Bullet3OpenCL_clew LinearMath Bullet3Dynamics ${CMAKE_DL_LIBS}) -+ TARGET_LINK_LIBRARIES(Bullet3OpenCL_clew PUBLIC LinearMath Bullet3Dynamics ${CMAKE_DL_LIBS}) - ENDIF (BUILD_SHARED_LIBS) - - -@@ -53,9 +53,13 @@ IF (INSTALL_LIBS) - #INSTALL of other files requires CMake 2.6 - IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) - IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -- INSTALL(TARGETS Bullet3OpenCL_clew DESTINATION .) -+ INSTALL(TARGETS BulletDynamics -+ EXPORT Bullet3OpenCLTargets -+ DESTINATION .) - ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -- INSTALL(TARGETS Bullet3OpenCL_clew RUNTIME DESTINATION bin -+ INSTALL(TARGETS Bullet3OpenCL_clew -+ EXPORT Bullet3OpenCLTargets -+ RUNTIME DESTINATION bin - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX}) - INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} -@@ -73,5 +77,8 @@ DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING PATTERN "*.h" PATTERN ".svn" E - SET_PROPERTY(SOURCE ${BroadphaseCollision_HDRS} PROPERTY MACOSX_PACKAGE_LOCATION Headers/BroadphaseCollision) - - ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -+ -+ INSTALL(EXPORT Bullet3OpenCLTargets -+ DESTINATION ${BULLET_CONFIG_CMAKE_PATH}) - ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) - ENDIF (INSTALL_LIBS) -diff --git a/src/Bullet3Serialize/Bullet2FileLoader/CMakeLists.txt b/src/Bullet3Serialize/Bullet2FileLoader/CMakeLists.txt -index 1255766..67112b4 100644 ---- a/src/Bullet3Serialize/Bullet2FileLoader/CMakeLists.txt -+++ b/src/Bullet3Serialize/Bullet2FileLoader/CMakeLists.txt -@@ -35,9 +35,12 @@ IF (INSTALL_LIBS) - #FILES_MATCHING requires CMake 2.6 - IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) - IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -- INSTALL(TARGETS Bullet2FileLoader DESTINATION .) -+ INSTALL(TARGETS Bullet2FileLoader -+ EXPORT Bullet2FileLoaderTargets -+ DESTINATION .) - ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) - INSTALL(TARGETS Bullet2FileLoader -+ EXPORT Bullet2FileLoaderTargets - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX}) -@@ -51,5 +54,8 @@ DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING PATTERN "*.h" PATTERN - SET_TARGET_PROPERTIES(Bullet2FileLoader PROPERTIES FRAMEWORK true) - SET_TARGET_PROPERTIES(Bullet2FileLoader PROPERTIES PUBLIC_HEADER "${Bullet2FileLoader_HDRS}") - ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -+ -+ INSTALL(EXPORT Bullet2FileLoaderTargets -+ DESTINATION ${BULLET_CONFIG_CMAKE_PATH}) - ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) - ENDIF (INSTALL_LIBS) -diff --git a/src/BulletCollision/CMakeLists.txt b/src/BulletCollision/CMakeLists.txt -index f5d7255..d857637 100644 ---- a/src/BulletCollision/CMakeLists.txt -+++ b/src/BulletCollision/CMakeLists.txt -@@ -257,7 +257,7 @@ ADD_LIBRARY(BulletCollision ${BulletCollision_SRCS} ${BulletCollision_HDRS}) - SET_TARGET_PROPERTIES(BulletCollision PROPERTIES VERSION ${BULLET_VERSION}) - SET_TARGET_PROPERTIES(BulletCollision PROPERTIES SOVERSION ${BULLET_VERSION}) - IF (BUILD_SHARED_LIBS) -- TARGET_LINK_LIBRARIES(BulletCollision LinearMath) -+ TARGET_LINK_LIBRARIES(BulletCollision PUBLIC LinearMath) - ENDIF (BUILD_SHARED_LIBS) - - -@@ -266,9 +266,13 @@ IF (INSTALL_LIBS) - #INSTALL of other files requires CMake 2.6 - IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) - IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -- INSTALL(TARGETS BulletCollision DESTINATION .) -+ INSTALL(TARGETS BulletCollision -+ EXPORT BulletCollisionTargets -+ DESTINATION .) - ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -- INSTALL(TARGETS BulletCollision RUNTIME DESTINATION bin -+ INSTALL(TARGETS BulletCollision -+ EXPORT BulletCollisionTargets -+ RUNTIME DESTINATION bin - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX}) - INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} -@@ -290,5 +294,8 @@ DESTINATION ${INCLUDE_INSTALL_DIR}/BulletCollision) - SET_PROPERTY(SOURCE ${NarrowPhaseCollision_HDRS} PROPERTY MACOSX_PACKAGE_LOCATION Headers/NarrowPhaseCollision) - - ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -+ -+ INSTALL(EXPORT BulletCollisionTargets -+ DESTINATION ${BULLET_CONFIG_CMAKE_PATH}) - ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) - ENDIF (INSTALL_LIBS) -diff --git a/src/BulletDynamics/CMakeLists.txt b/src/BulletDynamics/CMakeLists.txt -index 3332440..d1a1147 100644 ---- a/src/BulletDynamics/CMakeLists.txt -+++ b/src/BulletDynamics/CMakeLists.txt -@@ -140,16 +140,21 @@ ADD_LIBRARY(BulletDynamics ${BulletDynamics_SRCS} ${BulletDynamics_HDRS}) - SET_TARGET_PROPERTIES(BulletDynamics PROPERTIES VERSION ${BULLET_VERSION}) - SET_TARGET_PROPERTIES(BulletDynamics PROPERTIES SOVERSION ${BULLET_VERSION}) - IF (BUILD_SHARED_LIBS) -- TARGET_LINK_LIBRARIES(BulletDynamics BulletCollision LinearMath) -+ TARGET_LINK_LIBRARIES(BulletDynamics PUBLIC BulletCollision) - ENDIF (BUILD_SHARED_LIBS) -+TARGET_LINK_LIBRARIES(BulletDynamics PUBLIC LinearMath) - - IF (INSTALL_LIBS) - IF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) - IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) - IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -- INSTALL(TARGETS BulletDynamics DESTINATION .) -+ INSTALL(TARGETS BulletDynamics -+ EXPORT BulletDynamicsTargets -+ DESTINATION .) - ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -- INSTALL(TARGETS BulletDynamics RUNTIME DESTINATION bin -+ INSTALL(TARGETS BulletDynamics -+ EXPORT BulletDynamicsTargets -+ RUNTIME DESTINATION bin - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX}) - INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} -@@ -171,5 +176,8 @@ DESTINATION ${INCLUDE_INSTALL_DIR}/BulletDynamics) - SET_PROPERTY(SOURCE ${Featherstone_HDRS} PROPERTY MACOSX_PACKAGE_LOCATION Headers/Featherstone) - SET_PROPERTY(SOURCE ${MLCPSolvers_HDRS} PROPERTY MACOSX_PACKAGE_LOCATION Headers/MLCPSolvers) - ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -+ -+ INSTALL(EXPORT BulletDynamicsTargets -+ DESTINATION ${BULLET_CONFIG_CMAKE_PATH}) - ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) - ENDIF (INSTALL_LIBS) -diff --git a/src/BulletInverseDynamics/CMakeLists.txt b/src/BulletInverseDynamics/CMakeLists.txt -index 3331c27..d4fad26 100644 ---- a/src/BulletInverseDynamics/CMakeLists.txt -+++ b/src/BulletInverseDynamics/CMakeLists.txt -@@ -33,7 +33,7 @@ ADD_LIBRARY(BulletInverseDynamics ${BulletInverseDynamics_SRCS} ${BulletInverseD - SET_TARGET_PROPERTIES(BulletInverseDynamics PROPERTIES VERSION ${BULLET_VERSION}) - SET_TARGET_PROPERTIES(BulletInverseDynamics PROPERTIES SOVERSION ${BULLET_VERSION}) - IF (BUILD_SHARED_LIBS) -- TARGET_LINK_LIBRARIES(BulletInverseDynamics Bullet3Common LinearMath) -+ TARGET_LINK_LIBRARIES(BulletInverseDynamics PUBLIC Bullet3Common LinearMath) - ENDIF (BUILD_SHARED_LIBS) - - -@@ -42,9 +42,13 @@ IF (INSTALL_LIBS) - #INSTALL of other files requires CMake 2.6 - IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) - IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -- INSTALL(TARGETS BulletInverseDynamics DESTINATION .) -+ INSTALL(TARGETS BulletInverseDynamics -+ EXPORT BulletInverseDynamicsTargets -+ DESTINATION .) - ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -- INSTALL(TARGETS BulletInverseDynamics RUNTIME DESTINATION bin -+ INSTALL(TARGETS BulletInverseDynamics -+ EXPORT BulletInverseDynamicsTargets -+ RUNTIME DESTINATION bin - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX}) - INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} -@@ -62,5 +66,8 @@ DESTINATION ${INCLUDE_INSTALL_DIR}/BulletInverseDynamics) - SET_PROPERTY(SOURCE ${BulletInverseDynamicsDetails_HDRS} PROPERTY MACOSX_PACKAGE_LOCATION Headers/details) - - ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -+ -+ INSTALL(EXPORT BulletInverseDynamicsTargets -+ DESTINATION ${BULLET_CONFIG_CMAKE_PATH}) - ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) - ENDIF (INSTALL_LIBS) -diff --git a/src/BulletSoftBody/CMakeLists.txt b/src/BulletSoftBody/CMakeLists.txt -index 9452768..5068a30 100644 ---- a/src/BulletSoftBody/CMakeLists.txt -+++ b/src/BulletSoftBody/CMakeLists.txt -@@ -78,9 +78,13 @@ IF (INSTALL_LIBS) - IF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) - IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) - IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -- INSTALL(TARGETS BulletSoftBody DESTINATION .) -+ INSTALL(TARGETS BulletSoftBody -+ EXPORT BulletSoftBodyTargets -+ DESTINATION .) - ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -- INSTALL(TARGETS BulletSoftBody RUNTIME DESTINATION bin -+ INSTALL(TARGETS BulletSoftBody -+ EXPORT BulletSoftBodyTargets -+ RUNTIME DESTINATION bin - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX}) - INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} -@@ -93,5 +97,8 @@ DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING PATTERN "*.h" PATTERN - SET_TARGET_PROPERTIES(BulletSoftBody PROPERTIES FRAMEWORK true) - SET_TARGET_PROPERTIES(BulletSoftBody PROPERTIES PUBLIC_HEADER "${BulletSoftBody_HDRS}") - ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -+ -+ INSTALL(EXPORT BulletSoftBodyTargets -+ DESTINATION ${BULLET_CONFIG_CMAKE_PATH}) - ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) - ENDIF (INSTALL_LIBS) -diff --git a/src/LinearMath/CMakeLists.txt b/src/LinearMath/CMakeLists.txt -index a0532c7..ecf06b3 100644 ---- a/src/LinearMath/CMakeLists.txt -+++ b/src/LinearMath/CMakeLists.txt -@@ -63,9 +63,10 @@ IF (INSTALL_LIBS) - #FILES_MATCHING requires CMake 2.6 - IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) - IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -- INSTALL(TARGETS LinearMath DESTINATION .) -+ INSTALL(TARGETS LinearMath EXPORT LinearMathTargets DESTINATION .) - ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) - INSTALL(TARGETS LinearMath -+ EXPORT LinearMathTargets - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX}) -@@ -79,5 +80,7 @@ DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING PATTERN "*.h" PATTERN - SET_TARGET_PROPERTIES(LinearMath PROPERTIES FRAMEWORK true) - SET_TARGET_PROPERTIES(LinearMath PROPERTIES PUBLIC_HEADER "${LinearMath_HDRS}") - ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -+ INSTALL(EXPORT LinearMathTargets -+ DESTINATION ${BULLET_CONFIG_CMAKE_PATH}) - ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) - ENDIF (INSTALL_LIBS) diff --git a/ports/bullet3/cmake-version.diff b/ports/bullet3/cmake-version.diff new file mode 100644 index 00000000000000..f4bd3aad32185f --- /dev/null +++ b/ports/bullet3/cmake-version.diff @@ -0,0 +1,10 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a695b71..8c407de 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,4 +1,4 @@ +-cmake_minimum_required(VERSION 2.4.3) ++cmake_minimum_required(VERSION 3.11) + set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true) + cmake_policy(SET CMP0017 NEW) + #this line has to appear before 'PROJECT' in order to be able to disable incremental linking diff --git a/ports/bullet3/opencl.diff b/ports/bullet3/opencl.diff new file mode 100644 index 00000000000000..3a7751c9bbdca2 --- /dev/null +++ b/ports/bullet3/opencl.diff @@ -0,0 +1,13 @@ +diff --git a/src/Bullet3OpenCL/CMakeLists.txt b/src/Bullet3OpenCL/CMakeLists.txt +index b93b80b..c9c985c 100644 +--- a/src/Bullet3OpenCL/CMakeLists.txt ++++ b/src/Bullet3OpenCL/CMakeLists.txt +@@ -1,3 +1,8 @@ ++option(BUILD_OPENCL "Build Bullet3OpenCL_clew") ++if(NOT BUILD_OPENCL) ++ return() ++endif() ++ + INCLUDE_DIRECTORIES( ${BULLET_PHYSICS_SOURCE_DIR}/src ) + + ADD_DEFINITIONS(-DB3_USE_CLEW) diff --git a/ports/bullet3/portfile.cmake b/ports/bullet3/portfile.cmake index b7d7f4155e43f2..8bdfb5a4d6539d 100644 --- a/ports/bullet3/portfile.cmake +++ b/ports/bullet3/portfile.cmake @@ -1,4 +1,6 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH @@ -7,44 +9,58 @@ vcpkg_from_github( SHA512 7086e5fcf69635801bb311261173cb8d173b712ca1bd78be03df48fad884674e85512861190e45a1a62d5627aaad65cde08c175c44a3be9afa410d3dfd5358d4 HEAD_REF master PATCHES - cmake-fix.patch + cmake-version.diff + cmake-config-export.diff + opencl.diff + tinyxml2.diff ) +file(REMOVE_RECURSE "${SOURCE_PATH}/examples/ThirdPartyLibs") vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES multithreading BULLET2_MULTITHREADING double-precision USE_DOUBLE_PRECISION extras BUILD_EXTRAS + opencl BUILD_OPENCL INVERTED_FEATURES rtti USE_MSVC_DISABLE_RTTI ) +string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "dynamic" USE_MSVC_RUNTIME_LIBRARY_DLL) + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DUSE_MSVC_RUNTIME_LIBRARY_DLL=ON + -DUSE_MSVC_RUNTIME_LIBRARY_DLL=${USE_MSVC_RUNTIME_LIBRARY_DLL} -DBUILD_CPU_DEMOS=OFF -DBUILD_BULLET2_DEMOS=OFF -DBUILD_OPENGL3_DEMOS=OFF - -DBUILD_BULLET3=OFF + -DBUILD_BULLET3=ON -DBUILD_BULLET_ROBOTICS_GUI_EXTRA=OFF -DBUILD_BULLET_ROBOTICS_EXTRA=OFF - -DBUILD_GIMPACTUTILS_EXTRA=OFF + -DBUILD_GIMPACTUTILS_EXTRA=OFF + -DBUILD_HACD_EXTRA=OFF + -DBUILD_OBJ2SDF_EXTRA=OFF -DBUILD_UNIT_TESTS=OFF -DINSTALL_LIBS=ON ${FEATURE_OPTIONS} + MAYBE_UNUSED_VARIABLES + BUILD_BULLET_ROBOTICS_EXTRA + BUILD_BULLET_ROBOTICS_GUI_EXTRA + BUILD_GIMPACTUTILS_EXTRA + BUILD_HACD_EXTRA + BUILD_OBJ2SDF_EXTRA + USE_MSVC_DISABLE_RTTI ) vcpkg_cmake_install() vcpkg_copy_pdbs() - -vcpkg_cmake_config_fixup(PACKAGE_NAME bullet CONFIG_PATH share/bullet) - +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/bullet) vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/bullet/BulletInverseDynamics/details") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/bullet/BulletInverseDynamics/details") # empty file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/bullet3/tinyxml2.diff b/ports/bullet3/tinyxml2.diff new file mode 100644 index 00000000000000..7280e43664f98e --- /dev/null +++ b/ports/bullet3/tinyxml2.diff @@ -0,0 +1,38 @@ +diff --git a/BulletConfig.cmake.in b/BulletConfig.cmake.in +index 2d18304..9d97c77 100644 +--- a/BulletConfig.cmake.in ++++ b/BulletConfig.cmake.in +@@ -15,6 +15,10 @@ + # BULLET_VERSION_STRING - A human-readable string containing the version + + @PACKAGE_INIT@ ++if("@BUILD_EXTRAS@" AND NOT "@BUILD_SHARED_LIBS@") ++ include(CMakeFindDependencyMacro) ++ find_dependency(tinyxml2 CONFIG) ++endif() + include("${CMAKE_CURRENT_LIST_DIR}/BulletTargets.cmake") + + set ( BULLET_FOUND 1 ) +diff --git a/Extras/Serialize/BulletXmlWorldImporter/CMakeLists.txt b/Extras/Serialize/BulletXmlWorldImporter/CMakeLists.txt +index 4e16d9e..ab8eb9d 100644 +--- a/Extras/Serialize/BulletXmlWorldImporter/CMakeLists.txt ++++ b/Extras/Serialize/BulletXmlWorldImporter/CMakeLists.txt +@@ -2,7 +2,6 @@ INCLUDE_DIRECTORIES( + ${BULLET_PHYSICS_SOURCE_DIR}/src + ${BULLET_PHYSICS_SOURCE_DIR}/Extras/Serialize/BulletFileLoader + ${BULLET_PHYSICS_SOURCE_DIR}/Extras/Serialize/BulletWorldImporter +- ${BULLET_PHYSICS_SOURCE_DIR}/examples/ThirdPartyLibs/tinyxml2 + ) + + ADD_LIBRARY( +@@ -11,8 +10,9 @@ ADD_LIBRARY( + btBulletXmlWorldImporter.h + string_split.cpp + string_split.h +- ${BULLET_PHYSICS_SOURCE_DIR}/examples/ThirdPartyLibs/tinyxml2/tinyxml2.cpp + ) ++find_package(tinyxml2 CONFIG REQUIRED) ++target_link_libraries(BulletXmlWorldImporter PRIVATE tinyxml2::tinyxml2) + + SET_TARGET_PROPERTIES(BulletXmlWorldImporter PROPERTIES VERSION ${BULLET_VERSION}) + SET_TARGET_PROPERTIES(BulletXmlWorldImporter PROPERTIES SOVERSION ${BULLET_VERSION}) diff --git a/ports/bullet3/usage b/ports/bullet3/usage index fde1ec356461ab..167842aa37e777 100644 --- a/ports/bullet3/usage +++ b/ports/bullet3/usage @@ -1,4 +1,13 @@ -Bullet3 provides CMake targets: +bullet3 provides CMake targets: - find_package(Bullet CONFIG REQUIRED) - target_link_libraries(main PRIVATE ${BULLET_LIBRARIES}) + find_package(Bullet CONFIG REQUIRED) + # specific set: BulletSoftBody, BulletDynamics, BulletInverseDynamics, + # BulletCollision, Bullet3Common, LinearMath + target_link_libraries(main PRIVATE ${BULLET_LIBRARIES}) + # individual imported targets, e.g. for Bullet 3 libs + target_link_libraries(main PRIVATE Bullet3Dynamics) + +bullet3 provides pkg-config modules: + + # specific set: BulletSoftBody, BulletDynamics, BulletCollision, LinearMath + bullet diff --git a/ports/bullet3/vcpkg.json b/ports/bullet3/vcpkg.json index 8d290c2edd9578..d3cd9d054c6995 100644 --- a/ports/bullet3/vcpkg.json +++ b/ports/bullet3/vcpkg.json @@ -1,7 +1,7 @@ { "name": "bullet3", "version": "3.25", - "port-version": 1, + "port-version": 3, "description": "Bullet Physics is a professional collision detection, rigid body, and soft body dynamics library", "homepage": "https://github.com/bulletphysics/bullet3", "license": "Zlib", @@ -20,11 +20,18 @@ "description": "Use float64 doubles for bullet3" }, "extras": { - "description": "Build the extras" + "description": "Build selected extras", + "dependencies": [ + "tinyxml2" + ] }, "multithreading": { "description": "Multithreading functionality for bullet3" }, + "opencl": { + "description": "Build Bullet3OpenCL_clew library", + "supports": "!uwp" + }, "rtti": { "description": "Enable RTTI on windows" } diff --git a/ports/bw-tempdir/portfile.cmake b/ports/bw-tempdir/portfile.cmake new file mode 100644 index 00000000000000..d8e04a8863abbc --- /dev/null +++ b/ports/bw-tempdir/portfile.cmake @@ -0,0 +1,21 @@ +set(VCPKG_BUILD_TYPE release) # header-only + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO bw-hro/TempDir + REF "v${VERSION}" + SHA512 75c271b9f84c8eb9256a99683828faecd17f86b9c7a9066266157bf2d10acfe2d057470295b2dc05dbad5cc6fb1d6af60aed2924fba391c0bc292afc37d9e1ea + HEAD_REF master +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DTD_BUILD_EXAMPLES=OFF + -DTD_BUILD_TESTS=OFF + -DTD_ENABLE_COVERAGE=OFF +) + +vcpkg_cmake_install() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/bw-tempdir/vcpkg.json b/ports/bw-tempdir/vcpkg.json new file mode 100644 index 00000000000000..c07f7856c937e1 --- /dev/null +++ b/ports/bw-tempdir/vcpkg.json @@ -0,0 +1,13 @@ +{ + "name": "bw-tempdir", + "version": "1.0.0", + "description": "TempDir: Simplified Temporary Directory for C++", + "homepage": "https://github.com/bw-hro/TempDir", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/ports/bxzstr/portfile.cmake b/ports/bxzstr/portfile.cmake index fd198f39aaae5f..2ca9c6c31bad90 100644 --- a/ports/bxzstr/portfile.cmake +++ b/ports/bxzstr/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO tmaklin/bxzstr REF "v${VERSION}" - SHA512 e357eb99b007031a1b15b20077883ebb20b294fda97d4aa354ded04c8d0b398fdeae9e1e97747caf55699a8feadf8c10eb807a9c6a66837a0816002df34fb7a1 + SHA512 8ea73cc531be6b75cddc0ac3d633df5f0b647c61b57e788052273efa8ab3bb9c23760156db8876ab0d7d48e067af2ed49bd3aa8644b4e8ea518be84a284b2ef4 HEAD_REF master ) diff --git a/ports/bxzstr/vcpkg.json b/ports/bxzstr/vcpkg.json index effb4665fa4165..7d68d7c3c09a57 100644 --- a/ports/bxzstr/vcpkg.json +++ b/ports/bxzstr/vcpkg.json @@ -1,7 +1,6 @@ { "name": "bxzstr", - "version": "1.2.0", - "port-version": 1, + "version": "1.2.2", "description": "A C++ header-only ZLib/libBZ2/libLZMA/Zstandard wrapper.", "homepage": "https://github.com/tmaklin/bxzstr", "license": "MPL-2.0", diff --git a/ports/bzip2/CMakeLists.txt b/ports/bzip2/CMakeLists.txt index d0f200a0a6aad6..95e269ab8515b5 100644 --- a/ports/bzip2/CMakeLists.txt +++ b/ports/bzip2/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.0) +cmake_minimum_required(VERSION 3.5...3.29) project(bzip2 C) if(CMAKE_BUILD_TYPE STREQUAL Debug) diff --git a/ports/bzip2/portfile.cmake b/ports/bzip2/portfile.cmake index 4c996803134096..d91aac67a24278 100644 --- a/ports/bzip2/portfile.cmake +++ b/ports/bzip2/portfile.cmake @@ -1,5 +1,6 @@ vcpkg_download_distfile(ARCHIVE URLS "https://sourceware.org/pub/bzip2/bzip2-${VERSION}.tar.gz" + "https://www.mirrorservice.org/sites/sourceware.org/pub/bzip2/bzip2-${VERSION}.tar.gz" FILENAME "bzip2-${VERSION}.tar.gz" SHA512 083f5e675d73f3233c7930ebe20425a533feedeaaa9d8cc86831312a6581cefbe6ed0d08d2fa89be81082f2a5abdabca8b3c080bf97218a1bd59dc118a30b9f3 ) diff --git a/ports/bzip2/vcpkg.json b/ports/bzip2/vcpkg.json index 4a609b29a2b194..1663999c5d3134 100644 --- a/ports/bzip2/vcpkg.json +++ b/ports/bzip2/vcpkg.json @@ -1,7 +1,7 @@ { "name": "bzip2", "version-semver": "1.0.8", - "port-version": 5, + "port-version": 6, "description": "bzip2 is a freely available, patent free, high-quality data compressor. It typically compresses files to within 10% to 15% of the best available techniques (the PPM family of statistical compressors), whilst being around twice as fast at compression and six times faster at decompression.", "homepage": "https://sourceware.org/bzip2/", "documentation": "https://sourceware.org/bzip2/docs.html", diff --git a/ports/c-ares/fix-uwp.patch b/ports/c-ares/fix-uwp.patch deleted file mode 100644 index afc20469b78982..00000000000000 --- a/ports/c-ares/fix-uwp.patch +++ /dev/null @@ -1,85 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 7a29fef..08ed974 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -225,6 +225,9 @@ ELSEIF (CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") - # Don't define _XOPEN_SOURCE on FreeBSD, it actually reduces visibility instead of increasing it - ELSEIF (WIN32) - LIST (APPEND SYSFLAGS -DWIN32_LEAN_AND_MEAN -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_WIN32_WINNT=0x0600) -+ IF (CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") -+ LIST (APPEND SYSFLAGS -DWINRT) -+ ENDIF () - ENDIF () - ADD_DEFINITIONS(${SYSFLAGS}) - -diff --git a/src/lib/ares__addrinfo_localhost.c b/src/lib/ares__addrinfo_localhost.c -index 7940ecd..aacfa52 100644 ---- a/src/lib/ares__addrinfo_localhost.c -+++ b/src/lib/ares__addrinfo_localhost.c -@@ -131,7 +131,7 @@ static int ares__system_loopback_addrs(int aftype, - unsigned short port, - struct ares_addrinfo_node **nodes) - { --#if defined(_WIN32) && defined(_WIN32_WINNT) && _WIN32_WINNT >= 0x0600 && !defined(__WATCOMC__) -+#if defined(_WIN32) && defined(_WIN32_WINNT) && _WIN32_WINNT >= 0x0600 && !defined(__WATCOMC__) && !defined(WINRT) - PMIB_UNICASTIPADDRESS_TABLE table; - unsigned int i; - int status; -diff --git a/src/lib/ares_getaddrinfo.c b/src/lib/ares_getaddrinfo.c -index bc9f19b..1bb0e15 100644 ---- a/src/lib/ares_getaddrinfo.c -+++ b/src/lib/ares_getaddrinfo.c -@@ -467,8 +467,10 @@ static int file_lookup(struct host_query *hquery) - RegCloseKey(hkeyHosts); - } - } -+#ifndef WINRT - else if (platform == WIN_9X) - GetWindowsDirectoryA(PATH_HOSTS, MAX_PATH); -+#endif - else - return ARES_ENOTFOUND; - -diff --git a/src/lib/ares_gethostbyaddr.c b/src/lib/ares_gethostbyaddr.c -index c62d230..6d47328 100644 ---- a/src/lib/ares_gethostbyaddr.c -+++ b/src/lib/ares_gethostbyaddr.c -@@ -194,8 +194,10 @@ static int file_lookup(struct ares_addr *addr, struct hostent **host) - RegCloseKey(hkeyHosts); - } - } -+#ifndef WINRT - else if (platform == WIN_9X) - GetWindowsDirectoryA(PATH_HOSTS, MAX_PATH); -+#endif - else - return ARES_ENOTFOUND; - -diff --git a/src/lib/ares_gethostbyname.c b/src/lib/ares_gethostbyname.c -index 8c71cc6..3954244 100644 ---- a/src/lib/ares_gethostbyname.c -+++ b/src/lib/ares_gethostbyname.c -@@ -278,8 +278,10 @@ static int file_lookup(const char *name, int family, struct hostent **host) - RegCloseKey(hkeyHosts); - } - } -+#ifndef WINRT - else if (platform == WIN_9X) - GetWindowsDirectoryA(PATH_HOSTS, MAX_PATH); -+#endif - else - return ARES_ENOTFOUND; - -diff --git a/src/lib/ares_init.c b/src/lib/ares_init.c -index 3f9cec6..63143e0 100644 ---- a/src/lib/ares_init.c -+++ b/src/lib/ares_init.c -@@ -745,7 +745,7 @@ static ULONG getBestRouteMetric(IF_LUID * const luid, /* Can't be const :( */ - const ULONG interfaceMetric) - { - /* On this interface, get the best route to that destination. */ --#if defined(__WATCOMC__) -+#if defined(__WATCOMC__) || defined(WINRT) - /* OpenWatcom's builtin Windows SDK does not have a definition for - * MIB_IPFORWARD_ROW2, and also does not allow the usage of SOCKADDR_INET - * as a variable. Let's work around this by returning the worst possible diff --git a/ports/c-ares/portfile.cmake b/ports/c-ares/portfile.cmake index f7ede9ded904b9..8822f8260e5fb9 100644 --- a/ports/c-ares/portfile.cmake +++ b/ports/c-ares/portfile.cmake @@ -1,17 +1,11 @@ -string(REGEX MATCH "^([0-9]+)\\.([0-9]+)\\.([0-9]+)" _c_ares_version "${VERSION}") -set(_c_ares_version_major "${CMAKE_MATCH_1}") -set(_c_ares_version_minor "${CMAKE_MATCH_2}") -set(_c_ares_version_patch "${CMAKE_MATCH_3}") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO c-ares/c-ares - REF "cares-${_c_ares_version_major}_${_c_ares_version_minor}_${_c_ares_version_patch}" - SHA512 73b5ee9d7e5ada6dd95dc32606821ea1307f30552242491e738f673d1ab9de1fdb3360d7a67c66a4a801b0e81ffb7382bfd93dbca836460dae515dd631ec6b91 + REF "v${VERSION}" + SHA512 7bd4ca8f1a1b6d7b6662c724315bb5d4ca1d3c19e5ff4e06e3567ea25d5f8fd60f9c5f9ade055f08dc7fc3dec0e40e96f8284207b3e03c0975fd962d4a9fcb47 HEAD_REF main PATCHES avoid-docs.patch - fix-uwp.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC) @@ -37,7 +31,7 @@ vcpkg_fixup_pkgconfig() if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") vcpkg_replace_string( "${CURRENT_PACKAGES_DIR}/include/ares.h" - "#ifdef CARES_STATICLIB" "#if 1" + "# ifdef CARES_STATICLIB" "#if 1" ) endif() @@ -47,4 +41,4 @@ endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -file(INSTALL "${SOURCE_PATH}/LICENSE.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") diff --git a/ports/c-ares/usage b/ports/c-ares/usage index f560e8d641653a..34e77f95dac4b1 100644 --- a/ports/c-ares/usage +++ b/ports/c-ares/usage @@ -1,4 +1,4 @@ -The package c-ares provides CMake targets: +c-ares provides CMake targets: - find_package(c-ares CONFIG REQUIRED) - target_link_libraries(main PRIVATE c-ares::cares) + find_package(c-ares CONFIG REQUIRED) + target_link_libraries(main PRIVATE c-ares::cares) diff --git a/ports/c-ares/vcpkg.json b/ports/c-ares/vcpkg.json index 5994ebf7864ceb..836c1fc2d7216b 100644 --- a/ports/c-ares/vcpkg.json +++ b/ports/c-ares/vcpkg.json @@ -1,6 +1,6 @@ { "name": "c-ares", - "version-semver": "1.19.1", + "version-semver": "1.34.4", "description": "A C library for asynchronous DNS requests", "homepage": "https://github.com/c-ares/c-ares", "license": "MIT-CMU", diff --git a/ports/c4core/portfile.cmake b/ports/c4core/portfile.cmake index c8a89a241ec899..a5fae1ed5a7cbc 100644 --- a/ports/c4core/portfile.cmake +++ b/ports/c4core/portfile.cmake @@ -5,7 +5,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO biojppm/c4core REF "v${VERSION}" - SHA512 e96d91daeba30a5caf1772a1fbcdd4011e42e112cd560652d23d61089ef751f88c305abc41b17f45652b44090a3b4e8d853acc1bc32ce8f6f46b3ad410028e9f + SHA512 23e45d186d03a64701376fbb63b5e3608dfdac7188eefd869976e97149ee772c7547e460b305c938650a721eac0c0573b70b5a5a2cd7211192cf9c87f019548c HEAD_REF master ) @@ -28,13 +28,13 @@ vcpkg_extract_source_archive( file(REMOVE_RECURSE "${SOURCE_PATH}/cmake") file(RENAME "${SOURCE_PATH_CMAKE}" "${SOURCE_PATH}/cmake") -set(DB_COMMIT_HASH 78e525c6e74df6d62d782864a52c0d279dcee24f) +set(DB_COMMIT_HASH 5dcbe41d2bd4712c8014aa7e843723ad7b40fd74) vcpkg_download_distfile( DEBUGBREAK_ARCHIVE URLS "https://github.com/biojppm/debugbreak/archive/${DB_COMMIT_HASH}.zip" FILENAME "debugbreak-${DB_COMMIT_HASH}.zip" - SHA512 25f3d45b09ce362f736fac0f6d6a6c7f2053fec4975b32b0565288893e4658fd0648a7988c3a5fe0e373e92705d7a3970eaa7cfc053f375ffb75e80772d0df64 + SHA512 a4735225058b48031e68c91853c71d3cc31c8f2bfc3592cfc7a9a16f406224a814535ecade81ab4ead76458eeab8752e7e7cd521d893db5791dd4aaac3ba20d9 ) vcpkg_extract_source_archive( @@ -46,13 +46,13 @@ vcpkg_extract_source_archive( file(REMOVE_RECURSE "${SOURCE_PATH}/src/c4/ext/debugbreak") file(RENAME "${SOURCE_PATH_DEBUGBREAK}" "${SOURCE_PATH}/src/c4/ext/debugbreak") -set(FF_COMMIT_HASH 8159e8bcf63c1b92f5a51fb550f966e56624b209) +set(FF_COMMIT_HASH 052975dd5f8166d0f9e4a215fa75a349d5985b91) vcpkg_download_distfile( FAST_FLOAT_ARCHIVE URLS "https://github.com/biojppm/fast_float/archive/${FF_COMMIT_HASH}.zip" FILENAME "fast_float-${FF_COMMIT_HASH}.zip" - SHA512 ae71f74d3bae782f62f037c034bea4e7f45462188c8285971c2959c6b2884d3bb58826681c0989f4290f26fa33237c1b63ceed77ed94f9e97c1cd01b4aa21cd3 + SHA512 af63cbf1d6620cda87a5f0ca06dcaf46ddfe63658ae5ba91232a2416e8179cba3b2b3d06ff53c1ab2ba3745ae39b0cb787e04be3a9dbe1287605704c2ed13019 ) vcpkg_extract_source_archive( diff --git a/ports/c4core/vcpkg.json b/ports/c4core/vcpkg.json index 5c658e60398918..3d3b8fb19958ef 100644 --- a/ports/c4core/vcpkg.json +++ b/ports/c4core/vcpkg.json @@ -1,6 +1,6 @@ { "name": "c4core", - "version": "0.1.11", + "version": "0.2.1", "description": "Library of low-level C++ utilities", "homepage": "https://github.com/biojppm/c4core", "license": "MIT", diff --git a/ports/cachelib/fix-build.patch b/ports/cachelib/fix-build.patch index 846a2a5d8f070e..e41ac9426e5fc8 100644 --- a/ports/cachelib/fix-build.patch +++ b/ports/cachelib/fix-build.patch @@ -35,7 +35,7 @@ index 3e149469..0e6b6d9c 100644 */ #include --#include +-#include #include #include #include diff --git a/ports/cachelib/fix-fmt.patch b/ports/cachelib/fix-fmt.patch new file mode 100644 index 00000000000000..7a6190be216f38 --- /dev/null +++ b/ports/cachelib/fix-fmt.patch @@ -0,0 +1,13 @@ +diff --git a/cachelib/navy/block_cache/BlockCache.cpp b/cachelib/navy/block_cache/BlockCache.cpp +index 5394cd3..f9d2c23 100644 +--- a/cachelib/navy/block_cache/BlockCache.cpp ++++ b/cachelib/navy/block_cache/BlockCache.cpp +@@ -266,7 +266,7 @@ Status BlockCache::lookup(HashedKey hk, Buffer& value) { + XLOGF(ERR, + "Retry reading an entry after checksum for debugging. Return code: " + "{}", +- retryStatus); ++ toString(retryStatus)); + + // Remove this item from index so no future lookup will + // ever attempt to read this key. Reclaim will also not be diff --git a/ports/cachelib/fix-glog.patch b/ports/cachelib/fix-glog.patch new file mode 100644 index 00000000000000..6a7e79bb4f71ba --- /dev/null +++ b/ports/cachelib/fix-glog.patch @@ -0,0 +1,13 @@ +diff --git a/cachelib/CMakeLists.txt b/cachelib/CMakeLists.txt +index 6be8199..2ebff62 100644 +--- a/cachelib/CMakeLists.txt ++++ b/cachelib/CMakeLists.txt +@@ -96,7 +96,7 @@ find_package(Threads REQUIRED) + find_package(Boost REQUIRED COMPONENTS + system filesystem regex context program_options thread) + find_package(Gflags REQUIRED) +-find_package(Glog REQUIRED) ++find_package(glog CONFIG REQUIRED) + find_package(GTest CONFIG REQUIRED) + find_package(folly CONFIG REQUIRED) + find_package(fizz CONFIG REQUIRED) diff --git a/ports/cachelib/fmt-10.patch b/ports/cachelib/fmt-10.patch deleted file mode 100644 index 083c00568897c0..00000000000000 --- a/ports/cachelib/fmt-10.patch +++ /dev/null @@ -1,44 +0,0 @@ -diff --git a/cachelib/cachebench/cache/ItemRecords.h b/cachelib/cachebench/cache/ItemRecords.h -index 80fe7489..e581d78e 100644 ---- a/cachelib/cachebench/cache/ItemRecords.h -+++ b/cachelib/cachebench/cache/ItemRecords.h -@@ -102,11 +102,11 @@ class ItemRecords { - } - if (record.destructCount != 0) { - XLOGF(ERR, "unexpected destructCount {} for item {}, context {}|{}", -- record.destructCount, item.getKey(), data.context, record.context); -+ record.destructCount, item.getKey().data(), data.context, record.context); - } - if (record.version != ptr->getVersion()) { - XLOGF(ERR, "unexpected version {}|{} for item {}", record.version, -- ptr->getVersion(), item.getKey()); -+ ptr->getVersion(), item.getKey().data()); - } - ++record.destructCount; - -diff --git a/cachelib/cachebench/runner/FastShutdown.cpp b/cachelib/cachebench/runner/FastShutdown.cpp -index 82c878eb..5ceb342d 100644 ---- a/cachelib/cachebench/runner/FastShutdown.cpp -+++ b/cachelib/cachebench/runner/FastShutdown.cpp -@@ -27,7 +27,7 @@ namespace cachebench { - FastShutdownStressor::FastShutdownStressor(const CacheConfig& cacheConfig, - uint64_t numOps) - : numOps_(numOps), -- cacheDir_{folly::sformat("/tmp/cache_bench_fss_{}", getpid())}, -+ cacheDir_{folly::sformat("/tmp/cache_bench_fss_{}", std::to_string(getpid()))}, - cache_(std::make_unique>( - cacheConfig, nullptr, cacheDir_)) {} - -diff --git a/cachelib/navy/admission_policy/DynamicRandomAP.cpp b/cachelib/navy/admission_policy/DynamicRandomAP.cpp -index 3a8a1aa0..2ab0fa45 100644 ---- a/cachelib/navy/admission_policy/DynamicRandomAP.cpp -+++ b/cachelib/navy/admission_policy/DynamicRandomAP.cpp -@@ -189,7 +189,7 @@ void DynamicRandomAP::updateThrottleParamsLocked(std::chrono::seconds curTime) { - XLOGF(INFO, - "max write rate {} will be used because target current write rate {} " - "exceeds it.", -- maxRate_, curTargetRate); -+ maxRate_.load(std::memory_order_relaxed), curTargetRate); - curTargetRate = maxRate_; - } - writeStats_.curTargetRate = curTargetRate; diff --git a/ports/cachelib/portfile.cmake b/ports/cachelib/portfile.cmake index 774cd469d72412..b40f547c9dfefe 100644 --- a/ports/cachelib/portfile.cmake +++ b/ports/cachelib/portfile.cmake @@ -2,11 +2,12 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO facebook/CacheLib REF "v${VERSION}" - SHA512 fac41a2cb477f252034b932b1499b32b100d164eec4638d387af0487eeb1f84d430cd5908652914e615b188264d2806d6374343938165ebd47dd2494d1e7450d - HEAD_REF master + SHA512 0d67a5086222cf787d8f6205f68b783b462b4e7baed437caac9dc3952605b6fe392829a6802e4bd3ad366915f687c7d89dae1f5b903479aad7e8c5592adbabf7 + HEAD_REF main PATCHES fix-build.patch - fmt-10.patch + fix-glog.patch + fix-fmt.patch ) FIND_PATH(NUMA_INCLUDE_DIR NAME numa.h @@ -18,6 +19,7 @@ IF (NOT NUMA_INCLUDE_DIR) MESSAGE(FATAL_ERROR "Numa library not found.\nTry: 'sudo yum install numactl numactl-devel' (or sudo apt-get install libnuma1 libnuma-dev)") ENDIF () +file(REMOVE "${SOURCE_PATH}/cmake/FindGlog.cmake") vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}/cachelib" OPTIONS diff --git a/ports/cachelib/vcpkg.json b/ports/cachelib/vcpkg.json index 95535128ad6f1a..2635753092b224 100644 --- a/ports/cachelib/vcpkg.json +++ b/ports/cachelib/vcpkg.json @@ -1,7 +1,7 @@ { "name": "cachelib", - "version-string": "2023.05.08.00", - "description": "facebook cachelib", + "version-string": "2024.07.15.00", + "description": "Pluggable caching engine to build and scale high performance cache services.", "homepage": "https://github.com/facebook/CacheLib", "license": "Apache-2.0", "supports": "linux & x64 & static", @@ -9,7 +9,12 @@ "fbthrift", "fizz", "fmt", - "folly", + { + "name": "folly", + "features": [ + "libaio" + ] + }, "gflags", "glog", "gtest", diff --git a/ports/caf/fix_cxx17.patch b/ports/caf/fix_cxx17.patch index ba7d2e3ab7b026..7703ca0e4d3b85 100644 --- a/ports/caf/fix_cxx17.patch +++ b/ports/caf/fix_cxx17.patch @@ -1,17 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index ed753b9..5dc80c2 100644 +index 0622702..f44e0f5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -131,7 +131,7 @@ endif() - - if(NOT DEFINED CAF_USE_STD_FORMAT) - set(CAF_USE_STD_FORMAT OFF CACHE BOOL "Enable std::format support" FORCE) -- if(NOT CMAKE_CROSSCOMPILING) -+ if(0) - set(snippet "#include - #include - int main() { std::cout << std::format(\"{}\", \"ok\"); }") -@@ -177,7 +177,6 @@ endif() +@@ -158,7 +158,6 @@ install(TARGETS caf_internal EXPORT CAFTargets) # -- create the libcaf_test target ahead of time for caf_core ------------------ @@ -19,25 +10,7 @@ index ed753b9..5dc80c2 100644 # -- add uninstall target if it does not exist yet ----------------------------- -@@ -289,8 +288,6 @@ function(caf_add_component name) - string(REPLACE "/" "-" test_name "${test_path}/${test_name}-test") - add_executable("${test_name}" ${source_file} - $) -- target_link_libraries(${test_name} PRIVATE libcaf_test -- ${CAF_ADD_COMPONENT_DEPENDENCIES}) - target_include_directories(${test_name} PRIVATE - "${CMAKE_CURRENT_SOURCE_DIR}" - "${CMAKE_CURRENT_BINARY_DIR}") -@@ -314,8 +311,6 @@ function(caf_add_component name) - add_executable(${tst_bin_target} - ${CAF_ADD_COMPONENT_LEGACY_TEST_SOURCES} - $) -- target_link_libraries(${tst_bin_target} PRIVATE libcaf_test -- ${CAF_ADD_COMPONENT_DEPENDENCIES}) - target_include_directories(${tst_bin_target} PRIVATE - "${CMAKE_CURRENT_SOURCE_DIR}/tests/legacy") - if(CAF_ADD_COMPONENT_LEGACY_TEST_SUITES) -@@ -373,7 +368,6 @@ endfunction() +@@ -351,7 +350,6 @@ endfunction() add_subdirectory(libcaf_core) diff --git a/ports/caf/portfile.cmake b/ports/caf/portfile.cmake index 4732ed6680e232..93afa34335ef0a 100644 --- a/ports/caf/portfile.cmake +++ b/ports/caf/portfile.cmake @@ -2,8 +2,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO actor-framework/actor-framework REF "${VERSION}" - SHA512 97766b5b0a4db96b03be77c1ffd2198cc5536c09e2a06bb6fcff023ee78692f2c23ad213dc9698d6abfe950c61c4a2565bbfdfe871652cef816829e83d16ceab - HEAD_REF master + SHA512 496bca714b3d84dafe155f775229e1b6190aae092ab82f8c098af4b0268cd565b980624e93436f5ccba34bac350c62a03ff46b9bddaa1c9bc646d78a2338c53a + HEAD_REF main PATCHES fix_dependency.patch fix_cxx17.patch @@ -12,7 +12,6 @@ vcpkg_from_github( vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=ON -DCAF_ENABLE_CURL_EXAMPLES=OFF -DCAF_ENABLE_PROTOBUF_EXAMPLES=OFF -DCAF_ENABLE_QT6_EXAMPLES=OFF @@ -20,10 +19,8 @@ vcpkg_cmake_configure( -DCAF_ENABLE_ACTOR_PROFILER=OFF -DCAF_ENABLE_EXAMPLES=OFF -DCAF_ENABLE_TESTING=OFF - -DCAF_ENABLE_TOOLS=OFF -DCAF_ENABLE_IO_MODULE=ON -DCAF_ENABLE_EXCEPTIONS=ON - -DCAF_ENABLE_UTILITY_TARGETS=OFF ) vcpkg_cmake_install() @@ -33,5 +30,6 @@ vcpkg_cmake_config_fixup(PACKAGE_NAME CAF CONFIG_PATH lib/cmake/CAF) vcpkg_copy_pdbs() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/caf/internal") -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/caf/vcpkg.json b/ports/caf/vcpkg.json index ee9c04d1e9ddab..1d74e3a5b272fd 100644 --- a/ports/caf/vcpkg.json +++ b/ports/caf/vcpkg.json @@ -1,6 +1,6 @@ { "name": "caf", - "version": "0.19.3", + "version": "1.0.2", "description": "an open source implementation of the actor model for C++ featuring lightweight & fast actor implementations, pattern matching for messages, network transparent messaging, and more.", "homepage": "https://github.com/actor-framework/actor-framework", "license": "BSD-3-Clause", diff --git a/ports/caffe2/portfile.cmake b/ports/caffe2/portfile.cmake deleted file mode 100644 index 9975a967da5e28..00000000000000 --- a/ports/caffe2/portfile.cmake +++ /dev/null @@ -1,2 +0,0 @@ -SET(VCPKG_POLICY_EMPTY_PACKAGE enabled) -message(WARNING "The 'caffe2' port is deprecated, using 'libtorch' instead") diff --git a/ports/caffe2/vcpkg.json b/ports/caffe2/vcpkg.json deleted file mode 100644 index 3cd45152a25bed..00000000000000 --- a/ports/caffe2/vcpkg.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "name": "caffe2", - "version": "0.8.1", - "port-version": 8, - "description": "Caffe2 is a lightweight, modular, and scalable deep learning framework.", - "homepage": "https://github.com/caffe2/caffe2", - "license": "Apache-2.0", - "dependencies": [ - { - "name": "libtorch", - "default-features": false - } - ] -} diff --git a/ports/cairo/cairo_add_lzo_feature_option.patch b/ports/cairo/cairo_add_lzo_feature_option.patch new file mode 100644 index 00000000000000..b9195f36227fe9 --- /dev/null +++ b/ports/cairo/cairo_add_lzo_feature_option.patch @@ -0,0 +1,25 @@ +diff --git a/meson.build b/meson.build +index 03eb140f0..eadd32088 100644 +--- a/meson.build ++++ b/meson.build +@@ -196,7 +196,7 @@ else + endif + endif + +-lzo_dep = dependency('lzo2', required: false) ++lzo_dep = dependency('lzo2', required: get_option('lzo')) + if lzo_dep.found() + conf.set('HAVE_LZO', 1) + endif +diff --git a/meson_options.txt b/meson_options.txt +index f481ef3ea..3ba4dacb1 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -23,6 +23,7 @@ option('glib', type : 'feature', value : 'auto') + option('spectre', type : 'feature', value : 'auto') + option('symbol-lookup', type: 'feature', value : 'auto', + description: 'Symbol lookup in debug utils via binutils/bfd') ++option('lzo', type : 'feature', value : 'auto') + + # Documentation + option('gtk_doc', type : 'boolean', value : false, diff --git a/ports/cairo/cairo_static_fix.patch b/ports/cairo/cairo_static_fix.patch deleted file mode 100644 index e3c15f7f8764bf..00000000000000 --- a/ports/cairo/cairo_static_fix.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- meson.build.orig 2022-03-19 03:40:07.000000000 +0900 -+++ meson.build 2022-03-29 21:32:41.000000000 +0900 -@@ -96,6 +96,13 @@ - endif - - add_project_arguments('-D_GNU_SOURCE', language: 'c') - -+if host_machine.system() == 'windows' -+ lib_default = get_option('default_library') -+ if lib_default == 'static' -+ add_project_arguments('-DCAIRO_WIN32_STATIC_BUILD', language: 'c') -+ endif -+endif -+ - # Make sure source directory hasn't been configured with autotools - fs = import('fs') - if fs.exists('config.h') or fs.exists('src/cairo-features.h') or fs.exists('src/cairo-supported-features.h') diff --git a/ports/cairo/disable-atomic-ops-check.patch b/ports/cairo/disable-atomic-ops-check.patch deleted file mode 100644 index b7768013d0fb58..00000000000000 --- a/ports/cairo/disable-atomic-ops-check.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/meson.build b/meson.build -index e3ec5d9..7b20c0c 100644 ---- a/meson.build -+++ b/meson.build -@@ -870,7 +870,7 @@ if cc.links(files('meson-cc-tests/atomic-ops-cxx11.c'), name: 'Atomic ops: cxx11 - conf.set('HAVE_CXX11_ATOMIC_PRIMITIVES', 1) - elif cc.links(files('meson-cc-tests/atomic-ops-gcc-legacy.c'), name: 'Atomic ops: gcc legacy') - conf.set('HAVE_GCC_LEGACY_ATOMICS', 1) --elif cc.has_header('atomic_ops.h') -+elif false - conf.set('HAVE_LIB_ATOMIC_OPS', 1) - elif cc.has_header('libkern/OSAtomic.h') - conf.set('HAVE_OS_ATOMIC_OPS', 1) diff --git a/ports/cairo/mingw-dllexport.patch b/ports/cairo/mingw-dllexport.patch deleted file mode 100644 index 8a9bbd78642f31..00000000000000 --- a/ports/cairo/mingw-dllexport.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/cairoint.h b/src/cairoint.h -index cfa77dd..fbc0776 100644 ---- a/src/cairoint.h -+++ b/src/cairoint.h -@@ -48,7 +48,7 @@ - - #include "config.h" - --#ifdef _MSC_VER -+#ifdef _WIN32 - #define cairo_public __declspec(dllexport) - #endif - diff --git a/ports/cairo/fix-static-missing-lib-msimg32.patch b/ports/cairo/msvc-convenience.diff similarity index 100% rename from ports/cairo/fix-static-missing-lib-msimg32.patch rename to ports/cairo/msvc-convenience.diff diff --git a/ports/cairo/portfile.cmake b/ports/cairo/portfile.cmake index 36b876318a5bc3..d71cec33cb71fa 100644 --- a/ports/cairo/portfile.cmake +++ b/ports/cairo/portfile.cmake @@ -1,5 +1,6 @@ +set(EXTRA_PATCHES "") if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) - set(PATCHES fix_clang-cl_build.patch) + list(APPEND EXTRA_PATCHES fix_clang-cl_build.patch) endif() vcpkg_from_gitlab( @@ -7,13 +8,11 @@ vcpkg_from_gitlab( GITLAB_URL https://gitlab.freedesktop.org REPO cairo/cairo REF "${VERSION}" - SHA512 e12f4b05326c1ac7d930e18d95398dc9c65f3af9745d7fd301ef1663dd378feeb43acc47de17fd082d0acf96e9fc60310557c24e3fe8af06d17931590c7759c6 + SHA512 5731eaa48857561aad023214ebb7be70344579a4bc75d00c46f8c622b4d34be7f79ab02e2cd54a419086490a3bf31aafa2418d873833b475b9824e3f2f5b17b6 PATCHES - cairo_static_fix.patch - disable-atomic-ops-check.patch # See https://gitlab.freedesktop.org/cairo/cairo/-/issues/554 - mingw-dllexport.patch - fix-static-missing-lib-msimg32.patch - ${PATCHES} + cairo_add_lzo_feature_option.patch + msvc-convenience.diff + ${EXTRA_PATCHES} ) if("fontconfig" IN_LIST FEATURES) @@ -43,6 +42,12 @@ else() list(APPEND OPTIONS -Dglib=disabled) endif() +if("lzo" IN_LIST FEATURES) + list(APPEND OPTIONS -Dlzo=enabled) +else() + list(APPEND OPTIONS -Dlzo=disabled) +endif() + if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) set(ENV{CPP} "cl_cpp_wrapper") endif() @@ -62,29 +67,15 @@ vcpkg_install_meson() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -set(_file "${CURRENT_PACKAGES_DIR}/include/cairo/cairo.h") -file(READ ${_file} CAIRO_H) if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - string(REPLACE "defined (CAIRO_WIN32_STATIC_BUILD)" "1" CAIRO_H "${CAIRO_H}") -else() - string(REPLACE "defined (CAIRO_WIN32_STATIC_BUILD)" "0" CAIRO_H "${CAIRO_H}") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/cairo/cairo.h" "defined(CAIRO_WIN32_STATIC_BUILD)" "1") endif() -file(WRITE ${_file} "${CAIRO_H}") vcpkg_copy_pdbs() vcpkg_fixup_pkgconfig() -#TODO: Fix script -#set(TOOLS) -#if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/cairo-trace${VCPKG_TARGET_EXECUTABLE_SUFFIX}") -# list(APPEND TOOLS cairo-trace) # sh script which needs to be fixed due to absolute paths in it. -#endif() -#vcpkg_copy_tools(TOOL_NAMES ${TOOLS} AUTO_CLEAN) - -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static" OR NOT VCPKG_TARGET_IS_WINDOWS) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") endif() -file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -# Handle copyright vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING" "${SOURCE_PATH}/COPYING-LGPL-2.1" "${SOURCE_PATH}/COPYING-MPL-1.1") diff --git a/ports/cairo/usage b/ports/cairo/usage deleted file mode 100644 index 0ebb90033d337d..00000000000000 --- a/ports/cairo/usage +++ /dev/null @@ -1,11 +0,0 @@ -The package cairo can be imported via CMake FindPkgConfig module: - - # cairo - find_package(PkgConfig REQUIRED) - pkg_check_modules(cairo REQUIRED IMPORTED_TARGET cairo) - target_link_libraries(main PkgConfig::cairo) - - # cairo-script-interpreter - find_package(PkgConfig REQUIRED) - pkg_check_modules(cairo-script-interpreter REQUIRED IMPORTED_TARGET cairo-script-interpreter) - target_link_libraries(main PkgConfig::cairo-script-interpreter) diff --git a/ports/cairo/vcpkg.json b/ports/cairo/vcpkg.json index 18f96e10a4fe90..0e3f0b9c6d9031 100644 --- a/ports/cairo/vcpkg.json +++ b/ports/cairo/vcpkg.json @@ -1,7 +1,6 @@ { "name": "cairo", - "version": "1.17.8", - "port-version": 4, + "version": "1.18.2", "description": "Cairo is a 2D graphics library with support for multiple output devices. Currently supported output targets include the X Window System (via both Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.", "homepage": "https://cairographics.org", "license": "LGPL-2.1-only OR MPL-1.1", @@ -10,7 +9,6 @@ "dirent", "expat", "libpng", - "lzo", "pixman", "pthread", { @@ -25,25 +23,34 @@ ], "features": { "fontconfig": { - "description": "build with fontconfig", + "description": "Build with fontconfig", "dependencies": [ "fontconfig" ] }, "freetype": { - "description": "use the freetype font backend", + "description": "Use the freetype font backend", "dependencies": [ - "freetype" + { + "name": "freetype", + "default-features": false + } ] }, "gobject": { - "description": "build gobject module", + "description": "Build the gobject module", "dependencies": [ "glib" ] }, + "lzo": { + "description": "Build with lzo support", + "dependencies": [ + "lzo" + ] + }, "x11": { - "description": "build with x11 support", + "description": "Build with X11 support", "supports": "!windows" } } diff --git a/ports/cairomm/portfile.cmake b/ports/cairomm/portfile.cmake index 9c4123deb7ac9e..a4d80711e1deb2 100644 --- a/ports/cairomm/portfile.cmake +++ b/ports/cairomm/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_minimum_required(VERSION 2022-10-12) # for ${VERSION} vcpkg_download_distfile(ARCHIVE URLS "https://www.cairographics.org/releases/cairomm-${VERSION}.tar.xz" FILENAME "cairomm-${VERSION}.tar.xz" - SHA512 5484ccefc255b2e8886722c483cde011043c98b8e7ae17ce642f1b67effa236a8499c332771104fa7e547a9066c168fcfbbff6249caa73df3860823b355567d9 + SHA512 d358a765136e244773b4a0fdcb2d9c81dd0b76f7a27c7108f94df9765f2d790f5f50b5645c09c292efce3e012528f85114d51916450c5fe6fa87d09f5a405d4c ) vcpkg_extract_source_archive( diff --git a/ports/cairomm/vcpkg.json b/ports/cairomm/vcpkg.json index c12a5b0f7d0c6c..31e78679ddf26f 100644 --- a/ports/cairomm/vcpkg.json +++ b/ports/cairomm/vcpkg.json @@ -1,7 +1,6 @@ { "name": "cairomm", - "version": "1.17.1", - "port-version": 1, + "version": "1.18.0", "description": "A C++ wrapper for the cairo graphics library", "homepage": "https://www.cairographics.org", "license": "LGPL-2.0-only", diff --git a/ports/calceph/portfile.cmake b/ports/calceph/portfile.cmake index b962568e4d75bc..31fdcbfefa30e6 100755 --- a/ports/calceph/portfile.cmake +++ b/ports/calceph/portfile.cmake @@ -1,4 +1,4 @@ -set(CALCEPH_HASH 4e0b702494c9fc05f6a192671bccdc0f8002b5706cba4bd7ff50d9e8754203b4a78e3759ccc3003809123584c9bca1434411e111357852dbc58e4d1903c1879e) +set(CALCEPH_HASH 81cddae9fa0d06758dbbb5fae486bd64eb087dc2ebf2d7b17fa89b6689b86e0e84d1412e6852e980ebed00a4c84a3b1b4ac00b89021f6d0bb2f370a98a6dad25) vcpkg_download_distfile(ARCHIVE URLS "https://www.imcce.fr/content/medias/recherche/equipes/asd/calceph/calceph-${VERSION}.tar.gz" @@ -11,39 +11,21 @@ vcpkg_extract_source_archive( ARCHIVE ${ARCHIVE} ) -if (VCPKG_TARGET_IS_WINDOWS) - - vcpkg_install_nmake( - SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - OPTIONS_DEBUG - DESTDIR="${CURRENT_INSTALLED_DIR}/calceph/debug" - CFLAGS="${VCPKG_C_FLAGS_DEBUG} " - OPTIONS_RELEASE - DESTDIR="${CURRENT_INSTALLED_DIR}/calceph" - CFLAGS="${VCPKG_C_FLAGS_RELEASE} " - ) - file(INSTALL "${CURRENT_INSTALLED_DIR}/calceph/include/calceph.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include") - file(INSTALL "${CURRENT_INSTALLED_DIR}/calceph/lib/libcalceph.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") - if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(INSTALL "${CURRENT_INSTALLED_DIR}/calceph/debug/lib/libcalceph.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") - endif() - file(REMOVE_RECURSE "${CURRENT_INSTALLED_DIR}/calceph") - -else() # Build in UNIX - vcpkg_configure_make( - AUTOCONFIG +vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - OPTIONS ${OPTIONS} - --enable-fortran=no - --enable-thread=yes - ) +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") - vcpkg_install_make() - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +vcpkg_copy_tools(TOOL_NAMES calceph_inspector calceph_queryposition calceph_queryorientation AUTO_CLEAN) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") endif() - file(INSTALL "${SOURCE_PATH}/README.rst" DESTINATION "${CURRENT_PACKAGES_DIR}/share/calceph" RENAME readme.rst) - file(INSTALL "${SOURCE_PATH}/COPYING_CECILL_B.LIB" DESTINATION "${CURRENT_PACKAGES_DIR}/share/calceph" RENAME copyright) - file(INSTALL "${SOURCE_PATH}/doc/calceph_c.pdf" DESTINATION "${CURRENT_PACKAGES_DIR}/share/calceph" RENAME calceph_c.pdf) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +file(INSTALL "${SOURCE_PATH}/README.rst" DESTINATION "${CURRENT_PACKAGES_DIR}/share/calceph" RENAME readme.rst) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING_CECILL_B.LIB") diff --git a/ports/calceph/vcpkg.json b/ports/calceph/vcpkg.json index 493977480d4ffb..446274a5170f12 100755 --- a/ports/calceph/vcpkg.json +++ b/ports/calceph/vcpkg.json @@ -1,9 +1,19 @@ { "name": "calceph", - "version": "3.5.2", + "version": "4.0.4", "description": "C library to access the binary planetary ephemeris files.", "homepage": "https://www.imcce.fr/inpop/calceph/", - "documentation": "https://www.imcce.fr/content/medias/recherche/equipes/asd/calceph/html/c/index.html", + "documentation": "https://calceph.imcce.fr/docs/latest/html/c/index.html", "license": "CECILL-2.1 OR CECILL-B OR CECILL-C", - "supports": "!uwp" + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/capnproto/disable-C-20-co-routines.patch b/ports/capnproto/disable-C-20-co-routines.patch deleted file mode 100644 index ab292af0799d74..00000000000000 --- a/ports/capnproto/disable-C-20-co-routines.patch +++ /dev/null @@ -1,25 +0,0 @@ -From da5b439b558e354a8fc59d09dff6a9eb657f54fd Mon Sep 17 00:00:00 2001 -From: Stig Hornang -Date: Mon, 28 Aug 2023 22:28:43 +0200 -Subject: [PATCH] Disable C++20 co-routines - ---- - c++/src/kj/async-prelude.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/c++/src/kj/async-prelude.h b/c++/src/kj/async-prelude.h -index 6289bf3f..c9845cdc 100644 ---- a/c++/src/kj/async-prelude.h -+++ b/c++/src/kj/async-prelude.h -@@ -36,7 +36,7 @@ - #if (__cpp_impl_coroutine >= 201902L) && __has_include() - // C++20 Coroutines detected. - #include --#define KJ_HAS_COROUTINE 1 -+// #define KJ_HAS_COROUTINE 1 - #define KJ_COROUTINE_STD_NAMESPACE std - #elif (__cpp_coroutines >= 201703L) && __has_include() - // Coroutines TS detected. --- -2.41.0.windows.3 - diff --git a/ports/capnproto/portfile.cmake b/ports/capnproto/portfile.cmake index cd2bbf0d4aed2a..305b07b814e4c7 100644 --- a/ports/capnproto/portfile.cmake +++ b/ports/capnproto/portfile.cmake @@ -3,14 +3,19 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO capnproto/capnproto - REF v1.0.1 - SHA512 189d8c483bded3889e903e3998d32d022b5a7bf45d519dc551dc9b2d7909a45a8816a09f4a817aa0fbb14c86c32b838a0c26457c2e89c33ec0eb93bbb93391c0 + REF "v${VERSION}" + SHA512 6992efffbfb375e2ce141e5e99bcab4c2ff2e1a71817d70dc71966633c18c7136e25220bf54da66928346d43697dbdf504e04a9d24cb00313a75b8d990cf53dd HEAD_REF master PATCHES - disable-C-20-co-routines.patch undef-KJ_USE_EPOLL-for-ANDROID_PLATFORM-23.patch ) +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + # In ARM64 it fails without /bigobj + set(VCPKG_CXX_FLAGS "${VCPKG_CXX_FLAGS} /bigobj") + set(VCPKG_C_FLAGS "${VCPKG_C_FLAGS} /bigobj") +endif() + vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES "openssl" OPENSSL_FEATURE diff --git a/ports/capnproto/vcpkg.json b/ports/capnproto/vcpkg.json index 65258626bd4224..3d3fde366dc861 100644 --- a/ports/capnproto/vcpkg.json +++ b/ports/capnproto/vcpkg.json @@ -1,10 +1,10 @@ { "name": "capnproto", - "version": "1.0.1", + "version": "1.1.0", "description": "Data interchange format and capability-based RPC system", "homepage": "https://capnproto.org/", "license": "MIT", - "supports": "!windows | (!uwp & !arm)", + "supports": "!windows | (!uwp & !arm32)", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/capstone/portfile.cmake b/ports/capstone/portfile.cmake index 585f79b83f8063..0b7fd77296feb3 100644 --- a/ports/capstone/portfile.cmake +++ b/ports/capstone/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO "capstone-engine/capstone" REF "${VERSION}" - SHA512 350aba77ce2d96b5c25764913591ba80e4497177ae0a8b2c820c6755ee8310848fbfc54e7ccac27fafc2dbc6778118ad92c53d1b5cb601d4fa146dec7d7e11e5 + SHA512 2fd3194dd37065e6091d208c7670b12c0ca6872931eef794bd6b2dd624601c843e8ee6c5714eae0372e394e91a9bc1e4de7dfea6b1087542dd461226569101de HEAD_REF next PATCHES 001-silence-windows-crt-secure-warnings.patch @@ -24,12 +24,18 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS "tms320c64x" CAPSTONE_TMS320C64X_SUPPORT "x86" CAPSTONE_X86_SUPPORT "xcore" CAPSTONE_XCORE_SUPPORT + "mos65xx" CAPSTONE_MOS65XX_SUPPORT + "tricore" CAPSTONE_TRICORE_SUPPORT + "wasm" CAPSTONE_WASM_SUPPORT + "bpf" CAPSTONE_BPF_SUPPORT + "riscv" CAPSTONE_RISCV_SUPPORT "diet" CAPSTONE_BUILD_DIET ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS + -DCAPSTONE_ARCHITECTURE_DEFAULT=OFF -DCAPSTONE_BUILD_TESTS=OFF -DCAPSTONE_BUILD_CSTOOL=OFF -DCAPSTONE_BUILD_STATIC_RUNTIME=${STATIC_CRT} diff --git a/ports/capstone/vcpkg.json b/ports/capstone/vcpkg.json index 4b9f2a88f09c64..ea4ede784e91d5 100644 --- a/ports/capstone/vcpkg.json +++ b/ports/capstone/vcpkg.json @@ -1,6 +1,6 @@ { "name": "capstone", - "version": "5.0.1", + "version": "5.0.3", "description": "Multi-architecture disassembly framework", "homepage": "https://github.com/capstone-engine/capstone", "dependencies": [ @@ -20,6 +20,9 @@ "arm64": { "description": "Capstone disassembly support for ARM64" }, + "bpf": { + "description": "Capstone disassembly support for BPF" + }, "diet": { "description": "Build Capstone in diet mode (reduced features for smaller size)" }, @@ -35,9 +38,15 @@ "mips": { "description": "Capstone disassembly support for MIPS" }, + "mos65xx": { + "description": "Capstone disassembly support for MOS65XX" + }, "ppc": { "description": "Capstone disassembly support for PowerPC" }, + "riscv": { + "description": "Capstone disassembly support for RISC-V" + }, "sparc": { "description": "Capstone disassembly support for SPARC" }, @@ -47,6 +56,12 @@ "tms320c64x": { "description": "Capstone disassembly support for TMS320C64X" }, + "tricore": { + "description": "Capstone disassembly support for TriCore" + }, + "wasm": { + "description": "Capstone disassembly support for WebAssembly" + }, "x86": { "description": "Capstone disassembly support for x86" }, diff --git a/ports/cargs/portfile.cmake b/ports/cargs/portfile.cmake index 6f42c08712c93a..7b69414b5d9672 100644 --- a/ports/cargs/portfile.cmake +++ b/ports/cargs/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO likle/cargs - REF v1.0.3 - SHA512 4f82f6857af6ae7bd1263f4c812a770fa3c3f94c84d5a0ba6256289a3d3084cd35b3aca6769241451d2acd57577ccc6638327b5bb70328800e9c3c4f5054f7de + REF "v${VERSION}" + SHA512 56877e330745369585b1b6ed274e8c898381439915048375a22a3fed077c1818b5d21356a33a77f516571d834a3fce7f78e509df63ce0f93b8276ac0a93df02a HEAD_REF master ) @@ -16,6 +16,7 @@ vcpkg_cmake_install() vcpkg_copy_pdbs() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/cargs) +vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(INSTALL "${SOURCE_PATH}/LICENSE.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/cargs/vcpkg.json b/ports/cargs/vcpkg.json index 6a2d24f67abf8f..54d51f1cca418c 100644 --- a/ports/cargs/vcpkg.json +++ b/ports/cargs/vcpkg.json @@ -1,6 +1,6 @@ { "name": "cargs", - "version": "1.0.3", + "version": "1.2.0", "description": "A lightweight cross-platform getopt alternative that works on Linux, Windows and macOS. Command line argument parser library for C/C++. Can be used to parse argv and argc parameters.", "homepage": "https://likle.github.io/cargs/", "dependencies": [ diff --git a/ports/cartographer/fix-build-error.patch b/ports/cartographer/fix-build-error.patch deleted file mode 100644 index 9474c78dc12b3e..00000000000000 --- a/ports/cartographer/fix-build-error.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff --git a/cartographer/common/internal/testing/thread_pool_for_testing.cc b/cartographer/common/internal/testing/thread_pool_for_testing.cc -index f804e13..c987f68 100644 ---- a/cartographer/common/internal/testing/thread_pool_for_testing.cc -+++ b/cartographer/common/internal/testing/thread_pool_for_testing.cc -@@ -16,7 +16,7 @@ - - #include "cartographer/common/internal/testing/thread_pool_for_testing.h" - --#include -+//#include - #include - #include - #include -diff --git a/cartographer/mapping/pose_graph_interface.h b/cartographer/mapping/pose_graph_interface.h -index 6483ef4..6456720 100644 ---- a/cartographer/mapping/pose_graph_interface.h -+++ b/cartographer/mapping/pose_graph_interface.h -@@ -18,6 +18,7 @@ - #define CARTOGRAPHER_MAPPING_POSE_GRAPH_INTERFACE_H_ - - #include -+#include - - #include "cartographer/common/optional.h" - #include "cartographer/mapping/id.h" diff --git a/ports/cartographer/fix-cmake-location.patch b/ports/cartographer/fix-cmake-location.patch deleted file mode 100644 index b0eb12397fccd3..00000000000000 --- a/ports/cartographer/fix-cmake-location.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 2e3a686be..f2a0c5d8e 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -300,7 +300,7 @@ foreach(HDR ${INSTALL_GENERATED_HDRS}) - ) - endforeach() - --set(CARTOGRAPHER_CMAKE_DIR share/cartographer/cmake) -+set(CARTOGRAPHER_CMAKE_DIR share/cartographer) - include(CMakePackageConfigHelpers) - configure_package_config_file( - cartographer-config.cmake.in -@@ -311,7 +311,7 @@ configure_package_config_file( - - install( - EXPORT CartographerExport -- DESTINATION share/cartographer/cmake/ -+ DESTINATION share/cartographer/ - FILE CartographerTargets.cmake - ) - diff --git a/ports/cartographer/fix-find-packages.patch b/ports/cartographer/fix-find-packages.patch deleted file mode 100644 index 59e433c5fff55b..00000000000000 --- a/ports/cartographer/fix-find-packages.patch +++ /dev/null @@ -1,181 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 2e3a686..f36f15a 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -25,27 +25,33 @@ option(BUILD_GRPC "build Cartographer gRPC support" false) - option(BUILD_PROMETHEUS "build Prometheus monitoring support" false) - - include("${PROJECT_SOURCE_DIR}/cmake/functions.cmake") --google_initialize_cartographer_project() --google_enable_testing() -+#google_initialize_cartographer_project() -+#google_enable_testing() - - find_package(Boost REQUIRED COMPONENTS iostreams) - find_package(Ceres REQUIRED COMPONENTS SuiteSparse) - find_package(Eigen3 REQUIRED) --find_package(LuaGoogle REQUIRED) -+find_package(Lua REQUIRED) - find_package(Protobuf 3.0.0 REQUIRED) -+find_package(glog REQUIRED) -+find_package(gflags REQUIRED) - - if (${BUILD_GRPC}) - find_package(async_grpc REQUIRED) - endif() - --include(FindPkgConfig) --PKG_SEARCH_MODULE(CAIRO REQUIRED cairo>=1.12.16) -+#include(FindPkgConfig) -+#PKG_SEARCH_MODULE(CAIRO REQUIRED cairo>=1.12.16) -+#if(CMAKE_BUILD_TYPE STREQUAL Debug) -+# set(CAIRO_LIB_SUFFIX d) -+#endif() -+find_library(CAIRO_LIBRARY cairo${CAIRO_LIB_SUFFIX}) - - # Only build the documentation if we can find Sphinx. --find_package(Sphinx) --if(SPHINX_FOUND) -- add_subdirectory("docs") --endif() -+#find_package(Sphinx) -+#if(SPHINX_FOUND) -+# add_subdirectory("docs") -+#endif() - - # Install catkin package.xml - install(FILES package.xml DESTINATION share/cartographer) -@@ -169,20 +175,20 @@ configure_file( - ${PROJECT_SOURCE_DIR}/cartographer/common/config.h.cmake - ${PROJECT_BINARY_DIR}/cartographer/common/config.h) - --google_binary(cartographer_autogenerate_ground_truth -- SRCS -- cartographer/ground_truth/autogenerate_ground_truth_main.cc --) -- --google_binary(cartographer_compute_relations_metrics -- SRCS -- cartographer/ground_truth/compute_relations_metrics_main.cc --) -- --google_binary(cartographer_migrate_serialization_format -- SRCS -- cartographer/io/migrate_serialization_format_main.cc --) -+#google_binary(cartographer_autogenerate_ground_truth -+# SRCS -+# cartographer/ground_truth/autogenerate_ground_truth_main.cc -+#) -+# -+#google_binary(cartographer_compute_relations_metrics -+# SRCS -+# cartographer/ground_truth/compute_relations_metrics_main.cc -+#) -+# -+#google_binary(cartographer_migrate_serialization_format -+# SRCS -+# cartographer/io/migrate_serialization_format_main.cc -+#) - - if(${BUILD_GRPC}) - google_binary(cartographer_grpc_server -@@ -213,8 +219,9 @@ target_include_directories(${PROJECT_NAME} SYSTEM PUBLIC - target_link_libraries(${PROJECT_NAME} PUBLIC ${Boost_LIBRARIES}) - - # We expect find_package(Ceres) to have located these for us. --target_link_libraries(${PROJECT_NAME} PUBLIC glog) --target_link_libraries(${PROJECT_NAME} PUBLIC gflags) -+#target_link_libraries(${PROJECT_NAME} PUBLIC glog) -+#target_link_libraries(${PROJECT_NAME} PUBLIC gflags) -+#target_link_libraries(${PROJECT_NAME} PUBLIC ${CAIRO_LIBRARY}) - - target_include_directories(${PROJECT_NAME} SYSTEM PUBLIC - "${CAIRO_INCLUDE_DIRS}") -@@ -224,7 +231,8 @@ target_include_directories(${PROJECT_NAME} SYSTEM PUBLIC - ${PROTOBUF_INCLUDE_DIR}) - # TODO(hrapp): This should not explicitly list pthread and use - # PROTOBUF_LIBRARIES, but that failed on first try. --target_link_libraries(${PROJECT_NAME} PUBLIC ${PROTOBUF_LIBRARY} pthread) -+#target_link_libraries(${PROJECT_NAME} PUBLIC ${PROTOBUF_LIBRARY} pthread) -+target_link_libraries(${PROJECT_NAME} PUBLIC ${PROTOBUF_LIBRARY}) - if(${BUILD_GRPC}) - target_link_libraries(${PROJECT_NAME} PUBLIC grpc++) - target_link_libraries(${PROJECT_NAME} PUBLIC async_grpc) -@@ -234,7 +242,7 @@ if(${BUILD_PROMETHEUS}) - target_compile_definitions(${PROJECT_NAME} PUBLIC USE_PROMETHEUS=1) - endif() - --set(TARGET_COMPILE_FLAGS "${TARGET_COMPILE_FLAGS} ${GOOG_CXX_FLAGS}") -+set(TARGET_COMPILE_FLAGS "-D_DISABLE_EXTENDED_ALIGNED_STORAGE ${TARGET_COMPILE_FLAGS} ${GOOG_CXX_FLAGS}") - set_target_properties(${PROJECT_NAME} PROPERTIES - COMPILE_FLAGS ${TARGET_COMPILE_FLAGS}) - -@@ -255,7 +263,7 @@ foreach(ABS_FIL ${ALL_TESTS}) - get_filename_component(FIL_WE ${REL_FIL} NAME_WE) - # Replace slashes as required for CMP0037. - string(REPLACE "/" "." TEST_TARGET_NAME "${DIR}/${FIL_WE}") -- google_test("${TEST_TARGET_NAME}" ${ABS_FIL}) -+ #google_test("${TEST_TARGET_NAME}" ${ABS_FIL}) - if(${BUILD_GRPC}) - target_link_libraries("${TEST_TARGET_NAME}" PUBLIC grpc++) - target_link_libraries("${TEST_TARGET_NAME}" PUBLIC async_grpc) -@@ -263,7 +271,7 @@ foreach(ABS_FIL ${ALL_TESTS}) - if(${BUILD_PROMETHEUS}) - target_link_libraries("${TEST_TARGET_NAME}" PUBLIC prometheus-cpp) - endif() -- target_link_libraries("${TEST_TARGET_NAME}" PUBLIC ${TEST_LIB}) -+ #target_link_libraries("${TEST_TARGET_NAME}" PUBLIC ${TEST_LIB}) - endforeach() - - # Add the binary directory first, so that port.h is included after it has -diff --git a/cartographer/common/math.h b/cartographer/common/math.h -index c4a77ef..0248f66 100644 ---- a/cartographer/common/math.h -+++ b/cartographer/common/math.h -@@ -17,6 +17,10 @@ - #ifndef CARTOGRAPHER_COMMON_MATH_H_ - #define CARTOGRAPHER_COMMON_MATH_H_ - -+#ifndef M_PI -+#define M_PI 3.14159265358979323846 -+#endif -+ - #include - #include - -diff --git a/cartographer/common/thread_pool.cc b/cartographer/common/thread_pool.cc -index bc3c743..db424d1 100644 ---- a/cartographer/common/thread_pool.cc -+++ b/cartographer/common/thread_pool.cc -@@ -16,7 +16,7 @@ - - #include "cartographer/common/thread_pool.h" - --#include -+//#include - #include - #include - #include -diff --git a/cmake/functions.cmake b/cmake/functions.cmake -index 3bfd343..3d961b0 100644 ---- a/cmake/functions.cmake -+++ b/cmake/functions.cmake -@@ -118,12 +118,12 @@ macro(google_initialize_cartographer_project) - set(LIST_FILES_CMD "find ${PROJECT_SOURCE_DIR}/ -not -iwholename '*.git*' | sort | sed 's/^/#/'") - set(FILES_LIST_PATH "${PROJECT_BINARY_DIR}/AllFiles.cmake") - set(DETECT_CHANGES_CMD "bash" "-c" "${LIST_FILES_CMD} | diff -N -q ${FILES_LIST_PATH} - || ${LIST_FILES_CMD} > ${FILES_LIST_PATH}") -- add_custom_target(${PROJECT_NAME}_detect_changes ALL -- COMMAND ${DETECT_CHANGES_CMD} -- VERBATIM -- ) -+ #add_custom_target(${PROJECT_NAME}_detect_changes ALL -+ # COMMAND ${DETECT_CHANGES_CMD} -+ # VERBATIM -+ #) - if(NOT EXISTS ${FILES_LIST_PATH}) -- execute_process(COMMAND ${DETECT_CHANGES_CMD}) -+ #execute_process(COMMAND ${DETECT_CHANGES_CMD}) - endif() - include(${FILES_LIST_PATH}) - endmacro() diff --git a/ports/cartographer/portfile.cmake b/ports/cartographer/portfile.cmake deleted file mode 100644 index baff80a7da0aec..00000000000000 --- a/ports/cartographer/portfile.cmake +++ /dev/null @@ -1,36 +0,0 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO googlecartographer/cartographer - REF 1.0.0 - SHA512 4e3b38ee40d9758cbd51f087578b82efb7d1199b4b7696d31f45938ac06250caaea2b4d85ccb0a848c958ba187a0101ee95c87323ca236c613995b23b215041c - HEAD_REF master - PATCHES - fix-find-packages.patch - fix-build-error.patch - fix-cmake-location.patch -) - -vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - -DGFLAGS_PREFER_EXPORTED_GFLAGS_CMAKE_CONFIGURATION=OFF - -DGLOG_PREFER_EXPORTED_GLOG_CMAKE_CONFIGURATION=OFF - -Dgtest_disable_pthreads=ON - -DCMAKE_USE_PTHREADS_INIT=OFF - OPTIONS_DEBUG - -DFORCE_DEBUG_BUILD=True -) - -vcpkg_cmake_install() -vcpkg_cmake_config_fixup() -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/cartographer/CartographerTargets.cmake" "${SOURCE_PATH}/;" "") -vcpkg_copy_pdbs() - -# Clean -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") - -# Handle copyright of cartographer -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/cartographer/vcpkg.json b/ports/cartographer/vcpkg.json deleted file mode 100644 index 9cc51693b099f8..00000000000000 --- a/ports/cartographer/vcpkg.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "name": "cartographer", - "version": "1.0.0", - "port-version": 5, - "description": "Google 2D & 3D SLAM package", - "homepage": "https://github.com/googlecartographer/cartographer", - "dependencies": [ - "boost-iostreams", - "cairo", - { - "name": "ceres", - "features": [ - "suitesparse" - ] - }, - "gflags", - "glog", - "gtest", - "lua", - "protobuf", - { - "name": "vcpkg-cmake", - "host": true - }, - { - "name": "vcpkg-cmake-config", - "host": true - } - ] -} diff --git a/ports/casclib/fix-shared-windows-builds.patch b/ports/casclib/fix-shared-windows-builds.patch deleted file mode 100644 index d12ef301f9beae..00000000000000 --- a/ports/casclib/fix-shared-windows-builds.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -51,8 +51,15 @@ set(SRC_FILES - src/CascRootFile_WoW.cpp - ) - -+if(WIN32) -+ set(SRC_FILES ${SRC_FILES} -+ src/DllMain.c -+ src/DllMain.def -+ ) -+endif() -+ - set(LINK_LIBS) --find_package(ZLIB) -+find_package(ZLIB REQUIRED) - if (ZLIB_FOUND) - set(LINK_LIBS ${LINK_LIBS} ZLIB::ZLIB) - add_definitions(-DCASC_USE_SYSTEM_ZLIB) diff --git a/ports/casclib/portfile.cmake b/ports/casclib/portfile.cmake index f96da81829796c..aeac11120a4366 100644 --- a/ports/casclib/portfile.cmake +++ b/ports/casclib/portfile.cmake @@ -1,22 +1,29 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ladislav-zezula/CascLib - REF 07bfe85fd0804cba49f072819af716274d82b855 - SHA512 b333fe6318aa95629aa67613287ac71b1931c6443985e7e52412066d769f7996bffca1c19e890851eba976f572c7a11f14a8ff5fb95433577e1c9af8de0f34af + REF 1623348517352ff0d6364d47533c0d7f118b46e1 + SHA512 1b6dd77a399ff21a278d1ac68efa1417f2a9472b241401d3f6cb8f01ea702b32b4296012bb71ae62a932f9b0fa2b6d3035befe6f3ba0d567e85ac747c503b07c HEAD_REF master - PATCHES - fix-shared-windows-builds.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" CASC_BUILD_SHARED_LIB) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" CASC_BUILD_STATIC_LIB) +set(CASC_UNICODE OFF) + +if(VCPKG_TARGET_IS_WINDOWS) + message(STATUS "This version of CascLib is built in ASCII mode. To switch to UNICODE version, create an overlay port of this with CASC_UNICODE set to ON.") + message(STATUS "This recipe is at ${CMAKE_CURRENT_LIST_DIR}") + message(STATUS "See the overlay ports documentation at https://github.com/microsoft/vcpkg/blob/master/docs/specifications/ports-overlay.md") +endif() + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS + -DCMAKE_REQUIRE_FIND_PACKAGE_ZLIB=ON -DCASC_BUILD_SHARED_LIB=${CASC_BUILD_SHARED_LIB} -DCASC_BUILD_STATIC_LIB=${CASC_BUILD_STATIC_LIB} - -DCASC_UNICODE=ON + -DCASC_UNICODE=${CASC_UNICODE} ) vcpkg_cmake_install() diff --git a/ports/casclib/vcpkg.json b/ports/casclib/vcpkg.json index 0a0b24a420c0aa..da8628631f7f4f 100644 --- a/ports/casclib/vcpkg.json +++ b/ports/casclib/vcpkg.json @@ -1,7 +1,6 @@ { "name": "casclib", - "version-date": "2021-11-16", - "port-version": 1, + "version-date": "2024-06-05", "description": "An open-source implementation of library for reading CASC storage from Blizzard games since 2014", "homepage": "http://www.zezula.net/en/casc/casclib.html", "dependencies": [ diff --git a/ports/catch2/portfile.cmake b/ports/catch2/portfile.cmake index c60cc95ee416d6..c2ca1b8760a80f 100644 --- a/ports/catch2/portfile.cmake +++ b/ports/catch2/portfile.cmake @@ -6,7 +6,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO catchorg/Catch2 REF v${VERSION} - SHA512 3b452378201ac53c9ffba7801231aa3b32c5fb496f01d670fcee25baf95f405e565ae2aafba49ea5694f906fc61a8b04592c68b9fb12839767070587a48c89fa + SHA512 a8084d2fc7d792c87b13dc0db6b4bad5222efea79e7f60a6e093019de97619a4d6adc8eef73195cf74f1827c2ca0655d572471d4b7c90a757282f0e6742b6711 HEAD_REF devel PATCHES fix-install-path.patch diff --git a/ports/catch2/vcpkg.json b/ports/catch2/vcpkg.json index 077d4e63b6d006..ddb9d9fe721e34 100644 --- a/ports/catch2/vcpkg.json +++ b/ports/catch2/vcpkg.json @@ -1,7 +1,7 @@ { "name": "catch2", - "version-semver": "3.4.0", - "description": "A modern, header-only test framework for unit testing.", + "version-semver": "3.8.0", + "description": "A modern, C++-native, test framework for unit-tests, TDD and BDD.", "homepage": "https://github.com/catchorg/Catch2", "license": "BSL-1.0", "dependencies": [ diff --git a/ports/cblas/cblas.pc.in b/ports/cblas/cblas.pc.in new file mode 100644 index 00000000000000..b73e7f6f416e65 --- /dev/null +++ b/ports/cblas/cblas.pc.in @@ -0,0 +1,8 @@ +prefix=${pcfiledir}/../.. + +Name: CBLAS +Description: Implementation of CBLAS +Version: +Requires: @requires@ +Libs: @libs@ +Cflags: @cflags@ diff --git a/ports/cblas/portfile.cmake b/ports/cblas/portfile.cmake new file mode 100644 index 00000000000000..743b7f7dcbfa6c --- /dev/null +++ b/ports/cblas/portfile.cmake @@ -0,0 +1,24 @@ +SET(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +# This block should be kept in sync with the port 'blas' +if(VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_IOS) + # Use Apple's accelerate framework where available + set(BLA_VENDOR Apple) + set(requires "") + set(libs "-framework Accelerate") + set(cflags "-framework Accelerate") +elseif(VCPKG_TARGET_IS_UWP + OR (VCPKG_TARGET_IS_WINDOWS AND VCPKG_TARGET_ARCHITECTURE MATCHES "arm") + OR NOT VCPKG_TARGET_IS_WINDOWS + OR NOT (VCPKG_LIBRARY_LINKAGE STREQUAL "static")) + set(BLA_VENDOR OpenBLAS) + set(requires openblas) +else() + set(BLA_VENDOR Generic) + set(requires "cblas-reference") +endif() + +configure_file("${CMAKE_CURRENT_LIST_DIR}/cblas.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/cblas.pc" @ONLY) +if(NOT VCPKG_BUILD_TYPE) + configure_file("${CMAKE_CURRENT_LIST_DIR}/cblas.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/cblas.pc" @ONLY) +endif() diff --git a/ports/cblas/vcpkg.json b/ports/cblas/vcpkg.json new file mode 100644 index 00000000000000..76d00780a77979 --- /dev/null +++ b/ports/cblas/vcpkg.json @@ -0,0 +1,24 @@ +{ + "$comment": "Keep the platform expressions in sync with the wrappers installed by the portfiles!", + "name": "cblas", + "version-date": "2024-03-19", + "description": "Metapackage for packages which provide CBLAS", + "license": null, + "dependencies": [ + { + "name": "lapack-reference", + "features": [ + "cblas" + ], + "platform": "!osx & !ios & !uwp & !(windows & arm) & windows & static" + }, + { + "name": "openblas", + "platform": "!osx & !ios & (uwp | (windows & arm) | !windows | !static)" + }, + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/ports/ccfits/portfile.cmake b/ports/ccfits/portfile.cmake index 3a2c71ce5f8267..103ce90d0306bb 100644 --- a/ports/ccfits/portfile.cmake +++ b/ports/ccfits/portfile.cmake @@ -14,6 +14,8 @@ vcpkg_extract_source_archive( vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DCMAKE_CXX_STANDARD=11 # 17 removes std::binary_function ) vcpkg_cmake_install() @@ -33,7 +35,7 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # Patch installed headers to look in the correct subdirectory file(GLOB HEADERS "${CURRENT_PACKAGES_DIR}/include/CCfits/*") foreach(HEADER IN LISTS HEADERS) - vcpkg_replace_string("${HEADER}" "\"fitsio.h\"" "\"cfitsio/fitsio.h\"") + vcpkg_replace_string("${HEADER}" "\"fitsio.h\"" "\"cfitsio/fitsio.h\"" IGNORE_UNCHANGED) endforeach() vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/CCfits/CCfits.h diff --git a/ports/ccfits/vcpkg.json b/ports/ccfits/vcpkg.json index 1bc37f2eedca82..4e90d192c03f41 100644 --- a/ports/ccfits/vcpkg.json +++ b/ports/ccfits/vcpkg.json @@ -1,7 +1,7 @@ { "name": "ccfits", "version": "2.5", - "port-version": 11, + "port-version": 13, "description": "CCfits is an object oriented interface to the cfitsio library. It is designed to make the capabilities of cfitsio available to programmers working in C++.", "homepage": "https://heasarc.gsfc.nasa.gov/fitsio/CCfits/", "license": "NASA-1.3", diff --git a/ports/cctag/0001-fix-osx.patch b/ports/cctag/0001-fix-osx.patch deleted file mode 100644 index 759fd6190c3117..00000000000000 --- a/ports/cctag/0001-fix-osx.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/src/cctag/utils/Exceptions.hpp b/src/cctag/utils/Exceptions.hpp -index 094d278..8647f76 100644 ---- a/src/cctag/utils/Exceptions.hpp -+++ b/src/cctag/utils/Exceptions.hpp -@@ -8,6 +8,7 @@ - #ifndef _CCTAG_EXCEPTIONS_HPP_ - #define _CCTAG_EXCEPTIONS_HPP_ - -+#define _GNU_SOURCE - #include - #include - #include diff --git a/ports/cctag/0002-find-tbb.patch b/ports/cctag/0002-find-tbb.patch deleted file mode 100644 index 7badc072f98187..00000000000000 --- a/ports/cctag/0002-find-tbb.patch +++ /dev/null @@ -1,173 +0,0 @@ -diff --git a/cmake/Config.cmake.in b/cmake/Config.cmake.in -index c5a82c0..3ce4719 100644 ---- a/cmake/Config.cmake.in -+++ b/cmake/Config.cmake.in -@@ -42,6 +42,7 @@ - include(CMakeFindDependencyMacro) - - set(OpenCV_DIR @OpenCV_DIR@) -+find_dependency(TBB) - find_dependency(OpenCV) - find_dependency(Eigen3 @CCTAG_EIGEN_REQUIRED_VERSION@) - find_dependency(Boost 1.66 REQUIRED COMPONENTS @BOOST_REQUIRED_COMPONENTS@) -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 7b64b83..5398ed4 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -176,7 +176,8 @@ if(CCTAG_WITH_CUDA) - ${OpenCV_LIBS} - Boost::date_time Boost::chrono Boost::thread Boost::serialization Boost::system Boost::filesystem Boost::atomic Boost::program_options Boost::timer Boost::math_c99 - Eigen3::Eigen -- ${TBB_LIBRARIES} ${CUDA_CUDADEVRT_LIBRARY}) -+ TBB::tbb -+ ${CUDA_CUDADEVRT_LIBRARY}) - - if(NOT MSVC) - target_link_libraries(CCTag pthread dl) -@@ -184,7 +185,7 @@ if(CCTAG_WITH_CUDA) - - target_compile_definitions(CCTag - PUBLIC -DCCTAG_WITH_CUDA -- PRIVATE ${TBB_DEFINITIONS}) -+) - - if(CCTAG_HAVE_SHFL_DOWN_SYNC) - target_compile_definitions(CCTag PRIVATE "-DCCTAG_HAVE_SHFL_DOWN_SYNC") -@@ -220,16 +221,13 @@ else() # without CUDA - # get_target_property(testprop CCTag INTERFACE_INCLUDE_DIRECTORIES ) - # message(STATUS "testprop: ${testprop}") - -- target_compile_definitions(CCTag -- PRIVATE ${TBB_DEFINITIONS}) - - target_link_libraries(CCTag - PUBLIC - ${OpenCV_LIBS} - Eigen3::Eigen - Boost::atomic Boost::chrono Boost::date_time Boost::filesystem Boost::serialization Boost::system Boost::thread Boost::timer Boost::math_c99 -- PRIVATE -- ${TBB_LIBRARIES}) -+ TBB::tbb) - - if(NOT "${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") - target_link_libraries(CCTag PRIVATE pthread dl) -diff --git a/src/applications/CMakeLists.txt b/src/applications/CMakeLists.txt -index 506d19b..c7154fc 100644 ---- a/src/applications/CMakeLists.txt -+++ b/src/applications/CMakeLists.txt -@@ -86,7 +86,7 @@ target_include_directories(detection PUBLIC - ) - target_link_libraries(detection PUBLIC - CCTag::CCTag -- ${TBB_LIBRARIES} -+ TBB::tbb - ${OpenCV_LIBS} - Boost::filesystem Boost::program_options Boost::timer - ) -diff --git a/src/cctag/Detection.cpp b/src/cctag/Detection.cpp -index 21c47bf..a800fbc 100644 ---- a/src/cctag/Detection.cpp -+++ b/src/cctag/Detection.cpp -@@ -44,6 +44,7 @@ - #include - #include - #include -+#include - #ifdef CCTAG_WITH_CUDA - #include // only for debugging - #endif // CCTAG_WITH_CUDA -@@ -71,7 +72,7 @@ static void constructFlowComponentFromSeed( - std::vector & vCandidateLoopOne, - const Parameters & params) - { -- static tbb::mutex G_SortMutex; -+ static std::mutex G_SortMutex; - - assert( seed ); - // Check if the seed has already been processed, i.e. belongs to an already -@@ -102,7 +103,7 @@ static void constructFlowComponentFromSeed( - } - - { -- tbb::mutex::scoped_lock lock(G_SortMutex); -+ std::lock_guard lock(G_SortMutex); - candidate->_averageReceivedVote = (float) (nReceivedVote*nReceivedVote) / (float) nVotedPoints; - auto it = std::lower_bound(vCandidateLoopOne.begin(), vCandidateLoopOne.end(), candidate, - [](const CandidatePtr& c1, const CandidatePtr& c2) { return c1->_averageReceivedVote > c2->_averageReceivedVote; }); -@@ -119,8 +120,8 @@ static void completeFlowComponent( - std::size_t runId, - const Parameters & params) - { -- static tbb::spin_mutex G_UpdateMutex; -- static tbb::mutex G_InsertMutex; -+ static std::mutex G_UpdateMutex; -+ static std::mutex G_InsertMutex; - - try - { -@@ -171,7 +172,7 @@ static void completeFlowComponent( - if (nSegmentCommon == -1) - { - { -- tbb::spin_mutex::scoped_lock lock(G_UpdateMutex); -+ std::lock_guard lock(G_UpdateMutex); - nLabel = nSegmentOut; - ++nSegmentOut; - } -@@ -239,7 +240,7 @@ static void completeFlowComponent( - } - - { -- tbb::mutex::scoped_lock lock(G_InsertMutex); -+ std::lock_guard lock(G_InsertMutex); - vCandidateLoopTwo.push_back(candidate); - } - -@@ -384,7 +385,7 @@ static void cctagDetectionFromEdgesLoopTwoIteration( - float scale, - const Parameters& params) - { -- static tbb::mutex G_InsertMutex; -+ static std::mutex G_InsertMutex; - - const Candidate& candidate = vCandidateLoopTwo[iCandidate]; - -@@ -543,7 +544,7 @@ static void cctagDetectionFromEdgesLoopTwoIteration( - #endif - - { -- tbb::mutex::scoped_lock lock(G_InsertMutex); -+ std::lock_guard lock(G_InsertMutex); - markers.push_back( tag ); // markers takes responsibility for delete - } - #ifdef CCTAG_SERIALIZE -diff --git a/src/cctag/Identification.cpp b/src/cctag/Identification.cpp -index 15c9d9b..99b616a 100644 ---- a/src/cctag/Identification.cpp -+++ b/src/cctag/Identification.cpp -@@ -29,6 +29,7 @@ - - #include - #include -+#include - - #include - -@@ -71,7 +72,7 @@ bool orazioDistanceRobust( - #endif // GRIFF_DEBUG - - const size_t cut_count = cuts.size(); -- static tbb::mutex vscore_mutex; -+ static std::mutex vscore_mutex; - - tbb::parallel_for(size_t(0), cut_count, [&](size_t i) { - const cctag::ImageCut& cut = cuts[i]; -@@ -183,7 +184,7 @@ bool orazioDistanceRobust( - #endif // GRIFF_DEBUG - - { -- tbb::mutex::scoped_lock lock(vscore_mutex); -+ std::lock_guard lock(vscore_mutex); - vScore[idSet.front().first].push_back(idSet.front().second); - } - } diff --git a/ports/cctag/portfile.cmake b/ports/cctag/portfile.cmake index 75a3dc4facdf74..8e4bf6918a9dd9 100644 --- a/ports/cctag/portfile.cmake +++ b/ports/cctag/portfile.cmake @@ -1,16 +1,11 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO alicevision/cctag - REF v1.0.2 - SHA512 ccd62f6b1ca55035a08660052f38e73866260d5295490864fa9c86af779a42ce2ec727d6c88f0ea38f205903cf8f4107069b690849e432219c74d3b9666e3ae2 + REF "v${VERSION}" + SHA512 65f8260213faab1965ff97e38b890d85f5599c5db5f50f09ab1ed2d73d7008d2e93693145d66a4d9af6342666817204736c3b0384885fa50402850f1dc5dceae HEAD_REF develop - PATCHES - 0001-fix-osx.patch - 0002-find-tbb.patch # Includes changes similar to https://github.com/alicevision/CCTag/pull/178/ ) -file(REMOVE "${SOURCE_PATH}/cmake/FindTBB.cmake" "${SOURCE_PATH}/src/applications/cmake/FindTBB.cmake") - vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES cuda CCTAG_WITH_CUDA @@ -48,4 +43,4 @@ if ("apps" IN_LIST FEATURES) vcpkg_copy_tools(TOOL_NAMES ${CCTAG_TOOLS} AUTO_CLEAN) endif() -file(INSTALL "${SOURCE_PATH}/COPYING.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING.md") diff --git a/ports/cctag/vcpkg.json b/ports/cctag/vcpkg.json index 6d20c0938b1664..0977cbca51401b 100644 --- a/ports/cctag/vcpkg.json +++ b/ports/cctag/vcpkg.json @@ -1,7 +1,6 @@ { "name": "cctag", - "version-semver": "1.0.2", - "port-version": 5, + "version-semver": "1.0.4", "maintainers": "alicevision-team@googlegroups.com", "description": "Computer vision library for detecting CCTag markers made up of concentric circles", "homepage": "https://github.com/alicevision/CCTag", @@ -18,7 +17,12 @@ "boost-foreach", "boost-iterator", "boost-lexical-cast", - "boost-math", + { + "name": "boost-math", + "features": [ + "legacy" + ] + }, "boost-mpl", "boost-multi-array", "boost-program-options", diff --git a/ports/cctz/portfile.cmake b/ports/cctz/portfile.cmake index d6562446b43fe8..5457d5939cbb78 100644 --- a/ports/cctz/portfile.cmake +++ b/ports/cctz/portfile.cmake @@ -3,8 +3,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/cctz - REF v2.3 - SHA512 e688ddac1bff108e8315bf94cb61483b72b0d16f601e4e1eeb0fd5c064aefe5a573eee66e8903401aa4c2be71ea9f10dd6c9a9cdf8379f5bb6073248a21a83ff + REF "v${VERSION}" + SHA512 6d50fe5263b66f93bc3f9aee0da395352d0e95187e6a761afd1b82a461c127823fe93e06139e9d8989f24875b70de3058aab6e66639b408c7930f117e1815e5e HEAD_REF master ) diff --git a/ports/cctz/vcpkg.json b/ports/cctz/vcpkg.json index 4d9fae6b6fac77..a74fb5c6417ab0 100644 --- a/ports/cctz/vcpkg.json +++ b/ports/cctz/vcpkg.json @@ -1,7 +1,6 @@ { "name": "cctz", - "version": "2.3", - "port-version": 6, + "version": "2.4", "description": "two libraries that cooperate with to give C++ programmers all the necessary tools for computing with dates, times, and time zones in a simple and correct manner.", "homepage": "https://github.com/google/cctz", "dependencies": [ diff --git a/ports/cddlib/0001-disable-doc-target.patch b/ports/cddlib/0001-disable-doc-target.patch new file mode 100644 index 00000000000000..56499942f27b3e --- /dev/null +++ b/ports/cddlib/0001-disable-doc-target.patch @@ -0,0 +1,12 @@ +diff --git a/Makefile.am b/Makefile.am +index e08cd91..bcde34b 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -1,5 +1,5 @@ + # Directories where we can build something. +-SUBDIRS = doc lib-src src ++SUBDIRS = lib-src src + + # Install the examples into /usr/share/doc/cddlib/examples* + nobase_doc_DATA = $(srcdir)/examples/* $(srcdir)/examples-ine/* $(srcdir)/examples-ine3d/* $(srcdir)/examples-ext/* + diff --git a/ports/cddlib/0002-disable-dd-log.patch b/ports/cddlib/0002-disable-dd-log.patch new file mode 100644 index 00000000000000..86597616724d50 --- /dev/null +++ b/ports/cddlib/0002-disable-dd-log.patch @@ -0,0 +1,25 @@ +diff --git a/src/lcdd.c b/src/lcdd.c +index 473e6c5..cafc1a5 100644 +--- a/src/lcdd.c ++++ b/src/lcdd.c +@@ -44,7 +44,6 @@ int main(int argc, char *argv[]) + dd_ErrorType err; + + dd_set_global_constants(); /* First, this must be called. */ +- dd_log=dd_TRUE; /* Output log */ + + if (argc > 2) + dd_DDFile2File(argv[1],argv[2],&err); +diff --git a/src/scdd.c b/src/scdd.c +index e9e0c59..9e6ed32 100644 +--- a/src/scdd.c ++++ b/src/scdd.c +@@ -66,7 +66,6 @@ int main(int argc, char *argv[]) + FILE *reading=NULL, *writing; + + dd_set_global_constants(); /* First, this must be called. */ +- dd_log=dd_TRUE; /* output log */ + + if (argc>1) strcpy(inputfile,argv[1]); + if (argc<=1 || !SetInputFile(&reading,argv[1])){ + diff --git a/ports/cddlib/portfile.cmake b/ports/cddlib/portfile.cmake new file mode 100644 index 00000000000000..89ad1749d22ab8 --- /dev/null +++ b/ports/cddlib/portfile.cmake @@ -0,0 +1,19 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO cddlib/cddlib + REF ${VERSION} + SHA512 8591ebe9e2a09683bb01b478df6536d1291012927d343013f8593126d3570f7883e125c63c68cd21eeea142a450847dc609e373e39cffb308bed1b56d6342ac1 + HEAD_REF master + PATCHES + 0001-disable-doc-target.patch # disable building docs, as they require latex + 0002-disable-dd-log.patch # windows does not export global variables +) +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + COPY_SOURCE # ensure generated files are found +) +vcpkg_install_make() +vcpkg_fixup_pkgconfig() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING" "${SOURCE_PATH}/COPYING") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") diff --git a/ports/cddlib/vcpkg.json b/ports/cddlib/vcpkg.json new file mode 100644 index 00000000000000..763fb932b0223d --- /dev/null +++ b/ports/cddlib/vcpkg.json @@ -0,0 +1,10 @@ +{ + "name": "cddlib", + "version-string": "0.94m", + "description": "C implementation of the Double Description Method", + "homepage": "https://github.com/cddlib/cddlib", + "license": "GPL-2.0-or-later", + "dependencies": [ + "gmp" + ] +} diff --git a/ports/cdt/portfile.cmake b/ports/cdt/portfile.cmake index dbba0ee1c05f21..60b1312c2634c1 100644 --- a/ports/cdt/portfile.cmake +++ b/ports/cdt/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO artem-ogre/CDT REF "${VERSION}" - SHA512 cffccb96d8cb13e7cb2edf9e105e5ee193ec1c3f2872ee5fba7a47758d9651e1b0f02af9122b840e90a07a4b9f3773c30ac9b11b966741301c853429d49c0627 + SHA512 9b21553c6f377b257ef408d7f77e9b564175fdbe33dd5fdce6ddeb0aece258a5d77b00ad054d22dfa712952ba38a6717ef7b0a01b8950f97b073f6ebd81c3dd4 HEAD_REF master ) diff --git a/ports/cdt/vcpkg.json b/ports/cdt/vcpkg.json index 63cb80cce66286..151da99a3e0ca3 100644 --- a/ports/cdt/vcpkg.json +++ b/ports/cdt/vcpkg.json @@ -1,6 +1,6 @@ { "name": "cdt", - "version": "1.3.0", + "version": "1.4.1", "description": "Constrained Delaunay Triangulation", "homepage": "https://github.com/artem-ogre/CDT.git", "license": "MPL-2.0", diff --git a/ports/cello/CMakeLists.txt b/ports/cello/CMakeLists.txt index b54507f07e0561..333323c3aed6cb 100644 --- a/ports/cello/CMakeLists.txt +++ b/ports/cello/CMakeLists.txt @@ -16,6 +16,10 @@ target_include_directories( set_target_properties(cello PROPERTIES PUBLIC_HEADER include/Cello.h) +if(ANDROID AND ANDROID_NATIVE_API_LEVEL LESS "33") + target_compile_definitions(cello PRIVATE CELLO_NSTRACE) +endif() + install(TARGETS cello EXPORT unofficial-cello-config) install( diff --git a/ports/cello/vcpkg.json b/ports/cello/vcpkg.json index f7f271eedfba89..58a8aebf3b680f 100644 --- a/ports/cello/vcpkg.json +++ b/ports/cello/vcpkg.json @@ -1,9 +1,10 @@ { "name": "cello", "version-date": "2019-07-23", - "port-version": 3, + "port-version": 4, "description": "Higher level programming in C", "homepage": "https://libcello.org/", + "license": "BSD-2-Clause-Views", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/ceres/0001_cmakelists_fixes.patch b/ports/ceres/0001_cmakelists_fixes.patch index bb594272374dd9..e57308a737db26 100644 --- a/ports/ceres/0001_cmakelists_fixes.patch +++ b/ports/ceres/0001_cmakelists_fixes.patch @@ -1,11 +1,68 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 33e98b1..f275d68 100644 +index 8e49c19e..f8c61d92 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -426,27 +426,7 @@ if (MINIGLOG) +@@ -292,27 +292,28 @@ if (SUITESPARSE) + # built with SuiteSparse support. + + # Check for SuiteSparse and dependencies. +- find_package(SuiteSparse 4.5.6 COMPONENTS CHOLMOD SPQR +- OPTIONAL_COMPONENTS Partition) +- if (SuiteSparse_FOUND) +- set(SuiteSparse_DEPENDENCY "find_dependency(SuiteSparse ${SuiteSparse_VERSION})") ++ find_package(SuiteSparse REQUIRED CONFIG) ++ if (SUITESPARSE_FOUND) ++ set(SuiteSparse_DEPENDENCY "find_dependency(SuiteSparse ${SuiteSparse_VERSION} CONFIG)") + # By default, if all of SuiteSparse's dependencies are found, Ceres is + # built with SuiteSparse support. + message("-- Found SuiteSparse ${SuiteSparse_VERSION}, " + "building with SuiteSparse.") +- +- if (SuiteSparse_NO_CMAKE OR NOT SuiteSparse_DIR) +- install(FILES ${Ceres_SOURCE_DIR}/cmake/FindSuiteSparse.cmake +- ${Ceres_SOURCE_DIR}/cmake/FindMETIS.cmake +- DESTINATION ${RELATIVE_CMAKECONFIG_INSTALL_DIR}) +- endif (SuiteSparse_NO_CMAKE OR NOT SuiteSparse_DIR) +- else (SuiteSparse_FOUND) ++ add_library(SuiteSparse::CONFIG ALIAS SuiteSparse::suitesparseconfig) ++ add_library(SuiteSparse::AMD ALIAS SuiteSparse::amd) ++ add_library(SuiteSparse::CAMD ALIAS SuiteSparse::camd) ++ add_library(SuiteSparse::CCOLAMD ALIAS SuiteSparse::ccolamd) ++ add_library(SuiteSparse::COLAMD ALIAS SuiteSparse::colamd) ++ add_library(SuiteSparse::CHOLMOD ALIAS SuiteSparse::cholmod) ++ add_library(SuiteSparse::SPQR ALIAS SuiteSparse::spqr) ++ add_library(METIS::METIS ALIAS metis) ++ else (SUITESPARSE_FOUND) + # Disable use of SuiteSparse if it cannot be found and continue. + message("-- Did not find all SuiteSparse dependencies, disabling " + "SuiteSparse support.") + update_cache_variable(SUITESPARSE OFF) + list(APPEND CERES_COMPILE_OPTIONS CERES_NO_SUITESPARSE) +- endif (SuiteSparse_FOUND) ++ endif (SUITESPARSE_FOUND) + else (SUITESPARSE) + message("-- Building without SuiteSparse.") + list(APPEND CERES_COMPILE_OPTIONS CERES_NO_SUITESPARSE) +@@ -395,9 +396,12 @@ endif() + # GFlags. + if (GFLAGS) + # Don't search with REQUIRED as we can continue without gflags. +- find_package(gflags 2.2.0) ++ find_package(gflags CONFIG REQUIRED) + if (gflags_FOUND) +- if (TARGET gflags) ++ if (TARGET gflags::gflags) ++ if(NOT TARGET gflags) ++ add_library(gflags ALIAS gflags::gflags) ++ endif() + message("-- Found Google Flags (gflags) version ${gflags_VERSION}: ${gflags_DIR}") + else() + message("-- Detected version of gflags: ${gflags_VERSION} does not define " +@@ -430,28 +434,7 @@ if (MINIGLOG) + mark_as_advanced(FORCE GLOG_INCLUDE_DIR GLOG_LIBRARY) else (MINIGLOG) - unset(MINIGLOG_MAX_LOG_LEVEL CACHE) +- unset(MINIGLOG_MAX_LOG_LEVEL CACHE) - # Don't search with REQUIRED so that configuration continues if not found and - # we can output an error messages explaining MINIGLOG option. - find_package(Glog) @@ -29,9 +86,18 @@ index 33e98b1..f275d68 100644 - message("-- Found Google Log (glog)." ${GLOG_GFLAGS_DEPENDENCY_MESSAGE}) + find_package(Glog REQUIRED) endif (MINIGLOG) - + if (NOT SCHUR_SPECIALIZATIONS) -@@ -760,12 +740,6 @@ install(FILES "${Ceres_BINARY_DIR}/CeresConfig-install.cmake" +@@ -466,7 +449,7 @@ endif (NOT CUSTOM_BLAS) + + if (BUILD_BENCHMARKS) + # Version 1.3 was first to provide import targets +- find_package(benchmark 1.3 QUIET) ++ find_package(benchmark CONFIG REQUIRED) + if (benchmark_FOUND) + message("-- Found Google benchmark library. Building Ceres benchmarks.") + else() +@@ -722,12 +705,6 @@ install(FILES "${Ceres_BINARY_DIR}/CeresConfig-install.cmake" DESTINATION ${RELATIVE_CMAKECONFIG_INSTALL_DIR}) install(FILES "${Ceres_BINARY_DIR}/CeresConfigVersion.cmake" DESTINATION ${RELATIVE_CMAKECONFIG_INSTALL_DIR}) @@ -41,6 +107,6 @@ index 33e98b1..f275d68 100644 - install(FILES "${Ceres_SOURCE_DIR}/cmake/FindGlog.cmake" - DESTINATION ${RELATIVE_CMAKECONFIG_INSTALL_DIR}) -endif() - + if (PROVIDE_UNINSTALL_TARGET) # Create an uninstall target to remove all installed files. diff --git a/ports/ceres/0002_use_glog_target.patch b/ports/ceres/0002_use_glog_target.patch index 01ac27d4aa1575..806025c270b8f2 100644 --- a/ports/ceres/0002_use_glog_target.patch +++ b/ports/ceres/0002_use_glog_target.patch @@ -1,10 +1,10 @@ diff --git a/internal/ceres/CMakeLists.txt b/internal/ceres/CMakeLists.txt -index 0e33263..299b373 100644 +index f9fc2415..0aaabe4d 100644 --- a/internal/ceres/CMakeLists.txt +++ b/internal/ceres/CMakeLists.txt -@@ -101,17 +101,9 @@ endif() - find_package(Threads QUIET) - list(APPEND CERES_LIBRARY_PUBLIC_DEPENDENCIES Threads::Threads) +@@ -85,17 +85,9 @@ endif (SCHUR_SPECIALIZATIONS) + set_source_files_properties(${CERES_INTERNAL_SCHUR_FILES} PROPERTIES + SKIP_UNITY_BUILD_INCLUSION ON) -if (NOT MINIGLOG AND GLOG_FOUND) - list(APPEND CERES_LIBRARY_PUBLIC_DEPENDENCIES ${GLOG_LIBRARIES}) diff --git a/ports/ceres/0003_fix_exported_ceres_config.patch b/ports/ceres/0003_fix_exported_ceres_config.patch index 9505707da17908..008d798bafd569 100644 --- a/ports/ceres/0003_fix_exported_ceres_config.patch +++ b/ports/ceres/0003_fix_exported_ceres_config.patch @@ -1,8 +1,17 @@ diff --git a/cmake/CeresConfig.cmake.in b/cmake/CeresConfig.cmake.in -index 4745483..b55462d 100644 +index ceb7e269..5dee7e3c 100644 --- a/cmake/CeresConfig.cmake.in +++ b/cmake/CeresConfig.cmake.in -@@ -217,55 +217,14 @@ else (Eigen3_FOUND) +@@ -195,7 +195,7 @@ set(CERES_EIGEN_VERSION @Eigen3_VERSION@) + # Search quietly to control the timing of the error message if not found. The + # search should be for an exact match, but for usability reasons do a soft + # match and reject with an explanation below. +-find_package(Eigen3 ${CERES_EIGEN_VERSION} QUIET) ++find_package(Eigen3 CONFIG ${CERES_EIGEN_VERSION} QUIET) + if (Eigen3_FOUND) + if (NOT Eigen3_VERSION VERSION_EQUAL CERES_EIGEN_VERSION) + # CMake's VERSION check in FIND_PACKAGE() will accept any version >= the +@@ -217,55 +217,8 @@ else (Eigen3_FOUND) endif (Eigen3_FOUND) # glog (and maybe gflags). @@ -35,15 +44,13 @@ index 4745483..b55462d 100644 - # Search quietly s/t we control the timing of the error message if not found. - find_package(Glog QUIET) - endif() - +- - if (GLOG_FOUND) - ceres_message(STATUS "Found required Ceres dependency: glog") - else() - ceres_report_not_found("Missing required Ceres dependency: glog.") - endif() -+include (CMakeFindDependencyMacro) -+find_dependency (glog NO_MODULE) - +- - # gflags is only a public dependency of Ceres via glog, thus is not required - # if Ceres was built with MINIGLOG. - if (CERES_USES_GFLAGS) @@ -57,10 +64,8 @@ index 4745483..b55462d 100644 - endif() - endif() -endif(CERES_USES_MINIGLOG) -+# SuiteSparse -+if (@SUITESPARSE@) -+ find_dependency(SuiteSparse CONFIG) -+endif() ++include(CMakeFindDependencyMacro) ++find_dependency(glog NO_MODULE) # Import exported Ceres targets, if they have not already been imported. if (NOT TARGET ceres AND NOT Ceres_BINARY_DIR) diff --git a/ports/ceres/0004_remove_broken_fake_ba_jac.patch b/ports/ceres/0004_remove_broken_fake_ba_jac.patch new file mode 100644 index 00000000000000..3862869d7aa004 --- /dev/null +++ b/ports/ceres/0004_remove_broken_fake_ba_jac.patch @@ -0,0 +1,67 @@ +diff --git a/internal/ceres/fake_bundle_adjustment_jacobian.cc b/internal/ceres/fake_bundle_adjustment_jacobian.cc +index efe4d8d7..22f34059 100644 +--- a/internal/ceres/fake_bundle_adjustment_jacobian.cc ++++ b/internal/ceres/fake_bundle_adjustment_jacobian.cc +@@ -96,25 +96,4 @@ std::unique_ptr CreateFakeBundleAdjustmentJacobian( + return jacobian; + } + +-std::pair< +- std::unique_ptr>, +- std::unique_ptr> +-CreateFakeBundleAdjustmentPartitionedJacobian(int num_cameras, +- int num_points, +- int camera_size, +- int landmark_size, +- double visibility, +- std::mt19937& rng) { +- using PartitionedView = +- PartitionedMatrixView<2, Eigen::Dynamic, Eigen::Dynamic>; +- auto block_sparse_matrix = CreateFakeBundleAdjustmentJacobian( +- num_cameras, num_points, camera_size, landmark_size, visibility, rng); +- LinearSolver::Options options; +- options.elimination_groups.push_back(num_points); +- auto partitioned_view = +- std::make_unique(options, *block_sparse_matrix); +- return std::make_pair(std::move(partitioned_view), +- std::move(block_sparse_matrix)); +-} +- + } // namespace ceres::internal +diff --git a/internal/ceres/fake_bundle_adjustment_jacobian.h b/internal/ceres/fake_bundle_adjustment_jacobian.h +index ced1b161..0448dbf3 100644 +--- a/internal/ceres/fake_bundle_adjustment_jacobian.h ++++ b/internal/ceres/fake_bundle_adjustment_jacobian.h +@@ -47,32 +47,6 @@ std::unique_ptr CreateFakeBundleAdjustmentJacobian( + double visibility, + std::mt19937& prng); + +-template +-std::pair>, +- std::unique_ptr> +-CreateFakeBundleAdjustmentPartitionedJacobian(int num_cameras, +- int num_points, +- double visibility, +- std::mt19937& rng) { +- using PartitionedView = PartitionedMatrixView<2, kEBlockSize, kFBlockSize>; +- auto block_sparse_matrix = CreateFakeBundleAdjustmentJacobian( +- num_cameras, num_points, kFBlockSize, kEBlockSize, visibility, rng); +- auto partitioned_view = +- std::make_unique(*block_sparse_matrix, num_points); +- return std::make_pair(std::move(partitioned_view), +- std::move(block_sparse_matrix)); +-} +- +-std::pair< +- std::unique_ptr>, +- std::unique_ptr> +-CreateFakeBundleAdjustmentPartitionedJacobian(int num_cameras, +- int num_points, +- int camera_size, +- int landmark_size, +- double visibility, +- std::mt19937& rng); +- + } // namespace ceres::internal + + #endif // CERES_INTERNAL_FAKE_BUNDLE_ADJUSTMENT_JACOBIAN diff --git a/ports/ceres/find-package-required.patch b/ports/ceres/find-package-required.patch deleted file mode 100644 index 07785dd137e521..00000000000000 --- a/ports/ceres/find-package-required.patch +++ /dev/null @@ -1,112 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 2d241fe..b79454d 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -244,7 +244,7 @@ else (CUDA) - endif (CUDA) - - if (LAPACK) -- find_package(LAPACK QUIET) -+ find_package(LAPACK REQUIRED) - if (LAPACK_FOUND) - message("-- Found LAPACK library: ${LAPACK_LIBRARIES}") - else (LAPACK_FOUND) -@@ -266,7 +266,8 @@ if (SUITESPARSE) - # built with SuiteSparse support. - - # Check for SuiteSparse and dependencies. -- find_package(SuiteSparse 4.0 COMPONENTS CHOLMOD SPQR) -+ find_package(suitesparse CONFIG REQUIRED) -+ set(SuiteSparse_FOUND 1) - if (SuiteSparse_FOUND) - set(SuiteSparse_DEPENDENCY "find_dependency(SuiteSparse ${SuiteSparse_VERSION})") - # By default, if all of SuiteSparse's dependencies are found, Ceres is -@@ -274,11 +275,11 @@ if (SUITESPARSE) - message("-- Found SuiteSparse ${SuiteSparse_VERSION}, " - "building with SuiteSparse.") - -- if (SuiteSparse_NO_CMAKE OR NOT SuiteSparse_DIR) -+ if (0) - install(FILES ${Ceres_SOURCE_DIR}/cmake/FindSuiteSparse.cmake - ${Ceres_SOURCE_DIR}/cmake/FindMETIS.cmake - DESTINATION ${RELATIVE_CMAKECONFIG_INSTALL_DIR}) -- endif (SuiteSparse_NO_CMAKE OR NOT SuiteSparse_DIR) -+ endif () - else (SuiteSparse_FOUND) - # Disable use of SuiteSparse if it cannot be found and continue. - message("-- Did not find all SuiteSparse dependencies, disabling " -@@ -294,7 +295,7 @@ endif (SUITESPARSE) - # CXSparse. - if (CXSPARSE) - # Don't search with REQUIRED as we can continue without CXSparse. -- find_package(CXSparse) -+ find_package(CXSparse REQUIRED) - if (CXSparse_FOUND) - set(CXSparse_DEPENDENCY "find_dependency(CXSparse ${CXSparse_VERSION})") - # By default, if CXSparse and all dependencies are found, Ceres is -@@ -302,10 +303,10 @@ if (CXSPARSE) - message("-- Found CXSparse version: ${CXSparse_VERSION}, " - "building with CXSparse.") - -- if (CXSparse_NO_CMAKE OR NOT CXSparse_DIR) -+ if (0) - install(FILES ${Ceres_SOURCE_DIR}/cmake/FindCXSparse.cmake - DESTINATION ${RELATIVE_CMAKECONFIG_INSTALL_DIR}) -- endif (CXSparse_NO_CMAKE OR NOT CXSparse_DIR) -+ endif () - else (CXSparse_FOUND) - # Disable use of CXSparse if it cannot be found and continue. - message("-- Did not find CXSparse, Building without CXSparse.") -@@ -367,9 +368,10 @@ endif() - # GFlags. - if (GFLAGS) - # Don't search with REQUIRED as we can continue without gflags. -- find_package(gflags 2.2.0) -+ find_package(gflags CONFIG REQUIRED) - if (gflags_FOUND) -- if (TARGET gflags) -+ if (TARGET gflags::gflags) -+ add_library(gflags ALIAS gflags::gflags) - message("-- Found Google Flags (gflags) version ${gflags_VERSION}: ${gflags_DIR}") - else() - message("-- Detected version of gflags: ${gflags_VERSION} does not define " -@@ -420,7 +422,7 @@ set_ceres_threading_model("${CERES_THREADING_MODEL}") - - if (BUILD_BENCHMARKS) - # Version 1.3 was first to provide import targets -- find_package(benchmark 1.3 QUIET) -+ find_package(benchmark CONFIG REQUIRED) - if (benchmark_FOUND) - message("-- Found Google benchmark library. Building Ceres benchmarks.") - else() -@@ -611,7 +613,7 @@ create_ceres_config("${CERES_COMPILE_OPTIONS}" - add_subdirectory(internal/ceres) - - if (BUILD_DOCUMENTATION) -- find_package(Sphinx) -+ find_package(Sphinx REQUIRED) - if (NOT SPHINX_FOUND) - message("-- Failed to find Sphinx and/or its dependencies, disabling build of documentation.") - update_cache_variable(BUILD_DOCUMENTATION OFF) -diff --git a/internal/ceres/CMakeLists.txt b/internal/ceres/CMakeLists.txt -index 299b373..33d41d8 100644 ---- a/internal/ceres/CMakeLists.txt -+++ b/internal/ceres/CMakeLists.txt -@@ -108,14 +108,14 @@ endif (NOT MINIGLOG) - if (SUITESPARSE AND SuiteSparse_FOUND) - # Define version information for use in Solver::FullReport. - add_definitions(-DCERES_SUITESPARSE_VERSION="${SuiteSparse_VERSION}") -- list(APPEND CERES_LIBRARY_PRIVATE_DEPENDENCIES SuiteSparse::CHOLMOD -- SuiteSparse::SPQR) -+ list(APPEND CERES_LIBRARY_PRIVATE_DEPENDENCIES SuiteSparse::cholmod -+ SuiteSparse::spqr) - endif (SUITESPARSE AND SuiteSparse_FOUND) - - if (CXSPARSE AND CXSparse_FOUND) - # Define version information for use in Solver::FullReport. - add_definitions(-DCERES_CXSPARSE_VERSION="${CXSparse_VERSION}") -- list(APPEND CERES_LIBRARY_PRIVATE_DEPENDENCIES CXSparse::CXSparse) -+ list(APPEND CERES_LIBRARY_PRIVATE_DEPENDENCIES ${CXSparse_LIBRARIES}) - endif (CXSPARSE AND CXSparse_FOUND) - - if (ACCELERATESPARSE AND AccelerateSparse_FOUND) diff --git a/ports/ceres/portfile.cmake b/ports/ceres/portfile.cmake index 4249124a18ee2e..f6363592f66ad1 100644 --- a/ports/ceres/portfile.cmake +++ b/ports/ceres/portfile.cmake @@ -9,17 +9,16 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ceres-solver/ceres-solver - REF f68321e7de8929fbcdb95dd42877531e64f72f66 #2.1.0 - SHA512 67bbd8a9385a40fe69d118fbc84da0fcc9aa1fbe14dd52f5403ed09686504213a1d931e95a1a0148d293b27ab5ce7c1d618fbf2e8fed95f2bbafab851a1ef449 + REF 85331393dc0dff09f6fb9903ab0c4bfa3e134b01 #2.2.0 + SHA512 16d3f4f3524b7532f666c0a626f1c678170698119eff3d914ade2e7cc65f25e644c2eabb618cd5805cba0fd4e08d3f64658a9f480934d8aace4089ec42b3d691 HEAD_REF master PATCHES 0001_cmakelists_fixes.patch 0002_use_glog_target.patch 0003_fix_exported_ceres_config.patch - find-package-required.patch + 0004_remove_broken_fake_ba_jac.patch ) -file(REMOVE "${SOURCE_PATH}/cmake/FindCXSparse.cmake") file(REMOVE "${SOURCE_PATH}/cmake/FindGflags.cmake") file(REMOVE "${SOURCE_PATH}/cmake/FindGlog.cmake") file(REMOVE "${SOURCE_PATH}/cmake/FindEigen.cmake") @@ -28,8 +27,8 @@ file(REMOVE "${SOURCE_PATH}/cmake/FindMETIS.cmake") vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES + "schur" SCHUR_SPECIALIZATIONS "suitesparse" SUITESPARSE - "cxsparse" CXSPARSE "lapack" LAPACK "eigensparse" EIGENSPARSE "tools" GFLAGS @@ -43,6 +42,11 @@ foreach (FEATURE ${FEATURE_OPTIONS}) message(STATUS "${FEATURE}") endforeach() +set(USE_CUDA OFF) +if("cuda" IN_LIST FEATURES) + set(USE_CUDA ON) +endif() + set(TARGET_OPTIONS ) if(VCPKG_TARGET_IS_IOS) # Note: CMake uses "OSX" not just for macOS, but also iOS, watchOS and tvOS. @@ -59,9 +63,12 @@ vcpkg_cmake_configure( -DBUILD_EXAMPLES=OFF -DBUILD_TESTING=OFF -DBUILD_BENCHMARKS=OFF + -DUSE_CUDA=${USE_CUDA} -DPROVIDE_UNINSTALL_TARGET=OFF -DMSVC_USE_STATIC_CRT=${MSVC_USE_STATIC_CRT_VALUE} - -DLIB_SUFFIX=${LIB_SUFFIX} + MAYBE_UNUSED_VARIABLES + CUDA + MSVC_USE_STATIC_CRT ) vcpkg_cmake_install() diff --git a/ports/ceres/vcpkg.json b/ports/ceres/vcpkg.json index d1bc27e5350660..45492e32e82c46 100644 --- a/ports/ceres/vcpkg.json +++ b/ports/ceres/vcpkg.json @@ -1,7 +1,6 @@ { "name": "ceres", - "version": "2.1.0", - "port-version": 4, + "version": "2.2.0", "description": "non-linear optimization package", "homepage": "https://github.com/ceres-solver/ceres-solver", "license": "Apache-2.0", @@ -28,17 +27,6 @@ "cuda" ] }, - "cxsparse": { - "description": "CXSparse support for Ceres", - "dependencies": [ - { - "name": "ceres", - "features": [ - "suitesparse" - ] - } - ] - }, "eigensparse": { "description": "Use of Eigen as a sparse linear algebra library in Ceres" }, @@ -48,6 +36,9 @@ "lapack" ] }, + "schur": { + "description": "Enable fixed-size Schur specializations in Ceres" + }, "suitesparse": { "description": "SuiteSparse support for Ceres", "dependencies": [ diff --git a/ports/cfitsio/0006-fix-uwp.patch b/ports/cfitsio/0006-fix-uwp.patch new file mode 100644 index 00000000000000..cb2fa7f5aa2166 --- /dev/null +++ b/ports/cfitsio/0006-fix-uwp.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7afb480..4fcdf40 100755 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -195,7 +195,7 @@ IF (BUILD_SHARED_LIBS) + + # To expand the command line arguments in Windows, see: + # http://msdn.microsoft.com/en-us/library/8bch7bkk.aspx +- if(MSVC) ++ if(MSVC AND NOT CMAKE_SYSTEM_NAME MATCHES "WindowsStore") + set_target_properties(FPack Funpack PROPERTIES LINK_FLAGS "setargv.obj") + endif(MSVC) + diff --git a/ports/cfitsio/portfile.cmake b/ports/cfitsio/portfile.cmake index 75c5d5bc08f0f9..f85f67cf680287 100644 --- a/ports/cfitsio/portfile.cmake +++ b/ports/cfitsio/portfile.cmake @@ -13,6 +13,7 @@ vcpkg_extract_source_archive( 0003-add-Wno-error-implicit-funciton-declaration-to-cmake.patch 0004-pkg-config.patch 0005-fix-link2019-error.patch + 0006-fix-uwp.patch ) vcpkg_check_features( @@ -64,6 +65,7 @@ vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/unofficial-cfitsio/unofficia "cmake_policy(VERSION 2.6)\r\n\ # Required for the evaluation of \"if(@BUILD_SHARED_LIBS@)\" below to function\r\n\ cmake_policy(SET CMP0012 NEW)\r\n" + IGNORE_UNCHANGED ) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/include/unistd.h" "${CURRENT_PACKAGES_DIR}/debug/share") diff --git a/ports/cfitsio/vcpkg.json b/ports/cfitsio/vcpkg.json index fe638417c43ad2..f9ae0c3cef3e12 100644 --- a/ports/cfitsio/vcpkg.json +++ b/ports/cfitsio/vcpkg.json @@ -1,7 +1,7 @@ { "name": "cfitsio", "version": "3.49", - "port-version": 4, + "port-version": 6, "description": "Library of C and Fortran subroutines for reading and writing data files in FITS (Flexible Image Transport System) data format", "homepage": "https://heasarc.gsfc.nasa.gov/fitsio/", "dependencies": [ diff --git a/ports/cgal/portfile.cmake b/ports/cgal/portfile.cmake index 5ceb1570cb02ae..e23de109f7e57b 100644 --- a/ports/cgal/portfile.cmake +++ b/ports/cgal/portfile.cmake @@ -1,22 +1,12 @@ -# Header only -vcpkg_buildpath_length_warning(37) +set(VCPKG_BUILD_TYPE release) # header-only vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO CGAL/cgal - REF v5.6 - SHA512 87817169f49c30d8dc4fa5e61ce9b28be5b1f0a9fcd3ebe0cb08b044631a2455de76c53d3cffaa1984f033f5fe21c9b55f54628fc431b7d3a34b3b3e18ad206d + REF v${VERSION} + SHA512 28963cdbf84d516290da69ca2ad5c90ec61dd9ca9cd97643ccf5b553c406e96a82621270214c0c81c32da7f8c388090a304d229925ed6e1548dbce3abcf1a259 HEAD_REF master - PATCHES - x86_windows.patch - # Upstream patch: https://github.com/CGAL/cgal/pull/7635 ) - -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - FEATURES - qt WITH_CGAL_Qt5 -) - vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS @@ -29,7 +19,6 @@ vcpkg_cmake_configure( MAYBE_UNUSED_VARIABLES CGAL_BUILD_THREE_DOC CGAL_HEADER_ONLY - WITH_CGAL_Qt5 ) vcpkg_cmake_install() diff --git a/ports/cgal/vcpkg.json b/ports/cgal/vcpkg.json index f8fa853778c352..34ac287968c576 100644 --- a/ports/cgal/vcpkg.json +++ b/ports/cgal/vcpkg.json @@ -1,6 +1,6 @@ { "name": "cgal", - "version": "5.6", + "version": "6.0.1", "description": "The Computational Geometry Algorithms Library (CGAL) is a C++ library that aims to provide easy access to efficient and reliable algorithms in computational geometry.", "homepage": "https://github.com/CGAL/cgal", "license": "GPL-3.0-or-later AND LGPL-3.0-or-later AND BSL-1.0", @@ -15,6 +15,7 @@ "boost-core", "boost-detail", "boost-filesystem", + "boost-format", "boost-functional", "boost-fusion", "boost-geometry", @@ -65,14 +66,12 @@ "description": "Qt GUI support for CGAL", "dependencies": [ "eigen3", - "qt5-3d", { - "name": "qt5-base", + "name": "qtbase", "default-features": false }, - "qt5-script", - "qt5-svg", - "qt5-xmlpatterns" + "qtdeclarative", + "qtsvg" ] } } diff --git a/ports/cgal/x86_windows.patch b/ports/cgal/x86_windows.patch deleted file mode 100644 index fcb26a683807ca..00000000000000 --- a/ports/cgal/x86_windows.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/Number_types/include/CGAL/boost_mp.h b/Number_types/include/CGAL/boost_mp.h -index 3dcaadcad21..b98980acbc5 100644 ---- a/Number_types/include/CGAL/boost_mp.h -+++ b/Number_types/include/CGAL/boost_mp.h -@@ -20,8 +20,18 @@ - // easy solution. - // MSVC had trouble with versions <= 1.69: - // https://github.com/boostorg/multiprecision/issues/98 -+// -+// Disable also on Windows 32 bits -+// because CGAL/cpp_float.h assumes _BitScanForward64 is available -+// See https://learn.microsoft.com/en-us/cpp/intrinsics/bitscanforward-bitscanforward64 -+// -+// Disable also with PowerPC processors, with Boost<1.80 because of that bug: -+// https://github.com/boostorg/multiprecision/pull/421 -+// - #if !defined CGAL_DO_NOT_USE_BOOST_MP && \ -- (!defined _MSC_VER || BOOST_VERSION >= 107000) -+ (!defined _MSC_VER || BOOST_VERSION >= 107000) && \ -+ (!defined _WIN32 || defined _WIN64) && \ -+ (BOOST_VERSION >= 108000 || (!defined _ARCH_PPC && !defined _ARCH_PPC64)) - #define CGAL_USE_BOOST_MP 1 - - #include diff --git a/ports/cgicc/portfile.cmake b/ports/cgicc/portfile.cmake index f7d200fb34c461..c2b3fb1621fa5b 100644 --- a/ports/cgicc/portfile.cmake +++ b/ports/cgicc/portfile.cmake @@ -1,11 +1,10 @@ -set(CGICC_VERSION 3.2.19) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_download_distfile(ARCHIVE - URLS "https://ftp.gnu.org/gnu/cgicc/cgicc-${CGICC_VERSION}.tar.gz" "https://www.mirrorservice.org/sites/ftp.gnu.org/gnu/cgicc/cgicc-${CGICC_VERSION}.tar.gz" - FILENAME "cgicc-${CGICC_VERSION}.tar.gz" - SHA512 c361923cf3ac876bc3fc94dffd040d2be7cd44751d8534f4cfa3545e9f58a8ec35ebcd902a8ce6a19da0efe52db67506d8b02e5cc868188d187ce3092519abdf + URLS "https://ftp.gnu.org/gnu/cgicc/cgicc-${VERSION}.tar.gz" "https://www.mirrorservice.org/sites/ftp.gnu.org/gnu/cgicc/cgicc-${VERSION}.tar.gz" + FILENAME "cgicc-${VERSION}.tar.gz" + SHA512 e57b8f30b26b29008bcf1ffc3b2d272bdbd77848fb02e24912b6182ae90923d5933b9d204c556ac922a389f73ced465065b6e2202fc0c3d008e0e6038e7c8052 ) vcpkg_extract_source_archive( @@ -20,6 +19,8 @@ file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH} vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DCMAKE_CXX_STANDARD=11 # 17 removes std::unary_function OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON -DDISABLE_INSTALL_TOOLS=ON diff --git a/ports/cgicc/vcpkg.json b/ports/cgicc/vcpkg.json index 05c442d1028d3e..754ba8ab1261e8 100644 --- a/ports/cgicc/vcpkg.json +++ b/ports/cgicc/vcpkg.json @@ -1,7 +1,7 @@ { "name": "cgicc", - "version": "3.2.19", - "port-version": 7, + "version": "3.2.20", + "port-version": 1, "description": "GNU Cgicc is an ANSI C++ compliant class library that greatly simplifies the creation of CGI applications for the World Wide Web", "homepage": "https://www.gnu.org/software/cgicc/", "dependencies": [ diff --git a/ports/cglm/portfile.cmake b/ports/cglm/portfile.cmake index 830f55bdf9b8fc..68fb7ebcdede5a 100644 --- a/ports/cglm/portfile.cmake +++ b/ports/cglm/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO recp/cglm REF "v${VERSION}" - SHA512 05c1e8d1dadafe1c9155db40dd1a4c209283c41ad2416c11b09967435f8047471afa5ee521ef6b8ef22c3e8b3988ab0865137057b33441e7851bc57979509dd6 + SHA512 cfa836d5100912866d0678babca51e0ca818c1424ac8320c49ee55e5f9091403947a0d7b5c633bb0fb5df594d2b4fb01c2f634cc20cbe6266db5f7879488b02f ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" CGLM_BUILD_SHARED) diff --git a/ports/cglm/vcpkg.json b/ports/cglm/vcpkg.json index beac8c9277d739..0a0e1cae6c513b 100644 --- a/ports/cglm/vcpkg.json +++ b/ports/cglm/vcpkg.json @@ -1,10 +1,9 @@ { "name": "cglm", - "version-semver": "0.9.1", + "version-semver": "0.9.4", "description": "Highly Optimized Graphics Math (glm) for C", "homepage": "https://github.com/recp/cglm", "license": "MIT", - "supports": "!(arm | uwp)", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/cgltf/portfile.cmake b/ports/cgltf/portfile.cmake index edd9d223643cc9..f6c8e8b6db6bfc 100644 --- a/ports/cgltf/portfile.cmake +++ b/ports/cgltf/portfile.cmake @@ -3,8 +3,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO jkuhlmann/cgltf - REF v1.13 - SHA512 b46d1f9db11b75a60eb0272e89834444cd5652fa1fa35c80ce8a78437ef1b3d9f871419cc39da2d0e021d594ffc3e3832362ec759df0a7857aa74e4639698435 + REF "v${VERSION}" + SHA512 1f0e7dca353f1fca94f5936519895d59d4d2a3a1204545bf5420ff130c1d168158be4749010b2016c127ac9216929892f093ca10b5753fa622bea629aa3f194a HEAD_REF master ) @@ -12,4 +12,4 @@ file(COPY "${SOURCE_PATH}/cgltf.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include" file(COPY "${SOURCE_PATH}/cgltf_write.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include") # Handle copyright -configure_file("${SOURCE_PATH}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) \ No newline at end of file +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/cgltf/vcpkg.json b/ports/cgltf/vcpkg.json index c61d0e0d76ed8f..aa2628dbc2e6f9 100644 --- a/ports/cgltf/vcpkg.json +++ b/ports/cgltf/vcpkg.json @@ -1,6 +1,6 @@ { "name": "cgltf", - "version": "1.13", + "version": "1.14", "description": "Single-file glTF 2.0 loader and writer written in C99", "homepage": "https://github.com/jkuhlmann/cgltf", "license": "MIT" diff --git a/ports/chakracore/add-missing-reference.patch b/ports/chakracore/add-missing-reference.patch deleted file mode 100644 index 635ea0bb290970..00000000000000 --- a/ports/chakracore/add-missing-reference.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/lib/SCACore/Chakra.SCACore.vcxproj b/lib/SCACore/Chakra.SCACore.vcxproj -index 1b13cea..57b066b 100644 ---- a/lib/SCACore/Chakra.SCACore.vcxproj -+++ b/lib/SCACore/Chakra.SCACore.vcxproj -@@ -60,6 +60,9 @@ - - - -+ -+ -+ - - - -\ No newline at end of file diff --git a/ports/chakracore/avoid_msvc_internal_STRINGIZE.patch b/ports/chakracore/avoid_msvc_internal_STRINGIZE.patch new file mode 100644 index 00000000000000..591744b1950c74 --- /dev/null +++ b/ports/chakracore/avoid_msvc_internal_STRINGIZE.patch @@ -0,0 +1,78 @@ +diff --git a/bin/NativeTests/stdafx.h b/bin/NativeTests/stdafx.h +index c7a021c..77f8299 100644 +--- a/bin/NativeTests/stdafx.h ++++ b/bin/NativeTests/stdafx.h +@@ -25,11 +25,16 @@ + + #define DebugOnly(x) x + ++#if !defined(CHAKRACORE_STRINGIZE) ++#define CHAKRACORE_STRINGIZE_IMPL(x) #x ++#define CHAKRACORE_STRINGIZE(x) CHAKRACORE_STRINGIZE_IMPL(x) ++#endif ++ + #define AssertMsg(exp, comment) \ + do { \ + if (!(exp)) \ + { \ +- fprintf(stderr, "ASSERTION (%s, line %d) %s %s\n", __FILE__, __LINE__, _STRINGIZE(exp), comment); \ ++ fprintf(stderr, "ASSERTION (%s, line %d) %s %s\n", __FILE__, __LINE__, CHAKRACORE_STRINGIZE(exp), comment); \ + fflush(stderr); \ + DebugBreak(); \ + } \ +diff --git a/bin/ch/stdafx.h b/bin/ch/stdafx.h +index 450a33d..7c5ecc2 100644 +--- a/bin/ch/stdafx.h ++++ b/bin/ch/stdafx.h +@@ -57,16 +57,16 @@ + + #if defined(DBG) + +-#define _STRINGIZE_(x) #x +-#if !defined(_STRINGIZE) +-#define _STRINGIZE(x) _STRINGIZE_(x) ++#if !defined(CHAKRACORE_STRINGIZE) ++#define CHAKRACORE_STRINGIZE_IMPL(x) #x ++#define CHAKRACORE_STRINGIZE(x) CHAKRACORE_STRINGIZE_IMPL(x) + #endif + + #define AssertMsg(exp, comment) \ + do { \ + if (!(exp)) \ + { \ +- fprintf(stderr, "ASSERTION (%s, line %d) %s %s\n", __FILE__, __LINE__, _STRINGIZE(exp), comment); \ ++ fprintf(stderr, "ASSERTION (%s, line %d) %s %s\n", __FILE__, __LINE__, CHAKRACORE_STRINGIZE(exp), comment); \ + fflush(stderr); \ + DebugBreak(); \ + } \ +diff --git a/pal/inc/assert_only.h b/pal/inc/assert_only.h +index eef0e62..644460c 100644 +--- a/pal/inc/assert_only.h ++++ b/pal/inc/assert_only.h +@@ -6,20 +6,22 @@ + // PAL free Assert definitions + #ifdef DEBUG + +-#define _QUOTE_(s) #s +-#define _STRINGIZE_(s) _QUOTE_(s) ++#if !defined(CHAKRACORE_STRINGIZE) ++#define CHAKRACORE_STRINGIZE_IMPL(x) #x ++#define CHAKRACORE_STRINGIZE(x) CHAKRACORE_STRINGIZE_IMPL(x) ++#endif + + #ifndef __ANDROID__ + #define _ERR_OUTPUT_(condition, comment) \ + fprintf(stderr, "ASSERTION (%s, line %d) %s %s\n", __FILE__, __LINE__, \ +- _STRINGIZE_(condition), comment); \ ++ CHAKRACORE_STRINGIZE(condition), comment); \ + fflush(stderr); + #else // ANDROID + #include + #define _ERR_OUTPUT_(condition, comment) \ + __android_log_print(ANDROID_LOG_ERROR, "chakracore-log", \ + "ASSERTION (%s, line %d) %s %s\n", __FILE__, __LINE__, \ +- _STRINGIZE_(condition), comment); ++ CHAKRACORE_STRINGIZE(condition), comment); + #endif + + #define _Assert_(condition, comment) \ diff --git a/ports/chakracore/portfile.cmake b/ports/chakracore/portfile.cmake index 78a5f9aafe1684..294191bade4095 100644 --- a/ports/chakracore/portfile.cmake +++ b/ports/chakracore/portfile.cmake @@ -3,11 +3,11 @@ vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Microsoft/ChakraCore - REF fd6908097f758ef65bd83680cf413313ad36c98d - SHA512 c35a2e3680d3ff5c7d715752570b5f12cf9da716ef28377694e9aa079553b5c0276c51a66b342956d217e9842edd12c25af4a001fae34175a2114134ee4428ee + REF 2af598f04ab508f9231d6e26f0f82f5a57561413 + SHA512 a42138cb5906d8f6cbdab32fad042f626bacb62450839f66d6b27831fcd5bd93039f68423c82d460cf1147ce82908c04595442f90be3bf67e2066547d0fe0291 HEAD_REF master PATCHES - add-missing-reference.patch # https://github.com/chakra-core/ChakraCore/pull/6862 + avoid_msvc_internal_STRINGIZE.patch ) set(BUILDTREE_PATH "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}") @@ -40,17 +40,18 @@ else() elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "x86") set(CHAKRACORE_TARGET_ARCH x86) endif() - + if (VCPKG_TARGET_IS_LINUX) message(WARNING "${PORT} requires Clang from the system package manager, this can be installed on Ubuntu systems via sudo apt install clang") endif() + file(MAKE_DIRECTORY "${BUILDTREE_PATH}-dbg") if(NOT DEFINED VCPKG_BUILD_TYPE) list(APPEND configs "debug") execute_process( COMMAND bash "build.sh" "--arch=${CHAKRACORE_TARGET_ARCH}" "--debug" "-j=${VCPKG_CONCURRENCY}" - WORKING_DIRECTORY "${BUILDTREE_PATH}-dbg" - + WORKING_DIRECTORY "${SOURCE_PATH}" + OUTPUT_VARIABLE CHAKRA_BUILD_SH_OUT ERROR_VARIABLE CHAKRA_BUILD_SH_ERR RESULT_VARIABLE CHAKRA_BUILD_SH_RES @@ -58,26 +59,27 @@ else() ECHO_ERROR_VARIABLE ) endif() - + + file(MAKE_DIRECTORY "${BUILDTREE_PATH}-rel") list(APPEND configs "release") execute_process( COMMAND bash "build.sh" "--arch=${CHAKRACORE_TARGET_ARCH}" "-j=${VCPKG_CONCURRENCY}" - WORKING_DIRECTORY "${BUILDTREE_PATH}-rel" + WORKING_DIRECTORY "${SOURCE_PATH}" OUTPUT_VARIABLE CHAKRA_BUILD_SH_OUT ERROR_VARIABLE CHAKRA_BUILD_SH_ERR RESULT_VARIABLE CHAKRA_BUILD_SH_RES ECHO_OUTPUT_VARIABLE ECHO_ERROR_VARIABLE ) - endif() file(INSTALL - "${BUILDTREE_PATH}-rel/lib/Jsrt/ChakraCore.h" - "${BUILDTREE_PATH}-rel/lib/Jsrt/ChakraCommon.h" - "${BUILDTREE_PATH}-rel/lib/Jsrt/ChakraDebug.h" + "${SOURCE_PATH}/lib/Jsrt/ChakraCore.h" + "${SOURCE_PATH}/lib/Jsrt/ChakraCommon.h" + "${SOURCE_PATH}/lib/Jsrt/ChakraDebug.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include" ) + if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) file(INSTALL "${BUILDTREE_PATH}-rel/lib/Jsrt/ChakraCommonWindows.h" @@ -86,21 +88,14 @@ if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) ) else() if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - set(out_file libChakraCore.so) + file(INSTALL "${SOURCE_PATH}/out/Debug/libChakraCore.so" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + file(INSTALL "${SOURCE_PATH}/out/Release/libChakraCore.so" DESTINATION ${CURRENT_PACKAGES_DIR}/bin) else() - set(out_file lib/libChakraCoreStatic.a) + file(INSTALL "${SOURCE_PATH}/out/Debug/lib/libChakraCoreStatic.a" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) + file(INSTALL "${SOURCE_PATH}/out/Release/lib/libChakraCoreStatic.a" DESTINATION ${CURRENT_PACKAGES_DIR}/lib) endif() - set(destination_dir_debug "${CURRENT_PACKAGES_DIR}/debug/bin") - set(destination_dir_release "${CURRENT_PACKAGES_DIR}/bin") - set(out_dir_debug "${BUILDTREE_PATH}-dbg/out/Debug") - set(out_dir_release "${BUILDTREE_PATH}-rel/out/Release") - foreach(config ${configs}) - file(INSTALL - ${out_dir_${config}}/${out_file} - DESTINATION ${destination_dir_${config}} - ) - endforeach() + set(out_dir_release "${SOURCE_PATH}/out/Release") if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") file(INSTALL diff --git a/ports/chakracore/vcpkg.json b/ports/chakracore/vcpkg.json index a296ca9ff4945e..c3a25331c612b2 100644 --- a/ports/chakracore/vcpkg.json +++ b/ports/chakracore/vcpkg.json @@ -1,7 +1,7 @@ { "name": "chakracore", "version-date": "2022-11-09", - "port-version": 5, + "port-version": 7, "description": "Core part of the Chakra Javascript engine", "homepage": "https://github.com/Microsoft/ChakraCore", "license": "MIT", diff --git a/ports/chartdir/vcpkg.json b/ports/chartdir/vcpkg.json index 46ebed2f495243..0eb77c478ef470 100644 --- a/ports/chartdir/vcpkg.json +++ b/ports/chartdir/vcpkg.json @@ -1,9 +1,9 @@ { "name": "chartdir", "version": "7.0.0", - "port-version": 7, + "port-version": 8, "description": "ChartDirector is a powerful chart component for creating professional looking charts for web and windows applications.", "homepage": "https://www.advsofteng.com/", "license": null, - "supports": "!(arm & windows) & !uwp" + "supports": "(windows & !uwp & (x86 | x64)) | osx | linux" } diff --git a/ports/chipmunk/export-targets.patch b/ports/chipmunk/export-targets.patch new file mode 100644 index 00000000000000..de88e497553f3f --- /dev/null +++ b/ports/chipmunk/export-targets.patch @@ -0,0 +1,40 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 34882d1..d47c303 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -31,7 +31,9 @@ if(BUILD_SHARED) + # need to explicitly link to the math library because the CMake/Android toolchains may not do it automatically + target_link_libraries(chipmunk m) + endif(ANDROID OR UNIX) +- install(TARGETS chipmunk RUNTIME DESTINATION ${BIN_INSTALL_DIR} ++ target_include_directories(chipmunk INTERFACE $) ++ install(TARGETS chipmunk EXPORT unofficial-chipmunk-config ++ RUNTIME DESTINATION ${BIN_INSTALL_DIR} + LIBRARY DESTINATION ${LIB_INSTALL_DIR} + ARCHIVE DESTINATION ${LIB_INSTALL_DIR}) + endif(BUILD_SHARED) +@@ -46,9 +48,12 @@ if(BUILD_STATIC) + set_target_properties(chipmunk_static PROPERTIES LINKER_LANGUAGE CXX) + endif(MSVC) + # Sets chipmunk_static to output "libchipmunk.a" not "libchipmunk_static.a" +- set_target_properties(chipmunk_static PROPERTIES OUTPUT_NAME chipmunk) ++ set_target_properties(chipmunk_static PROPERTIES OUTPUT_NAME chipmunk EXPORT_NAME chipmunk) ++ target_include_directories(chipmunk_static INTERFACE $) + if(INSTALL_STATIC) +- install(TARGETS chipmunk_static ARCHIVE DESTINATION ${LIB_INSTALL_DIR}) ++ install(TARGETS chipmunk_static EXPORT unofficial-chipmunk-config ++ LIBRARY DESTINATION ${LIB_INSTALL_DIR} ++ ARCHIVE DESTINATION ${LIB_INSTALL_DIR}) + endif(INSTALL_STATIC) + endif(BUILD_STATIC) + +@@ -57,3 +62,9 @@ if(BUILD_SHARED OR INSTALL_STATIC) + install(FILES ${chipmunk_public_header} DESTINATION include/chipmunk) + install(FILES ${chipmunk_constraint_header} DESTINATION include/chipmunk/constraints) + endif(BUILD_SHARED OR INSTALL_STATIC) ++ ++install(EXPORT unofficial-chipmunk-config ++ FILE unofficial-chipmunk-config.cmake ++ NAMESPACE unofficial::chipmunk:: ++ DESTINATION share/unofficial-chipmunk ++) diff --git a/ports/chipmunk/portfile.cmake b/ports/chipmunk/portfile.cmake index cac2a863137fc5..727ad212b28b11 100644 --- a/ports/chipmunk/portfile.cmake +++ b/ports/chipmunk/portfile.cmake @@ -8,11 +8,12 @@ vcpkg_download_distfile( vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO slembcke/Chipmunk2D - REF 87340c216bf97554dc552371bbdecf283f7c540e - SHA512 9094017755e9c140aa5bf8a1b5502077ae4fb2b0a3e12f1114e86d8591a6188f89822ecc578a2b5e95f61c555018f1b3273fe50e833fe2daf30e94b180a3d07c + REF "Chipmunk-${VERSION}" + SHA512 edd16544a572c8f7654c99d6420aefe2f73ce2630f3e2e969f17b4980a8ea4044b5738f4a3cefbe0edd7bb4cd039a70748773b48cd59df12a09123eca9f451e4 HEAD_REF master PATCHES "${SYSCTL_REMOVED_PATCH}" + export-targets.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" KEYSTONE_BUILD_STATIC) @@ -33,15 +34,6 @@ if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL debug) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") endif() -file(GLOB DLLS "${CURRENT_PACKAGES_DIR}/lib/*.dll") -if(DLLS) - file(COPY ${DLLS} DESTINATION "${CURRENT_PACKAGES_DIR}/bin") - file(REMOVE ${DLLS}) -endif() - -file(INSTALL - "${SOURCE_PATH}/include/chipmunk" - DESTINATION "${CURRENT_PACKAGES_DIR}/include" -) +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-chipmunk) -file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/chipmunk/vcpkg.json b/ports/chipmunk/vcpkg.json index 01bccc9ebc6663..5877bd206abeb6 100644 --- a/ports/chipmunk/vcpkg.json +++ b/ports/chipmunk/vcpkg.json @@ -1,9 +1,10 @@ { "name": "chipmunk", "version": "7.0.3", - "port-version": 6, + "port-version": 7, "description": "A fast and lightweight 2D game physics library.", "homepage": "https://github.com/slembcke/Chipmunk2D", + "license": "MIT", "supports": "!(arm & !arm64 & android)", "dependencies": [ { diff --git a/ports/chmlib/CMakeLists.txt b/ports/chmlib/CMakeLists.txt index 49ce1f129ffff3..296ed6a4b62af3 100644 --- a/ports/chmlib/CMakeLists.txt +++ b/ports/chmlib/CMakeLists.txt @@ -1,7 +1,13 @@ cmake_minimum_required(VERSION 3.5) project(chm C) +include (CheckIncludeFiles) +check_include_files(strings.h HAVE_STRINGS_H) # for ffs + add_library(chm src/lzx.c src/chm_lib.c) +if(HAVE_STRINGS_H) + target_compile_definitions(chm PRIVATE CHMLIB_HAVE_STRINGS_H) +endif() if(BUILD_TOOLS) link_libraries(chm) diff --git a/ports/chmlib/portfile.cmake b/ports/chmlib/portfile.cmake index 88e996ae48523b..4a9c7d5c3f7b1d 100644 --- a/ports/chmlib/portfile.cmake +++ b/ports/chmlib/portfile.cmake @@ -16,6 +16,7 @@ vcpkg_extract_source_archive( ARCHIVE "${ARCHIVE}" PATCHES all-platforms.patch + strings_h.patch ) file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") diff --git a/ports/chmlib/strings_h.patch b/ports/chmlib/strings_h.patch new file mode 100644 index 00000000000000..e723392b3563fc --- /dev/null +++ b/ports/chmlib/strings_h.patch @@ -0,0 +1,13 @@ +diff --git a/src/chm_lib.c b/src/chm_lib.c +index 6c6736c..4a3f167 100644 +--- a/src/chm_lib.c ++++ b/src/chm_lib.c +@@ -62,7 +62,7 @@ + #include + #endif + +-#if __sun || __sgi ++#ifdef CHMLIB_HAVE_STRINGS_H + #include + #endif + diff --git a/ports/chmlib/vcpkg.json b/ports/chmlib/vcpkg.json index 0eb4108c125d30..cf9899013bfc23 100644 --- a/ports/chmlib/vcpkg.json +++ b/ports/chmlib/vcpkg.json @@ -1,7 +1,7 @@ { "name": "chmlib", "version": "0.40", - "port-version": 7, + "port-version": 8, "description": "CHMLIB is a library for dealing with Microsoft ITSS/CHM format files. Right now, it is a very simple library, but sufficient for dealing with all of the .chm files I've come across. Due to the fairly well-designed indexing built into this particular file format, even a small library is able to gain reasonably good performance indexing into ITSS archives.", "homepage": "http://www.jedrea.com/chmlib/", "license": "LGPL-2.1-or-later", diff --git a/ports/chromium-base/portfile.cmake b/ports/chromium-base/portfile.cmake index 8fedaa10d553a6..d9e6e8e6a4f531 100644 --- a/ports/chromium-base/portfile.cmake +++ b/ports/chromium-base/portfile.cmake @@ -68,7 +68,7 @@ set(OPTIONS "\ treat_warnings_as_errors=false") set(DEFINITIONS "") -if(WIN32) +if(VCPKG_TARGET_IS_WINDOWS) # Windows 10 SDK >= (10.0.19041.0) is required # https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk SET(VCPKG_POLICY_SKIP_ARCHITECTURE_CHECK enabled) @@ -76,7 +76,7 @@ if(WIN32) set(OPTIONS "${OPTIONS} use_lld=false") endif() -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL Linux) +if(VCPKG_TARGET_IS_LINUX) set(OPTIONS "${OPTIONS} use_allocator=\"none\" use_sysroot=false use_glib=false") endif() @@ -88,8 +88,8 @@ if(CLANG MATCHES "-NOTFOUND") endif() get_filename_component(CLANG "${CLANG}" DIRECTORY) get_filename_component(CLANG "${CLANG}" DIRECTORY) -if((WIN32 AND NOT EXISTS "${CLANG}/bin/clang-cl.exe") OR - (APPLE AND NOT EXISTS "${CLANG}/bin/clang")) +if((VCPKG_TARGET_IS_WINDOWS AND NOT EXISTS "${CLANG}/bin/clang-cl.exe") OR + (VCPKG_TARGET_IS_OSX AND NOT EXISTS "${CLANG}/bin/clang")) message(FATAL_ERROR "Clang needs to be inside a bin directory.") endif() set(OPTIONS "${OPTIONS} clang_base_path=\"${CLANG}\"") @@ -101,7 +101,7 @@ else() set(OPTIONS "${OPTIONS} is_component_build=false") endif() -if(APPLE) +if(VCPKG_TARGET_IS_OSX) set(OPTIONS "${OPTIONS} enable_dsyms=true") endif() @@ -126,7 +126,7 @@ set(TARGETS base/third_party/dynamic_annotations base/third_party/double_conversion) -if(WIN32) +if(VCPKG_TARGET_IS_WINDOWS) list(APPEND TARGETS base/win:pe_image) endif() diff --git a/ports/chromium-base/vcpkg.json b/ports/chromium-base/vcpkg.json index ec365b1c41dfa5..5fa9c7d57a4c29 100644 --- a/ports/chromium-base/vcpkg.json +++ b/ports/chromium-base/vcpkg.json @@ -1,7 +1,7 @@ { "name": "chromium-base", "version": "86.0.4199.1", - "port-version": 5, + "port-version": 6, "description": "Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.", "homepage": "https://chromium.googlesource.com/chromium/src", "license": "BSD-3-Clause", diff --git a/ports/cimg/CMakeLists.txt b/ports/cimg/CMakeLists.txt index 75ae59cd5ef546..0d63a9fba4dc7e 100644 --- a/ports/cimg/CMakeLists.txt +++ b/ports/cimg/CMakeLists.txt @@ -19,3 +19,6 @@ install( FILES ${CMAKE_CURRENT_SOURCE_DIR}/CImg.h DESTINATION include ) + +install( + DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/plugins DESTINATION include) diff --git a/ports/cimg/portfile.cmake b/ports/cimg/portfile.cmake index 8e128a33e64244..76f4c5bc7b957f 100644 --- a/ports/cimg/portfile.cmake +++ b/ports/cimg/portfile.cmake @@ -1,7 +1,9 @@ +set(VCPKG_BUILD_TYPE release) # header-only + vcpkg_from_github(OUT_SOURCE_PATH SOURCE_PATH REPO dtschump/CImg - REF b33dcc8f9f1acf1f276ded92c04f8231f6c23fcd # v2.9.9 - SHA512 327c72320e7cac386ba72d417c45b9e8b40df34650370c34e687c362731919af1b447b2ee498f21278d4af155f0d9dbfabd222856d5f18c2e05569fa638a5909 + REF "v.${VERSION}" + SHA512 54357c177c1e25117778d444e0317a5a5f9dc9dd40ff2c280b6c05f846b2352c523ba6ab9eeea2e05094cc8fbbfe5a544a5f83eeda46394b3d87962b3b1e31d5 HEAD_REF master ) @@ -13,9 +15,8 @@ vcpkg_cmake_configure( vcpkg_cmake_install() -# Move cmake files, ensuring they will be 3 directories up the import prefix -file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/share/${PORT}") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") - -file(INSTALL "${SOURCE_PATH}/Licence_CeCILL-C_V1-en.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) -file(INSTALL "${SOURCE_PATH}/Licence_CeCILL_V2-en.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright2) +vcpkg_install_copyright( + FILE_LIST + "${SOURCE_PATH}/Licence_CeCILL-C_V1-en.txt" + "${SOURCE_PATH}/Licence_CeCILL_V2-en.txt" +) diff --git a/ports/cimg/vcpkg.json b/ports/cimg/vcpkg.json index cc1c448bd89e83..fd9c8ee1cecd2e 100644 --- a/ports/cimg/vcpkg.json +++ b/ports/cimg/vcpkg.json @@ -1,8 +1,9 @@ { "name": "cimg", - "version": "2.9.9", + "version": "3.4.1", "description": "The CImg Library is a small, open-source, and modern C++ toolkit for image processing", "homepage": "https://github.com/dtschump/CImg", + "license": "CECILL-C AND CECILL-2.0", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/cista/portfile.cmake b/ports/cista/portfile.cmake index 55ee47b8555451..f7f1eea9935523 100644 --- a/ports/cista/portfile.cmake +++ b/ports/cista/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO felixguendling/cista REF "v${VERSION}" - SHA512 bf5c5f527eb2b63775fd9f2e99f60a0ed19bd9805f38bf3e55f4995e01ecaf31c95dcd555520e12b3a1b9d039f702b9c9a4fdec74b9547136e336b5adf78689d + SHA512 581280b3bc2e762614034058653ddf21ef50dc19b8f49ee9a15bd1f5a4578b53f0bc03e55a1a92fe8d43836be2ed4932c8b9f1d8ed608b6d4d8b8d90426e8535 HEAD_REF master ) diff --git a/ports/cista/vcpkg.json b/ports/cista/vcpkg.json index a0899eb3abf695..7f4ac12c5c00d4 100644 --- a/ports/cista/vcpkg.json +++ b/ports/cista/vcpkg.json @@ -1,6 +1,6 @@ { "name": "cista", - "version": "0.14", + "version": "0.15", "description": "Cista is a simple, high-performance, zero-copy C++ serialization & reflection library.", "homepage": "https://github.com/felixguendling/cista", "license": "MIT", diff --git a/ports/civetweb/portfile.cmake b/ports/civetweb/portfile.cmake index 35cc9d163592b4..caa0b3113035c8 100644 --- a/ports/civetweb/portfile.cmake +++ b/ports/civetweb/portfile.cmake @@ -31,6 +31,7 @@ vcpkg_cmake_configure( -DCIVETWEB_ENABLE_SSL_DYNAMIC_LOADING=OFF -DCIVETWEB_ENABLE_WEBSOCKETS=ON -DCIVETWEB_ALLOW_WARNINGS=ON + -DCIVETWEB_ENABLE_ZLIB=ON "-DVERSION=${VERSION}" ${FEATURE_OPTIONS} ) diff --git a/ports/civetweb/vcpkg.json b/ports/civetweb/vcpkg.json index 9c097815586cf3..bb2dd92aa34776 100644 --- a/ports/civetweb/vcpkg.json +++ b/ports/civetweb/vcpkg.json @@ -1,7 +1,7 @@ { "name": "civetweb", "version": "1.16", - "port-version": 1, + "port-version": 2, "description": "Easy to use, powerful, C/C++ embeddable web server.", "homepage": "https://github.com/civetweb/civetweb", "supports": "!uwp", @@ -13,7 +13,8 @@ { "name": "vcpkg-cmake-config", "host": true - } + }, + "zlib" ], "features": { "ssl": { diff --git a/ports/cjson/portfile.cmake b/ports/cjson/portfile.cmake index c722e8b8c4a833..3f52be8415a71f 100644 --- a/ports/cjson/portfile.cmake +++ b/ports/cjson/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO DaveGamble/cJSON REF "v${VERSION}" - SHA512 3a894de03c33d89f1e7ee572418d5483c844d38e1e64aa4f6297ddaa01f4111f07601f8d26617b424b5af15d469e3955dae075d9f30b5c25e16ec348fdb06e6f + SHA512 2accb507c6b97222eb5f0232c015b356cf6d248d1247049928731aa8e897378245e62395c232b1ec57d28d1e53ac72c849be85e59c33616a382d40473649f66b HEAD_REF master ) @@ -31,6 +31,7 @@ vcpkg_cmake_configure( -DENABLE_CJSON_TEST=OFF -DENABLE_CUSTOM_COMPILER_FLAGS=OFF -DENABLE_FUZZING=OFF + -DCMAKE_POLICY_DEFAULT_CMP0057=NEW ${FEATURE_OPTIONS} ) diff --git a/ports/cjson/vcpkg.json b/ports/cjson/vcpkg.json index 89563f2a1dde23..309a800532b096 100644 --- a/ports/cjson/vcpkg.json +++ b/ports/cjson/vcpkg.json @@ -1,6 +1,6 @@ { "name": "cjson", - "version": "1.7.16", + "version": "1.7.18", "description": "Ultralightweight JSON parser in ANSI C", "homepage": "https://github.com/DaveGamble/cJSON", "license": "MIT", diff --git a/ports/clamav/isnt.patch b/ports/clamav/isnt.patch new file mode 100644 index 00000000000000..faceaa16b7b22e --- /dev/null +++ b/ports/clamav/isnt.patch @@ -0,0 +1,12 @@ +diff --git a/libclamunrar/CMakeLists.txt b/libclamunrar/CMakeLists.txt +index f7ce3848e..5bae50aca 100644 +--- a/libclamunrar/CMakeLists.txt ++++ b/libclamunrar/CMakeLists.txt +@@ -85,6 +85,7 @@ target_sources( clamunrar + "dll.hpp" ) + if(WIN32) + set_target_properties(clamunrar PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON) ++ target_sources( clamunrar PRIVATE "isnt.cpp") + endif() + + # Public (forwarded) dependencies. diff --git a/ports/clamav/portfile.cmake b/ports/clamav/portfile.cmake index 1b388479bd23b9..7f5a66b66c2e8f 100644 --- a/ports/clamav/portfile.cmake +++ b/ports/clamav/portfile.cmake @@ -3,8 +3,8 @@ vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Cisco-Talos/clamav-devel - REF clamav-0.103.0 - SHA512 e7ff4d98e0615a9fec0752bbfa2b882ae95034a8e01d0f7cc635ee520ff917c3be2a2d3273caa2fc1598e7d5ec4fd60d59b517cb439c5454d32447f8c8d7ba5a + REF clamav-0.103.11 + SHA512 2d614b5006fe526d7bb43dfc691329f2de2fa2dc6cfc63fb93ba556ee26a9f87369bf072f59db0fed178c44413d68838b45ea572885c8d0a0bee81a410d5e055 FILE_DISAMBIGUATOR 1 HEAD_REF master PATCHES @@ -12,6 +12,7 @@ vcpkg_from_github( "cmakefiles.patch" "curl.patch" "mspack.patch" + "isnt.patch" ) vcpkg_cmake_configure( diff --git a/ports/clamav/vcpkg.json b/ports/clamav/vcpkg.json index 885db85d00f5c5..0a8b3070e88972 100644 --- a/ports/clamav/vcpkg.json +++ b/ports/clamav/vcpkg.json @@ -1,7 +1,6 @@ { "name": "clamav", - "version-semver": "0.103.0", - "port-version": 4, + "version-semver": "0.103.11", "description": "ClamAV is an open-source anti-virus toolkit.", "homepage": "https://www.clamav.net", "supports": "!uwp & !static", diff --git a/ports/clap-cleveraudio/portfile.cmake b/ports/clap-cleveraudio/portfile.cmake new file mode 100644 index 00000000000000..181bd0b220ed60 --- /dev/null +++ b/ports/clap-cleveraudio/portfile.cmake @@ -0,0 +1,20 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO free-audio/clap + REF "${VERSION}" + SHA512 bb927a53d10ea7680f43a4139db6bcd293a051e9cab4293612cba29858ec18760d97de331da8eaa948844fd4ce38e895ee0b731654c42e3adbdc9000d1727884 + HEAD_REF main +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup( + CONFIG_PATH "lib/cmake/clap" +) +vcpkg_fixup_pkgconfig() + +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/clap-cleveraudio/vcpkg.json b/ports/clap-cleveraudio/vcpkg.json new file mode 100644 index 00000000000000..b18e6d3a626111 --- /dev/null +++ b/ports/clap-cleveraudio/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "clap-cleveraudio", + "version-semver": "1.2.2", + "description": "CLAP is an audio plugin ABI which defines a standard for Digital Audio Workstations and audio plugins to work together", + "homepage": "https://cleveraudio.org/", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/clapack/FindLAPACK.cmake b/ports/clapack/FindLAPACK.cmake index 56913183d5078c..8516fc78d42052 100644 --- a/ports/clapack/FindLAPACK.cmake +++ b/ports/clapack/FindLAPACK.cmake @@ -2,246 +2,50 @@ # clapack config for vcpkg # ------------ # -# Find the clapack includes and library. +# Find clapack as a valid LAPACK implementation. # -# Result Variables -# ^^^^^^^^^^^^^^^^ -# -# This script defines the following variables: -# -# ``CLAPACK_FOUND`` -# True if clapack library found -# -# ``CLAPACK_VERSION`` -# Containing the clapack version tag (manually defined) -# -# ``CLAPACK_INCLUDE_DIR`` -# Location of clapack headers -# -# ``CLAPACK_LIBRARY`` -# List of libraries to link with when using clapack -# -# Result Targets -# ^^^^^^^^^^^^^^ -# -# This script defines the following targets: -# -# ``clapack::clapack`` -# Target to use clapack -# -# Compatibility Variables -# ^^^^^^^^^^^^^^^^^^^^^^^ -# -# This script defines the following variables for compatibility reasons: -# -# ``F2C_FOUND`` -# True if f2c (fortran-to-c wrap layer) library found -# -# ``F2C_INCLUDE_DIR`` -# Location of clapack headers -# -# ``F2C_LIBRARY`` -# Library containing the fortran-to-c wrap layer, necessary for clapack and automatically included when used -# -# ``LAPACK_FOUND`` -# True if clapack library found -# -# ``LAPACK_VERSION`` -# Containing the clapack version tag (manually defined) -# -# ``LAPACK_INCLUDE_DIR`` -# Location of clapack headers -# -# ``LAPACK_LIBRARY`` -# List of libraries to link with when using clapack -# -# Compatibility Targets -# ^^^^^^^^^^^^^^ -# -# This script defines the following targets for compatibility reasons: -# -# ``lapack`` -# Target to use lapack +# The module defines the same outputs as FindLAPACK by cmake include(${CMAKE_ROOT}/Modules/SelectLibraryConfigurations.cmake) -include(${CMAKE_ROOT}/Modules/CheckSymbolExists.cmake) include(${CMAKE_ROOT}/Modules/FindPackageHandleStandardArgs.cmake) -include(${CMAKE_ROOT}/Modules/CMakeFindDependencyMacro.cmake) set(CLAPACK_VERSION "3.2.1") +set(LAPACK_VERSION "${CLAPACK_VERSION}") +#set(CMAKE_THREAD_PREFER_PTHREAD TRUE) +find_package(Threads) -set(CMAKE_THREAD_PREFER_PTHREAD TRUE) -find_dependency(Threads) +find_package(clapack CONFIG REQUIRED) # This will be found ! -if(UNIX) - find_library(ADDITIONAL_LAPACK_LIBRARY m) - set(PTHREAD_LINK_NAME "-pthread") +if(NOT TARGET lapack) + message(FATAL_ERROR "Target lapack was not created by find_package(clapack)!") endif() -if(NOT F2C_LIBRARY) - find_library(F2C_LIBRARY_RELEASE NAMES f2c libf2c) - find_library(F2C_LIBRARY_DEBUG NAMES f2cd libf2cd) - select_library_configurations(F2C) +if(NOT TARGET LAPACK::LAPACK) + add_library(LAPACK::LAPACK INTERFACE IMPORTED) + target_link_libraries(LAPACK::LAPACK INTERFACE lapack) - #keep a list of "pure" f2c libs, without dependencies - set(oF2C_LIBRARY_RELEASE ${F2C_LIBRARY_RELEASE}) - set(oF2C_LIBRARY_DEBUG ${F2C_LIBRARY_DEBUG}) - set(oF2C_LIBRARY ${F2C_LIBRARY}) + set(lib_prop IMPORTED_LOCATION) + #if(@VCPKG_LIBRARY_LINKAGE@ STREQUAL "dynamic" AND WIN32) + # set(lib_prop IMPORTED_IMPLIB) + #endif() - list(APPEND F2C_LIBRARY ${ADDITIONAL_LAPACK_LIBRARY}) -endif() + get_property(LAPACK_LIBRARY_RELEASE TARGET lapack PROPERTY ${lib_prop}_RELEASE) + get_property(LAPACK_LIBRARY_DEBUG TARGET lapack PROPERTY ${lib_prop}_DEBUG) -if(NOT LAPACK_LIBRARY) - find_library(LAPACK_LIBRARY_RELEASE NAMES lapack) - find_library(LAPACK_LIBRARY_DEBUG NAMES lapackd) + get_property(LAPACK_INCLUDE_DIR TARGET lapack PROPERTY INTERFACE_INCLUDE_DIRECTORIES) # Doesn't make much sense but ok. + select_library_configurations(LAPACK) - #keep a list of "pure" lapack libs, without dependencies - set(oLAPACK_LIBRARY_RELEASE ${LAPACK_LIBRARY_RELEASE}) - set(oLAPACK_LIBRARY_DEBUG ${LAPACK_LIBRARY_DEBUG}) - select_library_configurations(oLAPACK) - - list(APPEND LAPACK_LIBRARY_RELEASE ${F2C_LIBRARY_RELEASE}) - list(APPEND LAPACK_LIBRARY_DEBUG ${F2C_LIBRARY_DEBUG}) - - find_dependency(OpenBLAS) - get_property(_loc TARGET OpenBLAS::OpenBLAS PROPERTY IMPORTED_IMPLIB_RELEASE) - if(NOT _loc) - get_property(_loc TARGET OpenBLAS::OpenBLAS PROPERTY LOCATION_RELEASE) - endif() - set(LAPACK_BLAS_LIBRARY_RELEASE ${_loc}) - get_property(_loc TARGET OpenBLAS::OpenBLAS PROPERTY IMPORTED_IMPLIB_DEBUG) - if(NOT _loc) - get_property(_loc TARGET OpenBLAS::OpenBLAS PROPERTY LOCATION_DEBUG) - endif() - set(LAPACK_BLAS_LIBRARY_DEBUG ${_loc}) - select_library_configurations(LAPACK_BLAS) - list(APPEND LAPACK_LIBRARY_RELEASE ${LAPACK_BLAS_LIBRARY_RELEASE}) - list(APPEND LAPACK_LIBRARY_DEBUG ${LAPACK_BLAS_LIBRARY_DEBUG}) - - select_library_configurations(LAPACK) - if(UNIX) - list(APPEND LAPACK_LIBRARY ${PTHREAD_LINK_NAME}) - endif() -endif() - -if(NOT F2C_INCLUDE_DIR) - find_path(F2C_INCLUDE_DIR NAMES f2c.h) -endif() - -if(NOT LAPACK_INCLUDE_DIR) - find_path(LAPACK_INCLUDE_DIR NAMES clapack.h) -endif() - -list(APPEND LAPACK_INCLUDE_DIR ${F2C_INCLUDE_DIR}) -set(LAPACK_INCLUDE_DIR "${LAPACK_INCLUDE_DIR}" CACHE PATH "" FORCE) -set(LAPACK_INCLUDE_DIRS "${LAPACK_INCLUDE_DIR}" CACHE PATH "" FORCE) -set(CLAPACK_INCLUDE_DIR "${LAPACK_INCLUDE_DIR}" CACHE PATH "" FORCE) -set(CLAPACK_INCLUDE_DIRS "${LAPACK_INCLUDE_DIR}" CACHE PATH "" FORCE) -set(F2C_INCLUDE_DIRS "${F2C_INCLUDE_DIR}" CACHE PATH "" FORCE) - -set(LAPACK_DLL_DIR ${LAPACK_INCLUDE_DIR}) -list(TRANSFORM LAPACK_DLL_DIR APPEND "/../bin") -message(STATUS "LAPACK_DLL_DIR: ${LAPACK_DLL_DIR}") - -if(WIN32) - find_file(LAPACK_LIBRARY_RELEASE_DLL NAMES lapack.dll PATHS ${LAPACK_DLL_DIR}) - find_file(LAPACK_LIBRARY_DEBUG_FOLDER NAMES lapackd.dll PATHS ${LAPACK_DLL_DIR}) - find_file(F2C_LIBRARY_RELEASE_DLL NAMES f2c.dll libf2c.dll PATHS ${LAPACK_DLL_DIR}) - find_file(F2C_LIBRARY_DEBUG_DLL NAMES f2cd.dll libf2cd.dll PATHS ${LAPACK_DLL_DIR}) -endif() - -set(LAPACK_BLAS_LIBRARY "${LAPACK_BLAS_LIBRARY}" CACHE STRING "" FORCE) -set(F2C_LIBRARIES "${F2C_LIBRARY}" CACHE STRING "" FORCE) -set(LAPACK_VERSION "${CLAPACK_VERSION}" CACHE STRING "" FORCE) -set(LAPACK_LIBRARIES "${LAPACK_LIBRARY}" CACHE STRING "" FORCE) -set(CLAPACK_LIBRARY "${LAPACK_LIBRARY}" CACHE STRING "" FORCE) -set(CLAPACK_LIBRARIES "${LAPACK_LIBRARY}" CACHE STRING "" FORCE) - -set(LAPACK_LIBRARY "${LAPACK_LIBRARY}" CACHE STRING "" FORCE) -set(F2C_LIBRARY "${F2C_LIBRARY}" CACHE STRING "" FORCE) -set(LAPACK_LIBRARY_RELEASE "${LAPACK_LIBRARY_RELEASE}" CACHE STRING "" FORCE) -set(LAPACK_LIBRARY_DEBUG "${LAPACK_LIBRARY_DEBUG}" CACHE STRING "" FORCE) -set(F2C_LIBRARY_RELEASE "${F2C_LIBRARY_RELEASE}" CACHE STRING "" FORCE) -set(F2C_LIBRARY_DEBUG "${F2C_LIBRARY_DEBUG}" CACHE STRING "" FORCE) - -find_package_handle_standard_args(LAPACK DEFAULT_MSG LAPACK_LIBRARY LAPACK_INCLUDE_DIR) -mark_as_advanced(LAPACK_INCLUDE_DIR LAPACK_LIBRARY) -set(CLAPACK_FOUND "${LAPACK_FOUND}" CACHE STRING "" FORCE) - -set(oF2C_LIBRARY_RELEASE "${oF2C_LIBRARY_RELEASE}" CACHE STRING "" FORCE) -set(oF2C_LIBRARY_DEBUG "${oF2C_LIBRARY_DEBUG}" CACHE STRING "" FORCE) -set(oLAPACK_LIBRARY_RELEASE "${oLAPACK_LIBRARY_RELEASE}" CACHE STRING "" FORCE) -set(oLAPACK_LIBRARY_DEBUG "${oLAPACK_LIBRARY_DEBUG}" CACHE STRING "" FORCE) -set(LAPACK_BLAS_LIBRARY_RELEASE "${LAPACK_BLAS_LIBRARY_RELEASE}" CACHE STRING "" FORCE) -set(LAPACK_BLAS_LIBRARY_DEBUG "${LAPACK_BLAS_LIBRARY_DEBUG}" CACHE STRING "" FORCE) - -#TARGETS -if(CLAPACK_FOUND AND NOT TARGET clapack::clapack) - if(EXISTS "${LAPACK_LIBRARY_RELEASE_DLL}") - add_library(clapack::clapack SHARED IMPORTED) - set_target_properties(clapack::clapack PROPERTIES - IMPORTED_LOCATION_RELEASE "${LAPACK_LIBRARY_RELEASE_DLL}" - IMPORTED_IMPLIB_RELEASE "${oLAPACK_LIBRARY_RELEASE}" - INTERFACE_INCLUDE_DIRECTORIES "${LAPACK_INCLUDE_DIR}" - INTERFACE_LINK_LIBRARIES "$<$>:${oF2C_LIBRARY_RELEASE}>;$<$:${oF2C_LIBRARY_DEBUG}>;$<$>:${LAPACK_BLAS_LIBRARY_RELEASE}>;$<$:${LAPACK_BLAS_LIBRARY_DEBUG}>;$;$" - IMPORTED_CONFIGURATIONS Release - IMPORTED_LINK_INTERFACE_LANGUAGES "C") - if(EXISTS "${LAPACK_LIBRARY_DEBUG_DLL}") - set_property(TARGET clapack::clapack APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug) - set_target_properties(clapack::clapack PROPERTIES - IMPORTED_LOCATION_DEBUG "${LAPACK_LIBRARY_DEBUG_DLL}" - IMPORTED_IMPLIB_DEBUG "${oLAPACK_LIBRARY_DEBUG}") - endif() - else() - add_library(clapack::clapack UNKNOWN IMPORTED) - set_target_properties(clapack::clapack PROPERTIES - IMPORTED_LOCATION_RELEASE "${oLAPACK_LIBRARY_RELEASE}" - INTERFACE_INCLUDE_DIRECTORIES "${LAPACK_INCLUDE_DIR}" - INTERFACE_LINK_LIBRARIES "$<$>:${oF2C_LIBRARY_RELEASE}>;$<$:${oF2C_LIBRARY_DEBUG}>;$<$>:${LAPACK_BLAS_LIBRARY_RELEASE}>;$<$:${LAPACK_BLAS_LIBRARY_DEBUG}>;$;$" - IMPORTED_CONFIGURATIONS Release - IMPORTED_LINK_INTERFACE_LANGUAGES "C") - if(EXISTS "${LAPACK_LIBRARY_DEBUG}") - set_property(TARGET clapack::clapack APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug) - set_target_properties(clapack::clapack PROPERTIES - IMPORTED_LOCATION_DEBUG "${oLAPACK_LIBRARY_DEBUG}") - endif() - endif() -endif() - -# Ensure consistency with both CMake's vanilla as well as lapack-reference's FindLAPACK.cmake module and register the LAPACK::LAPACK target -if(CLAPACK_FOUND AND NOT TARGET LAPACK::LAPACK) - if(EXISTS "${LAPACK_LIBRARY_RELEASE_DLL}") - add_library(LAPACK::LAPACK SHARED IMPORTED) - set_target_properties(LAPACK::LAPACK PROPERTIES - IMPORTED_LOCATION_RELEASE "${LAPACK_LIBRARY_RELEASE_DLL}" - IMPORTED_IMPLIB_RELEASE "${oLAPACK_LIBRARY_RELEASE}" - INTERFACE_INCLUDE_DIRECTORIES "${LAPACK_INCLUDE_DIR}" - INTERFACE_LINK_LIBRARIES "$<$>:${oF2C_LIBRARY_RELEASE}>;$<$:${oF2C_LIBRARY_DEBUG}>;$<$>:${LAPACK_BLAS_LIBRARY_RELEASE}>;$<$:${LAPACK_BLAS_LIBRARY_DEBUG}>;$;$" - IMPORTED_CONFIGURATIONS Release - IMPORTED_LINK_INTERFACE_LANGUAGES "C") - if(EXISTS "${LAPACK_LIBRARY_DEBUG_DLL}") - set_property(TARGET LAPACK::LAPACK APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug) - set_target_properties(LAPACK::LAPACK PROPERTIES - IMPORTED_LOCATION_DEBUG "${LAPACK_LIBRARY_DEBUG_DLL}" - IMPORTED_IMPLIB_DEBUG "${oLAPACK_LIBRARY_DEBUG}") - endif() - else() - add_library(LAPACK::LAPACK UNKNOWN IMPORTED) - set_target_properties(LAPACK::LAPACK PROPERTIES - IMPORTED_LOCATION_RELEASE "${oLAPACK_LIBRARY_RELEASE}" - INTERFACE_INCLUDE_DIRECTORIES "${LAPACK_INCLUDE_DIR}" - IMPORTED_CONFIGURATIONS Release - INTERFACE_LINK_LIBRARIES "$<$>:${oF2C_LIBRARY_RELEASE}>;$<$:${oF2C_LIBRARY_DEBUG}>;$<$>:${LAPACK_BLAS_LIBRARY_RELEASE}>;$<$:${LAPACK_BLAS_LIBRARY_DEBUG}>;$;$" - IMPORTED_LINK_INTERFACE_LANGUAGES "C") - if(EXISTS "${LAPACK_LIBRARY_DEBUG}") - set_property(TARGET LAPACK::LAPACK APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug) - set_target_properties(LAPACK::LAPACK PROPERTIES - IMPORTED_LOCATION_DEBUG "${oLAPACK_LIBRARY_DEBUG}") - endif() - endif() -endif() + get_property(LAPACK_LINKER_FLAGS_RELEASE TARGET lapack PROPERTY IMPORTED_LINK_INTERFACE_LIBRARIES_RELEASE) + get_property(LAPACK_LINKER_FLAGS_DEBUG TARGET lapack PROPERTY IMPORTED_LINK_INTERFACE_LIBRARIES_DEBUG) + list(TRANSFORM LAPACK_LINKER_FLAGS_DEBUG PREPEND "$<$:") + list(TRANSFORM LAPACK_LINKER_FLAGS_DEBUG APPEND ">") + list(TRANSFORM LAPACK_LINKER_FLAGS_RELEASE PREPEND "$<$>:") + list(TRANSFORM LAPACK_LINKER_FLAGS_RELEASE APPEND ">") -# Preserve backwards compatibility and also register the 'lapack' target -if(CLAPACK_FOUND AND NOT TARGET lapack) - add_library(lapack ALIAS LAPACK::LAPACK) + set(LAPACK_LIBRARIES "${LAPACK_LIBRARIES};${LAPACK_LINKER_FLAGS_DEBUG};${LAPACK_LINKER_FLAGS_RELEASE}") + set(LAPACK95_LIBRARIES "${LAPACK_LIBRARIES}") + set(LAPACK95_FOUND "TRUE") + set(LAPACK_LINKER_FLAGS "${LAPACK_LIBRARIES}") endif() +find_package_handle_standard_args(LAPACK DEFAULT_MSG LAPACK_LIBRARY LAPACK_INCLUDE_DIR ) +mark_as_advanced(LAPACK_INCLUDE_DIR LAPACK_LIBRARY) \ No newline at end of file diff --git a/ports/clapack/portfile.cmake b/ports/clapack/portfile.cmake index e956275bf5fdb6..ab670c62c3eb0f 100644 --- a/ports/clapack/portfile.cmake +++ b/ports/clapack/portfile.cmake @@ -47,7 +47,6 @@ endif() vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DCMAKE_DEBUG_POSTFIX=d ${ARITH_PATH} ) @@ -60,7 +59,7 @@ vcpkg_cmake_config_fixup(CONFIG_PATH share/clapack) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # Install clapack wrappers. -file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/lapack") -file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/FindLAPACK.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/lapack") -# Handle copyright +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/wrapper") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/FindLAPACK.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/clapack/vcpkg.json b/ports/clapack/vcpkg.json index ec85ad4f1a8f16..42091fd81abc06 100644 --- a/ports/clapack/vcpkg.json +++ b/ports/clapack/vcpkg.json @@ -1,9 +1,10 @@ { "name": "clapack", "version": "3.2.1", - "port-version": 22, + "port-version": 23, "description": "CLAPACK (f2c'ed version of LAPACK)", - "homepage": "https://www.netlib.org/clapack", + "homepage": "https://netlib.org/lapack/", + "license": null, "dependencies": [ "blas", { diff --git a/ports/clblast/fix_install_path.patch b/ports/clblast/fix_install_path.patch deleted file mode 100644 index 12744c548bbd15..00000000000000 --- a/ports/clblast/fix_install_path.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 2d28050..e2a060d 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -347,7 +347,10 @@ endif() - # Installs the library - include(GNUInstallDirs) - --install(TARGETS clblast EXPORT CLBlast DESTINATION ${CMAKE_INSTALL_LIBDIR}) -+install(TARGETS clblast EXPORT CLBlast -+ ARCHIVE DESTINATION lib -+ LIBRARY DESTINATION lib -+ RUNTIME DESTINATION bin) - install(FILES include/clblast_half.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) - if(OPENCL) - install(FILES include/clblast.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) diff --git a/ports/clblast/portfile.cmake b/ports/clblast/portfile.cmake index 3b9afd9077da42..82f7b80778d0e5 100644 --- a/ports/clblast/portfile.cmake +++ b/ports/clblast/portfile.cmake @@ -2,10 +2,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO CNugteren/CLBlast REF "${VERSION}" - SHA512 3114b2499f13a8b12dc5dfaf3633d4a25c953da63bea3c2f09a99699ee49239c28a1db0033619ef74234af56068f94413aae8c721d1af6114b862670a32cdb8d + SHA512 cc93afd4e4860789c4fed8a82bb0019f039285060e74aa65a1916bf061aaa67cc6dc675000b28500046062f40570472abd9c34c210d130e10b8e5c591ceb8ad7 HEAD_REF master - PATCHES - fix_install_path.patch ) vcpkg_cmake_configure( diff --git a/ports/clblast/vcpkg.json b/ports/clblast/vcpkg.json index d58fb5f7fcce06..6b11ec0f9e3eca 100644 --- a/ports/clblast/vcpkg.json +++ b/ports/clblast/vcpkg.json @@ -1,6 +1,6 @@ { "name": "clblast", - "version": "1.6.1", + "version": "1.6.3", "description": "A modern, lightweight, performant and tunable OpenCL BLAS library written in C++11.", "homepage": "https://github.com/CNugteren/CLBlast", "license": "Apache-2.0", diff --git a/ports/cld3/fix-build.patch b/ports/cld3/fix-build.patch new file mode 100644 index 00000000000000..5711d518bb4ac4 --- /dev/null +++ b/ports/cld3/fix-build.patch @@ -0,0 +1,83 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2fa3908..37e9944 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,11 +1,11 @@ + # This cmake scripts only builds a static cld3 lib and the unittests. + +-project(cld3) + + # Old versions of cmake dont search/find protobuf lite + cmake_minimum_required(VERSION 3.9) ++project(cld3) + +-find_package(Protobuf REQUIRED) ++find_package(Protobuf CONFIG REQUIRED) + message(STATUS "Protobuf_FOUND= ${Protobuf_FOUND}") + message(STATUS "Protobuf_VERSION= ${Protobuf_VERSION}") + message(WARNING "Protobuf 2.5 and CLD3 seems happy together. This script does NOT check if your verison of protobuf is compatible.") +@@ -20,9 +20,6 @@ include(${CMAKE_CURRENT_SOURCE_DIR}/misc/myprotobuf.cmake) + my_protobuf_generate_cpp(cld_3/protos PROTO_SRCS PROTO_HDRS src/feature_extractor.proto src/sentence.proto src/task_spec.proto) + message(STATUS "PROTO_HDRS= ${PROTO_HDRS}") + +-add_definitions(-fPIC) # Position Independant Code +-add_definitions(-D_GLIBCXX_USE_CXX11_ABI=0) +-add_definitions(-std=c++11) # Needed for std::to_string(), ... + + include_directories(${CMAKE_CURRENT_BINARY_DIR} ${Protobuf_INCLUDE_DIRS}) # needed to include generated pb headers + +@@ -58,6 +55,10 @@ add_library(${PROJECT_NAME} + src/script_span/fixunicodevalue.cc + ) + ++target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_11) ++target_link_libraries(${PROJECT_NAME} PUBLIC protobuf::libprotobuf-lite) ++ ++if(BUILD_TESTS) + # unit tests exec: + add_executable(language_identifier_main src/language_identifier_main.cc) + target_link_libraries(language_identifier_main cld3 ${Protobuf_LITE_LIBRARIES}) +@@ -67,3 +68,4 @@ target_link_libraries(getonescriptspan_test cld3 ${Protobuf_LITE_LIBRARIES}) + + add_executable(language_identifier_features_test src/language_identifier_features_test.cc) + target_link_libraries(language_identifier_features_test cld3 ${Protobuf_LITE_LIBRARIES}) ++endif() +diff --git a/src/base.h b/src/base.h +index 20189e2..3c610e3 100644 +--- a/src/base.h ++++ b/src/base.h +@@ -71,7 +71,7 @@ typedef unsigned short uint16; // NOLINT + typedef signed int char32; + #endif // SWIG + +-#ifdef COMPILER_MSVC ++#ifdef _MSC_VER + typedef __int64 int64; + #else + typedef long long int64; // NOLINT +diff --git a/src/script_span/utf8statetable.cc b/src/script_span/utf8statetable.cc +index 8fcfb1e..87da972 100644 +--- a/src/script_span/utf8statetable.cc ++++ b/src/script_span/utf8statetable.cc +@@ -17,7 +17,7 @@ + // 32- or 16-bit Unicode values. + // + +-#ifdef COMPILER_MSVC ++#ifdef _MSC_VER + // MSVC warns: warning C4309: 'initializing' : truncation of constant value + // But the value is in fact not truncated. 0xFF still comes out 0xFF at + // runtime. +diff --git a/src/sentence_features.h b/src/sentence_features.h +index cc0be88..e2e27d2 100644 +--- a/src/sentence_features.h ++++ b/src/sentence_features.h +@@ -34,7 +34,7 @@ using WholeSentenceExtractor = FeatureExtractor; + // for clang's -Wundefined-var-template. However, MSVC has a bug which treats + // this declaration as a definition, leading to multiple definition errors, so + // omit this on MSVC. +-#if !defined(COMPILER_MSVC) ++#if !defined(_MSC_VER) + template <> + WholeSentenceFeature::Registry + *RegisterableClass::registry_; diff --git a/ports/cld3/portfile.cmake b/ports/cld3/portfile.cmake new file mode 100644 index 00000000000000..4f204c6ce0f5ab --- /dev/null +++ b/ports/cld3/portfile.cmake @@ -0,0 +1,34 @@ +if (VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO google/cld3 + REF b48dc46512566f5a2d41118c8c1116c4f96dc661 + SHA512 c3650ffbf5855aaf04d03930f01c6efd76e1f2b2d47365348721f16531a14653ae5b3aff8fefa8e5fa1c769fdf1a9b441a88bc687f97f8c579b84f17c6984c9e + HEAD_REF master + PATCHES + fix-build.patch + unofficial-export.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() +file(COPY "${CMAKE_CURRENT_LIST_DIR}/unofficial-cld3Config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/unofficial-cld3") +vcpkg_cmake_config_fixup(CONFIG_PATH share/unofficial-cld3 PACKAGE_NAME unofficial-cld3) + +file(GLOB PUBLIC_HEADER_FILES LIST_DIRECTORIES false "${SOURCE_PATH}/src/*.h") +file(INSTALL ${PUBLIC_HEADER_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/include/cld3") + +file(GLOB HEADERS_SCRIPT_SPAN_FILES LIST_DIRECTORIES false "${SOURCE_PATH}/src/script_span/*.h") +file(INSTALL ${HEADERS_SCRIPT_SPAN_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/include/cld3/script_span") + +file(GLOB HEADERS_PROTO_FILES LIST_DIRECTORIES false "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/cld_3/protos/*.h") +file(INSTALL ${HEADERS_PROTO_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/include/cld_3/protos") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/cld3/unofficial-cld3Config.cmake b/ports/cld3/unofficial-cld3Config.cmake new file mode 100644 index 00000000000000..4a87abeef73d74 --- /dev/null +++ b/ports/cld3/unofficial-cld3Config.cmake @@ -0,0 +1,4 @@ +include(CMakeFindDependencyMacro) +find_dependency(Protobuf) + +include("${CMAKE_CURRENT_LIST_DIR}/unofficial-cld3-targets.cmake") diff --git a/ports/cld3/unofficial-export.patch b/ports/cld3/unofficial-export.patch new file mode 100644 index 00000000000000..99b900d089e09a --- /dev/null +++ b/ports/cld3/unofficial-export.patch @@ -0,0 +1,24 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 37e9944..fb27632 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -57,6 +57,19 @@ add_library(${PROJECT_NAME} + + target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_11) + target_link_libraries(${PROJECT_NAME} PUBLIC protobuf::libprotobuf-lite) ++target_include_directories(${PROJECT_NAME} PUBLIC $) ++ ++install(TARGETS ${PROJECT_NAME} ++ EXPORT unofficial-cld3-targets ++ RUNTIME DESTINATION bin ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib ++) ++ ++install(EXPORT unofficial-cld3-targets ++ NAMESPACE unofficial::cld3:: ++ DESTINATION share/unofficial-cld3 ++) + + if(BUILD_TESTS) + # unit tests exec: diff --git a/ports/cld3/vcpkg.json b/ports/cld3/vcpkg.json new file mode 100644 index 00000000000000..7cd1f19da08d30 --- /dev/null +++ b/ports/cld3/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "cld3", + "version": "3.0.14", + "port-version": 2, + "description": "Compact Language Detector v3", + "homepage": "https://github.com/google/cld3", + "license": "Apache-2.0", + "dependencies": [ + "protobuf", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/clfft/portfile.cmake b/ports/clfft/portfile.cmake index c45c30a9c940c9..64cda211d236bc 100644 --- a/ports/clfft/portfile.cmake +++ b/ports/clfft/portfile.cmake @@ -12,6 +12,7 @@ vcpkg_from_github( vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}/src" OPTIONS + -DCMAKE_CXX_STANDARD=11 # 17 removes std::unary_function -DBUILD_LOADLIBRARIES=OFF -DBUILD_EXAMPLES=OFF -DSUFFIX_LIB= diff --git a/ports/clfft/vcpkg.json b/ports/clfft/vcpkg.json index 4eef7f93266f59..dbb41001b361c8 100644 --- a/ports/clfft/vcpkg.json +++ b/ports/clfft/vcpkg.json @@ -1,7 +1,7 @@ { "name": "clfft", "version": "2.12.2", - "port-version": 6, + "port-version": 7, "description": "clFFT is an OpenCL 1.2 accelerated Fast Fourier Transform library.", "homepage": "https://github.com/clMathLibraries/clFFT", "license": "Apache-2.0", diff --git a/ports/cli/portfile.cmake b/ports/cli/portfile.cmake index 5a5b3121894f75..a1c1839eb71097 100644 --- a/ports/cli/portfile.cmake +++ b/ports/cli/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO daniele77/cli - REF v2.1.0 - SHA512 dbc08c4f215a215ef77c9f61b01331e13709272b290c0e9859f72c4ed16e7dc108e368014c4cb82c0bbb1d2c6e07f416e93595ee6ff08af00225aa0a3630110b + REF "v${VERSION}" + SHA512 c6d7421ca9c2c483f2c8adc4b44ab65da9eb78132784c53ff77ca63734c39619e590ec61814b100dfca6520af803cd0616ce8a54d4b4aa2312bf324f7d6a0ffc HEAD_REF master ) diff --git a/ports/cli/vcpkg.json b/ports/cli/vcpkg.json index daa01c258b2035..1ccea5cd890df1 100644 --- a/ports/cli/vcpkg.json +++ b/ports/cli/vcpkg.json @@ -1,6 +1,6 @@ { "name": "cli", - "version": "2.1.0", + "version": "2.2.0", "description": "A library for interactive command line interfaces in modern C++", "homepage": "https://github.com/daniele77/cli", "license": "BSL-1.0", diff --git a/ports/cli11/portfile.cmake b/ports/cli11/portfile.cmake index ee1cac0776cfa7..f2d92739157b31 100644 --- a/ports/cli11/portfile.cmake +++ b/ports/cli11/portfile.cmake @@ -1,9 +1,11 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO CLIUtils/CLI11 - REF v2.3.2 - SHA512 f48b289d52034c47b90db58c035a123b464bed488cf31bcdbe10a692214a5c05e62b99d6fb7c4b065f42df862ecf3813f11dd533b3697939d761e99d2b89c2ec + REF "v${VERSION}" + SHA512 fdb61c430f5b99a9495fda7f94bfc8d0fb5360c99beeccbcb3b8918713579aac97fa0dcbce296065d9043f141a538c505919c9810fd1d192661e8b48b6a2637a HEAD_REF main + PATCHES + revert-1012-pkgconfig.diff ) vcpkg_cmake_configure( @@ -13,6 +15,7 @@ vcpkg_cmake_configure( -DCLI11_BUILD_DOCS=OFF -DCLI11_BUILD_TESTS=OFF -DCLI11_PRECOMPILED=ON + -DCMAKE_CXX_STANDARD=17 ) vcpkg_cmake_install() @@ -21,5 +24,6 @@ vcpkg_cmake_config_fixup(CONFIG_PATH share/cmake/CLI11) vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") -# Handle copyright -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/CLI/CLI.hpp" "#pragma once" "#pragma once\n#ifndef CLI11_COMPILE\n#define CLI11_COMPILE\n#endif") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/cli11/revert-1012-pkgconfig.diff b/ports/cli11/revert-1012-pkgconfig.diff new file mode 100644 index 00000000000000..d48e61669b9e02 --- /dev/null +++ b/ports/cli11/revert-1012-pkgconfig.diff @@ -0,0 +1,10 @@ +diff --git a/cmake/CLI11GeneratePkgConfig.cmake b/cmake/CLI11GeneratePkgConfig.cmake +index 7ed87f077..a9c5eb885 100644 +--- a/cmake/CLI11GeneratePkgConfig.cmake ++++ b/cmake/CLI11GeneratePkgConfig.cmake +@@ -4,4 +4,4 @@ else() + configure_file("cmake/CLI11.pc.in" "CLI11.pc" @ONLY) + endif() + +-install(FILES "${PROJECT_BINARY_DIR}/CLI11.pc" DESTINATION "${CMAKE_INSTALL_DATADIR}/pkgconfig") ++install(FILES "${PROJECT_BINARY_DIR}/CLI11.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") diff --git a/ports/cli11/vcpkg.json b/ports/cli11/vcpkg.json index 0851587abbfd7a..4b8a4da48dc0b7 100644 --- a/ports/cli11/vcpkg.json +++ b/ports/cli11/vcpkg.json @@ -1,9 +1,11 @@ { "name": "cli11", - "version": "2.3.2", + "version": "2.4.2", + "port-version": 1, "description": "CLI11 is a command line parser for C++11 and beyond that provides a rich feature set with a simple and intuitive interface.", "homepage": "https://github.com/CLIUtils/CLI11", "license": "BSD-3-Clause", + "supports": "!uwp", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/clickhouse-cpp/portfile.cmake b/ports/clickhouse-cpp/portfile.cmake index f1462829fc886a..175d04c508879b 100644 --- a/ports/clickhouse-cpp/portfile.cmake +++ b/ports/clickhouse-cpp/portfile.cmake @@ -6,7 +6,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ClickHouse/clickhouse-cpp REF "v${VERSION}" - SHA512 2719c034a2dc2de7e992aa17859ea437551bfe89395e6a708a4549ed274f366aee0c0f0bcd90a690c15f5361a8f8198bb4f1d7d986da98c1d632489bcfb8bdd0 + SHA512 6e6632084906699d3702bbe4c59d8db0c81934b60d2bb6bb427b25004fa36f4e2955a0d4a6cd45a48721f992a3d162d6569fb4c0a3d6787a98356e5d5319d9d4 HEAD_REF master PATCHES fix-deps-and-build-type.patch @@ -25,6 +25,7 @@ vcpkg_cmake_configure( -DWITH_SYSTEM_ABSEIL=ON -DWITH_SYSTEM_LZ4=ON -DWITH_SYSTEM_CITYHASH=ON + -DDEBUG_DEPENDENCIES=OFF ) vcpkg_cmake_install() diff --git a/ports/clickhouse-cpp/vcpkg.json b/ports/clickhouse-cpp/vcpkg.json index 9d38dc50ec648e..e83ea1a77ecdc2 100644 --- a/ports/clickhouse-cpp/vcpkg.json +++ b/ports/clickhouse-cpp/vcpkg.json @@ -1,6 +1,6 @@ { "name": "clickhouse-cpp", - "version": "2.4.0", + "version": "2.5.1", "description": "C++ client for Yandex ClickHouse", "homepage": "https://github.com/ClickHouse/clickhouse-cpp", "license": "Apache-2.0", diff --git a/ports/clipper2/portfile.cmake b/ports/clipper2/portfile.cmake index d72dc4ebd9c506..66c9c308d0a968 100644 --- a/ports/clipper2/portfile.cmake +++ b/ports/clipper2/portfile.cmake @@ -6,18 +6,20 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO AngusJohnson/Clipper2 REF "Clipper2_${VERSION}" - SHA512 6230861909f345abf06be1b9171af5e7a4b5fe5e749b8876ec0dda2966db7e06395b403f191a1322d85b8c6c624c5400a086b64779daa744ccdd531ff054380d + SHA512 91036e81244f3615095d7cd8522f9c4a32ea66f802e3d190393eb8939e1a706b69c69c3a5b7c6522235c075dd6ecd45f21bffb47448ba72191ddcf05e9e93128 HEAD_REF main ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}/CPP" + DISABLE_PARALLEL_CONFIGURE OPTIONS -DCLIPPER2_EXAMPLES=OFF -DCLIPPER2_TESTS=OFF -DCLIPPER2_UTILS=ON ) vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/clipper2/usage b/ports/clipper2/usage index 8670c02ccf273e..42e883d7ed1a1c 100644 --- a/ports/clipper2/usage +++ b/ports/clipper2/usage @@ -10,3 +10,12 @@ The package clipper2 can be imported via CMake FindPkgConfig module: pkg_check_modules(Clipper2Z REQUIRED IMPORTED_TARGET Clipper2Z) target_link_libraries(main PkgConfig::Clipper2Z) +clipper2 provides CMake targets: + + # Clipper2 + find_package(Clipper2 CONFIG REQUIRED) + target_link_libraries(main PRIVATE Clipper2::Clipper2) + + # Clipper2Z + find_package(Clipper2 CONFIG REQUIRED) + target_link_libraries(main PRIVATE Clipper2::Clipper2Z) diff --git a/ports/clipper2/vcpkg.json b/ports/clipper2/vcpkg.json index eea8a73f452dd1..b3ed5278065ce2 100644 --- a/ports/clipper2/vcpkg.json +++ b/ports/clipper2/vcpkg.json @@ -1,7 +1,6 @@ { "name": "clipper2", - "version": "1.2.2", - "port-version": 1, + "version": "1.4.0", "description": "Polygon Clipping and Offsetting", "homepage": "http://www.angusj.com/clipper2", "license": "BSL-1.0", @@ -9,6 +8,10 @@ { "name": "vcpkg-cmake", "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } ] } diff --git a/ports/clockutils/add-missing-thread-header.patch b/ports/clockutils/add-missing-thread-header.patch new file mode 100644 index 00000000000000..995a097ea83f61 --- /dev/null +++ b/ports/clockutils/add-missing-thread-header.patch @@ -0,0 +1,24 @@ +diff --git a/include/clockUtils/sockets/TcpSocket.h b/include/clockUtils/sockets/TcpSocket.h +index 3bb97a9..cdd7810 100644 +--- a/include/clockUtils/sockets/TcpSocket.h ++++ b/include/clockUtils/sockets/TcpSocket.h +@@ -33,6 +33,7 @@ + #include + #include + #include ++#include + + #include "clockUtils/errors.h" + +diff --git a/include/clockUtils/sockets/UdpSocket.h b/include/clockUtils/sockets/UdpSocket.h +index c5da451..ea0a518 100644 +--- a/include/clockUtils/sockets/UdpSocket.h ++++ b/include/clockUtils/sockets/UdpSocket.h +@@ -33,6 +33,7 @@ + #include + #include + #include ++#include + + #include "clockUtils/errors.h" + diff --git a/ports/clockutils/portfile.cmake b/ports/clockutils/portfile.cmake index d3c42fef1cc77b..5ca33127f5a6c7 100644 --- a/ports/clockutils/portfile.cmake +++ b/ports/clockutils/portfile.cmake @@ -6,6 +6,7 @@ vcpkg_from_github( HEAD_REF dev-1.2 PATCHES fix-warningC4643.patch + add-missing-thread-header.patch ) set(SHARED_FLAG OFF) diff --git a/ports/clockutils/vcpkg.json b/ports/clockutils/vcpkg.json index 1939b6aa89f457..d40cc4f116fdd9 100644 --- a/ports/clockutils/vcpkg.json +++ b/ports/clockutils/vcpkg.json @@ -1,7 +1,7 @@ { "name": "clockutils", "version": "1.1.1", - "port-version": 1, + "port-version": 2, "description": "A lightweight c++ library for commonly needed tasks. Optimized for simplicity and speed.", "homepage": "https://github.com/ClockworkOrigins/clockUtils", "license": "MIT", diff --git a/ports/cmark/add-feature-tools.patch b/ports/cmark/add-feature-tools.patch index 5410ff68b58dac..ad0c23ddffee91 100644 --- a/ports/cmark/add-feature-tools.patch +++ b/ports/cmark/add-feature-tools.patch @@ -1,41 +1,23 @@ diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 3a78d0b..7065c89 100644 +index 523b2cb..fac823e 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt -@@ -52,6 +52,7 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmark_version.h.in - include(GNUInstallDirs) - include (GenerateExportHeader) +@@ -51,6 +51,7 @@ generate_export_header(cmark + # path for OSS Fuzz. + add_custom_target(cmark_static DEPENDS cmark) +if (BUILD_TOOLS) - add_executable(${PROGRAM} ${PROGRAM_SOURCES}) - cmark_add_compile_options(${PROGRAM}) - set_target_properties(${PROGRAM} PROPERTIES -@@ -65,6 +66,7 @@ if (CMARK_STATIC) - elseif (CMARK_SHARED) - target_link_libraries(${PROGRAM} ${LIBRARY}) - endif() + add_executable(cmark_exe + main.c) + cmark_add_compile_options(cmark_exe) +@@ -59,14 +60,22 @@ set_target_properties(cmark_exe PROPERTIES + INSTALL_RPATH "${Base_rpath}") + target_link_libraries(cmark_exe PRIVATE + cmark) +endif() - # -fvisibility=hidden - set(CMAKE_C_VISIBILITY_PRESET hidden) -@@ -114,23 +116,30 @@ if (CMARK_STATIC) - list(APPEND CMARK_INSTALL ${STATICLIBRARY}) - endif() - --if (MSVC) -+if (MSVC AND BUILD_TOOLS) - set_property(TARGET ${PROGRAM} - APPEND PROPERTY LINK_FLAGS /INCREMENTAL:NO) --endif(MSVC) -+endif(MSVC AND BUILD_TOOLS) - - if(NOT MSVC OR CMAKE_HOST_SYSTEM_NAME STREQUAL Windows) - set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS ON) - include(InstallRequiredSystemLibraries) - endif() - --install(TARGETS ${PROGRAM} ${CMARK_INSTALL} -+install(TARGETS ${CMARK_INSTALL} +-install(TARGETS cmark_exe cmark ++install(TARGETS cmark EXPORT cmark-targets RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} @@ -43,12 +25,12 @@ index 3a78d0b..7065c89 100644 ) +if (BUILD_TOOLS) -+ install(TARGETS ${PROGRAM} ++ install(TARGETS cmark_exe + EXPORT cmark-targets + RUNTIME DESTINATION tools/cmark + ) +endif() + - if(CMARK_SHARED OR CMARK_STATIC) - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libcmark.pc.in - ${CMAKE_CURRENT_BINARY_DIR}/libcmark.pc @ONLY) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libcmark.pc + DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) + diff --git a/ports/cmark/portfile.cmake b/ports/cmark/portfile.cmake index 352a6b50a931f7..20de0cd36232c4 100644 --- a/ports/cmark/portfile.cmake +++ b/ports/cmark/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO commonmark/cmark REF "${VERSION}" - SHA512 27383bfef95ae1390c26aff0dd2cbca33704e7d20116bf29da4695d2c9a4146b86daba0da1e91bdb9eab95671702f885e832b3d31d51601731f1dc630df5237b + SHA512 3b4f8b47d8ea270078ab986aa22fc32b227786459bd33c7225aac578d8dd014e3d8788a6add60ea10571fdb4c7dc6a1ece960815a02f04f153b1775c73ccff8f HEAD_REF master PATCHES add-feature-tools.patch @@ -20,7 +20,7 @@ vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} OPTIONS ${FEATURE_OPTIONS} - -DCMARK_TESTS=OFF + -DBUILD_TESTING=OFF -DCMARK_SHARED=${CMARK_SHARED} -DCMARK_STATIC=${CMARK_STATIC} ) @@ -41,4 +41,4 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") endif() -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/cmark/vcpkg.json b/ports/cmark/vcpkg.json index 4d14e47a5fa7ca..922e55fac5fee5 100644 --- a/ports/cmark/vcpkg.json +++ b/ports/cmark/vcpkg.json @@ -1,8 +1,9 @@ { "name": "cmark", - "version-semver": "0.30.3", + "version-semver": "0.31.1", "description": "CommonMark parsing and rendering library", "homepage": "https://github.com/commonmark/cmark", + "license": "BSD-2-Clause", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/cmcstl2/portfile.cmake b/ports/cmcstl2/portfile.cmake deleted file mode 100644 index cba78839cdfa3f..00000000000000 --- a/ports/cmcstl2/portfile.cmake +++ /dev/null @@ -1,25 +0,0 @@ -# header-only library - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO CaseyCarter/cmcstl2 - REF cca84b9fd362ea37334ccbe09a66be4121768ac9 - SHA512 a528dda26964a8c29f2bf7ddb24a861f337246e9ab2bda19f62d4ca107951aa77e37070623db3b5574973404ccf2f201bc2020654b3d53de36d8a22de521e5b9 - HEAD_REF master -) - -vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - -DSTL2_BUILD_EXAMPLES=OFF - -DSTL2_BUILD_TESTING=OFF -) - -vcpkg_cmake_install() - -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) - -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" "${CURRENT_PACKAGES_DIR}/lib") - -# Handle copyright -configure_file("${SOURCE_PATH}/LICENSE.txt" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) diff --git a/ports/cmcstl2/vcpkg.json b/ports/cmcstl2/vcpkg.json deleted file mode 100644 index 4c8b979fa81704..00000000000000 --- a/ports/cmcstl2/vcpkg.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name": "cmcstl2", - "version-date": "2019-07-20", - "port-version": 3, - "description": "An implementation of C++ Extensions for Ranges", - "homepage": "https://github.com/CaseyCarter/cmcstl2", - "dependencies": [ - { - "name": "vcpkg-cmake", - "host": true - }, - { - "name": "vcpkg-cmake-config", - "host": true - } - ] -} diff --git a/ports/cnats/fix-sodium-dep.patch b/ports/cnats/fix-sodium-dep.patch index b43822dfd1b17b..be8c74914d3fb0 100644 --- a/ports/cnats/fix-sodium-dep.patch +++ b/ports/cnats/fix-sodium-dep.patch @@ -1,5 +1,5 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 02adc2e..ccd5492 100644 +index 305198f..0b559b8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -110,6 +110,11 @@ if(NATS_BUILD_STREAMING) @@ -15,25 +15,27 @@ index 02adc2e..ccd5492 100644 SET(NATS_SODIUM_DIR "$ENV{NATS_SODIUM_DIR}") ENDIF() diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index ea536de..6198776 100644 +index 971ddf0..65fee5a 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt -@@ -63,7 +63,7 @@ if(NATS_BUILD_LIB_SHARED) +@@ -65,7 +65,7 @@ if(NATS_BUILD_LIB_SHARED) install(TARGETS nats EXPORT cnats-targets DESTINATION ${NATS_LIBDIR}) install(EXPORT cnats-targets NAMESPACE cnats:: - FILE cnats-config.cmake + FILE cnats-targets.cmake DESTINATION ${NATS_LIBDIR}/cmake/cnats) - endif(NATS_BUILD_LIB_SHARED) - -@@ -75,10 +75,14 @@ if(NATS_BUILD_LIB_STATIC) + install(FILES "${PROJECT_BINARY_DIR}/cnats-config-version.cmake" + DESTINATION ${NATS_LIBDIR}/cmake/cnats) +@@ -79,12 +79,16 @@ if(NATS_BUILD_LIB_STATIC) install(TARGETS nats_static EXPORT cnats-targets ARCHIVE DESTINATION ${NATS_LIBDIR}) install(EXPORT cnats-targets NAMESPACE cnats:: - FILE cnats-config.cmake + FILE cnats-targets.cmake DESTINATION ${NATS_LIBDIR}/cmake/cnats) + install(FILES "${PROJECT_BINARY_DIR}/cnats-config-version.cmake" + DESTINATION ${NATS_LIBDIR}/cmake/cnats) endif(NATS_BUILD_LIB_STATIC) +include(CMakePackageConfigHelpers) diff --git a/ports/cnats/fix_install_path.patch b/ports/cnats/fix_install_path.patch new file mode 100644 index 00000000000000..cb47ec63757a83 --- /dev/null +++ b/ports/cnats/fix_install_path.patch @@ -0,0 +1,28 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 65fee5a..3731b86 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -62,7 +62,10 @@ if(NATS_BUILD_LIB_SHARED) + target_include_directories(nats PUBLIC + $ + $) +- install(TARGETS nats EXPORT cnats-targets DESTINATION ${NATS_LIBDIR}) ++ install(TARGETS nats EXPORT cnats-targets ++ ARCHIVE DESTINATION lib ++ LIBRARY DESTINATION lib ++ RUNTIME DESTINATION bin) + install(EXPORT cnats-targets + NAMESPACE cnats:: + FILE cnats-targets.cmake +@@ -76,7 +79,10 @@ if(NATS_BUILD_LIB_STATIC) + target_include_directories(nats_static PUBLIC + $ + $) +- install(TARGETS nats_static EXPORT cnats-targets ARCHIVE DESTINATION ${NATS_LIBDIR}) ++ install(TARGETS nats_static EXPORT cnats-targets ++ ARCHIVE DESTINATION lib ++ LIBRARY DESTINATION lib ++ RUNTIME DESTINATION bin) + install(EXPORT cnats-targets + NAMESPACE cnats:: + FILE cnats-targets.cmake diff --git a/ports/cnats/fix_test_backtrace_warning.patch b/ports/cnats/fix_test_backtrace_warning.patch new file mode 100644 index 00000000000000..9e997783ff2ee3 --- /dev/null +++ b/ports/cnats/fix_test_backtrace_warning.patch @@ -0,0 +1,40 @@ +Subject: [PATCH] [FIXED] Build: failure with Android NDK + +When building against Android NDK testsuit compilation fails due to +missing execinfo.h/backtrace implementation in platforms with id less +than 33. Because this is only in tests just checking for Android should +be enough to keep things simple. +--- + test/test.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/test/test.c b/test/test.c +index 1919af2..9b20774 100644 +--- a/test/test.c ++++ b/test/test.c +@@ -37025,12 +37025,22 @@ void test_StanSubTimeout(void) + + #ifndef _WIN32 + static void _sigsegv_handler(int sig) { ++ ++// Android doesn't support backtrace before API Level 33. ++// Because this is for tests it's good enough to check ++// for Android only, until there is need for a better solution. ++#ifndef ANDROID + void *array[20]; + int size = backtrace(array, 20); ++#endif // ANDROID + + // print out all the frames to stderr + fprintf(stderr, "Error: signal %d:\n", sig); ++ ++#ifndef ANDROID + backtrace_symbols_fd(array, size, STDERR_FILENO); ++#endif // ANDROID ++ + exit(1); + } + #endif // _WIN32 +-- +2.45.2.windows.1 + diff --git a/ports/cnats/portfile.cmake b/ports/cnats/portfile.cmake index 15d8f8ff561e95..cb0fe68033aed8 100644 --- a/ports/cnats/portfile.cmake +++ b/ports/cnats/portfile.cmake @@ -1,11 +1,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO nats-io/nats.c - REF 66cec7fce9a64f911015f0c516a086c1a74cd22a #v3.6.1 - SHA512 c0d3ad62c9453dca1799e69c3fe9df63c57c29c3c596ba4a9c5053b4886014741b8ce1563adb28d3e64b6b221748884ef71d6b288fae2855ae1ed1fdd2d028fb - HEAD_REF master + REF "v${VERSION}" + SHA512 4d6ddb23733ca4dd7a4a54ea72d83f5bfce5e5634b3ea91a99610886e5e5ad99a119af8dba87665cb1d6cc1af25bfca41e533d9653e862ce281bd38ed588b94b + HEAD_REF main PATCHES fix-sodium-dep.patch + fix_install_path.patch + fix_test_backtrace_warning.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS @@ -74,5 +76,5 @@ vcpkg_copy_pdbs() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/cnats/vcpkg.json b/ports/cnats/vcpkg.json index 71d5358b228508..81e56a7d384234 100644 --- a/ports/cnats/vcpkg.json +++ b/ports/cnats/vcpkg.json @@ -1,6 +1,6 @@ { "name": "cnats", - "version": "3.6.1", + "version": "3.9.2", "description": "A C client for the NATS messaging system", "homepage": "https://github.com/nats-io/nats.c", "license": "Apache-2.0", diff --git a/ports/coin-or-cbc/portfile.cmake b/ports/coin-or-cbc/portfile.cmake index 721828b0b37d1b..4cf58e13121431 100644 --- a/ports/coin-or-cbc/portfile.cmake +++ b/ports/coin-or-cbc/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO coin-or/Cbc - REF 6f83969e50b6f67c60654704c1f71f970c621a3b - SHA512 f56b5806b2acffe7259410254640009f9b7a27713972d771b1083a05ca197a65715b007f42f0b8bf6e87b2a889e2889a7466222e0b06f01a4c5297cbaf455c4d + REF ca088df34881ef0d58124e53b3d70bfa73e92713 + SHA512 9df1242910a42a9b942fd25dbf8a80b6278d75641c93e1218b39695224cf88bdf9d1a2d27e637ebb068b1e8733267a0f16c69b4db9a480e3f6b9cd732afb2d7a PATCHES pkgconf_win.patch disable_glpk.patch @@ -12,10 +12,8 @@ file(COPY "${CURRENT_INSTALLED_DIR}/share/coin-or-buildtools/" DESTINATION "${SO set(ENV{ACLOCAL} "aclocal -I \"${SOURCE_PATH}/BuildTools\"") -vcpkg_configure_make( +vcpkg_make_configure( SOURCE_PATH "${SOURCE_PATH}" - DETERMINE_BUILD_TRIPLET - USE_WRAPPERS OPTIONS --with-coinutils --with-clp @@ -29,7 +27,7 @@ vcpkg_configure_make( --disable-readline ) -vcpkg_install_make() +vcpkg_make_install() vcpkg_copy_pdbs() vcpkg_fixup_pkgconfig() diff --git a/ports/coin-or-cbc/vcpkg.json b/ports/coin-or-cbc/vcpkg.json index 9125149358ce16..650306140c67a5 100644 --- a/ports/coin-or-cbc/vcpkg.json +++ b/ports/coin-or-cbc/vcpkg.json @@ -1,6 +1,7 @@ { "name": "coin-or-cbc", - "version-date": "2023-02-01", + "version-date": "2024-06-04", + "port-version": 1, "description": "Cbc (Coin-or branch and cut) is an open-source mixed integer linear programming solver written in C++.", "homepage": "https://github.com/coin-or/Cbc", "license": "EPL-2.0", @@ -8,6 +9,10 @@ "coin-or-cgl", "coin-or-clp", "coin-or-osi", - "coinutils" + "coinutils", + { + "name": "vcpkg-make", + "host": true + } ] } diff --git a/ports/coin-or-osi/portfile.cmake b/ports/coin-or-osi/portfile.cmake index a575bfa3a6520c..c338eafddbaa6e 100644 --- a/ports/coin-or-osi/portfile.cmake +++ b/ports/coin-or-osi/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO coin-or/Osi - REF 79167ab9a4487b5a1f88ec4fdfd4ed529a1c31ff - SHA512 405206d1a8e1f0adff8223ad4843251532dc954a6400f8566d826f93dd55741423185001f4d5a97b4d02ed39a9fe32ef063978d101c0a3eaa341a7c0dbce9765 + REF 2420bb864d039a03e11c579b0c9087adbdaa26db + SHA512 27d501cb513a0570ad83247b6a8e7fc69cdbcd2cbec6c11aea0b5982627e76efa7ea6403e6d97419f6c984553434f088a748a7d8d54c1bf73cdbdfd5bef1f2b0 PATCHES glpk.patch ) diff --git a/ports/coin-or-osi/vcpkg.json b/ports/coin-or-osi/vcpkg.json index 755364b1398d92..bed12c05ea5719 100644 --- a/ports/coin-or-osi/vcpkg.json +++ b/ports/coin-or-osi/vcpkg.json @@ -1,6 +1,6 @@ { "name": "coin-or-osi", - "version-date": "2023-02-01", + "version-date": "2024-04-16", "description": "Osi (Open Solver Interface) provides an abstract base class to a generic linear programming (LP) solver, along with derived classes for specific solvers. Many applications may be able to use the Osi to insulate themselves from a specific LP solver.", "license": "EPL-2.0", "dependencies": [ diff --git a/ports/coin/disable-cpackd.patch b/ports/coin/disable-cpackd.patch deleted file mode 100644 index 81afeb668d26d2..00000000000000 --- a/ports/coin/disable-cpackd.patch +++ /dev/null @@ -1,10 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index f32f6ffe3..639fc4109 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -815,4 +815,4 @@ endif() - - # ############################################################################ - # New CPACK section, please see the README file inside cpack.d directory. --add_subdirectory(cpack.d) -+#add_subdirectory(cpack.d) diff --git a/ports/coin/portfile.cmake b/ports/coin/portfile.cmake index c14bf027b00b33..bda48dc695d5e7 100644 --- a/ports/coin/portfile.cmake +++ b/ports/coin/portfile.cmake @@ -1,11 +1,26 @@ +if(NOT VCPKG_HOST_IS_WINDOWS) + message(WARNING "${PORT} currently requires the following programs from the system package manager: + libgl libglu +On Debian and Ubuntu derivatives: + sudo apt-get install libgl-dev libglu1-mesa-dev +On CentOS and recent Red Hat derivatives: + yum install mesa-libGL-devel mesa-libGLU-devel +On Fedora derivatives: + sudo dnf install mesa-libGL-devel mesa-libGLU-devel +On Arch Linux and derivatives: + sudo pacman -S gl glu +On Alpine: + apk add gl glu\n") +endif() + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Coin3D/coin - REF Coin-4.0.0 - SHA512 8a0289cab3e02a7417022fe659ec30a2dd705b9bacb254e0269ada9155c76c6aea0285c475cd6e663f5d7f2b49e60244b16baac7188d57e3d7f8ab08d228f21f + REF "v${VERSION}" + SHA512 c526c0545efa9852c647e163bbf69caae2e3a0eb4e99a8fc7a313172b8d1006e304a4d19bacbd8820443b0d4f90775ee31ca711da4ad2d432783ef5c8bc85074 HEAD_REF master PATCHES - disable-cpackd.patch + remove-default-config.patch ) if(VCPKG_LIBRARY_LINKAGE STREQUAL static) @@ -23,6 +38,7 @@ endif() vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS + -DCMAKE_CXX_STANDARD=11 # Boost v1.84.0 libraries require C++11 -DCOIN_BUILD_DOCUMENTATION=OFF -DCOIN_BUILD_MSVC_STATIC_RUNTIME=${COIN_BUILD_MSVC_STATIC_RUNTIME} -DCOIN_BUILD_SHARED_LIBS=${COIN_BUILD_SHARED_LIBS} @@ -31,9 +47,9 @@ vcpkg_cmake_configure( vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/Coin-4.0.0) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/Coin-${VERSION}) -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") if(VCPKG_LIBRARY_LINKAGE STREQUAL static) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") diff --git a/ports/coin/remove-default-config.patch b/ports/coin/remove-default-config.patch new file mode 100644 index 00000000000000..b10f1ec6e21812 --- /dev/null +++ b/ports/coin/remove-default-config.patch @@ -0,0 +1,13 @@ +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -395,8 +395,8 @@ + configure_file("${CMAKE_SOURCE_DIR}/${PROJECT_NAME}.pc.cmake.in" "${CMAKE_BINARY_DIR}/${PROJECT_NAME}.pc" @ONLY) + install(FILES "${CMAKE_BINARY_DIR}/${PROJECT_NAME}.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") + install(PROGRAMS "${CMAKE_SOURCE_DIR}/bin/coin-config" DESTINATION ${CMAKE_INSTALL_BINDIR}) +- configure_file("${CMAKE_SOURCE_DIR}/coin.cfg.cmake.in" "${CMAKE_BINARY_DIR}/${PROJECT_NAME_LOWER}-default.cfg" @ONLY) +- install(FILES "${CMAKE_BINARY_DIR}/${PROJECT_NAME_LOWER}-default.cfg" DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/Coin/conf) ++ #configure_file("${CMAKE_SOURCE_DIR}/coin.cfg.cmake.in" "${CMAKE_BINARY_DIR}/${PROJECT_NAME_LOWER}-default.cfg" @ONLY) ++ #install(FILES "${CMAKE_BINARY_DIR}/${PROJECT_NAME_LOWER}-default.cfg" DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/Coin/conf) + endif() + endif() + diff --git a/ports/coin/vcpkg.json b/ports/coin/vcpkg.json index 8f7d873c4ff6b6..3865ef01bf2391 100644 --- a/ports/coin/vcpkg.json +++ b/ports/coin/vcpkg.json @@ -1,10 +1,10 @@ { "name": "coin", - "version": "4.0.0", - "port-version": 7, + "version": "4.0.3", "description": "A high-level 3D visualization library with Open Inventor 2.1 API", "homepage": "https://github.com/coin3d/coin", - "supports": "!(arm | arm64 | uwp)", + "license": "BSD-3-Clause", + "supports": "!arm & !android & !uwp", "dependencies": [ "boost-assert", "boost-config", diff --git a/ports/coinutils/portfile.cmake b/ports/coinutils/portfile.cmake index fa7bbef6a028a8..78a7aeff951f68 100644 --- a/ports/coinutils/portfile.cmake +++ b/ports/coinutils/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO coin-or/CoinUtils - REF aae9b0b807a920c41d7782d7bf2775afb17a12c6 # I don't trust the release tags. They seem to point to a different fork with an outdates file structure? - SHA512 a515e62846698bcc3df15aabcce89d9052e30dffe2112ab5eb54c0c5def199140bd25435ef17e453c873239ab63fd03dd4cee5e4c4bfae5521f549917e025efe + REF 014be1f1724c074401d9d9c27bcce35baa9dca45 # I don't trust the release tags. They seem to point to a different fork with an outdates file structure? + SHA512 c5b706ca070b9f0997f9cdf532eb97c4d6ef6c6219d5d247c486048daf94a31151711ad96a32a0f0e701024d7759f07abc867591249d6c19b2b1c153257b794a PATCHES coinutils.patch coinutils2.patch ) diff --git a/ports/coinutils/vcpkg.json b/ports/coinutils/vcpkg.json index f55e695441b1c3..f4e7e6bbc2c3b2 100644 --- a/ports/coinutils/vcpkg.json +++ b/ports/coinutils/vcpkg.json @@ -1,7 +1,6 @@ { "name": "coinutils", - "version-date": "2023-02-02", - "port-version": 1, + "version-date": "2024-04-08", "description": "CoinUtils (Coin-or Utilities) is an open-source collection of classes and functions that are generally useful to more than one COIN-OR project", "homepage": "https://www.coin-or.org/", "license": "EPL-2.0", diff --git a/ports/collada-dom/fix-compatibility-with-boost-1.85.patch b/ports/collada-dom/fix-compatibility-with-boost-1.85.patch new file mode 100644 index 00000000000000..2a873321b5231f --- /dev/null +++ b/ports/collada-dom/fix-compatibility-with-boost-1.85.patch @@ -0,0 +1,92 @@ + dom/include/dae.h | 2 +- + dom/src/dae/daeUtils.cpp | 2 +- + dom/src/dae/daeZAEUncompressHandler.cpp | 2 +- + dom/test/1.4/domTest.cpp | 4 ++-- + dom/test/1.4/domTest.h | 2 +- + dom/test/1.5/domTest.cpp | 4 ++-- + 6 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/dom/include/dae.h b/dom/include/dae.h +index e53388b..a14276a 100644 +--- a/dom/include/dae.h ++++ b/dom/include/dae.h +@@ -25,7 +25,7 @@ + #pragma warning(disable: 4180 4245) + #endif + #ifndef NO_BOOST +-#include ++#include + #endif + #ifdef _MSC_VER + #pragma warning(pop) +diff --git a/dom/src/dae/daeUtils.cpp b/dom/src/dae/daeUtils.cpp +index dc94b5b..156d889 100644 +--- a/dom/src/dae/daeUtils.cpp ++++ b/dom/src/dae/daeUtils.cpp +@@ -18,7 +18,7 @@ + #endif + + #ifndef NO_BOOST +-#include // THIS WAS NOT COMMENTED. ++#include // THIS WAS NOT COMMENTED. + #endif + + #include // for tmpnam +diff --git a/dom/src/dae/daeZAEUncompressHandler.cpp b/dom/src/dae/daeZAEUncompressHandler.cpp +index da2a344..2550000 100644 +--- a/dom/src/dae/daeZAEUncompressHandler.cpp ++++ b/dom/src/dae/daeZAEUncompressHandler.cpp +@@ -271,7 +271,7 @@ bool daeZAEUncompressHandler::checkAndExtractInternalArchive( const std::string& + bool error = false; + + boost::filesystem::path archivePath(filePath); +- std::string dir = archivePath.branch_path().string(); ++ std::string dir = archivePath.parent_path().string(); + + const std::string& randomSegment = cdom::getRandomFileName(); + std::string tmpDir = dir + cdom::getFileSeparator() + randomSegment + cdom::getFileSeparator(); +diff --git a/dom/test/1.4/domTest.cpp b/dom/test/1.4/domTest.cpp +index 28aefa5..ad76358 100644 +--- a/dom/test/1.4/domTest.cpp ++++ b/dom/test/1.4/domTest.cpp +@@ -1543,9 +1543,9 @@ int main(int argc, char* argv[]) { + // Shut the DOM up + daeErrorHandler::setErrorHandler(&quietErrorHandler::getInstance()); + +- dataPath() = (fs::path(argv[0]).branch_path()/"domTestData/").normalize(); ++ dataPath() = (fs::path(argv[0]).parent_path()/"domTestData/").normalize(); + if (!fs::exists(dataPath())) +- dataPath() = (fs::path(argv[0]).branch_path()/"../../test/1.4/data/").normalize(); ++ dataPath() = (fs::path(argv[0]).parent_path()/"../../test/1.4/data/").normalize(); + tmpPath() = dataPath() / "tmp"; + tmpDir tmp(tmpPath(), !leaveTmpFiles); + +diff --git a/dom/test/1.4/domTest.h b/dom/test/1.4/domTest.h +index a531e89..7dbf08c 100644 +--- a/dom/test/1.4/domTest.h ++++ b/dom/test/1.4/domTest.h +@@ -26,7 +26,7 @@ + #pragma warning(push) + #pragma warning(disable: 4180 4245) + #endif +-#include ++#include + #ifdef _MSC_VER + #pragma warning(pop) + #endif +diff --git a/dom/test/1.5/domTest.cpp b/dom/test/1.5/domTest.cpp +index 0ba3449..457c863 100644 +--- a/dom/test/1.5/domTest.cpp ++++ b/dom/test/1.5/domTest.cpp +@@ -1609,9 +1609,9 @@ int main(int argc, char* argv[]) { + // Shut the DOM up + daeErrorHandler::setErrorHandler(&quietErrorHandler::getInstance()); + +- dataPath() = (fs::path(argv[0]).branch_path()/"domTestData/").normalize(); ++ dataPath() = (fs::path(argv[0]).parent_path()/"domTestData/").normalize(); + if (!fs::exists(dataPath())) +- dataPath() = (fs::path(argv[0]).branch_path()/"../../test/1.5/data/").normalize(); ++ dataPath() = (fs::path(argv[0]).parent_path()/"../../test/1.5/data/").normalize(); + tmpPath() = dataPath() / "tmp"; + tmpDir tmp(tmpPath(), !leaveTmpFiles); + diff --git a/ports/collada-dom/portfile.cmake b/ports/collada-dom/portfile.cmake index 28e5d66cac4bc3..36127e9ec5f67d 100644 --- a/ports/collada-dom/portfile.cmake +++ b/ports/collada-dom/portfile.cmake @@ -10,10 +10,13 @@ vcpkg_from_github( use-vcpkg-minizip.patch fix-shared-keyword.patch fix-emscripten.patch + fix-compatibility-with-boost-1.85.patch ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DCMAKE_CXX_STANDARD=11 ) vcpkg_cmake_install() diff --git a/ports/collada-dom/vcpkg.json b/ports/collada-dom/vcpkg.json index 181d60192c1996..7e0c3d5e2ee61c 100644 --- a/ports/collada-dom/vcpkg.json +++ b/ports/collada-dom/vcpkg.json @@ -1,7 +1,7 @@ { "name": "collada-dom", "version": "2.5.0", - "port-version": 10, + "port-version": 11, "description": "The COLLADA Document Object Model (DOM) is an application programming interface (API) that provides a C++ object representation of a COLLADA XML instance document.", "homepage": "https://github.com/rdiankov/collada-dom", "license": null, diff --git a/ports/colmap/portfile.cmake b/ports/colmap/portfile.cmake index e54cbdafc75332..97acb883f901ba 100644 --- a/ports/colmap/portfile.cmake +++ b/ports/colmap/portfile.cmake @@ -1,10 +1,10 @@ -set(COLMAP_REF "9c704e89ff0a80e797725e112011f9f69e5aa28f") # Oct 1, 2023 +set(COLMAP_REF "aa087848a8bd09cebf3e3cc8a5732552f30c51ad") # v3.11.1 vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO colmap/colmap - REF "${COLMAP_REF}" - SHA512 6ece735c403304c14887cd9b2b13a7e36bf07155fa959748c09d74854e0da6338766c11e6a371c26f983ccdb29f93b2600d685c907a5a137fe20d798b26805d8 + REF "${VERSION}" + SHA512 1260db4346cc33c6c35efdee0157450fccef67dbc9de876fdc997c7cb90daec716e5ccec97df0a77e3e8686f43ec79f2c0a1523ea12eca2ee158347cb52dea48 HEAD_REF main ) @@ -21,8 +21,15 @@ endif() string(TIMESTAMP COLMAP_GIT_COMMIT_DATE "%Y-%m-%d") +foreach(FEATURE ${FEATURE_OPTIONS}) + message(STATUS "${FEATURE}") +endforeach() + set(CUDA_ENABLED OFF) +set(GUI_ENABLED OFF) set(TESTS_ENABLED OFF) +set(CGAL_ENABLED OFF) +set(OPENMP_ENABLED ON) if("cuda" IN_LIST FEATURES) set(CUDA_ENABLED ON) @@ -34,13 +41,20 @@ if("cuda-redist" IN_LIST FEATURES) set(CUDA_ARCHITECTURES "all-major") endif() +if("gui" IN_LIST FEATURES) + set(GUI_ENABLED ON) +endif() + if("tests" IN_LIST FEATURES) set(TESTS_ENABLED ON) endif() -set(OPENMP_ENABLED ON) +if("cgal" IN_LIST FEATURES) + set(CGAL_ENABLED ON) +endif() + if (VCPKG_TARGET_IS_OSX AND VCPKG_TARGET_ARCHITECTURE MATCHES "arm") - set(OPENMP_ENABLED Off) + set(OPENMP_ENABLED OFF) endif() vcpkg_cmake_configure( @@ -49,10 +63,13 @@ vcpkg_cmake_configure( OPTIONS -DCUDA_ENABLED=${CUDA_ENABLED} -DCMAKE_CUDA_ARCHITECTURES=${CUDA_ARCHITECTURES} + -DGUI_ENABLED=${GUI_ENABLED} -DTESTS_ENABLED=${TESTS_ENABLED} -DGIT_COMMIT_ID=${GIT_COMMIT_ID} -DGIT_COMMIT_DATE=${COLMAP_GIT_COMMIT_DATE} -DOPENMP_ENABLED=${OPENMP_ENABLED} + -DCGAL_ENABLED=${CGAL_ENABLED} + -DFETCH_POSELIB=OFF ) vcpkg_cmake_install() @@ -84,6 +101,6 @@ file(REMOVE_RECURSE vcpkg_copy_pdbs() -file(INSTALL "${SOURCE_PATH}/COPYING.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING.txt") file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/colmap/vcpkg.json b/ports/colmap/vcpkg.json index 8ce753f8bdd57f..68593c5c181fa9 100644 --- a/ports/colmap/vcpkg.json +++ b/ports/colmap/vcpkg.json @@ -1,16 +1,17 @@ { "name": "colmap", - "version-date": "2023-10-01", + "version": "3.11.1", "description": "COLMAP is a general-purpose Structure-from-Motion (SfM) and Multi-View Stereo (MVS) pipeline with a graphical and command-line interface. It offers a wide range of features for reconstruction of ordered and unordered image collections. The software is licensed under the new BSD license.", "homepage": "https://colmap.github.io/", "license": "BSD-3-Clause", - "supports": "(linux | (windows & !static) | osx) & (x86 | x64)", + "supports": "(linux | (windows & !static) | osx) & (x86 | x64 | arm64)", "dependencies": [ - "boost-filesystem", + "boost-algorithm", "boost-graph", + "boost-heap", "boost-program-options", - "boost-system", - "boost-test", + "boost-property-map", + "boost-property-tree", { "name": "ceres", "features": [ @@ -18,14 +19,17 @@ "suitesparse" ] }, - "cgal", "eigen3", "flann", "freeimage", "gflags", - "glew", "glog", - "qt5-base", + { + "name": "jasper", + "default-features": false + }, + "metis", + "poselib", "sqlite3", { "name": "vcpkg-cmake", @@ -36,11 +40,21 @@ "host": true } ], + "default-features": [ + "gui" + ], "features": { + "cgal": { + "description": "Build with CGAL.", + "dependencies": [ + "cgal" + ] + }, "cuda": { - "description": "CUDA support for current compute architecture of this machine.", + "description": "Build with CUDA.", "dependencies": [ - "cuda" + "cuda", + "glew" ] }, "cuda-redist": { @@ -49,6 +63,13 @@ "cuda" ] }, + "gui": { + "description": "Build the GUI.", + "dependencies": [ + "glew", + "qt5-base" + ] + }, "tests": { "description": "Build all tests.", "dependencies": [ diff --git a/ports/comms/portfile.cmake b/ports/comms/portfile.cmake index 4ad341df22c6dd..f1d7c973304de3 100644 --- a/ports/comms/portfile.cmake +++ b/ports/comms/portfile.cmake @@ -2,8 +2,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO commschamp/comms - REF v4.0 - SHA512 ec83bef647dd6c32e6ba98ce51970c48befaa2b0ff9c26f538fb0ce72e46da14cd592a0c652af5f9f10906f7058ff623dcf13ac4b81c96c0aea1fd8a31551bb7 + REF "v${VERSION}" + SHA512 838b4c90a2c9c6374f0755a694057f60b53898dfdd100d16b0e81d308f6a62f3af9e680307b1782290d71c7c0d067fdf5af364e58f30907246b0fcad962e4ce8 HEAD_REF master ) @@ -12,7 +12,7 @@ vcpkg_cmake_configure( OPTIONS -DCC_COMMS_BUILD_UNIT_TESTS=OFF -DBUILD_TESTING=OFF - -DCC_WARN_AS_ERR=OFF + -DCC_COMMS_WARN_AS_ERR=OFF ) vcpkg_cmake_install() vcpkg_cmake_config_fixup(PACKAGE_NAME LibComms CONFIG_PATH lib/LibComms/cmake) @@ -21,5 +21,5 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") # Handle copyright -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" @ONLY) diff --git a/ports/comms/vcpkg.json b/ports/comms/vcpkg.json index 0eea1ad2b1d095..f2cd0b5762442f 100644 --- a/ports/comms/vcpkg.json +++ b/ports/comms/vcpkg.json @@ -1,6 +1,6 @@ { "name": "comms", - "version-semver": "4.0.0", + "version": "5.2.7", "description": "COMMS is the C++(11) headers only, platform independent library, which makes the implementation of a communication protocol to be an easy and relatively quick process.", "homepage": "https://commschamp.github.io/", "documentation": "https://github.com/commschamp/comms", diff --git a/ports/commsdsl/portfile.cmake b/ports/commsdsl/portfile.cmake index be924c841f0f8a..6e6c5e7768e9c4 100644 --- a/ports/commsdsl/portfile.cmake +++ b/ports/commsdsl/portfile.cmake @@ -1,15 +1,14 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO commschamp/commsdsl - REF v4.0 - SHA512 420fd0dd30aa5530692f40e15e3a640d1ef766c642e91edc07ed182e2125043c6ade1d245ef4d549a606c372c8c5f53fea7faa14b230ff485cf24d4f13ecfbee + REF "v${VERSION}" + SHA512 f782f624016d8dd45280a647b056430eed246ee1d1ab6ff9c55870bb7ed7111d4d4d02d14c59aa3364625cdb804e4af1965b8b3834d5f4a2865d062a1ff2b75e HEAD_REF master ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DCOMMSDSL_BUILD_APPS=ON -DCOMMSDSL_INSTALL_APPS=ON -DCOMMSDSL_INSTALL_LIBRARY=ON -DCOMMSDSL_INSTALL_LIBRARY_HEADERS=ON @@ -21,11 +20,18 @@ vcpkg_cmake_configure( vcpkg_cmake_install() vcpkg_copy_tools( - TOOL_NAMES commsdsl2comms commsdsl2test commsdsl2tools_qt + TOOL_NAMES commsdsl2comms AUTO_CLEAN ) vcpkg_cmake_config_fixup(PACKAGE_NAME LibCommsdsl CONFIG_PATH lib/LibCommsdsl/cmake) + +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/LibCommsdsl/LibCommsdslConfig.cmake" +"if (TARGET cc::commsdsl)" +[[include(CMakeFindDependencyMacro) +find_dependency(LibXml2) +if (TARGET cc::commsdsl)]]) + # after fixing the following dirs are empty file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/LibCommsdsl") @@ -35,4 +41,4 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") endif() # Handle copyright -file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/commsdsl/vcpkg.json b/ports/commsdsl/vcpkg.json index e76e62e052a947..a202c50412cb4a 100644 --- a/ports/commsdsl/vcpkg.json +++ b/ports/commsdsl/vcpkg.json @@ -1,6 +1,6 @@ { "name": "commsdsl", - "version-semver": "4.0.0", + "version-semver": "6.3.4", "description": "DSL schemas parser and code generator for CommsChampion Ecosystem", "homepage": "https://commschamp.github.io/", "documentation": "https://github.com/commschamp/commsdsl", diff --git a/ports/concurrencpp/add-include-chrono.patch b/ports/concurrencpp/add-include-chrono.patch new file mode 100644 index 00000000000000..24e61913e71296 --- /dev/null +++ b/ports/concurrencpp/add-include-chrono.patch @@ -0,0 +1,12 @@ +diff --git a/include/concurrencpp/results/impl/shared_result_state.h b/include/concurrencpp/results/impl/shared_result_state.h +index 6c96f4b..1433e74 100644 +--- a/include/concurrencpp/results/impl/shared_result_state.h ++++ b/include/concurrencpp/results/impl/shared_result_state.h +@@ -5,6 +5,7 @@ + #include "concurrencpp/results/impl/result_state.h" + + #include ++#include + #include + + #include diff --git a/ports/concurrencpp/add-include-string.patch b/ports/concurrencpp/add-include-string.patch new file mode 100644 index 00000000000000..b8993092eefd10 --- /dev/null +++ b/ports/concurrencpp/add-include-string.patch @@ -0,0 +1,12 @@ +diff --git a/include/concurrencpp/threads/thread.h b/include/concurrencpp/threads/thread.h +index 82ca58b..ecdaa27 100644 +--- a/include/concurrencpp/threads/thread.h ++++ b/include/concurrencpp/threads/thread.h +@@ -4,6 +4,7 @@ + #include "concurrencpp/platform_defs.h" + + #include ++#include + #include + #include + diff --git a/ports/concurrencpp/portfile.cmake b/ports/concurrencpp/portfile.cmake index fee98b37a4a640..c316d2fc61b1fb 100644 --- a/ports/concurrencpp/portfile.cmake +++ b/ports/concurrencpp/portfile.cmake @@ -6,6 +6,8 @@ vcpkg_from_github( HEAD_REF master PATCHES fix-include-path.patch + add-include-string.patch + add-include-chrono.patch # https://github.com/David-Haim/concurrencpp/pull/170 ) vcpkg_cmake_configure( diff --git a/ports/concurrencpp/vcpkg.json b/ports/concurrencpp/vcpkg.json index 2a4d9795852f89..9823f17e0ac00a 100644 --- a/ports/concurrencpp/vcpkg.json +++ b/ports/concurrencpp/vcpkg.json @@ -1,6 +1,7 @@ { "name": "concurrencpp", "version": "0.1.7", + "port-version": 2, "description": "concurrencpp is a tasking library for C++ allowing developers to write highly concurrent applications easily and safely by using tasks, executors and coroutines.", "homepage": "https://github.com/David-Haim/concurrencpp/", "license": "MIT", diff --git a/ports/configcat/portfile.cmake b/ports/configcat/portfile.cmake index 7b063435ad8536..741ef9ac976c17 100644 --- a/ports/configcat/portfile.cmake +++ b/ports/configcat/portfile.cmake @@ -6,14 +6,21 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO configcat/cpp-sdk REF "v${VERSION}" - SHA512 cb86f575e1917edf10ec423d4ae85b47c979370bdb4381e1eecdb32bc64637f5088b3a3d91fa1b0aa2604fb0fe3011bc0964b3a45e5aa32aba1d53ba0da99fd5 + SHA512 498fa7ec01f287cdf74cc9aba552259595e300cb038f3d2d6b46d298b009eab7a06d949fbd1640f88da7d40ec6335fea538b3aa43bad6dbf76eced203baac782 HEAD_REF master ) +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + INVERTED_FEATURES + network CONFIGCAT_USE_EXTERNAL_NETWORK_ADAPTER + sha CONFIGCAT_USE_EXTERNAL_SHA +) + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DCONFIGCAT_BUILD_TESTS=OFF + ${FEATURE_OPTIONS} ) vcpkg_cmake_install() diff --git a/ports/configcat/vcpkg.json b/ports/configcat/vcpkg.json index d20dc24025d7d7..ea64c691e70e83 100644 --- a/ports/configcat/vcpkg.json +++ b/ports/configcat/vcpkg.json @@ -1,12 +1,10 @@ { "name": "configcat", - "version": "3.0.0", + "version": "4.0.4", "description": "ConfigCat SDK for C++ provides easy integration for your application to ConfigCat. ConfigCat is a feature flag and configuration management service that lets you separate feature releases from deployments. Alternative to LaunchDarkly.", "homepage": "https://configcat.com/", "license": "MIT", "dependencies": [ - "cpr", - "hash-library", "nlohmann-json", { "name": "vcpkg-cmake", @@ -17,5 +15,33 @@ "host": true }, "z4kn4fein-semver" - ] + ], + "default-features": [ + "network", + "sha" + ], + "features": { + "network": { + "description": "Use curl for network", + "dependencies": [ + { + "name": "curl", + "default-features": false, + "features": [ + "ssl" + ] + }, + { + "name": "openssl", + "platform": "linux" + } + ] + }, + "sha": { + "description": "Use hash-library for SHA calculations", + "dependencies": [ + "hash-library" + ] + } + } } diff --git a/ports/conjure-enum/portfile.cmake b/ports/conjure-enum/portfile.cmake new file mode 100644 index 00000000000000..b43cbf676b4b82 --- /dev/null +++ b/ports/conjure-enum/portfile.cmake @@ -0,0 +1,11 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO fix8mt/conjure_enum + REF "v${VERSION}" + SHA512 af8127f2d958227a7168a7d808d7ff7f699b250c04b4a079f6ef9e034ee6d165e4d51054c2ec4dcec64291d3e11c507d73937dbee22e9bc5fcbdb73e127e0275 + HEAD_REF master +) + +file(INSTALL ${SOURCE_PATH}/include/fix8/conjure_enum.hpp DESTINATION ${CURRENT_PACKAGES_DIR}/include) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/conjure-enum/vcpkg.json b/ports/conjure-enum/vcpkg.json new file mode 100644 index 00000000000000..0dbbfb07f70781 --- /dev/null +++ b/ports/conjure-enum/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "conjure-enum", + "version": "1.1.0", + "description": "Lightweight header-only C++20 enum and typename reflection.", + "homepage": "https://github.com/fix8mt/conjure_enum", + "license": "MIT" +} diff --git a/ports/copypp/portfile.cmake b/ports/copypp/portfile.cmake new file mode 100644 index 00000000000000..4e8d06bc9643e0 --- /dev/null +++ b/ports/copypp/portfile.cmake @@ -0,0 +1,25 @@ +set(VCPKG_BUILD_TYPE release) # header-only + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO i-curve/copypp + REF "v${VERSION}" + SHA512 1c34cfcc30234d6a0eb3f150dff40299f74be8cc7653dc494a5a6857ad4d42342815a8ef2cb3b06d05555cd9d6d4c9b9941a7a845ab40cc782ce4660fb1e2560 + HEAD_REF main +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS "-DCOPYPP_TEST=OFF" +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/copypp) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/copypp/usage b/ports/copypp/usage new file mode 100644 index 00000000000000..17bb740b9ed508 --- /dev/null +++ b/ports/copypp/usage @@ -0,0 +1,4 @@ +copypp provides CMake targets: + + find_package(copypp CONFIG REQUIRED) + target_link_libraries(main PRIVATE icurve::copypp) diff --git a/ports/copypp/vcpkg.json b/ports/copypp/vcpkg.json new file mode 100644 index 00000000000000..06d6566a0280da --- /dev/null +++ b/ports/copypp/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "copypp", + "version": "0.3.0", + "description": "support field copy in different c++ data type.", + "homepage": "https://github.com/i-curve/copypp", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/corrade/portfile.cmake b/ports/corrade/portfile.cmake index 964212a69e1c40..0680233a268b69 100644 --- a/ports/corrade/portfile.cmake +++ b/ports/corrade/portfile.cmake @@ -20,7 +20,7 @@ foreach(_feature IN LISTS ALL_FEATURES) string(REPLACE "-" "_" _FEATURE "${_FEATURE}") # Final feature is empty, ignore it - if(_feature) + if(_feature AND NOT "${_feature}" STREQUAL "dynamic-pluginmanager") list(APPEND _COMPONENTS ${_feature} WITH_${_FEATURE}) endif() endforeach() diff --git a/ports/corrade/vcpkg.json b/ports/corrade/vcpkg.json index 60dd63aead3727..6bb6ed736f0519 100644 --- a/ports/corrade/vcpkg.json +++ b/ports/corrade/vcpkg.json @@ -1,7 +1,7 @@ { "name": "corrade", "version-string": "2020.06", - "port-version": 7, + "port-version": 8, "description": "C++11/C++14 multiplatform utility library.", "homepage": "https://magnum.graphics/corrade/", "dependencies": [ @@ -26,11 +26,25 @@ "utility" ], "features": { + "dynamic-pluginmanager": { + "description": "PluginManager library with dynamic plugin support", + "supports": "!ios & !uwp & !android", + "dependencies": [ + { + "name": "corrade", + "default-features": false, + "features": [ + "pluginmanager" + ] + } + ] + }, "interconnect": { "description": "Interconnect library", "dependencies": [ { "name": "corrade", + "default-features": false, "features": [ "utility" ] @@ -42,7 +56,12 @@ "dependencies": [ { "name": "corrade", + "default-features": false, "features": [ + { + "name": "dynamic-pluginmanager", + "platform": "!ios & !uwp & !android" + }, "utility" ] } @@ -53,6 +72,7 @@ "dependencies": [ { "name": "corrade", + "default-features": false, "features": [ "utility" ] diff --git a/ports/correlation-vector-cpp/correlation-vector.patch b/ports/correlation-vector-cpp/correlation-vector.patch new file mode 100644 index 00000000000000..de1a2d5ab4b91c --- /dev/null +++ b/ports/correlation-vector-cpp/correlation-vector.patch @@ -0,0 +1,50 @@ +diff --git a/CorrelationVector/CMakeLists.txt b/CorrelationVector/CMakeLists.txt +index 2b32f8b..2c3a0ec 100644 +--- a/CorrelationVector/CMakeLists.txt ++++ b/CorrelationVector/CMakeLists.txt +@@ -9,7 +9,7 @@ include (CVOptions) + include (CVHelpers) + + add_global_definitions () +-set_global_compile_flags () ++#set_global_compile_flags () + + set(CORRELATION_VECTOR_VERSION_MAJOR 1) + set(CORRELATION_VECTOR_VERSION_MINOR 0) +diff --git a/CorrelationVector/cmake/correlation_vector-config.in.cmake b/CorrelationVector/cmake/correlation_vector-config.in.cmake +index 6b389d5..9c4fb5a 100644 +--- a/CorrelationVector/cmake/correlation_vector-config.in.cmake ++++ b/CorrelationVector/cmake/correlation_vector-config.in.cmake +@@ -1 +1,7 @@ ++# Optional dependency for Linux ++if(UNIX) ++ include(CMakeFindDependencyMacro) ++ find_dependency(unofficial-libuuid) ++endif() ++ + include("${CMAKE_CURRENT_LIST_DIR}/correlation_vector-targets.cmake") +\ No newline at end of file +diff --git a/CorrelationVector/src/CMakeLists.txt b/CorrelationVector/src/CMakeLists.txt +index 00baa66..08f3fc9 100644 +--- a/CorrelationVector/src/CMakeLists.txt ++++ b/CorrelationVector/src/CMakeLists.txt +@@ -15,16 +15,9 @@ else() + if (WIN32) + target_compile_definitions(${TARGETNAME} PUBLIC GUID_WINDOWS) + elseif (UNIX) +- # apt-get install pkg-config uuid-dev +- find_package(PkgConfig REQUIRED) +- # TODO: move to FindUUID module +- pkg_check_modules(UUID uuid) +- if (UUID_FOUND) +- message("Found and using uuid.") +- target_include_directories(${TARGETNAME} PUBLIC ${UUID_INCLUDE_DIRS}) +- target_link_libraries(${TARGETNAME} PRIVATE ${UUID_LIBRARIES}) +- target_compile_definitions(${TARGETNAME} PUBLIC GUID_LIBUUID) +- endif() ++ find_package(unofficial-libuuid REQUIRED) ++ target_compile_definitions(${TARGETNAME} PUBLIC GUID_LIBUUID) ++ target_link_libraries(${TARGETNAME} PRIVATE unofficial::UUID::uuid) + endif() + endif() + diff --git a/ports/correlation-vector-cpp/portfile.cmake b/ports/correlation-vector-cpp/portfile.cmake new file mode 100644 index 00000000000000..99555c7bf408e3 --- /dev/null +++ b/ports/correlation-vector-cpp/portfile.cmake @@ -0,0 +1,28 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO microsoft/CorrelationVector-Cpp + REF cf38d2b44baaf352509ad9980786bc49554c32e4 + SHA512 f97eaef649ffd010fb79bca0ae6cb7ce6792dcb38f6a5180d04dc6542589d0d727583455bbafb319982cfed1291384180d49c7f32ebe7560b444ec132c76d0c4 + HEAD_REF master + PATCHES + "correlation-vector.patch" +) + +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + +vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}") +vcpkg_cmake_install() +vcpkg_fixup_pkgconfig() +vcpkg_cmake_config_fixup(PACKAGE_NAME correlation_vector CONFIG_PATH lib/correlation_vector) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +if(VCPKG_TARGET_IS_WINDOWS) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") +endif() diff --git a/ports/correlation-vector-cpp/usage b/ports/correlation-vector-cpp/usage new file mode 100644 index 00000000000000..be0f91b33de6e1 --- /dev/null +++ b/ports/correlation-vector-cpp/usage @@ -0,0 +1,4 @@ +The package CorrelationVector-Cpp provides CMake targets: + + find_package(correlation_vector CONFIG REQUIRED) + target_link_libraries(main PRIVATE microsoft::correlation_vector) diff --git a/ports/correlation-vector-cpp/vcpkg.json b/ports/correlation-vector-cpp/vcpkg.json new file mode 100644 index 00000000000000..c7a602f99e7aa1 --- /dev/null +++ b/ports/correlation-vector-cpp/vcpkg.json @@ -0,0 +1,21 @@ +{ + "name": "correlation-vector-cpp", + "version": "1.0", + "description": "CorrelationVector-Cpp provides a reference C++ implementation of the CorrelationVector protocol for tracing and correlation of events through a distributed system.", + "homepage": "https://github.com/microsoft/CorrelationVector-Cpp", + "license": "MIT", + "dependencies": [ + { + "name": "libuuid", + "platform": "!windows" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/cpp-httplib/fix-find-brotli.patch b/ports/cpp-httplib/fix-find-brotli.patch index 4d749360b4c20d..e01297071e0441 100644 --- a/ports/cpp-httplib/fix-find-brotli.patch +++ b/ports/cpp-httplib/fix-find-brotli.patch @@ -1,19 +1,20 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 3515d77..556fb78 100644 +index e27481b..51bfdf1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -138,9 +138,9 @@ endif() - # Adds our cmake folder to the search path for find_package +@@ -146,10 +146,10 @@ endif() + # This is so we can use our custom FindBrotli.cmake list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") if(HTTPLIB_REQUIRE_BROTLI) - find_package(Brotli COMPONENTS encoder decoder common REQUIRED) + find_package(unofficial-brotli CONFIG REQUIRED) + set(HTTPLIB_IS_USING_BROTLI TRUE) elseif(HTTPLIB_USE_BROTLI_IF_AVAILABLE) - find_package(Brotli COMPONENTS encoder decoder common QUIET) + find_package(unofficial-brotli CONFIG QUIET) + set(HTTPLIB_IS_USING_BROTLI ${Brotli_FOUND}) endif() - # Just setting this variable here for people building in-tree - if(Brotli_FOUND) + @@ -223,9 +223,9 @@ target_link_libraries(${PROJECT_NAME} ${_INTERFACE_OR_PUBLIC} # Needed for API from MacOS Security framework "$<$,$,$>:-framework CoreFoundation -framework Security>" @@ -27,7 +28,7 @@ index 3515d77..556fb78 100644 $<$:ZLIB::ZLIB> $<$:OpenSSL::SSL> $<$:OpenSSL::Crypto> -@@ -283,9 +283,6 @@ if(HTTPLIB_INSTALL) +@@ -281,9 +281,6 @@ if(HTTPLIB_INSTALL) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake" "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake" @@ -37,3 +38,16 @@ index 3515d77..556fb78 100644 DESTINATION ${_TARGET_INSTALL_CMAKEDIR} ) +diff --git a/cmake/httplibConfig.cmake.in b/cmake/httplibConfig.cmake.in +index 93dff32..8c6bc11 100644 +--- a/cmake/httplibConfig.cmake.in ++++ b/cmake/httplibConfig.cmake.in +@@ -32,7 +32,7 @@ if(@HTTPLIB_IS_USING_BROTLI@) + # Note that the FindBrotli.cmake file is installed in the same dir as this file. + list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}") + set(BROTLI_USE_STATIC_LIBS @BROTLI_USE_STATIC_LIBS@) +- find_dependency(Brotli COMPONENTS common encoder decoder) ++ find_dependency(unofficial-brotli COMPONENTS common encoder decoder) + endif() + + # Mildly useful for end-users diff --git a/ports/cpp-httplib/portfile.cmake b/ports/cpp-httplib/portfile.cmake index 07435654e3ccbe..8e8219aec60a0b 100644 --- a/ports/cpp-httplib/portfile.cmake +++ b/ports/cpp-httplib/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO yhirose/cpp-httplib REF "v${VERSION}" - SHA512 6e995502e0cfd9953044207fabce29a3d6de49e79464b6bf89e1a9e667dc66fe1972c38d6428ad8e8fb96236e85b2d9ac60cbb58b4de03e8f837a9122151a706 + SHA512 d9eb70dfd8ebde658852d1a8cf9f96419ca11cad889b54672aa4812c0b5db0c3f1fddf63f536aec19fc4a849f41ed22461581a18f0733d3f906e45dd096bafd8 HEAD_REF master PATCHES fix-find-brotli.patch diff --git a/ports/cpp-httplib/vcpkg.json b/ports/cpp-httplib/vcpkg.json index ef068b6e3425b5..f491c146935b51 100644 --- a/ports/cpp-httplib/vcpkg.json +++ b/ports/cpp-httplib/vcpkg.json @@ -1,6 +1,6 @@ { "name": "cpp-httplib", - "version": "0.14.1", + "version": "0.18.3", "description": "A single file C++11 header-only HTTP/HTTPS server and client library", "homepage": "https://github.com/yhirose/cpp-httplib", "license": "MIT", diff --git a/ports/cpp-ipc/portfile.cmake b/ports/cpp-ipc/portfile.cmake index 6dfacba15a54aa..4ce891fccbe99c 100644 --- a/ports/cpp-ipc/portfile.cmake +++ b/ports/cpp-ipc/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mutouyun/cpp-ipc - REF f2f1af8f8e7877a28deb2eacdc379a22a99e4c82 #v1.2.0 - SHA512 e01fe5e2612141af64a9c44773a49c566b89ecf0a77164c6eb0a6d68bd7ff5830843ce42df5d53a863882b582a8d6a2e9f69026f244d8d1d96e83f0f4c9e8972 + REF 035d76d5aaaa420a61d5e08be841cc20e585adde #v1.3.0 + SHA512 fea7054befc143ca1b4c55f3ffb72eb81353ce08f761e7c1ca79dd016449f76fbfc19bdb046a68e4d84df0f24da0312a0f560d9a25257811689041267bb42f1a HEAD_REF master ) diff --git a/ports/cpp-ipc/vcpkg.json b/ports/cpp-ipc/vcpkg.json index 62e2bb49f1e1a9..0f18fc7a4c58c1 100644 --- a/ports/cpp-ipc/vcpkg.json +++ b/ports/cpp-ipc/vcpkg.json @@ -1,6 +1,6 @@ { "name": "cpp-ipc", - "version": "1.2.0", + "version": "1.3.0", "description": "C++ IPC Library: A high-performance inter-process communication using shared memory on Linux/Windows.", "homepage": "https://github.com/mutouyun/cpp-ipc", "supports": "!osx", diff --git a/ports/cpp-kana/portfile.cmake b/ports/cpp-kana/portfile.cmake new file mode 100644 index 00000000000000..05369a6de13a07 --- /dev/null +++ b/ports/cpp-kana/portfile.cmake @@ -0,0 +1,25 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO wolfgitpr/cpp-kana + REF "${VERSION}" + SHA512 b1e992f7172f080f74612e515713c3fd74d15d25d088923b834563c6ee06155bb0b073a39a480e82cb6d87c4066b10e65d45f913e26975ece88bf1f4d24dcc2b + HEAD_REF main +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" CPP_KANA_BUILD_STATIC) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DCPP_KANA_BUILD_STATIC=${CPP_KANA_BUILD_STATIC} + -DCPP_KANA_BUILD_TESTS=FALSE +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") +configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" COPYONLY) diff --git a/ports/cpp-kana/usage b/ports/cpp-kana/usage new file mode 100644 index 00000000000000..ad21409ec61ac3 --- /dev/null +++ b/ports/cpp-kana/usage @@ -0,0 +1,4 @@ +cpp-kana provides CMake targets: + + find_package(cpp-kana CONFIG REQUIRED) + target_link_libraries(main PRIVATE cpp-kana::cpp-kana) diff --git a/ports/cpp-kana/vcpkg.json b/ports/cpp-kana/vcpkg.json new file mode 100644 index 00000000000000..254e2300816e10 --- /dev/null +++ b/ports/cpp-kana/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "cpp-kana", + "version": "1.0.0", + "description": "A lightweight library for converting Japanese kana to romaji and vice versa.", + "homepage": "https://github.com/wolfgitpr/cpp-kana", + "license": "Apache-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/cpp-peglib/portfile.cmake b/ports/cpp-peglib/portfile.cmake index 21c01d44ee9f42..8034231aab3d5d 100644 --- a/ports/cpp-peglib/portfile.cmake +++ b/ports/cpp-peglib/portfile.cmake @@ -3,7 +3,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO yhirose/cpp-peglib REF "v${VERSION}" - SHA512 89fe1112a5db1decde65aa989a74559222b02c897a0f6a3facca295f07467e232c787420243b50786da21f86bc100a869b46963f09051aebade0bb44d2b12800 + SHA512 09bd45132933b39c7b9c6026ca7149b79c6833b86037c18b2d101842cf48fe839188e215f6c4eba286f17a831887b9b34e59f43b9148729f5f8e7c56e0c829ba HEAD_REF master ) diff --git a/ports/cpp-peglib/vcpkg.json b/ports/cpp-peglib/vcpkg.json index 905a0d025088c6..eecdf9df4d5a13 100644 --- a/ports/cpp-peglib/vcpkg.json +++ b/ports/cpp-peglib/vcpkg.json @@ -1,6 +1,6 @@ { "name": "cpp-peglib", - "version": "1.8.5", + "version": "1.9.1", "description": "C++11 header-only PEG (Parsing Expression Grammars) library.", "license": "MIT" } diff --git a/ports/cpp-pinyin/portfile.cmake b/ports/cpp-pinyin/portfile.cmake new file mode 100644 index 00000000000000..30b6a6101aa125 --- /dev/null +++ b/ports/cpp-pinyin/portfile.cmake @@ -0,0 +1,26 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO wolfgitpr/cpp-pinyin + REF "${VERSION}" + SHA512 cdd78cdc493ab352bfd7c5adfb4642bc587fb26f65b4d81a07e7c89c377222a30730f3e800f028106b66cbc35e32709c1a0e470e9737b6ee9718e3ce9da8137a + HEAD_REF main +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" CPP_PINYIN_BUILD_STATIC) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DCPP_PINYIN_BUILD_STATIC=${CPP_PINYIN_BUILD_STATIC} + -DCPP_PINYIN_BUILD_TESTS=FALSE + "-DVCPKG_DICT_DIR=${CURRENT_PACKAGES_DIR}/share/${PORT}" +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") +configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" COPYONLY) diff --git a/ports/cpp-pinyin/usage b/ports/cpp-pinyin/usage new file mode 100644 index 00000000000000..23b6a783d6dc56 --- /dev/null +++ b/ports/cpp-pinyin/usage @@ -0,0 +1,12 @@ +cpp-pinyin provides CMake targets: + + find_package(cpp-pinyin CONFIG REQUIRED) + target_link_libraries(main PRIVATE cpp-pinyin::cpp-pinyin) + +To use the library, you need to copy the dictionary files to the binary directory. + + add_custom_command(TARGET main POST_BUILD + COMMAND "${CMAKE_COMMAND}" -E copy_directory + "${cpp-pinyin_DIR}/dict" + "$/dict" + ) diff --git a/ports/cpp-pinyin/vcpkg.json b/ports/cpp-pinyin/vcpkg.json new file mode 100644 index 00000000000000..07b23eedb70000 --- /dev/null +++ b/ports/cpp-pinyin/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "cpp-pinyin", + "version": "1.0.0", + "description": "A lightweight Chinese/Cantonese to Pinyin library.", + "homepage": "https://github.com/wolfgitpr/cpp-pinyin", + "license": "Apache-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/cpp-sort/portfile.cmake b/ports/cpp-sort/portfile.cmake index 5799c213abcafd..4dd46a968dd64e 100644 --- a/ports/cpp-sort/portfile.cmake +++ b/ports/cpp-sort/portfile.cmake @@ -1,8 +1,10 @@ +set(VCPKG_BUILD_TYPE release) # header-only + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Morwenn/cpp-sort REF "${VERSION}" - SHA512 85d9f68ff64ff23769c66d28153273e2072b2c12f2f94bb058afebc1fb68d852734d3907a51704212d795bff71f327de3497232ba3619179bbaa141ab55b2452 + SHA512 9a9098170cae99aaaed071c05b8bdb6af2d60379bc55f1a59d5e261769df9313517f449c1a9ea13aa96770b47ad5d628a5e0e5a93b019bf02f1918db582bcf19 HEAD_REF 1.x.y-develop ) diff --git a/ports/cpp-sort/vcpkg.json b/ports/cpp-sort/vcpkg.json index 5c119d0dd8cd0c..597dd0515c0c6c 100644 --- a/ports/cpp-sort/vcpkg.json +++ b/ports/cpp-sort/vcpkg.json @@ -1,6 +1,6 @@ { "name": "cpp-sort", - "version": "1.15.0", + "version": "1.16.0", "description": "Sorting algorithms & related tools for C++14", "homepage": "https://github.com/Morwenn/cpp-sort/", "license": "MIT", diff --git a/ports/cpp-timsort/portfile.cmake b/ports/cpp-timsort/portfile.cmake index b5a5e47be87240..1ff340e0831fea 100644 --- a/ports/cpp-timsort/portfile.cmake +++ b/ports/cpp-timsort/portfile.cmake @@ -1,8 +1,10 @@ +set(VCPKG_BUILD_TYPE release) # header-only + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO timsort/cpp-TimSort - REF v2.1.0 - SHA512 57fe79d3174d9939a3212282cf64f4fdd90586eba806f57df65eb42c2b4783a68f39bd2b6709830b1688ae15f1a83f554468059b2ddf52b31805bfd23efc7db1 + REF "v${VERSION}" + SHA512 79a7640d9aef8c5347d4916efaf9dd70ceb4b72417b29a313a567a8d86786886dc44c79eff8f47092cd7c782c54ea82d2d33237360e3049aa2d4781441c31dbe HEAD_REF master ) @@ -16,7 +18,6 @@ vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/gfx PACKAGE_NAME gfx-timsort) -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/cpp-timsort/vcpkg.json b/ports/cpp-timsort/vcpkg.json index 334f1d78be4f50..26eec5ff1a1677 100644 --- a/ports/cpp-timsort/vcpkg.json +++ b/ports/cpp-timsort/vcpkg.json @@ -1,8 +1,9 @@ { "name": "cpp-timsort", - "version": "2.1.0", + "version": "3.0.1", "description": "A C++ implementation of timsort", "homepage": "https://github.com/timsort/cpp-TimSort", + "license": "MIT", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/cppad/portfile.cmake b/ports/cppad/portfile.cmake index 787192bd0a5ef7..60be8f22411577 100644 --- a/ports/cppad/portfile.cmake +++ b/ports/cppad/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO coin-or/CppAD - REF 5e1c0090e23d897f268c6802eaffed87078b78c0 #20230000.0 - SHA512 9583323277023a7c7ae6c1b077262b1f228989c9dd432a7162dd8c7cd9b97881abcd3d368fdd916fb7250f3fadbbf41557462cfc0fcb6076c6b8fdc76a38d3ed + REF "${VERSION}" + SHA512 a2e9b90246a78319d2a50347e03ee7a4e807e059200d834290981b5fc4ff99e1964c420f606a36b6cacb21d5b254f34edbafa660242b260a828e2259686f40cd HEAD_REF master ) diff --git a/ports/cppad/vcpkg.json b/ports/cppad/vcpkg.json index 6f321f3ffebbad..6e8c99cf560641 100644 --- a/ports/cppad/vcpkg.json +++ b/ports/cppad/vcpkg.json @@ -1,7 +1,7 @@ { "$comment": "See related issue for compilation failure on UWP and ARM: https://github.com/microsoft/vcpkg/pull/12560#issuecomment-668412073", "name": "cppad", - "version": "20230000.0", + "version": "20240000.7", "description": "CppAD: A Package for Differentiation of C++ Algorithms", "homepage": "https://github.com/coin-or/CppAD", "license": "EPL-2.0", diff --git a/ports/cppcms/dependencies.diff b/ports/cppcms/dependencies.diff new file mode 100644 index 00000000000000..5f7c0eb3876a20 --- /dev/null +++ b/ports/cppcms/dependencies.diff @@ -0,0 +1,41 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5ce0d53..d2b91f5 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -268,8 +268,8 @@ check_cxx_source_compiles( + CPPCMS_HAVE_FSEEKI64 + ) + if(NOT DISABLE_GZIP) +- find_library(ZLIB NAMES z zdll zlib${ZLIB_SUFFIX} zlib) +- find_path(ZLIB_INCLUDE_DIR zlib.h) ++ find_package(ZLIB REQUIRED) ++ set(ZLIB "${ZLIB_LIBRARIES}") + if(NOT ZLIB OR NOT ZLIB_INCLUDE_DIR) + message(FATAL_ERROR "Can't fild zlib") + endif() +@@ -423,8 +423,8 @@ if(NOT DISABLE_GCRYPT) + endif() + + if(NOT DISABLE_OPENSSL) +- find_path(OPENSSL_INCLUDE_DIR openssl/aes.h) +- find_library(LIB_OPENSSL NAMES crypto libcrypto libeay32) ++ find_package(OpenSSL REQUIRED) ++ set(LIB_OPENSSL "${OPENSSL_CRYPTO_LIBRARIES}") + endif() + + if (OPENSSL_INCLUDE_DIR AND LIB_OPENSSL) +diff --git a/booster/CMakeLists.txt b/booster/CMakeLists.txt +index 4f81833..822c470 100644 +--- a/booster/CMakeLists.txt ++++ b/booster/CMakeLists.txt +@@ -123,6 +123,10 @@ endif() + + if(NOT DISABLE_ICU_LOCALE) + message("-- Looking for ICU libraries") ++ find_package(ICU REQUIRED COMPONENTS i18n uc data) ++ include_directories(${ICU_INCLUDE_DIRS}) ++ set(ICU_I18N "${ICU_LIBRARIES}") ++elseif(0) + + if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug") + if(MSVC) diff --git a/ports/cppcms/dllexport.diff b/ports/cppcms/dllexport.diff new file mode 100644 index 00000000000000..aeb3d76731e210 --- /dev/null +++ b/ports/cppcms/dllexport.diff @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c91ec97..11d475b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -692,7 +692,7 @@ target_link_libraries(hello_world ${CPPCMS_LIB}) + if(NOT DISABLE_TCPCACHE) + add_executable(cppcms_scale src/cache_server_main.cpp) + target_link_libraries(cppcms_scale ${CPPCMS_LIB}) +- if(WIN32 OR CYGWIN) ++ if(NOT DISABLE_SHARED) + set_target_properties(cppcms_scale PROPERTIES COMPILE_DEFINITIONS DLL_EXPORT) + endif() + endif() diff --git a/ports/cppcms/no-tests-and-examples.patch b/ports/cppcms/no-tests-and-examples.patch index 7d8e67bdfe0dcf..091484271670dc 100644 --- a/ports/cppcms/no-tests-and-examples.patch +++ b/ports/cppcms/no-tests-and-examples.patch @@ -1,58 +1,33 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 5ce0d53..5b432c8 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -685,9 +685,10 @@ if(NOT DISABLE_SHARED) - endif(NOT DISABLE_SHARED) - - -- -+if(FALSE) - add_executable(hello_world src/hello_world.cpp skin1.cpp skin2.cpp) - target_link_libraries(hello_world ${CPPCMS_LIB}) -+endif() - - if(NOT DISABLE_TCPCACHE) - add_executable(cppcms_scale src/cache_server_main.cpp) -@@ -710,7 +711,7 @@ endif(DISABLE_SHARED) - ######################################### - # Tests - ######################################### -- -+if(FALSE) - set(ALL_TESTS - form_test - proto_test -@@ -775,14 +776,14 @@ set(ALL_TESTS ${ALL_TESTS} external_session_test) - if(NOT DISABLE_GZIP) - target_link_libraries(response_test ${ZLIB}) - endif() -- -+endif() - ##################################### - # End of tests - ##################################### - - # These are use export - if(IS_WINDOWS AND NOT DISABLE_SHARED) -- set_target_properties(${ALL_TESTS} hello_world cppcms PROPERTIES -+ set_target_properties(${ALL_TESTS} cppcms PROPERTIES - COMPILE_DEFINITIONS DLL_EXPORT) - endif() - -@@ -830,7 +831,7 @@ install(DIRECTORY cppcms DESTINATION include - ############# - - -- -+if(FALSE) - set(CNF "${CMAKE_CURRENT_SOURCE_DIR}/tests") - - add_test(base64_test base64_test) -@@ -1103,5 +1104,5 @@ if(NOT IS_WINDOWS) - PROPERTIES TIMEOUT 120) - - endif() -- -+endif() - +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d2b91f5..c91ec97 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -647,7 +647,7 @@ add_custom_command( + + + +-if(NOT DISABLE_SHARED) ++if(installing-plugins) + add_custom_command( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/skin3.cpp + COMMAND ${PYTHON} ${CMAKE_CURRENT_SOURCE_DIR}/bin/cppcms_tmpl_cc +@@ -779,6 +779,7 @@ endif() + ##################################### + # End of tests + ##################################### ++set_target_properties(${ALL_TESTS} hello_world PROPERTIES EXCLUDE_FROM_ALL 1) + + # These are use export + if(IS_WINDOWS AND NOT DISABLE_SHARED) +diff --git a/booster/CMakeLists.txt b/booster/CMakeLists.txt +index 822c470..0a95248 100644 +--- a/booster/CMakeLists.txt ++++ b/booster/CMakeLists.txt +@@ -674,6 +674,7 @@ macro(add_booster_param_test MODULE TEST PARAMETER) + add_executable(${TEST_NAME} ${TEST_SRC}) + target_link_libraries(${TEST_NAME} ${BOOSTER_LIB}) + set_target_properties(${TEST_NAME} PROPERTIES COMPILE_DEFINITIONS "${EXE_COM_DEFS}") ++ set_target_properties(${TEST_NAME} PROPERTIES EXCLUDE_FROM_ALL 1) + add_test(${TEST_NAME} ${TEST_NAME} ${PARAMETER}) + set_tests_properties(${TEST_NAME} PROPERTIES TIMEOUT 20) + endmacro() diff --git a/ports/cppcms/portfile.cmake b/ports/cppcms/portfile.cmake index b876f77d99fa9c..f47954fc8f82a5 100644 --- a/ports/cppcms/portfile.cmake +++ b/ports/cppcms/portfile.cmake @@ -1,32 +1,40 @@ -vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO artyom-beilis/cppcms REF b72b19915794d1af63c9a9e9bea58e20a4ad93d4 SHA512 e99d34d14fbde22be725ac2c0bec069fb584e45c66767af75efaf454ca61a7a5e57434bf86109f910884c72202b8cf98fe16505e7d3d30d9218abd4d8b27d5df PATCHES + dependencies.diff + dllexport.diff no-tests-and-examples.patch fix_narrowing_error.patch ) -vcpkg_find_acquire_program(PYTHON2) - -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" DISABLE_DYNAMIC) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" DISABLE_SHARED) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" DISABLE_STATIC) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DPYTHON=${PYTHON2} # Switch to python3 on the next update + -DCMAKE_CXX_STANDARD=11 + -DPYTHON=: -DUSE_WINDOWS6_API=ON - -DDISABLE_SHARED=${DISABLE_DYNAMIC} + -DDISABLE_SHARED=${DISABLE_SHARED} + -DDISABLE_STATIC=${DISABLE_STATIC} + -DDISABLE_GCRYPT=ON + -DDISABLE_ICONV=ON ) vcpkg_cmake_install() vcpkg_copy_pdbs() +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/${PORT}") +foreach(script IN ITEMS cppcms_tmpl_cc cppcms_run) + file(RENAME "${CURRENT_PACKAGES_DIR}/bin/${script}" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/${script}") + file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/bin/${script}") +endforeach() vcpkg_copy_tools(TOOL_NAMES cppcms_scale cppcms_make_key cppcms_config_find_param AUTO_CLEAN) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL "${SOURCE_PATH}/MIT.TXT" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/MIT.TXT" "${SOURCE_PATH}/THIRD_PARTY_SOFTWARE.TXT") diff --git a/ports/cppcms/vcpkg.json b/ports/cppcms/vcpkg.json index 54dbb33fefa5e3..f1f83019d811c2 100644 --- a/ports/cppcms/vcpkg.json +++ b/ports/cppcms/vcpkg.json @@ -1,11 +1,11 @@ { "name": "cppcms", "version": "1.2.1", - "port-version": 6, + "port-version": 7, "description": "CppCMS is a Free High Performance Web Development Framework (not a CMS) aimed at Rapid Web Application Development", "homepage": "https://github.com/artyom-beilis/cppcms", - "license": "MIT", - "supports": "!(linux | osx | (windows & static))", + "license": null, + "supports": "!uwp", "dependencies": [ "icu", "openssl", diff --git a/ports/cppfs/ssh-dependencies.diff b/ports/cppfs/ssh-dependencies.diff index 28d9e92e381ad5..24cd8ef13d82d6 100644 --- a/ports/cppfs/ssh-dependencies.diff +++ b/ports/cppfs/ssh-dependencies.diff @@ -20,7 +20,7 @@ index aa37eda..d29176a 100644 -find_package(LibSSH2) -find_package(LibCrypto) -+find_package(LibSSH2 NAMES Libssh2) ++find_package(LibSSH2 NAMES libssh2) find_package(ZLIB) find_package(OpenSSL) +set(LibCrypto_FOUND "${OpenSSL_FOUND}") @@ -36,7 +36,7 @@ index aa37eda..d29176a 100644 - ${LIBCRYPTO_LIBRARY} - ${ZLIB_LIBRARY} + OpenSSL::SSL -+ $,Libssh2::libssh2_shared,Libssh2::libssh2_static> ++ libssh2::libssh2 + OpenSSL::Crypto + ZLIB::ZLIB ) diff --git a/ports/cppfs/vcpkg.json b/ports/cppfs/vcpkg.json index a86f0d82c438b8..c9f69100e0d622 100644 --- a/ports/cppfs/vcpkg.json +++ b/ports/cppfs/vcpkg.json @@ -1,7 +1,7 @@ { "name": "cppfs", "version": "1.3.0", - "port-version": 3, + "port-version": 4, "description": "Cross-platform C++ file system library supporting multiple backends", "license": "MIT", "supports": "!uwp", diff --git a/ports/cppgraphqlgen/portfile.cmake b/ports/cppgraphqlgen/portfile.cmake index 8d13d570e969ad..f153d68904fe56 100644 --- a/ports/cppgraphqlgen/portfile.cmake +++ b/ports/cppgraphqlgen/portfile.cmake @@ -1,9 +1,25 @@ +vcpkg_download_distfile(LINUX_PATCH + URLS https://github.com/microsoft/cppgraphqlgen/commit/aa02e66edcf248c61a198eec546c401c3ada3667.patch?full_index=1 + FILENAME fix-linux.patch + SHA512 d3664dbcc1a8df0eb538e82a932d3df16697b2f457039faa8b6cf6b95d3381f92de23433936f7196502db6afa9c8f58197194a65a87437092c1eb1cad684d652 +) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO microsoft/cppgraphqlgen REF "v${VERSION}" - SHA512 0a41306862bc9f370fb369bd0cdc015fd15b95179ac2de60d8d412a26d385044177d1ca6e730e96e2ff0b0ffabcfe0246fdd3d926348641a145cd2894eb9cb7f + SHA512 1de45784485c285890200d31ce228a55ba19ed0d1bf0a3c18ea3c73d1938269f25833da1c28e8e155d875bdcf2fdf9916872f30ef9946de6bf58c1dfde451f4b HEAD_REF main + PATCHES + ${LINUX_PATCH} +) + +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + clientgen GRAPHQL_BUILD_CLIENTGEN + rapidjson GRAPHQL_USE_RAPIDJSON + schemagen GRAPHQL_BUILD_SCHEMAGEN ) vcpkg_cmake_configure( @@ -13,6 +29,7 @@ vcpkg_cmake_configure( -DGRAPHQL_UPDATE_VERSION=OFF -DGRAPHQL_UPDATE_SAMPLES=OFF -DGRAPHQL_INSTALL_CONFIGURATIONS=Release + ${FEATURE_OPTIONS} OPTIONS_RELEASE -DGRAPHQL_INSTALL_CMAKE_DIR=${CURRENT_PACKAGES_DIR}/share -DGRAPHQL_INSTALL_TOOLS_DIR=${CURRENT_PACKAGES_DIR}/tools @@ -25,9 +42,19 @@ vcpkg_cmake_install() vcpkg_cmake_config_fixup() -vcpkg_copy_tools( - TOOL_NAMES schemagen clientgen - SEARCH_DIR ${CURRENT_PACKAGES_DIR}/tools/cppgraphqlgen) +set(tools "") +if ("clientgen" IN_LIST FEATURES) + list(APPEND tools clientgen) +endif() +if ("schemagen" IN_LIST FEATURES) + list(APPEND tools schemagen) +endif() +list(LENGTH tools num_tools) +if (num_tools GREATER 0) + vcpkg_copy_tools( + TOOL_NAMES ${tools} + SEARCH_DIR ${CURRENT_PACKAGES_DIR}/tools/cppgraphqlgen) +endif() vcpkg_copy_pdbs() diff --git a/ports/cppgraphqlgen/vcpkg.json b/ports/cppgraphqlgen/vcpkg.json index 7b0f0279e5e4d8..0dd4ed2f1068b6 100644 --- a/ports/cppgraphqlgen/vcpkg.json +++ b/ports/cppgraphqlgen/vcpkg.json @@ -1,13 +1,12 @@ { "name": "cppgraphqlgen", - "version": "4.5.3", + "version": "4.5.7", + "port-version": 2, "description": "C++ GraphQL schema service generator", "homepage": "https://github.com/microsoft/cppgraphqlgen", "license": "MIT", "dependencies": [ - "boost-program-options", "pegtl", - "rapidjson", { "name": "vcpkg-cmake", "host": true @@ -16,5 +15,28 @@ "name": "vcpkg-cmake-config", "host": true } - ] + ], + "default-features": [ + "rapidjson" + ], + "features": { + "clientgen": { + "description": "Build the clientgen CLI tool.", + "dependencies": [ + "boost-program-options" + ] + }, + "rapidjson": { + "description": "Build the graphqljson library with RapidJSON.", + "dependencies": [ + "rapidjson" + ] + }, + "schemagen": { + "description": "Build the schemagen CLI tool.", + "dependencies": [ + "boost-program-options" + ] + } + } } diff --git a/ports/cppmicroservices/devendor_boost_absl.patch b/ports/cppmicroservices/devendor_boost_absl.patch new file mode 100644 index 00000000000000..359a75005c3d7f --- /dev/null +++ b/ports/cppmicroservices/devendor_boost_absl.patch @@ -0,0 +1,175 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 55b99bb765..85b4484990 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -692,9 +692,9 @@ endif() + #----------------------------------------------------------------------------- + # Compile libraries here if you do not want -Werror or /WX on + #----------------------------------------------------------------------------- +-add_subdirectory(third_party/absl) ++find_package(absl CONFIG REQUIRED) + set(BUILD_SHARED_LIBS OFF CACHE BOOL "Build shared libraries" FORCE) +-add_subdirectory(third_party/boost/nowide) ++find_package(Boost COMPONENTS nowide CONFIG REQUIRED) + set(BUILD_SHARED_LIBS ${_us_build_shared} CACHE BOOL "Build shared libraries" FORCE) + #----------------------------------------------------------------------------- + +diff --git a/cmake/usBundleConfig.cmake.in b/cmake/usBundleConfig.cmake.in +index c9cf743790..078c5b3fad 100644 +--- a/cmake/usBundleConfig.cmake.in ++++ b/cmake/usBundleConfig.cmake.in +@@ -3,6 +3,10 @@ + set(US_@PROJECT_NAME@_LIBRARIES @PROJECT_TARGET@) + set(US_@PROJECT_NAME@_RUNTIME_LIBRARY_DIRS "@PACKAGE_CONFIG_RUNTIME_LIBRARY_DIR@") + ++include(CMakeFindDependencyMacro) ++find_dependency(Boost COMPONENTS asio nowide CONFIG) ++find_dependency(absl CONFIG) ++ + if(NOT TARGET @PROJECT_TARGET@) + include("${CMAKE_CURRENT_LIST_DIR}/us@PROJECT_NAME@Targets.cmake") + endif() +diff --git a/compendium/CMakeLists.txt b/compendium/CMakeLists.txt +index a5713313ec..d26ac7e4fe 100644 +--- a/compendium/CMakeLists.txt ++++ b/compendium/CMakeLists.txt +@@ -1,3 +1,4 @@ ++find_package(Boost COMPONENTS asio CONFIG REQUIRED) + if(US_BUILD_TESTING) + add_subdirectory(test_bundles) + endif() +diff --git a/compendium/ConfigurationAdmin/src/CMAsyncWorkService.cpp b/compendium/ConfigurationAdmin/src/CMAsyncWorkService.cpp +index 50f02e6e1f..fdfa45d991 100644 +--- a/compendium/ConfigurationAdmin/src/CMAsyncWorkService.cpp ++++ b/compendium/ConfigurationAdmin/src/CMAsyncWorkService.cpp +@@ -22,10 +22,10 @@ + + #include "CMAsyncWorkService.hpp" + +-#include "boost/asio/async_result.hpp" +-#include "boost/asio/packaged_task.hpp" +-#include "boost/asio/post.hpp" +-#include "boost/asio/thread_pool.hpp" ++#include ++#include ++#include ++#include + + namespace cppmicroservices + { +diff --git a/compendium/ConfigurationAdmin/src/CMakeLists.txt b/compendium/ConfigurationAdmin/src/CMakeLists.txt +index f2eca66ce7..8d7c8bd671 100644 +--- a/compendium/ConfigurationAdmin/src/CMakeLists.txt ++++ b/compendium/ConfigurationAdmin/src/CMakeLists.txt +@@ -25,7 +25,7 @@ set(_private_headers + ) + + add_library(ConfigurationAdminObjs OBJECT ${_srcs} ${_private_headers}) +- ++target_link_libraries(ConfigurationAdminObjs PULBIC Boost::asio) + if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64") + get_property(_compile_flags TARGET ConfigurationAdminObjs PROPERTY COMPILE_FLAGS) + set_property(TARGET ConfigurationAdminObjs PROPERTY COMPILE_FLAGS "${_compile_flags} -fPIC") +diff --git a/compendium/DeclarativeServices/CMakeLists.txt b/compendium/DeclarativeServices/CMakeLists.txt +index 24f2820fa5..cb518781b4 100644 +--- a/compendium/DeclarativeServices/CMakeLists.txt ++++ b/compendium/DeclarativeServices/CMakeLists.txt +@@ -37,14 +37,14 @@ endif() + add_compile_definitions(BOOST_DATE_TIME_NO_LIB) + add_compile_definitions(BOOST_REGEX_NO_LIB) + +- ++find_package(Boost COMPONENTS asio CONFIG REQUIRED) + usMacroCreateBundle(DeclarativeServices + VERSION "1.5.10" + DEPENDS Framework + TARGET DeclarativeServices + SYMBOLIC_NAME declarative_services + EMBED_RESOURCE_METHOD LINK +- LINK_LIBRARIES ${_link_libraries} usServiceComponent usAsyncWorkService ++ LINK_LIBRARIES ${_link_libraries} usServiceComponent usAsyncWorkService Boost::asio + PRIVATE_HEADERS ${_ds_private_headers} + SOURCES $ src/SCRActivator.cpp + BINARY_RESOURCES manifest.json +diff --git a/compendium/DeclarativeServices/src/CMakeLists.txt b/compendium/DeclarativeServices/src/CMakeLists.txt +index d25961b6d7..9283babe46 100644 +--- a/compendium/DeclarativeServices/src/CMakeLists.txt ++++ b/compendium/DeclarativeServices/src/CMakeLists.txt +@@ -79,8 +79,9 @@ set(_private_headers + metadata/ServiceMetadata.hpp + metadata/Util.hpp + ) +- ++find_package(Boost COMPONENTS asio CONFIG REQUIRED) + add_library(DeclarativeServicesObjs OBJECT ${_srcs} ${_private_headers}) ++target_link_libraries(DeclarativeServicesObjs PUBLIC Boost::asio) + + if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64") + get_property(_compile_flags TARGET DeclarativeServicesObjs PROPERTY COMPILE_FLAGS) +diff --git a/compendium/DeclarativeServices/src/SCRAsyncWorkService.cpp b/compendium/DeclarativeServices/src/SCRAsyncWorkService.cpp +index ffc93e9e86..1b9af7bd6c 100644 +--- a/compendium/DeclarativeServices/src/SCRAsyncWorkService.cpp ++++ b/compendium/DeclarativeServices/src/SCRAsyncWorkService.cpp +@@ -22,10 +22,10 @@ + + #include "SCRAsyncWorkService.hpp" + +-#include "boost/asio/async_result.hpp" +-#include "boost/asio/packaged_task.hpp" +-#include "boost/asio/post.hpp" +-#include "boost/asio/thread_pool.hpp" ++#include ++#include ++#include ++#include + + namespace cppmicroservices + { +diff --git a/compendium/DeclarativeServices/src/manager/ComponentConfigurationImpl.cpp b/compendium/DeclarativeServices/src/manager/ComponentConfigurationImpl.cpp +index c4483a98c1..84d4217e7a 100644 +--- a/compendium/DeclarativeServices/src/manager/ComponentConfigurationImpl.cpp ++++ b/compendium/DeclarativeServices/src/manager/ComponentConfigurationImpl.cpp +@@ -30,7 +30,7 @@ + #include "ReferenceManager.hpp" + #include "ReferenceManagerImpl.hpp" + #include "RegistrationManager.hpp" +-#include "boost/asio/post.hpp" ++#include + #include "cppmicroservices/servicecomponent/ComponentConstants.hpp" + #include "states/CCUnsatisfiedReferenceState.hpp" + #include "states/ComponentConfigurationState.hpp" +diff --git a/tools/rc/CMakeLists.txt b/tools/rc/CMakeLists.txt +index c4a36f8dd1..ffcf13e44a 100644 +--- a/tools/rc/CMakeLists.txt ++++ b/tools/rc/CMakeLists.txt +@@ -19,9 +19,8 @@ set_property(TARGET ${US_RCC_EXECUTABLE_TARGET} PROPERTY OUTPUT_NAME ${US_RCC_EX + if(WIN32) + target_link_libraries(${US_RCC_EXECUTABLE_TARGET} Shlwapi) + endif() +- +-target_link_libraries(${US_RCC_EXECUTABLE_TARGET} nowide::nowide) +-target_include_directories(${US_RCC_EXECUTABLE_TARGET} PRIVATE ${CppMicroServices_SOURCE_DIR}/third_party/boost/nowide/include) ++find_package(Boost COMPONENTS nowide CONFIG REQUIRED) ++target_link_libraries(${US_RCC_EXECUTABLE_TARGET} Boost::nowide) + + set_property(TARGET ${US_RCC_EXECUTABLE_TARGET} APPEND PROPERTY + COMPILE_DEFINITIONS "MINIZ_NO_ARCHIVE_READING_API;MINIZ_NO_ZLIB_COMPATIBLE_NAMES") +diff --git a/tools/rc/ResourceCompiler.cpp b/tools/rc/ResourceCompiler.cpp +index a5b81d3522..4e92db4e3a 100644 +--- a/tools/rc/ResourceCompiler.cpp ++++ b/tools/rc/ResourceCompiler.cpp +@@ -37,9 +37,12 @@ + #include + #include + +-#include +-#include ++#include ++#include + ++namespace nowide { ++ using namespace boost::nowide; ++} + #include "optionparser.h" + #include "json/json.h" + diff --git a/ports/cppmicroservices/portfile.cmake b/ports/cppmicroservices/portfile.cmake index ad7b3cc77aad5c..989894c8ff13b8 100644 --- a/ports/cppmicroservices/portfile.cmake +++ b/ports/cppmicroservices/portfile.cmake @@ -2,35 +2,31 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO CppMicroServices/CppMicroservices REF "v${VERSION}" - SHA512 4743846a8ba45e6bd320c93bb3bd443b5dac16ea0bbf55bda6212e9200a40ee29031fd74c6141de4c6b5ef9ad3e70789d13fda25b40638547782d386a12dd7e2 + SHA512 26b76b124fba50a079b002867f5d349b4719833358f09712a73bc3f4370362bc27b01eb7ba31e3a0d01f101f70e5be45d5d99fe9f25216eadacc02127459d91b HEAD_REF development PATCHES werror.patch fix_strnicmp.patch - remove-wx.patch + devendor_boost_absl.patch ) -#nowide download -vcpkg_from_github( - OUT_SOURCE_PATH NOWIDE_SOURCE_PATH - REPO boostorg/nowide - REF 02f40f0b5f5686627fcddae93ff88ca399db4766 - SHA512 e68e0704896726c7a94b8ace0e03c5206b4c7acd23a6b05f6fb2660abe30611ac6913cf5fab7b57eaff1990a7c28aeee8c9f526b60f7094c0c201f90b715d6c6 - HEAD_REF develop +# TODO: De-vendor everything +file(REMOVE_RECURSE + "${SOURCE_PATH}/third_party/absl" + "${SOURCE_PATH}/third_party/boost" ) -file(REMOVE_RECURSE "${SOURCE_PATH}/third_party/boost/nowide") -file(RENAME "${NOWIDE_SOURCE_PATH}" "${SOURCE_PATH}/third_party/boost/nowide") - vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DTOOLS_INSTALL_DIR:STRING=tools/cppmicroservices -DAUXILIARY_INSTALL_DIR:STRING=share/cppmicroservices -DUS_USE_SYSTEM_GTEST=TRUE + -DUS_BUILD_TESTING=FALSE + -DUS_USE_SYSTEM_BOOST=TRUE ) -vcpkg_cmake_install() +vcpkg_cmake_install(ADD_BIN_TO_PATH) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/cppmicroservices/remove-wx.patch b/ports/cppmicroservices/remove-wx.patch deleted file mode 100644 index dadae53f59804a..00000000000000 --- a/ports/cppmicroservices/remove-wx.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 2bec34f..801d049 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -511,7 +511,7 @@ if(MSVC) - set(US_ENABLE_ASAN OFF) - endif() - -- set(US_CXX_FLAGS "/MP /WX /D${msvc_version_define} ${US_CXX_FLAGS}") -+ set(US_CXX_FLAGS "/MP /D${msvc_version_define} ${US_CXX_FLAGS}") - else() - - # If not cross-compiling, turn on Stack Smashing Protection. diff --git a/ports/cppmicroservices/vcpkg.json b/ports/cppmicroservices/vcpkg.json index 4a7a4be789cdcb..315e4893717a34 100644 --- a/ports/cppmicroservices/vcpkg.json +++ b/ports/cppmicroservices/vcpkg.json @@ -1,11 +1,13 @@ { "name": "cppmicroservices", - "version": "3.7.6", - "port-version": 1, + "version": "3.8.4", "description": "An OSGi-like C++ dynamic module system and service registry", "homepage": "https://github.com/CppMicroServices/CppMicroServices", "license": "Apache-2.0", "dependencies": [ + "abseil", + "boost-asio", + "boost-nowide", "gtest", { "name": "vcpkg-cmake", diff --git a/ports/cppp-reiconv/portfile.cmake b/ports/cppp-reiconv/portfile.cmake new file mode 100644 index 00000000000000..eae729b97a32c3 --- /dev/null +++ b/ports/cppp-reiconv/portfile.cmake @@ -0,0 +1,28 @@ +vcpkg_download_distfile(ARCHIVE + URLS "https://github.com/cppp-project/cppp-reiconv/releases/download/v${VERSION}/cppp-reiconv-v${VERSION}.zip" + FILENAME "cppp-reiconv-v${VERSION}.zip" + SHA512 56294d63a71818842ec3f4a513bdc022ea3f472b582e16d377ec61282005965e7a08d619b9620cc036feb391e5b2eab3bfb4a1a21dcc860df89234e847048678 +) + +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" +) + +vcpkg_find_acquire_program(PYTHON3) +get_filename_component(PYTHON3_DIR ${PYTHON3} DIRECTORY) +vcpkg_add_to_path("${PYTHON3_DIR}") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS -DENABLE_TEST=OFF -DENABLE_EXTRA=ON +) + +vcpkg_cmake_install() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") +endif() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/cppp-reiconv/vcpkg.json b/ports/cppp-reiconv/vcpkg.json new file mode 100644 index 00000000000000..ae359b26d2bda2 --- /dev/null +++ b/ports/cppp-reiconv/vcpkg.json @@ -0,0 +1,13 @@ +{ + "name": "cppp-reiconv", + "version": "2.1.0", + "description": "cppp-reiconv: A character set conversion library based on GNU LIBICONV for The C++ Plus Project.", + "homepage": "https://github.com/cppp-project/cppp-reiconv", + "license": "LGPL-3.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/ports/cpprealm/portfile.cmake b/ports/cpprealm/portfile.cmake new file mode 100644 index 00000000000000..4355b98e238547 --- /dev/null +++ b/ports/cpprealm/portfile.cmake @@ -0,0 +1,30 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO realm/realm-cpp + REF "v${VERSION}" + SHA512 "cf975741b5a4a68a40845c53d8584d871acff03c7a212e71a67799801979e0514de2a449aa5d78137f2d7f42e113c5df7c97e9f8c5fb6371e95c46f29ab2b246" + HEAD_REF "main" +) + +if(NOT VCPKG_BUILD_TYPE) + set(DISABLE_ALIGNED_STORAGE 1) +else() + set(DISABLE_ALIGNED_STORAGE 0) +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + DISABLE_PARALLEL_CONFIGURE + OPTIONS + -DREALM_DISABLE_ALIGNED_STORAGE=${DISABLE_ALIGNED_STORAGE} + -DREALM_CPP_NO_TESTS=ON + -DREALM_ENABLE_EXPERIMENTAL=ON + -DREALMCXX_VERSION=${VERSION} +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH "cmake") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/cpprealm/vcpkg.json b/ports/cpprealm/vcpkg.json new file mode 100644 index 00000000000000..5947ae49fb380b --- /dev/null +++ b/ports/cpprealm/vcpkg.json @@ -0,0 +1,27 @@ +{ + "name": "cpprealm", + "version": "2.2.0", + "description": "Realm is a mobile database that runs directly inside phones, tablets or wearables.", + "homepage": "https://github.com/realm/realm-cpp", + "license": "Apache-2.0", + "supports": "!emscripten", + "dependencies": [ + { + "name": "curl", + "platform": "linux" + }, + { + "name": "libuv", + "platform": "!osx, !ios" + }, + "realm-core", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/cpprestsdk/fix-clang-dllimport.patch b/ports/cpprestsdk/fix-clang-dllimport.patch new file mode 100644 index 00000000000000..52552a57663095 --- /dev/null +++ b/ports/cpprestsdk/fix-clang-dllimport.patch @@ -0,0 +1,52 @@ +diff --git a/Release/include/cpprest/details/cpprest_compat.h b/Release/include/cpprest/details/cpprest_compat.h +index bf107479..00581371 100644 +--- a/Release/include/cpprest/details/cpprest_compat.h ++++ b/Release/include/cpprest/details/cpprest_compat.h +@@ -29,7 +29,6 @@ + #else // ^^^ _WIN32 ^^^ // vvv !_WIN32 vvv + + #define __declspec(x) __attribute__((x)) +-#define dllimport + #define novtable /* no novtable equivalent */ + #define __assume(x) \ + do \ +@@ -74,9 +73,17 @@ + #define _ASYNCRTIMP_TYPEINFO + #else // ^^^ _NO_ASYNCRTIMP ^^^ // vvv !_NO_ASYNCRTIMP vvv + #ifdef _ASYNCRT_EXPORT ++#ifdef _WIN32 + #define _ASYNCRTIMP __declspec(dllexport) ++#else ++#define _ASYNCRTIMP __attribute__((visibility("default"))) ++#endif + #else // ^^^ _ASYNCRT_EXPORT ^^^ // vvv !_ASYNCRT_EXPORT vvv ++#ifdef _WIN32 + #define _ASYNCRTIMP __declspec(dllimport) ++#else ++#define _ASYNCRTIMP ++#endif + #endif // _ASYNCRT_EXPORT + + #if defined(_WIN32) +diff --git a/Release/include/pplx/pplx.h b/Release/include/pplx/pplx.h +index d9ba9c61..8d36252c 100644 +--- a/Release/include/pplx/pplx.h ++++ b/Release/include/pplx/pplx.h +@@ -30,9 +30,17 @@ + #define _PPLXIMP + #else + #ifdef _PPLX_EXPORT ++#ifdef _WIN32 + #define _PPLXIMP __declspec(dllexport) + #else ++#define _PPLXIMP __attribute__((visibility("default"))) ++#endif ++#else ++#ifdef _WIN32 + #define _PPLXIMP __declspec(dllimport) ++#else ++#define _PPLXIMP ++#endif + #endif + #endif + diff --git a/ports/cpprestsdk/portfile.cmake b/ports/cpprestsdk/portfile.cmake index b26acfce43e00b..7ed7db93b5a519 100644 --- a/ports/cpprestsdk/portfile.cmake +++ b/ports/cpprestsdk/portfile.cmake @@ -1,13 +1,15 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Microsoft/cpprestsdk - REF 122d09549201da5383321d870bed45ecb9e168c5 - SHA512 c9ded33d3c67880e2471e479a38b40a14a9ff45d241e928b6339eca697b06ad621846260eca47b6b1b8a2bc9ab7bf4fea8d3e8e795cd430d8839beb530e16dd7 + REF 411a109150b270f23c8c97fa4ec9a0a4a98cdecf + SHA512 4f604763f05d53e50dec5deaba283fa4f82d5e7a94c7c8142bf422f4c0bc24bcef00666ddbdd820f64c14e552997d6657b6aca79a29e69db43799961b44b2a1a HEAD_REF master PATCHES fix-find-openssl.patch fix_narrowing.patch fix-uwp.patch + fix-clang-dllimport.patch # workaround for https://github.com/microsoft/cpprestsdk/issues/1710 + silence-stdext-checked-array-iterators-warning.patch ) set(OPTIONS) diff --git a/ports/cpprestsdk/silence-stdext-checked-array-iterators-warning.patch b/ports/cpprestsdk/silence-stdext-checked-array-iterators-warning.patch new file mode 100644 index 00000000000000..aa633678455dec --- /dev/null +++ b/ports/cpprestsdk/silence-stdext-checked-array-iterators-warning.patch @@ -0,0 +1,12 @@ +diff --git a/Release/CMakeLists.txt b/Release/CMakeLists.txt +index 3d6df65..9ff6d66 100644 +--- a/Release/CMakeLists.txt ++++ b/Release/CMakeLists.txt +@@ -178,6 +178,7 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC") + set(WARNINGS) + set(CMAKE_STATIC_LINKER_FLAGS "${CMAKE_STATIC_LINKER_FLAGS} /ignore:4264") + add_compile_options(/bigobj) ++ add_compile_options(/D_SILENCE_STDEXT_ARR_ITERS_DEPRECATION_WARNING) + set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MP") + set(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} /MP") + set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MP") diff --git a/ports/cpprestsdk/vcpkg.json b/ports/cpprestsdk/vcpkg.json index a270085312a031..5250a300913258 100644 --- a/ports/cpprestsdk/vcpkg.json +++ b/ports/cpprestsdk/vcpkg.json @@ -1,7 +1,7 @@ { "name": "cpprestsdk", - "version": "2.10.18", - "port-version": 4, + "version": "2.10.19", + "port-version": 2, "description": [ "C++11 JSON, REST, and OAuth library", "The C++ REST SDK is a Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. This project aims to help C++ developers connect to and interact with services." diff --git a/ports/cppslippi/portfile.cmake b/ports/cppslippi/portfile.cmake index fbfde4911790cb..6770cc217b27cd 100644 --- a/ports/cppslippi/portfile.cmake +++ b/ports/cppslippi/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_sourceforge( OUT_SOURCE_PATH SOURCE_PATH REPO cppslippi FILENAME "CppSlippi-${VERSION}.zip" - SHA512 b23f7794f1fc5ec56bba1b48882588ce0dc68985edc673108f3c8b1504f61f9e5769baa01af056df527826b66ba4cbaf3767c8117d626ec99832ecab3c5b840c + SHA512 3857e96f693daa25a9b753884b4f4bd2511d5c3b47fd52045553f007483dfdaeebe1a4e17052694eb4d81bd6d0e580872d2c22d3ba3bbf483322d10bbc8944ca NO_REMOVE_ONE_LEVEL ) diff --git a/ports/cppslippi/vcpkg.json b/ports/cppslippi/vcpkg.json index 4e91eb216f39da..30f20234540bd0 100644 --- a/ports/cppslippi/vcpkg.json +++ b/ports/cppslippi/vcpkg.json @@ -1,6 +1,6 @@ { "name": "cppslippi", - "version": "1.1.3.14", + "version": "1.4.3.16", "description": "C++ Slippi replay file parser.", "homepage": "https://sourceforge.net/projects/cppslippi/", "license": "MIT", diff --git a/ports/cpptrace/portfile.cmake b/ports/cpptrace/portfile.cmake new file mode 100644 index 00000000000000..fe52edf29c060b --- /dev/null +++ b/ports/cpptrace/portfile.cmake @@ -0,0 +1,23 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO jeremy-rifkin/cpptrace + REF "v${VERSION}" + SHA512 45d2e15a1df60a797333ce2c0753db4c7b638d1fbde5135f5fdaa8c3016b95bf70cc2c1dc9902f4e27c5922294e7a7ad1893a502ae8211da82d597a9aa1c11db + HEAD_REF main +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS -DCPPTRACE_USE_EXTERNAL_LIBDWARF=ON -DCPPTRACE_USE_EXTERNAL_ZSTD=ON -DCPPTRACE_VCPKG=ON +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup( + PACKAGE_NAME "cpptrace" + CONFIG_PATH "lib/cmake/cpptrace" +) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/cpptrace/usage b/ports/cpptrace/usage new file mode 100644 index 00000000000000..eeebe202f3f848 --- /dev/null +++ b/ports/cpptrace/usage @@ -0,0 +1,4 @@ +cpptrace provides CMake targets: + + find_package(cpptrace CONFIG REQUIRED) + target_link_libraries(main PRIVATE cpptrace::cpptrace) diff --git a/ports/cpptrace/vcpkg.json b/ports/cpptrace/vcpkg.json new file mode 100644 index 00000000000000..7368d9fed9d8c1 --- /dev/null +++ b/ports/cpptrace/vcpkg.json @@ -0,0 +1,22 @@ +{ + "name": "cpptrace", + "version": "0.7.5", + "description": "Simple, portable, and self-contained stacktrace library for C++11 and newer", + "homepage": "https://github.com/jeremy-rifkin/cpptrace", + "license": "MIT", + "supports": "!(uwp | android)", + "dependencies": [ + { + "name": "libdwarf", + "platform": "!windows | mingw" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/cppwinrt/cppwinrt-config.cmake b/ports/cppwinrt/cppwinrt-config.cmake deleted file mode 100644 index c3e7575257e085..00000000000000 --- a/ports/cppwinrt/cppwinrt-config.cmake +++ /dev/null @@ -1,14 +0,0 @@ -set(CppWinRT_FOUND TRUE) - -if(NOT TARGET Microsoft::CppWinRT) - get_filename_component(cppwinrt_root "${CMAKE_CURRENT_LIST_DIR}" PATH) - get_filename_component(cppwinrt_root "${cppwinrt_root}" PATH) - - add_library(Microsoft::CppWinRT INTERFACE IMPORTED) - set_target_properties(Microsoft::CppWinRT PROPERTIES - INTERFACE_COMPILE_FEATURES cxx_std_17 - INTERFACE_INCLUDE_DIRECTORIES "${cppwinrt_root}/include" - INTERFACE_LINK_LIBRARIES "${cppwinrt_root}/lib/cppwinrt_fast_forwarder.lib" - ) - unset(cppwinrt_root) -endif() diff --git a/ports/cppwinrt/cppwinrt-config.cmake.in b/ports/cppwinrt/cppwinrt-config.cmake.in new file mode 100644 index 00000000000000..bacfdb6e657045 --- /dev/null +++ b/ports/cppwinrt/cppwinrt-config.cmake.in @@ -0,0 +1,24 @@ +get_filename_component(_cppwinrt_root "${CMAKE_CURRENT_LIST_DIR}" PATH) +get_filename_component(_cppwinrt_root "${_cppwinrt_root}" PATH) + +set(_cppwinrt_exe "${_cppwinrt_root}/@tool_path@") +if (EXISTS "${_cppwinrt_exe}") + + add_library(Microsoft::CppWinRT INTERFACE IMPORTED) + set_target_properties(Microsoft::CppWinRT PROPERTIES + INTERFACE_COMPILE_FEATURES cxx_std_17 + INTERFACE_INCLUDE_DIRECTORIES "${_cppwinrt_root}/include" + INTERFACE_LINK_LIBRARIES "${_cppwinrt_root}/lib/@lib_name@" + ) + + set(cppwinrt_FOUND TRUE) + set(CPPWINRT_TOOL ${_cppwinrt_exe}) + +else() + + set(cppwinrt_FOUND FALSE) + +endif() + +unset(_cppwinrt_root) +unset(_cppwinrt_exe) diff --git a/ports/cppwinrt/portfile.cmake b/ports/cppwinrt/portfile.cmake index 8353a8b65f5717..634b1241f9510e 100644 --- a/ports/cppwinrt/portfile.cmake +++ b/ports/cppwinrt/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_download_distfile(ARCHIVE URLS "https://www.nuget.org/api/v2/package/Microsoft.Windows.CppWinRT/${VERSION}" FILENAME "cppwinrt.${VERSION}.zip" - SHA512 6ce0764c3558d94b0ec72daa6d6d139df3942d33f51d1f3a670b888fbba2b556e35df831fa9eea42d4fc9a0a1f0ca94abef1c4013dcc9b51053bffe2af4dfd85 + SHA512 74460c233655e180dcceebdf16ad2d2f19d178c7c592c0677c623361558126930581556e39f6e12bd8ac4f57792be2d3f1b80188ef1a5de7cd7e8c72b7d598c1 ) vcpkg_extract_source_archive( @@ -43,7 +43,8 @@ file(MAKE_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}") file(WRITE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/cppwinrt.rsp" "${args}") #--- Generate headers -message(STATUS "Generating headers for Windows SDK $ENV{WindowsSDKVersion}") +string(REGEX MATCH "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+" SDKVersion $ENV{WindowsSDKVersion}) +message(STATUS "Generating headers for Windows SDK ${SDKVersion}") vcpkg_execute_required_process( COMMAND "${CPPWINRT_TOOL}" "@${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/cppwinrt.rsp" @@ -54,16 +55,18 @@ vcpkg_execute_required_process( ) set(CPPWINRT_LIB "${src}/build/native/lib/${CPPWINRT_ARCH}/cppwinrt_fast_forwarder.lib") -file(COPY "${CPPWINRT_LIB}" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") -if(NOT VCPKG_BUILD_TYPE) - file(COPY "${CPPWINRT_LIB}" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") +file(INSTALL "${CPPWINRT_LIB}" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") +if(NOT DEFINED VCPKG_BUILD_TYPE) + file(INSTALL "${CPPWINRT_LIB}" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") endif() -file(COPY - "${CPPWINRT_TOOL}" - DESTINATION "${CURRENT_PACKAGES_DIR}/tools/cppwinrt") -file(COPY - "${CMAKE_CURRENT_LIST_DIR}/cppwinrt-config.cmake" - "${CMAKE_CURRENT_LIST_DIR}/usage" - DESTINATION "${CURRENT_PACKAGES_DIR}/share/cppwinrt") +file(INSTALL "${CPPWINRT_TOOL}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/cppwinrt") -configure_file("${src}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) +set(tool_path "tools/cppwinrt/cppwinrt.exe") +set(lib_name "cppwinrt_fast_forwarder.lib") + +configure_file("${CMAKE_CURRENT_LIST_DIR}/cppwinrt-config.cmake.in" + "${CURRENT_PACKAGES_DIR}/share/${PORT}/${PORT}-config.cmake" + @ONLY) + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${src}/LICENSE") diff --git a/ports/cppwinrt/usage b/ports/cppwinrt/usage index a83a44a7e4c6d8..fa7449e707b735 100644 --- a/ports/cppwinrt/usage +++ b/ports/cppwinrt/usage @@ -1,4 +1,6 @@ -cppwinrt provides CMake targets: +The C++/WinRT package provides CMake targets: find_package(cppwinrt CONFIG REQUIRED) target_link_libraries(main PRIVATE Microsoft::CppWinRT) + +The CMake variable CPPWINRT_TOOL is also set to point to the .winmd to header command-line tool. diff --git a/ports/cppwinrt/vcpkg.json b/ports/cppwinrt/vcpkg.json index e1051d1b79319f..7e0dd601a07273 100644 --- a/ports/cppwinrt/vcpkg.json +++ b/ports/cppwinrt/vcpkg.json @@ -1,6 +1,6 @@ { "name": "cppwinrt", - "version": "2.0.230207.1", + "version": "2.0.240405.15", "description": "C++/WinRT is a standard C++ language projection for the Windows Runtime.", "homepage": "https://github.com/microsoft/cppwinrt", "documentation": "https://docs.microsoft.com/windows/uwp/cpp-and-winrt-apis/", diff --git a/ports/cpr/001-cpr-config.patch b/ports/cpr/001-cpr-config.patch deleted file mode 100644 index 116321b0b2c583..00000000000000 --- a/ports/cpr/001-cpr-config.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/cpr/CMakeLists.txt b/cpr/CMakeLists.txt -index 52787f5..aa3687d 100644 ---- a/cpr/CMakeLists.txt -+++ b/cpr/CMakeLists.txt -@@ -46,6 +46,10 @@ set_target_properties(cpr - VERSION ${${PROJECT_NAME}_VERSION} - SOVERSION ${${PROJECT_NAME}_VERSION_MAJOR}) - -+if (NOT DISABLE_INSTALL_HEADERS) -+ install(DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/../include/cpr DESTINATION include) -+endif() -+ - # Import GNU common install directory variables - include(GNUInstallDirs) - diff --git a/ports/cpr/disable_werror.patch b/ports/cpr/disable_werror.patch index 1fc1be1a0e48a6..73cc120439c29a 100644 --- a/ports/cpr/disable_werror.patch +++ b/ports/cpr/disable_werror.patch @@ -1,13 +1,13 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 68b5343..fce2518 100644 +index 70d3296..293ce95 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -103,7 +103,7 @@ if(CPR_ENABLE_CPPCHECK) - include(cmake/cppcheck.cmake) +@@ -379,7 +379,7 @@ if(CPR_BUILD_TESTS) + restore_variable(DESTINATION CMAKE_CXX_CLANG_TIDY BACKUP CMAKE_CXX_CLANG_TIDY_BKP) endif() - + -if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") +if (1) else() set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wpedantic -Werror") - endif() + if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") diff --git a/ports/cpr/portfile.cmake b/ports/cpr/portfile.cmake index 1ccdc3f5cd9ac9..aa73e90624527f 100644 --- a/ports/cpr/portfile.cmake +++ b/ports/cpr/portfile.cmake @@ -4,10 +4,9 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libcpr/cpr REF ${VERSION} - SHA512 5e2fe69d5b4dfaa67f636098c8da904b43a22b21cc78bc52446e572ea47f492ce1de0f47fdc2cf34207729ccf007449278f218d8cdeef21f0b98356bca2e5e49 + SHA512 cde62f13b43bad143695e54f5f69dfd250be52d2f6a76ebb3fde3db1e1059eb3c2e9d62e71f4c90f98a33f0053aea7c97bf55d8a7fa8584a37298e6a1bc3b18a HEAD_REF master PATCHES - 001-cpr-config.patch disable_werror.patch ) @@ -20,10 +19,14 @@ vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DCPR_BUILD_TESTS=OFF - -DCPR_FORCE_USE_SYSTEM_CURL=ON + -DCPR_USE_SYSTEM_CURL=ON ${FEATURE_OPTIONS} - OPTIONS_DEBUG - -DDISABLE_INSTALL_HEADERS=ON + # skip test for unused sanitizer flags + -DTHREAD_SANITIZER_AVAILABLE=OFF + -DADDRESS_SANITIZER_AVAILABLE=OFF + -DLEAK_SANITIZER_AVAILABLE=OFF + -DUNDEFINED_BEHAVIOUR_SANITIZER_AVAILABLE=OFF + -DALL_SANITIZERS_AVAILABLE=OFF ) vcpkg_cmake_install() diff --git a/ports/cpr/vcpkg.json b/ports/cpr/vcpkg.json index 3cdf6d02f6964d..69a50156abed5b 100644 --- a/ports/cpr/vcpkg.json +++ b/ports/cpr/vcpkg.json @@ -1,7 +1,6 @@ { "name": "cpr", - "version-semver": "1.10.5", - "port-version": 1, + "version-semver": "1.11.1", "description": "C++ Requests is a simple wrapper around libcurl inspired by the excellent Python Requests project.", "homepage": "https://github.com/libcpr/cpr", "license": "MIT", diff --git a/ports/cpuid/fix-LNK2019.patch b/ports/cpuid/fix-LNK2019.patch new file mode 100644 index 00000000000000..0c8bddebf1fca4 --- /dev/null +++ b/ports/cpuid/fix-LNK2019.patch @@ -0,0 +1,13 @@ +diff --git a/libcpuid/CMakeLists.txt b/libcpuid/CMakeLists.txt +index 09189ef..fa3f6ff 100644 +--- a/libcpuid/CMakeLists.txt ++++ b/libcpuid/CMakeLists.txt +@@ -21,7 +21,7 @@ if(UNIX) + add_compile_definitions(_GNU_SOURCE) + endif(UNIX) + +-if("${MSVC_CXX_ARCHITECTURE_ID}" MATCHES "x64") ++if(MSVC AND CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|AMD64|x64") + list(APPEND cpuid_sources masm-x64.asm) + endif() + diff --git a/ports/cpuid/fix-MSVC-warning.patch b/ports/cpuid/fix-MSVC-warning.patch new file mode 100644 index 00000000000000..d3e2fc01ce3f17 --- /dev/null +++ b/ports/cpuid/fix-MSVC-warning.patch @@ -0,0 +1,13 @@ +diff --git a/libcpuid/cpuid_main.c b/libcpuid/cpuid_main.c +index ed3db36..b082caa 100644 +--- a/libcpuid/cpuid_main.c ++++ b/libcpuid/cpuid_main.c +@@ -1452,7 +1452,7 @@ int cpuid_get_raw_data_core(struct cpu_raw_data_t* data, logical_cpu_t logical_c + } + # endif /* PLATFORM_AARCH64 */ + #else +-# warning This CPU architecture is not supported by libcpuid ++#pragma message("Warning: This CPU architecture is not supported by libcpuid") + UNUSED(data); + #endif + diff --git a/ports/cpuid/fix-build.patch b/ports/cpuid/fix-build.patch index 02ce135cc6c3c1..2edb36c639c22f 100644 --- a/ports/cpuid/fix-build.patch +++ b/ports/cpuid/fix-build.patch @@ -1,11 +1,12 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt +index a8f9f25..21e2c37 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -38,7 +38,6 @@ endif(UNIX) +@@ -66,7 +66,6 @@ endif(UNIX) # Include subdirectories add_subdirectory(libcpuid) -add_subdirectory(cpuid_tool) - if(LIBCPUID_TESTS) - add_subdirectory(tests) - endif() + if(LIBCPUID_BUILD_DRIVERS) + add_subdirectory(drivers) + endif(LIBCPUID_BUILD_DRIVERS) diff --git a/ports/cpuid/portfile.cmake b/ports/cpuid/portfile.cmake index 7e9cbc843b3b8d..ecc135571b7b93 100644 --- a/ports/cpuid/portfile.cmake +++ b/ports/cpuid/portfile.cmake @@ -1,17 +1,19 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO anrieff/libcpuid - REF v0.6.2 - SHA512 36175387ae86e6f602544c516a875ac7fe0a3bde52e3e3c09f8852a804dd252694e17c638723aa3d36219d4588981cfd2261086bcf561d175e7c038e3a69e2ff + REF "v${VERSION}" + SHA512 26353763461cbbe664ddaa6933cbd9016e3b11d8a056bc8c2b92818dfe3a43fcda76a92270f716eeb00ae61b75288c7079add8d7ac2290a0a0d5c3bd7d898d44 HEAD_REF master PATCHES fix-build.patch + fix-LNK2019.patch + fix-MSVC-warning.patch ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DENABLE_DOCS=OFF + -DLIBCPUID_ENABLE_DOCS=OFF ) vcpkg_cmake_install() @@ -23,4 +25,4 @@ vcpkg_copy_pdbs() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/cpuid/vcpkg.json b/ports/cpuid/vcpkg.json index c042ed6f610665..748be11ba07f45 100644 --- a/ports/cpuid/vcpkg.json +++ b/ports/cpuid/vcpkg.json @@ -1,10 +1,11 @@ { "name": "cpuid", - "version": "0.6.2", + "version": "0.7.0", + "port-version": 1, "description": "Provides CPU identification for the x86 (and x86_64)", "homepage": "https://github.com/anrieff/libcpuid", "license": "MIT", - "supports": "(x86 | x64) & !uwp", + "supports": "!uwp & !(windows & arm)", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/crashpad/crashpadConfig.cmake.in b/ports/crashpad/crashpadConfig.cmake.in index 66af474eec6d1c..5af2d26d81d3a0 100644 --- a/ports/crashpad/crashpadConfig.cmake.in +++ b/ports/crashpad/crashpadConfig.cmake.in @@ -6,26 +6,42 @@ if(_IMPORT_PREFIX STREQUAL "/") set(_IMPORT_PREFIX "") endif() -add_library(crashpad INTERFACE) -add_library(crashpad::crashpad ALIAS crashpad) +include(CMakeFindDependencyMacro) +find_dependency(ZLIB) -set(CRASHPAD_LIBRARIES client util base common) +if(NOT TARGET crashpad::crashpad) + add_library(crashpad::crashpad INTERFACE IMPORTED) + target_include_directories(crashpad::crashpad INTERFACE "${_IMPORT_PREFIX}/include/crashpad") -if(WIN32) - target_compile_definitions(crashpad INTERFACE NOMINMAX) -elseif(APPLE) - list(APPEND CRASHPAD_LIBRARIES ApplicationServices - CoreFoundation Foundation IOKit Security bsm mig_output) -endif() + set(_libs vcpkg_crashpad_client vcpkg_crashpad_client_common vcpkg_crashpad_util vcpkg_crashpad_base) + if(APPLE) + list(APPEND _libs mig_output) + endif() + include(SelectLibraryConfigurations) + foreach(_lib IN LISTS _libs) + find_library(CRASHPAD_${_lib}_LIBRARY_RELEASE NAMES ${_lib} PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib" NO_DEFAULT_PATH) + find_library(CRASHPAD_${_lib}_LIBRARY_DEBUG NAMES ${_lib} PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib" NO_DEFAULT_PATH) + select_library_configurations(CRASHPAD_${_lib}) + target_link_libraries(crashpad::crashpad INTERFACE ${CRASHPAD_${_lib}_LIBRARIES}) + endforeach() + + if(WIN32) + target_compile_definitions(crashpad::crashpad INTERFACE NOMINMAX) + elseif(APPLE) + foreach(_lib IN ITEMS ApplicationServices CoreFoundation Foundation IOKit Security bsm) + find_library(CRASHPAD_${_lib}_LIBRARY NAMES ${_lib}) + target_link_libraries(crashpad::crashpad INTERFACE ${CRASHPAD_${_lib}_LIBRARY}) + endforeach() + elseif(ANDROID) + target_link_libraries(crashpad::crashpad INTERFACE log) + endif() -foreach(LIB_NAME ${CRASHPAD_LIBRARIES}) - find_library(_LIB ${LIB_NAME}) - target_link_libraries(crashpad INTERFACE ${_LIB}) - unset(_LIB CACHE) -endforeach() + target_link_libraries(crashpad::crashpad INTERFACE ZLIB::ZLIB) -find_package(ZLIB REQUIRED) -target_link_libraries(crashpad INTERFACE ZLIB::ZLIB) + if(NOT TARGET crashpad) + add_library(crashpad ALIAS crashpad::crashpad) + endif() -target_include_directories(crashpad - INTERFACE ${_IMPORT_PREFIX}/include/crashpad) + unset(_lib) + unset(_libs) +endif() diff --git a/ports/crashpad/fix-lib-name-conflict-1.patch b/ports/crashpad/fix-lib-name-conflict-1.patch new file mode 100644 index 00000000000000..0eaec93a46ea29 --- /dev/null +++ b/ports/crashpad/fix-lib-name-conflict-1.patch @@ -0,0 +1,12 @@ +diff --git a/base/BUILD.gn b/base/BUILD.gn +index 0bcf519..c637f2b 100644 +--- a/base/BUILD.gn ++++ b/base/BUILD.gn +@@ -5,6 +5,7 @@ + import("../build/platform.gni") + + static_library("base") { ++ output_name = "vcpkg_crashpad_base" + sources = [ + "atomicops.h", + "atomicops_internals_atomicword_compat.h", diff --git a/ports/crashpad/fix-lib-name-conflict.patch b/ports/crashpad/fix-lib-name-conflict.patch new file mode 100644 index 00000000000000..033ff738f788fc --- /dev/null +++ b/ports/crashpad/fix-lib-name-conflict.patch @@ -0,0 +1,44 @@ +diff --git a/client/BUILD.gn b/client/BUILD.gn +index bd150ab..5cbf469 100644 +--- a/client/BUILD.gn ++++ b/client/BUILD.gn +@@ -15,6 +15,7 @@ + import("../build/crashpad_buildconfig.gni") + + crashpad_static_library("client") { ++ output_name = "vcpkg_crashpad_client" + sources = [ + "crashpad_client.h", + "prune_crash_reports.cc", +@@ -114,6 +115,7 @@ crashpad_static_library("client") { + } + + static_library("common") { ++ output_name = "vcpkg_crashpad_client_common" + sources = [ + "annotation.cc", + "annotation.h", +diff --git a/handler/BUILD.gn b/handler/BUILD.gn +index a2d6f7f..70a997e 100644 +--- a/handler/BUILD.gn ++++ b/handler/BUILD.gn +@@ -94,6 +94,7 @@ if (crashpad_is_android) { + } + + static_library("common") { ++ output_name = "vcpkg_crashpad_handler_common" + sources = [ + "crash_report_upload_thread.cc", + "crash_report_upload_thread.h", +diff --git a/util/BUILD.gn b/util/BUILD.gn +index e7ff4a8..9efcb41 100644 +--- a/util/BUILD.gn ++++ b/util/BUILD.gn +@@ -167,6 +167,7 @@ if (crashpad_is_win) { + } + + crashpad_static_library("util") { ++ output_name = "vcpkg_crashpad_util" + sources = [ + "file/delimited_file_reader.cc", + "file/delimited_file_reader.h", diff --git a/ports/crashpad/fix-linux.patch b/ports/crashpad/fix-linux.patch new file mode 100644 index 00000000000000..a24968617e29e4 --- /dev/null +++ b/ports/crashpad/fix-linux.patch @@ -0,0 +1,14 @@ +diff --git a/util/misc/uuid.cc b/util/misc/uuid.cc +index 3013d7b..4cc135f 100644 +--- a/util/misc/uuid.cc ++++ b/util/misc/uuid.cc +@@ -41,7 +41,8 @@ + namespace crashpad { + + static_assert(sizeof(UUID) == 16, "UUID must be 16 bytes"); +-static_assert(std::is_pod::value, "UUID must be POD"); ++static_assert(std::is_standard_layout::value, "UUID must be a standard-layout type"); ++static_assert(std::is_trivial::value, "UUID must be a trivial type"); + + bool UUID::operator==(const UUID& that) const { + return memcmp(this, &that, sizeof(*this)) == 0; diff --git a/ports/crashpad/fix-std-20.patch b/ports/crashpad/fix-std-20.patch new file mode 100644 index 00000000000000..45e29641feb82e --- /dev/null +++ b/ports/crashpad/fix-std-20.patch @@ -0,0 +1,18 @@ +diff --git a/base/atomicops_internals_portable.h b/base/atomicops_internals_portable.h +index 2486fb7..88e2d2d 100644 +--- a/base/atomicops_internals_portable.h ++++ b/base/atomicops_internals_portable.h +@@ -51,13 +51,7 @@ static_assert(sizeof(*(AtomicLocation32) nullptr) == sizeof(Atomic32), + "incompatible 32-bit atomic layout"); + + inline void MemoryBarrier() { +-#if defined(__GLIBCXX__) +- // Work around libstdc++ bug 51038 where atomic_thread_fence was declared but +- // not defined, leading to the linker complaining about undefined references. +- __atomic_thread_fence(std::memory_order_seq_cst); +-#else + std::atomic_thread_fence(std::memory_order_seq_cst); +-#endif + } + + inline Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32* ptr, diff --git a/ports/crashpad/ndk-toolchain.diff b/ports/crashpad/ndk-toolchain.diff new file mode 100644 index 00000000000000..1b16dfa4880331 --- /dev/null +++ b/ports/crashpad/ndk-toolchain.diff @@ -0,0 +1,22 @@ +diff --git a/build/config/BUILD.gn b/build/config/BUILD.gn +index 0802be8..dd77285 100644 +--- a/build/config/BUILD.gn ++++ b/build/config/BUILD.gn +@@ -425,7 +425,7 @@ toolchain("gcc_like_toolchain") { + ]) + + if (target_cpu == "arm") { +- tool_prefix = "arm-linux-androideabi" ++ # unused + } else if (target_cpu == "arm64") { + tool_prefix = "aarch64-linux-android" + } else if (target_cpu == "x86") { +@@ -446,7 +446,7 @@ toolchain("gcc_like_toolchain") { + cxx = ndk_bin_dir + clang_prefix + "-clang++" + asm = cxx + ld = cxx +- ar = ndk_bin_dir + tool_prefix + "-ar" ++ ar = ndk_bin_dir + "llvm-ar" + } else { + cc = "clang" + cxx = "clang++" diff --git a/ports/crashpad/portfile.cmake b/ports/crashpad/portfile.cmake index b370f22a406fc2..57ad2305cdc145 100644 --- a/ports/crashpad/portfile.cmake +++ b/ports/crashpad/portfile.cmake @@ -3,40 +3,36 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_git( OUT_SOURCE_PATH SOURCE_PATH URL https://chromium.googlesource.com/crashpad/crashpad - REF 261679b3d2f3336d8531ed38e110254c3e2d1c10 + REF 7e0af1d4d45b526f01677e74a56f4a951b70517d + PATCHES + fix-linux.patch + fix-lib-name-conflict.patch ) vcpkg_find_acquire_program(PYTHON3) vcpkg_replace_string("${SOURCE_PATH}/.gn" "script_executable = \"python3\"" "script_executable = \"${PYTHON3}\"") -function(checkout_in_path PATH URL REF) - if(EXISTS "${PATH}") - return() - endif() - - vcpkg_from_git( - OUT_SOURCE_PATH DEP_SOURCE_PATH - URL "${URL}" - REF "${REF}" - ) - file(RENAME "${DEP_SOURCE_PATH}" "${PATH}") - file(REMOVE_RECURSE "${DEP_SOURCE_PATH}") -endfunction() - # mini_chromium contains the toolchains and build configuration -checkout_in_path( - "${SOURCE_PATH}/third_party/mini_chromium/mini_chromium" - "https://chromium.googlesource.com/chromium/mini_chromium" - "5654edb4225bcad13901155c819febb5748e502b" -) +if(NOT EXISTS "${SOURCE_PATH}/third_party/mini_chromium/mini_chromium/BUILD.gn") + vcpkg_from_git(OUT_SOURCE_PATH mini_chromium + URL "https://chromium.googlesource.com/chromium/mini_chromium" + REF dce72d97d1c2e9beb5e206c6a05a702269794ca3 + PATCHES + fix-std-20.patch + ndk-toolchain.diff + fix-lib-name-conflict-1.patch + ) + file(REMOVE_RECURSE "${SOURCE_PATH}/third_party/mini_chromium/mini_chromium") + file(RENAME "${mini_chromium}" "${SOURCE_PATH}/third_party/mini_chromium/mini_chromium") +endif() -if(VCPKG_TARGET_IS_LINUX) - # fetch lss - checkout_in_path( - "${SOURCE_PATH}/third_party/lss/lss" - https://chromium.googlesource.com/linux-syscall-support - 9719c1e1e676814c456b55f5f070eabad6709d31 +if(NOT EXISTS "${SOURCE_PATH}/third_party/lss/lss/BUILD.gn" AND (VCPKG_TARGET_IS_ANDROID OR VCPKG_TARGET_IS_LINUX)) + vcpkg_from_git(OUT_SOURCE_PATH lss + URL https://chromium.googlesource.com/linux-syscall-support + REF 9719c1e1e676814c456b55f5f070eabad6709d31 ) + file(REMOVE_RECURSE "${SOURCE_PATH}/third_party/lss/lss") + file(RENAME "${lss}" "${SOURCE_PATH}/third_party/lss/lss") endif() function(replace_gn_dependency INPUT_FILE OUTPUT_FILE LIBRARY_NAMES) @@ -45,7 +41,7 @@ function(replace_gn_dependency INPUT_FILE OUTPUT_FILE LIBRARY_NAMES) PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) - if(_LIBRARY_DEB MATCHES "-NOTFOUND") + if(_LIBRARY_DEB MATCHES "-NOTFOUND" AND NOT VCPKG_BUILD_TYPE) message(FATAL_ERROR "Could not find debug library with names: ${LIBRARY_NAMES}") endif() @@ -70,10 +66,24 @@ replace_gn_dependency( "z;zlib;zlibd" ) +set(OPTIONS "target_cpu=\"${VCPKG_TARGET_ARCHITECTURE}\"") set(OPTIONS_DBG "is_debug=true") set(OPTIONS_REL "") -if(CMAKE_HOST_WIN32) +if(VCPKG_TARGET_IS_ANDROID) + vcpkg_cmake_get_vars(cmake_vars_file) + include("${cmake_vars_file}") + string(APPEND OPTIONS " target_os=\"android\" android_ndk_root=\"${VCPKG_DETECTED_CMAKE_ANDROID_NDK}\"") + +elseif(VCPKG_TARGET_IS_LINUX) + string(APPEND OPTIONS " target_os=\"linux\"") + +elseif(VCPKG_TARGET_IS_OSX) + string(APPEND OPTIONS " target_os=\"mac\"") + +elseif(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + string(APPEND OPTIONS " target_os=\"win\"") + # Load toolchains vcpkg_cmake_get_vars(cmake_vars_file) include("${cmake_vars_file}") @@ -101,7 +111,7 @@ endif() vcpkg_gn_configure( SOURCE_PATH "${SOURCE_PATH}" - OPTIONS " target_cpu=\"${VCPKG_TARGET_ARCHITECTURE}\" " + OPTIONS "${OPTIONS}" OPTIONS_DEBUG "${OPTIONS_DBG}" OPTIONS_RELEASE "${OPTIONS_REL}" ) @@ -121,10 +131,14 @@ install_headers("${SOURCE_PATH}/util") install_headers("${SOURCE_PATH}/third_party/mini_chromium/mini_chromium/base") install_headers("${SOURCE_PATH}/third_party/mini_chromium/mini_chromium/build") -file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/gen/build/chromeos_buildflags.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}/build") -file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/gen/build/chromeos_buildflags.h.flags" DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}/build") +if(NOT VCPKG_BUILD_TYPE) + file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/gen/build/chromeos_buildflags.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}/build") + file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/gen/build/chromeos_buildflags.h.flags" DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}/build") +endif() if(VCPKG_TARGET_IS_OSX) - file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/obj/util/libmig_output.a" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") + if(NOT VCPKG_BUILD_TYPE) + file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/obj/util/libmig_output.a" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") + endif() file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/obj/util/libmig_output.a" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") endif() diff --git a/ports/crashpad/vcpkg.json b/ports/crashpad/vcpkg.json index 1045e792911b8a..008749cd6c8ce4 100644 --- a/ports/crashpad/vcpkg.json +++ b/ports/crashpad/vcpkg.json @@ -1,15 +1,20 @@ { "name": "crashpad", - "version-date": "2022-09-05", - "port-version": 4, + "version-date": "2024-04-11", + "port-version": 5, "description": [ "Crashpad is a crash-reporting system.", "Crashpad is a library for capturing, storing and transmitting postmortem crash reports from a client to an upstream collection server. Crashpad aims to make it possible for clients to capture process state at the time of crash with the best possible fidelity and coverage, with the minimum of fuss." ], "homepage": "https://chromium.googlesource.com/crashpad/crashpad/+/master/README.md", "license": "Apache-2.0", - "supports": "linux | osx | (windows & !uwp)", + "supports": "android | linux | osx | (windows & !uwp)", "dependencies": [ + { + "name": "curl", + "default-features": false, + "platform": "linux" + }, { "name": "vcpkg-cmake-get-vars", "host": true diff --git a/ports/crc32c/vcpkg.json b/ports/crc32c/vcpkg.json index 3acb74812e56b7..3f8718aaa919b0 100644 --- a/ports/crc32c/vcpkg.json +++ b/ports/crc32c/vcpkg.json @@ -1,9 +1,10 @@ { "name": "crc32c", "version": "1.1.2", - "port-version": 1, + "port-version": 2, "description": "CRC32C implementation with support for CPU-specific acceleration instructions.", "homepage": "https://github.com/google/crc32c", + "license": "BSD-3-Clause", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/crfsuite/CMakeLists.txt b/ports/crfsuite/CMakeLists.txt index 05dfa88d06a267..680a571569e0ed 100644 --- a/ports/crfsuite/CMakeLists.txt +++ b/ports/crfsuite/CMakeLists.txt @@ -1,6 +1,10 @@ cmake_minimum_required(VERSION 3.19 FATAL_ERROR) PROJECT(crfsuite) +if(ANDROID AND ANDROID_NATIVE_API_LEVEL LESS 28) + set(CMAKE_C_STANDARD 99) # no aligned_alloc +endif() + file(GLOB SOURCE_FILE_CQDB "lib/cqdb/src/*.c" ) diff --git a/ports/crfsuite/vcpkg.json b/ports/crfsuite/vcpkg.json index b15828231253e5..bfb71241242e84 100644 --- a/ports/crfsuite/vcpkg.json +++ b/ports/crfsuite/vcpkg.json @@ -1,6 +1,7 @@ { "name": "crfsuite", "version-date": "2020-08-27", + "port-version": 1, "description": "CRFSuite is an implementation of Conditional Random Fields (CRFs) for labeling sequential data.", "homepage": "https://www.chokkan.org/software/crfsuite/", "license": null, diff --git a/ports/crow/portfile.cmake b/ports/crow/portfile.cmake index 39e199334307dd..a4ed0c9a415302 100644 --- a/ports/crow/portfile.cmake +++ b/ports/crow/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO CrowCpp/crow - REF edf12f699ec3bf6f751cf73cb97f32919e48ca6e # v1.0+5 - SHA512 615a12d39198f2b3e48d795a65590050e8416a0c36b8b54fadea57e447393c4328f3c3ae04f9a7ce5a769efcf000ab2aa5057d6431569a6ec2ffa5f19055d743 + REF "v${VERSION}" + SHA512 0fdba3c3697f53ff231cc1637b613f382b5c0230b700745548c1a0ef03c3b25f92ec15f8d1f9bca1a74cffe07053d7a829732475a8a392ee8c682ccfba91539e HEAD_REF master ) diff --git a/ports/crow/vcpkg.json b/ports/crow/vcpkg.json index cf728e59e1d084..1cedcc7c7ce564 100644 --- a/ports/crow/vcpkg.json +++ b/ports/crow/vcpkg.json @@ -1,17 +1,11 @@ { "name": "crow", - "version": "1.0-5", + "version": "1.2.0", "description": "Very fast and easy to use C++ micro web framework", "homepage": "https://github.com/CrowCpp/crow", "license": "BSD-3-Clause", "dependencies": [ - "boost-algorithm", - "boost-array", - "boost-asio", - "boost-date-time", - "boost-functional", - "boost-lexical-cast", - "boost-optional", + "asio", { "name": "vcpkg-cmake", "host": true diff --git a/ports/cryptopp/cryptopp.patch b/ports/cryptopp/cryptopp.patch new file mode 100644 index 00000000000000..a1f66b4a45180c --- /dev/null +++ b/ports/cryptopp/cryptopp.patch @@ -0,0 +1,26 @@ +diff --git a/secblock.h b/secblock.h +index 5ab920f9..74d939cf 100644 +--- a/secblock.h ++++ b/secblock.h +@@ -270,7 +270,7 @@ public: + /// \details VS.NET STL enforces the policy of "All STL-compliant allocators + /// have to provide a template class member called rebind". + template struct rebind { typedef AllocatorWithCleanup other; }; +-#if (CRYPTOPP_MSC_VERSION >= 1500) ++#if (CRYPTOPP_MSC_VERSION >= 1500) || defined(__clang__) + AllocatorWithCleanup() {} + template AllocatorWithCleanup(const AllocatorWithCleanup &) {} + #endif +diff --git a/zdeflate.cpp b/zdeflate.cpp +index b3514b55..20717c24 100644 +--- a/zdeflate.cpp ++++ b/zdeflate.cpp +@@ -413,7 +413,7 @@ unsigned int Deflator::LongestMatch(unsigned int &bestMatch) const + { + CRYPTOPP_ASSERT(scan[2] == match[2]); + unsigned int len = (unsigned int)( +-#if defined(_STDEXT_BEGIN) && !(defined(CRYPTOPP_MSC_VERSION) && (CRYPTOPP_MSC_VERSION < 1400 || CRYPTOPP_MSC_VERSION >= 1600)) && !defined(_STLPORT_VERSION) ++#if defined(_STDEXT_BEGIN) && !(defined(CRYPTOPP_MSC_VERSION) && (CRYPTOPP_MSC_VERSION < 1400 || CRYPTOPP_MSC_VERSION >= 1600)) && !defined(_STLPORT_VERSION) && !defined(__clang__) + stdext::unchecked_mismatch + #else + std::mismatch diff --git a/ports/cryptopp/portfile.cmake b/ports/cryptopp/portfile.cmake index f68cd038d8417f..70df01300f6b83 100644 --- a/ports/cryptopp/portfile.cmake +++ b/ports/cryptopp/portfile.cmake @@ -15,7 +15,9 @@ vcpkg_from_github( REF "CRYPTOPP_${CRYPTOPP_VERSION}" SHA512 28a67141155c9c15e3e6a2173b3a8487cc38a2a2ade73bf4a09814ca541be6b06e9a501be26f7e2f42a2f80df21b076aa5d8ad4224dc0a1f8d7f3b24deae465e HEAD_REF master - PATCHES patch.patch + PATCHES + patch.patch + cryptopp.patch ) file(COPY "${CMAKE_SOURCE_PATH}/cryptopp" DESTINATION "${SOURCE_PATH}") diff --git a/ports/cryptopp/vcpkg.json b/ports/cryptopp/vcpkg.json index e3706c6c2fb6bb..7dc2c2de6b1757 100644 --- a/ports/cryptopp/vcpkg.json +++ b/ports/cryptopp/vcpkg.json @@ -1,6 +1,7 @@ { "name": "cryptopp", "version": "8.9.0", + "port-version": 1, "description": "Crypto++ is a free C++ class library of cryptographic schemes.", "homepage": "https://github.com/weidai11/cryptopp", "license": "BSL-1.0", diff --git a/ports/cserialport/portfile.cmake b/ports/cserialport/portfile.cmake index d1fceff0c79487..2e49f3c76ac87e 100644 --- a/ports/cserialport/portfile.cmake +++ b/ports/cserialport/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO itas109/CSerialPort - REF v4.3.0 - SHA512 dfe8eff2c78e06667c5de638d9fb688a42d473037415244f5f3a13b875604439447844bb12106a47d81155f05867b3d7c01577ee1942cf6af255a997c40954f8 + REF "v${VERSION}" + SHA512 a642087f3683ec1c97009f1cbc0b1d277101cf08b3bf43207b9474f657e11d711160b011c5aeed6f99ca1307d90ec44f7c664533f7eaa112805cf994a0ce365e HEAD_REF master ) diff --git a/ports/cserialport/vcpkg.json b/ports/cserialport/vcpkg.json index e8cacfaacb850e..2dd530641223ee 100644 --- a/ports/cserialport/vcpkg.json +++ b/ports/cserialport/vcpkg.json @@ -1,8 +1,7 @@ { "name": "cserialport", - "version": "4.3.0", - "port-version": 1, - "description": "C++ lightweight cross-platform serial port library, also support C#, Java, Python, Node.js etc.", + "version": "4.3.1", + "description": "C++ lightweight cross-platform serial port library, also support C, C#, Java, Python, Node.js, Electron etc.", "homepage": "https://github.com/itas109/CSerialPort", "license": "LGPL-3.0-only", "supports": "!uwp & !xbox", diff --git a/ports/ctbench/portfile.cmake b/ports/ctbench/portfile.cmake index d9ce9f30dd8a6a..038b8ad34a7bd4 100644 --- a/ports/ctbench/portfile.cmake +++ b/ports/ctbench/portfile.cmake @@ -1,11 +1,20 @@ message(WARNING "Building ${PORT} requires a C++20 compliant compiler. GCC 12 and Clang 15 are known to work.") +vcpkg_download_distfile( + BOOST_1_86_FIX + URLS https://github.com/JPenuchot/ctbench/commit/d61e61c6e6693c768f728c58bfbe3f07e404b9f7.patch?full_index=1 + FILENAME ctbench-boost-1-86-fix-d61e61c6e6693c768f728c58bfbe3f07e404b9f7.patch + SHA512 cbcba17cf71977b188456ca4abb5044d7ec99ac7fb511bf29e5a4f2fb8f1be13682f23c256f7c03e83e6e77ed0905c3b02d384bff5f9b36d3c059b2219b09b94 +) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO jpenuchot/ctbench REF "v${VERSION}" - SHA512 6dd3d28f57fd80b4ce06fad71cdb60bf0aec28e475183314b1c37af093e9e696a7aa58516c4d4580e26bc88a9ada02216e8e2043e2afc8ec60bd25d5dde14de8 + SHA512 862bfa72c4e98983fe8ac954de02b8f931c672ad3072ca84a0b9d527baa7572cafe235400d28e1f92b86154c9007d40cc2f034510ceda638e25c63625cb9cbf9 HEAD_REF main + PATCHES + "${BOOST_1_86_FIX}" ) vcpkg_cmake_configure( diff --git a/ports/ctbench/vcpkg.json b/ports/ctbench/vcpkg.json index bcd7d52ad0d3a1..db24fdd0b1d732 100644 --- a/ports/ctbench/vcpkg.json +++ b/ports/ctbench/vcpkg.json @@ -1,6 +1,7 @@ { "name": "ctbench", - "version": "1.3.3", + "version": "1.3.4", + "port-version": 1, "description": "Compiler-assisted variable size benchmarking for the study of C++ metaprogram compile times.", "homepage": "https://github.com/JPenuchot/ctbench", "documentation": "https://jpenuchot.github.io/ctbench-docs/", diff --git a/ports/ctbignum/no-boost.patch b/ports/ctbignum/no-boost.patch new file mode 100644 index 00000000000000..2df58229f65082 --- /dev/null +++ b/ports/ctbignum/no-boost.patch @@ -0,0 +1,23 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a5070b1..b60462b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -19,18 +19,6 @@ cmake_minimum_required(VERSION 3.0.0) + ## + project(ctbignum VERSION 0.1 LANGUAGES CXX) + +-## +-## INCLUDE +-## +-## +-include(ExternalProject) +- +-## External dependencies +-find_package(Boost 1.61 REQUIRED) +-if(Boost_FOUND) +- include_directories(${Boost_INCLUDE_DIRS}) +-endif() +- + ## + ## OPTIONS + ## diff --git a/ports/ctbignum/portfile.cmake b/ports/ctbignum/portfile.cmake index 1260fbfeaff0ea..650ad8ecd8a703 100644 --- a/ports/ctbignum/portfile.cmake +++ b/ports/ctbignum/portfile.cmake @@ -4,6 +4,8 @@ vcpkg_from_github( REF cf3233d8b7dcff59f29a7389204959ee2228a4af SHA512 8cd5e187836f48165a088a171c87ce438393e66f7362af1b67a253ae6ef0b17c41468e21e0dfe337094796f2b2a2fa5062cc9a9231afc377f187baf1ead1257e HEAD_REF master + PATCHES + no-boost.patch ) vcpkg_cmake_configure( diff --git a/ports/ctbignum/vcpkg.json b/ports/ctbignum/vcpkg.json index eeb145c861b2c4..57e333306f81c0 100644 --- a/ports/ctbignum/vcpkg.json +++ b/ports/ctbignum/vcpkg.json @@ -1,11 +1,10 @@ { "name": "ctbignum", "version-date": "2019-08-02", - "port-version": 3, + "port-version": 5, "description": "This is a header-only template library for fixed-width \"small big-integer\" computations, for use during run-time as well as compile-time.", "homepage": "https://github.com/niekbouman/ctbignum", "dependencies": [ - "boost", { "name": "vcpkg-cmake", "host": true diff --git a/ports/cthash/portfile.cmake b/ports/cthash/portfile.cmake new file mode 100644 index 00000000000000..5be897cdf11f4d --- /dev/null +++ b/ports/cthash/portfile.cmake @@ -0,0 +1,11 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO hanickadot/cthash + REF cb62928766c9623bf86072e412220d59a65407d4 + SHA512 9ce214eff8772fcbdeac147ffdb7dadb8755bf101ed8b5fd5961ed57bfe314392dc42d40699ad1ff41d823cc132488ae936b2cb17615a1ce6740cba655e89498 + HEAD_REF main +) + +file(INSTALL "${SOURCE_PATH}/include/cthash" DESTINATION "${CURRENT_PACKAGES_DIR}/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/cthash/vcpkg.json b/ports/cthash/vcpkg.json new file mode 100644 index 00000000000000..1fcdc554cc997c --- /dev/null +++ b/ports/cthash/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "cthash", + "version-date": "2024-11-16", + "description": "constexpr implementation of SHA-2 and SHA-3 family of hashes", + "homepage": "https://github.com/hanickadot/cthash", + "license": "Apache-2.0" +} diff --git a/ports/ctre/portfile.cmake b/ports/ctre/portfile.cmake index 6181e1aa0b2e11..4d4686ddb88d2c 100644 --- a/ports/ctre/portfile.cmake +++ b/ports/ctre/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO hanickadot/compile-time-regular-expressions REF "v${VERSION}" - SHA512 bc0382156059999a5d55cd68dcfa35974c5dab56a10e970ce4eefe455fa3e53276bc87c7e7698de4b8a6a4d984f5883926668847816a1a594b94cac9d42ac4b8 + SHA512 252f4e8c516be8b240e4907de2751e17c97cb0154e6b0104f743e3ac70d58bcced24068fdca8eb3b56e16f52cfcbe8d549140033c1f7cd36269b60a80e017046 HEAD_REF main ) diff --git a/ports/ctre/vcpkg.json b/ports/ctre/vcpkg.json index a8d0f589fad558..6784227cbee2fe 100644 --- a/ports/ctre/vcpkg.json +++ b/ports/ctre/vcpkg.json @@ -1,6 +1,6 @@ { "name": "ctre", - "version": "3.8", + "version": "3.9.0", "description": "A Compile time PCRE (almost) compatible regular expression matcher", "homepage": "https://github.com/hanickadot/compile-time-regular-expressions", "license": "Apache-2.0", diff --git a/ports/ctstraffic/portfile.cmake b/ports/ctstraffic/portfile.cmake new file mode 100644 index 00000000000000..ee63d075e5e31f --- /dev/null +++ b/ports/ctstraffic/portfile.cmake @@ -0,0 +1,29 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO microsoft/ctsTraffic + REF 88a415197951912fc70e440b31cad8d4ff4ea68a + SHA512 152ee25d1ba70c68c5bae61ee08d1d2905efd28a10c48672de852c8ee9d0964a9202814cdcc40bca712ef69f952630509810827226861dad16516f5e0827d879 + HEAD_REF master +) + +set(VCPKG_BUILD_TYPE release) # Windows port only includes tools. + +include("${CURRENT_PORT_DIR}/prepare_for_build.cmake") +prepare_for_build("${SOURCE_PATH}") + +vcpkg_list(SET MSBUILD_OPTIONS + "/p:UseVcpkg=yes" +) + +vcpkg_msbuild_install( + SOURCE_PATH "${SOURCE_PATH}" + PROJECT_SUBPATH ctsTraffic/ctsTraffic.vcxproj + OPTIONS + ${MSBUILD_OPTIONS} +) + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/ctstraffic/prepare_for_build.cmake b/ports/ctstraffic/prepare_for_build.cmake new file mode 100644 index 00000000000000..90333e939123e5 --- /dev/null +++ b/ports/ctstraffic/prepare_for_build.cmake @@ -0,0 +1,19 @@ +function(prepare_for_build CTSTRAFFIC_SOURCE_DIR) + + message("-- Modifying hardcoded 'NuGet' directives in .vcxproj files") + file(GLOB_RECURSE PROJ_FILES "${CTSTRAFFIC_SOURCE_DIR}/*.vcxproj") + + foreach(PROJ_FILE ${PROJ_FILES}) + file(READ ${PROJ_FILE} PROJ_FILE_CONTENT) + STRING(REGEX + REPLACE + "" + "" + PROJ_FILE_CONTENT + "${PROJ_FILE_CONTENT}" + ) + + file(WRITE ${PROJ_FILE} "${PROJ_FILE_CONTENT}") + endforeach() + +endfunction() diff --git a/ports/ctstraffic/usage b/ports/ctstraffic/usage new file mode 100644 index 00000000000000..3c3b7430515192 --- /dev/null +++ b/ports/ctstraffic/usage @@ -0,0 +1,3 @@ +See https://github.com/microsoft/ctsTraffic for usage instructions or + + .\ctsTraffic.exe -help \ No newline at end of file diff --git a/ports/ctstraffic/vcpkg.json b/ports/ctstraffic/vcpkg.json new file mode 100644 index 00000000000000..ef5b3a08aee3a0 --- /dev/null +++ b/ports/ctstraffic/vcpkg.json @@ -0,0 +1,15 @@ +{ + "name": "ctstraffic", + "version": "2.0.3.2", + "description": "ctsTraffic is a highly scalable client/server networking tool giving detailed performance and reliability analytics.", + "homepage": "https://github.com/microsoft/ctsTraffic/", + "license": "Apache-2.0", + "supports": "windows & !uwp", + "dependencies": [ + { + "name": "vcpkg-msbuild", + "host": true + }, + "wil" + ] +} diff --git a/ports/cuda-api-wrappers/portfile.cmake b/ports/cuda-api-wrappers/portfile.cmake new file mode 100644 index 00000000000000..26a8caac964a66 --- /dev/null +++ b/ports/cuda-api-wrappers/portfile.cmake @@ -0,0 +1,25 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO eyalroz/cuda-api-wrappers + REF "v${VERSION}" + SHA512 14df77c3d613500e57f223fb692b04ea89c6b6b4ba9ecc1b58059e1b2970acaa8986cb55f3f090d305a3fe6136a83d2a8cf0bb88e02be691456fcef1b1867ef9 + HEAD_REF master +) + +# head only library +set(VCPKG_BUILD_TYPE release) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DCAW_BUILD_EXAMPLES=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/cuda-api-wrappers/usage b/ports/cuda-api-wrappers/usage new file mode 100644 index 00000000000000..fb7ec925f18a4a --- /dev/null +++ b/ports/cuda-api-wrappers/usage @@ -0,0 +1,4 @@ +cuda-api-wrappers provides CMake targets: + + find_package(cuda-api-wrappers CONFIG REQUIRED) + target_link_libraries(main PRIVATE cuda-api-wrappers::rtc cuda-api-wrappers::nvtx cuda-api-wrappers::runtime-and-driver cuda-api-wrappers::fatbin) diff --git a/ports/cuda-api-wrappers/vcpkg.json b/ports/cuda-api-wrappers/vcpkg.json new file mode 100644 index 00000000000000..6ef88438c586bf --- /dev/null +++ b/ports/cuda-api-wrappers/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "cuda-api-wrappers", + "version": "0.8.0", + "description": "Header-only library of integrated wrappers around the core parts of NVIDIA's CUDA execution ecosystem", + "homepage": "https://github.com/eyalroz/cuda-api-wrappers", + "license": "BSD-3-Clause", + "dependencies": [ + "cuda", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/cudnn/FindCUDNN.cmake b/ports/cudnn/FindCUDNN.cmake index 178cdaf02f2328..872b5c43a3fd80 100644 --- a/ports/cudnn/FindCUDNN.cmake +++ b/ports/cudnn/FindCUDNN.cmake @@ -23,13 +23,17 @@ # include(FindPackageHandleStandardArgs) - +file(GLOB CUDNN_VERSION_DIRS + LIST_DIRECTORIES true + "$ENV{CUDA_PATH}/../../../NVIDIA/CUDNN/v[1-9]*.[1-9]*" +) find_path(CUDNN_INCLUDE_DIR NAMES cudnn.h cudnn_v8.h cudnn_v7.h - HINTS $ENV{CUDA_PATH} $ENV{CUDA_TOOLKIT_ROOT_DIR} $ENV{cudnn} $ENV{CUDNN} $ENV{CUDNN_ROOT_DIR} /usr/include /usr/include/x86_64-linux-gnu/ - PATH_SUFFIXES cuda/include include) + HINTS ${CUDA_TOOLKIT_ROOT} $ENV{CUDA_PATH} $ENV{CUDA_TOOLKIT_ROOT_DIR} $ENV{cudnn} $ENV{CUDNN} $ENV{CUDNN_ROOT_DIR} ${CUDNN_VERSION_DIRS} /usr/include /usr/include/x86_64-linux-gnu/ /usr/include/aarch64-linux-gnu/ + PATH_SUFFIXES cuda/include include include/11.8 include/12.0 include/12.1 include/12.2 include/12.3 include/12.4 include/12.5 include/12.6) find_library(CUDNN_LIBRARY NAMES cudnn cudnn8 cudnn7 - HINTS $ENV{CUDA_PATH} $ENV{CUDA_TOOLKIT_ROOT_DIR} $ENV{cudnn} $ENV{CUDNN} $ENV{CUDNN_ROOT_DIR} /usr/lib/x86_64-linux-gnu/ /usr/ - PATH_SUFFIXES lib lib64 cuda/lib cuda/lib64 lib/x64 cuda/lib/x64) + HINTS ${CUDA_TOOLKIT_ROOT} $ENV{CUDA_PATH} $ENV{CUDA_TOOLKIT_ROOT_DIR} $ENV{cudnn} $ENV{CUDNN} $ENV{CUDNN_ROOT_DIR} ${CUDNN_VERSION_DIRS} /usr/lib/x86_64-linux-gnu/ /usr/include/aarch64-linux-gnu/ /usr/ + PATH_SUFFIXES lib lib64 cuda/lib cuda/lib64 lib/x64 cuda/lib/x64 lib/11.8/x64 lib/12.0/x64 lib/12.1/x64 lib/12.2/x64 lib/12.3/x64 lib/12.4/x64 lib/12.5/x64 lib/12.6/x64) + if(EXISTS "${CUDNN_INCLUDE_DIR}/cudnn.h") file(READ ${CUDNN_INCLUDE_DIR}/cudnn.h CUDNN_HEADER_CONTENTS) elseif(EXISTS "${CUDNN_INCLUDE_DIR}/cudnn_v8.h") diff --git a/ports/cudnn/portfile.cmake b/ports/cudnn/portfile.cmake index 5b2993efefbb3c..99a21742db959c 100644 --- a/ports/cudnn/portfile.cmake +++ b/ports/cudnn/portfile.cmake @@ -3,13 +3,17 @@ set(MINIMUM_CUDNN_VERSION "7.6.5") vcpkg_find_cuda(OUT_CUDA_TOOLKIT_ROOT CUDA_TOOLKIT_ROOT OUT_CUDA_VERSION CUDA_VERSION) # Try to find CUDNN if it exists; only download if it doesn't exist +file(GLOB CUDNN_VERSION_DIRS + LIST_DIRECTORIES true + "$ENV{CUDA_PATH}/../../../NVIDIA/CUDNN/v[1-9]*.[1-9]*" +) find_path(CUDNN_INCLUDE_DIR NAMES cudnn.h cudnn_v8.h cudnn_v7.h - HINTS ${CUDA_TOOLKIT_ROOT} $ENV{CUDA_PATH} $ENV{CUDA_TOOLKIT_ROOT_DIR} $ENV{cudnn} $ENV{CUDNN} $ENV{CUDNN_ROOT_DIR} /usr/include /usr/include/x86_64-linux-gnu/ /usr/include/aarch64-linux-gnu/ - PATH_SUFFIXES cuda/include include) + HINTS ${CUDA_TOOLKIT_ROOT} $ENV{CUDA_PATH} $ENV{CUDA_TOOLKIT_ROOT_DIR} $ENV{cudnn} $ENV{CUDNN} $ENV{CUDNN_ROOT_DIR} ${CUDNN_VERSION_DIRS} /usr/include /usr/include/x86_64-linux-gnu/ /usr/include/aarch64-linux-gnu/ + PATH_SUFFIXES cuda/include include include/11.8 include/12.0 include/12.1 include/12.2 include/12.3 include/12.4 include/12.5 include/12.6) message(STATUS "CUDNN_INCLUDE_DIR: ${CUDNN_INCLUDE_DIR}") find_library(CUDNN_LIBRARY NAMES cudnn cudnn8 cudnn7 - HINTS ${CUDA_TOOLKIT_ROOT} $ENV{CUDA_PATH} $ENV{CUDA_TOOLKIT_ROOT_DIR} $ENV{cudnn} $ENV{CUDNN} $ENV{CUDNN_ROOT_DIR} /usr/lib/x86_64-linux-gnu/ /usr/include/aarch64-linux-gnu/ /usr/ - PATH_SUFFIXES lib lib64 cuda/lib cuda/lib64 lib/x64 cuda/lib/x64) + HINTS ${CUDA_TOOLKIT_ROOT} $ENV{CUDA_PATH} $ENV{CUDA_TOOLKIT_ROOT_DIR} $ENV{cudnn} $ENV{CUDNN} $ENV{CUDNN_ROOT_DIR} ${CUDNN_VERSION_DIRS} /usr/lib/x86_64-linux-gnu/ /usr/include/aarch64-linux-gnu/ /usr/ + PATH_SUFFIXES lib lib64 cuda/lib cuda/lib64 lib/x64 cuda/lib/x64 lib/11.8/x64 lib/12.0/x64 lib/12.1/x64 lib/12.2/x64 lib/12.3/x64 lib/12.4/x64 lib/12.5/x64 lib/12.6/x64) message(STATUS "CUDNN_LIBRARY: ${CUDNN_LIBRARY}") if(EXISTS "${CUDNN_INCLUDE_DIR}/cudnn.h") file(READ ${CUDNN_INCLUDE_DIR}/cudnn.h CUDNN_HEADER_CONTENTS) @@ -55,7 +59,7 @@ if (CUDNN_INCLUDE_DIR AND CUDNN_LIBRARY AND _CUDNN_VERSION VERSION_GREATER_EQUAL message(STATUS "Found CUDNN ${_CUDNN_VERSION} located on system: (include ${CUDNN_INCLUDE_DIR} lib: ${CUDNN_LIBRARY})") set(VCPKG_POLICY_EMPTY_PACKAGE enabled) elseif(VCPKG_TARGET_IS_WINDOWS) - message(FATAL_ERROR "Please download CUDNN from official sources (such as https://developer.nvidia.com/rdp/cudnn-download ) and extract the zip into your CUDA_TOOLKIT_ROOT (${CUDA_TOOLKIT_ROOT}). (For example: tar.exe -xvf cudnn-11.2-windows-x64-v8.1.1.33.zip --strip 1 --directory \"${CUDA_TOOLKIT_ROOT}\"") + message(FATAL_ERROR "Please download CUDNN from official sources (https://developer.nvidia.com/cudnn) and install it") else() message(FATAL_ERROR "Please install CUDNN using your system package manager (the same way you installed CUDA). For example: apt install libcudnn8-dev.") endif() diff --git a/ports/cudnn/vcpkg.json b/ports/cudnn/vcpkg.json index 32d5756884a54e..ee26880a3448f8 100644 --- a/ports/cudnn/vcpkg.json +++ b/ports/cudnn/vcpkg.json @@ -1,7 +1,7 @@ { "name": "cudnn", "version": "7.6.5", - "port-version": 10, + "port-version": 14, "description": "NVIDIA's cuDNN deep neural network acceleration library.", "homepage": "https://developer.nvidia.com/cudnn", "license": null, diff --git a/ports/curl/0002_fix_uwp.patch b/ports/curl/0002_fix_uwp.patch deleted file mode 100644 index 7e2cf7cd909f58..00000000000000 --- a/ports/curl/0002_fix_uwp.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt -index 6f84919..b838245 100644 ---- a/lib/CMakeLists.txt -+++ b/lib/CMakeLists.txt -@@ -162,6 +162,9 @@ if(BUILD_STATIC_LIBS) - INTERPROCEDURAL_OPTIMIZATION_RELEASE TRUE - INTERPROCEDURAL_OPTIMIZATION_RELWITHDEBINFO TRUE) - endif() -+ if(CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") -+ set_property(TARGET ${LIB_STATIC} APPEND PROPERTY COMPILE_DEFINITIONS "_WINSOCK_DEPRECATED_NO_WARNINGS") -+ endif() - if(CMAKEVERSION AND CMAKESONAME) - set_target_properties(${LIB_STATIC} PROPERTIES - VERSION ${CMAKEVERSION} SOVERSION ${CMAKESONAME}) -@@ -197,6 +200,9 @@ if(BUILD_SHARED_LIBS) - INTERPROCEDURAL_OPTIMIZATION_RELEASE TRUE - INTERPROCEDURAL_OPTIMIZATION_RELWITHDEBINFO TRUE) - endif() -+ if(CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") -+ set_property(TARGET ${LIB_SHARED} APPEND PROPERTY COMPILE_DEFINITIONS "_WINSOCK_DEPRECATED_NO_WARNINGS") -+ endif() - if(CMAKEVERSION AND CMAKESONAME) - set_target_properties(${LIB_SHARED} PROPERTIES - VERSION ${CMAKEVERSION} SOVERSION ${CMAKESONAME}) diff --git a/ports/curl/0012-fix-dependency-idn2.patch b/ports/curl/0012-fix-dependency-idn2.patch deleted file mode 100644 index c0efbba3a208c7..00000000000000 --- a/ports/curl/0012-fix-dependency-idn2.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1b19c68..bb5fba9 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -839,7 +839,8 @@ endif() - # Check for idn2 - option(USE_LIBIDN2 "Use libidn2 for IDN support" ON) - if(USE_LIBIDN2) -- check_library_exists_concat("idn2" idn2_lookup_ul HAVE_LIBIDN2) -+ set(HAVE_LIBIDN2 TRUE) -+ list(INSERT CURL_LIBS 0 ${LIBIDN2_LINK_LIBRARIES}) - else() - set(HAVE_LIBIDN2 OFF) - endif() diff --git a/ports/curl/0020-fix-pc-file.patch b/ports/curl/0020-fix-pc-file.patch index aad6ed9c2a0492..d41c9d0257461e 100644 --- a/ports/curl/0020-fix-pc-file.patch +++ b/ports/curl/0020-fix-pc-file.patch @@ -1,15 +1,15 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index bb5fba9..9919fd3 100644 +index 0cba6f6..851efaf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -1624,7 +1624,9 @@ set(includedir "\${prefix}/include") - set(LDFLAGS "${CMAKE_SHARED_LINKER_FLAGS}") - set(LIBCURL_LIBS "") - set(libdir "${CMAKE_INSTALL_PREFIX}/lib") --foreach(_lib ${CMAKE_C_IMPLICIT_LINK_LIBRARIES} ${CURL_LIBS}) -+set(CURL_LIBS_FLAT "") -+vcpkg_curl_flatten(CURL_LIBS CURL_LIBS_FLAT) -+foreach(_lib ${CURL_LIBS_FLAT}) - if(TARGET "${_lib}") - set(_libname "${_lib}") - get_target_property(_imported "${_libname}" IMPORTED) +@@ -2129,7 +2129,9 @@ if(NOT CURL_DISABLE_INSTALL) + set(_implicit_libs ${CMAKE_C_IMPLICIT_LINK_LIBRARIES}) + endif() + +- foreach(_lib IN LISTS _implicit_libs _custom_libs CURL_LIBS) ++ set(CURL_LIBS_FLAT "") ++ vcpkg_curl_flatten(CURL_LIBS CURL_LIBS_FLAT) ++ foreach(_lib IN LISTS CURL_LIBS_FLAT) + if(TARGET "${_lib}") + set(_libname "${_lib}") + get_target_property(_imported "${_libname}" IMPORTED) diff --git a/ports/curl/0022-deduplicate-libs.patch b/ports/curl/0022-deduplicate-libs.patch index aa47329589d352..3bb4d088db3c7d 100644 --- a/ports/curl/0022-deduplicate-libs.patch +++ b/ports/curl/0022-deduplicate-libs.patch @@ -1,12 +1,15 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 9919fd3..7e513f6 100644 +index da69699..3a9b844 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -1654,6 +1654,7 @@ if(BUILD_SHARED_LIBS) - else() - set(ENABLE_SHARED "no") - set(LIBCURL_NO_SHARED "${LIBCURL_LIBS}") -+ set(LIBCURL_LIBS "") - set(CPPFLAG_CURL_STATICLIB "-DCURL_STATICLIB") - endif() - if(BUILD_STATIC_LIBS) +@@ -2042,8 +2042,10 @@ if(NOT CURL_DISABLE_INSTALL) + set(LIBCURL_PC_CFLAGS "") + else() + set(ENABLE_SHARED "no") ++ set(LIBCURL_PC_REQUIRES_PRIVATE "") # flattened into LIBCURL_PC_LIBS + set(LIBCURL_PC_REQUIRES "${LIBCURL_PC_REQUIRES_PRIVATE}") + set(LIBCURL_PC_LIBS "${LIBCURL_PC_LIBS_PRIVATE}") ++ set(LIBCURL_PC_LIBS_PRIVATE "") # in LIBCURL_PC_LIBS + set(LIBCURL_PC_CFLAGS "${LIBCURL_PC_CFLAGS_PRIVATE}") + endif() + if(BUILD_STATIC_LIBS) diff --git a/ports/curl/cmake-config.patch b/ports/curl/cmake-config.patch index 39b7d28316f6b0..1e980cdf311c74 100644 --- a/ports/curl/cmake-config.patch +++ b/ports/curl/cmake-config.patch @@ -1,13 +1,12 @@ diff --git a/CMake/curl-config.cmake.in b/CMake/curl-config.cmake.in -index c89c686..2f39949 100644 +index a013adf..2f39949 100644 --- a/CMake/curl-config.cmake.in +++ b/CMake/curl-config.cmake.in -@@ -45,4 +45,7 @@ include("${CMAKE_CURRENT_LIST_DIR}/@TARGETS_EXPORT_NAME@.cmake") - check_required_components("@PROJECT_NAME@") +@@ -46,5 +46,6 @@ check_required_components("@PROJECT_NAME@") # Alias for either shared or static library --add_library(@PROJECT_NAME@::libcurl ALIAS @PROJECT_NAME@::@LIB_SELECTED@) -+if(NOT TARGET @PROJECT_NAME@::libcurl) + if(NOT TARGET @PROJECT_NAME@::libcurl) +- add_library(@PROJECT_NAME@::libcurl ALIAS @PROJECT_NAME@::@LIB_SELECTED@) + add_library(@PROJECT_NAME@::libcurl INTERFACE IMPORTED) + set_target_properties(@PROJECT_NAME@::libcurl PROPERTIES INTERFACE_LINK_LIBRARIES @PROJECT_NAME@::@LIB_SELECTED@) -+endif() + endif() diff --git a/ports/curl/cmake-project-include.cmake b/ports/curl/cmake-project-include.cmake index c43df547fc8f5d..dc342947753308 100644 --- a/ports/curl/cmake-project-include.cmake +++ b/ports/curl/cmake-project-include.cmake @@ -1,9 +1,22 @@ +if(ANDROID AND ANDROID_NATIVE_API_LEVEL LESS 24) + # https://android.googlesource.com/platform/bionic/+/master/docs/32-bit-abi.md + set(HAVE_FILE_OFFSET_BITS FALSE CACHE INTERNAL "") +endif() + +if(CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + add_compile_definitions(_WINSOCK_DEPRECATED_NO_WARNINGS) +endif() + # Process the libs and targets in the variable named by `input` # into a flat list of libs in the variable named by `output`. # Simplify -framework elements. # Use -l where possible. # Avoid duplicates. function(vcpkg_curl_flatten input output) + foreach(var IN ITEMS IMPORT_LIBRARY_SUFFIX STATIC_LIBRARY_SUFFIX SHARED_LIBRARY_SUFFIX) + string(REPLACE "." "[.]" "${var}" "${CMAKE_${var}}") + endforeach() + set(output_libs "${${output}}") if(CMAKE_BUILD_TYPE STREQUAL "Debug") string(REGEX REPLACE ";optimized;[^;]*|;debug" "" input_libs "VCPKG;${${input}}") @@ -58,9 +71,11 @@ function(vcpkg_curl_flatten input output) else() set(lib "-framework ${lib}") endif() - elseif(WIN32 AND lib MATCHES ".*/${CMAKE_IMPORT_LIBRARY_PREFIX}([^/]*)${CMAKE_IMPORT_LIBRARY_SUFFIX}") + elseif(WIN32 AND lib MATCHES ".*/${CMAKE_IMPORT_LIBRARY_PREFIX}([^/]*)${IMPORT_LIBRARY_SUFFIX}\$") + set(lib -l${CMAKE_MATCH_1}) + elseif(lib MATCHES ".*/${CMAKE_STATIC_LIBRARY_PREFIX}([^/]*)${STATIC_LIBRARY_SUFFIX}\$") set(lib -l${CMAKE_MATCH_1}) - elseif(lib MATCHES ".*/${CMAKE_STATIC_LIBRARY_PREFIX}([^/]*)${CMAKE_STATIC_LIBRARY_SUFFIX}") + elseif(lib MATCHES ".*/${CMAKE_SHARED_LIBRARY_PREFIX}([^/]*)${SHARED_LIBRARY_SUFFIX}\$") set(lib -l${CMAKE_MATCH_1}) endif() if(NOT "${lib}" IN_LIST output_libs) @@ -70,7 +85,13 @@ function(vcpkg_curl_flatten input output) set("${output}" "${output_libs}" PARENT_SCOPE) endfunction() -if(USE_LIBIDN2) +if(NOT CURL_DISABLE_LDAP AND NOT WIN32) find_package(PkgConfig REQUIRED) - pkg_check_modules(LIBIDN2 REQUIRED libidn2) + pkg_check_modules(LDAP REQUIRED ldap) + set(HAVE_LIBLDAP 1) + set(LDAP_INCLUDE_DIR "${LDAP_INCLUDE_DIRS}") + set(LDAP_LIBRARY "${LDAP_LINK_LIBRARIES}" CACHE STRING "") + pkg_check_modules(LBER REQUIRED lber) + set(HAVE_LIBLBER 1) + set(LDAP_LBER_LIBRARY "${LBER_LINK_LIBRARIES}" CACHE STRING "") endif() diff --git a/ports/curl/dependencies.patch b/ports/curl/dependencies.patch index affbc5ec3063f7..686f35f3ff92e3 100644 --- a/ports/curl/dependencies.patch +++ b/ports/curl/dependencies.patch @@ -1,40 +1,67 @@ diff --git a/CMake/curl-config.cmake.in b/CMake/curl-config.cmake.in -index 056907c..c89c686 100644 +index aa9eb51..c290064 100644 --- a/CMake/curl-config.cmake.in +++ b/CMake/curl-config.cmake.in -@@ -31,6 +31,16 @@ if(@USE_ZLIB@) - find_dependency(ZLIB @ZLIB_VERSION_MAJOR@) +@@ -38,6 +38,19 @@ if("@HAVE_LIBZ@") + find_dependency(ZLIB "@ZLIB_VERSION_MAJOR@") endif() +if("@USE_ARES@") + find_dependency(c-ares CONFIG) +endif() +if("@USE_LIBSSH2@") -+ find_dependency(Libssh2 CONFIG) ++ find_dependency(libssh2 CONFIG) +endif() +if("@HAVE_BROTLI@") + find_dependency(unofficial-brotli CONFIG) +endif() ++if("@HAVE_ZSTD@") ++ find_dependency(zstd CONFIG) ++endif() + include("${CMAKE_CURRENT_LIST_DIR}/@TARGETS_EXPORT_NAME@.cmake") check_required_components("@PROJECT_NAME@") diff --git a/CMakeLists.txt b/CMakeLists.txt -index 049ac34..cc0fe19 100644 +index db3a5ee..a6604e9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -178,7 +178,8 @@ set(CURL_LIBS "") +@@ -267,7 +267,9 @@ set(LIBCURL_PC_REQUIRES_PRIVATE "") if(ENABLE_ARES) set(USE_ARES 1) -- find_package(CARES REQUIRED) -+ find_package(CARES NAMES c-ares CONFIG REQUIRED) -+ set(CARES_LIBRARY c-ares::cares) - list(APPEND CURL_LIBS ${CARES_LIBRARY}) +- find_package(Cares REQUIRED) ++ find_package(CARES NAMES c-ares REQUIRED) ++ set(CARES_INCLUDE_DIRS "") ++ set(CARES_LIBRARIES c-ares::cares) + list(APPEND CURL_LIBS ${CARES_LIBRARIES}) + list(APPEND LIBCURL_PC_REQUIRES_PRIVATE "libcares") + add_definitions("-DCARES_NO_DEPRECATED") # Ignore c-ares deprecation warnings +@@ -685,17 +687,11 @@ if(CURL_USE_WOLFSSL) endif() -@@ -590,7 +591,9 @@ endif() - option(CURL_BROTLI "Set to ON to enable building curl with brotli support." OFF) + if(CURL_USE_GNUTLS) +- if(CURL_USE_PKGCONFIG) +- find_package(PkgConfig QUIET) +- pkg_check_modules(GNUTLS "gnutls") +- if(GNUTLS_FOUND) +- set(GNUTLS_LIBRARIES ${GNUTLS_LINK_LIBRARIES}) +- endif() +- endif() +- if(NOT GNUTLS_FOUND) +- find_package(GnuTLS REQUIRED) +- endif() +- find_package(Nettle REQUIRED) ++ find_package(PkgConfig REQUIRED) ++ pkg_check_modules(GNUTLS REQUIRED gnutls) ++ set(GNUTLS_LIBRARIES "${GNUTLS_LINK_LIBRARIES}") ++ pkg_check_modules(NETTLE REQUIRED nettle) ++ set(NETTLE_LIBRARIES "${NETTLE_LINK_LIBRARIES}") + set(_ssl_enabled ON) + set(USE_GNUTLS ON) + list(APPEND CURL_LIBS ${GNUTLS_LIBRARIES} ${NETTLE_LIBRARIES}) +@@ -761,7 +757,9 @@ endif() + option(CURL_BROTLI "Use brotli" OFF) set(HAVE_BROTLI OFF) if(CURL_BROTLI) - find_package(Brotli REQUIRED) @@ -43,19 +70,78 @@ index 049ac34..cc0fe19 100644 + set(BROTLI_LIBRARIES "unofficial::brotli::brotlidec") if(BROTLI_FOUND) set(HAVE_BROTLI ON) - set(CURL_LIBS "${BROTLI_LIBRARIES};${CURL_LIBS}") # For 'ld' linker. Emulate `list(PREPEND ...)` to stay compatible with )?" "${OPENSSL_LIBRARIES}" _curl_link_libraries "${_curl_link_libraries}") endif() - if(_curl_link_libraries MATCHES "Libssh2::libssh2_(shared|static)") + if(_curl_link_libraries MATCHES "libssh2::libssh2") # TODO: move find_dependency(Libssh2 CONFIG) into CURL config set(_libssh2_target "${CMAKE_MATCH_0}") find_package(Libssh2 CONFIG QUIET) diff --git a/ports/curl/vcpkg.json b/ports/curl/vcpkg.json index e028d38970b833..f6a5187aec898e 100644 --- a/ports/curl/vcpkg.json +++ b/ports/curl/vcpkg.json @@ -1,6 +1,6 @@ { "name": "curl", - "version": "8.4.0", + "version": "8.11.1", "description": "A library for transferring data with URLs", "homepage": "https://curl.se/", "license": "curl AND ISC AND BSD-3-Clause", @@ -32,6 +32,32 @@ "c-ares" ] }, + "gnutls": { + "description": "SSL support (gnutls)", + "dependencies": [ + { + "name": "libgnutls", + "platform": "!windows | mingw" + }, + { + "name": "shiftmedia-libgnutls", + "platform": "windows & !mingw" + } + ] + }, + "gsasl": { + "description": "GSASL support (libgsasl)", + "dependencies": [ + "gsasl" + ] + }, + "gssapi": { + "description": "krb5 support", + "supports": "!windows", + "dependencies": [ + "krb5" + ] + }, "http2": { "description": "HTTP2 support", "dependencies": [ @@ -72,6 +98,23 @@ "libidn2" ] }, + "ldap": { + "description": "LDAP support", + "supports": "!uwp", + "dependencies": [ + { + "name": "curl", + "default-features": false, + "features": [ + "non-http" + ] + }, + { + "name": "openldap", + "platform": "!windows" + } + ] + }, "mbedtls": { "description": "SSL support (mbedTLS)", "dependencies": [ @@ -87,6 +130,12 @@ "openssl" ] }, + "psl": { + "description": "Use psl support (libpsl)", + "dependencies": [ + "libpsl" + ] + }, "schannel": { "description": "SSL support (Secure Channel)", "supports": "windows & !uwp", @@ -162,21 +211,20 @@ "supports": "!uwp" }, "websockets": { - "description": "WebSocket support (experimental)" + "description": "WebSocket support" }, "winidn": { "description": "WinIDN support", "supports": "windows" }, "winldap": { - "description": "LDAP support (WinLDAP). This feature does not include LDAPS support.", - "supports": "windows & !uwp", + "description": "Obsolete. Use feature 'ldap' instead.", "dependencies": [ { "name": "curl", "default-features": false, "features": [ - "non-http" + "ldap" ] } ] diff --git a/ports/curlcpp/fix-cmake.patch b/ports/curlcpp/fix-cmake.patch new file mode 100644 index 00000000000000..86ba562fafa745 --- /dev/null +++ b/ports/curlcpp/fix-cmake.patch @@ -0,0 +1,13 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index f3c6d78..a457717 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -43,7 +43,7 @@ if(NOT BUILD_SHARED_LIBS) + ${CURLCPP_HEADER_LIST} + ) + else() +- add_library(curlcpp ${BUILD_SHARED_LIBS} ++ add_library(curlcpp SHARED + curl_easy.cpp + curl_header.cpp + curl_global.cpp diff --git a/ports/curlcpp/obsolete-curlopt.diff b/ports/curlcpp/obsolete-curlopt.diff new file mode 100644 index 00000000000000..cfb5d2a129c450 --- /dev/null +++ b/ports/curlcpp/obsolete-curlopt.diff @@ -0,0 +1,14 @@ +diff --git a/include/curl_easy.h b/include/curl_easy.h +index 66f8f51..8004957 100644 +--- a/include/curl_easy.h ++++ b/include/curl_easy.h +@@ -358,7 +358,9 @@ namespace curl { + + /* Renamed / obsoleted since 7.37 */ + #if defined(LIBCURL_VERSION_NUM) && LIBCURL_VERSION_NUM > 0x072500 ++# if LIBCURL_VERSION_NUM < 0x080a00 + CURLCPP_DEFINE_OPTION(CURLOPT_OBSOLETE72, long); /* OBSOLETE, do not use! */ ++# endif + #else + CURLCPP_DEFINE_OPTION(CURLOPT_CLOSEPOLICY, long); + #endif diff --git a/ports/curlcpp/portfile.cmake b/ports/curlcpp/portfile.cmake new file mode 100644 index 00000000000000..0ee520b71e83c6 --- /dev/null +++ b/ports/curlcpp/portfile.cmake @@ -0,0 +1,28 @@ +if (VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO JosephP91/curlcpp + REF "${VERSION}" + SHA512 9c84dff893ac4f7a02b6b360d72f9cf65a69ca33bed6c35ceef21cef2f20c1eb36664fdb3e2918a39a88f88bd4104d9d09f5d40168847a3be83135958bd41046 + HEAD_REF master + PATCHES + fix-cmake.patch + obsolete-curlopt.diff +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT} PACKAGE_NAME "curlcpp") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_fixup_pkgconfig() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") \ No newline at end of file diff --git a/ports/curlcpp/vcpkg.json b/ports/curlcpp/vcpkg.json new file mode 100644 index 00000000000000..9247e5ca92cefb --- /dev/null +++ b/ports/curlcpp/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "curlcpp", + "version": "3.1", + "port-version": 1, + "description": "An object oriented C++ wrapper for CURL (libcurl)", + "homepage": "https://josephp91.github.io/curlcpp/", + "license": "MIT", + "dependencies": [ + "curl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/curlpp/obsolete-curlopt.diff b/ports/curlpp/obsolete-curlopt.diff new file mode 100644 index 00000000000000..c45f5ae4656c91 --- /dev/null +++ b/ports/curlpp/obsolete-curlopt.diff @@ -0,0 +1,14 @@ +diff --git a/include/curlpp/Options.hpp b/include/curlpp/Options.hpp +index c705c9d..a658752 100644 +--- a/include/curlpp/Options.hpp ++++ b/include/curlpp/Options.hpp +@@ -278,7 +278,9 @@ namespace options + typedef curlpp::OptionTrait LowSpeedLimit; + typedef curlpp::OptionTrait LowSpeedTime; + typedef curlpp::OptionTrait MaxConnects; ++#if LIBCURL_VERSION_NUM < 0x080a00 + typedef curlpp::OptionTrait ClosePolicy; ++#endif + typedef curlpp::OptionTrait FreshConnect; + typedef curlpp::OptionTrait ForbidReuse; + typedef curlpp::OptionTrait ConnectTimeout; diff --git a/ports/curlpp/portfile.cmake b/ports/curlpp/portfile.cmake index 8a2652fc4b5f63..b7008111c21e4d 100644 --- a/ports/curlpp/portfile.cmake +++ b/ports/curlpp/portfile.cmake @@ -7,6 +7,7 @@ vcpkg_from_github( PATCHES fix-cmake.patch fix-findzliberror.patch + obsolete-curlopt.diff ) vcpkg_cmake_configure( @@ -28,13 +29,20 @@ endif() if(VCPKG_TARGET_IS_WINDOWS AND NOT (VCPKG_LIBRARY_LINKAGE STREQUAL static)) vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/bin/curlpp-config" "${CURRENT_PACKAGES_DIR}" "`dirname $0`/..") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/bin/curlpp-config" "${CURRENT_INSTALLED_DIR}" "$(prefix)" IGNORE_UNCHANGED) if(NOT VCPKG_BUILD_TYPE) vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/bin/curlpp-config" "${CURRENT_PACKAGES_DIR}" "`dirname $0`/../..") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/bin/curlpp-config" "${CURRENT_INSTALLED_DIR}" "$(prefix)" IGNORE_UNCHANGED) endif() endif() +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/unofficial-curlpp/unofficial-curlpp-config.cmake" +"# Generated by CMake" +[[# Generated by CMake +include(CMakeFindDependencyMacro) +find_dependency(CURL)]]) + vcpkg_copy_pdbs() vcpkg_fixup_pkgconfig() -file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/unofficial-${PORT}") -file(INSTALL "${SOURCE_PATH}/doc/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/doc/LICENSE") diff --git a/ports/curlpp/vcpkg-cmake-wrapper.cmake b/ports/curlpp/vcpkg-cmake-wrapper.cmake deleted file mode 100644 index a7f88cd72cc9d2..00000000000000 --- a/ports/curlpp/vcpkg-cmake-wrapper.cmake +++ /dev/null @@ -1,5 +0,0 @@ -set(FIND_CURLPP_ARGS ${ARGS}) -include(CMakeFindDependencyMacro) -find_dependency(CURL) - -_find_package(${FIND_CURLPP_ARGS}) diff --git a/ports/curlpp/vcpkg.json b/ports/curlpp/vcpkg.json index 8d134bb3eef1c2..40e0eebba351bc 100644 --- a/ports/curlpp/vcpkg.json +++ b/ports/curlpp/vcpkg.json @@ -1,8 +1,10 @@ { "name": "curlpp", "version-date": "2018-06-15", - "port-version": 8, + "port-version": 11, "description": "C++ wrapper around libcURL", + "homepage": "https://github.com/jpbarrette/curlpp", + "license": "MIT", "dependencies": [ { "name": "curl", diff --git a/ports/cwalk/portfile.cmake b/ports/cwalk/portfile.cmake index 7c71087f3c59a8..df713f1bcd51d1 100644 --- a/ports/cwalk/portfile.cmake +++ b/ports/cwalk/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO likle/cwalk REF "v${VERSION}" - SHA512 704133fb83beebc5942da5674b5f3563c64ec7017b33570a1f1433aa820a86882c42b16832efc215cd74f619a0a45493748655aa5af97bd3ff82d62f34b68f69 + SHA512 d29c83bb350a5477e450cdb86b1edf7232296aed67680345a84fee967ff414d5c997ac313e38620b51cda21398cc5d19c8130fe999ecd6b0161e81b3566f5516 HEAD_REF master ) @@ -16,6 +16,7 @@ vcpkg_cmake_install() vcpkg_copy_pdbs() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/cwalk) +vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(INSTALL "${SOURCE_PATH}/LICENSE.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/cwalk/vcpkg.json b/ports/cwalk/vcpkg.json index 90ed0cd7d0a931..8e34f60e4bb4c1 100644 --- a/ports/cwalk/vcpkg.json +++ b/ports/cwalk/vcpkg.json @@ -1,6 +1,6 @@ { "name": "cwalk", - "version": "1.2.7", + "version": "1.2.9", "description": "Path library for C/C++. Cross-Platform for Windows, MacOS and Linux. Supports UNIX and Windows path styles on those platforms.", "homepage": "https://likle.github.io/cwalk/", "dependencies": [ diff --git a/ports/cwapi3d/portfile.cmake b/ports/cwapi3d/portfile.cmake new file mode 100644 index 00000000000000..9adc36391853e6 --- /dev/null +++ b/ports/cwapi3d/portfile.cmake @@ -0,0 +1,18 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO cwapi3d/cwapi3dcpp + REF fb4d65818da9cd0fc319fe7c38e4de1e9bc15cd7 + SHA512 f87a57f514532bdf94001378d3b9a545f83a6022f7640d5fd5b0f8ccb63faa1e0157b8aac34290586de3e53510c13f21dda843143d54a341b3b305a36722c22b + HEAD_REF main +) + +vcpkg_cmake_configure(SOURCE_PATH ${SOURCE_PATH}) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH share/cmake/CwAPI3D) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/cwapi3d/usage b/ports/cwapi3d/usage new file mode 100644 index 00000000000000..36f379b3a874ca --- /dev/null +++ b/ports/cwapi3d/usage @@ -0,0 +1,4 @@ +The package cwapi3d provides CMake targets: + + find_package(CwAPI3D CONFIG REQUIRED) + target_link_libraries(main PRIVATE CwAPI3D::CwAPI3D) diff --git a/ports/cwapi3d/vcpkg.json b/ports/cwapi3d/vcpkg.json new file mode 100644 index 00000000000000..937840f2b48f64 --- /dev/null +++ b/ports/cwapi3d/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "cwapi3d", + "version": "30.475.1", + "description": "CwAPI3D is the Cadwork 3D plugin architecture in C++.", + "homepage": "https://github.com/cwapi3d/cwapi3dcpp", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/cxxgraph/portfile.cmake b/ports/cxxgraph/portfile.cmake index a02a08cf5b41dc..9003affe2aa3c8 100644 --- a/ports/cxxgraph/portfile.cmake +++ b/ports/cxxgraph/portfile.cmake @@ -4,13 +4,12 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ZigRazor/CXXGraph REF "v${VERSION}" - SHA512 a4409c81132e6c7e34022c54d9a57b965970aa8e1fcd97b9f916334c1d480674a526e7d5ad727ab652e4842083249dea89de519b104c1f9f205423eabd3c2338 + SHA512 81af9edbb3d768bf770a3626b411c753632763a1229fe87dbdca7c8d8f96554205abf527f0916bfe6dff47b5c19259345f2f9cad81bc84eb4d7972de75643af4 HEAD_REF master ) vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}") # cxxgraph provides no targets and is a header only lib designed to be copied to include dir -file(INSTALL "${SOURCE_PATH}/include/" DESTINATION "${CURRENT_PACKAGES_DIR}/include/cxxgraph") -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/cxxgraph" RENAME copyright) +file(INSTALL "${SOURCE_PATH}/include/" DESTINATION "${CURRENT_PACKAGES_DIR}/include") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") - diff --git a/ports/cxxgraph/usage b/ports/cxxgraph/usage index bf7355e378802e..3e9c69231140d9 100644 --- a/ports/cxxgraph/usage +++ b/ports/cxxgraph/usage @@ -1,4 +1,4 @@ To use CXXGraph header files: - - find_path(CXXGRAPH_INCLUDE_DIR cxxgraph/CXXGraph.hpp) - target_include_directories(main PRIVATE ${CXXGRAPH_INCLUDE_DIR}) + + find_path(CXXGRAPH_INCLUDE_DIR CXXGraph/CXXGraph.hpp) + target_include_directories(main PRIVATE ${CXXGRAPH_INCLUDE_DIR}) diff --git a/ports/cxxgraph/vcpkg.json b/ports/cxxgraph/vcpkg.json index 244d296a165200..459886ba24ea7e 100644 --- a/ports/cxxgraph/vcpkg.json +++ b/ports/cxxgraph/vcpkg.json @@ -1,6 +1,6 @@ { "name": "cxxgraph", - "version": "2.0.0", + "version": "4.1.0", "description": "CXXGraph is a header only comprehensive C++ graph library.", "homepage": "https://github.com/ZigRazor/CXXGraph", "dependencies": [ diff --git a/ports/cxxopts/portfile.cmake b/ports/cxxopts/portfile.cmake index 250dca4da52e98..0da4a4b46f4fba 100644 --- a/ports/cxxopts/portfile.cmake +++ b/ports/cxxopts/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO jarro2783/cxxopts REF "v${VERSION}" - SHA512 248e54e23564660467c7ecf50676b86d3cd10ade89e0ac1d23deb71334cb89cc5eb50f624b385d5119a43ca68ff8b1c74af82dc699b5ccfae54d6dcad4fd9447 + SHA512 7841fb3e6c3c2a057917c962e29fc0090e6ed06f5515aaa5e2a868fef59071a9a99b74d81c32cf613ecf10a68a4d96d6ad07805f48c7c3951ded096a2317dc3d HEAD_REF master ) diff --git a/ports/cxxopts/vcpkg.json b/ports/cxxopts/vcpkg.json index fd7574b8d2c331..85fe9490909361 100644 --- a/ports/cxxopts/vcpkg.json +++ b/ports/cxxopts/vcpkg.json @@ -1,6 +1,6 @@ { "name": "cxxopts", - "version-semver": "3.1.1", + "version-semver": "3.2.1", "description": "This is a lightweight C++ option parser library, supporting the standard GNU style syntax for options", "homepage": "https://github.com/jarro2783/cxxopts", "license": "MIT", diff --git a/ports/cyclonedds-cxx/portfile.cmake b/ports/cyclonedds-cxx/portfile.cmake index 1b07db31b58c34..2b46ebc0228c5c 100644 --- a/ports/cyclonedds-cxx/portfile.cmake +++ b/ports/cyclonedds-cxx/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO eclipse-cyclonedds/cyclonedds-cxx REF "${VERSION}" - SHA512 7131b0980edf4dbd16ffd29edde24b4f31c8a4813eda7dfe93fe11f9eb102ef682651a037a12bf671b4617a673e35d97106172828328e47de51d0baddae22ab6 + SHA512 fd03beca1f2b7140c213a2be8c19390c308469b625e2bafd66935258d4e6bec6a8c01940c208501f2619c36f0a04f6538b17b1b7ca562ab5a7533be0747e5bef HEAD_REF master ) diff --git a/ports/cyclonedds-cxx/vcpkg.json b/ports/cyclonedds-cxx/vcpkg.json index de0e2c1339b632..5e09d0164cd67c 100644 --- a/ports/cyclonedds-cxx/vcpkg.json +++ b/ports/cyclonedds-cxx/vcpkg.json @@ -1,7 +1,6 @@ { "name": "cyclonedds-cxx", - "version": "0.10.2", - "port-version": 1, + "version": "0.10.5", "description": "C++ binding for Eclipse Cyclone DDS", "homepage": "https://cyclonedds.io", "license": "EPL-2.0", diff --git a/ports/cyclonedds/portfile.cmake b/ports/cyclonedds/portfile.cmake index 01ae7e4f30acf2..ac81d03135eee1 100644 --- a/ports/cyclonedds/portfile.cmake +++ b/ports/cyclonedds/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO eclipse-cyclonedds/cyclonedds REF "${VERSION}" - SHA512 02cc883a892e07865b7b362919d0a756db8c20f2d4ff7912738ccaaa512a83db4114a4da74f87b5bf743891871402cc4e9d472eaf6718ef409776fa2817ce288 + SHA512 de63a7207c36ff1b185b1a108d697d37675078ac15c34a940429b619b048593056dd8c4c920fb708235b972f94536452973eb40a8e66da1d57cb9b9b03005f30 HEAD_REF master PATCHES enable-security.patch diff --git a/ports/cyclonedds/vcpkg.json b/ports/cyclonedds/vcpkg.json index 20e3526eb089f3..1f1875bf664283 100644 --- a/ports/cyclonedds/vcpkg.json +++ b/ports/cyclonedds/vcpkg.json @@ -1,6 +1,6 @@ { "name": "cyclonedds", - "version-semver": "0.10.3", + "version-semver": "0.10.5", "description": "Eclipse Cyclone DDS is a very performant and robust open-source implementation of the OMG DDS specification", "homepage": "https://cyclonedds.io", "license": "EPL-2.0 OR BSD-3-Clause", diff --git a/ports/cyrus-sasl/configure.diff b/ports/cyrus-sasl/configure.diff new file mode 100644 index 00000000000000..0610d5a6a73f8d --- /dev/null +++ b/ports/cyrus-sasl/configure.diff @@ -0,0 +1,81 @@ +diff --git a/libsasl2.pc.in b/libsasl2.pc.in +index ddad76d..5192f74 100644 +--- a/libsasl2.pc.in ++++ b/libsasl2.pc.in +@@ -9,4 +9,5 @@ URL: http://www.cyrussasl.org/ + Version: @VERSION@ + Cflags: -I${includedir} + Libs: -L${libdir} -lsasl2 +-Libs.private: @LIB_DOOR@ @SASL_DL_LIB@ @LIBS@ ++Libs.private: @LIB_DOOR@ @SASL_DB_LIB@ @SASL_DL_LIB@ @LIBS@ ++Requires.private: mit-krb5-gssapi +diff --git a/m4/openssl.m4 b/m4/openssl.m4 +index 42b31af..301dca5 100644 +--- a/m4/openssl.m4 ++++ b/m4/openssl.m4 +@@ -20,6 +20,12 @@ case "$with_openssl" in + no) + with_openssl="no";; + *) ++ with_openssl="yes" ++ PKG_CHECK_MODULES([LIBCRYPTO],[libcrypto],[],[AC_MSG_FAILURE([Cannot find OpenSSL])]) ++ CFLAGS="$CFLAGS $LIBCRYPTO_CFLAGS" ++ LIBS="$LIBS $LIBCRYPTO_LIBS" ++ ;; ++ orig) + with_openssl="yes" + dnl if openssl has been compiled with the rsaref2 libraries, + dnl we need to include the rsaref libraries in the crypto check +diff --git a/m4/sasl2.m4 b/m4/sasl2.m4 +index 80371ef..77133af 100644 +--- a/m4/sasl2.m4 ++++ b/m4/sasl2.m4 +@@ -117,8 +117,7 @@ if test "$gssapi" != no; then + + if test "$gss_impl" = "auto" -o "$gss_impl" = "mit"; then + gss_failed=0 +- AC_CHECK_LIB(gssapi_krb5,gss_unwrap,gss_impl="mit",gss_failed=1, +- ${GSSAPIBASE_LIBS} -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err ${LIB_SOCKET}) ++ PKG_CHECK_MODULES([MIT_KRB5_GSSAPI],[mit-krb5-gssapi],[gss_impl="mit"],[AC_MSG_FAILURE([Cannot find MIT Kerberos])]) + if test "$gss_impl" != "auto" -a "$gss_failed" = "1"; then + gss_impl="failed" + fi +@@ -170,8 +169,9 @@ if test "$gssapi" != no; then + fi + + if test "$gss_impl" = "mit"; then +- GSSAPIBASE_LIBS="$GSSAPIBASE_LIBS -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err" +- GSSAPIBASE_STATIC_LIBS="$GSSAPIBASE_LIBS $gssapi_dir/libgssapi_krb5.a $gssapi_dir/libkrb5.a $gssapi_dir/libk5crypto.a $gssapi_dir/libcom_err.a" ++ GSSAPIBASE_LIBS="$GSSAPIBASE_LIBS $MIT_KRB5_GSSAPI_LIBS" ++ GSSAPIBASE_STATIC_LIBS="$GSSAPIBASE_LIBS $MIT_KRB5_GSSAPI_LIBS" ++ CFLAGS="$CFLAGS $MIT_KRB5_GSSAPI_CFLAGS" + elif test "$gss_impl" = "heimdal"; then + CPPFLAGS="$CPPFLAGS" + GSSAPIBASE_LIBS="$GSSAPIBASE_LIBS -lgssapi -lkrb5 -lasn1 -lroken ${LIB_CRYPT} ${LIB_DES} -lcom_err" +diff --git a/m4/sasldb.m4 b/m4/sasldb.m4 +index 5febf14..5848576 100644 +--- a/m4/sasldb.m4 ++++ b/m4/sasldb.m4 +@@ -46,8 +46,9 @@ dnl named. arg. + esac + ;; + lmdb) ++ AX_PTHREAD() + AC_CHECK_HEADER(lmdb.h, [ +- AC_CHECK_LIB(lmdb, mdb_env_create, SASL_DB_LIB="-llmdb"; enable_keep_db_open=yes, dblib="no")], ++ AC_CHECK_LIB(lmdb, mdb_env_create, SASL_DB_LIB="-llmdb $PTHREAD_CFLAGS $PTHREAD_LIBS"; enable_keep_db_open=yes, [AC_MSG_FAILURE([Cannot find lmdb])], [$PTHREAD_CFLAGS $PTHREAD_LIBS])], + dblib="no") + ;; + ndbm) +diff --git a/utils/Makefile.am b/utils/Makefile.am +index 99c49e1..c34913f 100644 +--- a/utils/Makefile.am ++++ b/utils/Makefile.am +@@ -43,6 +43,7 @@ + ################################################################ + + all_sasl_libs = ../lib/libsasl2.la $(SASL_DB_LIB) $(LIB_SOCKET) ++all_sasl_libs += $(GSSAPIBASE_LIBS) + all_sasl_static_libs = ../lib/.libs/libsasl2.a $(SASL_DB_LIB) $(LIB_SOCKET) $(GSSAPIBASE_LIBS) $(GSSAPI_LIBS) $(SASL_KRB_LIB) $(LIB_DES) $(PLAIN_LIBS) $(SRP_LIBS) $(LIB_MYSQL) $(LIB_PGSQL) $(LIB_SQLITE) + + sbin_PROGRAMS = @SASL_DB_UTILS@ @SMTPTEST_PROGRAM@ pluginviewer diff --git a/ports/cyrus-sasl/portfile.cmake b/ports/cyrus-sasl/portfile.cmake new file mode 100644 index 00000000000000..738a1e337db2e8 --- /dev/null +++ b/ports/cyrus-sasl/portfile.cmake @@ -0,0 +1,110 @@ +# NOTE: We don't use vcpkg_from_github as it does not +# include all the necessary source files +vcpkg_download_distfile(ARCHIVE + URLS "https://github.com/cyrusimap/cyrus-sasl/releases/download/cyrus-sasl-${VERSION}/cyrus-sasl-${VERSION}.tar.gz" + FILENAME "cyrus-sasl-${VERSION}.tar.gz" + SHA512 db15af9079758a9f385457a79390c8a7cd7ea666573dace8bf4fb01bb4b49037538d67285727d6a70ad799d2e2318f265c9372e2427de9371d626a1959dd6f78 +) +vcpkg_extract_source_archive(SOURCE_PATH + ARCHIVE "${ARCHIVE}" + PATCHES + configure.diff +) + +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + file(REMOVE "${SOURCE_PATH}/include/md5global.h") + file(COPY "${SOURCE_PATH}/win32/include/md5global.h" DESTINATION "${SOURCE_PATH}/include/md5global.h") + + vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) # only DLL build rules + + set(STATIC_CRT_LINKAGE no) + if(VCPKG_CRT_LINKAGE STREQUAL "static") + set(STATIC_CRT_LINKAGE yes) + endif() + + string(APPEND VCPKG_C_FLAGS " /DUNICODE /D_UNICODE /D_WINSOCK_DEPRECATED_NO_WARNINGS") + string(APPEND VCPKG_CXX_FLAGS " /DUNICODE /D_UNICODE /D_WINSOCK_DEPRECATED_NO_WARNINGS") + + cmake_path(NATIVE_PATH CURRENT_INSTALLED_DIR CURRENT_INSTALLED_DIR_NATIVE) + cmake_path(NATIVE_PATH CURRENT_PACKAGES_DIR CURRENT_PACKAGES_DIR_NATIVE) + vcpkg_install_nmake( + SOURCE_PATH "${SOURCE_PATH}" + PROJECT_NAME "NTMakefile" + OPTIONS + STATIC=${STATIC_CRT_LINKAGE} + "SUBDIRS=lib plugins utils" + # Note https://www.cyrusimap.org/sasl/sasl/windows.html#limitations + GSSAPI=MITKerberos # but "GSSAPI - tested using CyberSafe" + "GSSAPI_INCLUDE=${CURRENT_INSTALLED_DIR_NATIVE}\\include" + SASLDB=LMDB # but "SASLDB - only SleepyCat version can be built" + "LMDB_INCLUDE=${CURRENT_INSTALLED_DIR_NATIVE}\\include" + SRP=1 + DO_SRP_SETPASS=1 + OTP=1 + "OPENSSL_INCLUDE=${CURRENT_INSTALLED_DIR_NATIVE}\\include" + # Silence log messages about default initialization + "DB_LIB=unused" + "DB_INCLUDE=${CURRENT_PACKAGES_DIR_NATIVE}\\unused" + "DB_LIBPATH=${CURRENT_PACKAGES_DIR_NATIVE}\\unused" + "LDAP_INCLUDE=${CURRENT_PACKAGES_DIR_NATIVE}\\unused" + "LDAP_LIB_BASE=${CURRENT_PACKAGES_DIR_NATIVE}\\unused" + "SQLITE_INCLUDE=${CURRENT_PACKAGES_DIR_NATIVE}\\unused" + "SQLITE_LIBPATH=${CURRENT_PACKAGES_DIR_NATIVE}\\unused" + "SQLITE_INCLUDE3=${CURRENT_PACKAGES_DIR_NATIVE}\\unused" + "SQLITE_LIBPATH3=${CURRENT_PACKAGES_DIR_NATIVE}\\unused" + OPTIONS_RELEASE + CFG=Release + "prefix=${CURRENT_PACKAGES_DIR_NATIVE}" + "GSSAPI_LIBPATH=${CURRENT_INSTALLED_DIR_NATIVE}\\lib" + "LMDB_LIBPATH=${CURRENT_INSTALLED_DIR_NATIVE}\\lib" + "OPENSSL_LIBPATH=${CURRENT_INSTALLED_DIR_NATIVE}\\lib" + OPTIONS_DEBUG + CFG=Debug + "prefix=${CURRENT_PACKAGES_DIR_NATIVE}\\debug" + "GSSAPI_LIBPATH=${CURRENT_INSTALLED_DIR_NATIVE}\\debug\\lib" + "LMDB_LIBPATH=${CURRENT_INSTALLED_DIR_NATIVE}\\debug\\lib" + "OPENSSL_LIBPATH=${CURRENT_INSTALLED_DIR_NATIVE}\\debug\\lib" + ) + vcpkg_copy_tools(TOOL_NAMES pluginviewer sasldblistusers2 saslpasswd2 testsuite AUTO_CLEAN) + + block(SCOPE_FOR VARIABLES) + set(prefix [[placeholder]]) + set(exec_prefix [[${prefix}]]) + set(libdir [[${prefix}/lib]]) + set(includedir [[${prefix}/include]]) + configure_file("${SOURCE_PATH}/libsasl2.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libsasl2.pc" @ONLY) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libsasl2.pc" " -lsasl2" " -llibsasl") + if(NOT VCPKG_BUILD_TYPE) + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") + file(COPY_FILE "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libsasl2.pc" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libsasl2.pc") + endif() + endblock() + +else() + vcpkg_find_acquire_program(PKGCONFIG) + set(ENV{PKG_CONFIG} "${PKGCONFIG}") + + vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + OPTIONS + --enable-sample=no + --with-dblib=lmdb + --with-gss_impl=mit + --disable-macos-framework + ) + vcpkg_install_make() +endif() + +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING" + COMMENT [[ +The top-level COPYING file represents the license identified as BSD with +Attribution and HPND disclaimer. However, various source files are under +different licenses, including other BSD license variants, MIT license +variants, OpenLDAP, OpenSSL and others. +]]) diff --git a/ports/cyrus-sasl/vcpkg.json b/ports/cyrus-sasl/vcpkg.json new file mode 100644 index 00000000000000..9ccf38bee89611 --- /dev/null +++ b/ports/cyrus-sasl/vcpkg.json @@ -0,0 +1,14 @@ +{ + "name": "cyrus-sasl", + "version": "2.1.28", + "port-version": 2, + "description": "Cyrus SASL is an implementation of SASL that makes it easy for application developers to integrate authentication mechanisms into their application in a generic way.", + "homepage": "https://github.com/cyrusimap/cyrus-sasl", + "license": null, + "supports": "linux | osx | (windows & !uwp)", + "dependencies": [ + "krb5", + "lmdb", + "openssl" + ] +} diff --git a/ports/czmq/portfile.cmake b/ports/czmq/portfile.cmake index 9ff3878daac823..491831897ac5fe 100644 --- a/ports/czmq/portfile.cmake +++ b/ports/czmq/portfile.cmake @@ -1,7 +1,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO zeromq/czmq - REF v4.2.1 + REF "v${VERSION}" SHA512 65a21f7bd5935b119e1b24ce3b2ce8462031ab7c9a4ba587bb99fe618c9f8cb672cfa202993ddd79e0fb0f154ada06560b79a1b4f762fcce8f88f2f450ecee01 HEAD_REF master PATCHES @@ -40,6 +40,7 @@ vcpkg_cmake_configure( OPTIONS -DCZMQ_BUILD_SHARED=${BUILD_SHARED} -DCZMQ_BUILD_STATIC=${BUILD_STATIC} + -DCZMQ_WITH_SYSTEMD=OFF -DBUILD_TESTING=OFF ${FEATURE_OPTIONS} ) diff --git a/ports/czmq/vcpkg.json b/ports/czmq/vcpkg.json index ecda439d66d333..6cbe67481560c9 100644 --- a/ports/czmq/vcpkg.json +++ b/ports/czmq/vcpkg.json @@ -1,7 +1,7 @@ { "name": "czmq", "version-semver": "4.2.1", - "port-version": 3, + "port-version": 4, "description": "High-level C binding for ZeroMQ", "homepage": "https://github.com/zeromq/czmq", "license": "MPL-2.0", diff --git a/ports/d3d12-memory-allocator/0001-output-dirs.patch b/ports/d3d12-memory-allocator/0001-output-dirs.patch new file mode 100644 index 00000000000000..47d1d8f2d9d87e --- /dev/null +++ b/ports/d3d12-memory-allocator/0001-output-dirs.patch @@ -0,0 +1,30 @@ +diff --git a/configure b/configure +index 1f0b9497cb..3243e23021 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -40,8 +40,12 @@ D3D12MA_IMPORTS + ) + endif() + +-install(TARGETS D3D12MemoryAllocator DESTINATION "lib") ++install(TARGETS D3D12MemoryAllocator EXPORT d3d12-memory-allocator-config ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ PUBLIC_HEADER DESTINATION "${INSTALL_INCLUDE_DIR}") + install(FILES "${PROJECT_SOURCE_DIR}/include/D3D12MemAlloc.h" DESTINATION "include") + + if(D3D12MA_BUILD_SAMPLE) + if(WIN32) +@@ -126,3 +130,11 @@ else() + message(STATUS "D3D12Sample application is not supported to Linux") + endif() + endif() ++ ++target_include_directories(D3D12MemoryAllocator PUBLIC $ $) ++set_target_properties(D3D12MemoryAllocator PROPERTIES PUBLIC_HEADER "${PROJECT_SOURCE_DIR}/include/D3D12MemAlloc.h") ++ ++install( ++ EXPORT d3d12-memory-allocator-config DESTINATION cmake/ ++ NAMESPACE "unofficial::" ++) diff --git a/ports/d3d12-memory-allocator/0002-Fix-32b-compilation.patch b/ports/d3d12-memory-allocator/0002-Fix-32b-compilation.patch new file mode 100644 index 00000000000000..dcdd73d49bc565 --- /dev/null +++ b/ports/d3d12-memory-allocator/0002-Fix-32b-compilation.patch @@ -0,0 +1,20 @@ +diff --git a/src/D3D12MemAlloc.cpp b/src/D3D12MemAlloc.cpp +index 2555ef6..e2d444e 100644 +--- a/src/D3D12MemAlloc.cpp ++++ b/src/D3D12MemAlloc.cpp +@@ -7181,11 +7181,11 @@ void AllocatorPimpl::BuildStatsString(WCHAR** ppStatsString, BOOL detailedMap) + json.WriteString(m_AdapterDesc.Description); + + json.WriteString(L"DedicatedVideoMemory"); +- json.WriteNumber(m_AdapterDesc.DedicatedVideoMemory); ++ json.WriteNumber((UINT64)m_AdapterDesc.DedicatedVideoMemory); + json.WriteString(L"DedicatedSystemMemory"); +- json.WriteNumber(m_AdapterDesc.DedicatedSystemMemory); ++ json.WriteNumber((UINT64)m_AdapterDesc.DedicatedSystemMemory); + json.WriteString(L"SharedSystemMemory"); +- json.WriteNumber(m_AdapterDesc.SharedSystemMemory); ++ json.WriteNumber((UINT64)m_AdapterDesc.SharedSystemMemory); + + json.WriteString(L"ResourceHeapTier"); + json.WriteNumber(static_cast(m_D3D12Options.ResourceHeapTier)); + diff --git a/ports/d3d12-memory-allocator/CMakeLists.txt b/ports/d3d12-memory-allocator/CMakeLists.txt deleted file mode 100644 index b0202053d81fc5..00000000000000 --- a/ports/d3d12-memory-allocator/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -cmake_minimum_required(VERSION 3.0) -project(d3d12-memory-allocator) - -add_library(${PROJECT_NAME} STATIC - "src/D3D12MemAlloc.h" - "src/D3D12MemAlloc.cpp" -) - -set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER "src/D3D12MemAlloc.h") -target_include_directories(${PROJECT_NAME} INTERFACE PUBLIC $) - -install( - TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}-config - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - PUBLIC_HEADER DESTINATION include/ -) -install( - EXPORT ${PROJECT_NAME}-config DESTINATION cmake/ - NAMESPACE "unofficial::" -) \ No newline at end of file diff --git a/ports/d3d12-memory-allocator/portfile.cmake b/ports/d3d12-memory-allocator/portfile.cmake index 0ee730ce3269ea..942e92fb4689b2 100644 --- a/ports/d3d12-memory-allocator/portfile.cmake +++ b/ports/d3d12-memory-allocator/portfile.cmake @@ -1,15 +1,14 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO GPUOpen-LibrariesAndSDKs/D3D12MemoryAllocator - REF 10f148cef0dfd34ae1a9373b9396beb1581c992a - SHA512 c99934a606ce5a5c9c59e05faf2e659bfad2e485b58aaf00f38219a6c89f17b62033f4a69935915f0d5269a4f0ecba41037b044913ae6f4077fa981eaab470c8 + REF v${VERSION} + SHA512 99d81cad82fe8c78cfbc7a2a611d31e3bb38df55ac938aec289d1085be2ec46129c74dd2f56c850f257c43c6bd122913910fb9512029a1b3ab4a02f2ed327931 HEAD_REF master + PATCHES + 0001-output-dirs.patch + 0002-Fix-32b-compilation.patch ) -file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") - vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" ) diff --git a/ports/d3d12-memory-allocator/vcpkg.json b/ports/d3d12-memory-allocator/vcpkg.json index eadeb2167ec328..8cd975176d1dcf 100644 --- a/ports/d3d12-memory-allocator/vcpkg.json +++ b/ports/d3d12-memory-allocator/vcpkg.json @@ -1,9 +1,8 @@ { "name": "d3d12-memory-allocator", - "version-date": "2021-05-05", - "port-version": 1, + "version": "2.0.1", "description": "Easy to integrate D3d12 memory allocation library from GPUOpen", - "homepage": "https://gpuopen.com/gaming-product/d3d12-memory-allocator/", + "homepage": "https://gpuopen.com/d3d12-memory-allocator/", "license": "MIT", "supports": "windows", "dependencies": [ diff --git a/ports/darknet/fix-dependence-getopt.patch b/ports/darknet/fix-dependence-getopt.patch deleted file mode 100644 index e9fa8fc18079f0..00000000000000 --- a/ports/darknet/fix-dependence-getopt.patch +++ /dev/null @@ -1,61 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index d34b8f8..a8488c6 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -203,6 +203,7 @@ if(MSVC AND USE_INTEGRATED_LIBS) - find_package(PThreads4W REQUIRED) - elseif(MSVC) - find_package(pthreads REQUIRED) -+ find_package(unofficial-getopt-win32 REQUIRED) - endif() - if(ENABLE_OPENCV) - find_package(OpenCV REQUIRED) -@@ -371,9 +372,9 @@ list(APPEND headers - if(NOT MSVC) - list(REMOVE_ITEM headers - ${CMAKE_CURRENT_LIST_DIR}/src/gettimeofday.h -- ${CMAKE_CURRENT_LIST_DIR}/src/getopt.h - ) - endif() -+ - #set(exported_headers ${headers}) - - #look for all *.c files in src folder -@@ -391,10 +392,13 @@ list(REMOVE_ITEM sources - if(NOT MSVC) - list(REMOVE_ITEM sources - ${CMAKE_CURRENT_LIST_DIR}/src/gettimeofday.c -- ${CMAKE_CURRENT_LIST_DIR}/src/getopt.c - ) - endif() - -+#remove local getopt files -+list(REMOVE_ITEM headers ${CMAKE_CURRENT_LIST_DIR}/src/getopt.h) -+list(REMOVE_ITEM sources ${CMAKE_CURRENT_LIST_DIR}/src/getopt.c) -+ - if(ENABLE_CUDA) - file(GLOB cuda_sources "${CMAKE_CURRENT_LIST_DIR}/src/*.cu") - endif() -@@ -478,6 +482,7 @@ endif() - if(MSVC) - target_link_libraries(darknet PRIVATE PThreads_windows::PThreads_windows) - target_link_libraries(darknet PRIVATE wsock32) -+ target_link_libraries(dark PRIVATE unofficial::getopt-win32::getopt) - target_link_libraries(dark PUBLIC PThreads_windows::PThreads_windows) - target_link_libraries(dark PUBLIC wsock32) - target_link_libraries(uselib PRIVATE PThreads_windows::PThreads_windows) -diff --git a/DarknetConfig.cmake.in b/DarknetConfig.cmake.in -index 1221206..6bdff49 100644 ---- a/DarknetConfig.cmake.in -+++ b/DarknetConfig.cmake.in -@@ -9,6 +9,10 @@ if(@OpenCV_FOUND@) - find_dependency(OpenCV) - endif() - -+if(@unofficial-getopt-win32_FOUND@) -+ find_dependency(unofficial-getopt-win32) -+endif() -+ - if(@ENABLE_CUDA@) - include(CheckLanguage) - check_language(CUDA) diff --git a/ports/darknet/portfile.cmake b/ports/darknet/portfile.cmake index 91f8d347b7e4f5..ef514b7e5add75 100644 --- a/ports/darknet/portfile.cmake +++ b/ports/darknet/portfile.cmake @@ -1,10 +1,9 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO AlexeyAB/darknet - REF 8a0bf84c19e38214219dbd3345f04ce778426c57 - SHA512 6253d5b498f4f6eba7fc539d5a4b4e163139f4841623f11d84760bcf1ffabe6519f85e98e3d4aeac6846313fea3b98451407134b6b6f5b91137c62d1647109d9 + REF 19dde2f296941a75b0b9202cccd59528bde7f65a + SHA512 3f24fd5c69a00032e63fc8479d46dedf9008909c5e0f37847f0427c39f35e68f35a5ee89820cd0a179cb282e49730e6b1465a027d89bef585e9a1cfca6e3d3a2 HEAD_REF master - PATCHES fix-dependence-getopt.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS @@ -15,7 +14,7 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS #do not move following features to vcpkg_check_features because they break themselves: one off will turn off the others even if true set(ENABLE_OPENCV FALSE) -if ("opencv-base" IN_LIST FEATURES OR "opencv2-base" IN_LIST FEATURES OR "opencv3-base" IN_LIST FEATURES OR "opencv-cuda" IN_LIST FEATURES OR "opencv2-cuda" IN_LIST FEATURES OR "opencv3-cuda" IN_LIST FEATURES) +if ("opencv-base" IN_LIST FEATURES OR "opencv-cuda" IN_LIST FEATURES) set(ENABLE_OPENCV TRUE) endif() @@ -33,15 +32,17 @@ file(REMOVE_RECURSE "${SOURCE_PATH}/cmake/Modules") vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" DISABLE_PARALLEL_CONFIGURE - OPTIONS ${FEATURE_OPTIONS} + OPTIONS + ${FEATURE_OPTIONS} -DINSTALL_BIN_DIR:STRING=bin -DINSTALL_LIB_DIR:STRING=lib -DENABLE_OPENCV:BOOL=${ENABLE_OPENCV} + -DSKIP_INSTALL_RUNTIME_LIBS:BOOL=ON ) vcpkg_cmake_install() -vcpkg_copy_tools(AUTO_CLEAN TOOL_NAMES darknet uselib) -if ("opencv-cuda" IN_LIST FEATURES OR "opencv3-cuda" IN_LIST FEATURES) +vcpkg_copy_tools(AUTO_CLEAN TOOL_NAMES darknet uselib kmeansiou) +if ("opencv-cuda" IN_LIST FEATURES) vcpkg_copy_tools(AUTO_CLEAN TOOL_NAMES uselib_track) endif() @@ -59,4 +60,5 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(INSTALL "${SOURCE_PATH}/scripts/download_weights.ps1" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}/scripts") message(STATUS "To download weight files, please go to ${CURRENT_INSTALLED_DIR}/tools/${PORT}/scripts and run ./download_weights.ps1") + vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/darknet/vcpkg.json b/ports/darknet/vcpkg.json index ff05fd5a26b63e..a5dc0999cbc743 100644 --- a/ports/darknet/vcpkg.json +++ b/ports/darknet/vcpkg.json @@ -1,7 +1,6 @@ { "name": "darknet", - "version-date": "2022-03-06", - "port-version": 3, + "version-date": "2024-10-10", "description": "Darknet is an open source neural network framework written in C and CUDA. You only look once (YOLO) is a state-of-the-art, real-time object detection system, best example of darknet functionalities.", "homepage": "https://github.com/alexeyab/darknet", "license": null, @@ -54,8 +53,6 @@ { "name": "opencv", "features": [ - "contrib", - "dnn", "ffmpeg" ] } @@ -65,57 +62,13 @@ "description": "Build darknet with support for latest version of CUDA-enabled OpenCV", "dependencies": [ { - "name": "opencv", - "features": [ - "contrib", - "cuda", - "dnn", - "ffmpeg" - ] - } - ] - }, - "opencv2-base": { - "description": "Build darknet with support for OpenCV2", - "dependencies": [ - { - "name": "opencv2", - "features": [ - "ffmpeg" - ] - } - ] - }, - "opencv2-cuda": { - "description": "Build darknet with support for CUDA-enabled OpenCV2", - "dependencies": [ - { - "name": "opencv2", - "features": [ - "cuda", - "ffmpeg" - ] - } - ] - }, - "opencv3-base": { - "description": "Build darknet with support for OpenCV3", - "dependencies": [ - { - "name": "opencv3", + "name": "darknet", "features": [ - "contrib", - "dnn", - "ffmpeg" + "cuda" ] - } - ] - }, - "opencv3-cuda": { - "description": "Build darknet with support for CUDA-enabled OpenCV3", - "dependencies": [ + }, { - "name": "opencv3", + "name": "opencv", "features": [ "contrib", "cuda", diff --git a/ports/dartsim/disable_unit_tests_examples_and_tutorials.patch b/ports/dartsim/disable_unit_tests_examples_and_tutorials.patch index 5836b28434eb1d..a3b9af6226afab 100644 --- a/ports/dartsim/disable_unit_tests_examples_and_tutorials.patch +++ b/ports/dartsim/disable_unit_tests_examples_and_tutorials.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 100bfb8b59be..b0779885c788 100644 +index fc5249444a5c..39c29e92bb33 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -292,7 +292,7 @@ add_subdirectory(dart) +@@ -376,7 +376,7 @@ add_subdirectory(dart) set(DART_IN_SOURCE_BUILD TRUE) @@ -10,12 +10,12 @@ index 100bfb8b59be..b0779885c788 100644 +if(0) # Add a "tests" target to build unit tests. - enable_testing() + include(CTest) diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt -index 08ef983cdcfa..7092d89bb17d 100644 +index 37cadf4f8de1..fcfbd13cf793 100644 --- a/python/CMakeLists.txt +++ b/python/CMakeLists.txt -@@ -1,6 +1,8 @@ +@@ -22,9 +22,11 @@ endif() set(DART_DARTPY_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}/dartpy") add_subdirectory(dartpy) @@ -24,3 +24,6 @@ index 08ef983cdcfa..7092d89bb17d 100644 add_subdirectory(examples) add_subdirectory(tutorials) +endif() + + message(STATUS "") + message(STATUS "[ dartpy ]") diff --git a/ports/dartsim/portfile.cmake b/ports/dartsim/portfile.cmake index 7059ac1d96976b..4519651239ed0f 100644 --- a/ports/dartsim/portfile.cmake +++ b/ports/dartsim/portfile.cmake @@ -4,8 +4,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO dartsim/dart - REF v6.12.2 - SHA512 6d04da37d0eb40a35a3aaec583af024e2edf71d68bb38b6832760de21a349221387644ed9be0cc1e451c669bbf48eb53d8d0cd3be1b1b265a30be2aa17c7e48b + REF v${VERSION} + SHA512 3c621245c5dc1bf26932c33c940e2b09aaebd1a15f3620616c60296f18a67e1044728543b4f640f92caf8f98295e350679b70eb11aecadea9e4a28aaf370ea75 HEAD_REF main PATCHES disable_unit_tests_examples_and_tutorials.patch @@ -40,7 +40,7 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/dart/config.hpp" "#define DART_ROOT_PATH \"${SOURCE_PATH}/\"" "") vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/dart/config.hpp" "#define DART_DATA_PATH \"${SOURCE_PATH}/data/\"" "") vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/dart/config.hpp" "#define DART_DATA_LOCAL_PATH \"${SOURCE_PATH}/data/\"" "") -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/dart/config.hpp" "#define DART_DATA_GLOBAL_PATH \"${CURRENT_PACKAGES_DIR}/share/doc/dart/data/\"" "") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/dart/config.hpp" "#define DART_DATA_GLOBAL_PATH \\\n \"${CURRENT_PACKAGES_DIR}/share/doc/dart/data/\"" "") # Handle copyright file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/dartsim/vcpkg.json b/ports/dartsim/vcpkg.json index 1ac4af59e047d1..f0a034cb601cff 100644 --- a/ports/dartsim/vcpkg.json +++ b/ports/dartsim/vcpkg.json @@ -1,10 +1,10 @@ { "name": "dartsim", - "version": "6.12.2", - "port-version": 2, + "version": "6.15.0", "description": "Dynamic Animation and Robotics Toolkit", "homepage": "https://dartsim.github.io/", "license": "BSD-2-Clause", + "supports": "!x86", "dependencies": [ "assimp", "boost-algorithm", @@ -24,6 +24,7 @@ "octomap", "ode", "opengl", + "osg", "tinyxml2", "urdfdom", { diff --git a/ports/dataframe/portfile.cmake b/ports/dataframe/portfile.cmake index f197f360bbc86e..c5626f02cc581e 100644 --- a/ports/dataframe/portfile.cmake +++ b/ports/dataframe/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO hosseinmoein/DataFrame REF "${VERSION}" - SHA512 fba75b7f86c678bbfda7574d618530a88cf4b054fc7fae045e3506353ae687b5b4c59e93017439055599bf2739f0f34a4ac28c88246c185510b05b85f41a766f + SHA512 5aaefb55014118dc3aef9bbf03048dec787073fd4bad165dd12ec54c2eeb29f1489c7df62de09f15d046988154d971315cecddb1ea7ff959bfe2ac13e8310813 HEAD_REF master ) vcpkg_cmake_configure( diff --git a/ports/dataframe/vcpkg.json b/ports/dataframe/vcpkg.json index 7139997a8a0e4b..54e8c311d1e02a 100644 --- a/ports/dataframe/vcpkg.json +++ b/ports/dataframe/vcpkg.json @@ -1,7 +1,7 @@ { "name": "dataframe", - "version": "2.1.0", - "description": "This is a C++ statistical library that provides an interface similar to Pandas package in Python", + "version": "3.4.0", + "description": "C++ DataFrame for statistical, Financial, and ML analysis -- in modern C++ using native types and contiguous memory storage", "homepage": "https://github.com/hosseinmoein/DataFrame", "license": "BSD-3-Clause", "supports": "!uwp", diff --git a/ports/date/0001-fix-uwp.patch b/ports/date/0001-fix-uwp.patch deleted file mode 100644 index b414722cd85f9d..00000000000000 --- a/ports/date/0001-fix-uwp.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git i/include/date/date.h w/include/date/date.h -index fce6200..6a77ad4 100644 ---- i/include/date/date.h -+++ w/include/date/date.h -@@ -82,7 +82,7 @@ - #ifdef _MSC_VER - # pragma warning(push) - // warning C4127: conditional expression is constant --# pragma warning(disable : 4127) -+# pragma warning(disable : 4127 4996) - #endif - - namespace date diff --git a/ports/date/0002-fix-cmake-install.patch b/ports/date/0002-fix-cmake-install.patch deleted file mode 100644 index aa404f1ce95c75..00000000000000 --- a/ports/date/0002-fix-cmake-install.patch +++ /dev/null @@ -1,63 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 012512a..2cbcc21 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -73,10 +73,6 @@ target_sources( date INTERFACE - $ - $ - ) --if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.15) -- # public headers will get installed: -- set_target_properties( date PROPERTIES PUBLIC_HEADER include/date/date.h ) --endif () - - # These used to be set with generator expressions, - # -@@ -144,7 +140,6 @@ if( BUILD_TZ_LIB ) - endif( ) - set_target_properties( date-tz PROPERTIES - POSITION_INDEPENDENT_CODE ON -- PUBLIC_HEADER "${TZ_HEADERS}" - VERSION "${PROJECT_VERSION}" - SOVERSION "${ABI_VERSION}" ) - if( NOT MSVC ) -@@ -169,30 +164,26 @@ write_basic_package_version_file( "${version_config}" - COMPATIBILITY SameMajorVersion ) - - install( TARGETS date -- EXPORT dateConfig -- PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/date ) -+ EXPORT dateConfig ) - export( TARGETS date NAMESPACE date:: FILE dateTargets.cmake ) --if (CMAKE_VERSION VERSION_LESS 3.15) -- install( -- FILES include/date/date.h -- DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/date ) --endif () -+install( -+ DIRECTORY "${CMAKE_SOURCE_DIR}/include/date" -+ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" -+ PATTERN "chrono_io.h" EXCLUDE -+) - - if( BUILD_TZ_LIB ) - install( TARGETS date-tz - EXPORT dateConfig -- PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/date - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ) # This is for Windows - export( TARGETS date-tz NAMESPACE date:: APPEND FILE dateTargets.cmake ) - endif( ) - --if( WIN32 AND NOT CYGWIN) -- set( CONFIG_LOC CMake ) --else( ) -- set( CONFIG_LOC "${CMAKE_INSTALL_LIBDIR}/cmake/date" ) --endif( ) -+ -+set( CONFIG_LOC "${CMAKE_INSTALL_LIBDIR}/cmake/date" ) -+ - install( EXPORT dateConfig - FILE dateTargets.cmake - NAMESPACE date:: diff --git a/ports/date/fix-uninitialized-values.patch b/ports/date/fix-uninitialized-values.patch deleted file mode 100644 index 422696e70577dc..00000000000000 --- a/ports/date/fix-uninitialized-values.patch +++ /dev/null @@ -1,40 +0,0 @@ -diff --git a/include/date/date.h b/include/date/date.h -index 9c6f335..3967d6b 100644 ---- a/include/date/date.h -+++ b/include/date/date.h -@@ -6767,7 +6767,7 @@ from_stream(std::basic_istream& is, const CharT* fmt, - CONSTDATA auto w = Duration::period::den == 1 ? 2 : 3 + dfs::width; - int tH; - int tM; -- long double S; -+ long double S{}; - read(is, ru{tH, 1, 2}, CharT{':'}, ru{tM, 1, 2}, - CharT{':'}, rld{S, 1, w}); - checked_set(H, tH, not_a_hour, is); -@@ -7202,7 +7202,7 @@ from_stream(std::basic_istream& is, const CharT* fmt, - // "%I:%M:%S %p" - using dfs = detail::decimal_format_seconds; - CONSTDATA auto w = Duration::period::den == 1 ? 2 : 3 + dfs::width; -- long double S; -+ long double S{}; - int tI = not_a_hour_12_value; - int tM = not_a_minute; - read(is, ru{tI, 1, 2}, CharT{':'}, ru{tM, 1, 2}, -@@ -7258,7 +7258,7 @@ from_stream(std::basic_istream& is, const CharT* fmt, - { - using dfs = detail::decimal_format_seconds; - CONSTDATA auto w = Duration::period::den == 1 ? 2 : 3 + dfs::width; -- long double S; -+ long double S{}; - read(is, rld{S, 1, width == -1 ? w : static_cast(width)}); - checked_set(s, round_i(duration{S}), - not_a_second, is); -@@ -7292,7 +7292,7 @@ from_stream(std::basic_istream& is, const CharT* fmt, - CONSTDATA auto w = Duration::period::den == 1 ? 2 : 3 + dfs::width; - int tH = not_a_hour; - int tM = not_a_minute; -- long double S; -+ long double S{}; - read(is, ru{tH, 1, 2}, CharT{':'}, ru{tM, 1, 2}, - CharT{':'}, rld{S, 1, w}); - checked_set(H, tH, not_a_hour, is); diff --git a/ports/date/portfile.cmake b/ports/date/portfile.cmake index cff1bae789fda5..91857548f060ee 100644 --- a/ports/date/portfile.cmake +++ b/ports/date/portfile.cmake @@ -9,12 +9,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO HowardHinnant/date REF "v${VERSION}" - SHA512 6bdc7cba821d66e17a559250cc0ce0095808e9db81cec9e16eaa4c31abdfa705299c67b72016d9b06b302bc306d063e83a374eb00728071b83a5ad650d59034f + SHA512 e11d7f230ecc431d94c4b58fe7394dd57a9ec0baa9de52496578479b51bbf885566d6666882916d84d388060fa36065b3fa8dd3a8bc14f720b38d1c943f06700 HEAD_REF master - PATCHES - 0001-fix-uwp.patch - 0002-fix-cmake-install.patch - fix-uninitialized-values.patch #Update the new version please remove this patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS @@ -30,7 +26,12 @@ vcpkg_cmake_configure( ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/date) + +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_cmake_config_fixup(CONFIG_PATH CMake) +else() + vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/date") +endif() vcpkg_copy_pdbs() diff --git a/ports/date/vcpkg.json b/ports/date/vcpkg.json index 14b21cd223585e..7c5cab7f6836c8 100644 --- a/ports/date/vcpkg.json +++ b/ports/date/vcpkg.json @@ -1,7 +1,6 @@ { "name": "date", - "version": "3.0.1", - "port-version": 5, + "version": "3.0.3", "description": "A date and time library based on the C++17 header", "homepage": "https://github.com/HowardHinnant/date", "license": "MIT", diff --git a/ports/datraw/portfile.cmake b/ports/datraw/portfile.cmake new file mode 100644 index 00000000000000..0226cc19e71343 --- /dev/null +++ b/ports/datraw/portfile.cmake @@ -0,0 +1,14 @@ +set(VCPKG_BUILD_TYPE release) # header-only library + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO UniStuttgart-VISUS/datraw + REF "v${VERSION}" + SHA512 f38401e0e878f8df8e1b7b9750f4e7fec6920495bfb914a694aab166a0ffbda6dec189693a0d5b9aadb760789706e255f49a382d4e902002aef7120033dce016 + HEAD_REF master +) + +file(COPY "${SOURCE_PATH}/datraw/datraw.h" "${SOURCE_PATH}/datraw/datraw" + DESTINATION "${CURRENT_PACKAGES_DIR}/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENCE.md") diff --git a/ports/datraw/vcpkg.json b/ports/datraw/vcpkg.json new file mode 100644 index 00000000000000..428deb8e2c2629 --- /dev/null +++ b/ports/datraw/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "datraw", + "version": "1.0.9", + "description": "C++ reimplementation of VIS's datraw library.", + "homepage": "https://github.com/UniStuttgart-VISUS/datraw", + "license": "MIT" +} diff --git a/ports/dav1d/portfile.cmake b/ports/dav1d/portfile.cmake index 4a9cf5f797ad24..20f5d1da16f0e0 100644 --- a/ports/dav1d/portfile.cmake +++ b/ports/dav1d/portfile.cmake @@ -3,21 +3,19 @@ vcpkg_from_gitlab( OUT_SOURCE_PATH SOURCE_PATH REPO videolan/dav1d REF "${VERSION}" - SHA512 fce702048b876794d176dffe53d21aaf6a2e9521a306a078debc26a230b5042e7888edd63eb17bd17f06f30ce51901ebf37ea504da25eb911c1b926631cde278 + SHA512 8a9c8079ef8dd32bec2df626db68829ac2210c7754e72e18c74afcff5fa3d4aecfd55c54078c57669a86949b2ce7be803e75f1b8279959e0427661bb7302052d ) -vcpkg_find_acquire_program(NASM) -get_filename_component(NASM_EXE_PATH ${NASM} DIRECTORY) -vcpkg_add_to_path(${NASM_EXE_PATH}) - -if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") - if(VCPKG_TARGET_IS_WINDOWS) - vcpkg_find_acquire_program(GASPREPROCESSOR) - foreach(GAS_PATH ${GASPREPROCESSOR}) - get_filename_component(GAS_ITEM_PATH ${GAS_PATH} DIRECTORY) - set(ENV{PATH} "$ENV{PATH}${VCPKG_HOST_PATH_SEPARATOR}${GAS_ITEM_PATH}") - endforeach(GAS_PATH) - endif() +if (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + vcpkg_find_acquire_program(NASM) + get_filename_component(NASM_EXE_PATH ${NASM} DIRECTORY) + vcpkg_add_to_path(${NASM_EXE_PATH}) +elseif (VCPKG_TARGET_IS_WINDOWS) + vcpkg_find_acquire_program(GASPREPROCESSOR) + foreach(GAS_PATH ${GASPREPROCESSOR}) + get_filename_component(GAS_ITEM_PATH ${GAS_PATH} DIRECTORY) + vcpkg_add_to_path(${GAS_ITEM_PATH}) + endforeach(GAS_PATH) endif() set(LIBRARY_TYPE ${VCPKG_LIBRARY_LINKAGE}) diff --git a/ports/dav1d/vcpkg.json b/ports/dav1d/vcpkg.json index 727efd556fc723..0242dfc476bfc7 100644 --- a/ports/dav1d/vcpkg.json +++ b/ports/dav1d/vcpkg.json @@ -1,7 +1,6 @@ { "name": "dav1d", - "version": "1.3.0", - "port-version": 1, + "version": "1.5.0", "description": "dav1d is a new open-source AV1 decoder developed by the VideoLAN and FFmpeg communities and sponsored by the Alliance for Open Media.", "homepage": "https://code.videolan.org/videolan/dav1d", "license": "BSD-2-Clause", diff --git a/ports/daw-header-libraries/portfile.cmake b/ports/daw-header-libraries/portfile.cmake index 8bd515fa59389c..ec9a47fa1bbdbe 100644 --- a/ports/daw-header-libraries/portfile.cmake +++ b/ports/daw-header-libraries/portfile.cmake @@ -3,7 +3,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO beached/header_libraries REF "v${VERSION}" - SHA512 98b8a8171998a1e00b99a9fc2f3ec868758ae6f9ae081b60574f0be525e17c1f0db37a87571367dfbda66feb76ef9b8024849987c00a0e92502090c25b821ec3 + SHA512 39042e60a5d6d3380dc70f28a88f436c0b40999bce9dc3ac3499ef4380bb1085f4b90c53f3c900e63a9b443a2f4d6424afcf68c4b196a76cf0330aaf722ca6ff HEAD_REF master ) diff --git a/ports/daw-header-libraries/vcpkg.json b/ports/daw-header-libraries/vcpkg.json index 05300831c3af3f..c36bf8ce613352 100644 --- a/ports/daw-header-libraries/vcpkg.json +++ b/ports/daw-header-libraries/vcpkg.json @@ -1,6 +1,6 @@ { "name": "daw-header-libraries", - "version": "2.96.1", + "version": "2.114.1", "description": "Set of header-only algorithms used in daw-utf8-range and daw-json-link.", "homepage": "https://github.com/beached/header_libraries", "license": "BSL-1.0", diff --git a/ports/daw-json-link/portfile.cmake b/ports/daw-json-link/portfile.cmake index 2fe759b1fcc4ec..f6967a07a6511d 100644 --- a/ports/daw-json-link/portfile.cmake +++ b/ports/daw-json-link/portfile.cmake @@ -3,10 +3,11 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO beached/daw_json_link REF "v${VERSION}" - SHA512 0d201ef02a345df6a59be2240594566474b0a9d0634cb0fb5b7ba4798efe5056cb1b34798288d18f52849a8671cc98bf6856b8bc32cf7e7d3837d04feecebea9 - HEAD_REF master + SHA512 b8fc270e72ed092d43128978e29551da21402c6dbff0b73f7e28257a86585d73a5389f82ea91884bb634b193a7f4b82bcf856087688cd343e032d823503b8891 + HEAD_REF release ) +file(REMOVE "${SOURCE_PATH}/include/daw/daw_tuple_forward.h") vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS diff --git a/ports/daw-json-link/vcpkg.json b/ports/daw-json-link/vcpkg.json index 578454a56608c5..f22e6695a062e4 100644 --- a/ports/daw-json-link/vcpkg.json +++ b/ports/daw-json-link/vcpkg.json @@ -1,6 +1,6 @@ { "name": "daw-json-link", - "version": "3.20.1", + "version": "3.29.2", "description": "Perhaps the fastest JSON deserializer/serializer posssible or at least close to it.", "homepage": "https://github.com/beached/daw_json_link", "license": "BSL-1.0", diff --git a/ports/daw-utf-range/portfile.cmake b/ports/daw-utf-range/portfile.cmake index 8250faa600562d..7e6a684526403e 100644 --- a/ports/daw-utf-range/portfile.cmake +++ b/ports/daw-utf-range/portfile.cmake @@ -3,7 +3,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO beached/utf_range REF "v${VERSION}" - SHA512 61da92145417cfa1eb3f7b533e4da5f37618aa9a02d3f0c08af76fca6c8d71e423bf607fc9277f2c354205932ffd911940d3270ce105df41d07d9ab48698b5f9 + SHA512 91ce2a335f5305f481d2bd7fd5954ae4f0ea66f32244cf3a0111ec4185080d90a9850dedbd38c077a66c46d99ca2045620702cf1e06683b6105651efbc6b5300 HEAD_REF master ) diff --git a/ports/daw-utf-range/vcpkg.json b/ports/daw-utf-range/vcpkg.json index 4054503a5a1114..fed7a1f1f847c6 100644 --- a/ports/daw-utf-range/vcpkg.json +++ b/ports/daw-utf-range/vcpkg.json @@ -1,6 +1,6 @@ { "name": "daw-utf-range", - "version": "2.2.3", + "version": "2.2.5", "description": "Header-only utf8 string range used by daw-json-link. Includes a constexpr/noexcept modified version of utfcpp.", "homepage": "https://github.com/beached/header_libraries", "license": "BSL-1.0", diff --git a/ports/daxa/portfile.cmake b/ports/daxa/portfile.cmake index 258a88b181f341..8f89e832f19d17 100644 --- a/ports/daxa/portfile.cmake +++ b/ports/daxa/portfile.cmake @@ -1,7 +1,9 @@ -vcpkg_from_git( +vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - URL https://github.com/Ipotrick/Daxa - REF 61b699ac12de475cf4a79bc99106b865acddaf18 + REPO Ipotrick/Daxa + REF ${VERSION} + SHA512 5843d95ced3ec154d46e31ad5bf822a8470c785415819d235d5b499c3de629c30f5e4afe12b68ef3505ef7287afc68a70f06e255379136fae2e63976310ca3e0 + HEAD_REF master ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS @@ -9,10 +11,11 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS utils-imgui WITH_UTILS_IMGUI utils-mem WITH_UTILS_MEM utils-pipeline-manager-glslang WITH_UTILS_PIPELINE_MANAGER_GLSLANG + utils-pipeline-manager-slang WITH_UTILS_PIPELINE_MANAGER_SLANG utils-pipeline-manager-spirv-validation WITH_UTILS_PIPELINE_MANAGER_SPIRV_VALIDATION utils-task-graph WITH_UTILS_TASK_GRAPH ) -set(DAXA_DEFINES) +set(DAXA_DEFINES "-DDAXA_INSTALL=true") if(WITH_UTILS_IMGUI) list(APPEND DAXA_DEFINES "-DDAXA_ENABLE_UTILS_IMGUI=true") @@ -23,6 +26,9 @@ endif() if(WITH_UTILS_PIPELINE_MANAGER_GLSLANG) list(APPEND DAXA_DEFINES "-DDAXA_ENABLE_UTILS_PIPELINE_MANAGER_GLSLANG=true") endif() +if(WITH_UTILS_PIPELINE_MANAGER_SLANG) + list(APPEND DAXA_DEFINES "-DDAXA_ENABLE_UTILS_PIPELINE_MANAGER_SLANG=true") +endif() if(WITH_UTILS_PIPELINE_MANAGER_SPIRV_VALIDATION) list(APPEND DAXA_DEFINES "-DDAXA_ENABLE_UTILS_PIPELINE_MANAGER_SPIRV_VALIDATION=true") endif() @@ -44,7 +50,4 @@ vcpkg_cmake_configure( vcpkg_cmake_install() vcpkg_cmake_config_fixup() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL "${SOURCE_PATH}/LICENSE" - DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" - RENAME copyright -) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/daxa/vcpkg.json b/ports/daxa/vcpkg.json index dc4bf1c3e1f0b3..4df77eb025a15e 100644 --- a/ports/daxa/vcpkg.json +++ b/ports/daxa/vcpkg.json @@ -1,6 +1,6 @@ { "name": "daxa", - "version": "2.0.0", + "version": "3.0.3", "description": "Daxa C++ Vulkan Abstraction", "homepage": "https://github.com/Ipotrick/Daxa", "license": "MIT", @@ -40,6 +40,12 @@ "glslang" ] }, + "utils-pipeline-manager-slang": { + "description": "Build with Slang", + "dependencies": [ + "shader-slang" + ] + }, "utils-pipeline-manager-spirv-validation": { "description": "Build with SPIR-V validation", "dependencies": [ diff --git a/ports/dbg-macro/portfile.cmake b/ports/dbg-macro/portfile.cmake index 92b0a8f719ecde..a8dac28edc437e 100644 --- a/ports/dbg-macro/portfile.cmake +++ b/ports/dbg-macro/portfile.cmake @@ -8,7 +8,7 @@ vcpkg_from_github( HEAD_REF master ) -file(COPY "${SOURCE_PATH}/dbg.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include") +file(COPY "${SOURCE_PATH}/dbg.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include/dbg-macro") # Handle copyright vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/dbg-macro/vcpkg.json b/ports/dbg-macro/vcpkg.json index 3ca633d3d7e6e8..a6b303e91f8118 100644 --- a/ports/dbg-macro/vcpkg.json +++ b/ports/dbg-macro/vcpkg.json @@ -1,6 +1,7 @@ { "name": "dbg-macro", "version": "0.5.1", + "port-version": 1, "description": "A dbg(...) macro for C++", "homepage": "https://github.com/sharkdp/dbg-macro", "license": "MIT" diff --git a/ports/dbus/libsystemd.patch b/ports/dbus/libsystemd.patch new file mode 100644 index 00000000000000..74193dc4075929 --- /dev/null +++ b/ports/dbus/libsystemd.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d3ec71b..932066a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -141,6 +141,10 @@ if(DBUS_LINUX) + if(ENABLE_SYSTEMD AND SYSTEMD_FOUND) + set(DBUS_BUS_ENABLE_SYSTEMD ON) + set(HAVE_SYSTEMD ${SYSTEMD_FOUND}) ++ pkg_check_modules(SYSTEMD libsystemd IMPORTED_TARGET) ++ set(SYSTEMD_LIBRARIES PkgConfig::SYSTEMD CACHE INTERNAL "") ++ else() ++ set(SYSTEMD_LIBRARIES "" CACHE INTERNAL "") + endif() + option(ENABLE_USER_SESSION "enable user-session semantics for session bus under systemd" OFF) + set(DBUS_ENABLE_USER_SESSION ${ENABLE_USER_SESSION}) diff --git a/ports/dbus/portfile.cmake b/ports/dbus/portfile.cmake index 740c9d141152b8..5bc9fda3d960e0 100644 --- a/ports/dbus/portfile.cmake +++ b/ports/dbus/portfile.cmake @@ -7,14 +7,16 @@ vcpkg_from_gitlab( REF "dbus-${VERSION}" SHA512 8e476b408514e6540c36beb84e8025827c22cda8958b6eb74d22b99c64765eb3cd5a6502aea546e3e5f0534039857b37edee89c659acef40e7cab0939947d4af HEAD_REF master - PATCHES + PATCHES cmake.dep.patch pkgconfig.patch getpeereid.patch # missing check from configure.ac -) + libsystemd.patch +) vcpkg_check_features(OUT_FEATURE_OPTIONS options FEATURES + systemd ENABLE_SYSTEMD x11 DBUS_BUILD_X11 x11 CMAKE_REQUIRE_FIND_PACKAGE_X11 ) @@ -30,7 +32,6 @@ vcpkg_cmake_configure( -DDBUS_INSTALL_SYSTEM_LIBS=OFF #-DDBUS_SERVICE=ON -DDBUS_WITH_GLIB=OFF - -DENABLE_SYSTEMD=ON -DTHREADS_PREFER_PTHREAD_FLAG=ON -DXSLTPROC_EXECUTABLE=FALSE "-DCMAKE_INSTALL_SYSCONFDIR=${CURRENT_PACKAGES_DIR}/etc/${PORT}" @@ -52,7 +53,7 @@ vcpkg_cmake_configure( vcpkg_cmake_install() vcpkg_copy_pdbs() vcpkg_cmake_config_fixup(PACKAGE_NAME "DBus1" CONFIG_PATH "lib/cmake/DBus1") -vcpkg_fixup_pkgconfig() +vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" @@ -82,6 +83,9 @@ else() list(APPEND TOOLS cleanup-sockets uuidgen) endif() list(TRANSFORM TOOLS PREPEND "dbus-" ) +if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + vcpkg_copy_tools(TOOL_NAMES ${TOOLS} SEARCH_DIR ${CURRENT_PACKAGES_DIR}/debug/bin DESTINATION "${CURRENT_PACKAGES_DIR}/debug/tools/${PORT}") +endif() vcpkg_copy_tools(TOOL_NAMES ${TOOLS} AUTO_CLEAN) file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/dbus/vcpkg.json b/ports/dbus/vcpkg.json index 771baacbedfd41..53e68a39067a44 100644 --- a/ports/dbus/vcpkg.json +++ b/ports/dbus/vcpkg.json @@ -1,11 +1,11 @@ { "name": "dbus", "version": "1.15.8", - "port-version": 1, + "port-version": 5, "description": "D-Bus specification and reference implementation, including libdbus and dbus-daemon", "homepage": "https://gitlab.freedesktop.org/dbus/dbus", "license": "AFL-2.1 OR GPL-2.0-or-later", - "supports": "!uwp & !staticcrt", + "supports": "!uwp & !staticcrt & !android & !ios", "dependencies": [ "expat", { @@ -17,7 +17,23 @@ "host": true } ], + "default-features": [ + { + "name": "systemd", + "platform": "linux" + } + ], "features": { + "systemd": { + "description": "Build with systemd at_console support", + "supports": "linux", + "dependencies": [ + { + "name": "libsystemd", + "platform": "linux" + } + ] + }, "x11": { "description": "Build with X11 autolaunch support", "dependencies": [ diff --git a/ports/dcmtk/dependencies.diff b/ports/dcmtk/dependencies.diff new file mode 100644 index 00000000000000..91b1a112bb8cd6 --- /dev/null +++ b/ports/dcmtk/dependencies.diff @@ -0,0 +1,54 @@ +diff --git a/CMake/3rdparty.cmake b/CMake/3rdparty.cmake +index 510027c..eb8fe90 100644 +--- a/CMake/3rdparty.cmake ++++ b/CMake/3rdparty.cmake +@@ -1,3 +1,10 @@ ++set(CMAKE_REQUIRE_FIND_PACKAGE_Iconv "${DCMTK_WITH_ICONV}") ++set(CMAKE_REQUIRE_FIND_PACKAGE_LibXml2 "${DCMTK_WITH_XML}") ++set(CMAKE_REQUIRE_FIND_PACKAGE_OpenSSL "${DCMTK_WITH_OPENSSL}") ++set(CMAKE_REQUIRE_FIND_PACKAGE_PNG "${DCMTK_WITH_PNG}") ++set(CMAKE_REQUIRE_FIND_PACKAGE_TIFF "${DCMTK_WITH_TIFF}") ++set(CMAKE_REQUIRE_FIND_PACKAGE_ZLIB "${DCMTK_WITH_ZLIB}") ++ + set(USE_FIND_PACKAGE_DOCS "Control whether libraries are searched via CMake's find_package() mechanism or a Windows specific fallback") + # Advanced user (eg. vcpkg) may want to override this: + if(NOT DEFINED DCMTK_USE_FIND_PACKAGE_WIN_DEFAULT) +@@ -42,7 +49,7 @@ if(DCMTK_USE_FIND_PACKAGE) + else() + message(STATUS "Info: DCMTK TIFF support will be enabled") + include_directories(${TIFF_INCLUDE_DIR} ${JPEG_INCLUDE_DIR}) +- set(LIBTIFF_LIBS ${TIFF_LIBRARIES} ${TIFF_EXTRA_LIBS_STATIC} ${JPEG_LIBRARIES}) ++ set(LIBTIFF_LIBS ${TIFF_LIBRARIES}) + endif() + endif() + endif() +@@ -58,7 +65,7 @@ if(DCMTK_USE_FIND_PACKAGE) + message(STATUS "Info: DCMTK PNG support will be enabled") + set(WITH_LIBPNG 1) + include_directories(${PNG_INCLUDE_DIR}) +- set(LIBPNG_LIBS ${PNG_LIBRARY}) ++ set(LIBPNG_LIBS ${PNG_LIBRARIES}) + endif() + endif() + +@@ -103,7 +110,7 @@ if(DCMTK_USE_FIND_PACKAGE) + else() + message(STATUS "Info: DCMTK XML support will be enabled") + set(WITH_LIBXML 1) +- include_directories(${LIBXML2_INCLUDE_DIR}) ++ include_directories(${LIBXML2_INCLUDE_DIRS}) + set(LIBXML_LIBS ${LIBXML2_LIBRARIES} ${LIBXML2_EXTRA_LIBS_STATIC}) + endif() + endif() +@@ -141,7 +148,10 @@ if(DCMTK_USE_FIND_PACKAGE) + # Find libiconv + if(DCMTK_WITH_ICONV) + find_package(Iconv QUIET) +- find_package(LIBCHARSET QUIET) ++ set(ICONV_FOUND 1) ++ if(CHARSET_LIBRARIES) ++ set(LIBCHARSET_FOUND 1) ++ endif() + if(ICONV_FOUND) + if(NOT Iconv_IS_BUILT_IN) + set(LIBICONV_FOUND ${ICONV_FOUND}) diff --git a/ports/dcmtk/dictionary_paths.patch b/ports/dcmtk/dictionary_paths.patch new file mode 100644 index 00000000000000..9e38f2a176638d --- /dev/null +++ b/ports/dcmtk/dictionary_paths.patch @@ -0,0 +1,26 @@ +diff --git a/CMake/GenerateDCMTKConfigure.cmake b/CMake/GenerateDCMTKConfigure.cmake +index 8a59d44fa..8d3b4fc60 100644 +--- a/CMake/GenerateDCMTKConfigure.cmake ++++ b/CMake/GenerateDCMTKConfigure.cmake +@@ -173,19 +173,11 @@ if(WIN32 AND NOT CYGWIN) + + # Set dictionary path to the data dir inside install main dir (prefix) + if(DCMTK_DEFAULT_DICT STREQUAL "external") +- if(DCMTK_USE_WIN32_PROGRAMDATA) +- set(DCM_DICT_DEFAULT_PATH "${CMAKE_INSTALL_FULL_DATADIR}\\\\dicom.dic") +- else() +- set(DCM_DICT_DEFAULT_PATH "${DCMTK_PREFIX}\\\\${CMAKE_INSTALL_DATADIR}\\\\dcmtk\\\\dicom.dic") +- endif() ++ set(DCM_DICT_DEFAULT_PATH "${CMAKE_INSTALL_FULL_DATADIR}\\\\dicom.dic") + + # If private dictionary should be utilized, add it to default dictionary path. + if(ENABLE_PRIVATE_TAGS) +- if(DCMTK_USE_WIN32_PROGRAMDATA) +- set(DCM_DICT_DEFAULT_PATH "${DCM_DICT_DEFAULT_PATH};${CMAKE_INSTALL_FULL_DATADIR}\\\\private.dic") +- else() +- set(DCM_DICT_DEFAULT_PATH "${DCM_DICT_DEFAULT_PATH};${DCMTK_PREFIX}\\\\${CMAKE_INSTALL_DATADIR}\\\\dcmtk\\\\private.dic") +- endif() ++ set(DCM_DICT_DEFAULT_PATH "${DCM_DICT_DEFAULT_PATH};${CMAKE_INSTALL_FULL_DATADIR}\\\\private.dic") + endif() + + # Again, for Windows strip all / from path and replace it with \\. diff --git a/ports/dcmtk/disable-test-setup.diff b/ports/dcmtk/disable-test-setup.diff new file mode 100644 index 00000000000000..56b6a8ee206a7a --- /dev/null +++ b/ports/dcmtk/disable-test-setup.diff @@ -0,0 +1,19 @@ +diff --git a/CMake/dcmtkUseWine.cmake b/CMake/dcmtkUseWine.cmake +index 6dbd7dc..cf529e2 100644 +--- a/CMake/dcmtkUseWine.cmake ++++ b/CMake/dcmtkUseWine.cmake +@@ -1,3 +1,14 @@ ++if(CMAKE_HOST_WIN32) ++ function(DCMTK_SETUP_WINE) ++ endfunction() ++ function(WINE_COMMAND) ++ message(FATAL_ERROR "Not implemented") ++ endfunction() ++ function(WINE_DETACHED) ++ message(FATAL_ERROR "Not implemented") ++ endfunction() ++ return() ++endif() + # + # Functions for detection and usage of Wine + # Used when cross compiling diff --git a/ports/dcmtk/fix-pc-format.patch b/ports/dcmtk/fix-pc-format.patch deleted file mode 100644 index 4cbffe98b0121c..00000000000000 --- a/ports/dcmtk/fix-pc-format.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff --git a/CMake/dcmtk.pc.in b/CMake/dcmtk.pc.in -index 13c79c0..46fc98a 100644 ---- a/CMake/dcmtk.pc.in -+++ b/CMake/dcmtk.pc.in -@@ -1,14 +1,14 @@ -- prefix="@CMAKE_INSTALL_PREFIX@" -- exec_prefix="${prefix}" -- libdir="${prefix}/@CMAKE_INSTALL_LIBDIR@" -- includedir="${prefix}/include/" -+prefix="@CMAKE_INSTALL_PREFIX@" -+exec_prefix="${prefix}" -+libdir="${prefix}/@CMAKE_INSTALL_LIBDIR@" -+includedir="${prefix}/include/" - -- Name: DCMTK -- Description: DICOM Toolkit (DCMTK) -- URL: https://dcmtk.org -- Version: @DCMTK_MAJOR_VERSION@.@DCMTK_MINOR_VERSION@.@DCMTK_BUILD_VERSION@ -- Requires: @PKGCONF_REQ_PUB@ -- Requires.private: @PKGCONF_REQ_PRIV@ -- Cflags: -I"${includedir}" -- Libs: -L"${libdir}" @PKGCONF_LIBS@ -- Libs.private: -L"${libdir}" @PKGCONF_LIBS_PRIV@ -+Name: DCMTK -+Description: DICOM Toolkit (DCMTK) -+URL: https://dcmtk.org -+Version: @DCMTK_MAJOR_VERSION@.@DCMTK_MINOR_VERSION@.@DCMTK_BUILD_VERSION@ -+Requires: @PKGCONF_REQ_PUB@ -+Requires.private: @PKGCONF_REQ_PRIV@ -+Cflags: -I"${includedir}" -+Libs: -L"${libdir}" @PKGCONF_LIBS@ -+Libs.private: -L"${libdir}" @PKGCONF_LIBS_PRIV@ diff --git a/ports/dcmtk/msvc.diff b/ports/dcmtk/msvc.diff new file mode 100644 index 00000000000000..12999ad5e16a03 --- /dev/null +++ b/ports/dcmtk/msvc.diff @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index bef673f..284d40e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -21,6 +21,7 @@ target_include_directories(config INTERFACE + $ + $ + ) ++target_compile_options(config INTERFACE "\$<\$:/Zc:__cplusplus>") + install(TARGETS config EXPORT DCMTKTargets) + + # Include directories diff --git a/ports/dcmtk/pkgconfig-lib-order.diff b/ports/dcmtk/pkgconfig-lib-order.diff new file mode 100644 index 00000000000000..34c6fd93955898 --- /dev/null +++ b/ports/dcmtk/pkgconfig-lib-order.diff @@ -0,0 +1,60 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 284d40e..8f8acfd 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -158,7 +158,12 @@ endif() + + if(DCMTK_WITH_ICONV) + # libiconv does not provide a .pc file +- set(PKGCONF_LIBS_PRIV "${PKGCONF_LIBS_PRIV} ${Iconv_LIBRARY} ${LIBCHARSET_LIBRARY}") ++ if(Iconv_LIBRARIES) ++ string(APPEND PKGCONF_LIBS_PRIV " -liconv") ++ endif() ++ if(CHARSET_LIBRARIES) ++ string(APPEND PKGCONF_LIBS_PRIV " -lcharset") ++ endif() + endif() + + if(DCMTK_WITH_ICU) +@@ -200,6 +205,41 @@ endif() + + get_property(DCMTK_LIBRARY_TARGETS GLOBAL PROPERTY DCMTK_LIBRARY_TARGETS) + ++foreach(lib IN LISTS WIN32_STD_LIBRARIES) ++ string(APPEND PKGCONF_LIBS_PRIV " -l${lib}") ++endforeach() ++configure_file("${DCMTK_SOURCE_DIR}/CMake/dcmtk.pc.in" "${DCMTK_BINARY_DIR}/dcmtk-deps.pc" @ONLY) ++install(FILES "${DCMTK_BINARY_DIR}/dcmtk-deps.pc" DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) ++set(PKGCONF_LIBS "") ++set(PKGCONF_LIBS_PRIV "") ++set(PKGCONF_REQ_PUB dcmtk-deps) ++set(PKGCONF_REQ_PRIV "") ++ ++foreach(lib IN ITEMS ++ dcmfg # for dcmseg, dcmpmap, dcmect ++ dcmiod # for dcmpstat, dcmfg, dcmseg ++ dcmdsig # for dcmpstat ++ dcmtls # for dcmpstat ++ dcmqrdb # for dcmpstat ++ dcmsr # for cmr ++ dcmnet # for dcmtls, dcmwlm, dcmqrdb ++ dcmtkcharls # for dcmjpls ++ ijg8 # for dcmjpeg ++ ijg12 # fpr dcmjpeg ++ ijg16 # for dcmjpeg ++ dcmimage # for dcmjpeg etc. ++ dcmimgle # for dcmimage etc. ++ dcmxml # for i2d ++ dcmdata # fpr dcmxml, dcmimgle, etc. ++ oflog # for most libs ++ ofstd # for oflog ++ oficonv # for ofstd ++ ) ++ if(lib IN_LIST DCMTK_LIBRARY_TARGETS) ++ list(REMOVE_ITEM DCMTK_LIBRARY_TARGETS ${lib}) ++ list(APPEND DCMTK_LIBRARY_TARGETS ${lib}) ++ endif() ++endforeach() + foreach(T ${DCMTK_LIBRARY_TARGETS}) + set(PKGCONF_LIBS "${PKGCONF_LIBS} -l${T}") + endforeach() diff --git a/ports/dcmtk/portfile.cmake b/ports/dcmtk/portfile.cmake index 724876e2741030..531e9ea4ae094d 100644 --- a/ports/dcmtk/portfile.cmake +++ b/ports/dcmtk/portfile.cmake @@ -1,19 +1,45 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO DCMTK/dcmtk - REF a137f1aff4e1df3fbefe53ee8b160973c74c96dd # DCMTK-3.6.7 - SHA512 dd41b38ef5d02ac2bf4071e1c27814e03357bc6a51eef59daf47a86d024d7fcbaaa1a71df8600fb8180f8b6537d45d6bf48a00730c1fa9d147778f36ff3e425a + REF "DCMTK-${VERSION}" + SHA512 fcb222182ea653304a1c49db31899a8b08d881916f90d3d35bfab2896aa11473232ac0c0f2195e4d478a6188d3b2c5f54d5172f29c42688c5d05f9bf738ca775 HEAD_REF master PATCHES dcmtk.patch - windows-patch.patch - fix-pc-format.patch + dependencies.diff + dictionary_paths.patch + disable-test-setup.diff + pkgconfig-lib-order.diff + msvc.diff ) +file(REMOVE + "${SOURCE_PATH}/CMake/FindICONV.cmake" + "${SOURCE_PATH}/CMake/FindJPEG.cmake" +) + +# Prefix all exported API symbols of vendored libjpeg with "dcmtk_" +file(GLOB src_files "${SOURCE_PATH}/dcmjpeg/libijg*/*.c" "${SOURCE_PATH}/dcmjpeg/libijg*/*.h") +foreach(file_path ${src_files}) + file(READ "${file_path}" file_string) + string(REGEX REPLACE "(#define[ \t\r\n]+[A-Za-z0-9_]*[ \t\r\n]+)(j[a-z]+[0-9]+_)" "\\1dcmtk_\\2" file_string "${file_string}") + file(WRITE "${file_path}" "${file_string}") +endforeach() + +vcpkg_cmake_get_vars(cmake_vars_file) +include("${cmake_vars_file}") +if(VCPKG_DETECTED_CMAKE_CROSSCOMPILING) + message(STATUS [[ +Cross-compiling DCMTK needs input from executing test programs in the target +environment. You may need to provide a suitable emulator setup, and you can set +values directly with `VCPKG_CMAKE_CONFIGURE_OPTIONS` in a custom triplet file. +For more information see +https://support.dcmtk.org/redmine/projects/dcmtk/wiki/Cross_Compiling +]]) +endif() vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES "iconv" DCMTK_WITH_ICONV - "icu" DCMTK_WITH_ICU "openssl" DCMTK_WITH_OPENSSL "png" DCMTK_WITH_PNG "tiff" DCMTK_WITH_TIFF @@ -22,31 +48,48 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS "tools" BUILD_APPS ) +if("external-dict" IN_LIST FEATURES) + set(DCMTK_DEFAULT_DICT "external") + set(DCMTK_ENABLE_BUILTIN_OFICONV_DATA OFF) +else() + set(DCMTK_DEFAULT_DICT "builtin") + set(DCMTK_ENABLE_BUILTIN_OFICONV_DATA ON) +endif() + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} - -DDCMTK_WITH_DOXYGEN=OFF - -DDCMTK_FORCE_FPIC_ON_UNIX=ON - -DDCMTK_OVERWRITE_WIN32_COMPILER_FLAGS=OFF - -DDCMTK_ENABLE_PRIVATE_TAGS=ON -DCMAKE_CXX_STANDARD=17 + -DCMAKE_INSTALL_DOCDIR=share/${PORT}/doc + -DDCMTK_DEFAULT_DICT=${DCMTK_DEFAULT_DICT} + -DCMAKE_DISABLE_FIND_PACKAGE_BISON=ON + -DCMAKE_DISABLE_FIND_PACKAGE_FLEX=ON + -DDCMTK_ENABLE_BUILTIN_OFICONV_DATA=${DCMTK_ENABLE_BUILTIN_OFICONV_DATA} + -DDCMTK_ENABLE_PRIVATE_TAGS=ON + -DDCMTK_ENABLE_STL=ON + -DDCMTK_OVERWRITE_WIN32_COMPILER_FLAGS=OFF + -DDCMTK_USE_FIND_PACKAGE=ON -DDCMTK_WIDE_CHAR_FILE_IO_FUNCTIONS=ON -DDCMTK_WIDE_CHAR_MAIN_FUNCTION=ON - -DDCMTK_ENABLE_STL=ON - -DCMAKE_DEBUG_POSTFIX=d + -DDCMTK_WITH_OPENJPEG=OFF + -DDCMTK_WITH_DOXYGEN=OFF + -DDCMTK_WITH_SNDFILE=OFF + -DDCMTK_WITH_WRAP=OFF OPTIONS_DEBUG - -DINSTALL_HEADERS=OFF - -DINSTALL_OTHER=OFF -DBUILD_APPS=OFF ) vcpkg_cmake_install() vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup() +vcpkg_fixup_pkgconfig() if ("tools" IN_LIST FEATURES) set(_tools + dcm2cda cda2dcm + dcm2img dcm2json dcm2pdf dcm2pnm @@ -55,24 +98,19 @@ if ("tools" IN_LIST FEATURES) dcmcjpls dcmconv dcmcrle - dcmdata_tests dcmdjpeg dcmdjpls dcmdrle dcmdspfn dcmdump - dcmect_tests - dcmfg_tests dcmftest dcmgpdir dcmicmp - dcmiod_tests dcmj2pnm dcml2pnm dcmmkcrv dcmmkdir dcmmklut - dcmnet_tests dcmodify dcmp2pgm dcmprscp @@ -87,17 +125,12 @@ if ("tools" IN_LIST FEATURES) dcmqrti dcmquant dcmrecv - dcmrt_tests dcmscale - dcmseg_tests dcmsend dcmsign - dcmsr_tests - dcmtls_tests dcod2lum dconvlum drtdump - drttest dsr2html dsr2xml dsrdump @@ -106,35 +139,31 @@ if ("tools" IN_LIST FEATURES) findscu getscu img2dcm - mkreport + mkcsmapper + mkesdb movescu - msgserv - ofstd_tests pdf2dcm stl2dcm storescp storescu termscu wlmscpfs - wltest xml2dcm xml2dsr ) vcpkg_copy_tools(TOOL_NAMES ${_tools} AUTO_CLEAN) endif() -vcpkg_cmake_config_fixup() - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/dcmtk/config/osconfig.h" "#define DCMTK_PREFIX \"${CURRENT_PACKAGES_DIR}\"" "") -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/dcmtk/config/osconfig.h" "#define DCM_DICT_DEFAULT_PATH \"${CURRENT_PACKAGES_DIR}/share/dcmtk/dicom.dic:${CURRENT_PACKAGES_DIR}/share/dcmtk/private.dic\"" "") -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/dcmtk/config/osconfig.h" "#define DEFAULT_CONFIGURATION_DIR \"${CURRENT_PACKAGES_DIR}/etc/dcmtk/\"" "") -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/dcmtk/config/osconfig.h" "#define DEFAULT_SUPPORT_DATA_DIR \"${CURRENT_PACKAGES_DIR}/share/dcmtk/\"" "") - -vcpkg_fixup_pkgconfig() +# no absolute paths +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/dcmtk/config/osconfig.h" + "#define (DCMTK_PREFIX|DCM_DICT_DEFAULT_PATH|DEFAULT_CONFIGURATION_DIR|DEFAULT_SUPPORT_DATA_DIR) \"[^\"]*\"" + "#define \\1 \"\" /* redacted by vcpkg */" + REGEX +) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYRIGHT") -file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/dcmtk/usage b/ports/dcmtk/usage index 9335b7839c5f17..76cdf38e862c32 100644 --- a/ports/dcmtk/usage +++ b/ports/dcmtk/usage @@ -1,25 +1,9 @@ -The package dcmtk provides CMake targets: +dcmtk provides CMake targets: - find_package(DCMTK CONFIG REQUIRED) - target_link_libraries(main PRIVATE DCMTK::DCMTK) - # You may also need one or more of the following targets: - # DCMTK::cmr DCMTK::i2d DCMTK::ijg8 DCMTK::config DCMTK::ofstd - # DCMTK::oflog DCMTK::dcmdata DCMTK::dcmimgle DCMTK::dcmimage - # DCMTK::dcmjpeg DCMTK::ijg12 DCMTK::ijg16 DCMTK::dcmjpls - # DCMTK::dcmtkcharls DCMTK::dcmtls DCMTK::dcmnet DCMTK::dcmsr - # DCMTK::dcmdsig DCMTK::dcmwlm DCMTK::dcmqrdb DCMTK::dcmpstat - # DCMTK::dcmrt DCMTK::dcmiod DCMTK::dcmfg DCMTK::dcmseg - # DCMTK::dcmtract DCMTK::dcmpmap DCMTK::dcmect + find_package(DCMTK CONFIG REQUIRED) + target_link_libraries(main PRIVATE DCMTK::DCMTK) + # You may also select specific modules using DCMTK::. -Add the following cmake code to your CMakeLists.txt to create definitions for DCMTK - if ("${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" STREQUAL "/") - message(WARNING "No vcpkg install dir found, DCMTK definitions are not set") - else() - target_compile_definitions(main - PUBLIC - "DCMTK_PREFIX=${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" - "DCM_DICT_DEFAULT_PATH=${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/share/dcmtk/dicom.dic:${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/share/dcmtk/private.dic" - "DEFAULT_CONFIGURATION_DIR=${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/etc/dcmtk/" - "DEFAULT_SUPPORT_DATA_DIR=${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/share/dcmtk/" - ) - endif() +dcmtk provides pkg-config modules: + + dcmtk diff --git a/ports/dcmtk/vcpkg.json b/ports/dcmtk/vcpkg.json index 7adfe71059e2c2..9d8c24d5755105 100644 --- a/ports/dcmtk/vcpkg.json +++ b/ports/dcmtk/vcpkg.json @@ -1,11 +1,11 @@ { "name": "dcmtk", - "version": "3.6.7", - "port-version": 5, + "version": "3.6.9", + "port-version": 1, "description": "This DICOM ToolKit (DCMTK) package consists of source code, documentation and installation instructions for a set of software libraries and applications implementing part of the DICOM/MEDICOM Standard.", "homepage": "https://github.com/DCMTK/dcmtk", - "license": "BSD-3-Clause OR BSD-2-Clause OR libtiff OR MIT OR Zlib OR Libpng", - "supports": "!(windows & arm)", + "license": null, + "supports": "!uwp", "dependencies": [ { "name": "vcpkg-cmake", @@ -14,21 +14,22 @@ { "name": "vcpkg-cmake-config", "host": true + }, + { + "name": "vcpkg-cmake-get-vars", + "host": true } ], "features": { + "external-dict": { + "description": "Enable external dictionary" + }, "iconv": { "description": "Enable Iconv support", "dependencies": [ "libiconv" ] }, - "icu": { - "description": "Enable ICU support", - "dependencies": [ - "icu" - ] - }, "openssl": { "description": "Enable OpenSSL", "dependencies": [ @@ -44,7 +45,10 @@ "tiff": { "description": "Enable TIFF support", "dependencies": [ - "tiff" + { + "name": "tiff", + "default-features": false + } ] }, "tools": { diff --git a/ports/dcmtk/windows-patch.patch b/ports/dcmtk/windows-patch.patch deleted file mode 100644 index 83322ea9220500..00000000000000 --- a/ports/dcmtk/windows-patch.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff --git a/CMake/3rdparty.cmake b/CMake/3rdparty.cmake -index 47e3476..2c974e8 100644 ---- a/CMake/3rdparty.cmake -+++ b/CMake/3rdparty.cmake -@@ -3,11 +3,7 @@ if(WIN32) - # For Windows, we don't used FIND_PACKAGE because DCMTK usually is used with its - # own set of 3rd-party support libraries that can be downloaded from DCMTK's - # website (pre-built). -- if(MINGW) -- set(DCMTK_USE_FIND_PACKAGE TRUE CACHE BOOL "${USE_FIND_PACKAGE_DOCS}") -- else() -- set(DCMTK_USE_FIND_PACKAGE FALSE CACHE BOOL "${USE_FIND_PACKAGE_DOCS}") -- endif() -+ set(DCMTK_USE_FIND_PACKAGE TRUE CACHE BOOL "${USE_FIND_PACKAGE_DOCS}") - else() - # Only find_package is supported - set(DCMTK_USE_FIND_PACKAGE TRUE CACHE BOOL "${USE_FIND_PACKAGE_DOCS}") -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 9f8d268..28ddc3e 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -4,6 +4,10 @@ cmake_minimum_required(VERSION 3.0.0...3.13.2 FATAL_ERROR) - # Declare project - project(DCMTK) - -+if(MSVC) -+ string(APPEND CMAKE_CXX_FLAGS " /Zc:__cplusplus") -+endif() -+ - #----------------------------------------------------------------------------- - # General project settings to configure DCMTK build process - #----------------------------------------------------------------------------- diff --git a/ports/debug-assert/portfile.cmake b/ports/debug-assert/portfile.cmake index 49da26ccbb6b1c..afac8483b8181d 100644 --- a/ports/debug-assert/portfile.cmake +++ b/ports/debug-assert/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO foonathan/debug_assert - REF 0144b6532ec80349780ffac3cf85a92d87eb7b1b - SHA512 16cf38406d5f71585b763ff8af59b09c7b8b05372b07714cdc82f6f27292597c0b6d9025f823515744f8235b326b95e1d630af34db4a0e15d4ded79364290630 + REF "v${VERSION}" + SHA512 0cc2f301e5f604501d29bab0e05ab9b667c1e0160003fc26da4f3edf747c761ff6d409cacc6bbe7fb15cd5caf9d3175fd4e88c0b066e659b41966916fab45ba8 HEAD_REF v1.3.3 ) diff --git a/ports/debug-assert/vcpkg.json b/ports/debug-assert/vcpkg.json index e3bded5ba373b1..81564b75a9bff9 100644 --- a/ports/debug-assert/vcpkg.json +++ b/ports/debug-assert/vcpkg.json @@ -1,7 +1,6 @@ { "name": "debug-assert", - "version": "1.3.3", - "port-version": 2, + "version": "1.3.4", "description": "Provides flexible DEBUG_ASSERT() macro.", "homepage": "https://github.com/foonathan/debug_assert", "dependencies": [ diff --git a/ports/delaunator-cpp/portfile.cmake b/ports/delaunator-cpp/portfile.cmake new file mode 100644 index 00000000000000..257502a7661bf3 --- /dev/null +++ b/ports/delaunator-cpp/portfile.cmake @@ -0,0 +1,16 @@ +# header-only library +set(VCPKG_BUILD_TYPE release) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO abellgithub/delaunator-cpp + REF "v${VERSION}" + SHA512 14831b2b86e4a53b7da702d551d93ce555c639721bd5d84733c0bf994e71885d0af5963b8033e278dafa73f59996da4eee03fcd19e78206f0dbcf66077875d8b + HEAD_REF master +) + +file(COPY "${SOURCE_PATH}/include/delaunator-header-only.hpp" DESTINATION "${CURRENT_PACKAGES_DIR}/include") +file(COPY "${SOURCE_PATH}/include/delaunator.cpp" DESTINATION "${CURRENT_PACKAGES_DIR}/include") +file(COPY "${SOURCE_PATH}/include/delaunator.hpp" DESTINATION "${CURRENT_PACKAGES_DIR}/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/delaunator-cpp/vcpkg.json b/ports/delaunator-cpp/vcpkg.json new file mode 100644 index 00000000000000..0933e50f5e6c79 --- /dev/null +++ b/ports/delaunator-cpp/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "delaunator-cpp", + "version": "1.0.0", + "description": "A really fast C++ library for Delaunay triangulation of 2D points", + "homepage": "https://github.com/abellgithub/delaunator-cpp", + "license": "MIT" +} diff --git a/ports/deniskovalchuk-libftp/portfile.cmake b/ports/deniskovalchuk-libftp/portfile.cmake new file mode 100644 index 00000000000000..369713da5907a9 --- /dev/null +++ b/ports/deniskovalchuk-libftp/portfile.cmake @@ -0,0 +1,25 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO deniskovalchuk/libftp + REF "v${VERSION}" + SHA512 c0fe6f174d0bcb200f7b3a933671f5b6ab63599ba9c7a4cadd2219866d246c0ab11bb9c9bfdfe6bf9adfebb9132c2378c7912cb7cb80489e29c05c9710e839c3 + HEAD_REF master +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + DISABLE_PARALLEL_CONFIGURE # generating export header in source dir + OPTIONS + -DLIBFTP_BUILD_TEST=OFF + -DLIBFTP_BUILD_EXAMPLE=OFF + -DLIBFTP_BUILD_CMDLINE_CLIENT=OFF +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(PACKAGE_NAME ftp + CONFIG_PATH "share/cmake/ftp") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/deniskovalchuk-libftp/vcpkg.json b/ports/deniskovalchuk-libftp/vcpkg.json new file mode 100644 index 00000000000000..75312aa6d1e92d --- /dev/null +++ b/ports/deniskovalchuk-libftp/vcpkg.json @@ -0,0 +1,22 @@ +{ + "name": "deniskovalchuk-libftp", + "version": "1.4.1", + "maintainers": "Denis Kovalchuk ", + "description": "A cross-platform FTP/FTPS client library based on Boost.Asio.", + "homepage": "https://github.com/deniskovalchuk/libftp", + "license": "MIT", + "supports": "!uwp", + "dependencies": [ + "boost-asio", + "boost-format", + "openssl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/devil/0007-remove_register_keyword_cpp17.patch b/ports/devil/0007-remove_register_keyword_cpp17.patch new file mode 100644 index 00000000000000..5876fe3289b443 --- /dev/null +++ b/ports/devil/0007-remove_register_keyword_cpp17.patch @@ -0,0 +1,30 @@ +diff --git a/DevIL/src-IL/src/il_manip.cpp b/DevIL/src-IL/src/il_manip.cpp +index 79acc99..229a692 100644 +--- a/DevIL/src-IL/src/il_manip.cpp ++++ b/DevIL/src-IL/src/il_manip.cpp +@@ -37,9 +37,9 @@ ILushort ILAPIENTRY ilFloatToHalf(ILuint i) { + // of float and half (127 versus 15). + // + +- register int s = (i >> 16) & 0x00008000; +- register int e = ((i >> 23) & 0x000000ff) - (127 - 15); +- register int m = i & 0x007fffff; ++ int s = (i >> 16) & 0x00008000; ++ int e = ((i >> 23) & 0x000000ff) - (127 - 15); ++ int m = i & 0x007fffff; + + // + // Now reassemble s, e and m into a half: +diff --git a/DevIL/src-ILU/src/ilu_scaling.cpp b/DevIL/src-ILU/src/ilu_scaling.cpp +index c2893a3..ef35c13 100644 +--- a/DevIL/src-ILU/src/ilu_scaling.cpp ++++ b/DevIL/src-ILU/src/ilu_scaling.cpp +@@ -406,7 +406,7 @@ main(argc, argv) + int argc; + char *argv[]; + { +- register int c; ++ int c; + int optind; + char *optarg; + int xsize = 0, ysize = 0; diff --git a/ports/devil/portfile.cmake b/ports/devil/portfile.cmake index ecbf318894c717..fb0aca69716aaf 100644 --- a/ports/devil/portfile.cmake +++ b/ports/devil/portfile.cmake @@ -13,6 +13,7 @@ vcpkg_from_github( 0005-fix-pkgconfig.patch 0006-fix-ilut-header.patch jasper-4.patch + 0007-remove_register_keyword_cpp17.patch ) file(REMOVE "${SOURCE_PATH}/DevIL/src-IL/cmake/FindOpenEXR.cmake") diff --git a/ports/devil/vcpkg.json b/ports/devil/vcpkg.json index b37faa5e235bc6..b6171654327d65 100644 --- a/ports/devil/vcpkg.json +++ b/ports/devil/vcpkg.json @@ -1,7 +1,7 @@ { "name": "devil", "version": "1.8.0", - "port-version": 11, + "port-version": 13, "description": "A full featured cross-platform image library", "homepage": "https://github.com/DentonW/DevIL", "supports": "!uwp", @@ -57,7 +57,10 @@ "tiff": { "description": "Use Libtiff for .tif support", "dependencies": [ - "tiff" + { + "name": "tiff", + "default-features": false + } ] } } diff --git a/ports/dimcli/portfile.cmake b/ports/dimcli/portfile.cmake index c1aa50ea147455..cee86ff6b40b38 100644 --- a/ports/dimcli/portfile.cmake +++ b/ports/dimcli/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO gknowles/dimcli - REF v7.1.0 - SHA512 3fad1c68e116c65df453a545fe9def6dc05941675900fd81728531d7638fc1814b82ee1f613ec451bc6c31702a3d5e31f275e605fe6bd62c61513ecd78a172cc + REF "v${VERSION}" + SHA512 fff7ac643b42c9c4464ac34c80369ef1e3d9d87677a3c7c660fd6a697b57348599b445794ac278d87a9a8d31c00adfded5932ecaa54e8ed918cb4665023fd8d5 HEAD_REF master ) @@ -22,9 +22,7 @@ vcpkg_cmake_configure( vcpkg_cmake_install() vcpkg_copy_pdbs() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") # Remove includes from ${CMAKE_INSTALL_PREFIX}/debug file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") - -# Handle copyright -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/dimcli" RENAME copyright) diff --git a/ports/dimcli/vcpkg.json b/ports/dimcli/vcpkg.json index 1176555886c8df..4892c0c66c4613 100644 --- a/ports/dimcli/vcpkg.json +++ b/ports/dimcli/vcpkg.json @@ -1,6 +1,6 @@ { "name": "dimcli", - "version-semver": "7.1.0", + "version-semver": "7.3.0", "description": "C++ command line parser toolkit", "homepage": "https://github.com/gknowles/dimcli", "documentation": "https://gknowles.github.io/dimcli", diff --git a/ports/dingo/portfile.cmake b/ports/dingo/portfile.cmake new file mode 100644 index 00000000000000..9dc5654c6d3e48 --- /dev/null +++ b/ports/dingo/portfile.cmake @@ -0,0 +1,13 @@ +set(VCPKG_BUILD_TYPE release) # header-only +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO romanpauk/dingo + REF "v${VERSION}" + HEAD_REF master + SHA512 a302e8e504a9f0a863c729432a479134ade96198af48219064d8f3f1e18ef78541e93048811865cd8cb878e5a0837ed98425e7481fd08726806e6b72aa57f908 +) + +vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}") +vcpkg_cmake_install() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") + diff --git a/ports/dingo/vcpkg.json b/ports/dingo/vcpkg.json new file mode 100644 index 00000000000000..c95ad6de811199 --- /dev/null +++ b/ports/dingo/vcpkg.json @@ -0,0 +1,13 @@ +{ + "name": "dingo", + "version": "0.1.0", + "description": "Dependency Injection Container for C++", + "homepage": "https://github.com/romanpauk/dingo", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/ports/directx-dxc/directx-dxc-config.cmake.in b/ports/directx-dxc/directx-dxc-config.cmake.in index 814ca9605d783b..a0c2d382a6d9f1 100644 --- a/ports/directx-dxc/directx-dxc-config.cmake.in +++ b/ports/directx-dxc/directx-dxc-config.cmake.in @@ -1,31 +1,24 @@ - -get_filename_component(_dxc_root "${CMAKE_CURRENT_LIST_FILE}" PATH) -get_filename_component(_dxc_root "${_dxc_root}" PATH) +get_filename_component(_dxc_root "${CMAKE_CURRENT_LIST_DIR}" PATH) get_filename_component(_dxc_root "${_dxc_root}" PATH) -set(_dxc_exe "${_dxc_root}/@tool_path@") -if (EXISTS "${_dxc_exe}") - - add_library(Microsoft::DirectXShaderCompiler SHARED IMPORTED) - set_target_properties(Microsoft::DirectXShaderCompiler PROPERTIES - IMPORTED_LOCATION_RELEASE "${_dxc_root}/@dll_dir@/@dll_name_dxc@; ${_dxc_root}/@dll_dir@/@dll_name_dxil@" - IMPORTED_LOCATION_DEBUG "${_dxc_root}/@dll_dir@/@dll_name_dxc@; ${_dxc_root}/@dll_dir@/@dll_name_dxil@" - IMPORTED_IMPLIB_RELEASE "${_dxc_root}/lib/@lib_name@" - IMPORTED_IMPLIB_DEBUG "${_dxc_root}/lib/@lib_name@" - IMPORTED_SONAME_RELEASE "@lib_name@" - IMPORTED_SONAME_DEBUG "@lib_name@" - INTERFACE_INCLUDE_DIRECTORIES "${_dxc_root}/include/directx-dxc" - IMPORTED_CONFIGURATIONS "Debug;Release" - IMPORTED_LINK_INTERFACE_LANGUAGES "C") - - set(directx-dxc_FOUND TRUE) - set(DIRECTX_DXC_TOOL ${_dxc_exe}) - -else() - - set(directx-dxc_FOUND FALSE) - -endif() +set(DIRECTX_DXC_TOOL "${_dxc_root}/@tool_path@" CACHE PATH "Location of the dxc tool") +mark_as_advanced(DIRECTX_DXC_TOOL) + +add_library(Microsoft::DirectXShaderCompiler SHARED IMPORTED) +set_target_properties(Microsoft::DirectXShaderCompiler PROPERTIES + IMPORTED_LOCATION "${_dxc_root}/@dll_dir@/@dll_name_dxc@" + IMPORTED_IMPLIB "${_dxc_root}/lib/@lib_name@" + IMPORTED_SONAME "@lib_name@" + INTERFACE_INCLUDE_DIRECTORIES "${_dxc_root}/include/directx-dxc" + INTERFACE_LINK_LIBRARIES "Microsoft::DXIL" + IMPORTED_LINK_INTERFACE_LANGUAGES "C") + +add_library(Microsoft::DXIL SHARED IMPORTED) +set_target_properties(Microsoft::DXIL PROPERTIES + IMPORTED_LOCATION "${_dxc_root}/@dll_dir@/@dll_name_dxil@" + IMPORTED_IMPLIB "${_dxc_root}/lib/@lib_name@" + IMPORTED_NO_SONAME TRUE + INTERFACE_INCLUDE_DIRECTORIES "${_dxc_root}/include/directx-dxc" + IMPORTED_LINK_INTERFACE_LANGUAGES "C") -unset(_dxc_exe) unset(_dxc_root) diff --git a/ports/directx-dxc/portfile.cmake b/ports/directx-dxc/portfile.cmake index 4c10c739b96438..b220d2a8d6923d 100644 --- a/ports/directx-dxc/portfile.cmake +++ b/ports/directx-dxc/portfile.cmake @@ -1,7 +1,7 @@ set(VCPKG_POLICY_DLLS_IN_STATIC_LIBRARY enabled) -set(DIRECTX_DXC_TAG v1.7.2308) -set(DIRECTX_DXC_VERSION 2023_08_14) +set(DIRECTX_DXC_TAG v1.8.2407) +set(DIRECTX_DXC_VERSION 2024_07_31) if (NOT VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") message(STATUS "Note: ${PORT} always requires dynamic library linkage at runtime.") @@ -11,13 +11,13 @@ if (VCPKG_TARGET_IS_LINUX) vcpkg_download_distfile(ARCHIVE URLS "https://github.com/microsoft/DirectXShaderCompiler/releases/download/${DIRECTX_DXC_TAG}/linux_dxc_${DIRECTX_DXC_VERSION}.x86_64.tar.gz" FILENAME "linux_dxc_${DIRECTX_DXC_VERSION}.tar.gz" - SHA512 7f1fb252b27fb00b9ffeadafb47921757c5e4d7df806283fe7629b866d2873896d7a7d599032aa2389f047d9791a447aabb22e3e8e7e1f3f76142675d831b738 + SHA512 79962025089052d130795d2bb0371eb6f1d0ca395a3343ef50b4793c9a9da65615e53280f158535d1396f6c293ab672c5e5e85dd11399573fdb1cc930fc6ffec ) else() vcpkg_download_distfile(ARCHIVE URLS "https://github.com/microsoft/DirectXShaderCompiler/releases/download/${DIRECTX_DXC_TAG}/dxc_${DIRECTX_DXC_VERSION}.zip" FILENAME "dxc_${DIRECTX_DXC_VERSION}.zip" - SHA512 3bc49f77b55f58de88002a75b38e5acdb8600b0b73729320a25a27af08f1f21d0b4aec92ee9d736eb30bae42f4e0f2f32d25d6635fa71aedcaf82440e6d2433e + SHA512 82ce347a400fb2d7c9fe298a79b3da64bfb1ab8dabdf1394b1f93a0b1f02bded35cbea67b8541da5568d06682808271fbcba0e7dfc17ce5cead3172e19cb5f7e ) endif() @@ -25,7 +25,7 @@ vcpkg_download_distfile( LICENSE_TXT URLS "https://raw.githubusercontent.com/microsoft/DirectXShaderCompiler/${DIRECTX_DXC_TAG}/LICENSE.TXT" FILENAME "LICENSE.${DIRECTX_DXC_VERSION}" - SHA512 7589f152ebc3296dca1c73609a2a23a911b8fc0029731268a6151710014d82005a868c85c8249219f060f64ab1ddecdddff5ed6ea34ff509f63ea3e42bbbf47e + SHA512 9feaa85ca6d42d5a2d6fe773706bbab8241e78390a9d61ea9061c8f0eeb5a3e380ff07c222e02fbf61af7f2b2f6dd31c5fc87247a94dae275dc0a20cdfcc8c9d ) vcpkg_extract_source_archive( @@ -46,20 +46,23 @@ if (VCPKG_TARGET_IS_LINUX) "${PACKAGE_PATH}/lib/libdxcompiler.so" "${PACKAGE_PATH}/lib/libdxil.so" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") - file(INSTALL - "${PACKAGE_PATH}/lib/libdxcompiler.so" - "${PACKAGE_PATH}/lib/libdxil.so" - DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") + + if(NOT DEFINED VCPKG_BUILD_TYPE) + file(INSTALL + "${PACKAGE_PATH}/lib/libdxcompiler.so" + "${PACKAGE_PATH}/lib/libdxil.so" + DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") + endif() file(INSTALL "${PACKAGE_PATH}/bin/dxc" - DESTINATION "${CURRENT_PACKAGES_DIR}/bin") + DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}/") set(dll_name_dxc "libdxcompiler.so") set(dll_name_dxil "libdxil.so") set(dll_dir "lib") set(lib_name "libdxcompiler.so") - set(tool_path "bin/dxc") + set(tool_path "tools/${PORT}/dxc") else() # VCPKG_TARGET_IS_WINDOWS if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") @@ -78,16 +81,21 @@ else() DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}") file(INSTALL "${PACKAGE_PATH}/lib/${DXC_ARCH}/dxcompiler.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") - file(INSTALL "${PACKAGE_PATH}/lib/${DXC_ARCH}/dxcompiler.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") + if(NOT DEFINED VCPKG_BUILD_TYPE) + file(INSTALL "${PACKAGE_PATH}/lib/${DXC_ARCH}/dxcompiler.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") + endif() file(INSTALL "${PACKAGE_PATH}/bin/${DXC_ARCH}/dxcompiler.dll" "${PACKAGE_PATH}/bin/${DXC_ARCH}/dxil.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/bin") - file(INSTALL - "${PACKAGE_PATH}/bin/${DXC_ARCH}/dxcompiler.dll" - "${PACKAGE_PATH}/bin/${DXC_ARCH}/dxil.dll" - DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") + + if(NOT DEFINED VCPKG_BUILD_TYPE) + file(INSTALL + "${PACKAGE_PATH}/bin/${DXC_ARCH}/dxcompiler.dll" + "${PACKAGE_PATH}/bin/${DXC_ARCH}/dxil.dll" + DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") + endif() file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/${PORT}/") @@ -101,13 +109,14 @@ else() set(dll_name_dxil "dxil.dll") set(dll_dir "bin") set(lib_name "dxcompiler.lib") - set(tool_path "tools/directx-dxc/dxc.exe") + set(tool_path "tools/${PORT}/dxc.exe") endif() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") - -file(INSTALL "${LICENSE_TXT}" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}") configure_file("${CMAKE_CURRENT_LIST_DIR}/directx-dxc-config.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/${PORT}-config.cmake" @ONLY) + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${LICENSE_TXT}") diff --git a/ports/directx-dxc/usage b/ports/directx-dxc/usage new file mode 100644 index 00000000000000..2b919ee321aeef --- /dev/null +++ b/ports/directx-dxc/usage @@ -0,0 +1,6 @@ +The DirectX Shader Compiler package provides CMake targets: + + find_package(directx-dxc CONFIG REQUIRED) + target_link_libraries(main PRIVATE Microsoft::DirectXShaderCompiler) + +The CMake variable DIRECTX_DXC_TOOL is also set to point to the appropriate DXC command-line tool. diff --git a/ports/directx-dxc/vcpkg.json b/ports/directx-dxc/vcpkg.json index 828146c7c43b90..4363ab61cd0408 100644 --- a/ports/directx-dxc/vcpkg.json +++ b/ports/directx-dxc/vcpkg.json @@ -1,6 +1,7 @@ { "name": "directx-dxc", - "version-date": "2023-08-14", + "version-date": "2024-07-31", + "port-version": 2, "description": "DirectX Shader Compiler (LLVM/Clang)", "homepage": "https://github.com/microsoft/DirectXShaderCompiler", "documentation": "https://github.com/microsoft/DirectXShaderCompiler/wiki", @@ -14,6 +15,10 @@ { "name": "vcpkg-cmake-config", "host": true + }, + { + "name": "zlib", + "platform": "linux & !static" } ] } diff --git a/ports/directx-headers/portfile.cmake b/ports/directx-headers/portfile.cmake index 6b09cb0aa762c0..7f182d8229f251 100644 --- a/ports/directx-headers/portfile.cmake +++ b/ports/directx-headers/portfile.cmake @@ -1,21 +1,21 @@ -vcpkg_minimum_required(VERSION 2022-10-12) # for ${VERSION} - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Microsoft/DirectX-Headers REF v${VERSION} - SHA512 37781f20b533c68d2adacda36936e70d43cf83b108ec76b224b0633760f8e993467618e40b21dd4a71ff314f1b35e3812d7ec85663696bab7132222d1fb5b987 + SHA512 934108052b9aa54b888c301f358a9d5b8f9ce1a5902e33b80c3273c963d10984faa7da167f1fed203462fe016e30443cb5e0d014de63fc9c0a81a674f757a7a9 HEAD_REF main ) vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} - OPTIONS -DDXHEADERS_BUILD_TEST=OFF -DDXHEADERS_BUILD_GOOGLE_TEST=OFF + OPTIONS -DDXHEADERS_INSTALL=ON -DDXHEADERS_BUILD_TEST=OFF -DDXHEADERS_BUILD_GOOGLE_TEST=OFF ) vcpkg_cmake_install() +vcpkg_fixup_pkgconfig() vcpkg_cmake_config_fixup(CONFIG_PATH share/directx-headers/cmake) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/directx-headers/usage b/ports/directx-headers/usage new file mode 100644 index 00000000000000..bc8737563ea8d9 --- /dev/null +++ b/ports/directx-headers/usage @@ -0,0 +1,4 @@ +The DirectX Headers package provides CMake targets: + + find_package(directx-headers CONFIG REQUIRED) + target_link_libraries(main PRIVATE Microsoft::DirectX-Headers) diff --git a/ports/directx-headers/vcpkg.json b/ports/directx-headers/vcpkg.json index be90d0c0db52e2..0baae6e1942bdd 100644 --- a/ports/directx-headers/vcpkg.json +++ b/ports/directx-headers/vcpkg.json @@ -1,11 +1,11 @@ { "name": "directx-headers", - "version": "1.610.2", + "version": "1.614.1", "description": "Official DirectX 12 Headers", "homepage": "https://devblogs.microsoft.com/directx/", "documentation": "https://devblogs.microsoft.com/directx/gettingstarted-dx12agility/", "license": "MIT", - "supports": "(windows & !xbox) | linux", + "supports": "(windows & !arm32 & !xbox) | linux", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/directx12-agility/directx12-config.cmake.in b/ports/directx12-agility/directx12-config.cmake.in new file mode 100644 index 00000000000000..413d2f0f5c7860 --- /dev/null +++ b/ports/directx12-agility/directx12-config.cmake.in @@ -0,0 +1,41 @@ +get_filename_component(_dx12_root "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_dx12_root "${_dx12_root}" PATH) +get_filename_component(_dx12_root "${_dx12_root}" PATH) + +if (EXISTS "${_dx12_root}/bin/D3D12Core.dll") + + find_library(D3D12_LIB NAMES d3d12) + + if("${D3D12_LIB}" STREQUAL "D3D12_LIB-NOTFOUND") + message(FATAL_ERROR "D3D12.LIB import library from the Windows SDK is required") + endif() + + add_library(Microsoft::DirectX12-Core SHARED IMPORTED) + set_target_properties(Microsoft::DirectX12-Core PROPERTIES + IMPORTED_LOCATION_RELEASE "${_dx12_root}/bin/D3D12Core.dll" + IMPORTED_LOCATION_DEBUG "${_dx12_root}/debug/bin/D3D12Core.dll" + IMPORTED_IMPLIB "${D3D12_LIB}" + IMPORTED_CONFIGURATIONS "Debug;Release" + IMPORTED_LINK_INTERFACE_LANGUAGES "C") + + add_library(Microsoft::DirectX12-Layers SHARED IMPORTED) + set_target_properties(Microsoft::DirectX12-Layers PROPERTIES + IMPORTED_LOCATION_RELEASE "${_dx12_root}/debug/bin/d3d12SDKLayers.dll" + IMPORTED_LOCATION_DEBUG "${_dx12_root}/debug/bin/d3d12SDKLayers.dll" + IMPORTED_IMPLIB "${D3D12_LIB}" + IMPORTED_CONFIGURATIONS "Debug;Release" + IMPORTED_LINK_INTERFACE_LANGUAGES "C") + + add_library(Microsoft::DirectX12-Agility INTERFACE IMPORTED) + set_target_properties(Microsoft::DirectX12-Agility PROPERTIES + INTERFACE_LINK_LIBRARIES "Microsoft::DirectX12-Core;Microsoft::DirectX12-Layers") + + set(directx12-agility_FOUND TRUE) + +else() + + set(directx12-agility_FOUND FALSE) + +endif() + +unset(_dx12_root) diff --git a/ports/directx12-agility/portfile.cmake b/ports/directx12-agility/portfile.cmake new file mode 100644 index 00000000000000..9a38b1da120ce9 --- /dev/null +++ b/ports/directx12-agility/portfile.cmake @@ -0,0 +1,47 @@ +set(VCPKG_POLICY_DLLS_IN_STATIC_LIBRARY enabled) +set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) +set(VCPKG_POLICY_DLLS_WITHOUT_LIBS enabled) +set(VCPKG_POLICY_MISMATCHED_NUMBER_OF_BINARIES enabled) + +vcpkg_download_distfile(ARCHIVE + URLS "https://www.nuget.org/api/v2/package/Microsoft.Direct3D.D3D12/${VERSION}" + FILENAME "Microsoft.Direct3D.D3D12.${VERSION}.zip" + SHA512 05baa55231684ab10a3e905c9b85ce78f04ade9360f7de84a06bbae3bfc3123bcccaa563647a25e151cc759106bc19e37740ef78563592d28e3a723fd744b42f +) + +vcpkg_extract_source_archive( + PACKAGE_PATH + ARCHIVE ${ARCHIVE} + NO_REMOVE_ONE_LEVEL +) + +if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + set(REDIST_ARCH arm64) +elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(REDIST_ARCH win32) +else() + set(REDIST_ARCH x64) +endif() + +file(COPY "${PACKAGE_PATH}/build/native/bin/${REDIST_ARCH}/D3D12Core.dll" "${PACKAGE_PATH}/build/native/bin/${REDIST_ARCH}/D3D12Core.pdb" + DESTINATION "${CURRENT_PACKAGES_DIR}/bin") + +file(COPY "${PACKAGE_PATH}/build/native/bin/${REDIST_ARCH}/D3D12Core.dll" "${PACKAGE_PATH}/build/native/bin/${REDIST_ARCH}/D3D12Core.pdb" + DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") +file(COPY "${PACKAGE_PATH}/build/native/bin/${REDIST_ARCH}/d3d12SDKLayers.dll" "${PACKAGE_PATH}/build/native/bin/${REDIST_ARCH}/d3d12SDKLayers.pdb" + DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") + +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/${PORT}") + +file(COPY "${PACKAGE_PATH}/build/native/bin/${REDIST_ARCH}/d3dconfig.exe" "${PACKAGE_PATH}/build/native/bin/${REDIST_ARCH}/d3dconfig.pdb" + DESTINATION "${CURRENT_PACKAGES_DIR}/tools//${PORT}") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${PACKAGE_PATH}/LICENSE.txt") + +message(STATUS "BY USING THE SOFTWARE, YOU ACCEPT THESE TERMS: https://www.nuget.org/packages/Microsoft.Direct3D.D3D12/${VERSION}/License") + +configure_file("${CMAKE_CURRENT_LIST_DIR}/directx12-config.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/${PORT}-config.cmake" @ONLY) diff --git a/ports/directx12-agility/usage b/ports/directx12-agility/usage new file mode 100644 index 00000000000000..4ba03486390dd7 --- /dev/null +++ b/ports/directx12-agility/usage @@ -0,0 +1,14 @@ +The DirectX 12 Agility SDK package provides CMake targets: + + find_package(directx-headers CONFIG REQUIRED) + find_package(directx12-agility CONFIG REQUIRED) + target_link_libraries(main PRIVATE Microsoft::DirectX-Headers Microsoft::DirectX-Guids Microsoft::DirectX12-Agility) + + if(TARGET Microsoft::DirectX12-Agility) + file(MAKE_DIRECTORY "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/D3D12") + add_custom_command(TARGET main POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy $ $/D3D12 + COMMAND ${CMAKE_COMMAND} -E copy $ $/D3D12 + COMMAND_EXPAND_LISTS + ) + endif() diff --git a/ports/directx12-agility/vcpkg.json b/ports/directx12-agility/vcpkg.json new file mode 100644 index 00000000000000..3911861af5689f --- /dev/null +++ b/ports/directx12-agility/vcpkg.json @@ -0,0 +1,21 @@ +{ + "name": "directx12-agility", + "version": "1.614.1", + "port-version": 1, + "description": "DirectX 12 Agility SDK", + "homepage": "https://aka.ms/directx12agility", + "documentation": "https://devblogs.microsoft.com/directx/gettingstarted-dx12agility/", + "license": null, + "supports": "windows & !uwp & !xbox & !arm32", + "dependencies": [ + "directx-headers", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/directxmath/include-path-fix.patch b/ports/directxmath/include-path-fix.patch new file mode 100644 index 00000000000000..b3a308f6946fc9 --- /dev/null +++ b/ports/directxmath/include-path-fix.patch @@ -0,0 +1,43 @@ +From 994441ebfa63fe1440bf430c99b5ba3eaba02c66 Mon Sep 17 00:00:00 2001 +From: Chuck Walbourn +Date: Tue, 26 Nov 2024 17:44:02 -0800 +Subject: [PATCH] CMake update to avoid directxmath subdir for include + +--- + CMakeLists.txt | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d10adc1..7041f14 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -30,7 +30,7 @@ add_library(${PROJECT_NAME} INTERFACE) + + target_include_directories(${PROJECT_NAME} INTERFACE + $ +- $) ++ $) + + target_compile_features(${PROJECT_NAME} INTERFACE cxx_std_11) + +@@ -61,7 +61,7 @@ install(EXPORT ${PROJECT_NAME}-targets + DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PACKAGE_NAME}) + + install(FILES ${LIBRARY_HEADERS} +- DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/directxmath) ++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + + install(FILES + ${CMAKE_CURRENT_BINARY_DIR}/${PACKAGE_NAME}-config.cmake +@@ -71,7 +71,7 @@ install(FILES + # Create pkg-config file + include(build/JoinPaths.cmake) + # from: https://github.com/jtojnar/cmake-snips#concatenating-paths-when-building-pkg-config-files +-join_paths(DIRECTXMATH_INCLUDEDIR_FOR_PKG_CONFIG "\${prefix}" "${CMAKE_INSTALL_INCLUDEDIR}/directxmath") ++join_paths(DIRECTXMATH_INCLUDEDIR_FOR_PKG_CONFIG "\${prefix}" "${CMAKE_INSTALL_INCLUDEDIR}") + join_paths(DIRECTXMATH_LIBDIR_FOR_PKG_CONFIG "\${prefix}" "${CMAKE_INSTALL_LIBDIR}") + + configure_file( +-- +2.47.0.vfs.0.3 + diff --git a/ports/directxmath/portfile.cmake b/ports/directxmath/portfile.cmake index 0bd63bdc32ecd4..a4b12b8b225c36 100644 --- a/ports/directxmath/portfile.cmake +++ b/ports/directxmath/portfile.cmake @@ -1,9 +1,10 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Microsoft/DirectXMath - REF dec2022 - SHA512 61da5464e4a6b0e405307496b0b925fc52e3f7acd3841527c5f8e86d5188865767dd44d4277f034c46b0088d1ee52da72f747c5965cd37411600418b605d4702 + REF oct2024 + SHA512 501a3c8b51cd6d3d4fbcc511c2c37f1d0511bd84d546d5254c2bc81238c11242b9d62c7a153ee110dc9d96a0c7d2544428d8de832c943b680b0cb09d8e3760f2 HEAD_REF main + PATCHES include-path-fix.patch ) vcpkg_cmake_configure( @@ -11,21 +12,26 @@ vcpkg_cmake_configure( ) vcpkg_cmake_install() + +file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/DirectXMath.pc" DESTINATION "${CURRENT_PACKAGES_DIR}/share/pkgconfig") + +vcpkg_fixup_pkgconfig() vcpkg_cmake_config_fixup(CONFIG_PATH share/directxmath) if(NOT VCPKG_TARGET_IS_WINDOWS) vcpkg_download_distfile( SAL_HEADER - URLS "https://raw.githubusercontent.com/dotnet/corert/master/src/Native/inc/unix/sal.h" + URLS "https://raw.githubusercontent.com/dotnet/runtime/v8.0.1/src/coreclr/pal/inc/rt/sal.h" FILENAME "sal.h" - SHA512 1643571673195d9eb892d2f2ac76eac7113ef7aa0ca116d79f3e4d3dc9df8a31600a9668b7e7678dfbe5a76906f9e0734ef8d6db0903ccc68fc742dd8238d8b0 + SHA512 0f5a80b97564217db2ba3e4624cc9eb308e19cc9911dae21d983c4ab37003f4756473297ba81b386c498514cedc1ef5a3553d7002edc09aeb6a1335df973095f ) file(INSTALL ${DOWNLOADS}/sal.h - DESTINATION ${CURRENT_PACKAGES_DIR}/include/directxmath) + DESTINATION ${CURRENT_PACKAGES_DIR}/include) endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/directxmath/usage b/ports/directxmath/usage new file mode 100644 index 00000000000000..6e179fe37c3d03 --- /dev/null +++ b/ports/directxmath/usage @@ -0,0 +1,4 @@ +The DirectXMath package provides CMake targets: + + find_package(directxmath CONFIG REQUIRED) + target_link_libraries(main PRIVATE Microsoft::DirectXMath) diff --git a/ports/directxmath/vcpkg.json b/ports/directxmath/vcpkg.json index 2c894e15e5d82d..640acaff1bf6e4 100644 --- a/ports/directxmath/vcpkg.json +++ b/ports/directxmath/vcpkg.json @@ -1,10 +1,11 @@ { "name": "directxmath", - "version-date": "2022-12-12", + "version-date": "2024-12-02", "description": "DirectXMath SIMD C++ math library", "homepage": "https://github.com/Microsoft/DirectXMath", "documentation": "https://docs.microsoft.com/windows/win32/dxmath/directxmath-portal", "license": "MIT", + "supports": "!arm32", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/directxmesh/portfile.cmake b/ports/directxmesh/portfile.cmake index 62ba9ca07ae420..bdf5d05cba7ca6 100644 --- a/ports/directxmesh/portfile.cmake +++ b/ports/directxmesh/portfile.cmake @@ -1,4 +1,4 @@ -set(DIRECTXMESH_TAG jun2023) +set(DIRECTXMESH_TAG oct2024) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) @@ -6,7 +6,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Microsoft/DirectXMesh REF ${DIRECTXMESH_TAG} - SHA512 01fd1fc43dd51c203b31b8f668a4ece731bad980c97b65481fdd86e2b458556fb46b7709444c1741568b3c5633b766c51cb3211e21f348f12278ad8b10044e7c + SHA512 a7d6eca75315a8f24fdc7753fd0e0b26b1b170ef0ffa1954065164f5da567ba09d1605c45cae91cf73dccc04f52162c3ad62f6a83eddf33c076e6ffb4723276d HEAD_REF main ) @@ -24,10 +24,11 @@ endif() vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - OPTIONS ${FEATURE_OPTIONS} -DBUILD_TESTING=OFF + OPTIONS ${FEATURE_OPTIONS} ) vcpkg_cmake_install() +vcpkg_fixup_pkgconfig() vcpkg_cmake_config_fixup(CONFIG_PATH share/directxmesh) if("tools" IN_LIST FEATURES) @@ -40,7 +41,7 @@ if("tools" IN_LIST FEATURES) MESHCONVERT_EXE URLS "https://github.com/Microsoft/DirectXMesh/releases/download/${DIRECTXMESH_TAG}/meshconvert.exe" FILENAME "meshconvert-${DIRECTXMESH_TAG}.exe" - SHA512 0fca478527c9975776a6a52c0ada08aa4f8bfa169bac9d204295abd6a1a9357c703ae69eabade9c33bab46c25a7342bfc53910ce8ae3cc6a166f807b0e8a8e02 + SHA512 6b437004ee3b8a44d475db51f01558d777bf3c65b1ea132606b9b682ab6310dbdf0c939ecdf7b621255b6130a424de6db368dd73b8d22393bd932342fd3f45e0 ) file(INSTALL @@ -49,13 +50,13 @@ if("tools" IN_LIST FEATURES) file(RENAME "${CURRENT_PACKAGES_DIR}/tools/directxmesh/meshconvert-${DIRECTXMESH_TAG}.exe" "${CURRENT_PACKAGES_DIR}/tools/directxmesh/meshconvert.exe") - elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL arm64) + elseif((VCPKG_TARGET_ARCHITECTURE STREQUAL arm64) OR (VCPKG_TARGET_ARCHITECTURE STREQUAL arm64ec)) vcpkg_download_distfile( MESHCONVERT_EXE URLS "https://github.com/Microsoft/DirectXMesh/releases/download/${DIRECTXMESH_TAG}/meshconvert_arm64.exe" FILENAME "meshconvert-${DIRECTXMESH_TAG}-arm64.exe" - SHA512 92515ec4f3acf0f6cf66e3e20ac709c2b525632d042569272e9208917560f22c15fbbb8066ae44573fcf9c4246daa673c06316641e9585efa873aa06e5efd681 + SHA512 e4f9eb983ea6cfbf18c342d5f1a52210d933ca6bbe7fe5dbca4fee516106f02ac4936804ab222c337ac42eb809c16f06132d51ffa44fb67315c2f28f282afdf3 ) file(INSTALL @@ -68,7 +69,7 @@ if("tools" IN_LIST FEATURES) vcpkg_copy_tools( TOOL_NAMES meshconvert - SEARCH_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin/CMake" + SEARCH_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin" ) endif() diff --git a/ports/directxmesh/usage b/ports/directxmesh/usage index ff81c281801b11..73b783e1537c21 100644 --- a/ports/directxmesh/usage +++ b/ports/directxmesh/usage @@ -1,4 +1,4 @@ -The package DirectXMesh is compatible with built-in CMake targets: +The DirectXMesh package provides CMake targets: find_package(directxmesh CONFIG REQUIRED) target_link_libraries(main PRIVATE Microsoft::DirectXMesh) diff --git a/ports/directxmesh/vcpkg.json b/ports/directxmesh/vcpkg.json index d01488f71e89d3..89d0d4cf187317 100644 --- a/ports/directxmesh/vcpkg.json +++ b/ports/directxmesh/vcpkg.json @@ -1,11 +1,11 @@ { "name": "directxmesh", - "version-date": "2023-06-13", + "version-date": "2024-10-28", "description": "DirectXMesh geometry processing library", "homepage": "https://github.com/Microsoft/DirectXMesh", "documentation": "https://github.com/microsoft/DirectXMesh/wiki", "license": "MIT", - "supports": "windows | linux", + "supports": "(windows & !arm32) | linux", "dependencies": [ { "name": "directx-headers", diff --git a/ports/directxsdk/portfile.cmake b/ports/directxsdk/portfile.cmake index b6c8afe6a5e3d5..ac2c22b67286c8 100644 --- a/ports/directxsdk/portfile.cmake +++ b/ports/directxsdk/portfile.cmake @@ -33,6 +33,8 @@ set(HEADERS ${INC_DIR}/D3DX11async.h ${INC_DIR}/D3DX11core.h ${INC_DIR}/D3DX11tex.h + ${INC_DIR}/d3d9.h + ${INC_DIR}/d3d9types.h ${INC_DIR}/d3dx9.h ${INC_DIR}/d3dx9anim.h ${INC_DIR}/d3dx9core.h @@ -70,6 +72,7 @@ set(RELEASE_LIBS ${LIB_DIR}/d3dx9.lib ) set(OTHER_LIBS + ${LIB_DIR}/d3d9.lib ${LIB_DIR}/d3dxof.lib ${LIB_DIR}/DxErr.lib ) diff --git a/ports/directxsdk/vcpkg.json b/ports/directxsdk/vcpkg.json index d92de898dfeb04..4591dc653b2690 100644 --- a/ports/directxsdk/vcpkg.json +++ b/ports/directxsdk/vcpkg.json @@ -1,7 +1,7 @@ { "name": "directxsdk", "version-string": "jun10", - "port-version": 7, + "port-version": 8, "description": "Legacy DirectX SDK", "homepage": "https://docs.microsoft.com/en-us/windows/win32/directx-sdk--august-2009-", "license": null, diff --git a/ports/directxtex/FixStdByteAndCMake.patch b/ports/directxtex/FixStdByteAndCMake.patch new file mode 100644 index 00000000000000..f1aa25537ddba1 --- /dev/null +++ b/ports/directxtex/FixStdByteAndCMake.patch @@ -0,0 +1,284 @@ +diff --git a/Auxiliary/DirectXTexXbox.h b/Auxiliary/DirectXTexXbox.h +index 0829c8f..9f75866 100644 +--- a/Auxiliary/DirectXTexXbox.h ++++ b/Auxiliary/DirectXTexXbox.h +@@ -132,6 +132,39 @@ namespace Xbox + HRESULT __cdecl SaveToDDSMemory(_In_ const XboxImage& xbox, _Out_ DirectX::Blob& blob); + HRESULT __cdecl SaveToDDSFile(_In_ const XboxImage& xbox, _In_z_ const wchar_t* szFile); + ++#ifdef __cpp_lib_byte ++ inline HRESULT __cdecl GetMetadataFromDDSMemory( ++ _In_reads_bytes_(size) const std::byte* pSource, _In_ size_t size, ++ _Out_ DirectX::TexMetadata& metadata, _Out_ bool& isXbox) ++ { ++ return GetMetadataFromDDSMemory(reinterpret_cast(pSource), size, metadata, isXbox); ++ } ++ ++ inline HRESULT __cdecl GetMetadataFromDDSMemoryEx( ++ _In_reads_bytes_(size) const std::byte* pSource, _In_ size_t size, ++ _Out_ DirectX::TexMetadata& metadata, _Out_ bool& isXbox, ++ _Out_opt_ DirectX::DDSMetaData* ddPixelFormat) ++ { ++ return GetMetadataFromDDSMemoryEx(reinterpret_cast(pSource), size, metadata, isXbox, ddPixelFormat); ++ } ++ ++ inline HRESULT __cdecl LoadFromDDSMemory( ++ _In_reads_bytes_(size) const std::byte* pSource, _In_ size_t size, ++ _Out_opt_ DirectX::TexMetadata* metadata, _Out_ XboxImage& image) ++ { ++ return LoadFromDDSMemory(reinterpret_cast(pSource), size, metadata, image); ++ } ++ ++ inline HRESULT __cdecl LoadFromDDSMemoryEx( ++ _In_reads_bytes_(size) const std::byte* pSource, _In_ size_t size, ++ _Out_opt_ DirectX::TexMetadata* metadata, ++ _Out_opt_ DirectX::DDSMetaData* ddPixelFormat, ++ _Out_ XboxImage& image) ++ { ++ return LoadFromDDSMemoryEx(reinterpret_cast(pSource), size, metadata, ddPixelFormat, image); ++ } ++#endif // __cpp_lib_byte ++ + //--------------------------------------------------------------------------------- + // Xbox Texture Tiling / Detiling (requires XG DLL to be present at runtime) + +@@ -178,4 +211,20 @@ namespace Xbox + const XboxImage& xbox, + _Out_writes_bytes_(maxsize) uint8_t* pDestination, _In_ size_t maxsize) noexcept; + ++#ifdef __cpp_lib_byte ++ inline HRESULT __cdecl EncodeDDSHeader( ++ const XboxImage& xbox, ++ _Out_writes_bytes_(maxsize) std::byte* pDestination, _In_ size_t maxsize) noexcept ++ { ++ return EncodeDDSHeader(xbox, reinterpret_cast(pDestination), maxsize); ++ } ++ ++ inline HRESULT __cdecl EncodeDDSHeader( ++ const XboxImage& xbox, ++ _Reserved_ std::nullptr_t, _In_ size_t maxsize) noexcept ++ { ++ return EncodeDDSHeader(xbox, static_cast(nullptr), maxsize); ++ } ++#endif ++ + } // namespace +diff --git a/CMakeLists.txt b/CMakeLists.txt +index cffe5ca..e26b5a1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -311,7 +311,11 @@ endif() + + if(MINGW OR (NOT WIN32)) + find_package(directxmath CONFIG REQUIRED) ++ target_link_libraries(${PROJECT_NAME} PUBLIC Microsoft::DirectXMath) ++ + find_package(directx-headers CONFIG REQUIRED) ++ target_link_libraries(${PROJECT_NAME} PUBLIC Microsoft::DirectX-Headers) ++ target_compile_definitions(${PROJECT_NAME} PUBLIC USING_DIRECTX_HEADERS) + else() + find_package(directxmath CONFIG QUIET) + find_package(directx-headers CONFIG QUIET) +@@ -319,13 +323,13 @@ endif() + + if(directxmath_FOUND) + message(STATUS "Using DirectXMath package") +- target_link_libraries(${PROJECT_NAME} PUBLIC Microsoft::DirectXMath) ++ target_link_libraries(${PROJECT_NAME} PRIVATE Microsoft::DirectXMath) + endif() + + if(directx-headers_FOUND) + message(STATUS "Using DirectX-Headers package") +- target_link_libraries(${PROJECT_NAME} PUBLIC Microsoft::DirectX-Headers) +- target_compile_definitions(${PROJECT_NAME} PUBLIC USING_DIRECTX_HEADERS) ++ target_link_libraries(${PROJECT_NAME} PRIVATE Microsoft::DirectX-Headers) ++ target_compile_definitions(${PROJECT_NAME} PRIVATE USING_DIRECTX_HEADERS) + target_compile_options(${PROJECT_NAME} PRIVATE $<$:/wd4062> $<$:-Wno-switch-enum>) + endif() + +diff --git a/DirectXTex/DirectXTex.h b/DirectXTex/DirectXTex.h +index e24142c..4dc36c8 100644 +--- a/DirectXTex/DirectXTex.h ++++ b/DirectXTex/DirectXTex.h +@@ -382,6 +382,34 @@ namespace DirectX + _In_z_ const wchar_t* szFile, + _Out_ TexMetadata& metadata) noexcept; + ++#ifdef __cpp_lib_byte ++ HRESULT __cdecl GetMetadataFromDDSMemory( ++ _In_reads_bytes_(size) const std::byte* pSource, _In_ size_t size, ++ _In_ DDS_FLAGS flags, ++ _Out_ TexMetadata& metadata) noexcept; ++ HRESULT __cdecl GetMetadataFromDDSMemoryEx( ++ _In_reads_bytes_(size) const std::byte* pSource, _In_ size_t size, ++ _In_ DDS_FLAGS flags, ++ _Out_ TexMetadata& metadata, ++ _Out_opt_ DDSMetaData* ddPixelFormat) noexcept; ++ HRESULT __cdecl GetMetadataFromHDRMemory( ++ _In_reads_bytes_(size) const std::byte* pSource, _In_ size_t size, ++ _Out_ TexMetadata& metadata) noexcept; ++ HRESULT __cdecl GetMetadataFromTGAMemory( ++ _In_reads_bytes_(size) const std::byte* pSource, _In_ size_t size, ++ _In_ TGA_FLAGS flags, ++ _Out_ TexMetadata& metadata) noexcept; ++ ++#ifdef _WIN32 ++ HRESULT __cdecl GetMetadataFromWICMemory( ++ _In_reads_bytes_(size) const std::byte* pSource, _In_ size_t size, ++ _In_ WIC_FLAGS flags, ++ _Out_ TexMetadata& metadata, ++ _In_ std::function getMQR = nullptr); ++#endif ++#endif // __cpp_lib_byte ++ ++ + //--------------------------------------------------------------------------------- + // Bitmap image container + struct Image +@@ -590,6 +618,34 @@ namespace DirectX + HRESULT __cdecl SaveToTGAMemory(_In_ const Image& image, _Out_ Blob& blob, _In_opt_ const TexMetadata* metadata = nullptr) noexcept; + HRESULT __cdecl SaveToTGAFile(_In_ const Image& image, _In_z_ const wchar_t* szFile, _In_opt_ const TexMetadata* metadata = nullptr) noexcept; + ++#ifdef __cpp_lib_byte ++ HRESULT __cdecl LoadFromDDSMemory( ++ _In_reads_bytes_(size) const std::byte* pSource, _In_ size_t size, ++ _In_ DDS_FLAGS flags, ++ _Out_opt_ TexMetadata* metadata, _Out_ ScratchImage& image) noexcept; ++ HRESULT __cdecl LoadFromDDSMemoryEx( ++ _In_reads_bytes_(size) const std::byte* pSource, _In_ size_t size, ++ _In_ DDS_FLAGS flags, ++ _Out_opt_ TexMetadata* metadata, ++ _Out_opt_ DDSMetaData* ddPixelFormat, ++ _Out_ ScratchImage& image) noexcept; ++ HRESULT __cdecl LoadFromHDRMemory( ++ _In_reads_bytes_(size) const std::byte* pSource, _In_ size_t size, ++ _Out_opt_ TexMetadata* metadata, _Out_ ScratchImage& image) noexcept; ++ HRESULT __cdecl LoadFromTGAMemory( ++ _In_reads_bytes_(size) const std::byte* pSource, _In_ size_t size, ++ _In_ TGA_FLAGS flags, ++ _Out_opt_ TexMetadata* metadata, _Out_ ScratchImage& image) noexcept; ++ ++#ifdef _WIN32 ++ HRESULT __cdecl LoadFromWICMemory( ++ _In_reads_bytes_(size) const std::byte* pSource, _In_ size_t size, ++ _In_ WIC_FLAGS flags, ++ _Out_opt_ TexMetadata* metadata, _Out_ ScratchImage& image, ++ _In_ std::function getMQR = nullptr); ++#endif ++#endif // __cpp_lib_byte ++ + //--------------------------------------------------------------------------------- + // Texture conversion, resizing, mipmap generation, and block compression + +@@ -959,6 +1015,18 @@ namespace DirectX + _Out_writes_bytes_to_opt_(maxsize, required) uint8_t* pDestination, _In_ size_t maxsize, + _Out_ size_t& required) noexcept; + ++#ifdef __cpp_lib_byte ++ HRESULT __cdecl EncodeDDSHeader( ++ _In_ const TexMetadata& metadata, DDS_FLAGS flags, ++ _Out_writes_bytes_to_opt_(maxsize, required) std::byte* pDestination, _In_ size_t maxsize, ++ _Out_ size_t& required) noexcept; ++ ++ HRESULT __cdecl EncodeDDSHeader( ++ _In_ const TexMetadata& metadata, DDS_FLAGS flags, ++ _Reserved_ std::nullptr_t, _In_ size_t maxsize, ++ _Out_ size_t& required) noexcept; ++#endif ++ + //--------------------------------------------------------------------------------- + // Direct3D interop + +diff --git a/DirectXTex/DirectXTex.inl b/DirectXTex/DirectXTex.inl +index 49745ae..d20f41e 100644 +--- a/DirectXTex/DirectXTex.inl ++++ b/DirectXTex/DirectXTex.inl +@@ -190,3 +190,85 @@ inline HRESULT __cdecl SaveToTGAFile(const Image& image, const wchar_t* szFile, + { + return SaveToTGAFile(image, TGA_FLAGS_NONE, szFile, metadata); + } ++ ++ ++//===================================================================================== ++// C++17 helpers ++//===================================================================================== ++#ifdef __cpp_lib_byte ++ ++_Use_decl_annotations_ ++inline HRESULT __cdecl GetMetadataFromDDSMemory(const std::byte* pSource, size_t size, DDS_FLAGS flags, TexMetadata& metadata) noexcept ++{ ++ return GetMetadataFromDDSMemory(reinterpret_cast(pSource), size, flags, metadata); ++} ++ ++_Use_decl_annotations_ ++inline HRESULT __cdecl LoadFromDDSMemory(const std::byte* pSource, size_t size, DDS_FLAGS flags, TexMetadata* metadata, ScratchImage& image) noexcept ++{ ++ return LoadFromDDSMemory(reinterpret_cast(pSource), size, flags, metadata, image); ++} ++ ++_Use_decl_annotations_ ++inline HRESULT __cdecl GetMetadataFromDDSMemoryEx(const std::byte* pSource, size_t size, DDS_FLAGS flags, TexMetadata& metadata, DDSMetaData* ddPixelFormat) noexcept ++{ ++ return GetMetadataFromDDSMemoryEx(reinterpret_cast(pSource), size, flags, metadata, ddPixelFormat); ++} ++ ++_Use_decl_annotations_ ++inline HRESULT __cdecl LoadFromDDSMemoryEx(const std::byte* pSource, size_t size, DDS_FLAGS flags, TexMetadata* metadata, DDSMetaData* ddPixelFormat, ScratchImage& image) noexcept ++{ ++ return LoadFromDDSMemoryEx(reinterpret_cast(pSource), size, flags, metadata, ddPixelFormat, image); ++} ++ ++_Use_decl_annotations_ ++inline HRESULT __cdecl GetMetadataFromHDRMemory(const std::byte* pSource, size_t size, TexMetadata& metadata) noexcept ++{ ++ return GetMetadataFromHDRMemory(reinterpret_cast(pSource), size, metadata); ++} ++ ++_Use_decl_annotations_ ++inline HRESULT __cdecl LoadFromHDRMemory(const std::byte* pSource, size_t size, TexMetadata* metadata, ScratchImage& image) noexcept ++{ ++ return LoadFromHDRMemory(reinterpret_cast(pSource), size, metadata, image); ++} ++ ++_Use_decl_annotations_ ++inline HRESULT __cdecl GetMetadataFromTGAMemory(const std::byte* pSource, size_t size, TGA_FLAGS flags, TexMetadata& metadata) noexcept ++{ ++ return GetMetadataFromTGAMemory(reinterpret_cast(pSource), size, flags, metadata); ++} ++ ++_Use_decl_annotations_ ++inline HRESULT __cdecl LoadFromTGAMemory(const std::byte* pSource, size_t size, TGA_FLAGS flags, TexMetadata* metadata, ScratchImage& image) noexcept ++{ ++ return LoadFromTGAMemory(reinterpret_cast(pSource), size, flags, metadata, image); ++} ++ ++_Use_decl_annotations_ ++inline HRESULT __cdecl EncodeDDSHeader(const TexMetadata& metadata, DDS_FLAGS flags, std::byte* pDestination, size_t maxsize, size_t& required) noexcept ++{ ++ return EncodeDDSHeader(metadata, flags, reinterpret_cast(pDestination), maxsize, required); ++} ++ ++_Use_decl_annotations_ ++inline HRESULT __cdecl EncodeDDSHeader(const TexMetadata& metadata, DDS_FLAGS flags, std::nullptr_t, size_t maxsize, size_t& required) noexcept ++{ ++ return EncodeDDSHeader(metadata, flags, static_cast(nullptr), maxsize, required); ++} ++ ++#ifdef _WIN32 ++_Use_decl_annotations_ ++inline HRESULT __cdecl GetMetadataFromWICMemory(const std::byte* pSource, size_t size, WIC_FLAGS flags, TexMetadata& metadata, std::function getMQR) ++{ ++ return GetMetadataFromWICMemory(reinterpret_cast(pSource), size, flags, metadata, getMQR); ++} ++ ++_Use_decl_annotations_ ++inline HRESULT __cdecl LoadFromWICMemory(const std::byte* pSource, size_t size, WIC_FLAGS flags, TexMetadata* metadata, ScratchImage& image, std::function getMQR) ++{ ++ return LoadFromWICMemory(reinterpret_cast(pSource), size, flags, metadata, image, getMQR); ++} ++#endif // _WIN32 ++ ++#endif // __cpp_lib_byte +-- +2.47.0.vfs.0.3 + diff --git a/ports/directxtex/portfile.cmake b/ports/directxtex/portfile.cmake index df4a022d24bf3c..18dd8a20dddb74 100644 --- a/ports/directxtex/portfile.cmake +++ b/ports/directxtex/portfile.cmake @@ -1,4 +1,4 @@ -set(DIRECTXTEX_TAG sept2023) +set(DIRECTXTEX_TAG oct2024) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) @@ -6,8 +6,10 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Microsoft/DirectXTex REF ${DIRECTXTEX_TAG} - SHA512 b72941496bcd3193409799905cd6b6d0ce79009b222a589257062f830c2ccc16a97166da92ea59a7954d0f60d1fcd704cdb2cb7449697009f9ddeb00e27c4fb8 + SHA512 4ac9307ab6e36aa727afa5bd5bb945fb431c89fa01c9c8283eebf512707acfb15a0d7cd84f72349d4271b0eef2e13bca38a38226c1afafd8f1e36b38c1c4b07f HEAD_REF main + PATCHES + FixStdByteAndCMake.patch ) vcpkg_check_features( @@ -15,19 +17,33 @@ vcpkg_check_features( FEATURES dx11 BUILD_DX11 dx12 BUILD_DX12 + jpeg ENABLE_LIBJPEG_SUPPORT openexr ENABLE_OPENEXR_SUPPORT + png ENABLE_LIBPNG_SUPPORT spectre ENABLE_SPECTRE_MITIGATION tools BUILD_TOOLS ) -set(EXTRA_OPTIONS -DBUILD_SAMPLE=OFF -DBUILD_TESTING=OFF) +set(EXTRA_OPTIONS -DBUILD_SAMPLE=OFF) if(VCPKG_TARGET_IS_WINDOWS AND NOT (VCPKG_TARGET_IS_XBOX OR VCPKG_TARGET_IS_MINGW) AND NOT "dx12" IN_LIST FEATURES) list(APPEND EXTRA_OPTIONS "-DCMAKE_DISABLE_FIND_PACKAGE_directx-headers=TRUE") endif() if(VCPKG_TARGET_IS_MINGW AND ("dx11" IN_LIST FEATURES)) - message(NOTICE "Building ${PORT} for MinGW requires the HLSL Compiler fxc.exe also be in the PATH. See https://aka.ms/windowssdk.") + message(NOTICE "Building ${PORT} for MinGW requires the HLSL Compiler fxc.exe also be in the PATH. See https://aka.ms/windowssdk.") +endif() + +if("xbox" IN_LIST FEATURES) + if((NOT (DEFINED DIRECTXTEX_XBOX_CONSOLE_TARGET)) OR (DIRECTXTEX_XBOX_CONSOLE_TARGET STREQUAL "scarlett")) + list(APPEND FEATURE_OPTIONS "-DBUILD_XBOX_EXTS_SCARLETT=ON") + message(NOTICE "Building ${PORT} with Xbox Series X|S extensions") + elseif(DIRECTXTEX_XBOX_CONSOLE_TARGET STREQUAL "xboxone") + list(APPEND FEATURE_OPTIONS "-DBUILD_XBOX_EXTS_XBOXONE=ON") + message(NOTICE "Building ${PORT} with Xbox One extensions") + else() + message(FATAL_ERROR "The triplet variable DIRECTXTEX_XBOX_CONSOLE_TARGET should be set to 'xboxone' or 'scarlett'.") + endif() endif() if (VCPKG_HOST_IS_LINUX) @@ -40,33 +56,34 @@ vcpkg_cmake_configure( ) vcpkg_cmake_install() +vcpkg_fixup_pkgconfig() vcpkg_cmake_config_fixup(CONFIG_PATH share/directxtex) if("tools" IN_LIST FEATURES) file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/directxtex/") - if((VCPKG_TARGET_ARCHITECTURE STREQUAL x64) AND (NOT ("openexr" IN_LIST FEATURES))) + if((VCPKG_TARGET_ARCHITECTURE STREQUAL x64) AND (NOT (("openexr" IN_LIST FEATURES) OR ("xbox" IN_LIST FEATURES)))) vcpkg_download_distfile( TEXASSEMBLE_EXE URLS "https://github.com/Microsoft/DirectXTex/releases/download/${DIRECTXTEX_TAG}/texassemble.exe" FILENAME "texassemble-${DIRECTXTEX_TAG}.exe" - SHA512 30d607e0e0a47917731ef5acebb5d4d269b73bf21120cb976e7bf605f7f5941cb23f63a317fb3d4171f0dce1526f8dd4365e9c2f9b1a6503c320b1f88156acc4 + SHA512 bb3c45d35305a56b80035bd7c076cd0000461cb37a5cd9495ac8f8a1647967fb6ecb02245336356674829f179ef05330d5aa9e768637e93b9db587d7eb684dfe ) vcpkg_download_distfile( TEXCONV_EXE URLS "https://github.com/Microsoft/DirectXTex/releases/download/${DIRECTXTEX_TAG}/texconv.exe" FILENAME "texconv-${DIRECTXTEX_TAG}.exe" - SHA512 43103276b6a8be23c7b429f089f71df5338b8ef32a2f3fe20492d5294886ddbe9a170c6bc1ead7a2da2179ed8e4828262d7072f136b6586af31d2f3249dff97a + SHA512 6376ee91dca0b53c043e1e86ec56f418029591885dd9fd49f8e932aa635e6668d430aeb30b497daa4e8c1f02ac42f7dc901ebec107d8bc1e611c9a0ec8747029 ) vcpkg_download_distfile( TEXDIAG_EXE URLS "https://github.com/Microsoft/DirectXTex/releases/download/${DIRECTXTEX_TAG}/texdiag.exe" FILENAME "texdiag-${DIRECTXTEX_TAG}.exe" - SHA512 915aa492b3db2a9787492c8e9ae1b51b175db81b38bca73cd5de2ab815308a5d4e63fb584d02f178939fb816c604996e5036b310b4555ecdc0d1e0640aef7ee0 + SHA512 31261ceefc17ce30c7f21dff961bfe03b2dc65619f60c64891a5fc56847cd7468a6629c36b1fcbf4c6f967232ad88eb85cf5c2ea874084dfe0d8da4ffabc12c8 ) file(INSTALL @@ -79,27 +96,27 @@ if("tools" IN_LIST FEATURES) file(RENAME "${CURRENT_PACKAGES_DIR}/tools/directxtex/texconv-${DIRECTXTEX_TAG}.exe" "${CURRENT_PACKAGES_DIR}/tools/directxtex/texconv.exe") file(RENAME "${CURRENT_PACKAGES_DIR}/tools/directxtex/texdiag-${DIRECTXTEX_TAG}.exe" "${CURRENT_PACKAGES_DIR}/tools/directxtex/texadiag.exe") - elseif((VCPKG_TARGET_ARCHITECTURE STREQUAL arm64) AND (NOT ("openexr" IN_LIST FEATURES))) + elseif(((VCPKG_TARGET_ARCHITECTURE STREQUAL arm64) OR (VCPKG_TARGET_ARCHITECTURE STREQUAL arm64ec)) AND (NOT ("openexr" IN_LIST FEATURES))) vcpkg_download_distfile( TEXASSEMBLE_EXE URLS "https://github.com/Microsoft/DirectXTex/releases/download/${DIRECTXTEX_TAG}/texassemble_arm64.exe" FILENAME "texassemble-${DIRECTXTEX_TAG}-arm64.exe" - SHA512 c2152d5644798c4f5fa929a889e68ae5b6545dfdb3251f066406c1f66c223756ace1744314ec459637ca1b39923ad8bfd34f0bf906c84b7e7d6d7114833b7a84 + SHA512 48b629b7aead482c0dc96c2fcfb28d534076d62dc77ce94256ad52df48596c1993645900873bf0dfd3d888087b423c350ba3f420b1305ef2ed7a43eafecfb523 ) vcpkg_download_distfile( TEXCONV_EXE URLS "https://github.com/Microsoft/DirectXTex/releases/download/${DIRECTXTEX_TAG}/texconv_arm64.exe" FILENAME "texconv-${DIRECTXTEX_TAG}-arm64.exe" - SHA512 15901617f1a2ac94f1eec3b287758e50bf0fad6532940345fd9d13c34372acd27d10f8ba3277f21163f991082dbff14506cb4d7068179b5807755d818f98e27d + SHA512 53f319be7e739d9e3addc2e86648022ec802315a94c600eb6886a4474232aa25de0c9fb8d72868d2871d29eb36ee1dd6a186094edb6d9ab8f249b4eb4849a10c ) vcpkg_download_distfile( TEXDIAG_EXE URLS "https://github.com/Microsoft/DirectXTex/releases/download/${DIRECTXTEX_TAG}/texdiag_arm64.exe" FILENAME "texdiag-${DIRECTXTEX_TAG}-arm64.exe" - SHA512 cc110a34428a7a7694f890bae6f68d001c2e8bcb85edfe335d9cad299e0205ef2bd786392cd391681ca1f1c0043b869c424a705a182466230f6f683b77c47c3e + SHA512 638b6b8443767ca390efdfdb8e4e8a655f0cc370a81b946678414481a6c3fc0c431a7082d08206fa86bc4ccf9c8b0027a427d483474a8c3d1ff0a030011779f7 ) file(INSTALL @@ -116,7 +133,7 @@ if("tools" IN_LIST FEATURES) vcpkg_copy_tools( TOOL_NAMES texassemble texconv texdiag - SEARCH_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin/CMake" + SEARCH_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin" ) endif() diff --git a/ports/directxtex/usage b/ports/directxtex/usage index c054f2648541b3..6066b0ccb7449f 100644 --- a/ports/directxtex/usage +++ b/ports/directxtex/usage @@ -1,4 +1,11 @@ -The package DirectXTex is compatible with built-in CMake targets: +The DirectXTex package provides CMake targets: find_package(directxtex CONFIG REQUIRED) target_link_libraries(main PRIVATE Microsoft::DirectXTex) + +For the 'xbox' feature, it defaults to targeting Xbox Series X|S. To set it to Xbox One, +create a custom triplet from x64-windows with the addition of the following: + + if (PORT STREQUAL "directxtex") + set(DIRECTXTEX_XBOX_CONSOLE_TARGET "xboxone") + endif() diff --git a/ports/directxtex/vcpkg.json b/ports/directxtex/vcpkg.json index 38c9ac8f991edf..50c8d71f153222 100644 --- a/ports/directxtex/vcpkg.json +++ b/ports/directxtex/vcpkg.json @@ -1,11 +1,11 @@ { "name": "directxtex", - "version-date": "2023-09-01", + "version-date": "2024-10-28", "description": "DirectXTex texture processing library", "homepage": "https://github.com/Microsoft/DirectXTex", "documentation": "https://github.com/microsoft/DirectXTex/wiki", "license": "MIT", - "supports": "windows | linux", + "supports": "(windows & !arm32) | linux", "dependencies": [ { "name": "directx-headers", @@ -41,18 +41,39 @@ } ] }, + "jpeg": { + "description": "Add the JPEG auxiliary functions", + "supports": "linux", + "dependencies": [ + "libjpeg-turbo" + ] + }, "openexr": { "description": "Enable OpenEXR support", "dependencies": [ "openexr" ] }, + "png": { + "description": "Add the PNG auxiliary functions", + "supports": "linux", + "dependencies": [ + "libpng" + ] + }, "spectre": { "description": "Build Spectre-mitigated library" }, "tools": { "description": "texture command-line tools", "supports": "windows & !uwp & !xbox" + }, + "xbox": { + "description": "Adds Xbox specific extensions to the library", + "supports": "windows & x64 & !uwp & !xbox", + "dependencies": [ + "ms-gdkx" + ] } } } diff --git a/ports/directxtk/portfile.cmake b/ports/directxtk/portfile.cmake index ac9625080e1b20..be1be87a9ab651 100644 --- a/ports/directxtk/portfile.cmake +++ b/ports/directxtk/portfile.cmake @@ -1,4 +1,4 @@ -set(DIRECTXTK_TAG sept2023) +set(DIRECTXTK_TAG oct2024) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) @@ -10,13 +10,14 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Microsoft/DirectXTK REF ${DIRECTXTK_TAG} - SHA512 b5b9ea976b1318bbf29915a10cbb11368e0c16d19247bdb3c2da9e733ef6a3db50e530e59e7c5aa0191c372530f22b1edd3f67a1d0a3647e50c09784b9d1e93a + SHA512 a0c51fbbb9e639ba73dcdfcb2de0b8a859720bba4bd9273a40c4cc2cb949927815ab291e676a676ebd437c473f8548a7b323e7e349ff5a06d04af97d3edc2866 HEAD_REF main ) vcpkg_check_features( OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES + gameinput BUILD_GAMEINPUT spectre ENABLE_SPECTRE_MITIGATION tools BUILD_TOOLS xaudio2-9 BUILD_XAUDIO_WIN10 @@ -24,14 +25,13 @@ vcpkg_check_features( xaudio2redist BUILD_XAUDIO_WIN7 ) -set(EXTRA_OPTIONS -DBUILD_TESTING=OFF) - vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - OPTIONS ${FEATURE_OPTIONS} ${EXTRA_OPTIONS} + OPTIONS ${FEATURE_OPTIONS} ) vcpkg_cmake_install() +vcpkg_fixup_pkgconfig() vcpkg_cmake_config_fixup(CONFIG_PATH share/directxtk) if("tools" IN_LIST FEATURES) @@ -40,7 +40,7 @@ if("tools" IN_LIST FEATURES) MAKESPRITEFONT_EXE URLS "https://github.com/Microsoft/DirectXTK/releases/download/${DIRECTXTK_TAG}/MakeSpriteFont.exe" FILENAME "makespritefont-${DIRECTXTK_TAG}.exe" - SHA512 1c4b282482e931c0b5b97bf7359e11889428f35458e65c751521240f15e04915400084d1a28693d8ffe5cd29bc8dd084a5818ecbff4e036de21368c119145d66 + SHA512 b7cc8a4b1920d85a0b826a4aac6053f0f0e7411dd115d3afc5fb5d2542661d47de11e81cc94830059ca29b0511f585913479fdba24da7f5bff03627a8117a60d ) file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/directxtk/") @@ -55,20 +55,20 @@ if("tools" IN_LIST FEATURES) XWBTOOL_EXE URLS "https://github.com/Microsoft/DirectXTK/releases/download/${DIRECTXTK_TAG}/XWBTool.exe" FILENAME "xwbtool-${DIRECTXTK_TAG}.exe" - SHA512 36e060b67390a1798cb5f96142d63b83051cfb60a9330932cd69a4b43f50d4e29fd5bbe6b036a7c64a8eb8c9018481ee406951f0777f30497672ff8eeba79498 + SHA512 b08f61e7a6190f779ebecd25ec6d8c95c86ed231582b7567e83ededd5c8e0f7497f1c962535e29b204b897e0734f69d7eef78637a77bb9b401e6d1e66821e98b ) file(INSTALL "${XWBTOOL_EXE}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/directxtk/") file(RENAME "${CURRENT_PACKAGES_DIR}/tools/directxtk/xwbtool-${DIRECTXTK_TAG}.exe" "${CURRENT_PACKAGES_DIR}/tools/directxtk/xwbtool.exe") - elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL arm64) + elseif((VCPKG_TARGET_ARCHITECTURE STREQUAL arm64) OR (VCPKG_TARGET_ARCHITECTURE STREQUAL arm64ec)) vcpkg_download_distfile( XWBTOOL_EXE URLS "https://github.com/Microsoft/DirectXTK/releases/download/${DIRECTXTK_TAG}/XWBTool_arm64.exe" FILENAME "xwbtool-${DIRECTXTK_TAG}-arm64.exe" - SHA512 bd594dd0e172a7002e92abf6e01e2efe30fa1cae3ee5ae87254da4443c964aa4fb653c26f145004abcd91135adc4e19fe1b8a752e1a8acb675a8ddc42191e7d6 + SHA512 b25000552c74081b0da117b4b762b98eb68c5de6f6b65a8208811900316f8138f717e6050a30dcb7c71e3e2c01cba12b8dc6d4a9ade45da39abfd2fc3ef679e3 ) file(INSTALL "${XWBTOOL_EXE}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/directxtk/") @@ -79,7 +79,7 @@ if("tools" IN_LIST FEATURES) vcpkg_copy_tools( TOOL_NAMES XWBTool - SEARCH_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin/CMake" + SEARCH_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin" ) endif() diff --git a/ports/directxtk/usage b/ports/directxtk/usage index c36358606dece4..e1f79f6e7256da 100644 --- a/ports/directxtk/usage +++ b/ports/directxtk/usage @@ -1,4 +1,4 @@ -The DirectX Tool Kit for DX11 package is compatible with built-in CMake targets: +The DirectX Tool Kit for DX11 package provides CMake targets: find_package(directxtk CONFIG REQUIRED) target_link_libraries(main PRIVATE Microsoft::DirectXTK) diff --git a/ports/directxtk/vcpkg.json b/ports/directxtk/vcpkg.json index 50c7973a62aa74..a87334d617c2c2 100644 --- a/ports/directxtk/vcpkg.json +++ b/ports/directxtk/vcpkg.json @@ -1,12 +1,11 @@ { "name": "directxtk", - "version-date": "2023-09-01", - "port-version": 1, + "version-date": "2024-10-28", "description": "A collection of helper classes for writing DirectX 11.x code in C++.", "homepage": "https://github.com/Microsoft/DirectXTK", "documentation": "https://github.com/microsoft/DirectXTK/wiki", "license": "MIT", - "supports": "windows & !xbox", + "supports": "windows & !xbox & !arm32", "dependencies": [ "directxmath", { @@ -19,6 +18,13 @@ } ], "features": { + "gameinput": { + "description": "Build using GameInput API for input processing", + "supports": "windows & x64 & !uwp", + "dependencies": [ + "gameinput" + ] + }, "spectre": { "description": "Build Spectre-mitigated library" }, diff --git a/ports/directxtk12/portfile.cmake b/ports/directxtk12/portfile.cmake index 19b7b815791cea..57ede521fa3dd7 100644 --- a/ports/directxtk12/portfile.cmake +++ b/ports/directxtk12/portfile.cmake @@ -1,4 +1,4 @@ -set(DIRECTXTK_TAG sept2023) +set(DIRECTXTK_TAG oct2024) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) @@ -6,19 +6,20 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Microsoft/DirectXTK12 REF ${DIRECTXTK_TAG} - SHA512 1a191c945a0128d02f2a374defca30965d3fe064ef18c111cdb90a763333a69f4eefc5dbd6b8373b2f70276e5022f38e2b48a4f29675f7c10656388f833bca95 + SHA512 bfa254615395f464a7ec1fe544dbb3ef9cf2c755e6902ec9b472fe4e3d6848381cf476435665309c27dbacebceb2a745e865f42eb7b037364dab9fc8eb74d21f HEAD_REF main ) vcpkg_check_features( OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES + gameinput BUILD_GAMEINPUT spectre ENABLE_SPECTRE_MITIGATION xaudio2-9 BUILD_XAUDIO_WIN10 xaudio2redist BUILD_XAUDIO_REDIST ) -set(EXTRA_OPTIONS -DBUILD_TESTING=OFF) +set(EXTRA_OPTIONS "") if(NOT VCPKG_TARGET_IS_XBOX) set(DXCPATH "${CURRENT_HOST_INSTALLED_DIR}/tools/directx-dxc") @@ -31,6 +32,7 @@ vcpkg_cmake_configure( ) vcpkg_cmake_install() +vcpkg_fixup_pkgconfig() vcpkg_cmake_config_fixup(CONFIG_PATH share/directxtk12) if("tools" IN_LIST FEATURES) @@ -39,7 +41,7 @@ if("tools" IN_LIST FEATURES) MAKESPRITEFONT_EXE URLS "https://github.com/Microsoft/DirectXTK12/releases/download/${DIRECTXTK_TAG}/MakeSpriteFont.exe" FILENAME "makespritefont-${DIRECTXTK_TAG}.exe" - SHA512 1c4b282482e931c0b5b97bf7359e11889428f35458e65c751521240f15e04915400084d1a28693d8ffe5cd29bc8dd084a5818ecbff4e036de21368c119145d66 + SHA512 b7cc8a4b1920d85a0b826a4aac6053f0f0e7411dd115d3afc5fb5d2542661d47de11e81cc94830059ca29b0511f585913479fdba24da7f5bff03627a8117a60d ) file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/directxtk12/") @@ -54,20 +56,20 @@ if("tools" IN_LIST FEATURES) XWBTOOL_EXE URLS "https://github.com/Microsoft/DirectXTK12/releases/download/${DIRECTXTK_TAG}/XWBTool.exe" FILENAME "xwbtool-${DIRECTXTK_TAG}.exe" - SHA512 36e060b67390a1798cb5f96142d63b83051cfb60a9330932cd69a4b43f50d4e29fd5bbe6b036a7c64a8eb8c9018481ee406951f0777f30497672ff8eeba79498 + SHA512 b08f61e7a6190f779ebecd25ec6d8c95c86ed231582b7567e83ededd5c8e0f7497f1c962535e29b204b897e0734f69d7eef78637a77bb9b401e6d1e66821e98b ) file(INSTALL "${XWBTOOL_EXE}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/directxtk12/") file(RENAME "${CURRENT_PACKAGES_DIR}/tools/directxtk12/xwbtool-${DIRECTXTK_TAG}.exe" "${CURRENT_PACKAGES_DIR}/tools/directxtk12/xwbtool.exe") - elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL arm64) + elseif((VCPKG_TARGET_ARCHITECTURE STREQUAL arm64) OR (VCPKG_TARGET_ARCHITECTURE STREQUAL arm64ec)) vcpkg_download_distfile( XWBTOOL_EXE URLS "https://github.com/Microsoft/DirectXTK12/releases/download/${DIRECTXTK_TAG}/XWBTool_arm64.exe" FILENAME "xwbtool-${DIRECTXTK_TAG}-arm64.exe" - SHA512 bd594dd0e172a7002e92abf6e01e2efe30fa1cae3ee5ae87254da4443c964aa4fb653c26f145004abcd91135adc4e19fe1b8a752e1a8acb675a8ddc42191e7d6 + SHA512 b25000552c74081b0da117b4b762b98eb68c5de6f6b65a8208811900316f8138f717e6050a30dcb7c71e3e2c01cba12b8dc6d4a9ade45da39abfd2fc3ef679e3 ) file(INSTALL "${XWBTOOL_EXE}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/directxtk12/") diff --git a/ports/directxtk12/usage b/ports/directxtk12/usage index b9b9c8c6075f6d..5a2893111ab14f 100644 --- a/ports/directxtk12/usage +++ b/ports/directxtk12/usage @@ -1,4 +1,4 @@ -The DirectX Tool Kit for DX12 package is compatible with built-in CMake targets: +The DirectX Tool Kit for DX12 package provides CMake targets find_package(directxtk12 CONFIG REQUIRED) target_link_libraries(main PRIVATE Microsoft::DirectXTK12) diff --git a/ports/directxtk12/vcpkg.json b/ports/directxtk12/vcpkg.json index c85ab776fadaa0..34f8ec33e43748 100644 --- a/ports/directxtk12/vcpkg.json +++ b/ports/directxtk12/vcpkg.json @@ -1,12 +1,11 @@ { "name": "directxtk12", - "version-date": "2023-09-01", - "port-version": 1, + "version-date": "2024-10-28", "description": "A collection of helper classes for writing DirectX 12 code in C++.", "homepage": "https://github.com/Microsoft/DirectXTK12", "documentation": "https://github.com/microsoft/DirectXTK12/wiki", "license": "MIT", - "supports": "windows", + "supports": "windows & !arm32", "dependencies": [ { "name": "directx-dxc", @@ -35,12 +34,19 @@ "xaudio2-9" ], "features": { + "gameinput": { + "description": "Build using GameInput API for input processing", + "supports": "windows & x64 & !uwp", + "dependencies": [ + "gameinput" + ] + }, "spectre": { "description": "Build Spectre-mitigated library" }, "tools": { "description": "MakeSpriteFont and xwbtool command-line tools", - "supports": "windows & !uwp & !xbox & (x64 | arm64)" + "supports": "windows & !uwp & !xbox & (x64 | arm64 | arm64ec)" }, "xaudio2-9": { "description": "Build with XAudio 2.9 support for Windows 10/11" diff --git a/ports/discord-rpc/portfile.cmake b/ports/discord-rpc/portfile.cmake index 6a609408440ed7..e2d7b0a3f983cb 100644 --- a/ports/discord-rpc/portfile.cmake +++ b/ports/discord-rpc/portfile.cmake @@ -1,7 +1,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO discordapp/discord-rpc - REF v3.4.0 + REF "v${VERSION}" SHA512 ca981b833aff5f21fd629a704deadd8e3fb5423d959ddb75e381313f6462d984c567671b10c8f031905c08d85792ddbe2dddc402ba2613c42de9e80fc68d0d51 HEAD_REF master PATCHES disable-downloading.patch @@ -15,11 +15,10 @@ vcpkg_cmake_configure( OPTIONS -DUSE_STATIC_CRT=${STATIC_CRT} -DBUILD_EXAMPLES=OFF - -DRAPIDJSONTEST=TRUE "-DRAPIDJSON=${CURRENT_INSTALLED_DIR}" ) -if(EXISTS ${SOURCE_PATH}/thirdparty) +if(EXISTS "${SOURCE_PATH}/thirdparty") message(FATAL_ERROR "The source directory should not be modified during the build.") endif() @@ -27,7 +26,6 @@ vcpkg_cmake_install() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -# Copy copright information -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/discord-rpc" RENAME "copyright") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") vcpkg_copy_pdbs() diff --git a/ports/discord-rpc/vcpkg.json b/ports/discord-rpc/vcpkg.json index 44924ea70185cf..addeb8e677ce1a 100644 --- a/ports/discord-rpc/vcpkg.json +++ b/ports/discord-rpc/vcpkg.json @@ -1,18 +1,15 @@ { "name": "discord-rpc", "version": "3.4.0", - "port-version": 3, + "port-version": 4, "description": "Rich Presence allows you to leverage the totally overhauled \"Now Playing\" section in a Discord user's profile to help people play your game together.", "homepage": "https://github.com/discordapp/discord-rpc", + "license": "MIT", "dependencies": [ "rapidjson", { "name": "vcpkg-cmake", "host": true - }, - { - "name": "vcpkg-cmake-config", - "host": true } ] } diff --git a/ports/discordcoreapi/portfile.cmake b/ports/discordcoreapi/portfile.cmake index 58c50c6eb75dc6..eb99479b29e11a 100644 --- a/ports/discordcoreapi/portfile.cmake +++ b/ports/discordcoreapi/portfile.cmake @@ -6,10 +6,21 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO RealTimeChris/DiscordCoreAPI REF "v${VERSION}" - SHA512 57a8389718cd0f03a6e7a53e39d5ee267140cb4696c89abf6ac424d78f69516d6dc12f24ac19bc07533f9509459b987e2d2c1d7426d2f727ea124f5fcb649512 + SHA512 d977ed7d8805f0b110450d3baf0256eae11ecc25947496c657a9c9b17aa9222db92435f28ebd924c166927e4714b3e9ae388f64836175cc96b78b08315031ede HEAD_REF main ) +# discordcoreapi consumes extreme amounts of memory (>9GB per .cpp file). With our default +# concurrency values this causes hanging and/or OOM killing on Linux build machines and +# warnings on the Windows machines like: +# #[warning]Free memory is lower than 5%; Currently used: 99.99% +# #[warning]Free memory is lower than 5%; Currently used: 99.99% +# #[warning]Free memory is lower than 5%; Currently used: 99.99% +# Cut the requested concurrency in quarter to avoid this. +if(VCPKG_CONCURRENCY GREATER 4) + math(EXPR VCPKG_CONCURRENCY "${VCPKG_CONCURRENCY} / 4") +endif() + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" ) diff --git a/ports/discordcoreapi/vcpkg.json b/ports/discordcoreapi/vcpkg.json index 7781e56fa1e2b1..f15ce5e973c013 100644 --- a/ports/discordcoreapi/vcpkg.json +++ b/ports/discordcoreapi/vcpkg.json @@ -1,6 +1,6 @@ { "name": "discordcoreapi", - "version": "2.0.1", + "version": "2.0.8", "description": "A Discord bot library written in C++ using custom asynchronous coroutines.", "homepage": "https://discordcoreapi.com", "license": "MIT", diff --git a/ports/discount/portfile.cmake b/ports/discount/portfile.cmake index 3eb6423a4896f9..2cf70ff2c74077 100644 --- a/ports/discount/portfile.cmake +++ b/ports/discount/portfile.cmake @@ -5,7 +5,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Orc/discount REF "v${VERSION}" - SHA512 d86bfc6d3e11131622046418a1f54bd9dfa5f1233e510189cd2c89dc857da31e88ffbe6670cc506ca8b9763e8fb74ed215f1018f83e25767c77acb8a7c296b8a + SHA512 ab24722bb8513f64eed59bb2770276b91615033b494a0492a331f36c5fcd2e32b7a9f3bd7ef0bb74c107f1e0e955522c83ddba6c482fca7f18cf275334707c4d HEAD_REF master PATCHES generate-blocktags-command.patch diff --git a/ports/discount/vcpkg.json b/ports/discount/vcpkg.json index 08441ab834e753..d11f44d7ed30bf 100644 --- a/ports/discount/vcpkg.json +++ b/ports/discount/vcpkg.json @@ -1,6 +1,6 @@ { "name": "discount", - "version-string": "3.0.0a", + "version-string": "3.0.0d", "description": "DISCOUNT is a implementation of John Gruber & Aaron Swartz's Markdown markup language.", "homepage": "https://github.com/Orc/discount", "dependencies": [ diff --git a/ports/dlib/fix-dependencies.patch b/ports/dlib/fix-dependencies.patch index 8077fd393fc66b..06e17db437388f 100644 --- a/ports/dlib/fix-dependencies.patch +++ b/ports/dlib/fix-dependencies.patch @@ -1,16 +1,16 @@ diff --git a/dlib/CMakeLists.txt b/dlib/CMakeLists.txt -index 9f3001d..962cfc4 100644 +index cfe6ad9..75cfd54 100644 --- a/dlib/CMakeLists.txt +++ b/dlib/CMakeLists.txt -@@ -287,6 +287,7 @@ if (NOT TARGET dlib) - - set(dlib_needed_libraries) - set(dlib_needed_includes) +@@ -293,6 +293,7 @@ if (NOT TARGET dlib) + set(dlib_needed_public_ldflags) + set(dlib_needed_private_libraries) + set(dlib_needed_private_includes) + set(pkg_config_dlib_requires_private "") if (DLIB_ISO_CPP_ONLY) add_library(dlib ${source_files} ) -@@ -814,6 +815,10 @@ if (NOT TARGET dlib) +@@ -833,6 +834,10 @@ if (NOT TARGET dlib) if (DLIB_LINK_WITH_SQLITE3) @@ -21,7 +21,7 @@ index 9f3001d..962cfc4 100644 find_library(sqlite sqlite3) # make sure sqlite3.h is in the include path find_path(sqlite_path sqlite3.h) -@@ -829,6 +834,10 @@ if (NOT TARGET dlib) +@@ -848,6 +853,10 @@ if (NOT TARGET dlib) if (DLIB_USE_FFTW) @@ -32,7 +32,7 @@ index 9f3001d..962cfc4 100644 find_library(fftw fftw3) # make sure fftw3.h is in the include path find_path(fftw_path fftw3.h) -@@ -964,6 +973,8 @@ if (NOT TARGET dlib) +@@ -998,6 +1007,8 @@ if (NOT TARGET dlib) ## dlib-1.pc generation and installation @@ -41,7 +41,7 @@ index 9f3001d..962cfc4 100644 configure_file("cmake_utils/dlib.pc.in" "dlib-1.pc" @ONLY) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/dlib-1.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") -@@ -977,7 +988,7 @@ if (NOT TARGET dlib) +@@ -1011,7 +1022,7 @@ if (NOT TARGET dlib) endif() diff --git a/ports/dlib/portfile.cmake b/ports/dlib/portfile.cmake index fa093539f161ab..d7d4baa9aa39fd 100644 --- a/ports/dlib/portfile.cmake +++ b/ports/dlib/portfile.cmake @@ -3,8 +3,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO davisking/dlib - REF 6097093ab329fcd19aed03a8fe67949f6971a65d #v19.24 - SHA512 4bdcecdf0f986abc748245d21616bf2c304461e9a37572c66743f69141fc3f37eb846fdaedc6c910135d986534f7989cbcc52a884ae7a52464fbb2a07b16a327 + REF "v${VERSION}" + SHA512 548f15fcd345a56b6e7a0a568fa7c694beeeda3b863492f59bdaa0b0e6d48b21d6705e2ac56a06f349aa26b0e9b79aa0a437870940170772b5b30cf35841cbb4 HEAD_REF master PATCHES fix-dependencies.patch @@ -24,6 +24,11 @@ if (VCPKG_TARGET_IS_WINDOWS AND VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") set(COMMON_OPTIONS -DUSE_SSE2_INSTRUCTIONS=OFF) endif() +set(dbg_opts "") +if(VCPKG_TARGET_IS_WINDOWS) + set(dbg_opts -DDLIB_ENABLE_ASSERTS=ON) +endif() + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS @@ -38,13 +43,21 @@ vcpkg_cmake_configure( -DDLIB_GIF_SUPPORT=OFF -DDLIB_WEBP_SUPPORT=OFF -DDLIB_USE_MKL_FFT=OFF + -DDLIB_USE_FFMPEG=OFF OPTIONS_DEBUG - -DDLIB_ENABLE_ASSERTS=ON + ${dbg_opts} #-DDLIB_ENABLE_STACK_TRACE=ON ) vcpkg_cmake_install() +if(VCPKG_TARGET_IS_WINDOWS) + # Dlib encodes debug/release in its config.h. Patch it to respond to the NDEBUG macro instead. <- The below is using _DEBUG but there is no correct way to switch this on !windows + # Only windows defines _DEBUG in debug builds. + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/dlib/config.h" "/* #undef ENABLE_ASSERTS */" "#if defined(_DEBUG)\n#define ENABLE_ASSERTS\n#endif") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/dlib/config.h" "#define DLIB_DISABLE_ASSERTS" "#if !defined(_DEBUG)\n#define DLIB_DISABLE_ASSERTS\n#endif") +endif() + vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/dlib) vcpkg_fixup_pkgconfig() @@ -66,10 +79,8 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/dlib/cmake_utils/test_for_a file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/dlib/cmake_utils/test_for_sse4") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/dlib/cmake_utils/test_for_libjpeg") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/dlib/cmake_utils/test_for_libpng") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/dlib/cmake_utils/test_for_libjxl") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/dlib/cmake_utils/test_for_libwebp") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/dlib/external/libpng/arm") -# Dlib encodes debug/release in its config.h. Patch it to respond to the NDEBUG macro instead. -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/dlib/config.h" "/* #undef ENABLE_ASSERTS */" "#if defined(_DEBUG)\n#define ENABLE_ASSERTS\n#endif") -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/dlib/config.h" "#define DLIB_DISABLE_ASSERTS" "#if !defined(_DEBUG)\n#define DLIB_DISABLE_ASSERTS\n#endif") - -file(INSTALL "${SOURCE_PATH}/dlib/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/dlib/LICENSE.txt") diff --git a/ports/dlib/vcpkg.json b/ports/dlib/vcpkg.json index 752f77a6b67bac..323e919d686e85 100644 --- a/ports/dlib/vcpkg.json +++ b/ports/dlib/vcpkg.json @@ -1,10 +1,10 @@ { "name": "dlib", - "version": "19.24", - "port-version": 2, + "version": "19.24.6", "description": "Modern C++ toolkit containing machine learning algorithms and tools for creating complex software in C++", "homepage": "https://github.com/davisking/dlib", "license": "BSL-1.0", + "supports": "!uwp", "dependencies": [ "blas", "lapack", diff --git a/ports/dlpack/portfile.cmake b/ports/dlpack/portfile.cmake new file mode 100644 index 00000000000000..54e2461b080adc --- /dev/null +++ b/ports/dlpack/portfile.cmake @@ -0,0 +1,25 @@ +set(VCPKG_BUILD_TYPE release) # header-only port + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO dmlc/dlpack + REF "v${VERSION}" + SHA512 bdf27bdb6d24db2da9155b9c78e62faf043e0aa4d54dba4cadac312c2b87533ae1b44ecebd462a764141297baa35884c1379902d655bab8a71fe65838c7b1e9b + HEAD_REF main +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_MOCK=FALSE +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/dlpack") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/dlpack/usage b/ports/dlpack/usage new file mode 100644 index 00000000000000..771ec785171744 --- /dev/null +++ b/ports/dlpack/usage @@ -0,0 +1,4 @@ +dlpack provides CMake targets: + + find_package(dlpack CONFIG REQUIRED) + target_link_libraries(main PRIVATE dlpack::dlpack) diff --git a/ports/dlpack/vcpkg.json b/ports/dlpack/vcpkg.json new file mode 100644 index 00000000000000..75df75fd1b3bcc --- /dev/null +++ b/ports/dlpack/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "dlpack", + "version": "1.0", + "description": "DLPack is an open in-memory tensor structure for sharing tensors among frameworks", + "homepage": "https://github.com/dmlc/dlpack", + "license": "Apache-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/docopt/001-fix-unresolved-symbol.patch b/ports/docopt/001-fix-unresolved-symbol.patch deleted file mode 100644 index 3078fa44c11470..00000000000000 --- a/ports/docopt/001-fix-unresolved-symbol.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/docopt.h b/docopt.h -index 4c40741..06a04f8 100644 ---- a/docopt.h -+++ b/docopt.h -@@ -85,6 +85,9 @@ namespace docopt { - bool help = true, - std::string const& version = {}, - bool options_first = false) noexcept; -+ -+ /// Write out the contents to the ostream -+ std::ostream DOCOPT_API & operator<<(std::ostream&, value const&); - } - - #ifdef DOCOPT_HEADER_ONLY -diff --git a/docopt_value.h b/docopt_value.h -index a923219..7f0d6d6 100644 ---- a/docopt_value.h -+++ b/docopt_value.h -@@ -102,9 +102,6 @@ namespace docopt { - Kind kind = Kind::Empty; - Variant variant {}; - }; -- -- /// Write out the contents to the ostream -- std::ostream& operator<<(std::ostream&, value const&); - } - - namespace std { diff --git a/ports/docopt/002-fix-install-path.patch b/ports/docopt/002-fix-install-path.patch deleted file mode 100644 index 332e6e4c24d891..00000000000000 --- a/ports/docopt/002-fix-install-path.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1aba5ae..5407e4a 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -113,7 +113,10 @@ endif() - set(export_name "docopt-targets") - - # Runtime package --install(TARGETS docopt EXPORT ${export_name} DESTINATION ${CMAKE_INSTALL_LIBDIR}) -+install(TARGETS docopt EXPORT ${export_name} -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) - - # Development package - install(TARGETS docopt_s EXPORT ${export_name} DESTINATION ${CMAKE_INSTALL_LIBDIR}) diff --git a/ports/docopt/install-one-flavor.patch b/ports/docopt/install-one-flavor.patch deleted file mode 100644 index f6cda826a7e9ec..00000000000000 --- a/ports/docopt/install-one-flavor.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index bff867c..cc7d706 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -113,13 +113,15 @@ endif() - set(export_name "docopt-targets") - - # Runtime package -+if(BUILD_SHARED_LIBS) - install(TARGETS docopt EXPORT ${export_name} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) -- -+else() - # Development package - install(TARGETS docopt_s EXPORT ${export_name} DESTINATION ${CMAKE_INSTALL_LIBDIR}) -+endif() - install(FILES ${docopt_HEADERS} DESTINATION include/docopt) - - # CMake Package diff --git a/ports/docopt/portfile.cmake b/ports/docopt/portfile.cmake index 731938c9231630..2f80d5d6b60918 100644 --- a/ports/docopt/portfile.cmake +++ b/ports/docopt/portfile.cmake @@ -1,13 +1,9 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO docopt/docopt.cpp - REF 7476f8e56b4650aaeafb4e1cda2e5d8f01fddd97 - SHA512 6765e8a3a834ad75bd87effee5ac7e174482039d26015346b95d7d64e4e0097cc3f1f2e6fd9e3e5970bf4c5719095c0a3e5edfac18217913dc88fbe569d37ae8 + REF 400e6dd8e59196c914dcc2c56caf7dae7efa5eb3 + SHA512 a9ef466ba40127f636bc20beb7508c4da2dc32c0c37acb5729644f31d4910d9c0253f311457f39ed57605775e72f3370aff4e5ef88e60a49d190bc4760c40ea3 HEAD_REF master - PATCHES - 001-fix-unresolved-symbol.patch - 002-fix-install-path.patch - install-one-flavor.patch ) vcpkg_cmake_configure( @@ -21,12 +17,13 @@ vcpkg_cmake_configure( vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/docopt) +vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) file(READ "${CURRENT_PACKAGES_DIR}/include/docopt/docopt.h" _contents) - string(REPLACE "#ifdef DOCOPT_DLL" "#if 1" _contents "${_contents}") + string(REPLACE "#ifdef DOCOPT_DLL" "#ifdef _WIN32" _contents "${_contents}") file(WRITE "${CURRENT_PACKAGES_DIR}/include/docopt/docopt.h" "${_contents}") endif() @@ -36,8 +33,6 @@ file(COPY DESTINATION "${CURRENT_PACKAGES_DIR}/include/docopt") # Handle copyright -file(INSTALL - "${SOURCE_PATH}/LICENSE-MIT" - DESTINATION "${CURRENT_PACKAGES_DIR}/share/docopt" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE-MIT" "${SOURCE_PATH}/LICENSE-Boost-1.0") vcpkg_copy_pdbs() diff --git a/ports/docopt/vcpkg.json b/ports/docopt/vcpkg.json index c04ddd51882ee5..8cf0a4fcfe20c8 100644 --- a/ports/docopt/vcpkg.json +++ b/ports/docopt/vcpkg.json @@ -1,8 +1,9 @@ { "name": "docopt", - "version-date": "2018-11-01", - "port-version": 3, + "version-date": "2022-03-15", + "port-version": 1, "description": "Command line arguments parser that will make you smile (C++11 port).", + "license": "MIT OR BSL-1.0", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/dp-thread-pool/portfile.cmake b/ports/dp-thread-pool/portfile.cmake index 6cfbd8e19bdaa5..b64c500e20c06c 100644 --- a/ports/dp-thread-pool/portfile.cmake +++ b/ports/dp-thread-pool/portfile.cmake @@ -4,7 +4,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO DeveloperPaul123/thread-pool REF ${VERSION} - SHA512 fccd39616f7961fbd4ff6c2f845b4d1494e50a85e44d1799c30308bdee0b2e13f55011c5a535a555857a91157a7dddf4ec38e1020f693ae33bf0977d8fb97451 + SHA512 c2a75117f7def0dacc2679f8eb70835acfba58d1aba7beec9bf0a29cdb23883222294dc4b04b77e323f8ecb8623b70d728bee46bf2c5a4fd6711a749c9709981 HEAD_REF master ) @@ -14,6 +14,7 @@ vcpkg_cmake_configure( -DTP_BUILD_TESTS=OFF -DTP_BUILD_EXAMPLES=OFF -DTP_BUILD_BENCHMARKS=OFF + -DTP_CXX_STANDARD=20 ) vcpkg_cmake_install() diff --git a/ports/dp-thread-pool/vcpkg.json b/ports/dp-thread-pool/vcpkg.json index 1c35477d02eb8a..c6b4f96dd6842b 100644 --- a/ports/dp-thread-pool/vcpkg.json +++ b/ports/dp-thread-pool/vcpkg.json @@ -1,6 +1,6 @@ { "name": "dp-thread-pool", - "version": "0.6.2", + "version": "0.7.0", "maintainers": "Paul Tsouchlos ", "description": "dp::thread_pool - fast, lightweight C++20 thread pool.", "homepage": "https://github.com/DeveloperPaul123/thread-pool", diff --git a/ports/dpdk/enable-either-static-or-shared-build.patch b/ports/dpdk/enable-either-static-or-shared-build.patch index 5ec8f581e0ca53..c3248e892a3128 100644 --- a/ports/dpdk/enable-either-static-or-shared-build.patch +++ b/ports/dpdk/enable-either-static-or-shared-build.patch @@ -1,8 +1,8 @@ diff --git a/config/meson.build b/config/meson.build -index 7134e80..a77f533 100644 +index 9484987..722e114 100644 --- a/config/meson.build +++ b/config/meson.build -@@ -57,7 +57,9 @@ eal_pmd_path = join_paths(get_option('prefix'), driver_install_path) +@@ -94,7 +94,9 @@ eal_pmd_path = join_paths(get_option('prefix'), driver_install_path) # driver .so files often depend upon the bus drivers for their connect bus, # e.g. ixgbe depends on librte_bus_pci. This means that the bus drivers need # to be in the library path, so symlink the drivers from the main lib directory. @@ -14,10 +14,10 @@ index 7134e80..a77f533 100644 get_option('libdir'), pmd_subdir_opt) elif meson.version().version_compare('>=0.55.0') diff --git a/drivers/meson.build b/drivers/meson.build -index 1d8123b..36ab3c0 100644 +index 66931d4..65ded2e 100644 --- a/drivers/meson.build +++ b/drivers/meson.build -@@ -180,7 +180,7 @@ foreach subpath:subdirs +@@ -247,7 +247,7 @@ foreach subpath:subdirs include_directories: includes, dependencies: static_deps, c_args: cflags, @@ -26,15 +26,16 @@ index 1d8123b..36ab3c0 100644 # now build the shared driver version_map = '@0@/@1@/version.map'.format(meson.current_source_dir(), drv_path) -@@ -220,6 +220,7 @@ foreach subpath:subdirs - endif +@@ -295,7 +295,7 @@ foreach subpath:subdirs + else + lk_args = ['-Wl,--version-script=' + version_map] endif - +- + if get_option('default_library') == 'shared' shared_lib = shared_library(lib_name, sources, objects: objs, include_directories: includes, -@@ -237,9 +238,13 @@ foreach subpath:subdirs +@@ -313,10 +313,13 @@ foreach subpath:subdirs shared_dep = declare_dependency(link_with: shared_lib, include_directories: includes, dependencies: shared_deps) @@ -42,17 +43,18 @@ index 1d8123b..36ab3c0 100644 static_dep = declare_dependency( include_directories: includes, dependencies: static_deps) +- + if get_option('default_library') == 'static' + shared_dep = static_dep + endif - dpdk_drivers += static_lib + set_variable('shared_@0@'.format(lib_name), shared_dep) diff --git a/lib/meson.build b/lib/meson.build -index 24adbe4..eef6e93 100644 +index 1622877..8ca5780 100644 --- a/lib/meson.build +++ b/lib/meson.build -@@ -192,7 +192,7 @@ foreach l:libraries +@@ -249,7 +249,7 @@ foreach l:libraries c_args: cflags, dependencies: static_deps, include_directories: includes, @@ -61,7 +63,7 @@ index 24adbe4..eef6e93 100644 static_dep = declare_dependency( include_directories: includes, dependencies: static_deps) -@@ -246,6 +246,7 @@ foreach l:libraries +@@ -311,6 +311,7 @@ foreach l:libraries output: name + '.sym_chk') endif @@ -69,7 +71,7 @@ index 24adbe4..eef6e93 100644 shared_lib = shared_library(libname, sources, objects: objs, -@@ -262,6 +263,9 @@ foreach l:libraries +@@ -327,6 +328,9 @@ foreach l:libraries dependencies: shared_deps) dpdk_libraries = [shared_lib] + dpdk_libraries diff --git a/ports/dpdk/fix-dependencies.patch b/ports/dpdk/fix-dependencies.patch index 7bb4c26ef20fa4..d1f8cf9402401c 100644 --- a/ports/dpdk/fix-dependencies.patch +++ b/ports/dpdk/fix-dependencies.patch @@ -1,8 +1,8 @@ diff --git a/config/meson.build b/config/meson.build -index 0dde249..64f7d1c 100644 +index 722e114..0eb717b 100644 --- a/config/meson.build +++ b/config/meson.build -@@ -181,12 +181,10 @@ if meson.is_cross_build() and not meson.get_cross_property('numa', true) +@@ -234,12 +234,10 @@ if meson.is_cross_build() and not meson.get_cross_property('numa', true) find_libnuma = false endif if find_libnuma @@ -11,54 +11,31 @@ index 0dde249..64f7d1c 100644 + numa_dep = dependency('numa', method: 'pkg-config') + if numa_dep.found() dpdk_conf.set10('RTE_HAS_LIBNUMA', true) - has_libnuma = 1 + has_libnuma = true - add_project_link_arguments('-lnuma', language: 'c') - dpdk_extra_ldflags += '-lnuma' endif endif -@@ -211,8 +209,6 @@ if libarchive.found() - # Push libarchive link dependency at the project level to support - # statically linking dpdk apps. Details at: - # https://inbox.dpdk.org/dev/20210605004024.660267a1@sovereign/ -- add_project_link_arguments('-larchive', language: 'c') -- dpdk_extra_ldflags += '-larchive' - endif - - # check for libbsd diff --git a/lib/eal/linux/meson.build b/lib/eal/linux/meson.build -index 65f2ac6..3e023f8 100644 +index e99ebed..672c705 100644 --- a/lib/eal/linux/meson.build +++ b/lib/eal/linux/meson.build -@@ -23,5 +23,6 @@ sources += files( +@@ -21,5 +21,6 @@ sources += files( deps += ['kvargs', 'telemetry'] - if has_libnuma == 1 + if has_libnuma + ext_deps += numa_dep dpdk_conf.set10('RTE_EAL_NUMA_AWARE_HUGEPAGES', true) endif -diff --git a/lib/eal/meson.build b/lib/eal/meson.build -index 056beb9..04bd3fe 100644 ---- a/lib/eal/meson.build -+++ b/lib/eal/meson.build -@@ -29,6 +29,9 @@ endif - if dpdk_conf.has('RTE_USE_LIBBSD') - ext_deps += libbsd - endif -+if dpdk_conf.has('RTE_HAS_LIBARCHIVE') -+ ext_deps += libarchive -+endif - if cc.has_function('getentropy', prefix : '#include ') - cflags += '-DRTE_LIBEAL_USE_GETENTROPY' - endif diff --git a/lib/vhost/meson.build b/lib/vhost/meson.build -index bc72720..83970c7 100644 +index 41b622a..afff033 100644 --- a/lib/vhost/meson.build +++ b/lib/vhost/meson.build @@ -6,6 +6,7 @@ if not is_linux reason = 'only supported on Linux' endif - if has_libnuma == 1 + if has_libnuma + ext_deps += numa_dep dpdk_conf.set10('RTE_LIBRTE_VHOST_NUMA', true) endif diff --git a/ports/dpdk/portfile.cmake b/ports/dpdk/portfile.cmake index e940011bd83694..1697ee66a8f18a 100644 --- a/ports/dpdk/portfile.cmake +++ b/ports/dpdk/portfile.cmake @@ -24,12 +24,11 @@ if(VCPKG_TARGET_IS_LINUX) endif() endif() -set(PORT_VERSION 22.07) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO DPDK/dpdk - REF v${PORT_VERSION} - SHA512 86892f5f61ee8f7ccd61c47767515603683d0e7a217389490a9a5d4ac87b42557572113f4cd56425fef212eff5715095a34ed3c03a3ce6351ffdcacb850b0851 + REF "v${VERSION}" + SHA512 1599ae78228307f612776e43160e8002c71024940813bc655b3e2631bfe3de9a93b09f2d5caae48d3d83e07c48e953838ba45f4965d2eb21d1e7955edbaa7d0d HEAD_REF main PATCHES enable-either-static-or-shared-build.patch @@ -72,9 +71,6 @@ vcpkg_configure_meson(SOURCE_PATH "${SOURCE_PATH}" vcpkg_install_meson() set(tools dpdk-devbind.py dpdk-pmdinfo.py dpdk-telemetry.py dpdk-hugepages.py) -if("tests" IN_LIST FEATURES) - list(APPEND tools dpdk-test) -endif() vcpkg_copy_tools(TOOL_NAMES ${tools} AUTO_CLEAN) vcpkg_fixup_pkgconfig() @@ -87,4 +83,4 @@ endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share" "${CURRENT_PACKAGES_DIR}/share/doc") file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -file(INSTALL "${SOURCE_PATH}/license/README" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/license/README") diff --git a/ports/dpdk/remove-examples-src-from-datadir.patch b/ports/dpdk/remove-examples-src-from-datadir.patch index fbbc84a2782355..4fca27cdbce6a8 100644 --- a/ports/dpdk/remove-examples-src-from-datadir.patch +++ b/ports/dpdk/remove-examples-src-from-datadir.patch @@ -1,17 +1,15 @@ diff --git a/meson.build b/meson.build -index 0541e7f145..00f6e67550 100644 +index 8b248d4..c546c62 100644 --- a/meson.build +++ b/meson.build -@@ -79,9 +79,9 @@ subdir('doc') +@@ -90,10 +90,6 @@ subdir('doc') + # build any examples explicitly requested - useful for developers - and # install any example code into the appropriate install path - subdir('examples') +-subdir('examples') -install_subdir('examples', - install_dir: get_option('datadir') + '/dpdk', - exclude_files: ex_file_excludes) -+# install_subdir('examples', -+# install_dir: get_option('datadir') + '/dpdk', -+# exclude_files: ex_file_excludes) - # build kernel modules if enabled - if get_option('enable_kmods') + # build kernel modules + subdir('kernel') diff --git a/ports/dpdk/stop-building-apps.patch b/ports/dpdk/stop-building-apps.patch index 644bd63be4e842..fbf79c0ff5cbc3 100644 --- a/ports/dpdk/stop-building-apps.patch +++ b/ports/dpdk/stop-building-apps.patch @@ -1,13 +1,13 @@ diff --git a/app/meson.build b/app/meson.build -index 93d8c15032..389dc13b99 100644 +index 5b2c80c..d3ec534 100644 --- a/app/meson.build +++ b/app/meson.build -@@ -27,7 +27,7 @@ if get_option('default_library') == 'static' and not is_windows - endif +@@ -52,7 +52,7 @@ endif foreach app:apps + name = app - build = true + build = false - name = app + reason = '' # set if build == false to explain sources = [] includes = [] diff --git a/ports/dpdk/vcpkg.json b/ports/dpdk/vcpkg.json index ff0b7586a959b6..07c5f2f1b44cfb 100644 --- a/ports/dpdk/vcpkg.json +++ b/ports/dpdk/vcpkg.json @@ -1,7 +1,6 @@ { "name": "dpdk", - "version-string": "22.07", - "port-version": 1, + "version-string": "24.07", "description": "A set of libraries and drivers for fast packet processing", "homepage": "https://www.dpdk.org/", "documentation": "https://doc.dpdk.org/guides/index.html", diff --git a/ports/dpp/portfile.cmake b/ports/dpp/portfile.cmake index a97ecb58d71e46..3dd80845f39978 100644 --- a/ports/dpp/portfile.cmake +++ b/ports/dpp/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO brainboxdotcc/DPP REF "v${VERSION}" - SHA512 5fa1e807eaeb8ecf53d55e537a804ae1135018008d7b6f4e42225ee21ca975b7f3662f60777527395f8f0672a66077f2a3e95c9a3074f819187921e114ac03f5 + SHA512 66ae46cfe31414d857cf5c694836d725ed7f0408615c4f21848fc91320fe35c54dce869268cc9da2db3178be9d02adadbcd6a86d43f49f74e124636a8de749e8 ) vcpkg_cmake_configure( diff --git a/ports/dpp/vcpkg.json b/ports/dpp/vcpkg.json index 89c50689801038..5e01ecfa21262e 100644 --- a/ports/dpp/vcpkg.json +++ b/ports/dpp/vcpkg.json @@ -1,12 +1,11 @@ { "name": "dpp", - "version": "10.0.26", + "version": "10.0.35", "description": "D++ Extremely Lightweight C++ Discord Library.", "homepage": "https://dpp.dev/", "license": "Apache-2.0", "supports": "(windows & !static & !uwp) | linux | osx", "dependencies": [ - "libsodium", "nlohmann-json", "openssl", "opus", diff --git a/ports/draco/install-linkage.diff b/ports/draco/install-linkage.diff new file mode 100644 index 00000000000000..c34a60f11cea1a --- /dev/null +++ b/ports/draco/install-linkage.diff @@ -0,0 +1,19 @@ +diff --git a/cmake/draco_install.cmake b/cmake/draco_install.cmake +index 3be1ba1..b91938c 100644 +--- a/cmake/draco_install.cmake ++++ b/cmake/draco_install.cmake +@@ -65,10 +65,14 @@ macro(draco_setup_install_target) + ARCHIVE DESTINATION "${libs_path}" + LIBRARY DESTINATION "${libs_path}") + else() ++ if(BUILD_SHARED_LIBS) ++ set_target_properties(draco_static PROPERTIES EXCLUDE_FROM_ALL 1) ++ else() + install( + TARGETS draco_static + EXPORT dracoExport + DESTINATION "${libs_path}") ++ endif() + + if(BUILD_SHARED_LIBS) + install( diff --git a/ports/draco/portfile.cmake b/ports/draco/portfile.cmake index e05f9c0a06b5c8..82c5eb59e4976e 100644 --- a/ports/draco/portfile.cmake +++ b/ports/draco/portfile.cmake @@ -1,34 +1,36 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/draco REF "${VERSION}" - SHA512 d4bc48aeac23aba377d1770a46e6676cb01596a436493385fb0c4ef9ba3f0fae42027232131a3d438250909aff4311353e114925753d045cc585af42660be0b1 + SHA512 8b444744cdf12fb9d276916eb2ff0735cd1a6497b65b88813ec457fe2169db987db62e3db253a7d0f3ae7d45ae6502e8a9f8c0b81abde73e07b3bec69f9dc170 HEAD_REF master PATCHES fix-compile-error-uwp.patch fix-uwperror.patch fix-pkgconfig.patch disable-symlinks.patch + install-linkage.diff ) +if(VCPKG_TARGET_IS_EMSCRIPTEN) + set(ENV{EMSCRIPTEN} "${EMSCRIPTEN_ROOT}") +endif() + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DPYTHON_EXECUTABLE=: # unused with DRACO_JS_GLUE off + -DDRACO_JS_GLUE=OFF ) vcpkg_cmake_install() - -vcpkg_cmake_config_fixup(CONFIG_PATH share/cmake/${PORT}) +vcpkg_cmake_config_fixup(CONFIG_PATH share/cmake/draco) vcpkg_fixup_pkgconfig() # Install tools and plugins -vcpkg_copy_tools( - TOOL_NAMES - draco_encoder - draco_decoder - AUTO_CLEAN -) +if(NOT VCPKG_TARGET_IS_EMSCRIPTEN) + vcpkg_copy_tools(TOOL_NAMES draco_encoder draco_decoder AUTO_CLEAN) +endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") diff --git a/ports/draco/vcpkg.json b/ports/draco/vcpkg.json index 636f863eaa4dcd..d248165a9dd6b7 100644 --- a/ports/draco/vcpkg.json +++ b/ports/draco/vcpkg.json @@ -1,6 +1,6 @@ { "name": "draco", - "version": "1.5.6", + "version": "1.5.7", "description": " A library for compressing and decompressing 3D geometric meshes and point clouds. It is intended to improve the storage and transmission of 3D graphics.", "homepage": "https://github.com/google/draco", "license": "Apache-2.0", diff --git a/ports/drekar-launch-process-cpp/portfile.cmake b/ports/drekar-launch-process-cpp/portfile.cmake new file mode 100644 index 00000000000000..f9cceafb8c54ec --- /dev/null +++ b/ports/drekar-launch-process-cpp/portfile.cmake @@ -0,0 +1,23 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO johnwason/drekar-launch-process-cpp + REF v0.1.0 + SHA512 5f2d9e9c8a6f9e2884441fdc6369441d5ad0e13c40412fc8f64043ba614b0abc86e34405dd75e8ea7760e5ca7a2c1457ef52c5b082db16645f7158f74a56872e + HEAD_REF master +) + +vcpkg_cmake_configure( + SOURCE_PATH ${SOURCE_PATH} +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT} ) + +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) + +file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/drekar-launch-process-cpp/usage b/ports/drekar-launch-process-cpp/usage new file mode 100644 index 00000000000000..7d4274104aab56 --- /dev/null +++ b/ports/drekar-launch-process-cpp/usage @@ -0,0 +1,5 @@ +The package drekar-launch-process-cpp is compatible with built-in CMake targets: + + find_package(drekar-launch-process-cpp CONFIG REQUIRED) + target_link_libraries(main PRIVATE drekar-launch-process-cpp) + diff --git a/ports/drekar-launch-process-cpp/vcpkg.json b/ports/drekar-launch-process-cpp/vcpkg.json new file mode 100644 index 00000000000000..05e1365ab909aa --- /dev/null +++ b/ports/drekar-launch-process-cpp/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "drekar-launch-process-cpp", + "version-semver": "0.1.0", + "description": "Companion library for drekar-launch for C++", + "homepage": "https://github.com/johnwason/drekar-launch-process-cpp", + "license": "Apache-2.0", + "supports": "(windows & (x86 | x64) & !uwp) | linux | osx", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/drogon/0005-drogon-cross-compile.patch b/ports/drogon/0005-drogon-cross-compile.patch index 61f0edc4fae357..2a7dd8589b9701 100644 --- a/ports/drogon/0005-drogon-cross-compile.patch +++ b/ports/drogon/0005-drogon-cross-compile.patch @@ -1,17 +1,17 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 88026025..d6f180fb 100644 +index c36d29a2..437e5d73 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -13,6 +13,7 @@ option(BUILD_DOC "Build Doxygen documentation" OFF) - option(BUILD_BROTLI "Build Brotli" ON) +@@ -14,6 +14,7 @@ option(BUILD_BROTLI "Build Brotli" ON) option(BUILD_YAML_CONFIG "Build yaml config" ON) option(USE_SUBMODULE "Use trantor as a submodule" ON) + option(USE_STATIC_LIBS_ONLY "Use only static libraries as dependencies" OFF) +set(DROGON_CTL_TOOL "" CACHE STRING "drogon_ctl tool executable when doing cross builds") include(CMakeDependentOption) CMAKE_DEPENDENT_OPTION(BUILD_POSTGRESQL "Build with postgresql support" ON "BUILD_ORM" OFF) diff --git a/drogon_ctl/CMakeLists.txt b/drogon_ctl/CMakeLists.txt -index 249c453d..16b346ea 100755 +index 04b790d3..854f7139 100755 --- a/drogon_ctl/CMakeLists.txt +++ b/drogon_ctl/CMakeLists.txt @@ -43,7 +43,7 @@ foreach(cspFile ${SCP_LIST}) diff --git a/ports/drogon/portfile.cmake b/ports/drogon/portfile.cmake index 54d7508872743f..4bd2a3427a07a6 100644 --- a/ports/drogon/portfile.cmake +++ b/ports/drogon/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO an-tao/drogon REF "v${VERSION}" - SHA512 a49b032689869e97505612570285d21c0a68604c70e379f95c70fd5d8014f6890809283956b1b83fda4551c01c526ab2b575351c23a3e58fb4f920c9e1b7e92b + SHA512 1108aff91e4b6d5f870518cbc2637d4dd53634fd365fa5384a625680fd4ab5d721dd78962f2acc0cfc1f15c6f8800d8911a1a859510df71e215421cccb1f5849 HEAD_REF master PATCHES 0001-vcpkg.patch @@ -27,6 +27,7 @@ vcpkg_check_features( postgres LIBPQ_BATCH_MODE redis BUILD_REDIS sqlite3 BUILD_SQLITE + yaml BUILD_YAML_CONFIG ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_DROGON_SHARED) @@ -40,7 +41,7 @@ vcpkg_cmake_configure( -DCMAKE_DISABLE_FIND_PACKAGE_Boost=ON -DUSE_SUBMODULE=OFF "-DDROGON_CTL_TOOL=${DROGON_CTL_TOOL}" - ${FEATURE_OPTIONS} + ${FEATURE_OPTIONS} MAYBE_UNUSED_VARIABLES CMAKE_DISABLE_FIND_PACKAGE_Boost ) diff --git a/ports/drogon/vcpkg.json b/ports/drogon/vcpkg.json index a23057c4dc9508..111ac39b3ab3a2 100644 --- a/ports/drogon/vcpkg.json +++ b/ports/drogon/vcpkg.json @@ -1,7 +1,6 @@ { "name": "drogon", - "version": "1.8.7", - "port-version": 1, + "version-semver": "1.9.9", "description": "A C++14/17 based HTTP web application framework running on Linux/macOS/Unix/Windows", "homepage": "https://github.com/an-tao/drogon", "documentation": "https://drogon.docsforge.com/master/overview/", @@ -99,6 +98,12 @@ }, "sqlite3" ] + }, + "yaml": { + "description": "Support YAML Drogon configuration files", + "dependencies": [ + "yaml-cpp" + ] } } } diff --git a/ports/dstorage/portfile.cmake b/ports/dstorage/portfile.cmake index a0c36a349e135a..92d3c1f34898ae 100644 --- a/ports/dstorage/portfile.cmake +++ b/ports/dstorage/portfile.cmake @@ -5,7 +5,7 @@ set(VCPKG_POLICY_DLLS_IN_STATIC_LIBRARY enabled) vcpkg_download_distfile(ARCHIVE URLS "https://www.nuget.org/api/v2/package/Microsoft.Direct3D.DirectStorage/${VERSION}" FILENAME "directstorage.${VERSION}.zip" - SHA512 5be6219888c89c5f590709d1528b3e6854eabd7b733af5c8f665aa9d7e987fa3bac34472362f845eb902b88d2d6e8afbbcead15e892d72678861a14b0bc13c41 + SHA512 7d457f314d8ab61832d60dc8a6b1b7f7ab76a8ba89cdf5a2f80ccd34ec6a2b792058d1e1710284625c6803431d5a220b72fdfb87045cbd3d293884d87d6b2846 ) vcpkg_extract_source_archive( @@ -14,17 +14,26 @@ vcpkg_extract_source_archive( NO_REMOVE_ONE_LEVEL ) +if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + set(DS_ARCH arm64) +elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(DS_ARCH x86) +else() + set(DS_ARCH x64) +endif() + file(INSTALL "${PACKAGE_PATH}/native/include/dstorage.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include") file(INSTALL "${PACKAGE_PATH}/native/include/dstorageerr.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include") -file(INSTALL "${PACKAGE_PATH}/native/lib/${VCPKG_TARGET_ARCHITECTURE}/dstorage.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") +file(INSTALL "${PACKAGE_PATH}/native/lib/${DS_ARCH}/dstorage.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") -file(COPY "${PACKAGE_PATH}/native/bin/${VCPKG_TARGET_ARCHITECTURE}/dstorage.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/bin") -file(COPY "${PACKAGE_PATH}/native/bin/${VCPKG_TARGET_ARCHITECTURE}/dstoragecore.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/bin") +file(COPY "${PACKAGE_PATH}/native/bin/${DS_ARCH}/dstorage.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/bin") +file(COPY "${PACKAGE_PATH}/native/bin/${DS_ARCH}/dstoragecore.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/bin") file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug") file(COPY "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug") -file(INSTALL "${PACKAGE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${PACKAGE_PATH}/LICENSE.txt") configure_file("${CMAKE_CURRENT_LIST_DIR}/dstorage-config.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/${PORT}-config.cmake" COPYONLY) diff --git a/ports/dstorage/usage b/ports/dstorage/usage new file mode 100644 index 00000000000000..259ccf4da9dd4e --- /dev/null +++ b/ports/dstorage/usage @@ -0,0 +1,4 @@ +The DirectStorage package provides CMake targets: + + find_package(dstorage CONFIG REQUIRED) + target_link_libraries(main PRIVATE Microsoft::DirectStorage) diff --git a/ports/dstorage/vcpkg.json b/ports/dstorage/vcpkg.json index 0e62ec9bd93356..198f8de51b4a96 100644 --- a/ports/dstorage/vcpkg.json +++ b/ports/dstorage/vcpkg.json @@ -1,9 +1,10 @@ { "name": "dstorage", - "version": "1.2.0", + "version": "1.2.3", + "port-version": 1, "description": "DirectStorage for Windows", "homepage": "https://aka.ms/directstorage/", "documentation": "https://github.com/microsoft/DirectStorage", "license": null, - "supports": "windows & !uwp & !xbox" + "supports": "windows & !arm32 & !uwp & !xbox" } diff --git a/ports/dtl/portfile.cmake b/ports/dtl/portfile.cmake index 590dbea91cb801..66134173577098 100644 --- a/ports/dtl/portfile.cmake +++ b/ports/dtl/portfile.cmake @@ -4,8 +4,8 @@ include(CMakePackageConfigHelpers) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO cubicdaiya/dtl - REF v1.20 - SHA512 44cdaf190d8a103effbca8df244c652b642590795f7307f5f7fdf64fc34bdbe2fa5ab2e1a08185abf099e35b0d9158306a80a8dc24bba9eccab4c77c7b1eed5e + REF "v${VERSION}" + SHA512 53a448ce499d96c5030ff787db68dd4cb52ee9686453da81aeb5c143e21d4a10fcc4c9b88ebf86d71824cb919d6e4ebf39df52b74bd9333f411935e5f23bfa86 HEAD_REF master ) diff --git a/ports/dtl/vcpkg.json b/ports/dtl/vcpkg.json index 86bb8cefc2cd6b..c37c61321db9dd 100644 --- a/ports/dtl/vcpkg.json +++ b/ports/dtl/vcpkg.json @@ -1,6 +1,6 @@ { "name": "dtl", - "version": "1.20", + "version": "1.21", "description": "Diff template library", "license": "BSD-4-Clause" } diff --git a/ports/duilib/portfile.cmake b/ports/duilib/portfile.cmake index 06d536cfa3d4fa..a8c854dc5c288e 100644 --- a/ports/duilib/portfile.cmake +++ b/ports/duilib/portfile.cmake @@ -23,14 +23,18 @@ file(INSTALL "${SOURCE_PATH}/DuiLib" DESTINATION "${CURRENT_PACKAGES_DIR}/includ if(VCPKG_LIBRARY_LINKAGE STREQUAL static) file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/lib/duilib.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") - file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/lib/duilib.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") + if(NOT VCPKG_BUILD_TYPE) + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/lib/duilib.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") + endif() else() file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/lib/duilib.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/bin") file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/lib/duilib.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/bin") file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/lib/duilib.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") - file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/lib/duilib.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") - file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/lib/duilib.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") - file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/lib/duilib.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") + if(NOT VCPKG_BUILD_TYPE) + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/lib/duilib.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/lib/duilib.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/lib/duilib.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") + endif() endif() file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/duilib/vcpkg.json b/ports/duilib/vcpkg.json index 3c9946e1cdc77f..372cb7238b7603 100644 --- a/ports/duilib/vcpkg.json +++ b/ports/duilib/vcpkg.json @@ -1,7 +1,7 @@ { "name": "duilib", "version-date": "2019-04-28", - "port-version": 5, + "port-version": 6, "description": "Duilib is a free open source DirectUI interface library under Windows. It is widely accepted by major Internet companies due to its simple and easy to expand design and stable and efficient implementation. It is widely used in IM, video client, stock market software, navigation software, and mobile phone assistive software. Duilib is still evolving, and will continue to improve in many aspects such as documentation, examples, animations, and rendering engines.", "homepage": "https://github.com/duilib/duilib", "supports": "windows & !uwp", diff --git a/ports/duktape/CMakeLists.txt b/ports/duktape/CMakeLists.txt index 4480565b767b04..3b2054cd1b2fd8 100644 --- a/ports/duktape/CMakeLists.txt +++ b/ports/duktape/CMakeLists.txt @@ -1,24 +1,19 @@ cmake_minimum_required(VERSION 3.13) - -set(duktape_MAJOR_VERSION 2) -set(duktape_MINOR_VERSION 7) -set(duktape_PATCH_VERSION 0) -set(duktape_VERSION ${duktape_MAJOR_VERSION}.${duktape_MINOR_VERSION}.${duktape_PATCH_VERSION}) - option(CMAKE_VERBOSE_MAKEFILE "Create verbose makefile" OFF) option(BUILD_SHARED_LIBS "Create duktape as a shared library" ON) -project(duktape VERSION ${duktape_VERSION}) +project(duktape VERSION ${VERSION}) file(GLOB_RECURSE DUKTAPE_SOURCES "${CMAKE_CURRENT_LIST_DIR}/src/*.c") file(GLOB_RECURSE DUKTAPE_HEADERS "${CMAKE_CURRENT_LIST_DIR}/src/*.h") add_library(duktape ${DUKTAPE_SOURCES} ${DUKTAPE_HEADERS}) target_include_directories(duktape PRIVATE "${CMAKE_CURRENT_LIST_DIR}/src") +target_include_directories(duktape PUBLIC "$") set_target_properties(duktape PROPERTIES PUBLIC_HEADER "${DUKTAPE_HEADERS}") set_target_properties(duktape PROPERTIES VERSION ${duktape_VERSION}) -set_target_properties(duktape PROPERTIES SOVERSION ${duktape_MAJOR_VERSION}) +set_target_properties(duktape PROPERTIES SOVERSION ${duktape_VERSION_MAJOR}) if (BUILD_SHARED_LIBS) target_compile_definitions(duktape PRIVATE -DDUK_F_DLL_BUILD) @@ -34,22 +29,28 @@ install(TARGETS duktape ) install(EXPORT duktapeTargets - FILE duktapeTargets.cmake - NAMESPACE duktape:: - DESTINATION "share/duktape" + FILE unofficial-duktape-config.cmake + NAMESPACE unofficial::duktape:: + DESTINATION "share/unofficial-duktape" ) export(PACKAGE duktape) include(CMakePackageConfigHelpers) -write_basic_package_version_file("${PROJECT_BINARY_DIR}/duktapeConfigVersion.cmake" +write_basic_package_version_file("${PROJECT_BINARY_DIR}/unofficial-duktape-config-version.cmake" COMPATIBILITY SameMajorVersion ) -configure_file(duktapeConfig.cmake.in "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/duktapeConfig.cmake" @ONLY) - install(FILES - "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/duktapeConfig.cmake" - "${PROJECT_BINARY_DIR}/duktapeConfigVersion.cmake" - DESTINATION "share/duktape" + "${PROJECT_BINARY_DIR}/unofficial-duktape-config-version.cmake" + DESTINATION "share/unofficial-duktape" +) + +set(prefix "") +set(LIBDIR "/lib") +set(VERSION "${duktape_VERSION}") +configure_file("${CMAKE_CURRENT_SOURCE_DIR}/duktape.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/duktape.pc" @ONLY) +install( + FILES "${CMAKE_CURRENT_BINARY_DIR}/duktape.pc" + DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig" ) diff --git a/ports/duktape/duktapeConfig.cmake b/ports/duktape/duktapeConfig.cmake new file mode 100644 index 00000000000000..94b86d69a47350 --- /dev/null +++ b/ports/duktape/duktapeConfig.cmake @@ -0,0 +1,32 @@ +# - Try to find duktape +# Once done this will define +# +# DUKTAPE_FOUND - system has Duktape +# DUKTAPE_INCLUDE_DIRS - the Duktape include directory +# DUKTAPE_LIBRARIES - Link these to use DUKTAPE +# DUKTAPE_DEFINITIONS - Compiler switches required for using Duktape +# + +include(FindPackageHandleStandardArgs) +include(SelectLibraryConfigurations) + +find_path(DUKTAPE_INCLUDE_DIR duktape.h PATHS "${CMAKE_CURRENT_LIST_DIR}/../../include" NO_DEFAULT_PATH REQUIRED) + +find_library(DUKTAPE_LIBRARY_RELEASE NAMES duktape PATHS "${CMAKE_CURRENT_LIST_DIR}/../../lib" NO_DEFAULT_PATH REQUIRED) +find_library(DUKTAPE_LIBRARY_DEBUG NAMES duktape PATHS "${CMAKE_CURRENT_LIST_DIR}/../../debug/lib" NO_DEFAULT_PATH) +select_library_configurations(DUKTAPE) + +find_package_handle_standard_args(duktape + REQUIRED_VARS DUKTAPE_LIBRARY DUKTAPE_INCLUDE_DIR) + +if(DUKTAPE_FOUND) + set(DUKTAPE_INCLUDE_DIRS "${DUKTAPE_INCLUDE_DIR}") + set(DUKTAPE_LIBRARIES "${DUKTAPE_LIBRARY}") + set(DUKTAPE_DEFINITIONS "") +endif () + +mark_as_advanced( + DUKTAPE_INCLUDE_DIR + DUKTAPE_LIBRARY_RELEASE + DUKTAPE_LIBRARY_DEBUG +) diff --git a/ports/duktape/duktapeConfig.cmake.in b/ports/duktape/duktapeConfig.cmake.in deleted file mode 100644 index 56d7798fd4333f..00000000000000 --- a/ports/duktape/duktapeConfig.cmake.in +++ /dev/null @@ -1,33 +0,0 @@ -# - Try to find duktape -# Once done this will define -# -# DUKTAPE_FOUND - system has Duktape -# DUKTAPE_INCLUDE_DIRS - the Duktape include directory -# DUKTAPE_LIBRARIES - Link these to use DUKTAPE -# DUKTAPE_DEFINITIONS - Compiler switches required for using Duktape -# - -find_package(PkgConfig QUIET) -pkg_check_modules(PC_DUK QUIET duktape libduktape) - -find_path(DUKTAPE_INCLUDE_DIR duktape.h - HINTS ${PC_DUK_INCLUDEDIR} ${PC_DUK_INCLUDE_DIRS} - PATH_SUFFIXES duktape) - -find_library(DUKTAPE_LIBRARY - NAMES duktape libduktape - HINTS ${PC_DUK_LIBDIR} ${PC_DUK_LIBRARY_DIRS}) - -include(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(Duktape - REQUIRED_VARS DUKTAPE_LIBRARY DUKTAPE_INCLUDE_DIR) - -if (DUKTAPE_FOUND) - set (DUKTAPE_LIBRARIES ${DUKTAPE_LIBRARY}) - set (DUKTAPE_INCLUDE_DIRS ${DUKTAPE_INCLUDE_DIR} ) -endif () - -MARK_AS_ADVANCED( - DUKTAPE_INCLUDE_DIR - DUKTAPE_LIBRARY -) \ No newline at end of file diff --git a/ports/duktape/portfile.cmake b/ports/duktape/portfile.cmake index 5bfe76e3476198..f4e3a9f9599d1f 100644 --- a/ports/duktape/portfile.cmake +++ b/ports/duktape/portfile.cmake @@ -11,31 +11,27 @@ vcpkg_extract_source_archive( ) file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -file(COPY "${CMAKE_CURRENT_LIST_DIR}/duktapeConfig.cmake.in" DESTINATION "${SOURCE_PATH}") -file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") - -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - set(DUK_CONFIG_H_PATH "${SOURCE_PATH}/src/duk_config.h") - file(READ "${DUK_CONFIG_H_PATH}" CONTENT) - string(REPLACE "#undef DUK_F_DLL_BUILD" "#define DUK_F_DLL_BUILD" CONTENT "${CONTENT}") - file(WRITE "${DUK_CONFIG_H_PATH}" "${CONTENT}") + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + vcpkg_replace_string("${SOURCE_PATH}/src/duk_config.h" "#undef DUK_F_DLL_BUILD" "#define DUK_F_DLL_BUILD") else() - set(DUK_CONFIG_H_PATH "${SOURCE_PATH}/src/duk_config.h") - file(READ "${DUK_CONFIG_H_PATH}" CONTENT) - string(REPLACE "#define DUK_F_DLL_BUILD" "#undef DUK_F_DLL_BUILD" CONTENT "${CONTENT}") - file(WRITE "${DUK_CONFIG_H_PATH}" "${CONTENT}") + vcpkg_replace_string("${SOURCE_PATH}/src/duk_config.h" "#define DUK_F_DLL_BUILD" "#undef DUK_F_DLL_BUILD" IGNORE_UNCHANGED) endif() vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + "-DVERSION=${VERSION}" ) vcpkg_cmake_install() vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-duktape) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -vcpkg_cmake_config_fixup() -vcpkg_copy_pdbs() +# Legacy package based on find commands, not on exported config. +file(COPY "${CURRENT_PORT_DIR}/duktapeConfig.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/duktape/usage b/ports/duktape/usage deleted file mode 100644 index 5870cb2bb0fe9e..00000000000000 --- a/ports/duktape/usage +++ /dev/null @@ -1,5 +0,0 @@ -find_package(duktape CONFIG REQUIRED) - -include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${DUKTAPE_INCLUDE_DIRS}) - -target_link_libraries(main ${DUKTAPE_LIBRARY}) \ No newline at end of file diff --git a/ports/duktape/vcpkg.json b/ports/duktape/vcpkg.json index 6be293984c1fe3..73d6258662dbac 100644 --- a/ports/duktape/vcpkg.json +++ b/ports/duktape/vcpkg.json @@ -1,8 +1,10 @@ { "name": "duktape", "version": "2.7.0", + "port-version": 2, "description": "Embeddable Javascript engine with a focus on portability and compact footprint.", "homepage": "https://github.com/svaarala/duktape", + "license": "MIT", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/dv-processing/portfile.cmake b/ports/dv-processing/portfile.cmake index dd0d8015966fa2..d0fd2ba56a31d8 100644 --- a/ports/dv-processing/portfile.cmake +++ b/ports/dv-processing/portfile.cmake @@ -1,3 +1,10 @@ +vcpkg_download_distfile( + XCODE_15_3_FIX_PATCH + URLS https://gitlab.com/inivation/homebrew-inivation/-/raw/master/Formula/dv-processing-xcode-15.3-fix.patch + FILENAME "xcode-15.3-fix.patch" + SHA512 cdbf77ee9619dbdad6e088d730d6d8dd6cf1cc12edc134fa8c905e538e94692c6b89e86ecb14766b133b87071459599e73ed61491db804bde0b9776307a6f157 +) + vcpkg_from_gitlab( GITLAB_URL https://gitlab.com/inivation OUT_SOURCE_PATH SOURCE_PATH @@ -5,6 +12,8 @@ vcpkg_from_gitlab( REF 9cd21eede0c38e079e462cdce8434fcbe2a4d037 SHA512 fc5d0083166ff4708e6d540d437429784f9f62b7c3b7fb4631abc27ee0e6f46e60314f5fcf571c6141352571fef52a32c85a8160c951b5243910a02a281b0855 HEAD_REF rel_1.7 + PATCHES + "${XCODE_15_3_FIX_PATCH}" ) vcpkg_from_gitlab( @@ -24,11 +33,14 @@ vcpkg_check_features( tools ENABLE_UTILITIES ) +vcpkg_find_acquire_program(PKGCONFIG) + set(VCPKG_BUILD_TYPE release) # no lib binaries vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" DISABLE_PARALLEL_CONFIGURE # writes to include/dv-processing/version.hpp OPTIONS + "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" ${FEATURE_OPTIONS} "-DCMAKE_PROJECT_INCLUDE=${CMAKE_CURRENT_LIST_DIR}/cmake-project-include.cmake" -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON diff --git a/ports/dv-processing/vcpkg.json b/ports/dv-processing/vcpkg.json index 7f619c57698523..b1adc2af0ac8dd 100644 --- a/ports/dv-processing/vcpkg.json +++ b/ports/dv-processing/vcpkg.json @@ -1,6 +1,7 @@ { "name": "dv-processing", "version": "1.7.9", + "port-version": 2, "description": "Generic algorithms for event cameras. (C++20 required.)", "homepage": "https://gitlab.com/inivation/dv/dv-processing", "license": "Apache-2.0", diff --git a/ports/dxsdk-d3dx/dxsdk-d3dx-config.cmake.in b/ports/dxsdk-d3dx/dxsdk-d3dx-config.cmake.in index 039d0a3b0a2454..95cd1c2e1881c5 100644 --- a/ports/dxsdk-d3dx/dxsdk-d3dx-config.cmake.in +++ b/ports/dxsdk-d3dx/dxsdk-d3dx-config.cmake.in @@ -1,6 +1,5 @@ -get_filename_component(_d3dx_root "${CMAKE_CURRENT_LIST_FILE}" PATH) -get_filename_component(_d3dx_root "${_d3dx_root}" PATH) +get_filename_component(_d3dx_root "${CMAKE_CURRENT_LIST_DIR}" PATH) get_filename_component(_d3dx_root "${_d3dx_root}" PATH) set(_d3dx_root_lib "${_d3dx_root}/lib/d3dx9.lib") diff --git a/ports/dxsdk-d3dx/portfile.cmake b/ports/dxsdk-d3dx/portfile.cmake index b406a6735f8a19..143bc9e51f6682 100644 --- a/ports/dxsdk-d3dx/portfile.cmake +++ b/ports/dxsdk-d3dx/portfile.cmake @@ -4,8 +4,7 @@ endif() message(WARNING "Use of ${PORT} is not recommended for new projects. See https://aka.ms/dxsdk for more information.") -vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) - +set(VCPKG_POLICY_DLLS_IN_STATIC_LIBRARY enabled) set(VCPKG_POLICY_ALLOW_OBSOLETE_MSVCRT enabled) vcpkg_download_distfile(ARCHIVE @@ -26,15 +25,18 @@ file(INSTALL ${HEADER_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT file(GLOB RELEASE_LIB_FILES "${PACKAGE_PATH}/build/native/release/lib/${VCPKG_TARGET_ARCHITECTURE}/*.lib") file(INSTALL ${RELEASE_LIB_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/lib/") -file(GLOB DEBUG_LIB_FILES "${PACKAGE_PATH}/build/native/debug/lib/${VCPKG_TARGET_ARCHITECTURE}/*.lib") -file(INSTALL ${DEBUG_LIB_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib/") - file(GLOB RELEASE_DLL_FILES "${PACKAGE_PATH}/build/native/release/bin/${VCPKG_TARGET_ARCHITECTURE}/*.dll") file(INSTALL ${RELEASE_DLL_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/bin/") -file(GLOB DEBUG_DLL_FILES "${PACKAGE_PATH}/build/native/debug/bin/${VCPKG_TARGET_ARCHITECTURE}/*.dll") -file(INSTALL ${DEBUG_DLL_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin/") +if(NOT DEFINED VCPKG_BUILD_TYPE) + file(GLOB DEBUG_LIB_FILES "${PACKAGE_PATH}/build/native/debug/lib/${VCPKG_TARGET_ARCHITECTURE}/*.lib") + file(INSTALL ${DEBUG_LIB_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib/") + + file(GLOB DEBUG_DLL_FILES "${PACKAGE_PATH}/build/native/debug/bin/${VCPKG_TARGET_ARCHITECTURE}/*.dll") + file(INSTALL ${DEBUG_DLL_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin/") +endif() -file(INSTALL "${PACKAGE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${PACKAGE_PATH}/LICENSE.txt") configure_file("${CMAKE_CURRENT_LIST_DIR}/dxsdk-d3dx-config.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/${PORT}-config.cmake" COPYONLY) diff --git a/ports/dxsdk-d3dx/usage b/ports/dxsdk-d3dx/usage new file mode 100644 index 00000000000000..da585a2c45ce1c --- /dev/null +++ b/ports/dxsdk-d3dx/usage @@ -0,0 +1,6 @@ +The legacy DirectX SDK D3DX package provides CMake targets: + + find_package(dxsdk-d3dx CONFIG REQUIRED) + target_link_libraries(main PRIVATE Microsoft::D3DX9 Microsoft::D3DX10 Microsoft::D3DX11) + +NOTE: This port is not recommended for use in new projects and is incompatible with the deprecated directxsdk port. diff --git a/ports/dxsdk-d3dx/vcpkg.json b/ports/dxsdk-d3dx/vcpkg.json index 66641861475496..1b9a2171fe93ea 100644 --- a/ports/dxsdk-d3dx/vcpkg.json +++ b/ports/dxsdk-d3dx/vcpkg.json @@ -1,9 +1,9 @@ { "name": "dxsdk-d3dx", "version": "9.29.952.8", - "port-version": 6, + "port-version": 7, "description": "Redistributable package for the legacy DirectX SDK's D3DX9, D3DX10, and/or D3DX11 utility libraries.", "homepage": "https://walbourn.github.io/legacy-d3dx-on-nuget/", "license": null, - "supports": "windows & !arm & !uwp & !xbox & !staticcrt" + "supports": "windows & !arm & !uwp & !xbox" } diff --git a/ports/dxut/portfile.cmake b/ports/dxut/portfile.cmake index 155426f0f6f540..9f2bc2c7ff6c0e 100644 --- a/ports/dxut/portfile.cmake +++ b/ports/dxut/portfile.cmake @@ -3,8 +3,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO microsoft/DXUT - REF jun2023 - SHA512 72a322fcf062d0f52d0e854660e48943d0e10e7856019ad5bc0b37bcb2bde909d6fbc315e04e2b90a13a50a05129b8787159791ec525f5003f0c090dce9a7d42 + REF aug2024 + SHA512 9ae3ff34308446b9d145306c4eee6a70319c103540e76e3df305bed6b9d4348b508976d930fbbaac29d560879afc5e53367bdd81142a02920dd28c4fc9013136 HEAD_REF main ) diff --git a/ports/dxut/vcpkg.json b/ports/dxut/vcpkg.json index 8693eda541ccfb..1fd03c75a3d92a 100644 --- a/ports/dxut/vcpkg.json +++ b/ports/dxut/vcpkg.json @@ -1,7 +1,6 @@ { "name": "dxut", - "version": "11.31", - "port-version": 3, + "version": "11.32", "description": "A \"GLUT\"-like framework for Direct3D 11.x Win32 desktop applications", "homepage": "https://github.com/Microsoft/DXUT", "documentation": "https://github.com/microsoft/DXUT/wiki", diff --git a/ports/dylib/portfile.cmake b/ports/dylib/portfile.cmake new file mode 100644 index 00000000000000..48985968d01b06 --- /dev/null +++ b/ports/dylib/portfile.cmake @@ -0,0 +1,21 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO martin-olivier/dylib + REF "v${VERSION}" + SHA512 8e691c1bc73f381ce8ec50d85165c122ba55167b050e696c8b26ccf1ba14999ca8129fb6c5b6c3320166f606acb2c21867d0786347c341d1267815580beb5c0a + HEAD_REF main +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/dylib) + +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/dylib/vcpkg.json b/ports/dylib/vcpkg.json new file mode 100644 index 00000000000000..0ae7f7b97c7f99 --- /dev/null +++ b/ports/dylib/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "dylib", + "version-semver": "2.2.1", + "description": "C++ cross-platform wrapper around dynamic loading of shared libraries", + "homepage": "https://github.com/martin-olivier/dylib", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/dyno/fix-deps.patch b/ports/dyno/fix-deps.patch new file mode 100644 index 00000000000000..50368545fccf8b --- /dev/null +++ b/ports/dyno/fix-deps.patch @@ -0,0 +1,30 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6c7c421..1b8b2bc 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -14,9 +14,8 @@ add_library(dyno INTERFACE) + add_library(Dyno::dyno ALIAS dyno) + target_compile_features(dyno INTERFACE cxx_std_17) + target_include_directories(dyno INTERFACE "$") +-find_package(Hana REQUIRED) +-find_package(CallableTraits REQUIRED) +-target_link_libraries(dyno INTERFACE hana callable_traits) ++find_package(Boost REQUIRED) ++target_link_libraries(dyno INTERFACE Boost::boost) + + include(CheckCXXCompilerFlag) + check_cxx_compiler_flag("-Wno-gnu-string-literal-operator-template" DYNO_HAS_WNO_GNU_STRING_UDL) +diff --git a/cmake/dyno-config.cmake b/cmake/dyno-config.cmake +index 8a1845b..57aa7a1 100644 +--- a/cmake/dyno-config.cmake ++++ b/cmake/dyno-config.cmake +@@ -3,8 +3,7 @@ + # (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt) + + include(CMakeFindDependencyMacro) +-find_dependency(Hana REQUIRED) +-find_dependency(CallableTraits REQUIRED) ++find_dependency(Boost) + + if(NOT TARGET Dyno::dyno) + include("${CMAKE_CURRENT_LIST_DIR}/dyno-targets.cmake") diff --git a/ports/dyno/portfile.cmake b/ports/dyno/portfile.cmake new file mode 100644 index 00000000000000..f4ddf6c8459eeb --- /dev/null +++ b/ports/dyno/portfile.cmake @@ -0,0 +1,24 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ldionne/dyno + REF 56ced251f5751ef4e3fe66d4f28ccbc75b902d70 + SHA512 c3f34679d1e2f3cec3757f69662d4f5db602b9028a927ad9070e70813caf18bb2a512f148e69f14aaac35a3e13abb57e1aa8e4f369993e7a01d048d70050daa6 + HEAD_REF master + PATCHES fix-deps.patch +) + +set(VCPKG_BUILD_TYPE release) #header-only library + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(PACKAGE_NAME dyno CONFIG_PATH "lib/cmake/dyno") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/dyno/usage b/ports/dyno/usage new file mode 100644 index 00000000000000..9057f2a2ee00d0 --- /dev/null +++ b/ports/dyno/usage @@ -0,0 +1,5 @@ +The package dyno provides CMake targets: + + find_package(dyno CONFIG REQUIRED) + target_link_libraries(main PRIVATE Dyno::dyno) + diff --git a/ports/dyno/vcpkg.json b/ports/dyno/vcpkg.json new file mode 100644 index 00000000000000..e545451e8d6d93 --- /dev/null +++ b/ports/dyno/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "dyno", + "version-date": "2019-11-13", + "description": "Runtime polymorphism done right", + "homepage": "https://github.com/ldionne/dyno/", + "license": "BSL-1.0", + "dependencies": [ + "boost-callable-traits", + "boost-hana", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/easyhook/portfile.cmake b/ports/easyhook/portfile.cmake index ea3cc70de96418..54e26299fbae34 100644 --- a/ports/easyhook/portfile.cmake +++ b/ports/easyhook/portfile.cmake @@ -56,11 +56,13 @@ foreach(CSPROJ IN ITEMS "${CSPROJ}" "v4.0" "4.7.2" + IGNORE_UNCHANGED ) vcpkg_replace_string( "${CSPROJ}" "Client" "" + IGNORE_UNCHANGED ) endforeach() @@ -74,28 +76,16 @@ vcpkg_msbuild_install( # Remove the mismatch rebuild library if (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") - if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/AUX_ULIB_x64.LIB") - endif() - if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/AUX_ULIB_x64.LIB") - endif() + file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/AUX_ULIB_x64.LIB") + file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/AUX_ULIB_x64.LIB") elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/AUX_ULIB_x86.LIB") - endif() - if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/AUX_ULIB_x86.LIB") - endif() + file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/AUX_ULIB_x86.LIB") + file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/AUX_ULIB_x86.LIB") endif() # These libraries are useless, so remove. -if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(REMOVE "${CURRENT_PACKAGES_DIR}/bin/EasyHook.dll" "${CURRENT_PACKAGES_DIR}/bin/EasyHook.pdb") -endif() -if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/bin/EasyHook.dll" "${CURRENT_PACKAGES_DIR}/debug/bin/EasyHook.pdb") -endif() +file(REMOVE "${CURRENT_PACKAGES_DIR}/bin/EasyHook.dll" "${CURRENT_PACKAGES_DIR}/bin/EasyHook.pdb") +file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/bin/EasyHook.dll" "${CURRENT_PACKAGES_DIR}/debug/bin/EasyHook.pdb") # Install includes file(INSTALL "${SOURCE_PATH}/Public/easyhook.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include/easyhook") diff --git a/ports/easyhook/vcpkg.json b/ports/easyhook/vcpkg.json index 31c189a85c27e0..e83eb2dcced30b 100644 --- a/ports/easyhook/vcpkg.json +++ b/ports/easyhook/vcpkg.json @@ -1,7 +1,7 @@ { "name": "easyhook", "version": "2.7.7097.0", - "port-version": 7, + "port-version": 9, "description": "This project supports extending (hooking) unmanaged code (APIs) with pure managed ones, from within a fully managed environment on 32- or 64-bit Windows Vista x64, Windows Server 2008 x64, Windows 7, Windows 8.1, and Windows 10.", "homepage": "https://github.com/EasyHook/EasyHook", "supports": "windows & !static & !uwp & (x86 | x64)", diff --git a/ports/easyloggingpp/0003_fix_pkgconfig.patch b/ports/easyloggingpp/0003_fix_pkgconfig.patch new file mode 100644 index 00000000000000..3eec16ef751802 --- /dev/null +++ b/ports/easyloggingpp/0003_fix_pkgconfig.patch @@ -0,0 +1,10 @@ +diff --git a/cmake/easyloggingpp.pc.cmakein b/cmake/easyloggingpp.pc.cmakein +index 61000ce..f7f8d0c 100644 +--- a/cmake/easyloggingpp.pc.cmakein ++++ b/cmake/easyloggingpp.pc.cmakein +@@ -4,3 +4,5 @@ Version: @ELPP_VERSION_STRING@ + prefix=@CMAKE_INSTALL_PREFIX@ + includedir=@ELPP_INCLUDE_INSTALL_DIR@ + Cflags: -I${includedir} ++libdir=${prefix}/lib ++Libs: -L${libdir} -leasyloggingpp diff --git a/ports/easyloggingpp/portfile.cmake b/ports/easyloggingpp/portfile.cmake index 4b095a27329372..6c61854c98bc6c 100644 --- a/ports/easyloggingpp/portfile.cmake +++ b/ports/easyloggingpp/portfile.cmake @@ -9,6 +9,7 @@ vcpkg_from_github( PATCHES 0001_add_cmake_options.patch 0002_fix_build_uwp.patch + 0003_fix_pkgconfig.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS @@ -26,12 +27,17 @@ vcpkg_cmake_configure( ${FEATURE_OPTIONS} -Dbuild_static_lib=ON -Dis_uwp=${TARGET_IS_UWP} + OPTIONS_DEBUG + -DELPP_PKGCONFIG_INSTALL_DIR="${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig" + OPTIONS_RELEASE + -DELPP_PKGCONFIG_INSTALL_DIR="${CURRENT_PACKAGES_DIR}/lib/pkgconfig" ) vcpkg_cmake_install() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +configure_file("${CURRENT_PORT_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" COPYONLY) vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") vcpkg_fixup_pkgconfig() diff --git a/ports/easyloggingpp/usage b/ports/easyloggingpp/usage new file mode 100644 index 00000000000000..bd0080eb3d8d18 --- /dev/null +++ b/ports/easyloggingpp/usage @@ -0,0 +1,6 @@ +easyloggingpp can be imported via CMake FindPkgConfig module: + + find_package(PkgConfig REQUIRED) + pkg_check_modules(easyloggingpp easyloggingpp REQUIRED IMPORTED_TARGET) + + target_link_libraries(main PRIVATE PkgConfig::easyloggingpp) diff --git a/ports/easyloggingpp/vcpkg.json b/ports/easyloggingpp/vcpkg.json index a557ad50f88cb8..49e71469af6207 100644 --- a/ports/easyloggingpp/vcpkg.json +++ b/ports/easyloggingpp/vcpkg.json @@ -1,6 +1,7 @@ { "name": "easyloggingpp", "version": "9.97.1", + "port-version": 1, "description": "Easylogging++ is a single header efficient logging library for C++ applications.", "homepage": "https://github.com/abumq/easyloggingpp", "license": "MIT", diff --git a/ports/ebml/portfile.cmake b/ports/ebml/portfile.cmake index 41588f5a8ad375..36b9722823043d 100644 --- a/ports/ebml/portfile.cmake +++ b/ports/ebml/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Matroska-Org/libebml - REF release-1.4.4 - SHA512 4a7926f56de211b8431105e37045a13d5e0576151326c87bc3168821c10342acee2aa6447438296f1d56893b3ebbc60851cb0c310f5561127612f0cd2477743f + REF "release-${VERSION}" + SHA512 284da9b7a1415585bbcfffc87101c63f1dd242bb09d88a731597127732a2f8064fd35e0a718fdcde464714b71e3f7dcc8285f291889629aba6997c38e0575dfb HEAD_REF master ) diff --git a/ports/ebml/vcpkg.json b/ports/ebml/vcpkg.json index 71cde02a43a227..e0ea38c617d4f2 100644 --- a/ports/ebml/vcpkg.json +++ b/ports/ebml/vcpkg.json @@ -1,7 +1,6 @@ { "name": "ebml", - "version": "1.4.4", - "port-version": 1, + "version": "1.4.5", "description": "A C++ library to parse EBML files", "homepage": "https://github.com/Matroska-Org/libebml", "dependencies": [ diff --git a/ports/ecal/0001-disable-app-plugins.patch b/ports/ecal/0001-disable-app-plugins.patch index e103244c224975..ce4eb786632dfc 100644 --- a/ports/ecal/0001-disable-app-plugins.patch +++ b/ports/ecal/0001-disable-app-plugins.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 4ea1fb066..351fe6c3f 100644 +index 4f2fc25d2..e82e353e0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -351,8 +351,10 @@ endif(HAS_QT5) +@@ -357,8 +357,10 @@ endif() # -------------------------------------------------------- # ecal rec addon sdk # -------------------------------------------------------- diff --git a/ports/ecal/0002-fix-build.patch b/ports/ecal/0002-fix-build.patch index 9cc2d9f64252bb..b2811b162cb740 100644 --- a/ports/ecal/0002-fix-build.patch +++ b/ports/ecal/0002-fix-build.patch @@ -1,40 +1,27 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 351fe6c3f..64d5bb384 100644 +index e82e353e0..19d8f2a93 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -27,7 +27,8 @@ endif (POLICY CMP0077) +@@ -26,7 +26,8 @@ endif (POLICY CMP0077) list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake - ${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules) + # Removed project specific Module overrides +) + + set(eCAL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules) - project(eCAL) - set(ECAL_PROJECT_ROOT "${CMAKE_CURRENT_LIST_DIR}") -@@ -212,11 +213,13 @@ foreach (dep IN LISTS possible_subprojects) - endif () - endforeach() - -+if(NOT DISABLE_FIND_PACKAGE_OVERLOAD) - macro(find_package) - if(NOT "${ARGV0}" IN_LIST as_subproject) - _find_package(${ARGV}) - endif() - endmacro() -+endif() +@@ -221,6 +222,8 @@ set(possible_subprojects + set(ECAL_THIRDPARTY_BUILD_CMAKEFUNCTIONS ${ECAL_THIRDPARTY_BUILD_CMAKE_FUNCTIONS}) # if a package does need to be build, include the cmake file with build instructions ++# Disable all submodules, except CMakeFunctions which isn't a submodule and required ++set(possible_subprojects "CMakeFunctions") foreach (dep IN LISTS possible_subprojects) -@@ -232,7 +235,6 @@ if(MSVC) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS_OLD}") - endif() - --find_package(CMakeFunctions REQUIRED) - - git_revision_information(DEFAULT ${ECAL_BUILD_VERSION}) - set(eCAL_VERSION_MAJOR ${GIT_REVISION_MAJOR}) -@@ -330,7 +332,9 @@ add_subdirectory(ecal/core) + string(TOUPPER ${dep} dep_upper) + string(TOLOWER ${dep} dep_lower) +@@ -336,7 +339,9 @@ add_subdirectory(ecal/core) # custom libs # -------------------------------------------------------- add_subdirectory(lib/ThreadingUtils) @@ -44,8 +31,8 @@ index 351fe6c3f..64d5bb384 100644 +# add_subdirectory(lib/CustomTclap) add_subdirectory(lib/ecal_utils) - if(HAS_QT5) -@@ -549,7 +553,9 @@ endif() + if(HAS_QT) +@@ -559,7 +564,9 @@ endif() # -------------------------------------------------------- # create package # -------------------------------------------------------- @@ -56,11 +43,11 @@ index 351fe6c3f..64d5bb384 100644 message(STATUS "Build Options:") message(STATUS "--------------------------------------------------------------------------------") diff --git a/contrib/ecalhdf5/CMakeLists.txt b/contrib/ecalhdf5/CMakeLists.txt -index 080c40e28..c167bacd4 100644 +index d5285101c..3b7eb705a 100644 --- a/contrib/ecalhdf5/CMakeLists.txt +++ b/contrib/ecalhdf5/CMakeLists.txt -@@ -58,7 +58,12 @@ set(ecalhdf5_header_base - include/ecalhdf5/eh5_types.h +@@ -55,7 +55,12 @@ set(ecalhdf5_header_base + include/ecalhdf5/eh5_types.h ) +if (WIN32) @@ -90,7 +77,7 @@ index 04f1a1b9a..58df32705 100644 target_include_directories(${PROJECT_NAME} PUBLIC $ diff --git a/ecal/core/CMakeLists.txt b/ecal/core/CMakeLists.txt -index 5c2b6e33d..3c7d57189 100644 +index f18dd6291..8655d134a 100644 --- a/ecal/core/CMakeLists.txt +++ b/ecal/core/CMakeLists.txt @@ -20,8 +20,6 @@ project(core VERSION ${eCAL_VERSION_STRING}) @@ -102,7 +89,7 @@ index 5c2b6e33d..3c7d57189 100644 find_package(tcp_pubsub REQUIRED) if (ECAL_NPCAP_SUPPORT) find_package(udpcap REQUIRED) -@@ -492,14 +490,20 @@ target_link_libraries(${PROJECT_NAME} +@@ -549,8 +547,6 @@ target_link_libraries(${PROJECT_NAME} $<$:wsock32> $<$:socket> asio::asio @@ -111,7 +98,8 @@ index 5c2b6e33d..3c7d57189 100644 eCAL::core_pb Threads::Threads eCAL::ecal-utils - tcp_pubsub::tcp_pubsub +@@ -558,6 +554,14 @@ target_link_libraries(${PROJECT_NAME} + ecal_service ) +# tclap is header only and only used for implementation @@ -125,10 +113,23 @@ index 5c2b6e33d..3c7d57189 100644 set_property(TARGET ${PROJECT_NAME} PROPERTY FOLDER ecal/core) set_property(TARGET ${PROJECT_NAME}_c PROPERTY FOLDER ecal/core) -diff --git a/thirdparty/cmake_functions/CMakeLists.txt b/thirdparty/cmake_functions/CMakeLists.txt -index b3e93261a..3ba185a97 100644 ---- a/thirdparty/cmake_functions/CMakeLists.txt -+++ b/thirdparty/cmake_functions/CMakeLists.txt +diff --git a/ecal/service/ecal_service/CMakeLists.txt b/ecal/service/ecal_service/CMakeLists.txt +index 0ac70a214..6a565c726 100644 +--- a/ecal/service/ecal_service/CMakeLists.txt ++++ b/ecal/service/ecal_service/CMakeLists.txt +@@ -99,6 +99,8 @@ set_target_properties(${PROJECT_NAME} PROPERTIES + FOLDER ecal/service + ) + ++ecal_install_library(${PROJECT_NAME}) ++ + ################################## + + source_group(TREE "${CMAKE_CURRENT_SOURCE_DIR}" FILES +diff --git a/thirdparty/cmakefunctions/cmake_functions/CMakeLists.txt b/thirdparty/cmakefunctions/cmake_functions/CMakeLists.txt +index 8d13b791c..6ed0d1a14 100644 +--- a/thirdparty/cmakefunctions/cmake_functions/CMakeLists.txt ++++ b/thirdparty/cmakefunctions/cmake_functions/CMakeLists.txt @@ -40,4 +40,6 @@ foreach (f ${file_list}) install( FILES ${f} DESTINATION "${cmake_functions_install_cmake_dir}/${dir}" ) endforeach() @@ -136,17 +137,16 @@ index b3e93261a..3ba185a97 100644 +if(CPACK_PACK_WITH_INNOSETUP) include(cmake/cpack_variables.cmake) +endif() -diff --git a/thirdparty/cmake_functions/cmake_functions.cmake b/thirdparty/cmake_functions/cmake_functions.cmake -index 0c3659e5c..127eb14e6 100644 ---- a/thirdparty/cmake_functions/cmake_functions.cmake -+++ b/thirdparty/cmake_functions/cmake_functions.cmake -@@ -5,23 +5,12 @@ set (file_list_include +diff --git a/thirdparty/cmakefunctions/cmake_functions/cmake_functions.cmake b/thirdparty/cmakefunctions/cmake_functions/cmake_functions.cmake +index a053b06e6..127eb14e6 100644 +--- a/thirdparty/cmakefunctions/cmake_functions/cmake_functions.cmake ++++ b/thirdparty/cmakefunctions/cmake_functions/cmake_functions.cmake +@@ -5,22 +5,12 @@ set (file_list_include target_definitions/targets_protobuf.cmake ) -if(WIN32) - list(APPEND file_list_include -- qt/qt_msvc_path.cmake - qt/qt_windeployqt.cmake - ) -endif() diff --git a/ports/ecal/0004-install-cmake-files-to-share.patch b/ports/ecal/0004-install-cmake-files-to-share.patch index 030b55b38a399a..1de1065b1a9b44 100644 --- a/ports/ecal/0004-install-cmake-files-to-share.patch +++ b/ports/ecal/0004-install-cmake-files-to-share.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 64d5bb384..1f08d4bab 100644 +index 19d8f2a93..dca8948be 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -274,7 +274,7 @@ set(eCAL_install_app_dir ${CMAKE_INSTALL_BINDIR}) +@@ -277,7 +277,7 @@ set(eCAL_install_app_dir ${CMAKE_INSTALL_BINDIR}) set(eCAL_install_archive_dir ${CMAKE_INSTALL_LIBDIR}) set(eCAL_install_archive_dyn_dir ${CMAKE_INSTALL_LIBDIR}) set(eCAL_install_bin_dir ${CMAKE_INSTALL_BINDIR}) @@ -11,10 +11,10 @@ index 64d5bb384..1f08d4bab 100644 set(eCAL_install_config_dir ${CMAKE_INSTALL_SYSCONFDIR}/ecal) set(eCAL_install_doc_dir ${CMAKE_INSTALL_DOCDIR}) set(eCAL_install_include_dir ${CMAKE_INSTALL_INCLUDEDIR}) -diff --git a/thirdparty/cmake_functions/CMakeLists.txt b/thirdparty/cmake_functions/CMakeLists.txt -index 3ba185a97..aa9e8a736 100644 ---- a/thirdparty/cmake_functions/CMakeLists.txt -+++ b/thirdparty/cmake_functions/CMakeLists.txt +diff --git a/thirdparty/cmakefunctions/cmake_functions/CMakeLists.txt b/thirdparty/cmakefunctions/cmake_functions/CMakeLists.txt +index 6ed0d1a14..9a833a1f9 100644 +--- a/thirdparty/cmakefunctions/cmake_functions/CMakeLists.txt ++++ b/thirdparty/cmakefunctions/cmake_functions/CMakeLists.txt @@ -4,12 +4,8 @@ include(cmake_functions.cmake) project(CMakeFunctions VERSION 0.4.1) diff --git a/ports/ecal/0007-allow-static-build-of-core.patch b/ports/ecal/0007-allow-static-build-of-core.patch index 18cb2d31bb5da2..90ece50f18e3ed 100644 --- a/ports/ecal/0007-allow-static-build-of-core.patch +++ b/ports/ecal/0007-allow-static-build-of-core.patch @@ -1,18 +1,18 @@ diff --git a/ecal/core/CMakeLists.txt b/ecal/core/CMakeLists.txt -index 3c7d57189..775f8a7c8 100644 +index 8655d134a..03d0f7c81 100644 --- a/ecal/core/CMakeLists.txt +++ b/ecal/core/CMakeLists.txt -@@ -397,7 +397,7 @@ set(ecal_header_base +@@ -449,7 +449,7 @@ set(ecal_header_public ${ecal_header_msg} ) -ecal_add_ecal_shared_library(${PROJECT_NAME} +ecal_add_library(${PROJECT_NAME} - ${ecal_custom_tclap_cpp_src} - ${ecal_io_cpp_src} - ${ecal_io_mem_cpp_src} -@@ -433,7 +433,7 @@ if(UNIX) - set_source_files_properties(src/convert_utf.cpp PROPERTIES COMPILE_FLAGS -Wno-implicit-fallthrough) + ${ecal_config_src} + ${ecal_io_mtx_src} + ${ecal_io_mtx_linux_src} +@@ -483,7 +483,7 @@ if(UNIX) + set_source_files_properties(src/util/convert_utf.cpp PROPERTIES COMPILE_FLAGS -Wno-implicit-fallthrough) endif() -ecal_add_ecal_shared_library(${PROJECT_NAME}_c ${ecal_c_src} ${ecal_c_win_src}) @@ -20,9 +20,9 @@ index 3c7d57189..775f8a7c8 100644 add_library(eCAL::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) add_library(eCAL::${PROJECT_NAME}_c ALIAS ${PROJECT_NAME}_c) -@@ -457,6 +457,11 @@ target_compile_definitions(${PROJECT_NAME} - $<$:ECAL_HAS_ROBUST_MUTEX> - $<$:ECAL_USE_CLOCKLOCK_MUTEX>) +@@ -514,6 +514,11 @@ target_compile_definitions(${PROJECT_NAME} + ECALC_NO_DEPRECATION_WARNINGS + ) +if(BUILD_SHARED_LIBS) + target_compile_definitions(${PROJECT_NAME}_c PUBLIC eCAL_SHARED_LIB) @@ -32,7 +32,7 @@ index 3c7d57189..775f8a7c8 100644 if(ECAL_NPCAP_SUPPORT) target_compile_definitions(${PROJECT_NAME} PRIVATE ECAL_NPCAP_SUPPORT) -@@ -507,8 +512,8 @@ target_include_directories(${PROJECT_NAME} PRIVATE ${SIMPLEINI_INCLUDE_DIRS}) +@@ -565,8 +570,8 @@ target_include_directories(${PROJECT_NAME} PRIVATE ${SIMPLEINI_INCLUDE_DIRS}) set_property(TARGET ${PROJECT_NAME} PROPERTY FOLDER ecal/core) set_property(TARGET ${PROJECT_NAME}_c PROPERTY FOLDER ecal/core) @@ -44,7 +44,7 @@ index 3c7d57189..775f8a7c8 100644 install(DIRECTORY "include/" DESTINATION "${INSTALL_INCLUDE_DIR}" COMPONENT sdk diff --git a/ecal/core/include/ecal/ecal_os.h b/ecal/core/include/ecal/ecal_os.h -index a962036f2..5d466cc86 100644 +index 2b051d893..f24cdc325 100644 --- a/ecal/core/include/ecal/ecal_os.h +++ b/ecal/core/include/ecal/ecal_os.h @@ -47,7 +47,7 @@ @@ -56,19 +56,22 @@ index a962036f2..5d466cc86 100644 #ifdef eCAL_EXPORTS #define ECALC_API __declspec(dllexport) #else /* eCAL_EXPORTS */ -@@ -64,11 +64,15 @@ - #endif +@@ -65,11 +65,15 @@ - #ifdef _MSC_VER + #if !defined(ECALC_NO_DEPRECATION_WARNINGS) + #ifdef _MSC_VER + #ifdef eCAL_SHARED_LIB - #ifdef eCAL_EXPORTS - #define ECALC_API_DEPRECATED __declspec(dllexport deprecated) - #else /* eCAL_EXPORTS */ - #define ECALC_API_DEPRECATED __declspec(dllimport deprecated) - #endif /* eCAL_EXPORTS */ -+ #else -+ #define ECALC_API_DEPRECATED -+ #endif - #elif defined(__GNUC__) || defined(__clang__) - #define ECALC_API_DEPRECATED __attribute__((deprecated)) - #else + #ifdef eCAL_EXPORTS + #define ECALC_API_DEPRECATED __declspec(dllexport deprecated) + #else /* eCAL_EXPORTS */ + #define ECALC_API_DEPRECATED __declspec(dllimport deprecated) + #endif /* eCAL_EXPORTS */ ++ #else ++ #define ECALC_API_DEPRECATED ++ #endif + #elif defined(__GNUC__) || defined(__clang__) + #define ECALC_API_DEPRECATED __attribute__((deprecated)) + #else +-- +2.45.0.windows.1 + diff --git a/ports/ecal/0008-protobuf-linkage.patch b/ports/ecal/0008-protobuf-linkage.patch new file mode 100644 index 00000000000000..26e77e7173506a --- /dev/null +++ b/ports/ecal/0008-protobuf-linkage.patch @@ -0,0 +1,26 @@ +diff --git a/app/app_pb/CMakeLists.txt b/app/app_pb/CMakeLists.txt +index edd036188..1aae43a81 100644 +--- a/app/app_pb/CMakeLists.txt ++++ b/app/app_pb/CMakeLists.txt +@@ -68,7 +68,7 @@ target_compile_options(${PROJECT_NAME} + + set_property(TARGET ${PROJECT_NAME} PROPERTY POSITION_INDEPENDENT_CODE ON) + +-target_link_libraries(${PROJECT_NAME} protobuf::libprotobuf) ++target_link_libraries(${PROJECT_NAME} PUBLIC protobuf::libprotobuf) + target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_14) + + ecal_install_library(${PROJECT_NAME}) +diff --git a/ecal/core_pb/CMakeLists.txt b/ecal/core_pb/CMakeLists.txt +index e8f0704c7..502a92c11 100644 +--- a/ecal/core_pb/CMakeLists.txt ++++ b/ecal/core_pb/CMakeLists.txt +@@ -63,7 +63,7 @@ target_compile_options(${PROJECT_NAME} + + set_property(TARGET ${PROJECT_NAME} PROPERTY POSITION_INDEPENDENT_CODE ON) + +-target_link_libraries(${PROJECT_NAME} protobuf::libprotobuf) ++target_link_libraries(${PROJECT_NAME} PUBLIC protobuf::libprotobuf) + target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_14) + + ecal_install_library(${PROJECT_NAME}) diff --git a/ports/ecal/portfile.cmake b/ports/ecal/portfile.cmake index c8600cdac36d1f..a23297798cb658 100644 --- a/ports/ecal/portfile.cmake +++ b/ports/ecal/portfile.cmake @@ -6,7 +6,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO eclipse-ecal/ecal REF v${VERSION} - SHA512 e9bc6c579a5331bdecc0384fb1cbac6bf63cb3910e26a4004d48c3a25528fed66413a2c80f4d866d3958d3800579c57a7298e61fca20adf9b24f5daa2e07ed3d + SHA512 fde579c21ef31f5cd7902129d5d00717ddab1105d58cc5b352c374c14cbd2f61297a788d3ac5fa548946035b1759130857561f830a36e546e2a6ca88dbf63854 HEAD_REF master PATCHES 0001-disable-app-plugins.patch @@ -16,6 +16,7 @@ vcpkg_from_github( 0005-remove-install-prefix-macro-value.patch 0006-use-find_dependency-in-cmake-config.patch 0007-allow-static-build-of-core.patch + 0008-protobuf-linkage.patch ) vcpkg_cmake_configure( @@ -35,7 +36,6 @@ vcpkg_cmake_configure( -DBUILD_ECAL_TESTS=OFF -DECAL_INCLUDE_PY_SAMPLES=OFF -DECAL_INSTALL_SAMPLE_SOURCES=OFF - -DECAL_JOIN_MULTICAST_TWICE=OFF -DECAL_NPCAP_SUPPORT=OFF -DECAL_THIRDPARTY_BUILD_CMAKE_FUNCTIONS=ON -DECAL_THIRDPARTY_BUILD_SPDLOG=OFF @@ -52,7 +52,6 @@ vcpkg_cmake_configure( -DECAL_THIRDPARTY_BUILD_CURL=OFF -DECAL_THIRDPARTY_BUILD_HDF5=OFF -DCPACK_PACK_WITH_INNOSETUP=OFF - -DDISABLE_FIND_PACKAGE_OVERLOAD=ON # From patch, disable find_package macro -DECAL_BUILD_VERSION="${VERSION}" ) diff --git a/ports/ecal/vcpkg.json b/ports/ecal/vcpkg.json index 35c836188aa49a..d74e41b4371559 100644 --- a/ports/ecal/vcpkg.json +++ b/ports/ecal/vcpkg.json @@ -1,6 +1,6 @@ { "name": "ecal", - "version-semver": "5.12.0", + "version-semver": "5.13.2", "description": "eCAL - enhanced Communication Abstraction Layer", "homepage": "https://eclipse-ecal.github.io/ecal/", "license": "Apache-2.0", diff --git a/ports/ecm/fix_canberra.patch b/ports/ecm/fix_canberra.patch deleted file mode 100644 index 1a6d72a94e6372..00000000000000 --- a/ports/ecm/fix_canberra.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 203c65c562453385e3ffc4485844b15e80b93107 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Dawid=20Wro=CC=81bel?= -Date: Fri, 17 Sep 2021 00:07:08 +0200 -Subject: [PATCH] FindCanberra: link against target provided by pkgconfig - -target_link_libraries() against the target generated by -pkg_check_modules() so that the additional linker options are not -lost, such as the additional libraries to link against when -building statically. - -BUG: 442555 ---- - find-modules/FindCanberra.cmake | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/find-modules/FindCanberra.cmake b/find-modules/FindCanberra.cmake -index c54adf99..f9561118 100644 ---- a/find-modules/FindCanberra.cmake -+++ b/find-modules/FindCanberra.cmake -@@ -34,7 +34,7 @@ Since 5.56.0. - #]=======================================================================] - - find_package(PkgConfig QUIET) --pkg_check_modules(PC_Canberra libcanberra QUIET) -+pkg_check_modules(PC_Canberra IMPORTED_TARGET libcanberra QUIET) - - find_library(Canberra_LIBRARIES - NAMES canberra -@@ -66,6 +66,7 @@ if(Canberra_FOUND AND NOT TARGET Canberra::Canberra) - INTERFACE_COMPILE_OPTIONS "${PC_Canberra_CFLAGS}" - INTERFACE_INCLUDE_DIRECTORIES "${Canberra_INCLUDE_DIRS}" - ) -+ target_link_libraries(Canberra::Canberra INTERFACE PkgConfig::PC_Canberra) - endif() - - mark_as_advanced(Canberra_LIBRARIES Canberra_INCLUDE_DIRS Canberra_VERSION) --- -GitLab - diff --git a/ports/ecm/fix_libmount.patch b/ports/ecm/fix_libmount.patch deleted file mode 100644 index 8f2f480ac6d0fb..00000000000000 --- a/ports/ecm/fix_libmount.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/find-modules/FindLibMount.cmake b/find-modules/FindLibMount.cmake -index 3fcde4c5435a79c61c53bbd27e1932441a056d98..1f53f0218faa82fdf9713ab768080ab7c1d72b4a 100644 ---- a/find-modules/FindLibMount.cmake -+++ b/find-modules/FindLibMount.cmake -@@ -30,7 +30,7 @@ Since 5.83.0 - #]=======================================================================] - - find_package(PkgConfig QUIET) --pkg_check_modules(PC_LIBMOUNT QUIET mount) -+pkg_check_modules(PC_LIBMOUNT QUIET IMPORTED_TARGET mount) - - find_path(LibMount_INCLUDE_DIRS NAMES libmount/libmount.h HINTS ${PC_LIBMOUNT_INCLUDE_DIRS}) - find_library(LibMount_LIBRARIES NAMES mount HINTS ${PC_LIBMOUNT_LIBRARY_DIRS}) -@@ -62,6 +62,9 @@ if(LibMount_FOUND AND NOT TARGET LibMount::LibMount) - INTERFACE_INCLUDE_DIRECTORIES "${LibMount_INCLUDE_DIRS}" - INTERFACE_COMPILE_DEFINITIONS "${PC_LIBMOUNT_CFLAGS_OTHER}" - ) -+ if (TARGET PkgConfig::PC_LIBMOUNT) -+ target_link_libraries(LibMount::LibMount INTERFACE PkgConfig::PC_LIBMOUNT) -+ endif() - endif() - - include(FeatureSummary) diff --git a/ports/ecm/portfile.cmake b/ports/ecm/portfile.cmake index 40a0349e14a993..2d0b905406fb9d 100644 --- a/ports/ecm/portfile.cmake +++ b/ports/ecm/portfile.cmake @@ -1,12 +1,10 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KDE/extra-cmake-modules - REF v5.98.0 - SHA512 355bf2010dd4c736981d0f708ab7245c0925104e19da01acee0482494f815088e5d7aed9aa968251f13c2c5b8cbfd67dc8bb147dec46050fea0881c00f456d9d + REF "v${VERSION}" + SHA512 d62091185c26c4eec83f7b2e06468c3c3691ae0e71f4d60aafaf32be262677affc686a4e54159f487005854bdf46c4c3a2214775daf850039b733ad02edc3936 HEAD_REF master PATCHES - fix_canberra.patch # https://invent.kde.org/frameworks/extra-cmake-modules/-/merge_requests/187 - fix_libmount.patch # https://invent.kde.org/frameworks/extra-cmake-modules/-/merge_requests/200 fix_generateqmltypes.patch # https://invent.kde.org/frameworks/extra-cmake-modules/-/merge_requests/201 ) @@ -21,13 +19,14 @@ vcpkg_cmake_configure( vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH share/ECM/cmake) + # Remove debug files file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") file(COPY "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") # Handle copyright -file(INSTALL "${SOURCE_PATH}/COPYING-CMAKE-SCRIPTS" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING-CMAKE-SCRIPTS") # Allow empty include directory set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) - diff --git a/ports/ecm/usage b/ports/ecm/usage index b0c8e7b7190347..49697504ec06fc 100644 --- a/ports/ecm/usage +++ b/ports/ecm/usage @@ -1,7 +1,7 @@ -The package ecm provides CMake targets: +ecm provides CMake files: find_package(ECM CONFIG REQUIRED NO_MODULE) - set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH}) + list(INSERT CMAKE_MODULE_PATH 0 ${ECM_MODULE_PATH}) include(KDEInstallDirs) include(KDECompilerSettings) include(KDECMakeSettings) diff --git a/ports/ecm/vcpkg.json b/ports/ecm/vcpkg.json index 17b7155b08f329..1c26bf35ead59a 100644 --- a/ports/ecm/vcpkg.json +++ b/ports/ecm/vcpkg.json @@ -1,12 +1,16 @@ { "name": "ecm", - "version": "5.98.0", + "version": "6.7.0", "description": "Extra CMake Modules (ECM), extra modules and scripts for CMake", "homepage": "https://github.com/KDE/extra-cmake-modules", "dependencies": [ { "name": "vcpkg-cmake", "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } ] } diff --git a/ports/ecsutil/portfile.cmake b/ports/ecsutil/portfile.cmake deleted file mode 100644 index 026992cb303acf..00000000000000 --- a/ports/ecsutil/portfile.cmake +++ /dev/null @@ -1,41 +0,0 @@ -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - set(ECSUtil_CONFIGURATION_RELEASE Release) - set(ECSUtil_CONFIGURATION_DEBUG Debug) -else() - if (VCPKG_CRT_LINKAGE STREQUAL dynamic) - set(ECSUtil_CONFIGURATION_RELEASE "Release Lib") - set(ECSUtil_CONFIGURATION_DEBUG "Debug Lib") - else() - set(ECSUtil_CONFIGURATION_RELEASE "Release Lib Static") - set(ECSUtil_CONFIGURATION_DEBUG "Debug Lib Static") - endif() -endif() - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO EMCECS/ecs-object-client-windows-cpp - REF af9fd3cc0be5eacfeb431ca4607d3b73dd318353 # v1.0.7.15 - SHA512 091f4b4870d5bdcbd46c35b2d75e927c9da69e2aba9a24b36504ab9fa3e33fba6eec2a8a5b649fc3ad793e3043c3f2702b753341f74d87de1a7f96c251839c69 - HEAD_REF master -) - -vcpkg_msbuild_install( - SOURCE_PATH "${SOURCE_PATH}" - PROJECT_SUBPATH ECSUtil.sln - PLATFORM "${TRIPLET_SYSTEM_ARCH}" # This means x86 as platform config instead of Win32 - TARGET ECSUtil - RELEASE_CONFIGURATION "${ECSUtil_CONFIGURATION_RELEASE}" - DEBUG_CONFIGURATION "${ECSUtil_CONFIGURATION_DEBUG}" -) -vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/license.txt") - -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") -endif() - -file(COPY "${SOURCE_PATH}/ECSUtil" DESTINATION "${CURRENT_PACKAGES_DIR}/include" FILES_MATCHING PATTERN *.h) -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/ECSUtil/res" "${CURRENT_PACKAGES_DIR}/tools") -file(REMOVE "${CURRENT_PACKAGES_DIR}/bin/NatvisAddIn.dll" "${CURRENT_PACKAGES_DIR}/debug/bin/NatvisAddIn.dll") -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") -endif() diff --git a/ports/ecsutil/vcpkg.json b/ports/ecsutil/vcpkg.json deleted file mode 100644 index 7fbc8bb3b507bc..00000000000000 --- a/ports/ecsutil/vcpkg.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name": "ecsutil", - "version": "1.0.7.15", - "port-version": 5, - "description": "Native Windows SDK for accessing ECS via the S3 HTTP protocol.", - "homepage": "https://github.com/EMCECS/ecs-object-client-windows-cpp", - "supports": "windows & (x64 | x86) & !uwp", - "dependencies": [ - { - "name": "atlmfc", - "platform": "windows" - }, - { - "name": "vcpkg-msbuild", - "host": true, - "platform": "windows" - } - ] -} diff --git a/ports/ed25519/CMakeLists.txt b/ports/ed25519/CMakeLists.txt new file mode 100644 index 00000000000000..c5b631346bb8c3 --- /dev/null +++ b/ports/ed25519/CMakeLists.txt @@ -0,0 +1,64 @@ +cmake_minimum_required(VERSION 3.19) +project(ed25519 LANGUAGES C) +set(PROJECT_VERSION "${VERSION}") + +if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/ed25519.h" "#elif defined(ED25519_DLL)" "#elif 1") +endif() +set(Header_Files "src/ed25519.h" + "src/fe.h" + "src/fixedint.h" + "src/ge.h" + "src/precomp_data.h" + "src/sc.h" + "src/sha512.h") +set(Source_Files "src/add_scalar.c" + "src/fe.c" + "src/ge.c" + "src/key_exchange.c" + "src/keypair.c" + "src/sc.c" + "src/seed.c" + "src/sha512.c" + "src/sign.c" + "src/verify.c") + +add_library("${PROJECT_NAME}" "${Header_Files}" "${Source_Files}") + +include(GNUInstallDirs) +target_include_directories( + "${PROJECT_NAME}" + PUBLIC + "$" + "$" +) +target_compile_features("${PROJECT_NAME}" PRIVATE c_std_90) +set_target_properties("${PROJECT_NAME}" PROPERTIES C_VISIBILITY_PRESET hidden + PUBLIC_HEADER "src/ed25519.h") + +install( + TARGETS "${PROJECT_NAME}" + EXPORT "unofficial-${PROJECT_NAME}Config" + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" + PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" +) + +include(CMakePackageConfigHelpers) +set(VERSION_FILE_PATH "${CMAKE_CURRENT_BINARY_DIR}/unofficial-${PROJECT_NAME}ConfigVersion.cmake") +write_basic_package_version_file( + "${VERSION_FILE_PATH}" + VERSION "${PROJECT_VERSION}" + COMPATIBILITY SameMajorVersion +) +install(FILES "${VERSION_FILE_PATH}" DESTINATION "share/unofficial-${PROJECT_NAME}") +install(FILES "src/ed25519.h" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") + +install( + EXPORT "unofficial-${PROJECT_NAME}Config" + FILE "unofficial-${PROJECT_NAME}Config.cmake" + NAMESPACE "unofficial::${PROJECT_NAME}::" + DESTINATION "share/unofficial-${PROJECT_NAME}") + +export(PACKAGE "${PROJECT_NAME}") diff --git a/ports/ed25519/portfile.cmake b/ports/ed25519/portfile.cmake new file mode 100644 index 00000000000000..ceedd295890c00 --- /dev/null +++ b/ports/ed25519/portfile.cmake @@ -0,0 +1,30 @@ +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO orlp/${PORT} + REF b1f19fab4aebe607805620d25a5e42566ce46a0e + SHA512 fcbeba58591543304dd93ae7c1b62a720d89c80c4c07c323eabb6e1f41b93562660181973bda345976e5361e925f243ba9abaec19fc8a05235011957367c6e7e + HEAD_REF master +) + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" + DESTINATION "${SOURCE_PATH}") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + "-DVERSION=${VERSION}" +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-${PORT}) + +file(WRITE "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" "Zlib") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/ed25519/usage b/ports/ed25519/usage new file mode 100644 index 00000000000000..5d26eedb21b354 --- /dev/null +++ b/ports/ed25519/usage @@ -0,0 +1,3 @@ +ed25519 provides CMake targets: + find_package(unofficial-ed25519 CONFIG REQUIRED) + target_link_libraries(main PRIVATE unofficial::ed25519::ed25519) diff --git a/ports/ed25519/vcpkg.json b/ports/ed25519/vcpkg.json new file mode 100644 index 00000000000000..512f007606b57c --- /dev/null +++ b/ports/ed25519/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "ed25519", + "version-date": "2017-02-10", + "port-version": 1, + "description": "Portable C implementation of Ed25519, a high-speed high-security public-key signature system.", + "homepage": "https://github.com/orlp/ed25519", + "license": "Zlib", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/edflib/portfile.cmake b/ports/edflib/portfile.cmake index ec397bedecadbd..6b4b80c7834048 100644 --- a/ports/edflib/portfile.cmake +++ b/ports/edflib/portfile.cmake @@ -3,7 +3,7 @@ vcpkg_from_gitlab( OUT_SOURCE_PATH SOURCE_PATH REPO Teuniz/EDFlib REF "v${VERSION}" - SHA512 3994d108efa45f49c4b9b68e6cfd10997b0c379631c1096dad7dd637cabe69c946d02e4204883308439ee5c9fe2382fc2f533ea14fe36bbbe6cedbaf04736b67 + SHA512 ad5f9be5a10d0e83a80242cdb088db8ae697ee6e723a7c5459cef95b5eba16c54d8bc2493b66d5114a8d1782505b2d2c63c9a5ce96c09dcca89489cd43fa6012 HEAD_REF master ) @@ -46,4 +46,4 @@ if ("tools" IN_LIST FEATURES) ) endif() -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/edflib/vcpkg.json b/ports/edflib/vcpkg.json index 1b9b16be36e8e8..40bbe06815e008 100644 --- a/ports/edflib/vcpkg.json +++ b/ports/edflib/vcpkg.json @@ -1,6 +1,6 @@ { "name": "edflib", - "version": "1.24", + "version": "1.27", "description": "A C library to read/write EDF/EDF+/BDF/BDF+ files", "homepage": "https://www.teuniz.net/edflib/", "license": "BSD-3-Clause", diff --git a/ports/efsw/portfile.cmake b/ports/efsw/portfile.cmake index 038adc292f8387..f67443b5b25300 100644 --- a/ports/efsw/portfile.cmake +++ b/ports/efsw/portfile.cmake @@ -2,15 +2,21 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO SpartanJ/efsw REF "${VERSION}" - SHA512 f9503a17ff5b6bdb4770b24c69f8015689ee3bc589428696437d887510e0ab38fddd85cc8e75b6f256d2a6362911ded1cb6a37ab33bd38de51bd779dbdbc8321 + SHA512 45194f7b327ac209cc3c7cb5564b90d4fadf1ab8334425bd6452800a939e5d0bcaf54ac9c26a9a3ca4c01138cb63b8de556d3117ba0bb59875557c2d635e367e HEAD_REF master ) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" EFSW_BUILD_SHARED_LIB) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" EFSW_BUILD_STATIC_LIB) + +# efsw CMakeLists sets up two targets "efsw" and "efsw-static" where the former is static or shared depending on BUILD_SHARED_LIBS and the latter is always static vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} OPTIONS -DVERBOSE=OFF -DBUILD_TEST_APP=OFF + -DBUILD_SHARED_LIBS=${EFSW_BUILD_SHARED_LIB} + -DBUILD_STATIC_LIBS=0 ) vcpkg_cmake_install() diff --git a/ports/efsw/vcpkg.json b/ports/efsw/vcpkg.json index e3f8aaee127509..451b1f0e00e481 100644 --- a/ports/efsw/vcpkg.json +++ b/ports/efsw/vcpkg.json @@ -1,6 +1,6 @@ { "name": "efsw", - "version": "1.3.1", + "version": "1.4.1", "description": "efsw is a C++ cross-platform file system watcher and notifier.", "homepage": "https://github.com/SpartanJ/efsw", "license": "MIT", diff --git a/ports/egl-registry/copyright b/ports/egl-registry/copyright new file mode 100644 index 00000000000000..8db79b8e29ca3b --- /dev/null +++ b/ports/egl-registry/copyright @@ -0,0 +1,28 @@ +## include/KHR/khrplatform.h + +Copyright (c) 2008-2018 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and/or associated documentation files (the +"Materials"), to deal in the Materials without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Materials, and to +permit persons to whom the Materials are furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Materials. + +THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. + +## include/EGL/* +## share/opengl/egl.xml + +Copyright 2013-2020 The Khronos Group Inc. +SPDX-License-Identifier: Apache-2.0 diff --git a/ports/egl-registry/portfile.cmake b/ports/egl-registry/portfile.cmake index b5f66e6bc6675a..7586c67f33f572 100644 --- a/ports/egl-registry/portfile.cmake +++ b/ports/egl-registry/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KhronosGroup/EGL-Registry - REF af97e2c27b49a090a335fc6ed5040c780ad9fec8 - SHA512 89f29608702cb85c5280a7d86ef2cd1c77ed746d4a2577ea143767828ea41ef28cf038d2d86fe1eccc03db08ad27258cb04dadb92233ed9acc10548d93537a80 + REF 7db3005d4c2cb439f129a0adc931f3274f9019e6 + SHA512 474d7a4d614efed18151e0ff18840aaa8349ec0b01ec3cc4e6ff3f60fdb918e0b8c68dbb13e09dc5e7b081a9eb637b008b48b1a4be537d360f9a6d247b7b8802 HEAD_REF master ) @@ -19,9 +19,4 @@ file( DESTINATION "${CURRENT_PACKAGES_DIR}/share/opengl" ) -file( - INSTALL "${SOURCE_PATH}/sdk/docs/man/copyright.xml" - DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" - RENAME copyright -) - +vcpkg_install_copyright(FILE_LIST "${CURRENT_PORT_DIR}/copyright") diff --git a/ports/egl-registry/vcpkg.json b/ports/egl-registry/vcpkg.json index b72250480dd206..2c4f8b3d4c608c 100644 --- a/ports/egl-registry/vcpkg.json +++ b/ports/egl-registry/vcpkg.json @@ -1,6 +1,6 @@ { "name": "egl-registry", - "version-date": "2022-09-20", - "description": "the EGL API and Extension Registry", + "version-date": "2024-01-25", + "description": "EGL API and Extension Registry", "homepage": "https://github.com/KhronosGroup/EGL-Registry" } diff --git a/ports/eigen3/portfile.cmake b/ports/eigen3/portfile.cmake index d6725d44a06a2d..52f0a72f7e62fd 100644 --- a/ports/eigen3/portfile.cmake +++ b/ports/eigen3/portfile.cmake @@ -1,37 +1,43 @@ vcpkg_buildpath_length_warning(37) +block(SCOPE_FOR VARIABLES PROPAGATE SOURCE_PATH) +set(VCPKG_BUILD_TYPE release) # header-only + vcpkg_from_gitlab( GITLAB_URL https://gitlab.com OUT_SOURCE_PATH SOURCE_PATH REPO libeigen/eigen - REF 3.4.0 + REF "${VERSION}" SHA512 ba75ecb760e32acf4ceaf27115468e65d4f77c44f8d519b5a13e7940af2c03a304ad433368cb6d55431f307c5c39e2666ab41d34442db3cf441638e51f5c3b6a HEAD_REF master PATCHES remove_configure_checks.patch # This removes unnecessary configure checks. Eigen3 just installs headers not anything more. fix-vectorized-reductions-half.patch # Remove this patch in the next update + update-warning-suppression-to-latest.patch ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_TESTING=OFF + -DEIGEN_BUILD_DOC=OFF -DEIGEN_BUILD_PKGCONFIG=ON - OPTIONS_RELEASE - -DCMAKEPACKAGE_INSTALL_DIR=${CURRENT_PACKAGES_DIR}/share/eigen3 - -DPKGCONFIG_INSTALL_DIR=${CURRENT_PACKAGES_DIR}/lib/pkgconfig - OPTIONS_DEBUG - -DCMAKEPACKAGE_INSTALL_DIR=${CURRENT_PACKAGES_DIR}/debug/share/eigen3 - -DPKGCONFIG_INSTALL_DIR=${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig + "-DCMAKEPACKAGE_INSTALL_DIR=${CURRENT_PACKAGES_DIR}/share/eigen3" + "-DPKGCONFIG_INSTALL_DIR=${CURRENT_PACKAGES_DIR}/lib/pkgconfig" ) vcpkg_cmake_install() vcpkg_cmake_config_fixup() +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/eigen3/Eigen3Config.cmake" "if (NOT TARGET eigen)" "if (NOT TARGET Eigen3::Eigen)") +endblock() + +if(NOT VCPKG_BUILD_TYPE) + file(INSTALL "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/eigen3.pc" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") +endif() vcpkg_fixup_pkgconfig() file(GLOB INCLUDES "${CURRENT_PACKAGES_DIR}/include/eigen3/*") # Copy the eigen header files to conventional location for user-wide MSBuild integration file(COPY ${INCLUDES} DESTINATION "${CURRENT_PACKAGES_DIR}/include") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") -file(INSTALL "${SOURCE_PATH}/COPYING.README" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) \ No newline at end of file +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING.README") diff --git a/ports/eigen3/remove_configure_checks.patch b/ports/eigen3/remove_configure_checks.patch index 3e434a40521ccc..c5e30c7e7597cc 100644 --- a/ports/eigen3/remove_configure_checks.patch +++ b/ports/eigen3/remove_configure_checks.patch @@ -1,37 +1,48 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index f3e69b845..12fb2188d 100644 +index f3e69b8..f32ffee 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -66,12 +66,14 @@ option(EIGEN_TEST_CXX11 "Enable testing with C++11 and C++11 features (e.g. Tens +@@ -59,6 +59,7 @@ include(CheckCXXCompilerFlag) + include(GNUInstallDirs) + include(CMakeDependentOption) ++if(0) + set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) - macro(ei_add_cxx_compiler_flag FLAG) -+ if(FALSE) # Since eigen3 is header only and vcpkg does not build tests this can be disabled by default. - string(REGEX REPLACE "-" "" SFLAG1 ${FLAG}) - string(REGEX REPLACE "\\+" "p" SFLAG ${SFLAG1}) - check_cxx_compiler_flag(${FLAG} COMPILER_SUPPORT_${SFLAG}) - if(COMPILER_SUPPORT_${SFLAG}) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${FLAG}") - endif() -+ endif() - endmacro() - check_cxx_compiler_flag("-std=c++11" EIGEN_COMPILER_SUPPORT_CPP11) -@@ -142,7 +144,7 @@ endif() +@@ -419,6 +420,7 @@ endif() + set(EIGEN_CUDA_COMPUTE_ARCH 30 CACHE STRING "The CUDA compute architecture level to target when compiling CUDA code") - set(EIGEN_TEST_MAX_SIZE "320" CACHE STRING "Maximal matrix/vector size, default is 320") + include_directories(${CMAKE_CURRENT_SOURCE_DIR}) ++endif() --if(NOT MSVC) -+if(NOT MSVC AND FALSE) - # We assume that other compilers are partly compatible with GNUCC + # Backward compatibility support for EIGEN_INCLUDE_INSTALL_DIR + if(EIGEN_INCLUDE_INSTALL_DIR) +@@ -495,6 +497,7 @@ if(BUILD_TESTING) + add_subdirectory(failtest) + endif() - # clang outputs some warnings for unknown flags that are not caught by check_cxx_compiler_flag -@@ -330,7 +332,7 @@ if(NOT MSVC) - endif() ++if(0) + if(EIGEN_LEAVE_TEST_IN_ALL_TARGET) + add_subdirectory(blas) + add_subdirectory(lapack) +@@ -532,9 +535,11 @@ if(EIGEN_TEST_SYCL) + add_definitions(-DEIGEN_DONT_VECTORIZE_SYCL=1) endif() + endif() ++endif() + + add_subdirectory(unsupported) + ++if(0) + add_subdirectory(demos EXCLUDE_FROM_ALL) --else() -+elseif(FALSE) + # must be after test and unsupported, for configuring buildtests.in +@@ -554,6 +559,7 @@ configure_file(scripts/cdashtesting.cmake.in cdashtesting.cmake @ONLY) + if(BUILD_TESTING) + ei_testing_print_summary() + endif() ++endif() - # C4127 - conditional expression is constant - # C4714 - marked as __forceinline not inlined (I failed to deactivate it selectively) + message(STATUS "") + message(STATUS "Configured Eigen ${EIGEN_VERSION_NUMBER}") diff --git a/ports/eigen3/update-warning-suppression-to-latest.patch b/ports/eigen3/update-warning-suppression-to-latest.patch new file mode 100644 index 00000000000000..8750e11cc37192 --- /dev/null +++ b/ports/eigen3/update-warning-suppression-to-latest.patch @@ -0,0 +1,140 @@ +From 193e24dca1338ad692a65c47c90eb3fb3f342a0c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Antonio=20S=C3=A1nchez?= +Date: Mon, 21 Mar 2022 15:56:03 +0000 +Subject: [PATCH] Update warning suppression to latest. + +--- + Eigen/src/Core/util/DisableStupidWarnings.h | 91 ++++++++++++++------- + 1 file changed, 61 insertions(+), 30 deletions(-) + mode change 100755 => 100644 Eigen/src/Core/util/DisableStupidWarnings.h + +diff --git a/Eigen/src/Core/util/DisableStupidWarnings.h b/Eigen/src/Core/util/DisableStupidWarnings.h +old mode 100755 +new mode 100644 +index fe0cfec0b..75056592d +--- a/Eigen/src/Core/util/DisableStupidWarnings.h ++++ b/Eigen/src/Core/util/DisableStupidWarnings.h +@@ -1,7 +1,7 @@ + #ifndef EIGEN_WARNINGS_DISABLED + #define EIGEN_WARNINGS_DISABLED + +-#ifdef _MSC_VER ++#if defined(_MSC_VER) + // 4100 - unreferenced formal parameter (occurred e.g. in aligned_allocator::destroy(pointer p)) + // 4101 - unreferenced local variable + // 4181 - qualifier applied to reference type ignored +@@ -35,25 +35,28 @@ + #pragma warning disable 2196 279 1684 2259 + + #elif defined __clang__ +- // -Wconstant-logical-operand - warning: use of logical && with constant operand; switch to bitwise & or remove constant +- // this is really a stupid warning as it warns on compile-time expressions involving enums + #ifndef EIGEN_PERMANENTLY_DISABLE_STUPID_WARNINGS + #pragma clang diagnostic push + #endif +- #pragma clang diagnostic ignored "-Wconstant-logical-operand" +- #if __clang_major__ >= 3 && __clang_minor__ >= 5 +- #pragma clang diagnostic ignored "-Wabsolute-value" +- #endif +- #if __clang_major__ >= 10 +- #pragma clang diagnostic ignored "-Wimplicit-int-float-conversion" +- #endif +- #if ( defined(__ALTIVEC__) || defined(__VSX__) ) && __cplusplus < 201103L +- // warning: generic selections are a C11-specific feature +- // ignoring warnings thrown at vec_ctf in Altivec/PacketMath.h +- #pragma clang diagnostic ignored "-Wc11-extensions" ++ #if defined(__has_warning) ++ // -Wconstant-logical-operand - warning: use of logical && with constant operand; switch to bitwise & or remove constant ++ // this is really a stupid warning as it warns on compile-time expressions involving enums ++ #if __has_warning("-Wconstant-logical-operand") ++ #pragma clang diagnostic ignored "-Wconstant-logical-operand" ++ #endif ++ #if __has_warning("-Wimplicit-int-float-conversion") ++ #pragma clang diagnostic ignored "-Wimplicit-int-float-conversion" ++ #endif ++ #if ( defined(__ALTIVEC__) || defined(__VSX__) ) && __cplusplus < 201103L ++ // warning: generic selections are a C11-specific feature ++ // ignoring warnings thrown at vec_ctf in Altivec/PacketMath.h ++ #if __has_warning("-Wc11-extensions") ++ #pragma clang diagnostic ignored "-Wc11-extensions" ++ #endif ++ #endif + #endif + +-#elif defined __GNUC__ ++#elif defined __GNUC__ && !defined(__FUJITSU) + + #if (!defined(EIGEN_PERMANENTLY_DISABLE_STUPID_WARNINGS)) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) + #pragma GCC diagnostic push +@@ -74,25 +77,53 @@ + #endif + + #if defined __NVCC__ +- #pragma diag_suppress boolean_controlling_expr_is_constant ++ // MSVC 14.16 (required by CUDA 9.*) does not support the _Pragma keyword, so ++ // we instead use Microsoft's __pragma extension. ++ #if defined _MSC_VER ++ #define EIGEN_MAKE_PRAGMA(X) __pragma(#X) ++ #else ++ #define EIGEN_MAKE_PRAGMA(X) _Pragma(#X) ++ #endif ++ #if defined __NVCC_DIAG_PRAGMA_SUPPORT__ ++ #define EIGEN_NV_DIAG_SUPPRESS(X) EIGEN_MAKE_PRAGMA(nv_diag_suppress X) ++ #else ++ #define EIGEN_NV_DIAG_SUPPRESS(X) EIGEN_MAKE_PRAGMA(diag_suppress X) ++ #endif ++ ++ EIGEN_NV_DIAG_SUPPRESS(boolean_controlling_expr_is_constant) + // Disable the "statement is unreachable" message +- #pragma diag_suppress code_is_unreachable ++ EIGEN_NV_DIAG_SUPPRESS(code_is_unreachable) + // Disable the "dynamic initialization in unreachable code" message +- #pragma diag_suppress initialization_not_reachable ++ EIGEN_NV_DIAG_SUPPRESS(initialization_not_reachable) + // Disable the "invalid error number" message that we get with older versions of nvcc +- #pragma diag_suppress 1222 ++ EIGEN_NV_DIAG_SUPPRESS(1222) + // Disable the "calling a __host__ function from a __host__ __device__ function is not allowed" messages (yes, there are many of them and they seem to change with every version of the compiler) +- #pragma diag_suppress 2527 +- #pragma diag_suppress 2529 +- #pragma diag_suppress 2651 +- #pragma diag_suppress 2653 +- #pragma diag_suppress 2668 +- #pragma diag_suppress 2669 +- #pragma diag_suppress 2670 +- #pragma diag_suppress 2671 +- #pragma diag_suppress 2735 +- #pragma diag_suppress 2737 +- #pragma diag_suppress 2739 ++ EIGEN_NV_DIAG_SUPPRESS(2527) ++ EIGEN_NV_DIAG_SUPPRESS(2529) ++ EIGEN_NV_DIAG_SUPPRESS(2651) ++ EIGEN_NV_DIAG_SUPPRESS(2653) ++ EIGEN_NV_DIAG_SUPPRESS(2668) ++ EIGEN_NV_DIAG_SUPPRESS(2669) ++ EIGEN_NV_DIAG_SUPPRESS(2670) ++ EIGEN_NV_DIAG_SUPPRESS(2671) ++ EIGEN_NV_DIAG_SUPPRESS(2735) ++ EIGEN_NV_DIAG_SUPPRESS(2737) ++ EIGEN_NV_DIAG_SUPPRESS(2739) ++ EIGEN_NV_DIAG_SUPPRESS(2885) ++ EIGEN_NV_DIAG_SUPPRESS(2888) ++ EIGEN_NV_DIAG_SUPPRESS(2976) ++ EIGEN_NV_DIAG_SUPPRESS(2979) ++ EIGEN_NV_DIAG_SUPPRESS(20011) ++ EIGEN_NV_DIAG_SUPPRESS(20014) ++ // Disable the "// __device__ annotation is ignored on a function(...) that is ++ // explicitly defaulted on its first declaration" message. ++ // The __device__ annotation seems to actually be needed in some cases, ++ // otherwise resulting in kernel runtime errors. ++ EIGEN_NV_DIAG_SUPPRESS(2886) ++ EIGEN_NV_DIAG_SUPPRESS(2977) ++ EIGEN_NV_DIAG_SUPPRESS(20012) ++ #undef EIGEN_NV_DIAG_SUPPRESS ++ #undef EIGEN_MAKE_PRAGMA + #endif + + #else +-- +2.37.0.windows.1 + diff --git a/ports/eigen3/vcpkg.json b/ports/eigen3/vcpkg.json index 30bf5aa3e13680..86fef988ab3e97 100644 --- a/ports/eigen3/vcpkg.json +++ b/ports/eigen3/vcpkg.json @@ -1,7 +1,7 @@ { "name": "eigen3", "version": "3.4.0", - "port-version": 2, + "port-version": 5, "description": "C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.", "homepage": "http://eigen.tuxfamily.org", "license": "MPL-2.0", diff --git a/ports/elements/asio-headers.patch b/ports/elements/asio-headers.patch deleted file mode 100644 index 9e42dff7f4880c..00000000000000 --- a/ports/elements/asio-headers.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt -index e8179fbe..29b420c7 100644 ---- a/lib/CMakeLists.txt -+++ b/lib/CMakeLists.txt -@@ -288,7 +288,8 @@ endif() - - ############################################################################### - # Asio headers --target_include_directories(elements PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/external/asio/asio/include) -+find_path(ASIO_INCLUDE_DIR asio.hpp) -+target_include_directories(elements PUBLIC ${ASIO_INCLUDE_DIR}) - - ############################################################################### - # Global options diff --git a/ports/elements/fix-dependencies.patch b/ports/elements/fix-dependencies.patch new file mode 100644 index 00000000000000..81fda9946fa5c4 --- /dev/null +++ b/ports/elements/fix-dependencies.patch @@ -0,0 +1,38 @@ +diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt +index e84ca98..7a06ed2 100644 +--- a/lib/CMakeLists.txt ++++ b/lib/CMakeLists.txt +@@ -226,14 +226,7 @@ endif() + ############################################################################### + # Cycfi Infra + +-FetchContent_Declare( +- cycfi_infra +- GIT_REPOSITORY https://github.com/cycfi/infra.git +- GIT_TAG master +- GIT_SUBMODULES_RECURSE ON +-) +- +-FetchContent_MakeAvailable(cycfi_infra) ++add_subdirectory(infra) + target_link_libraries(elements PUBLIC cycfi::infra) + + ############################################################################### +@@ -272,15 +265,8 @@ endif() + ############################################################################### + # Asio headers + +-FetchContent_Declare( +- asio +- GIT_REPOSITORY https://github.com/chriskohlhoff/asio.git +- GIT_TAG asio-1-29-0 +- GIT_SHALLOW TRUE +-) +-FetchContent_MakeAvailable(asio) +- +-target_include_directories(elements PUBLIC ${asio_SOURCE_DIR}/asio/include) ++find_package(asio CONFIG REQUIRED) ++target_include_directories(elements PUBLIC ${ASIO_INCLUDE_DIR}) + + ############################################################################### + # Global options diff --git a/ports/elements/portfile.cmake b/ports/elements/portfile.cmake index 54877e3d7e65f0..b1291a3ec76d19 100644 --- a/ports/elements/portfile.cmake +++ b/ports/elements/portfile.cmake @@ -1,23 +1,20 @@ -if(VCPKG_TARGET_IS_WINDOWS) - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -endif() +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO cycfi/elements - REF e2c891bb37b506e3281b902fc0fcc75a5577e476 - SHA512 3f54c3dcf3fab17eca6a6105f0e77a28a1b77d6354dac12c373c7da84d280abdc8d5bcbe9c42bbc3e38284acbfeb57392ef2538ef7118dd5c34cae29a4e88855 + REF 663dcdb82dffa9e70cf6643b50ed56a39c8015ed + SHA512 4fc579df6dd471c69996a991e4b2c4c204e7f02d1d247de7a962fcd97d472cb63b58faa2ab7a0cfb47cc004a03483d4ef9123cbd8f562ba7007d779ba03221ca HEAD_REF master PATCHES - asio-headers.patch - win-find-libraries.patch + fix-dependencies.patch ) vcpkg_from_github( OUT_SOURCE_PATH INFRA_SOURCE_PATH REPO cycfi/infra - REF 6bc1cc62e3d0a31f92506a577beca3b400b54544 - SHA512 ceb5acb36210b4fcf4ef3931e718ae1cb09941cc61caab1d20d09003bae2b20fda092e4b1af1bb58444de75f73c04d0651eb5126a87dab7ce14a1b914bccec27 + REF 965ecdb953c8c1187b327cff12655f9a92352acc + SHA512 37d990ec70aa37dded3d464cadc28cedd320986ea5816669698de43376bb77d0f32951f0f8a03af65a472a46886ddf628e7acfd0314dd5ebfa49a3e98984054f HEAD_REF master ) if(NOT EXISTS "${SOURCE_PATH}/lib/infra/CMakeLists.txt") @@ -34,11 +31,14 @@ else() set(ELEMENTS_HOST_UI_LIBRARY "gtk") endif() +vcpkg_find_acquire_program(PKGCONFIG) + vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} OPTIONS -DELEMENTS_BUILD_EXAMPLES=OFF -DELEMENTS_HOST_UI_LIBRARY=${ELEMENTS_HOST_UI_LIBRARY} + "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" ) vcpkg_cmake_build() diff --git a/ports/elements/vcpkg.json b/ports/elements/vcpkg.json index e497752df6abd6..74d35b9ef6431a 100644 --- a/ports/elements/vcpkg.json +++ b/ports/elements/vcpkg.json @@ -1,16 +1,20 @@ { "name": "elements", - "version-date": "2022-12-07", + "version-date": "2024-09-12", "description": "Elements is a lightweight, fine-grained, resolution independent, modular GUI library.", "homepage": "https://cycfi.github.io/elements", "license": "MIT", + "supports": "(windows & staticcrt) | osx | linux", "dependencies": [ "asio", "cairo", + "fontconfig", + "freetype", { "name": "gtk3", - "platform": "linux" + "platform": "!osx & !windows" }, + "libwebp", { "name": "vcpkg-cmake", "host": true diff --git a/ports/elements/win-find-libraries.patch b/ports/elements/win-find-libraries.patch deleted file mode 100644 index 18ea4fc0a09e55..00000000000000 --- a/ports/elements/win-find-libraries.patch +++ /dev/null @@ -1,56 +0,0 @@ -diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt -index e8179fbe..f3ac5ddf 100644 ---- a/lib/CMakeLists.txt -+++ b/lib/CMakeLists.txt -@@ -215,13 +215,13 @@ endif() - # Cairo - - if (MSVC) -- target_include_directories(elements PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/external/cairo/include) -+ find_path(Cairo_INCLUDE_DIR cairo/cairo.h) -+ list(APPEND Cairo_INCLUDE_DIRS ${Cairo_INCLUDE_DIR}) -+ list(APPEND Cairo_INCLUDE_DIRS ${Cairo_INCLUDE_DIR}/cairo) -+ target_include_directories(elements PUBLIC ${Cairo_INCLUDE_DIRS}) - -- if(CMAKE_SIZEOF_VOID_P EQUAL 8) -- target_link_libraries(elements PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/external/cairo/lib/x64/cairo.lib) -- else() -- target_link_libraries(elements PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/external/cairo/lib/x86/cairo.lib) -- endif() -+ find_library(Cairo_LIBRARY cairo) -+ target_link_libraries(elements PUBLIC ${Cairo_LIBRARY}) - elseif (APPLE) - # TODO: add a min version specifiction - pkg_check_modules(cairo REQUIRED IMPORTED_TARGET cairo) -@@ -240,13 +240,8 @@ endif() - # Fontconfig - - if (MSVC) -- target_include_directories(elements PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/external/fontconfig/include) -- -- if(CMAKE_SIZEOF_VOID_P EQUAL 8) -- target_link_libraries(elements PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/external/fontconfig/x64/fontconfig.lib) -- else() -- target_link_libraries(elements PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/external/fontconfig/x86/fontconfig.lib) -- endif() -+ find_package(Fontconfig REQUIRED) -+ target_link_libraries(elements PUBLIC Fontconfig::Fontconfig) - elseif (APPLE) - pkg_check_modules(fontconfig REQUIRED IMPORTED_TARGET fontconfig) - target_include_directories(elements PUBLIC ${fontconfig_INCLUDE_DIRS}) -@@ -261,13 +256,8 @@ endif() - # Freetype - - if (MSVC) -- target_include_directories(elements PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/external/freetype/include) -- -- if(CMAKE_SIZEOF_VOID_P EQUAL 8) -- target_link_libraries(elements PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/external/freetype/win64/freetype.lib) -- else() -- target_link_libraries(elements PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/external/freetype/win32/freetype.lib) -- endif() -+ find_package(Freetype REQUIRED) -+ target_link_libraries(elements PUBLIC Freetype::Freetype) - elseif (APPLE) - pkg_check_modules(freetype2 REQUIRED IMPORTED_TARGET freetype2) - target_include_directories(elements PUBLIC ${freetype2_INCLUDE_DIRS}) diff --git a/ports/elfutils/configure.ac.patch b/ports/elfutils/configure.ac.patch deleted file mode 100644 index bd750407de7055..00000000000000 --- a/ports/elfutils/configure.ac.patch +++ /dev/null @@ -1,47 +0,0 @@ -diff --git a/src/Makefile.am b/src/Makefile.am -index e462e7d7a..7f68d0348 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -41,8 +41,8 @@ CLEANFILES += make-debug-archive - - if BUILD_STATIC - libasm = ../libasm/libasm.a --libdw = ../libdw/libdw.a -lz $(zip_LIBS) $(libelf) -ldl -lpthread --libelf = ../libelf/libelf.a -lz -+libdw = ../libdw/libdw.a $(zip_LIBS) $(libelf) -ldl -lpthread -+libelf = ../libelf/libelf.a $(zip_LIBS) - else - libasm = ../libasm/libasm.so - libdw = ../libdw/libdw.so -diff --git a/configure.ac b/configure.ac -index 5a2dc373e..b1928831e 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -383,7 +383,7 @@ AM_CONDITIONAL(TESTS_RPATH, test "$tests_use_rpath" = yes) - dnl zlib is mandatory. - save_LIBS="$LIBS" - LIBS= --eu_ZIPLIB(zlib,ZLIB,z,gzdirect,gzip) -+eu_ZIPLIB(zlib,ZLIB,[z zlib zlibd],gzdirect,gzip) - AS_IF([test "x$with_zlib" = xno], [AC_MSG_ERROR([zlib not found but is required])]) - LIBS="$save_LIBS" - -@@ -391,13 +391,13 @@ dnl Test for bzlib and xz/lzma, gives BZLIB/LZMALIB .am - dnl conditional and config.h USE_BZLIB/USE_LZMALIB/USE_ZSTD #define. - save_LIBS="$LIBS" - LIBS= --eu_ZIPLIB(bzlib,BZLIB,bz2,BZ2_bzdopen,bzip2) -+eu_ZIPLIB(bzlib,BZLIB,[bz2 bz2d],BZ2_bzdopen,bzip2) - # We need this since bzip2 doesn't have a pkgconfig file. - BZ2_LIB="$LIBS" - AC_SUBST([BZ2_LIB]) - eu_ZIPLIB(lzma,LZMA,lzma,lzma_auto_decoder,[LZMA (xz)]) - AS_IF([test "x$with_lzma" = xyes], [LIBLZMA="liblzma"], [LIBLZMA=""]) - AC_SUBST([LIBLZMA]) - eu_ZIPLIB(zstd,ZSTD,zstd,ZSTD_decompress,[ZSTD (zst)]) - AS_IF([test "x$with_zstd" = xyes], [LIBZSTD="libzstd"], [LIBLZSTD=""]) - AC_SUBST([LIBZSTD]) --zip_LIBS="$LIBS" -+zip_LIBS="$LIBS $ac_cv_search_lzma_auto_decoder $ac_cv_search_BZ2_bzdopen $ac_cv_search_gzdirect $ac_cv_search_ZSTD_decompress" - LIBS="$save_LIBS" - AC_SUBST([zip_LIBS]) diff --git a/ports/elfutils/disable-werror.diff b/ports/elfutils/disable-werror.diff new file mode 100644 index 00000000000000..be6a77fa4053f9 --- /dev/null +++ b/ports/elfutils/disable-werror.diff @@ -0,0 +1,20 @@ +diff --git a/config/eu.am b/config/eu.am +index e6c241f..4136e7c 100644 +--- a/config/eu.am ++++ b/config/eu.am +@@ -99,7 +99,6 @@ AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Wformat=2 \ + $(LOGICAL_OP_WARNING) $(DUPLICATED_COND_WARNING) \ + $(NULL_DEREFERENCE_WARNING) $(IMPLICIT_FALLTHROUGH_WARNING) \ + $(USE_AFTER_FREE3_WARNING) \ +- $(if $($(*F)_no_Werror),,-Werror) \ + $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \ + $(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \ + $(if $($(*F)_no_Wpacked_not_aligned),$(NO_PACKED_NOT_ALIGNED_WARNING),) \ +@@ -109,7 +108,6 @@ AM_CXXFLAGS = -std=c++11 -Wall -Wshadow \ + $(TRAMPOLINES_WARNING) \ + $(LOGICAL_OP_WARNING) $(DUPLICATED_COND_WARNING) \ + $(NULL_DEREFERENCE_WARNING) $(IMPLICIT_FALLTHROUGH_WARNING) \ +- $(if $($(*F)_no_Werror),,-Werror) \ + $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \ + $(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \ + $(if $($(*F)_no_Wpacked_not_aligned),$(NO_PACKED_NOT_ALIGNED_WARNING),) \ diff --git a/ports/elfutils/link-libs.diff b/ports/elfutils/link-libs.diff new file mode 100644 index 00000000000000..e74f88a696e341 --- /dev/null +++ b/ports/elfutils/link-libs.diff @@ -0,0 +1,102 @@ +diff --git a/config/libdw.pc.in b/config/libdw.pc.in +index 2e83a43..bdfc808 100644 +--- a/config/libdw.pc.in ++++ b/config/libdw.pc.in +@@ -18,5 +18,4 @@ Requires: libelf = @VERSION@ + # We support various compressed ELF images, but don't export any of the + # data structures or functions. zlib (gz) is always required, bzip2 (bz2) + # lzma (xz) and zstd () are optional. But bzip2 doesn't have a pkg-config file. +-Requires.private: zlib @LIBLZMA@ @LIBZSTD@ +-Libs.private: @BZ2_LIB@ ++Requires.private: zlib @LIBLZMA@ @LIBZSTD@ bzip2 +diff --git a/configure.ac b/configure.ac +index f191488..fe617ac 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -429,6 +429,8 @@ AM_CONDITIONAL(TESTS_RPATH, test "$tests_use_rpath" = yes) + dnl zlib is mandatory. + save_LIBS="$LIBS" + LIBS= ++PKG_PROG_PKG_CONFIG ++PKG_CHECK_MODULES([ZLIB], [zlib], [LIBS="$ZLIB_LIBS $LIBS"], AC_MSG_ERROR([zlib not found])) + eu_ZIPLIB(zlib,ZLIB,z,gzdirect,gzip) + AS_IF([test "x$with_zlib" = xno], [AC_MSG_ERROR([zlib not found but is required])]) + LIBS="$save_LIBS" +@@ -437,18 +439,21 @@ dnl Test for bzlib and xz/lzma/zstd, gives BZLIB/LZMALIB/ZSTD .am + dnl conditional and config.h USE_BZLIB/USE_LZMALIB/USE_ZSTD #define. + save_LIBS="$LIBS" + LIBS= ++PKG_CHECK_MODULES([BZLIB], [bzip2], [LIBS="$BZLIB_LIBS $LIBS"], AC_MSG_ERROR([bzip2 not found])) + eu_ZIPLIB(bzlib,BZLIB,bz2,BZ2_bzdopen,bzip2) + # We need this since bzip2 doesn't have a pkgconfig file. + BZ2_LIB="$LIBS" + AC_SUBST([BZ2_LIB]) + save_LIBS="$LIBS" + LIBS= ++PKG_CHECK_MODULES([LZMA], [liblzma], [LIBS="$LZMA_LIBS $LIBS"], AC_MSG_ERROR([liblzma not found])) + eu_ZIPLIB(lzma,LZMA,lzma,lzma_auto_decoder,[LZMA (xz)]) + lzma_LIBS="$LIBS" + LIBS="$lzma_LIBS $save_LIBS" + AS_IF([test "x$with_lzma" = xyes], [LIBLZMA="liblzma"], [LIBLZMA=""]) + AC_SUBST([lzma_LIBS]) + AC_SUBST([LIBLZMA]) ++PKG_CHECK_MODULES([ZSTD], [libzstd], [LIBS="$ZSTDLIBS $LIBS"], AC_MSG_ERROR([libzstd not found])) + eu_ZIPLIB(zstd,ZSTD,zstd,ZSTD_decompress,[ZSTD (zst)]) + AS_IF([test "x$with_zstd" = xyes], [LIBZSTD="libzstd"], [LIBLZSTD=""]) + AC_SUBST([LIBZSTD]) +diff --git a/debuginfod/Makefile.am b/debuginfod/Makefile.am +index 0a129fa..b90ed23 100644 +--- a/debuginfod/Makefile.am ++++ b/debuginfod/Makefile.am +@@ -42,8 +42,8 @@ program_transform_name = s,x,x, + + if BUILD_STATIC + libasm = ../libasm/libasm.a +-libdw = ../libdw/libdw.a -lz $(zip_LIBS) $(libelf) $(libebl) -ldl -lpthread +-libelf = ../libelf/libelf.a -lz ++libdw = ../libdw/libdw.a $(ZLIB_LIBS) $(zip_LIBS) $(libelf) $(libebl) -ldl -lpthread ++libelf = ../libelf/libelf.a $(ZLIB_LIBS) $(zip_LIBS) + if DUMMY_LIBDEBUGINFOD + libdebuginfod = ./libdebuginfod.a + else +diff --git a/libdw/Makefile.am b/libdw/Makefile.am +index 5363c02..045cde5 100644 +--- a/libdw/Makefile.am ++++ b/libdw/Makefile.am +@@ -110,7 +110,7 @@ libdw_so_LIBS = ../libebl/libebl_pic.a ../backends/libebl_backends_pic.a \ + ../libcpu/libcpu_pic.a libdw_pic.a ../libdwelf/libdwelf_pic.a \ + ../libdwfl/libdwfl_pic.a + libdw_so_DEPS = ../lib/libeu.a ../libelf/libelf.so +-libdw_so_LDLIBS = $(libdw_so_DEPS) -ldl -lz $(argp_LDADD) $(fts_LIBS) $(obstack_LIBS) $(zip_LIBS) -pthread ++libdw_so_LDLIBS = $(libdw_so_DEPS) -ldl $(ZLIB_LIBS) $(argp_LDADD) $(fts_LIBS) $(obstack_LIBS) $(zip_LIBS) -pthread + libdw.so: $(srcdir)/libdw.map $(libdw_so_LIBS) $(libdw_so_DEPS) + $(AM_V_CCLD)$(LINK) $(dso_LDFLAGS) -o $@ \ + -Wl,--soname,$@.$(VERSION),--enable-new-dtags \ +diff --git a/libelf/Makefile.am b/libelf/Makefile.am +index 3402863..30a331e 100644 +--- a/libelf/Makefile.am ++++ b/libelf/Makefile.am +@@ -106,7 +106,7 @@ libelf_pic_a_SOURCES = + am_libelf_pic_a_OBJECTS = $(libelf_a_SOURCES:.c=.os) + + libelf_so_DEPS = ../lib/libeu.a +-libelf_so_LDLIBS = $(libelf_so_DEPS) -lz $(zstd_LIBS) ++libelf_so_LDLIBS = $(libelf_so_DEPS) $(ZLIB_LIBS) $(zstd_LIBS) + if USE_LOCKS + libelf_so_LDLIBS += -lpthread + endif +diff --git a/src/Makefile.am b/src/Makefile.am +index 6bdf2df..2fd5b42 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -47,8 +47,8 @@ CLEANFILES += make-debug-archive + + if BUILD_STATIC + libasm = ../libasm/libasm.a +-libdw = ../libdw/libdw.a -lz $(zip_LIBS) $(libelf) -ldl -lpthread +-libelf = ../libelf/libelf.a -lz $(zstd_LIBS) ++libdw = ../libdw/libdw.a $(ZLIB_LIBS) $(zip_LIBS) $(libelf) -ldl -lpthread ++libelf = ../libelf/libelf.a $(ZLIB_LIBS) $(zstd_LIBS) + if LIBDEBUGINFOD + libdebuginfod = ../debuginfod/libdebuginfod.a -lpthread $(libcurl_LIBS) $(crypto_LIBS) $(jsonc_LIBS) + else diff --git a/ports/elfutils/portfile.cmake b/ports/elfutils/portfile.cmake index 434d4046390e28..9f4075743e5d01 100644 --- a/ports/elfutils/portfile.cmake +++ b/ports/elfutils/portfile.cmake @@ -1,9 +1,17 @@ -vcpkg_from_git( - OUT_SOURCE_PATH SOURCE_PATH - URL https://sourceware.org/git/elfutils - REF ca4a785fc3061c7d136b198e9ffe0b14cf90c2be #elfutils-0.186 +vcpkg_download_distfile(ARCHIVE + URLS "https://sourceware.org/pub/elfutils/${VERSION}/elfutils-${VERSION}.tar.bz2" + "https://www.mirrorservice.org/sites/sourceware.org/pub/elfutils/${VERSION}/elfutils-${VERSION}.tar.bz2" + FILENAME "elfutils-${VERSION}.tar.bz2" + SHA512 543188f5f2cfe5bc7955a878416c5f252edff9926754e5de0c6c57b132f21d9285c9b29e41281e93baad11d4ae7efbbf93580c114579c182103565fe99bd3909 +) - PATCHES configure.ac.patch +vcpkg_extract_source_archive(SOURCE_PATH + ARCHIVE "${ARCHIVE}" + PATCHES + disable-werror.diff + link-libs.diff + rpath-link.diff + static-tools.diff ) vcpkg_find_acquire_program(FLEX) @@ -13,48 +21,74 @@ vcpkg_find_acquire_program(BISON) get_filename_component(BISON_DIR "${BISON}" DIRECTORY ) vcpkg_add_to_path(PREPEND "${BISON_DIR}") +set(options "") + +if(NOT "libdebuginfod" IN_LIST FEATURES) + list(APPEND options "--enable-libdebuginfod=no") +endif() + +if("nls" IN_LIST FEATURES) + vcpkg_add_to_path(PREPEND "${CURRENT_HOST_INSTALLED_DIR}/tools/gettext/bin") +else() + set(ENV{AUTOPOINT} true) # the program + list(APPEND options "--enable-nls=no") +endif() + vcpkg_configure_make( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" AUTOCONFIG - OPTIONS --disable-debuginfod - --enable-libdebuginfod=dummy - --with-zlib - --with-bzlib - --with-lzma - --with-zstd - --enable-maintainer-mode - OPTIONS_RELEASE - ac_cv_null_dereference=no # deactivating Werror due to null dereferences since NDEBUG is passed and asserts thus disabled/removed + OPTIONS + ${options} + --enable-debuginfod=no + --with-bzlib + --with-lzma + --with-zlib + --with-zstd ) vcpkg_install_make() -file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libdebuginfod.pc" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libdebuginfod.pc") #--disable-debuginfod -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/etc/debuginfod" "${CURRENT_PACKAGES_DIR}/etc/debuginfod") - -vcpkg_fixup_pkgconfig(SYSTEM_LIBRARIES pthread) +vcpkg_fixup_pkgconfig() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/locale) +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/etc" + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/etc/debuginfod" + "${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug" +) -# Remove files with wrong linkage if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - set(_lib_suffix "${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}") + set(wrong_suffix "${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}") else() - set(_lib_suffix "${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}") + set(wrong_suffix "${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}") endif() -file(GLOB_RECURSE TO_REMOVE "${CURRENT_PACKAGES_DIR}/lib/*${_lib_suffix}" "${CURRENT_PACKAGES_DIR}/debug/lib/*${_lib_suffix}" "${CURRENT_PACKAGES_DIR}/lib/*${_lib_suffix}.*" "${CURRENT_PACKAGES_DIR}/debug/lib/*${_lib_suffix}.*") -file(REMOVE ${TO_REMOVE}) - -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/etc/profile.d/debuginfod.sh" "${CURRENT_INSTALLED_DIR}" "`dirname $0`/../..") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/etc") - -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/elfutils/bin/eu-make-debug-archive" "${CURRENT_INSTALLED_DIR}" "`dirname $0`/../../..") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/tools/elfutils/debug") - -# # Handle copyright -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(GLOB wrong_libs + "${CURRENT_PACKAGES_DIR}/lib/*${wrong_suffix}" + "${CURRENT_PACKAGES_DIR}/lib/*${wrong_suffix}.*" + "${CURRENT_PACKAGES_DIR}/debug/lib/*${wrong_suffix}" + "${CURRENT_PACKAGES_DIR}/debug/lib/*${wrong_suffix}.*" +) +file(REMOVE ${wrong_libs}) -if(VCPKG_LIBRARY_LINKAGE STREQUAL static OR NOT VCPKG_TARGET_IS_WINDOWS) - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin/eu-make-debug-archive" "${CURRENT_INSTALLED_DIR}" "`dirname $0`/../../..") +if("libdebuginfod" IN_LIST FEATURES) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/etc/profile.d/debuginfod.sh" "${CURRENT_INSTALLED_DIR}" "`dirname $0`/../..") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/etc/profile.d/debuginfod.csh" "${CURRENT_INSTALLED_DIR}" "`dirname $0`/../..") endif() + +vcpkg_install_copyright( + COMMENT [[ +The libraries are subject to LGPL-3.0-or-later OR GPL-2.0-or-later (cf. COPYING-LGPLV3, COPYING-GPLV2). +The tools are subject to GPL-3.0-or-later (cf. COPYING). +For additional terms, see the following source files: +- doc/readelf.1 (GFDL-NIV-1.3) +- lib/stdatomic-fbsd.h (BSD-2-Clause) +- libcpu/i386_parse.* (GPL-3+ with Bison exception) +- libelf/dl-hash.h (LGPL-2.1+) +- libelf/elf.h (LGPL-2.1+) +]] + FILE_LIST + "${SOURCE_PATH}/COPYING-LGPLV3" + "${SOURCE_PATH}/COPYING" + "${SOURCE_PATH}/COPYING-GPLV2" +) diff --git a/ports/elfutils/rpath-link.diff b/ports/elfutils/rpath-link.diff new file mode 100644 index 00000000000000..f49a857cdaad64 --- /dev/null +++ b/ports/elfutils/rpath-link.diff @@ -0,0 +1,26 @@ +diff --git a/debuginfod/Makefile.am b/debuginfod/Makefile.am +index db27b2a..b90ed23 100644 +--- a/debuginfod/Makefile.am ++++ b/debuginfod/Makefile.am +@@ -58,7 +58,7 @@ endif + libebl = ../libebl/libebl.a + libeu = ../lib/libeu.a + +-AM_LDFLAGS = -Wl,-rpath-link,../libelf:../libdw:. ++AM_LDFLAGS = -Wl,-rpath-link,../libelf:../libdw:.:$(libdir) + + bin_PROGRAMS = + if DEBUGINFOD +diff --git a/src/Makefile.am b/src/Makefile.am +index 8e35512..33f7f4b 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -23,7 +23,7 @@ AM_CPPFLAGS += -I$(srcdir)/../libelf -I$(srcdir)/../libebl \ + -I$(srcdir)/../libdw -I$(srcdir)/../libdwelf \ + -I$(srcdir)/../libdwfl -I$(srcdir)/../libasm -I../debuginfod + +-AM_LDFLAGS = -Wl,-rpath-link,../libelf:../libdw $(STACK_USAGE_NO_ERROR) ++AM_LDFLAGS = -Wl,-rpath-link,../libelf:../libdw:$(libdir) $(STACK_USAGE_NO_ERROR) + + bin_PROGRAMS = readelf nm size strip elflint findtextrel addr2line \ + elfcmp objdump ranlib strings ar unstrip stack elfcompress \ diff --git a/ports/elfutils/static-tools.diff b/ports/elfutils/static-tools.diff new file mode 100644 index 00000000000000..35ea05f361b76e --- /dev/null +++ b/ports/elfutils/static-tools.diff @@ -0,0 +1,12 @@ +diff --git a/configure.ac b/configure.ac +index bbe8673..7bb1b0e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -415,6 +415,7 @@ AS_HELP_STRING([--enable-install-elfh],[install elf.h in include dir]), + AM_CONDITIONAL(INSTALL_ELFH, test "$install_elfh" = yes) + + AM_CONDITIONAL(BUILD_STATIC, [dnl ++test "$enable_static" = yes || + test "$use_gprof" = yes -o "$use_gcov" = yes]) + + AC_ARG_ENABLE([tests-rpath], diff --git a/ports/elfutils/vcpkg.json b/ports/elfutils/vcpkg.json index a0f4da2eca4f9d..85c8c9eaa78afd 100644 --- a/ports/elfutils/vcpkg.json +++ b/ports/elfutils/vcpkg.json @@ -1,7 +1,6 @@ { "name": "elfutils", - "version": "0.186", - "port-version": 4, + "version": "0.192", "description": "elfutils is a collection of utilities and libraries to read, create and modify ELF binary files, find and handle DWARF debug data, symbols, thread state and stacktraces for processes and core files on GNU/Linux.", "homepage": "https://sourceware.org/elfutils/", "license": null, @@ -11,5 +10,30 @@ "liblzma", "zlib", "zstd" - ] + ], + "features": { + "libdebuginfod": { + "description": "Build the debuginfod library.", + "dependencies": [ + { + "name": "curl", + "default-features": false + } + ] + }, + "nls": { + "description": "Enable native language support", + "dependencies": [ + { + "name": "gettext", + "host": true, + "default-features": false, + "features": [ + "tools" + ] + }, + "gettext-libintl" + ] + } + } } diff --git a/ports/embree3/001-downgrade-find-package-tbb-2020.patch b/ports/embree3/001-downgrade-find-package-tbb-2020.patch new file mode 100644 index 00000000000000..484008c5f1cd25 --- /dev/null +++ b/ports/embree3/001-downgrade-find-package-tbb-2020.patch @@ -0,0 +1,13 @@ +diff --git a/common/tasking/CMakeLists.txt b/common/tasking/CMakeLists.txt +index 2aeb736..3b4d856 100644 +--- a/common/tasking/CMakeLists.txt ++++ b/common/tasking/CMakeLists.txt +@@ -20,7 +20,7 @@ ELSEIF (TASKING_TBB) + TARGET_LINK_LIBRARIES(tasking PUBLIC TBB::${EMBREE_TBB_COMPONENT}) + else() + # Try getting TBB via config first +- find_package(TBB 2021 COMPONENTS ${EMBREE_TBB_COMPONENT} CONFIG ${TBB_FIND_PACKAGE_OPTION}) ++ find_package(TBB COMPONENTS ${EMBREE_TBB_COMPONENT} CONFIG ${TBB_FIND_PACKAGE_OPTION}) + if (TBB_FOUND) + TARGET_LINK_LIBRARIES(tasking PUBLIC TBB::${EMBREE_TBB_COMPONENT}) + message("-- Found TBB: ${TBB_VERSION} at ${TBB_DIR} via TBBConfig.cmake") diff --git a/ports/embree3/portfile.cmake b/ports/embree3/portfile.cmake index 4d59f5ee02c5af..ed6e3318ce61bc 100755 --- a/ports/embree3/portfile.cmake +++ b/ports/embree3/portfile.cmake @@ -7,40 +7,67 @@ vcpkg_from_github( HEAD_REF master PATCHES no-runtime-install.patch + 001-downgrade-find-package-tbb-2020.patch ) string(COMPARE EQUAL ${VCPKG_LIBRARY_LINKAGE} static EMBREE_STATIC_LIB) string(COMPARE EQUAL ${VCPKG_CRT_LINKAGE} static EMBREE_STATIC_RUNTIME) -if (NOT VCPKG_TARGET_IS_OSX) - if ("avx512" IN_LIST FEATURES) - message(FATAL_ERROR "Microsoft Visual C++ Compiler does not support feature avx512 officially.") - endif() +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + backface-culling EMBREE_BACKFACE_CULLING + compact-polys EMBREE_COMPACT_POLYS + filter-function EMBREE_FILTER_FUNCTION + ray-mask EMBREE_RAY_MASK + ray-packets EMBREE_RAY_PACKETS - vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - FEATURES - avx EMBREE_ISA_AVX - avx2 EMBREE_ISA_AVX2 - avx512 EMBREE_ISA_AVX512 - sse2 EMBREE_ISA_SSE2 - sse42 EMBREE_ISA_SSE42 + geometry-triangle EMBREE_GEOMETRY_TRIANGLE + geometry-quad EMBREE_GEOMETRY_QUAD + geometry-curve EMBREE_GEOMETRY_CURVE + geometry-subdivision EMBREE_GEOMETRY_SUBDIVISION + geometry-user EMBREE_GEOMETRY_USER + geometry-instance EMBREE_GEOMETRY_INSTANCE + geometry-grid EMBREE_GEOMETRY_GRID + geometry-point EMBREE_GEOMETRY_POINT +) + +# Automatically select best ISA based on platform or VCPKG_CMAKE_CONFIGURE_OPTIONS. +vcpkg_list(SET EXTRA_OPTIONS) +if(VCPKG_TARGET_IS_EMSCRIPTEN) + # Disable incorrect ISA set for Emscripten and enable NEON which is supported and should provide decent performance. + # cf. [Using SIMD with WebAssembly](https://emscripten.org/docs/porting/simd.html#using-simd-with-webassembly) + vcpkg_list(APPEND EXTRA_OPTIONS + -DEMBREE_MAX_ISA:STRING=NONE + + -DEMBREE_ISA_AVX:BOOL=OFF + -DEMBREE_ISA_AVX2:BOOL=OFF + -DEMBREE_ISA_AVX512:BOOL=OFF + -DEMBREE_ISA_SSE2:BOOL=OFF + -DEMBREE_ISA_SSE42:BOOL=OFF + -DEMBREE_ISA_NEON:BOOL=ON + ) +elseif(VCPKG_TARGET_IS_OSX AND (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")) + # The best ISA for Apple arm64 is unique and unambiguous. + vcpkg_list(APPEND EXTRA_OPTIONS + -DEMBREE_MAX_ISA:STRING=NONE ) -elseif (VCPKG_LIBRARY_LINKAGE STREQUAL static) - list(LENGTH FEATURES FEATURE_COUNT) - if (FEATURE_COUNT GREATER 2) - message(WARNING [[ -Using Embree as static library is not supported with AppleClang >= 9.0 when multiple ISAs are selected. -Please install embree3 with only one feature using command "./vcpkg install embree3[core,FEATURE_NAME]" -Only set feature avx automaticlly. - ]]) - set(FEATURE_OPTIONS - -DEMBREE_ISA_AVX=ON - -DEMBREE_ISA_AVX2=OFF - -DEMBREE_ISA_AVX512=OFF - -DEMBREE_ISA_SSE2=OFF - -DEMBREE_ISA_SSE42=OFF - ) - endif() +elseif(VCPKG_TARGET_IS_OSX AND (VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") AND (VCPKG_LIBRARY_LINKAGE STREQUAL "static")) + # AppleClang >= 9.0 does not support selecting multiple ISAs. + # Let Embree select the best and unique one. + vcpkg_list(APPEND EXTRA_OPTIONS + -DEMBREE_MAX_ISA:STRING=DEFAULT + ) +else() + # Let Embree select the best ISA set for the targeted platform. + vcpkg_list(APPEND EXTRA_OPTIONS + -DEMBREE_MAX_ISA:STRING=NONE + ) +endif() + +if("tasking-tbb" IN_LIST FEATURES) + set(EMBREE_TASKING_SYSTEM "TBB") +else() + set(EMBREE_TASKING_SYSTEM "INTERNAL") endif() vcpkg_replace_string("${SOURCE_PATH}/common/cmake/installTBB.cmake" "IF (EMBREE_STATIC_LIB)" "IF (0)") @@ -48,12 +75,15 @@ vcpkg_replace_string("${SOURCE_PATH}/common/cmake/installTBB.cmake" "IF (EMBREE_ vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" DISABLE_PARALLEL_CONFIGURE - OPTIONS ${FEATURE_OPTIONS} + OPTIONS ${FEATURE_OPTIONS} ${EXTRA_OPTIONS} -DEMBREE_ISPC_SUPPORT=OFF -DEMBREE_TUTORIALS=OFF -DEMBREE_STATIC_RUNTIME=${EMBREE_STATIC_RUNTIME} -DEMBREE_STATIC_LIB=${EMBREE_STATIC_LIB} + -DEMBREE_TASKING_SYSTEM:STRING=${EMBREE_TASKING_SYSTEM} -DEMBREE_INSTALL_DEPENDENCIES=OFF + MAYBE_UNUSED_VARIABLES + EMBREE_STATIC_RUNTIME ) vcpkg_cmake_install() @@ -79,10 +109,10 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") endif() -if(APPLE) +if(VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_IOS) file(REMOVE "${CURRENT_PACKAGES_DIR}/uninstall.command" "${CURRENT_PACKAGES_DIR}/debug/uninstall.command") endif() file(RENAME "${CURRENT_PACKAGES_DIR}/share/doc" "${CURRENT_PACKAGES_DIR}/share/${PORT}/") file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/embree3/vcpkg.json b/ports/embree3/vcpkg.json index 22b0e52b13aba9..072d75a573e333 100644 --- a/ports/embree3/vcpkg.json +++ b/ports/embree3/vcpkg.json @@ -1,13 +1,12 @@ { "name": "embree3", "version": "3.13.5", - "port-version": 2, + "port-version": 4, "description": "High Performance Ray Tracing Kernels.", "homepage": "https://github.com/embree/embree", "license": "Apache-2.0", "supports": "!arm | osx", "dependencies": [ - "tbb", { "name": "vcpkg-cmake", "host": true @@ -18,39 +17,63 @@ } ], "default-features": [ - "default-features" + "filter-function", + "geometry-curve", + "geometry-grid", + "geometry-instance", + "geometry-point", + "geometry-quad", + "geometry-subdivision", + "geometry-triangle", + "geometry-user", + "ray-packets", + "tasking-tbb" ], "features": { - "avx": { - "description": "Enables AVX ISA." + "backface-culling": { + "description": "Enables backface culling." }, - "avx2": { - "description": "Enables AVX2 ISA." + "compact-polys": { + "description": "Enables double indexed poly layout." }, - "avx512": { - "description": "Enables AVX512 ISA." + "filter-function": { + "description": "Enables filter functions." }, - "default-features": { - "description": "Enables all default features.", - "dependencies": [ - { - "name": "embree3", - "default-features": false, - "features": [ - "avx", - "avx2", - "sse2", - "sse42" - ], - "platform": "x64 | x86" - } - ] + "geometry-curve": { + "description": "Enables support for curve geometries." + }, + "geometry-grid": { + "description": "Enables support for grid geometries." + }, + "geometry-instance": { + "description": "Enables support for instances." + }, + "geometry-point": { + "description": "Enables support for point geometries." + }, + "geometry-quad": { + "description": "Enables support for quad geometries." }, - "sse2": { - "description": "Enables SSE2 ISA." + "geometry-subdivision": { + "description": "Enables support for subdiv geometries." }, - "sse42": { - "description": "Enables SSE4.2 ISA." + "geometry-triangle": { + "description": "Enables support for triangle geometries." + }, + "geometry-user": { + "description": "Enables support for user geometries." + }, + "ray-mask": { + "description": "Enables ray mask support." + }, + "ray-packets": { + "description": "Enabled support for ray packets." + }, + "tasking-tbb": { + "description": "Use oneTBB as task system.", + "dependencies": [ + "tbb" + ] } } } diff --git a/ports/enet/CMakeLists.txt b/ports/enet/CMakeLists.txt deleted file mode 100644 index d17150b3da516f..00000000000000 --- a/ports/enet/CMakeLists.txt +++ /dev/null @@ -1,106 +0,0 @@ -cmake_minimum_required(VERSION 3.0.2) - -project(enet) - -# The "configure" step. -include(CheckFunctionExists) -include(CheckStructHasMember) -include(CheckTypeSize) -check_function_exists("fcntl" HAS_FCNTL) -check_function_exists("poll" HAS_POLL) -check_function_exists("getaddrinfo" HAS_GETADDRINFO) -check_function_exists("getnameinfo" HAS_GETNAMEINFO) -check_function_exists("gethostbyname_r" HAS_GETHOSTBYNAME_R) -check_function_exists("gethostbyaddr_r" HAS_GETHOSTBYADDR_R) -check_function_exists("inet_pton" HAS_INET_PTON) -check_function_exists("inet_ntop" HAS_INET_NTOP) -check_struct_has_member("struct msghdr" "msg_flags" "sys/types.h;sys/socket.h" HAS_MSGHDR_FLAGS) -set(CMAKE_EXTRA_INCLUDE_FILES "sys/types.h" "sys/socket.h") -check_type_size("socklen_t" HAS_SOCKLEN_T BUILTIN_TYPES_ONLY) -unset(CMAKE_EXTRA_INCLUDE_FILES) -if(MSVC) - add_definitions(-W3) -else() - add_definitions(-Wno-error) -endif() - -if(HAS_FCNTL) - add_definitions(-DHAS_FCNTL=1) -endif() -if(HAS_POLL) - add_definitions(-DHAS_POLL=1) -endif() -if(HAS_GETNAMEINFO) - add_definitions(-DHAS_GETNAMEINFO=1) -endif() -if(HAS_GETADDRINFO) - add_definitions(-DHAS_GETADDRINFO=1) -endif() -if(HAS_GETHOSTBYNAME_R) - add_definitions(-DHAS_GETHOSTBYNAME_R=1) -endif() -if(HAS_GETHOSTBYADDR_R) - add_definitions(-DHAS_GETHOSTBYADDR_R=1) -endif() -if(HAS_INET_PTON) - add_definitions(-DHAS_INET_PTON=1) -endif() -if(HAS_INET_NTOP) - add_definitions(-DHAS_INET_NTOP=1) -endif() -if(HAS_MSGHDR_FLAGS) - add_definitions(-DHAS_MSGHDR_FLAGS=1) -endif() -if(HAS_SOCKLEN_T) - add_definitions(-DHAS_SOCKLEN_T=1) -endif() - -add_library(enet - callbacks.c - compress.c - host.c - list.c - packet.c - peer.c - protocol.c - unix.c - win32.c - ) - -add_library(enet::enet ALIAS enet) - -target_include_directories(enet PUBLIC - $ - $ -) - -if (BUILD_SHARED_LIBS) - target_compile_definitions(enet - PUBLIC ENET_DLL - PRIVATE ENET_BUILDING_LIB - ) -endif() - - -if (WIN32) - target_link_libraries(enet winmm ws2_32) -endif() - -set(ENET_CMAKE_DIR ${CMAKE_INSTALL_LIBDIR}/cmake/enet) - -configure_file ("${CMAKE_SOURCE_DIR}/libenet.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/libenet.pc" @ONLY) -install (FILES "${CMAKE_CURRENT_BINARY_DIR}/libenet.pc" DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig") - -install(TARGETS enet EXPORT unofficial-enet-config - ARCHIVE DESTINATION lib - LIBRARY DESTINATION lib - RUNTIME DESTINATION bin) - -INSTALL(EXPORT unofficial-enet-config - NAMESPACE unofficial::enet:: - FILE unofficial-enet-config.cmake - DESTINATION share/unofficial-enet -) - -install(DIRECTORY include/ - DESTINATION include) \ No newline at end of file diff --git a/ports/enet/fix-export.patch b/ports/enet/fix-export.patch new file mode 100644 index 00000000000000..89fec84b725ba3 --- /dev/null +++ b/ports/enet/fix-export.patch @@ -0,0 +1,31 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c6459b6..63aef98 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -89,14 +89,25 @@ add_library(enet STATIC + ${SOURCE_FILES} + ) + ++target_include_directories(enet PUBLIC ++ $ ++ $ ++) ++ + if (MINGW) + target_link_libraries(enet winmm ws2_32) + endif() + + install(TARGETS enet ++ EXPORT unofficial-enet-config + RUNTIME DESTINATION bin +- ARCHIVE DESTINATION lib/static ++ ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib) + ++INSTALL(EXPORT unofficial-enet-config ++ NAMESPACE unofficial::enet:: ++ DESTINATION share/unofficial-enet ++) ++ + install(DIRECTORY include/ + DESTINATION include) diff --git a/ports/enet/portfile.cmake b/ports/enet/portfile.cmake index ad4d17374c24a5..399fe1251aebc4 100644 --- a/ports/enet/portfile.cmake +++ b/ports/enet/portfile.cmake @@ -1,12 +1,11 @@ vcpkg_from_github(OUT_SOURCE_PATH SOURCE_PATH REPO "lsalzman/enet" - REF e0e7045b7e056b454b5093cb34df49dc4cee0bee # v1.3.17 + REF "v${VERSION}" HEAD_REF master - SHA512 006a78edcc2059d8cee47a163d308dd02120a54f9c203401b83eb6cb4ab3e56cf09988d3c35b436a1e9f74c01296995ae6fdd46f6d354fe8261cf19cdde3df5d + SHA512 a0d2fa8c957704dd49e00a726284ac5ca034b50b00d2b20a94fa1bbfbb80841467834bfdc84aa0ed0d6aab894608fd6c86c3b94eee46343f0e6d9c22e391dbf9 + PATCHES fix-export.patch ) -file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") - vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" # OPTIONS -DUSE_THIS_IN_ALL_BUILDS=1 -DUSE_THIS_TOO=2 @@ -21,4 +20,4 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") vcpkg_copy_pdbs() -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/enet/vcpkg.json b/ports/enet/vcpkg.json index 00dedec90653a4..c85c7f19aaef3d 100644 --- a/ports/enet/vcpkg.json +++ b/ports/enet/vcpkg.json @@ -1,7 +1,6 @@ { "name": "enet", - "version": "1.3.17", - "port-version": 2, + "version": "1.3.18", "description": "Reliable UDP networking library", "homepage": "https://github.com/lsalzman/enet", "dependencies": [ diff --git a/ports/enkits/fix_shared_install.patch b/ports/enkits/fix_shared_install.patch new file mode 100644 index 00000000000000..1d69d498ea3c03 --- /dev/null +++ b/ports/enkits/fix_shared_install.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0c12562..e15f863 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -85,6 +85,8 @@ if( ENKITS_INSTALL ) + install( + TARGETS enkiTS + EXPORT enkiTSConfig ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + install(FILES ${ENKITS_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/enkiTS) + install( diff --git a/ports/enkits/portfile.cmake b/ports/enkits/portfile.cmake index c55f6279885fb2..c9b92378078aa7 100644 --- a/ports/enkits/portfile.cmake +++ b/ports/enkits/portfile.cmake @@ -1,11 +1,11 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO dougbinks/enkiTS - REF "v${VERSION}" - SHA512 72a05058caef8d6a33cd70500aeaf05cc61521721697969d4845279b5a79b63e7a6a3f3971c5eff2776e5575720b58252e9d251ef565c2123275a3e8540948db + REF "03e6a2c0c97208ade44478d617d2002b0f95faf4" + SHA512 2889a7b015319115f6acf74036f709b30786602f3b7205bdf401644172e2d92307f325719ccc02ad93a09557a9155e31db4d8e07f9f77e0c700d5a3365091ad3 HEAD_REF master PATCHES - update_install.patch + fix_shared_install.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED) @@ -22,8 +22,7 @@ vcpkg_cmake_configure( vcpkg_cmake_install() vcpkg_copy_pdbs() vcpkg_fixup_pkgconfig() -# Must specify args due to case sensitivity on some filesystems -vcpkg_cmake_config_fixup(PACKAGE_NAME enkiTS CONFIG_PATH share/enkiTS) +vcpkg_cmake_config_fixup(PACKAGE_NAME enkiTS CONFIG_PATH lib/cmake/enkiTS) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/enkits/update_install.patch b/ports/enkits/update_install.patch deleted file mode 100644 index 3596a0b2f30eee..00000000000000 --- a/ports/enkits/update_install.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 7f8572e..f42ec18 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -2,6 +2,8 @@ cmake_minimum_required(VERSION 3.0) - - project( enkiTS ) - -+include(GNUInstallDirs) -+ - option( ENKITS_BUILD_C_INTERFACE "Build C interface" ON ) - option( ENKITS_BUILD_EXAMPLES "Build example applications" ON ) - option( ENKITS_BUILD_SHARED "Build shared library" OFF ) -@@ -59,9 +61,17 @@ if( UNIX ) - target_link_libraries( enkiTS ${CMAKE_THREAD_LIBS_INIT} ) - endif() - -+target_include_directories(enkiTS PUBLIC "$") - if( ENKITS_INSTALL ) -- install(TARGETS enkiTS DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/enkiTS") -- install(FILES ${ENKITS_HEADERS} DESTINATION "${CMAKE_INSTALL_PREFIX}/include/enkiTS") -+ install( -+ TARGETS enkiTS -+ EXPORT enkiTS-config -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) -+ install(FILES ${ENKITS_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) -+ install( -+ EXPORT enkiTS-config -+ NAMESPACE enkiTS:: -+ DESTINATION ${CMAKE_INSTALL_DATADIR}/enkiTS) - endif() - - if( UNIX ) diff --git a/ports/enkits/vcpkg.json b/ports/enkits/vcpkg.json index 139253fec4b6a0..4b5fc3b8141547 100644 --- a/ports/enkits/vcpkg.json +++ b/ports/enkits/vcpkg.json @@ -1,6 +1,7 @@ { "name": "enkits", "version": "1.11", + "port-version": 3, "description": "A permissively licensed C and C++ Task Scheduler for creating parallel programs.", "homepage": "https://github.com/dougbinks/enkiTS", "license": "Zlib", diff --git a/ports/ensmallen/portfile.cmake b/ports/ensmallen/portfile.cmake index 66fcfbf157f742..d02e97c519d1e7 100644 --- a/ports/ensmallen/portfile.cmake +++ b/ports/ensmallen/portfile.cmake @@ -3,7 +3,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mlpack/ensmallen REF "${VERSION}" - SHA512 9cc058dcb777b7a59c361afcd02d2ce787b08c86a26aefc1d67c42658d67d7b62e8d7b5138c02912c182bc9b0e1e039c4036478985e12e2e35746853a169e067 + SHA512 1e86fc28a58694057262a8d036af8080be084c889f7b659b77a08fd4e0957d0f03d8866e47b682a1868b5ac2198cca85c591a334b284096659a123196de95a66 HEAD_REF master PATCHES dependencies.patch diff --git a/ports/ensmallen/vcpkg.json b/ports/ensmallen/vcpkg.json index ae9b21bd0782bd..e0090d1027de87 100644 --- a/ports/ensmallen/vcpkg.json +++ b/ports/ensmallen/vcpkg.json @@ -1,6 +1,6 @@ { "name": "ensmallen", - "version-semver": "2.19.1", + "version-semver": "2.21.1", "description": "A header-only C++ library for mathematical optimization", "homepage": "http://ensmallen.org/", "license": "BSD-3-Clause", diff --git a/ports/entityx/portfile.cmake b/ports/entityx/portfile.cmake index 2d77a8b2f17723..3a731ea121a986 100644 --- a/ports/entityx/portfile.cmake +++ b/ports/entityx/portfile.cmake @@ -12,6 +12,7 @@ vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" DISABLE_PARALLEL_CONFIGURE OPTIONS + -DCMAKE_CXX_STANDARD=11 # std::iterator is deprecated in C++17 -DENTITYX_BUILD_TESTING=false -DENTITYX_BUILD_SHARED=0 ) diff --git a/ports/entityx/vcpkg.json b/ports/entityx/vcpkg.json index 3b918ff5791af6..722271401e2171 100644 --- a/ports/entityx/vcpkg.json +++ b/ports/entityx/vcpkg.json @@ -1,7 +1,7 @@ { "name": "entityx", "version": "1.3.0", - "port-version": 5, + "port-version": 6, "description": "EntityX - A fast, type-safe C++ Entity-Component system.", "homepage": "https://github.com/alecthomas/entityx", "dependencies": [ diff --git a/ports/entt/portfile.cmake b/ports/entt/portfile.cmake index 2b980a8827b873..527bbcde6fc735 100644 --- a/ports/entt/portfile.cmake +++ b/ports/entt/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO skypjack/entt REF "v${VERSION}" - SHA512 8382092339476fa187e0110ec4ba9a0ff93966a31263b28d9edb25068705815d120520b55c640bc3ced852a91762abed6da2bd9a50eaf274272605a8b5b493b9 + SHA512 153cd353aa211a93c8f2f8650d55a0fd2ea9abb836386ef827285b6ab96ad680e92cac65c4b23db50c7882078d599200ac6a9eb3326a2a33160e62fc624202c7 HEAD_REF master ) diff --git a/ports/entt/vcpkg.json b/ports/entt/vcpkg.json index b17445c4a79a31..91eb1b0b59eca7 100644 --- a/ports/entt/vcpkg.json +++ b/ports/entt/vcpkg.json @@ -1,6 +1,6 @@ { "name": "entt", - "version": "3.12.2", + "version": "3.14.0", "description": "Gaming meets modern C++ - a fast and reliable entity-component system and much more", "homepage": "https://github.com/skypjack/entt", "license": "MIT", diff --git a/ports/ereignis/portfile.cmake b/ports/ereignis/portfile.cmake index 42aea9b4ed77c8..8840c2d6bafeb7 100644 --- a/ports/ereignis/portfile.cmake +++ b/ports/ereignis/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Soundux/ereignis - REF v1.1 - SHA512 506a54e8d109028cd9e85597fbd6bf77694d55e78727d2889aa15846eb4ef00390153b719c6eb3d7f8d424eb7607b66f18adc24a2d907887e32c30ca0dca7034 + REF "v${VERSION}" + SHA512 b8c8bbb40bf3501e4612cddfbdbf8117f0e89c7781dfa551f1a62e825566dfd9755889d2c953827679d94198ebfbd8f01e85478d7ac0529b0d564d45788ca707 HEAD_REF master ) diff --git a/ports/ereignis/vcpkg.json b/ports/ereignis/vcpkg.json index 4508f421410b33..eb3aa937b78307 100644 --- a/ports/ereignis/vcpkg.json +++ b/ports/ereignis/vcpkg.json @@ -1,6 +1,6 @@ { "name": "ereignis", - "version": "1.1", + "version": "2.3", "description": "A thread-safe C++17 Event Library", "homepage": "https://github.com/Soundux/ereignis", "license": "MIT", diff --git a/ports/etcd-cpp-apiv3/portfile.cmake b/ports/etcd-cpp-apiv3/portfile.cmake index 56ebd008484035..889acfe17ac7d3 100644 --- a/ports/etcd-cpp-apiv3/portfile.cmake +++ b/ports/etcd-cpp-apiv3/portfile.cmake @@ -1,28 +1,44 @@ +vcpkg_download_distfile( + GRPC_PATCH + URLS https://github.com/etcd-cpp-apiv3/etcd-cpp-apiv3/commit/216b86f8d763acf88e4ed7265f983b57c12da2df.patch?full_index=1 + SHA512 5a2c843c41d6c1e84333773cbec9fd3e1c6501d325a053a2c02c8e3aa752422158a6239c1f47a1d8d7ac129a45f3385efce543ec7260b7309f8b76d2ea7a1ca2 + FILENAME 216b86f8d763acf88e4ed7265f983b57c12da2df.patch +) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO etcd-cpp-apiv3/etcd-cpp-apiv3 REF "v${VERSION}" - SHA512 4f059c33b6deec2192adbf4bdeaa230f1a96fddfc68eac1ef17578c7c208e3476ab65cf4e6940d83307df4655942c88fc6988fb2e226c2f30aa75005219133a1 + SHA512 52f3cf14ad5594c04a086786d3459aee0986017a0314dfdf3fff1715677ff7a7ebedcc0afc28e1d7e75b8991ab6ede95eeded472d85ac1def84343cc1c54a30a HEAD_REF master + PATCHES + "${GRPC_PATCH}" ) +file(WRITE "${SOURCE_PATH}/cmake/UploadPPA.cmake" "") vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_ETCD_TESTS=OFF + -DETCD_W_STRICT=OFF + "-DGRPC_CPP_PLUGIN=${CURRENT_HOST_INSTALLED_DIR}/tools/grpc/grpc_cpp_plugin${VCPKG_HOST_EXECUTABLE_SUFFIX}" + "-DProtobuf_PROTOC_EXECUTABLE=${CURRENT_HOST_INSTALLED_DIR}/tools/protobuf/protoc${VCPKG_HOST_EXECUTABLE_SUFFIX}" + "-DOpenSSL_DIR=${CURRENT_INSTALLED_DIR}" # don't look for homebrew + MAYBE_UNUSED_VARIABLES + OpenSSL_DIR ) -set(VCPKG_POLICY_DLLS_WITHOUT_LIBS enabled) -set(VCPKG_POLICY_DLLS_WITHOUT_EXPORTS enabled) vcpkg_cmake_install() +vcpkg_copy_pdbs() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/etcd-cpp-api) +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/etcd-cpp-api-config.cmake" + [[ETCD_CPP_HOME "${CMAKE_CURRENT_LIST_DIR}/../../.."]] + [[ETCD_CPP_HOME "${CMAKE_CURRENT_LIST_DIR}/../.."]] +) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -vcpkg_copy_pdbs() +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -# Handle copyright vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") -# Adding usage text -file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/etcd-cpp-apiv3/usage b/ports/etcd-cpp-apiv3/usage index 2c5bc9f4a31c5e..3bc2f537387050 100644 --- a/ports/etcd-cpp-apiv3/usage +++ b/ports/etcd-cpp-apiv3/usage @@ -1,5 +1,4 @@ -The package etcd-cpp-apiv3 is compatible with built-in CMake targets: - - find_package(etcd-cpp-api CONFIG REQUIRED) - target_link_libraries(main PRIVATE etcd-cpp-api) +etcd-cpp-apiv3 provides CMake targets: + find_package(etcd-cpp-api CONFIG REQUIRED) + target_link_libraries(main PRIVATE etcd-cpp-api) diff --git a/ports/etcd-cpp-apiv3/vcpkg.json b/ports/etcd-cpp-apiv3/vcpkg.json index 2d1d1d82259ae7..a85c372b166e05 100644 --- a/ports/etcd-cpp-apiv3/vcpkg.json +++ b/ports/etcd-cpp-apiv3/vcpkg.json @@ -1,6 +1,7 @@ { "name": "etcd-cpp-apiv3", - "version": "0.15.3", + "version": "0.15.4", + "port-version": 1, "description": "The etcd-cpp-apiv3 is a C++ API for etcd's v3 client API, i.e., ETCDCTL_API=3.", "homepage": "https://github.com/etcd-cpp-apiv3/etcd-cpp-apiv3", "license": "BSD-3-Clause", @@ -9,7 +10,10 @@ "boost-random", "boost-system", "boost-thread", - "cpprestsdk", + { + "name": "cpprestsdk", + "default-features": false + }, "grpc", "openssl", "protobuf", diff --git a/ports/etl/portfile.cmake b/ports/etl/portfile.cmake index 64247243b1600f..d03cd298260ac5 100644 --- a/ports/etl/portfile.cmake +++ b/ports/etl/portfile.cmake @@ -1,11 +1,14 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ETLCPP/etl - REF "${VERSION}" - SHA512 aee68d50cdc82e0a2248390acc87d9b4186bb883631fd5febd011d81fb9d944e811e08da46998cadf1738a52d70e28ec4188bc4dc5822f32443896f991764f46 + REF "${VERSION}" + SHA512 27204220da2bc0d6028a689005ebd9150edffae78e6be6beae2ee361e3ef6dce90d1345637fc3ae4f03ef60404de9967ff40c694447c0f85f79772fde39f224f HEAD_REF master ) +# header-only +set(VCPKG_BUILD_TYPE "release") + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS @@ -13,7 +16,12 @@ vcpkg_cmake_configure( ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +vcpkg_cmake_config_fixup(CONFIG_PATH share/etl/cmake) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/etl/.vscode") +# remove templates used for generating headers +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/etl/generators") +file(GLOB_RECURSE PNG_FILES "${CURRENT_PACKAGES_DIR}/include/etl/*.png") +file(REMOVE ${PNG_FILES}) vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/etl/vcpkg.json b/ports/etl/vcpkg.json index a0d9895932f6d7..b032d36c6a7b04 100644 --- a/ports/etl/vcpkg.json +++ b/ports/etl/vcpkg.json @@ -1,6 +1,6 @@ { "name": "etl", - "version": "20.38.0", + "version": "20.39.4", "description": "A C++ template library for embedded applications", "homepage": "https://www.etlcpp.com", "license": "MIT", diff --git a/ports/eventpp/portfile.cmake b/ports/eventpp/portfile.cmake index ff315bfac6918c..7d0e7327fae5d3 100644 --- a/ports/eventpp/portfile.cmake +++ b/ports/eventpp/portfile.cmake @@ -1,3 +1,5 @@ +set(VCPKG_BUILD_TYPE release) # header-only + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO wqking/eventpp @@ -8,15 +10,12 @@ vcpkg_from_github( vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - -DBUILD_TESTING=OFF ) vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/eventpp") -vcpkg_fixup_pkgconfig() -vcpkg_copy_pdbs() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" "${CURRENT_PACKAGES_DIR}/lib") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") +file(REMOVE "${CURRENT_PACKAGES_DIR}/share/eventpp/license" "${CURRENT_PACKAGES_DIR}/share/eventpp/readme.md") vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/license") diff --git a/ports/eventpp/vcpkg.json b/ports/eventpp/vcpkg.json index 373108df5bd359..ebb984960aa498 100644 --- a/ports/eventpp/vcpkg.json +++ b/ports/eventpp/vcpkg.json @@ -1,6 +1,7 @@ { "name": "eventpp", "version-semver": "0.1.3", + "port-version": 1, "description": "C++ library for event dispatcher and callback list", "homepage": "https://github.com/wqking/eventpp", "license": "Apache-2.0", diff --git a/ports/evpp/portfile.cmake b/ports/evpp/portfile.cmake index 0a930d18c32d5e..de461f457a72f8 100644 --- a/ports/evpp/portfile.cmake +++ b/ports/evpp/portfile.cmake @@ -13,6 +13,7 @@ vcpkg_from_github( compile-features.patch Add-static-shared-handling.patch Export-unofficial-target.patch + use-cxx14-standard.patch ) file(REMOVE_RECURSE "${SOURCE_PATH}/3rdparty/rapidjson" "${SOURCE_PATH}/3rdparty/concurrentqueue") diff --git a/ports/evpp/use-cxx14-standard.patch b/ports/evpp/use-cxx14-standard.patch new file mode 100644 index 00000000000000..a088f803602232 --- /dev/null +++ b/ports/evpp/use-cxx14-standard.patch @@ -0,0 +1,30 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 772da36..7ff62b8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -24,7 +24,7 @@ if (UNIX) + -fms-extensions + -Wfloat-equal + -Wextra +- -std=c++11 ++ -std=c++14 + ) + include_directories (${PROJECT_SOURCE_DIR} + ${PROJECT_SOURCE_DIR}/3rdparty) +diff --git a/evpp/CMakeLists.txt b/evpp/CMakeLists.txt +index 1c17f04..9f07f97 100644 +--- a/evpp/CMakeLists.txt ++++ b/evpp/CMakeLists.txt +@@ -15,12 +15,10 @@ include_directories(${PROJECT_SOURCE_DIR}) + + add_library(evpp_static STATIC ${evpp_SRCS}) + target_link_libraries(evpp_static ${DEPENDENT_LIBRARIES}) +-target_compile_features(evpp_static PRIVATE cxx_std_11) + target_include_directories(evpp_static INTERFACE $) + + add_library(evpp_lite_static STATIC ${evpp_lite_SRCS}) + target_link_libraries(evpp_lite_static ${DEPENDENT_LIBRARIES}) +-target_compile_features(evpp_lite_static PRIVATE cxx_std_11) + target_include_directories(evpp_lite_static INTERFACE $) + + if (UNIX) diff --git a/ports/evpp/vcpkg.json b/ports/evpp/vcpkg.json index f3837e7283fc86..76be4d4082f48e 100644 --- a/ports/evpp/vcpkg.json +++ b/ports/evpp/vcpkg.json @@ -1,7 +1,7 @@ { "name": "evpp", "version": "0.7.0", - "port-version": 7, + "port-version": 8, "description": "A modern C++ network library based on libevent for developing high performance network services in TCP/UDP/HTTP protocols.", "homepage": "https://github.com/Qihoo360/evpp", "license": "BSD-3-Clause", diff --git a/ports/exiv2/dependencies.diff b/ports/exiv2/dependencies.diff new file mode 100644 index 00000000000000..a1d917dc278bec --- /dev/null +++ b/ports/exiv2/dependencies.diff @@ -0,0 +1,69 @@ +diff --git a/cmake/exiv2Config.cmake.in b/cmake/exiv2Config.cmake.in +index c9e2eba..ca170e1 100644 +--- a/cmake/exiv2Config.cmake.in ++++ b/cmake/exiv2Config.cmake.in +@@ -8,7 +8,15 @@ if(@EXIV2_ENABLE_PNG@) # if(EXIV2_ENABLE_PNG) + endif() + + if(@EXIV2_ENABLE_XMP@) # if(EXIV2_ENABLE_XMP) +- find_dependency(EXPAT REQUIRED) ++ find_dependency(expat CONFIG) ++endif() ++ ++if(@EXIV2_ENABLE_BMFF@ AND @EXIV2_ENABLE_BROTLI@) ++ find_dependency(unofficial-brotli) ++endif() ++ ++if(@EXIV2_ENABLE_INIH@) ++ find_dependency(unofficial-inih) + endif() + + include("${CMAKE_CURRENT_LIST_DIR}/exiv2Export.cmake") +diff --git a/cmake/findDependencies.cmake b/cmake/findDependencies.cmake +index b0897c3..e559666 100644 +--- a/cmake/findDependencies.cmake ++++ b/cmake/findDependencies.cmake +@@ -49,7 +49,8 @@ if( EXIV2_ENABLE_PNG ) + endif( ) + + if( EXIV2_ENABLE_BMFF AND EXIV2_ENABLE_BROTLI ) +- find_package( Brotli REQUIRED ) ++ find_package(BROTLI NAMES unofficial-brotli REQUIRED) ++ set(Brotli_LIBRARIES unofficial::brotli::brotlidec) + endif( ) + + if( EXIV2_ENABLE_WEBREADY ) +@@ -62,7 +63,9 @@ if (EXIV2_ENABLE_XMP AND EXIV2_ENABLE_EXTERNAL_XMP) + message(FATAL_ERROR "EXIV2_ENABLE_XMP AND EXIV2_ENABLE_EXTERNAL_XMP are mutually exclusive. You can only choose one of them") + else() + if (EXIV2_ENABLE_XMP) +- find_package(EXPAT REQUIRED) ++ find_package(EXPAT NAMES expat REQUIRED) ++ add_library(EXPAT::EXPAT ALIAS expat::expat) ++ set(EXPAT_LIBRARIES expat::expat) + elseif (EXIV2_ENABLE_EXTERNAL_XMP) + find_package(XmpSdk REQUIRED) + endif () +@@ -79,7 +82,9 @@ if( ICONV_FOUND ) + endif() + + if( EXIV2_ENABLE_INIH ) +- find_package(inih) ++ find_package(unofficial-inih CONFIG REQUIRED) ++ add_library(inih::libinih ALIAS unofficial::inih::libinih) ++ add_library(inih::inireader ALIAS unofficial::inih::inireader) + message ( "-- inih_INCLUDE_DIRS : " ${inih_INCLUDE_DIRS} ) + message ( "-- inih_LIBRARIES : " ${inih_LIBRARIES} ) + message ( "-- inih_inireader_INCLUDE_DIRS : " ${inih_inireader_INCLUDE_DIRS} ) +diff --git a/xmpsdk/CMakeLists.txt b/xmpsdk/CMakeLists.txt +index 87c59c0..d2f23e6 100644 +--- a/xmpsdk/CMakeLists.txt ++++ b/xmpsdk/CMakeLists.txt +@@ -31,6 +31,7 @@ target_include_directories(exiv2-xmp SYSTEM + ${PROJECT_SOURCE_DIR}/xmpsdk/include + ${EXPAT_INCLUDE_DIRS} + ) ++target_link_libraries(exiv2-xmp PRIVATE expat::expat) + + # Prevent a denial-service-attack related to XML entity expansion + # ("billion laughs attack"). diff --git a/ports/exiv2/dont-find-python.patch b/ports/exiv2/dont-find-python.patch deleted file mode 100644 index 0529efd6d26930..00000000000000 --- a/ports/exiv2/dont-find-python.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/cmake/findDependencies.cmake b/cmake/findDependencies.cmake -index 664522c2a..cbfa5d908 100644 ---- a/cmake/findDependencies.cmake -+++ b/cmake/findDependencies.cmake -@@ -30,10 +30,12 @@ endif() - - list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/") - -+if(EXIV2_BUILD_UNIT_TESTS) - find_package (Python3 COMPONENTS Interpreter) - if (NOT Python3_Interpreter_FOUND) - message(WARNING "Python3 was not found. Python tests under the 'tests' folder will not be executed") - endif() -+endif() - - find_package(Filesystem REQUIRED) - diff --git a/ports/exiv2/fix-brotli.patch b/ports/exiv2/fix-brotli.patch deleted file mode 100644 index 13a513b54e2a91..00000000000000 --- a/ports/exiv2/fix-brotli.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff --git a/cmake/findDependencies.cmake b/cmake/findDependencies.cmake -index bec2128a5..664522c2a 100644 ---- a/cmake/findDependencies.cmake -+++ b/cmake/findDependencies.cmake -@@ -47,7 +47,7 @@ if( EXIV2_ENABLE_PNG ) - endif( ) - - if( EXIV2_ENABLE_BMFF AND EXIV2_ENABLE_BROTLI ) -- find_package( Brotli REQUIRED ) -+ find_package( BROTLI NAMES unofficial-brotli CONFIG REQUIRED ) - endif( ) - - if( EXIV2_ENABLE_WEBREADY ) -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 15bab8c8a..3db5bdd08 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -240,8 +240,7 @@ if( EXIV2_ENABLE_PNG ) - endif() - - if( EXIV2_ENABLE_BMFF AND BROTLI_FOUND ) -- target_link_libraries( exiv2lib PRIVATE ${Brotli_LIBRARIES}) -- target_include_directories(exiv2lib PRIVATE ${Brotli_INCLUDE_DIRS}) -+ target_link_libraries( exiv2lib PRIVATE unofficial::brotli::brotlidec) - list(APPEND requires_private_list "libbrotlidec") - endif() - diff --git a/ports/exiv2/fix-expat.patch b/ports/exiv2/fix-expat.patch deleted file mode 100644 index 98669c4f914f37..00000000000000 --- a/ports/exiv2/fix-expat.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 41a672e8..1311c856 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -182,7 +182,7 @@ target_include_directories(exiv2lib SYSTEM PRIVATE - ) - - if (EXIV2_ENABLE_XMP OR EXIV2_ENABLE_EXTERNAL_XMP) - target_include_directories(exiv2lib PRIVATE ${EXPAT_INCLUDE_DIR}) -- target_link_libraries(exiv2lib PRIVATE EXPAT::EXPAT) -+ target_link_libraries(exiv2lib PRIVATE expat::expat) - list(APPEND requires_private_list "expat") - endif() - - if (EXIV2_ENABLE_XMP) -diff --git a/xmpsdk/CMakeLists.txt b/xmpsdk/CMakeLists.txt -index 9c148a61..0fed7cde 100644 ---- a/xmpsdk/CMakeLists.txt -+++ b/xmpsdk/CMakeLists.txt -@@ -28,7 +28,7 @@ add_library(exiv2-xmp OBJECT - - target_link_libraries(exiv2-xmp - PRIVATE -- EXPAT::EXPAT -+ expat::expat - ) - - target_include_directories(exiv2-xmp SYSTEM diff --git a/ports/exiv2/fix-find_expat.patch b/ports/exiv2/fix-find_expat.patch deleted file mode 100644 index d17ec65c20acc6..00000000000000 --- a/ports/exiv2/fix-find_expat.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/cmake/findDependencies.cmake b/cmake/findDependencies.cmake -index ec3a43f..d8637cc 100644 ---- a/cmake/findDependencies.cmake -+++ b/cmake/findDependencies.cmake -@@ -42,7 +42,10 @@ if (EXIV2_ENABLE_XMP AND EXIV2_ENABLE_EXTERNAL_XMP) - message(FATAL_ERROR "EXIV2_ENABLE_XMP AND EXIV2_ENABLE_EXTERNAL_XMP are mutually exclusive. You can only choose one of them") - else() - if (EXIV2_ENABLE_XMP) -- find_package(EXPAT REQUIRED) -+ find_package(EXPAT NAMES expat CONFIG REQUIRED) -+ set(EXPAT_INCLUDE_DIR "") -+ set(EXPAT_LIBRARY expat::expat) -+ set(EXPAT_LIBRARIES expat::expat) - elseif (EXIV2_ENABLE_EXTERNAL_XMP) - find_package(XmpSdk REQUIRED) - endif () diff --git a/ports/exiv2/fix-inih.patch b/ports/exiv2/fix-inih.patch deleted file mode 100644 index 853531f9b311f9..00000000000000 --- a/ports/exiv2/fix-inih.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff --git a/cmake/findDependencies.cmake b/cmake/findDependencies.cmake -index 1075c3031..bec2128a5 100644 ---- a/cmake/findDependencies.cmake -+++ b/cmake/findDependencies.cmake -@@ -77,7 +77,7 @@ if( ICONV_FOUND ) - endif() - - if( EXIV2_ENABLE_INIH ) -- find_package(inih) -+ find_package(unofficial-inih CONFIG REQUIRED) - message ( "-- inih_INCLUDE_DIRS : " ${inih_INCLUDE_DIRS} ) - message ( "-- inih_LIBRARIES : " ${inih_LIBRARIES} ) - message ( "-- inih_inireader_INCLUDE_DIRS : " ${inih_inireader_INCLUDE_DIRS} ) -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index dba7af99c..15bab8c8a 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -263,10 +263,10 @@ if( Iconv_FOUND AND Iconv_LIBRARIES ) - endif() - - if( EXIV2_ENABLE_INIH ) -- target_link_libraries( exiv2lib_int PRIVATE inih::libinih ) -- target_link_libraries( exiv2lib_int PRIVATE inih::inireader ) -- target_link_libraries( exiv2lib PRIVATE inih::libinih ) -- target_link_libraries( exiv2lib PRIVATE inih::inireader ) -+ target_link_libraries( exiv2lib_int PRIVATE unofficial::inih::libinih ) -+ target_link_libraries( exiv2lib_int PRIVATE unofficial::inih::inireader ) -+ target_link_libraries( exiv2lib PRIVATE unofficial::inih::libinih ) -+ target_link_libraries( exiv2lib PRIVATE unofficial::inih::inireader ) - list(APPEND requires_private_list "INIReader") - endif() - diff --git a/ports/exiv2/ios.patch b/ports/exiv2/ios.patch deleted file mode 100644 index 3775f0148bd0f1..00000000000000 --- a/ports/exiv2/ios.patch +++ /dev/null @@ -1,31 +0,0 @@ -diff --git a/src/futils.cpp b/src/futils.cpp -index 3e30c9996..c746838d5 100644 ---- a/src/futils.cpp -+++ b/src/futils.cpp -@@ -38,6 +38,10 @@ namespace fs = std::experimental::filesystem; - #include // for stat() - #endif - -+#if __has_include() -+#include // for _NSGetExecutablePath() -+#endif -+ - #if defined(__FreeBSD__) - // clang-format off - #include -@@ -360,9 +364,12 @@ std::string getProcessPath() { - TCHAR pathbuf[MAX_PATH]; - GetModuleFileName(nullptr, pathbuf, MAX_PATH); - auto path = fs::path(pathbuf); --#elif __has_include() -- char pathbuf[PROC_PIDPATHINFO_MAXSIZE]; -- proc_pidpath(getpid(), pathbuf, sizeof(pathbuf)); -+#elif defined(__APPLE__) -+ char pathbuf[2048]; -+ uint32_t size = sizeof(pathbuf); -+ const int get_exec_path_failure = _NSGetExecutablePath(pathbuf, &size); -+ if (get_exec_path_failure) -+ return "unknown"; // pathbuf not big enough - auto path = fs::path(pathbuf); - #elif defined(__sun__) - auto path = fs::read_symlink(Internal::stringFormat("/proc/%d/path/a.out", getpid())); diff --git a/ports/exiv2/portfile.cmake b/ports/exiv2/portfile.cmake index bde1fd91f194c4..5fcb41aa2dc773 100644 --- a/ports/exiv2/portfile.cmake +++ b/ports/exiv2/portfile.cmake @@ -2,25 +2,22 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Exiv2/exiv2 REF "v${VERSION}" - SHA512 35e483c6123f099167ed8647fae7c6e5512434c24d0afe684180ba6a5114068d5678280a01c8e6cfee0d1e555e1dc2a1606989d46950ce3ef1a3859caeed4dad + SHA512 c8338a118feefa104d73932890c732247c884ab9ce1d170c43a22ab5884517a0e2a7fd1febde7705b8290fbbbc29e64738610404816e4db2b56a70fc444ca049 HEAD_REF master PATCHES - fix-find_expat.patch - fix-inih.patch - fix-brotli.patch - fix-expat.patch - dont-find-python.patch - ios.patch + dependencies.diff ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES xmp EXIV2_ENABLE_XMP - video EXIV2_ENABLE_VIDEO png EXIV2_ENABLE_PNG nls EXIV2_ENABLE_NLS bmff EXIV2_ENABLE_BMFF ) +if(VCPKG_TARGET_IS_UWP) + list(APPEND FEATURE_OPTIONS -DEXIV2_ENABLE_FILESYSTEM_ACCESS=OFF) +endif() string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "dynamic" EXIV2_CRT_DYNAMIC) @@ -39,32 +36,23 @@ vcpkg_cmake_configure( -DEXIV2_ENABLE_DYNAMIC_RUNTIME=${EXIV2_CRT_DYNAMIC} -DEXIV2_ENABLE_WEBREADY=OFF -DEXIV2_ENABLE_CURL=OFF + -DEXIV2_ENABLE_VIDEO=OFF -DEXIV2_TEAM_EXTRA_WARNINGS=OFF -DEXIV2_TEAM_WARNINGS_AS_ERRORS=OFF -DEXIV2_TEAM_PACKAGING=OFF -DEXIV2_TEAM_USE_SANITIZERS=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_Python3=ON ) vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/exiv2) vcpkg_fixup_pkgconfig() - -configure_file( - ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake - ${CURRENT_PACKAGES_DIR}/share/${PORT} - @ONLY -) - vcpkg_copy_pdbs() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" - "${CURRENT_PACKAGES_DIR}/debug/lib/exiv2" "${CURRENT_PACKAGES_DIR}/debug/share" - "${CURRENT_PACKAGES_DIR}/lib/exiv2" "${CURRENT_PACKAGES_DIR}/share/man" ) vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") - -configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" COPYONLY) diff --git a/ports/exiv2/usage b/ports/exiv2/usage deleted file mode 100644 index 6d31c60264be26..00000000000000 --- a/ports/exiv2/usage +++ /dev/null @@ -1,4 +0,0 @@ -exiv2 provides CMake targets: - - find_package(exiv2 CONFIG REQUIRED) - target_link_libraries(main PRIVATE exiv2lib) \ No newline at end of file diff --git a/ports/exiv2/vcpkg-cmake-wrapper.cmake b/ports/exiv2/vcpkg-cmake-wrapper.cmake deleted file mode 100644 index 3eaaf3c791f7ce..00000000000000 --- a/ports/exiv2/vcpkg-cmake-wrapper.cmake +++ /dev/null @@ -1,31 +0,0 @@ -_find_package(${ARGS}) - -if("@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static") - if(NOT "@VCPKG_TARGET_IS_WINDOWS@") - find_package(Iconv REQUIRED) - endif() - if("@EXIV2_ENABLE_NLS@") - find_package(Intl REQUIRED) - endif() - if("@EXIV2_ENABLE_BMFF@") - find_package(unofficial-brotli CONFIG REQUIRED) - endif() - if("@EXIV2_ENABLE_XMP@") - find_package(expat CONFIG REQUIRED) - endif() - if("@EXIV2_ENABLE_PNG@") - find_package( ZLIB REQUIRED ) - endif() - find_package(unofficial-inih CONFIG REQUIRED) - if(TARGET exiv2lib) - if(NOT "@VCPKG_TARGET_IS_WINDOWS@") - set_property(TARGET exiv2lib APPEND PROPERTY INTERFACE_LINK_LIBRARIES Iconv::Iconv) - endif() - if("@EXIV2_ENABLE_NLS@") - set_property(TARGET exiv2lib APPEND PROPERTY INTERFACE_LINK_LIBRARIES - "\$<\$>:${Intl_LIBRARY_RELEASE}>" - "\$<\$:${Intl_LIBRARY_DEBUG}>" - ) - endif() - endif() -endif() diff --git a/ports/exiv2/vcpkg.json b/ports/exiv2/vcpkg.json index 6221cfbb84d5c2..27ea742e4730ff 100644 --- a/ports/exiv2/vcpkg.json +++ b/ports/exiv2/vcpkg.json @@ -1,11 +1,11 @@ { "name": "exiv2", - "version": "0.28.0", - "port-version": 1, + "version": "0.28.3", + "port-version": 2, "description": "Image metadata library and tools", "homepage": "https://exiv2.org", "license": "GPL-2.0-or-later", - "supports": "!uwp & !xbox", + "supports": "!xbox", "dependencies": [ "inih", { @@ -31,25 +31,24 @@ "nls": { "description": "Build native language support", "dependencies": [ - "gettext", { "name": "gettext", "host": true, "features": [ "tools" ] - } + }, + "gettext-libintl" ] }, "png": { "description": "Build with png support", "dependencies": [ - "libpng", "zlib" ] }, "video": { - "description": "Build video support into library" + "description": "Deprecated. it will be removed in the future." }, "xmp": { "description": "Build with XMP metadata support", diff --git a/ports/expat/portfile.cmake b/ports/expat/portfile.cmake index 9369094460c487..850931e72cb771 100644 --- a/ports/expat/portfile.cmake +++ b/ports/expat/portfile.cmake @@ -1,11 +1,10 @@ -vcpkg_minimum_required(VERSION 2022-10-12) string(REPLACE "." "_" REF "R_${VERSION}") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libexpat/libexpat REF "${REF}" - SHA512 779f0d0f3f2d8b33db0fd044864ab5ab1a40f20501f792fe90ad0d18de536c4765c3749f120e21fec11a0e6c89af1dc576d1fe261c871ca44a594f7b61fd1d9e + SHA512 6a6c5b0f6a1b2c70715701aeab688e476943704c492a0f2f8afd7fea84615a8d9569eb2b699912676058eff6a7bbdd78b48110ed67ab0250a3d41fe8f128f4e1 HEAD_REF master ) @@ -22,11 +21,12 @@ vcpkg_cmake_configure( -DEXPAT_SHARED_LIBS=${EXPAT_LINKAGE} -DEXPAT_MSVC_STATIC_CRT=${EXPAT_CRT_LINKAGE} -DEXPAT_BUILD_PKGCONFIG=ON - MAYBE_UNUSED_VARIABLES EXPAT_MSVC_STATIC_CRT + MAYBE_UNUSED_VARIABLES + EXPAT_MSVC_STATIC_CRT ) vcpkg_cmake_install() - +vcpkg_copy_pdbs() vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/expat-${VERSION}") vcpkg_fixup_pkgconfig() @@ -34,14 +34,10 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/doc") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/expat_external.h" "defined(_MSC_EXTENSIONS)" "defined(_WIN32)") if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/expat_external.h" - "! defined(XML_STATIC)" - "/* vcpkg static build ! defined(XML_STATIC) */ 0" - ) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/expat_external.h" "! defined(XML_STATIC)" "0") endif() -vcpkg_copy_pdbs() - file(COPY "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -file(INSTALL "${SOURCE_PATH}/expat/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/expat/COPYING") diff --git a/ports/expat/vcpkg.json b/ports/expat/vcpkg.json index 3613a6c72e6b42..f3827e51662edc 100644 --- a/ports/expat/vcpkg.json +++ b/ports/expat/vcpkg.json @@ -1,7 +1,6 @@ { "name": "expat", - "version": "2.5.0", - "port-version": 3, + "version": "2.6.4", "description": "XML parser library written in C", "homepage": "https://github.com/libexpat/libexpat", "license": "MIT", diff --git a/ports/expected-lite/portfile.cmake b/ports/expected-lite/portfile.cmake index 20b5871cf1df70..b3244c69235105 100644 --- a/ports/expected-lite/portfile.cmake +++ b/ports/expected-lite/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO martinmoene/expected-lite REF "v${VERSION}" - SHA512 d6a4f30f90494dda002ad27d227f17ce0201752178418d7dfada26441e853590d46816c88922e7d458dda68ad4414ddfe6b7fa4ed2a5854e4e3b22675b13f92a + SHA512 1e2b36e4966d66aa202c9fd9c251e643593cd3e08d5ecbff8849e2a41abab199188aaca25f1d4e84f1b3cb2387875a9750900dfc4ee56c2dbf153af9c2520943 HEAD_REF master ) diff --git a/ports/expected-lite/vcpkg.json b/ports/expected-lite/vcpkg.json index f237631be5a041..d8c6d9228645e5 100644 --- a/ports/expected-lite/vcpkg.json +++ b/ports/expected-lite/vcpkg.json @@ -1,6 +1,6 @@ { "name": "expected-lite", - "version": "0.6.3", + "version": "0.8.0", "description": "Expected objects in C++11 and later in a single-file header-only library", "homepage": "https://github.com/martinmoene/expected-lite", "license": "BSL-1.0", diff --git a/ports/ezc3d/portfile.cmake b/ports/ezc3d/portfile.cmake index 66e55e1204d9f8..1a8ce98491d080 100644 --- a/ports/ezc3d/portfile.cmake +++ b/ports/ezc3d/portfile.cmake @@ -2,15 +2,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO pyomeca/ezc3d REF "Release_${VERSION}" - SHA512 19f2602be04ea4b0d65d7c26cc6b5c687f65ef5bceae104d7bcddec1e8db05cc65db2cb37ac8133b7bbda99cd097ead08fd7dcdaf470f710f5cc68cd73edb150 + SHA512 343b4c6a03ff6cdf01e4443929a05eb15c14ed50d77f3a4e7783ace118f628e16873c8cd41ac58ecc2f29bf1ee6dd58851d45e5d64e2afc0d283c8c0a4eca576 HEAD_REF dev ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - "-Dezc3d_BIN_FOLDER=bin" - "-Dezc3d_LIB_FOLDER=lib" -DBUILD_EXAMPLE=OFF ) vcpkg_cmake_install() @@ -20,4 +18,4 @@ vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/ezc3d") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/ezc3d/vcpkg.json b/ports/ezc3d/vcpkg.json index 2fe5ec54ca360d..ed7e28d17cd027 100644 --- a/ports/ezc3d/vcpkg.json +++ b/ports/ezc3d/vcpkg.json @@ -1,6 +1,6 @@ { "name": "ezc3d", - "version": "1.5.0", + "version": "1.5.11", "description": "C3D reader/writer", "homepage": "https://github.com/pyomeca/ezc3d", "license": "MIT", diff --git a/ports/faad2/CMakeLists.txt b/ports/faad2/CMakeLists.txt deleted file mode 100644 index 23c0b684fd67d2..00000000000000 --- a/ports/faad2/CMakeLists.txt +++ /dev/null @@ -1,39 +0,0 @@ -cmake_minimum_required(VERSION 3.7.2) -project (faad VERSION 2.10.1) - -option(FAAD_BUILD_BINARIES "Build faad2 binaries" OFF) - -file(GLOB_RECURSE FAAD_SOURCES "${CMAKE_CURRENT_LIST_DIR}/libfaad/*.c") -file(GLOB_RECURSE FAAD_HEADERS "${CMAKE_CURRENT_LIST_DIR}/libfaad/*.h") - -if (BUILD_SHARED_LIBS) - list(APPEND FAAD_SOURCES "${CMAKE_CURRENT_LIST_DIR}/project/msvc/libfaad2.def") -endif () - -add_definitions(-DSTDC_HEADERS -DPACKAGE_VERSION=\"${PROJECT_VERSION}\" -D_CRT_SECURE_NO_WARNINGS -DHAVE_LRINTF) -include_directories( - "${CMAKE_CURRENT_LIST_DIR}/include" - "${CMAKE_CURRENT_LIST_DIR}/libfaad" -) -add_library(faad ${FAAD_SOURCES} ${FAAD_HEADERS}) - -if (FAAD_BUILD_BINARIES) - include_directories( - "${CMAKE_CURRENT_LIST_DIR}/frontend" - ) - add_executable(faad_decoder - "${CMAKE_SOURCE_DIR}/frontend/audio.c" - "${CMAKE_SOURCE_DIR}/frontend/main.c" - "${CMAKE_SOURCE_DIR}/frontend/mp4read.c" - "${CMAKE_SOURCE_DIR}/frontend/unicode_support.c" - ) - target_link_libraries(faad_decoder PRIVATE faad shell32) - install(TARGETS faad_decoder DESTINATION "bin") -endif () - -install( - TARGETS faad - ARCHIVE DESTINATION "lib" - LIBRARY DESTINATION "lib" - RUNTIME DESTINATION "bin" - ) diff --git a/ports/faad2/fix-install.patch b/ports/faad2/fix-install.patch new file mode 100644 index 00000000000000..fc44506997323f --- /dev/null +++ b/ports/faad2/fix-install.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5c0aeff..9614c19 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -261,7 +261,7 @@ endif() + + # Installation + +-if(NOT FAAD_BUNDLED_MODE AND NOT MSVC) ++if(1) + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/faad2.pc" + DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") + diff --git a/ports/faad2/portfile.cmake b/ports/faad2/portfile.cmake index 9ab7aff86452b4..a8e9dad9b53e84 100644 --- a/ports/faad2/portfile.cmake +++ b/ports/faad2/portfile.cmake @@ -2,30 +2,28 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO knik0/faad2 REF "${VERSION}" - SHA512 8df69278350c68dd770c4bc482e42bc95eb04cd784eeea3f3fc58d615833c8b07dc3c72029bb7e5bfed612b7c1b8daefc9cb57be9789befb587120ef115e55b3 + SHA512 b8f17680610b2f47344ea52b54412a02810a85eaf9d4c91b97ca09b2c6415c62d4af1b0771bfcacb9dfee400ed34504c0bd3c28369921c0392b3809e7de46ec5 HEAD_REF master -) - -file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") - -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - FEATURES - build-decoder FAAD_BUILD_BINARIES + PATCHES + fix-install.patch ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - OPTIONS ${FEATURE_OPTIONS} ) vcpkg_cmake_install() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() -if("build-decoder" IN_LIST FEATURES) - vcpkg_copy_tools(TOOL_NAMES faad_decoder AUTO_CLEAN) +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_copy_tools(TOOL_NAMES faad_cli AUTO_CLEAN) +else() + vcpkg_copy_tools(TOOL_NAMES faad AUTO_CLEAN) endif() -file(INSTALL "${SOURCE_PATH}/include" DESTINATION "${CURRENT_PACKAGES_DIR}") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/faad2/vcpkg.json b/ports/faad2/vcpkg.json index dabcffaee195cf..1d2dd484beb6be 100644 --- a/ports/faad2/vcpkg.json +++ b/ports/faad2/vcpkg.json @@ -1,19 +1,13 @@ { "name": "faad2", - "version": "2.10.1", + "version": "2.11.1", "description": "Freeware Advanced Audio (AAC) Decoder", "homepage": "https://sourceforge.net/projects/faac/", "license": "GPL-2.0-or-later", - "supports": "windows", "dependencies": [ { "name": "vcpkg-cmake", "host": true } - ], - "features": { - "build-decoder": { - "description": "Build the embedded decoder executable" - } - } + ] } diff --git a/ports/faiss/fix-dependencies.patch b/ports/faiss/fix-dependencies.patch index 81b9fd58fcd5c7..2c740372c72dbf 100644 --- a/ports/faiss/fix-dependencies.patch +++ b/ports/faiss/fix-dependencies.patch @@ -11,29 +11,34 @@ index 43ea9d4..437a7f8 100644 +find_dependency(LAPACK REQUIRED) include("${CMAKE_CURRENT_LIST_DIR}/faiss-targets.cmake") diff --git a/faiss/CMakeLists.txt b/faiss/CMakeLists.txt -index 30d573f..9af8baf 100644 +index a890a46..5a67a92 100644 --- a/faiss/CMakeLists.txt +++ b/faiss/CMakeLists.txt -@@ -212,17 +212,17 @@ target_link_libraries(faiss PRIVATE OpenMP::OpenMP_CXX) - target_link_libraries(faiss_avx2 PRIVATE OpenMP::OpenMP_CXX) +@@ -300,20 +300,20 @@ target_link_libraries(faiss_avx2 PRIVATE OpenMP::OpenMP_CXX) + target_link_libraries(faiss_avx512 PRIVATE OpenMP::OpenMP_CXX) find_package(MKL) -if(MKL_FOUND) +if(0) target_link_libraries(faiss PRIVATE ${MKL_LIBRARIES}) target_link_libraries(faiss_avx2 PRIVATE ${MKL_LIBRARIES}) + target_link_libraries(faiss_avx512 PRIVATE ${MKL_LIBRARIES}) else() find_package(BLAS REQUIRED) - target_link_libraries(faiss PRIVATE ${BLAS_LIBRARIES}) - target_link_libraries(faiss_avx2 PRIVATE ${BLAS_LIBRARIES}) +- target_link_libraries(faiss_avx512 PRIVATE ${BLAS_LIBRARIES}) + target_link_libraries(faiss PRIVATE BLAS::BLAS) + target_link_libraries(faiss_avx2 PRIVATE BLAS::BLAS) ++ target_link_libraries(faiss_avx512 PRIVATE BLAS::BLAS) find_package(LAPACK REQUIRED) - target_link_libraries(faiss PRIVATE ${LAPACK_LIBRARIES}) - target_link_libraries(faiss_avx2 PRIVATE ${LAPACK_LIBRARIES}) +- target_link_libraries(faiss_avx512 PRIVATE ${LAPACK_LIBRARIES}) + target_link_libraries(faiss PRIVATE LAPACK::LAPACK) + target_link_libraries(faiss_avx2 PRIVATE LAPACK::LAPACK) ++ target_link_libraries(faiss_avx512 PRIVATE LAPACK::LAPACK) endif() install(TARGETS faiss diff --git a/ports/faiss/portfile.cmake b/ports/faiss/portfile.cmake index 1d4f7ee2d47f42..7c918021406173 100644 --- a/ports/faiss/portfile.cmake +++ b/ports/faiss/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO facebookresearch/faiss - REF v1.7.4 - SHA512 9622fb989cb2e1879450c2ad257cb55d0c0c639f54f0815e4781f4e4b2ae2f01779f5c8c0738ae9a29fde7e418587e6a92e91240d36c1ca051a6228bfb777638 + REF "v${VERSION}" + SHA512 38d4215e3e019915d8b367ff0e8d14901b1495f6f45b835e9248276567a422b0370baab6bd887045442dd1e268b7fe7c347107162e66bb3ec6b1a53be4b2e441 HEAD_REF master PATCHES fix-dependencies.patch diff --git a/ports/faiss/vcpkg.json b/ports/faiss/vcpkg.json index 95345e887c0ec4..a62e88db6e439e 100644 --- a/ports/faiss/vcpkg.json +++ b/ports/faiss/vcpkg.json @@ -1,10 +1,10 @@ { "name": "faiss", - "version": "1.7.4", + "version": "1.8.0", "description": "Faiss is a library for efficient similarity search and clustering of dense vectors.", "homepage": "https://github.com/facebookresearch/faiss", "license": "MIT", - "supports": "!uwp & !osx & !x86", + "supports": "!uwp & !osx & !x86 & !(arm64 & windows)", "dependencies": [ "lapack", "openblas", @@ -20,6 +20,7 @@ "features": { "gpu": { "description": "Whether to enable GPU support", + "supports": "!uwp & !osx & !x86 & !windows", "dependencies": [ "cuda" ] diff --git a/ports/fakeit/portfile.cmake b/ports/fakeit/portfile.cmake index 596a641059038a..0b2d4e79c77f80 100644 --- a/ports/fakeit/portfile.cmake +++ b/ports/fakeit/portfile.cmake @@ -2,10 +2,25 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO eranpeer/FakeIt REF "${VERSION}" - SHA512 3575dc2247a97ea6d3c584e9b933e32cc0d1936fec480b19caf8305e8ba39bb11b4437930a5343b343df66347354ef5aaa8d2811e0ff3119bfc619629a0c2b8b + SHA512 CA9932DF909D6C7F75AB775B6AC9695C80F1DC4A58599C789EEA279A05183E9568BB80B63EBDA5EF77EDD54D766977AB7C5BCD565FB45A61B56CB8D43E49007B HEAD_REF master ) -file(COPY "${SOURCE_PATH}/single_header/" DESTINATION "${CURRENT_PACKAGES_DIR}/include") +set(VCPKG_BUILD_TYPE release) # header-only port -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DCMAKE_INSTALL_INCLUDEDIR=include/fakeit/single_header + -DENABLE_TESTING=OFF +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/FakeIt) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/fakeit/usage b/ports/fakeit/usage new file mode 100644 index 00000000000000..13d6783e85250f --- /dev/null +++ b/ports/fakeit/usage @@ -0,0 +1,5 @@ +FakeIt provides CMake targets: + + # Usage for specific framework tests (e.g. boost, catch, gtest, etc.) + find_package(FakeIt CONFIG REQUIRED) + target_link_libraries(main PRIVATE FakeIt::FakeIt-) diff --git a/ports/fakeit/vcpkg.json b/ports/fakeit/vcpkg.json index 066ce9a9509585..44ef830901827d 100644 --- a/ports/fakeit/vcpkg.json +++ b/ports/fakeit/vcpkg.json @@ -1,7 +1,17 @@ { "name": "fakeit", - "version": "2.4.0", + "version": "2.4.1", "description": "FakeIt is a simple mocking framework for C++. It supports GCC, Clang and MS Visual C++.", "homepage": "https://github.com/eranpeer/FakeIt", - "license": "MIT" + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/fast-double-parser/portfile.cmake b/ports/fast-double-parser/portfile.cmake new file mode 100644 index 00000000000000..996e2cace7dd70 --- /dev/null +++ b/ports/fast-double-parser/portfile.cmake @@ -0,0 +1,21 @@ +set(VCPKG_BUILD_TYPE release) # header-only + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO lemire/fast_double_parser + REF "v${VERSION}" + SHA512 41115f3c3b77ad430b0b4a1e622dd2a911ce3283bfd4190b5081f368cd1c371c68cf49789a12a2ed610a91e5b4693fe0b9b0d07876e82cfb0b106a6bc33dedd0 + HEAD_REF master +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTING=OFF +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(PACKAGE_NAME fast_double_parser) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/fast-double-parser/vcpkg.json b/ports/fast-double-parser/vcpkg.json new file mode 100644 index 00000000000000..470b7a5d837829 --- /dev/null +++ b/ports/fast-double-parser/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "fast-double-parser", + "version": "0.8.0", + "description": "Fast function to parse strings into double (binary64) floating-point values, enforces the RFC 7159 (JSON standard) grammar: 4x faster than strtod", + "homepage": "https://github.com/lemire/fast_double_parser", + "license": "Apache-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/fast-float/portfile.cmake b/ports/fast-float/portfile.cmake index ba15cd260763b7..e96dc773013f10 100644 --- a/ports/fast-float/portfile.cmake +++ b/ports/fast-float/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO fastfloat/fast_float REF "v${VERSION}" - SHA512 c703c7cba3c69775317c66a62ce145646fd7d3d063124501e3d6a7deebb8c62c14a2ccdffed18de2d73d9d3a8ba2061ef1d34cc780ee0b6d607935d5f1b1de81 + SHA512 d2dbd2537f433329a76539c061238af080125526b7822fbfdf0f70ac0a6800114848b9be0fdf9c51dbb22211af3bdcf9829ed9cc4a47fd28ecdeecf7c5d4b663 HEAD_REF master ) diff --git a/ports/fast-float/vcpkg.json b/ports/fast-float/vcpkg.json index d4654dc7c9b1d9..879d398f24aed2 100644 --- a/ports/fast-float/vcpkg.json +++ b/ports/fast-float/vcpkg.json @@ -1,6 +1,6 @@ { "name": "fast-float", - "version": "5.2.0", + "version": "6.1.6", "description": "Fast and exact implementation of the C++ from_chars functions for float and double types: 4x faster than strtod", "homepage": "https://github.com/fastfloat/fast_float", "license": "Apache-2.0 OR BSL-1.0 OR MIT", diff --git a/ports/fastcdr/pdb-file.patch b/ports/fastcdr/pdb-file.patch index 94b307e99e3831..03306a1b76a9c8 100644 --- a/ports/fastcdr/pdb-file.patch +++ b/ports/fastcdr/pdb-file.patch @@ -1,13 +1,13 @@ diff --git a/src/cpp/CMakeLists.txt b/src/cpp/CMakeLists.txt -index da35d03..343f038 100644 +index 7ac643b..a70750d 100644 --- a/src/cpp/CMakeLists.txt +++ b/src/cpp/CMakeLists.txt -@@ -195,7 +195,7 @@ elseif(NOT EPROSIMA_INSTALLER) - endif() +@@ -158,7 +158,7 @@ if(MSVC OR MSVC_IDE) + endif() - # install symbols if any -- if(PDB_FILE) -+ if(PDB_FILE AND BUILD_SHARED_LIBS) - install(FILES ${PDB_FILE} - DESTINATION ${LIB_INSTALL_DIR}${MSVCARCH_DIR_EXTENSION} - COMPONENT symbols + # install symbols if any +- if(PDB_FILE) ++ if(PDB_FILE AND BUILD_SHARED_LIBS) + install(FILES ${PDB_FILE} + DESTINATION ${LIB_INSTALL_DIR} + COMPONENT symbols diff --git a/ports/fastcdr/portfile.cmake b/ports/fastcdr/portfile.cmake index 26ce8589f1bb01..404fb1567f4cda 100644 --- a/ports/fastcdr/portfile.cmake +++ b/ports/fastcdr/portfile.cmake @@ -1,10 +1,8 @@ -vcpkg_minimum_required(VERSION 2022-10-12) # for ${VERSION} - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO eProsima/Fast-CDR - REF v${VERSION} - SHA512 66040acb563d7c06efb67a1536eb178183776e71a6b54c7e02efbe50ff0926aa24d87fb7869273e985c5c0f2b5d1496d3b1a20f10358373c73171b51c71e7e6a + REF "v${VERSION}" + SHA512 cf664c036e673f6eb2f11fb949b89f85cef830bae46116df1826f14d1985a856a46f0c5986657ea4d90feb488c94032038e294f368b9e5a31b0ed0d2043c2071 HEAD_REF master PATCHES pdb-file.patch diff --git a/ports/fastcdr/vcpkg.json b/ports/fastcdr/vcpkg.json index 6e21acc09f1080..85465b24c78bff 100644 --- a/ports/fastcdr/vcpkg.json +++ b/ports/fastcdr/vcpkg.json @@ -1,6 +1,6 @@ { "name": "fastcdr", - "version-semver": "1.1.0", + "version-semver": "2.2.4", "description": "eProsima FastCDR is a C++ library that provides two serialization mechanisms. One is the standard CDR serialization mechanism, while the other is a faster implementation that modifies the standard.", "homepage": "https://github.com/eProsima/Fast-CDR", "license": "Apache-2.0", diff --git a/ports/fastrtps/disable-symlink.patch b/ports/fastdds/disable-symlink.patch similarity index 99% rename from ports/fastrtps/disable-symlink.patch rename to ports/fastdds/disable-symlink.patch index d9584c81efbdff..680308477d9025 100644 --- a/ports/fastrtps/disable-symlink.patch +++ b/ports/fastdds/disable-symlink.patch @@ -1,16 +1,16 @@ -Normally, the build script attempts to create a symlink to fast-discovery-server on Windows -and only falls back to a batch file if the necessary administrator privileges are not available. -Since symlinks do not work well with vcpkg binary caching, -we force the build script to create a batch file in any case. -diff --git a/tools/fds/CMakeLists.txt b/tools/fds/CMakeLists.txt ---- a/tools/fds/CMakeLists.txt -+++ b/tools/fds/CMakeLists.txt -@@ -116,7 +116,7 @@ # - on windows privileges to create symlinks (a .bat file is provided on unprivileged installations) - if( WIN32 ) - # Use powershell to generate the link - install( -- CODE "execute_process( COMMAND PowerShell -Command \"if( test-path ${PROJECT_NAME}.exe -PathType Leaf ) { rm ${PROJECT_NAME}.exe } ; New-Item -ItemType SymbolicLink -Target $ -Path ${PROJECT_NAME}.exe \" ERROR_QUIET RESULTS_VARIABLE SYMLINK_FAILED WORKING_DIRECTORY \"${CMAKE_INSTALL_PREFIX}/${BIN_INSTALL_DIR}\") \n if( SYMLINK_FAILED ) \n message(STATUS \"Windows requires admin installation rights to create symlinks. A bat script will be provided instead.\") \n set(FAST_SERVER_BINARY_NAME $) \n configure_file(${CMAKE_CURRENT_LIST_DIR}/fast-discovery-server.bat.in ${CMAKE_INSTALL_PREFIX}/${BIN_INSTALL_DIR}${MSVCARCH_DIR_EXTENSION}/${PROJECT_NAME}.bat @ONLY) \n endif()" -+ CODE "set(FAST_SERVER_BINARY_NAME $) \n configure_file(${CMAKE_CURRENT_LIST_DIR}/fast-discovery-server.bat.in ${CMAKE_INSTALL_PREFIX}/${BIN_INSTALL_DIR}${MSVCARCH_DIR_EXTENSION}/${PROJECT_NAME}.bat @ONLY) \n" - COMPONENT discovery) - else() - # Use ln to create the symbolic link. We remove the version from the file name but keep the debug suffix +Normally, the build script attempts to create a symlink to fast-discovery-server on Windows +and only falls back to a batch file if the necessary administrator privileges are not available. +Since symlinks do not work well with vcpkg binary caching, +we force the build script to create a batch file in any case. +diff --git a/tools/fds/CMakeLists.txt b/tools/fds/CMakeLists.txt +--- a/tools/fds/CMakeLists.txt ++++ b/tools/fds/CMakeLists.txt +@@ -116,7 +116,7 @@ # - on windows privileges to create symlinks (a .bat file is provided on unprivileged installations) + if( WIN32 ) + # Use powershell to generate the link + install( +- CODE "execute_process( COMMAND PowerShell -Command \"if( test-path ${PROJECT_NAME}.exe -PathType Leaf ) { rm ${PROJECT_NAME}.exe } ; New-Item -ItemType SymbolicLink -Target $ -Path ${PROJECT_NAME}.exe \" ERROR_QUIET RESULTS_VARIABLE SYMLINK_FAILED WORKING_DIRECTORY \"${CMAKE_INSTALL_PREFIX}/${BIN_INSTALL_DIR}\") \n if( SYMLINK_FAILED ) \n message(STATUS \"Windows requires admin installation rights to create symlinks. A bat script will be provided instead.\") \n set(FAST_SERVER_BINARY_NAME $) \n configure_file(${CMAKE_CURRENT_LIST_DIR}/fast-discovery-server.bat.in ${CMAKE_INSTALL_PREFIX}/${BIN_INSTALL_DIR}${MSVCARCH_DIR_EXTENSION}/${PROJECT_NAME}.bat @ONLY) \n endif()" ++ CODE "set(FAST_SERVER_BINARY_NAME $) \n configure_file(${CMAKE_CURRENT_LIST_DIR}/fast-discovery-server.bat.in ${CMAKE_INSTALL_PREFIX}/${BIN_INSTALL_DIR}${MSVCARCH_DIR_EXTENSION}/${PROJECT_NAME}.bat @ONLY) \n" + COMPONENT discovery) + else() + # Use ln to create the symbolic link. We remove the version from the file name but keep the debug suffix diff --git a/ports/fastdds/fix-find-package-asio.patch b/ports/fastdds/fix-find-package-asio.patch new file mode 100644 index 00000000000000..c0da3d0beb34b7 --- /dev/null +++ b/ports/fastdds/fix-find-package-asio.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c930e31..11b96a3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -255,7 +255,7 @@ if(NOT BUILD_SHARED_LIBS) + endif() + + eprosima_find_package(fastcdr 2 REQUIRED) +-eprosima_find_thirdparty(Asio asio VERSION 1.10.8) ++find_package(asio CONFIG REQUIRED) + eprosima_find_thirdparty(TinyXML2 tinyxml2) + + find_package(foonathan_memory REQUIRED) diff --git a/ports/fastdds/pdb-file.patch b/ports/fastdds/pdb-file.patch new file mode 100644 index 00000000000000..e36bfc3879d4b1 --- /dev/null +++ b/ports/fastdds/pdb-file.patch @@ -0,0 +1,13 @@ +diff --git a/src/cpp/CMakeLists.txt b/src/cpp/CMakeLists.txt +index e0be0a7..9eb07a6 100644 +--- a/src/cpp/CMakeLists.txt ++++ b/src/cpp/CMakeLists.txt +@@ -661,7 +661,7 @@ if(MSVC OR MSVC_IDE) + endif() + + # install symbols if any +- if(PDB_FILE) ++ if(PDB_FILE AND BUILD_SHARED_LIBS) + install(FILES ${PDB_FILE} + DESTINATION ${LIB_INSTALL_DIR}${MSVCARCH_DIR_EXTENSION} + COMPONENT symbols diff --git a/ports/fastdds/portfile.cmake b/ports/fastdds/portfile.cmake new file mode 100644 index 00000000000000..b77db18bc8375f --- /dev/null +++ b/ports/fastdds/portfile.cmake @@ -0,0 +1,85 @@ + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO eProsima/Fast-DDS + REF "v${VERSION}" + SHA512 c2b22f6355fc38ccf49d41f7fe074092c6962d2fa759351b37d83af863c60839d9579bfef0f96540276229bcdb2d3d218e18777db89cf16092d09c26f2e24533 + HEAD_REF master + PATCHES + fix-find-package-asio.patch + disable-symlink.patch + pdb-file.patch +) + +set(extra_opts "") +if (VCPKG_TARGET_IS_WINDOWS AND VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + # when cross-compiling, try_run will not work. + set(extra_opts + -DSM_RUN_RESULT=TRUE + -DSM_RUN_RESULT__TRYRUN_OUTPUT= + ) +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${extra_opts} +) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() + +vcpkg_cmake_config_fixup(CONFIG_PATH share/fastdds/cmake) + +if(VCPKG_TARGET_IS_WINDOWS) + # copy tools from "bin" to "tools" folder + foreach(TOOL "fast-discovery-server-1.0.1.exe" "fast-discovery-server.bat" "fastdds.bat" "ros-discovery.bat") + file(INSTALL "${CURRENT_PACKAGES_DIR}/bin/${TOOL}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") + file(REMOVE "${CURRENT_PACKAGES_DIR}/bin/${TOOL}") + endforeach() + + # remove tools from debug builds + foreach(TOOL "fast-discovery-serverd-1.0.1.exe" "fast-discovery-server.bat" "fastdds.bat" "ros-discovery.bat") + if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/bin/${TOOL}") + file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/bin/${TOOL}") + endif() + endforeach() + + # adjust paths in batch files + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/fastdds.bat" "%dir%\\..\\tools\\fastdds\\fastdds.py" "%dir%\\..\\fastdds\\fastdds.py") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/ros-discovery.bat" "%dir%\\..\\tools\\fastdds\\fastdds.py" "%dir%\\..\\fastdds\\fastdds.py") + + vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}") +elseif(VCPKG_TARGET_IS_LINUX) + # copy tools from "bin" to "tools" folder + foreach(TOOL "fast-discovery-server-1.0.1" "fast-discovery-server" "fastdds" "ros-discovery") + file(INSTALL "${CURRENT_PACKAGES_DIR}/bin/${TOOL}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") + file(REMOVE "${CURRENT_PACKAGES_DIR}/bin/${TOOL}") + endforeach() + + # replace symlink by a copy because symlinks do not work well together with vcpkg binary caching + file(REMOVE "${CURRENT_PACKAGES_DIR}/tools/${PORT}/fast-discovery-server") + file(INSTALL "${CURRENT_PACKAGES_DIR}/tools/${PORT}/fast-discovery-server-1.0.1" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}" RENAME "fast-discovery-server") + + # remove tools from debug builds + foreach(TOOL "fast-discovery-serverd-1.0.1" "fast-discovery-server" "fastdds" "ros-discovery") + file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/bin/${TOOL}") + endforeach() + + # adjust paths in batch files + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/fastdds" "$dir/../tools/fastdds/fastdds.py" "$dir/../fastdds/fastdds.py") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/ros-discovery" "$dir/../tools/fastdds/fastdds.py" "$dir/../fastdds/fastdds.py") +endif() + +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/fastdds/discovery/parser.py" "tool_path / '../../../bin'" "tool_path / '../../${PORT}'") + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static" OR NOT VCPKG_TARGET_IS_WINDOWS) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin") +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/tools") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/fastdds/vcpkg.json b/ports/fastdds/vcpkg.json new file mode 100644 index 00000000000000..4b9b0fba76187d --- /dev/null +++ b/ports/fastdds/vcpkg.json @@ -0,0 +1,23 @@ +{ + "name": "fastdds", + "version": "3.1.0", + "description": "eprosima Fast DDS (formerly Fast RTPS) is a C++ implementation of the DDS (Data Distribution Service) standard of the OMG (Object Management Group). eProsima Fast DDS implements the RTPS (Real Time Publish Subscribe) protocol, which provides publisher-subscriber communications over unreliable transports such as UDP, as defined and maintained by the Object Management Group (OMG) consortium.", + "homepage": "https://www.eprosima.com/", + "license": "Apache-2.0", + "supports": "!uwp", + "dependencies": [ + "asio", + "fastcdr", + "foonathan-memory", + "openssl", + "tinyxml2", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/fastgltf/find_package.patch b/ports/fastgltf/find_package.patch deleted file mode 100644 index fb2a533962b208..00000000000000 --- a/ports/fastgltf/find_package.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index a311b65..bfbfbb3 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -74,6 +74,8 @@ if (FASTGLTF_DOWNLOAD_SIMDJSON) - NAMESPACE fastgltf:: - DESTINATION lib/cmake/fastgltf - ) -+else() -+ find_package(simdjson CONFIG REQUIRED) - endif() - - # Create the library target diff --git a/ports/fastgltf/portfile.cmake b/ports/fastgltf/portfile.cmake index 4572e199a003db..87d2a699ce7ffb 100644 --- a/ports/fastgltf/portfile.cmake +++ b/ports/fastgltf/portfile.cmake @@ -1,15 +1,35 @@ +vcpkg_download_distfile(PATCH_FIX_ANDROID_ISSUE_74 + URLS https://github.com/spnda/fastgltf/commit/e42df8b70d42f62fa9c678c23213e9cb649b9060.patch?full_index=1 + SHA512 1f205aef9fa5658f7139304002528db612e5f6d74b8281a568c52a0bcd94830c113c9875ea887374785ad041139ee336a66de1881179b0317900249a1140f537 + FILENAME spnda-fastgltf-v0.8.0-e42df8b70d42f62fa9c678c23213e9cb649b9060.patch +) + +vcpkg_download_distfile(PATCH_UWP_DISABLE_MEMORYMAPPEDFILE + URLS https://github.com/spnda/fastgltf/commit/279d960eee4c85690c90df92ce0bdc121a6233f4.patch?full_index=1 + SHA512 4f837e03c9b3ee3333a09b675e2395b300fff8e8231962a26da18e32d84cc9099bf231c174ca100c324e45beb0891fb5aeea40f35d71881350d845e6e2c95cd6 + FILENAME spnda-fastgltf-v0.8.0-279d960eee4c85690c90df92ce0bdc121a6233f4.patch +) + +vcpkg_download_distfile(PATCH_UWP_WINAPI_FAMILY + URLS https://github.com/spnda/fastgltf/commit/5278229d48e06d4770ecfea97402bbe1c8380038.patch?full_index=1 + SHA512 2521859f6126d0602ac9d641553ab502ad21ccc6f9227cf23da16ae7ae6df77f53b9a2b883c52a9ae191476a57a07e0008aa42f00c61cef09cc5d7145586e729 + FILENAME spnda-fastgltf-v0.8.0-5278229d48e06d4770ecfea97402bbe1c8380038.patch +) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO spnda/fastgltf REF "v${VERSION}" - SHA512 85b946f9ea849bcbbb77ff5d4dc8196d3348757cf6a940be1a50923158a31aa7b43aebed2799256cb3d303a81fa28e5eaeb000b6ecca3ab15f6a7a20908d8e8f + SHA512 7fbc479e03b26ef246625abd86b005ed1dde84e607346e890b71abffc2b26cf7b59880ab286526da5b811dd1f74cff9a6d44d65e128154fcd0f1c540dc11f1f5 HEAD_REF main - PATCHES find_package.patch + PATCHES + "${PATCH_FIX_ANDROID_ISSUE_74}" + "${PATCH_UWP_DISABLE_MEMORYMAPPEDFILE}" + "${PATCH_UWP_WINAPI_FAMILY}" ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - OPTIONS -DFASTGLTF_DOWNLOAD_SIMDJSON=OFF ) vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) diff --git a/ports/fastgltf/vcpkg.json b/ports/fastgltf/vcpkg.json index 7030e916ab0c1e..918b3c1664b203 100644 --- a/ports/fastgltf/vcpkg.json +++ b/ports/fastgltf/vcpkg.json @@ -1,8 +1,7 @@ { "name": "fastgltf", - "version": "0.5.0", - "port-version": 1, - "description": "Blazing fast C++17 glTF 2.0 loader powered by SIMD", + "version": "0.8.0", + "description": "A modern C++17 glTF 2.0 library focused on speed, correctness, and usability", "homepage": "https://github.com/spnda/fastgltf", "license": "MIT", "dependencies": [ diff --git a/ports/fastio/portfile.cmake b/ports/fastio/portfile.cmake index 7acb25af31a030..996f53cd3bb98f 100644 --- a/ports/fastio/portfile.cmake +++ b/ports/fastio/portfile.cmake @@ -2,8 +2,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO cppfastio/fast_io - REF e3df753a74a27e00bcb288bc97ab203645ed9579 - SHA512 9afe554570241a64e6f155419635aa6c0f97898902f7e4fcace883ed532142174e8b584e300223e0b8f2fa9831ee031f92465b2d5ffd9466de323b59efd37b59 + REF dd78867b7ae27da71c2e6d5d4f543066c301c047 + SHA512 7376b4f2420c6b21d1b81f693a067c43ca16ad3110a53893687e1715acfdfa4d41604fb1d13c1537809a9f14321cfae6829f56a10bdceba72926feb45ec9d0a3 HEAD_REF master ) diff --git a/ports/fastio/vcpkg.json b/ports/fastio/vcpkg.json index 72011591abfa06..5af20b1b38c1eb 100644 --- a/ports/fastio/vcpkg.json +++ b/ports/fastio/vcpkg.json @@ -1,6 +1,6 @@ { "name": "fastio", - "version-date": "2023-07-06", + "version-date": "2024-12-05", "description": "fast_io is an extremely fast C++20 input/output library aiming to replace and . It supports networking, NT apis, pipe, filesystem, winrt hstring, Qt, OpenSSL, cryptography. It is freestanding and it works on any platform, including dos, win95, wasm, linux kernel, windows kernel or your own operating system kernel. It has no dependencies.", "homepage": "https://github.com/cppfastio/fast_io", "license": "MIT", @@ -8,10 +8,6 @@ { "name": "vcpkg-cmake", "host": true - }, - { - "name": "vcpkg-cmake-config", - "host": true } ] } diff --git a/ports/fastlz/portfile.cmake b/ports/fastlz/portfile.cmake index 2826af500abcea..1c8059d90f3c7c 100644 --- a/ports/fastlz/portfile.cmake +++ b/ports/fastlz/portfile.cmake @@ -3,8 +3,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ariya/FastLZ - REF c3bdfad9e0094d0fb15c12cd300e647c13dc85f9 #2021-5-10 - SHA512 cb1c7e365e955f4cabfcb0bebf9cb57e88e81183fc0bec0713a88acee6bc3aeb31cdf8fa0b56b4b7c63f220ab7b50c299b13df15912a3b4a01ec70dd2a9513f7 + REF b1342dabcf5257ab303743c9332fe75e9147a011 #2024-08-02 + SHA512 a9c440c60e0d4fd9535a5438f3227e626c27ccd26cdcc9787c0dda5011b980c12ef46c7ddd2f197f6cc3bcef39755341d34214be9a508871ee3e1a24631a87b5 HEAD_REF master ) @@ -19,4 +19,4 @@ vcpkg_cmake_install() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # Handle copyright -file(INSTALL "${SOURCE_PATH}/LICENSE.MIT" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.MIT") diff --git a/ports/fastlz/vcpkg.json b/ports/fastlz/vcpkg.json index 04e23e869e2473..32c2725b0ac089 100644 --- a/ports/fastlz/vcpkg.json +++ b/ports/fastlz/vcpkg.json @@ -1,7 +1,6 @@ { "name": "fastlz", - "version-date": "2021-05-10", - "port-version": 2, + "version-date": "2024-08-02", "description": "A lightning-fast lossless compression library", "homepage": "https://github.com/ariya/FastLZ", "dependencies": [ diff --git a/ports/fastor/portfile.cmake b/ports/fastor/portfile.cmake index 7e4a96e5fd250b..c47c81641e1bdc 100644 --- a/ports/fastor/portfile.cmake +++ b/ports/fastor/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO romeric/Fastor - REF 76152e2fded7f014af969089e7d2ca966cef4d3b - SHA512 e2c4a267f592a7fbb92a54f7bf774a709b2a6d4a7bd3d338a20c455299a30d8352bfc6dd6c71eafa21ac70331ac0f4a86b176a56577699b82fde6f536429fb39 + REF "V${VERSION}" + SHA512 6f636cf93b6fcd3fed83c4c7e4d0e762c2ca03368cc5fa38805913173a35b5919a030190744edc90e13ba4e463f1be742b1aa97b849cc48e93d9bcb6b635774a HEAD_REF master ) @@ -17,5 +17,5 @@ vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/fastor/vcpkg.json b/ports/fastor/vcpkg.json index d7c08c649681c1..47743b464ffb8d 100644 --- a/ports/fastor/vcpkg.json +++ b/ports/fastor/vcpkg.json @@ -1,7 +1,6 @@ { "name": "fastor", - "version-date": "2021-11-22", - "port-version": 1, + "version": "0.6.4", "description": "a high performance tensor library for modern C++", "homepage": "https://github.com/romeric/Fastor", "dependencies": [ diff --git a/ports/fastrtps/fix-find-package-asio.patch b/ports/fastrtps/fix-find-package-asio.patch deleted file mode 100644 index 4592311e2a55aa..00000000000000 --- a/ports/fastrtps/fix-find-package-asio.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -141,7 +141,7 @@ if(NOT BUILD_SHARED_LIBS) - endif() - - eprosima_find_package(fastcdr REQUIRED) --eprosima_find_thirdparty(Asio asio VERSION 1.10.8) -+find_package(asio CONFIG REQUIRED) - eprosima_find_thirdparty(TinyXML2 tinyxml2) - - find_package(foonathan_memory REQUIRED) diff --git a/ports/fastrtps/fix-xtime.patch b/ports/fastrtps/fix-xtime.patch deleted file mode 100644 index 586233d02b1d05..00000000000000 --- a/ports/fastrtps/fix-xtime.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 7ca47ae..632c38b 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -42,6 +42,18 @@ message(STATUS "Version: ${PROJECT_VERSION}") - ############################################################################### - option(EPROSIMA_BUILD "Activate internal building" OFF) - -+############################################################################### -+# Replace xtime with _timespec64. As a workround of the unreleased version of -+# MSVC, it will be deleted after release. -+############################################################################### -+if(CMAKE_CXX_COMPILER_ID MATCHES "MSVC") -+ if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "19.37.32705.0") -+ file(READ "${PROJECT_SOURCE_DIR}/include/fastrtps/utils/TimedMutex.hpp" _contents) -+ string(REPLACE "xtime*" "_timespec64*" _contents "${_contents}") -+ file(WRITE "${PROJECT_SOURCE_DIR}/include/fastrtps/utils/TimedMutex.hpp" "${_contents}") -+ endif() -+endif() -+ - ############################################################################### - # Warning level - ############################################################################### diff --git a/ports/fastrtps/fix_thread.patch b/ports/fastrtps/fix_thread.patch deleted file mode 100644 index 075a940cfd4276..00000000000000 --- a/ports/fastrtps/fix_thread.patch +++ /dev/null @@ -1,40 +0,0 @@ -diff --git a/include/fastrtps/utils/TimedMutex.hpp b/include/fastrtps/utils/TimedMutex.hpp -index 8d5d968..7ba3e00 100644 ---- a/include/fastrtps/utils/TimedMutex.hpp -+++ b/include/fastrtps/utils/TimedMutex.hpp -@@ -23,10 +23,14 @@ - #include - - #if defined(_WIN32) -+#if defined(_MSC_FULL_VER) && _MSC_FULL_VER >= 193632528 -+#include -+#else - #include - extern int clock_gettime( - int, - struct timespec* tv); -+#endif // if defined(_MSC_FULL_VER) && _MSC_FULL_VER >= 193632528 - #elif _GTHREAD_USE_MUTEX_TIMEDLOCK - #include - #else -@@ -37,6 +41,11 @@ namespace eprosima { - namespace fastrtps { - - #if defined(_WIN32) -+ -+#if defined(_MSC_FULL_VER) && _MSC_FULL_VER >= 193632528 -+using TimedMutex = std::timed_mutex; -+using RecursiveTimedMutex = std::recursive_timed_mutex; -+#else - class TimedMutex - { - public: -@@ -182,6 +191,8 @@ private: - - _Mtx_t mutex_; - }; -+#endif // if defined(_MSC_FULL_VER) && _MSC_FULL_VER >= 193632528 -+ - #elif _GTHREAD_USE_MUTEX_TIMEDLOCK || !defined(__unix__) - using TimedMutex = std::timed_mutex; - using RecursiveTimedMutex = std::recursive_timed_mutex; diff --git a/ports/fastrtps/portfile.cmake b/ports/fastrtps/portfile.cmake deleted file mode 100644 index cbceacd732f82c..00000000000000 --- a/ports/fastrtps/portfile.cmake +++ /dev/null @@ -1,75 +0,0 @@ -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO eProsima/Fast-DDS - REF v2.7.0 - SHA512 289c94fb177209ffc80e93ae61822c83e7cb74ba7682f05a921c50ce048498bd811c19825d1fdb8af39b29a64904e96d87c5c59468139f0d8bb528549b80c94a - HEAD_REF master - PATCHES - fix-find-package-asio.patch - disable-symlink.patch - fix-xtime.patch - fix_thread.patch #https://github.com/eProsima/Fast-DDS/pull/3904 -) - -vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - DISABLE_PARALLEL_CONFIGURE # due to fix-xtime.patch -) - -vcpkg_cmake_install() -vcpkg_copy_pdbs() - -vcpkg_cmake_config_fixup(CONFIG_PATH share/fastrtps/cmake) - -if(VCPKG_TARGET_IS_WINDOWS) - # copy tools from "bin" to "tools" folder - foreach(TOOL "fast-discovery-server-1.0.0.exe" "fast-discovery-server.bat" "fastdds.bat" "ros-discovery.bat") - file(INSTALL "${CURRENT_PACKAGES_DIR}/bin/${TOOL}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") - file(REMOVE "${CURRENT_PACKAGES_DIR}/bin/${TOOL}") - endforeach() - - # remove tools from debug builds - foreach(TOOL "fast-discovery-serverd-1.0.0.exe" "fast-discovery-server.bat" "fastdds.bat" "ros-discovery.bat") - if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/bin/${TOOL}") - file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/bin/${TOOL}") - endif() - endforeach() - - # adjust paths in batch files - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/fastdds.bat" "%dir%\\..\\tools\\fastdds\\fastdds.py" "%dir%\\..\\fastdds\\fastdds.py") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/ros-discovery.bat" "%dir%\\..\\tools\\fastdds\\fastdds.py" "%dir%\\..\\fastdds\\fastdds.py") - - vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}") -elseif(VCPKG_TARGET_IS_LINUX) - # copy tools from "bin" to "tools" folder - foreach(TOOL "fast-discovery-server-1.0.0" "fast-discovery-server" "fastdds" "ros-discovery") - file(INSTALL "${CURRENT_PACKAGES_DIR}/bin/${TOOL}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") - file(REMOVE "${CURRENT_PACKAGES_DIR}/bin/${TOOL}") - endforeach() - - # replace symlink by a copy because symlinks do not work well together with vcpkg binary caching - file(REMOVE "${CURRENT_PACKAGES_DIR}/tools/${PORT}/fast-discovery-server") - file(INSTALL "${CURRENT_PACKAGES_DIR}/tools/${PORT}/fast-discovery-server-1.0.0" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}" RENAME "fast-discovery-server") - - # remove tools from debug builds - foreach(TOOL "fast-discovery-serverd-1.0.0" "fast-discovery-server" "fastdds" "ros-discovery") - file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/bin/${TOOL}") - endforeach() - - # adjust paths in batch files - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/fastdds" "$dir/../tools/fastdds/fastdds.py" "$dir/../fastdds/fastdds.py") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/ros-discovery" "$dir/../tools/fastdds/fastdds.py" "$dir/../fastdds/fastdds.py") -endif() - -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/fastdds/discovery/parser.py" "tool_path / '../../../bin'" "tool_path / '../../${PORT}'") - -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static" OR NOT VCPKG_TARGET_IS_WINDOWS) - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin") -endif() - -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/tools") - -vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/fastrtps/vcpkg.json b/ports/fastrtps/vcpkg.json deleted file mode 100644 index 130260655fd4d7..00000000000000 --- a/ports/fastrtps/vcpkg.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "name": "fastrtps", - "version": "2.7.0", - "port-version": 4, - "description": "Eprosima Fast RTPS is a C++ implementation of the RTPS (Real Time Publish Subscribe) protocol, which provides publisher-subscriber communications over unreliable transports such as UDP, as defined and maintained by the Object Management Group (OMG) consortium.", - "homepage": "https://www.eprosima.com/", - "license": "Apache-2.0", - "supports": "!uwp", - "dependencies": [ - "asio", - "fastcdr", - "foonathan-memory", - "openssl", - "tinyxml2", - { - "name": "vcpkg-cmake", - "host": true - }, - { - "name": "vcpkg-cmake-config", - "host": true - } - ] -} diff --git a/ports/faudio/portfile.cmake b/ports/faudio/portfile.cmake new file mode 100644 index 00000000000000..9432363ecf4026 --- /dev/null +++ b/ports/faudio/portfile.cmake @@ -0,0 +1,32 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO FNA-XNA/faudio + REF "${VERSION}" + SHA512 f74282a7df749f50026bb07309ca20fb12b098cc24b003f8b93f4f6868a3d6f4343d4bd06b947b17d9ec6c1d08f88e477da259397d745f9cc41321f7c5722448 + HEAD_REF master +) + +set(options "") +if(VCPKG_TARGET_IS_WINDOWS) + list(APPEND options -DPLATFORM_WIN32=TRUE) +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${options} +) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/FAudio) + +vcpkg_install_copyright( + COMMENT "FAudio is licensed under the Zlib license." + FILE_LIST + "${SOURCE_PATH}/LICENSE" +) diff --git a/ports/faudio/vcpkg.json b/ports/faudio/vcpkg.json new file mode 100644 index 00000000000000..e5d5cd543f3124 --- /dev/null +++ b/ports/faudio/vcpkg.json @@ -0,0 +1,23 @@ +{ + "name": "faudio", + "version-string": "24.09", + "description": "FAudio - accuracy-focused XAudio reimplementation for open platforms", + "homepage": "https://fna-xna.github.io/", + "license": "Zlib", + "supports": "!uwp", + "dependencies": [ + { + "name": "sdl2", + "default-features": false, + "platform": "!windows" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/fbgemm/vcpkg.json b/ports/fbgemm/vcpkg.json index b399dbf34e5ff5..d81314e00d0d6d 100644 --- a/ports/fbgemm/vcpkg.json +++ b/ports/fbgemm/vcpkg.json @@ -1,10 +1,11 @@ { "name": "fbgemm", "version": "0.4.1", + "port-version": 1, "description": "FB (Facebook) + GEMM (General Matrix-Matrix Multiplication)", "homepage": "https://code.fb.com/ml-applications/fbgemm/", "license": "BSD-3-Clause", - "supports": "!(x86 | uwp)", + "supports": "!arm & !x86 & !uwp", "dependencies": [ "asmjit", "cpuinfo", diff --git a/ports/fbthrift/0002-fix-dependency.patch b/ports/fbthrift/0002-fix-dependency.patch deleted file mode 100644 index 6740a2a41427bd..00000000000000 --- a/ports/fbthrift/0002-fix-dependency.patch +++ /dev/null @@ -1,58 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 5eea37c..145e5b6 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -96,23 +96,25 @@ endif () - - # Find required dependencies for thrift/lib - if (THRIFT_LIB_ONLY OR build_all) -- find_package(Gflags REQUIRED) -+ find_package(gflags CONFIG REQUIRED) -+ set(LIBGFLAGS_LIBRARY gflags::gflags) - find_package(glog CONFIG REQUIRED) - set (GLOG_LIBRARIES glog::glog) - find_package(folly CONFIG REQUIRED) - find_package(fizz CONFIG REQUIRED) - find_package(wangle CONFIG REQUIRED) - find_package(ZLIB REQUIRED) -- find_package(Zstd REQUIRED) -+ find_package(zstd CONFIG REQUIRED) -+ if(TARGET zstd::libzstd_shared) -+ set(ZSTD_LIBRARIES zstd::libzstd_shared) -+ elseif(TARGET zstd::libzstd_static) -+ set(ZSTD_LIBRARIES zstd::libzstd_static) -+ endif() - find_package(mvfst CONFIG REQUIRED) - # https://cmake.org/cmake/help/v3.9/module/FindThreads.html - set(THREADS_PREFER_PTHREAD_FLAG ON) - find_package(Threads) - include_directories( -- ${LIBGFLAGS_INCLUDE_DIR} -- ${GLOG_INCLUDE_DIRS} -- ${OPENSSL_INCLUDE_DIR} -- ${ZSTD_INCLUDE_DIRS} - ) - add_definitions("-DTHRIFT_HAVE_LIBSNAPPY=0") - if (THRIFT_LIB_ONLY) -diff --git a/thrift/cmake/FBThriftConfig.cmake.in b/thrift/cmake/FBThriftConfig.cmake.in -index 1d38221..ab96215 100644 ---- a/thrift/cmake/FBThriftConfig.cmake.in -+++ b/thrift/cmake/FBThriftConfig.cmake.in -@@ -28,8 +28,15 @@ else() - set_and_check(FBTHRIFT_COMPILER "@PACKAGE_BIN_INSTALL_DIR@/thrift1") - endif() - --find_dependency(ZLIB REQUIRED) --find_package(mvfst CONFIG REQUIRED) -+find_dependency(ZLIB) -+find_dependency(mvfst CONFIG) -+find_dependency(fizz CONFIG ) -+find_dependency(fmt CONFIG ) -+find_dependency(folly CONFIG ) -+find_dependency(gflags CONFIG) -+find_dependency(glog CONFIG ) -+find_dependency(wangle CONFIG ) -+find_dependency(zstd CONFIG) - - if (NOT TARGET FBThrift::thriftcpp2) - include("${FBTHRIFT_CMAKE_DIR}/FBThriftTargets.cmake") diff --git a/ports/fbthrift/fix-deps.patch b/ports/fbthrift/fix-deps.patch new file mode 100644 index 00000000000000..14b6107358b4ef --- /dev/null +++ b/ports/fbthrift/fix-deps.patch @@ -0,0 +1,61 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c6b2b2a810..787a83bb1c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -105,24 +105,26 @@ endif () + + # Find required dependencies for thrift/lib + if (THRIFT_LIB_ONLY OR build_all) +- find_package(Gflags REQUIRED) +- find_package(Glog REQUIRED) ++ find_package(gflags CONFIG REQUIRED) ++ set(LIBGFLAGS_LIBRARY gflags::gflags) ++ find_package(glog CONFIG REQUIRED) ++ set(GLOG_LIBRARIES glog::glog) + find_package(folly CONFIG REQUIRED) + find_package(fizz CONFIG REQUIRED) + find_package(wangle CONFIG REQUIRED) + find_package(ZLIB REQUIRED) +- find_package(Zstd REQUIRED) ++ find_package(zstd CONFIG REQUIRED) ++ if(TARGET zstd::libzstd_shared) ++ set(ZSTD_LIBRARIES zstd::libzstd_shared) ++ elseif(TARGET zstd::libzstd_static) ++ set(ZSTD_LIBRARIES zstd::libzstd_static) ++ endif() + find_package(Xxhash REQUIRED) + find_package(mvfst CONFIG REQUIRED) + # https://cmake.org/cmake/help/v3.9/module/FindThreads.html + set(THREADS_PREFER_PTHREAD_FLAG ON) + find_package(Threads) + include_directories( +- ${LIBGFLAGS_INCLUDE_DIR} +- ${GLOG_INCLUDE_DIRS} +- ${OPENSSL_INCLUDE_DIR} +- ${ZSTD_INCLUDE_DIRS} +- ${Xxhash_INCLUDE_DIR} + ) + add_definitions("-DTHRIFT_HAVE_LIBSNAPPY=0") + if (THRIFT_LIB_ONLY) +diff --git a/thrift/cmake/FBThriftConfig.cmake.in b/thrift/cmake/FBThriftConfig.cmake.in +index 057015258c..f0c6692246 100644 +--- a/thrift/cmake/FBThriftConfig.cmake.in ++++ b/thrift/cmake/FBThriftConfig.cmake.in +@@ -29,8 +29,15 @@ else() + set_and_check(FBTHRIFT_COMPILER "@PACKAGE_BIN_INSTALL_DIR@/thrift1") + endif() + +-find_dependency(ZLIB REQUIRED) +-find_package(mvfst CONFIG REQUIRED) ++find_dependency(ZLIB) ++find_dependency(mvfst CONFIG) ++find_dependency(fizz CONFIG) ++find_dependency(fmt CONFIG) ++find_dependency(folly CONFIG) ++find_dependency(gflags CONFIG) ++find_dependency(glog CONFIG) ++find_dependency(wangle CONFIG) ++find_dependency(zstd CONFIG) + + if (NOT TARGET FBThrift::thriftcpp2) + include("${FBTHRIFT_CMAKE_DIR}/FBThriftTargets.cmake") diff --git a/ports/fbthrift/fix-glog.patch b/ports/fbthrift/fix-glog.patch deleted file mode 100644 index 362e1d1eed09a2..00000000000000 --- a/ports/fbthrift/fix-glog.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 7d9a1e7..d2b69ad 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -97,7 +97,8 @@ endif () - # Find required dependencies for thrift/lib - if (THRIFT_LIB_ONLY OR build_all) - find_package(Gflags REQUIRED) -- find_package(Glog REQUIRED) -+ find_package(glog CONFIG REQUIRED) -+ set (GLOG_LIBRARIES glog::glog) - find_package(folly CONFIG REQUIRED) - find_package(fizz CONFIG REQUIRED) - find_package(wangle CONFIG REQUIRED) diff --git a/ports/fbthrift/fix-test.patch b/ports/fbthrift/fix-test.patch new file mode 100644 index 00000000000000..918ea51b82345b --- /dev/null +++ b/ports/fbthrift/fix-test.patch @@ -0,0 +1,16 @@ +diff --git a/thrift/lib/cpp2/CMakeLists.txt b/thrift/lib/cpp2/CMakeLists.txt +index 439f0814..3374dd34 100644 +--- a/thrift/lib/cpp2/CMakeLists.txt ++++ b/thrift/lib/cpp2/CMakeLists.txt +@@ -15,11 +15,6 @@ + # Set the cpp2 directory + set(LIB_CPP2_HOME ${CMAKE_CURRENT_SOURCE_DIR}) + +-if (enable_tests) +- add_subdirectory(protocol/test) +-endif () +-add_subdirectory(test) +- + ####### + # CMAKE variables only have local/subdirectory scope + # So even though this is defined in ../thrift/CMakeLists.txt as a variable diff --git a/ports/fbthrift/portfile.cmake b/ports/fbthrift/portfile.cmake index 2230f64525621e..94261e25ad6827 100644 --- a/ports/fbthrift/portfile.cmake +++ b/ports/fbthrift/portfile.cmake @@ -1,15 +1,12 @@ -vcpkg_find_acquire_program(FLEX) -vcpkg_find_acquire_program(BISON) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO facebook/fbthrift REF "v${VERSION}" - SHA512 8730c2ecfeccf221e746df9f8e449d31934fd7e6f7861631d4c38e891cfc7b5ab07ffb48b56048031820f771966d6435bee2996738934bca9324548aeba5b30d - HEAD_REF master - PATCHES - fix-glog.patch - 0002-fix-dependency.patch + SHA512 a288bd91f3f0b7adb0d5dcfc6e7fef2f60a18ea56545e63e67d449a72986e710c2f58c8782d0950ef48f7a6bf331af0bc2019240638ece4cdacebec4571c920e + HEAD_REF main + PATCHES + fix-deps.patch + fix-test.patch ) file(REMOVE "${SOURCE_PATH}/thrift/cmake/FindGMock.cmake") @@ -21,13 +18,12 @@ file(REMOVE "${SOURCE_PATH}/build/fbcode_builder/CMake/FindGMock.cmake") file(REMOVE "${SOURCE_PATH}/build/fbcode_builder/CMake/FindLibEvent.cmake") file(REMOVE "${SOURCE_PATH}/build/fbcode_builder/CMake/FindSodium.cmake") file(REMOVE "${SOURCE_PATH}/build/fbcode_builder/CMake/FindZstd.cmake") + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - "-DBISON_EXECUTABLE=${BISON}" - "-DFLEX_EXECUTABLE=${FLEX}" + "-Dthriftpy=OFF" ) - vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/fbthrift) @@ -35,31 +31,41 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # There should be no empty directories in vcpkg/packages/fbthrift_x64-linux file(REMOVE_RECURSE - "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp/transport/test" "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp/transport/test" "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp/util/test" - "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/detail/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/async/metadata/test" "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/debug_thrift_data_difference/test" - "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/transport/http2/server/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/detail/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/folly_dynamic/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/frozen/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/patch/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/protocol/detail/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/protocol/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/protocol/tool" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/reflection/demo" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/reflection/docs" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/runtime/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/schema/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/security/extensions/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/security/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/server/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/transport/core/test" "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/transport/http2/common/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/transport/http2/server/test" "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/transport/http2/test" - "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/transport/core/test" "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/transport/inmemory/test" "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/transport/rocket/client/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/transport/rocket/compression/test" "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/transport/rocket/framing/parser/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/transport/rocket/payload/test" "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/transport/rocket/server/test" - "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/protocol/test" - "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/security/extensions/test" - "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/security/test" - "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/test" - "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/frozen/test" - "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/reflection/docs" - "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/util/test" "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/util/gtest/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/util/test" "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/visitation/test" - "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/server/test" - "${CURRENT_PACKAGES_DIR}/include/thrift/lib/py3/test" "${CURRENT_PACKAGES_DIR}/include/thrift/lib/py3/benchmark" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/py3/test" "${CURRENT_PACKAGES_DIR}/include/thrift/lib/thrift/annotation" ) @@ -76,7 +82,7 @@ if(EXISTS "${CURRENT_PACKAGES_DIR}/share/fbthrift/FBThriftConfig.cmake") endif() # Only used internally and removed in master -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/fbthrift/FBThriftTargets.cmake" "LOCATION_HH=\\\"${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/thrift/compiler/location.hh\\\"" "") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/fbthrift/FBThriftTargets.cmake" "LOCATION_HH=\\\"${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/thrift/compiler/location.hh\\\"" "" IGNORE_UNCHANGED) # Handle copyright vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/fbthrift/vcpkg.json b/ports/fbthrift/vcpkg.json index 7103b58369bdca..b84267a999ae25 100644 --- a/ports/fbthrift/vcpkg.json +++ b/ports/fbthrift/vcpkg.json @@ -1,6 +1,6 @@ { "name": "fbthrift", - "version-string": "2023.10.02.00", + "version-string": "2025.01.06.00", "description": "Facebook's branch of Apache Thrift, including a new C++ server.", "homepage": "https://github.com/facebook/fbthrift", "license": "Apache-2.0", @@ -28,6 +28,7 @@ "host": true }, "wangle", + "xxhash", "zlib", "zstd" ] diff --git a/ports/fdk-aac/cxx-linkage-pkgconfig.patch b/ports/fdk-aac/cxx-linkage-pkgconfig.patch new file mode 100644 index 00000000000000..4f8bdd158724ca --- /dev/null +++ b/ports/fdk-aac/cxx-linkage-pkgconfig.patch @@ -0,0 +1,20 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4db8c7e..da3297c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -528,6 +528,15 @@ if(FDK_AAC_INSTALL_PKGCONFIG_MODULE) + set(LIBS_PUBLIC "-lm") + endif() + endif() ++ foreach(lib IN LISTS CMAKE_CXX_IMPLICIT_LINK_LIBRARIES) ++ if(lib IN_LIST CMAKE_C_IMPLICIT_LINK_LIBRARIES) ++ continue() ++ elseif(EXISTS "${lib}") ++ string(APPEND LIBS_PRIVATE " ${CMAKE_LINK_LIBRARY_FILE_FLAG}${lib}") ++ else() ++ string(APPEND LIBS_PRIVATE " ${CMAKE_LINK_LIBRARY_FLAG}${lib}") ++ endif() ++ endforeach() + configure_file(fdk-aac.pc.in fdk-aac.pc @ONLY) + install( + FILES diff --git a/ports/fdk-aac/portfile.cmake b/ports/fdk-aac/portfile.cmake index 81b4f0e8f1a491..5fb648546f5d56 100644 --- a/ports/fdk-aac/portfile.cmake +++ b/ports/fdk-aac/portfile.cmake @@ -3,6 +3,7 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES he-aac HE_AAC ) +set(legal_notes "NOTICE") if(HE_AAC) vcpkg_from_github( REPO mstorsjo/fdk-aac @@ -10,27 +11,35 @@ if(HE_AAC) SHA512 616207e85035d1659a2b7808ca6ec02ef53c1c4b39eb280fe861f82a4cf548e5db2ac381c496bad37dfc2b8c6677fe704d9fd8449e43d1f93d3e636239e0191b HEAD_REF master OUT_SOURCE_PATH SOURCE_PATH + PATCHES + cxx-linkage-pkgconfig.patch ) else() + list(PREPEND legal_notes "README.fedora") vcpkg_from_gitlab( GITLAB_URL https://gitlab.freedesktop.org/ REPO wtaymans/fdk-aac-stripped - REF 585981a49f2186b0d2e47c64bf6b5abf539395f8 # corresponds to v2.0.2 tag in mstorsjo/fdk-aac GitHub repository + REF 529b87452cd33d45e1d0a5066d20b64f10b38845 # corresponds to v2.0.2 tag in mstorsjo/fdk-aac GitHub repository HEAD_REF stripped4 - SHA512 e0e56396ed0be427302ed4b54fc6e8dc522a172c288b7c1ec40cc3a9ceb13518ca7bbb874bc71b88b2a91e0bbbe4ad0bab6910efa1db63d91e6370976641bac4 + SHA512 0c37f8fd1bd0e817d2b3970138bef5b2a7a3150ab1a772273c8f5cba09be04afa2f31780f0ea063dd786a71844aa4cb5821349a4bcc5ebe70e827c3561eda2a9 OUT_SOURCE_PATH SOURCE_PATH + PATCHES + cxx-linkage-pkgconfig.patch ) endif() vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} - OPTIONS_RELEASE -DBUILD_PROGRAMS=OFF + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_PROGRAMS=OFF ) vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() -vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}") -vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/NOTICE") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +list(TRANSFORM legal_notes PREPEND "${SOURCE_PATH}/") +vcpkg_install_copyright(FILE_LIST ${legal_notes}) diff --git a/ports/fdk-aac/vcpkg.json b/ports/fdk-aac/vcpkg.json index 5b9cb2a02325e9..bc2eb0a1e869f5 100644 --- a/ports/fdk-aac/vcpkg.json +++ b/ports/fdk-aac/vcpkg.json @@ -1,7 +1,7 @@ { "name": "fdk-aac", "version-semver": "2.0.2", - "port-version": 2, + "port-version": 4, "description": "A standalone Third-Party Modified Version of the Fraunhofer FDK AAC Codec Library for Android. Uses a fork without HE-AAC, HE-AACv2, or xHE-AAC support to avoid patent licensing and GPL compatibility issues when built without the he-aac option.", "homepage": "https://gitlab.freedesktop.org/wtaymans/fdk-aac-stripped", "license": "FDK-AAC", @@ -17,7 +17,8 @@ ], "features": { "he-aac": { - "description": "Support patent-encumbered HE-AAC, HE-AACv2, and xHE-AAC codec profiles. Do not distribute binaries with this option without the relevant patent licenses if you are in a jurisdiction that recognizes software patents. Might not be compatible with the GPL depending on legal interpretation. Refer to https://bugzilla.redhat.com/show_bug.cgi?id=1501522#c112" + "description": "Support patent-encumbered HE-AAC, HE-AACv2, and xHE-AAC codec profiles. Do not distribute binaries with this option without the relevant patent licenses if you are in a jurisdiction that recognizes software patents. Might not be compatible with the GPL depending on legal interpretation. Refer to https://bugzilla.redhat.com/show_bug.cgi?id=1501522#c112", + "supports": "!android" } } } diff --git a/ports/fenster/portfile.cmake b/ports/fenster/portfile.cmake new file mode 100644 index 00000000000000..44da1c61d83ee4 --- /dev/null +++ b/ports/fenster/portfile.cmake @@ -0,0 +1,15 @@ +# header-only library +set(VCPKG_BUILD_TYPE release) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO zserge/fenster + REF 92aa0ecd30f1c1c8175d72042c319268568434fb + SHA512 2909afe3d5cab88c4353e2632d05b2ff196fb21ebb9789ccb851e328961836b4b5d5eca80843c38e7924ef48ff02106fc4f06ebe5ffe71f71b5bbbb4dad229b9 + HEAD_REF main +) + +file(COPY "${SOURCE_PATH}/fenster.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include") +file(COPY "${SOURCE_PATH}/fenster_audio.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/fenster/vcpkg.json b/ports/fenster/vcpkg.json new file mode 100644 index 00000000000000..b4881524b91cf6 --- /dev/null +++ b/ports/fenster/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "fenster", + "version-date": "2024-08-19", + "description": "The most minimal cross-platform GUI library", + "homepage": "https://github.com/zserge/fenster", + "license": "MIT" +} diff --git a/ports/ffmpeg/0001-create-lib-libraries.patch b/ports/ffmpeg/0001-create-lib-libraries.patch index 64e44e8d9a9b83..ced7ba86be2bd8 100644 --- a/ports/ffmpeg/0001-create-lib-libraries.patch +++ b/ports/ffmpeg/0001-create-lib-libraries.patch @@ -1,8 +1,8 @@ diff --git a/configure b/configure -index 34c2adb..1c8008a 100755 +index 1f0b9497cb..3243e23021 100644 --- a/configure +++ b/configure -@@ -5631,15 +5631,17 @@ case $target_os in +@@ -5697,17 +5697,19 @@ case $target_os in ;; win32|win64) disable symver @@ -18,8 +18,10 @@ index 34c2adb..1c8008a 100755 +# fi ! enabled small && test_cmd $windres --version && enable gnu_windres enabled x86_32 && check_ldflags -LARGEADDRESSAWARE + add_cppflags -DWIN32_LEAN_AND_MEAN shlibdir_default="$bindir_default" + LIBPREF="" + LIBSUF=".lib" SLIBPREF="" SLIBSUF=".dll" + SLIBNAME_WITH_VERSION='$(SLIBPREF)$(FULLNAME)-$(LIBVERSION)$(SLIBSUF)' diff --git a/ports/ffmpeg/0004-dependencies.patch b/ports/ffmpeg/0004-dependencies.patch new file mode 100644 index 00000000000000..f1f6e72bee3fea --- /dev/null +++ b/ports/ffmpeg/0004-dependencies.patch @@ -0,0 +1,65 @@ +diff --git a/configure b/configure +index a8b74e0..c99f41c 100755 +--- a/configure ++++ b/configure +@@ -6633,7 +6633,7 @@ fi + + enabled zlib && { check_pkg_config zlib zlib "zlib.h" zlibVersion || + check_lib zlib zlib.h zlibVersion -lz; } +-enabled bzlib && check_lib bzlib bzlib.h BZ2_bzlibVersion -lbz2 ++enabled bzlib && require_pkg_config bzlib bzip2 bzlib.h BZ2_bzlibVersion + enabled lzma && check_lib lzma lzma.h lzma_version_number -llzma + + enabled zlib && test_exec $zlib_extralibs <= 3.98.3" lame/lame.h lame_set_VBR_quality -lmp3lame $libm_extralibs ++enabled libmp3lame && { check_lib libmp3lame lame/lame.h lame_set_VBR_quality -lmp3lame $libm_extralibs || ++ require libmp3lame lame/lame.h lame_set_VBR_quality -llibmp3lame-static -llibmpghip-static $libm_extralibs; } + enabled libmysofa && { check_pkg_config libmysofa libmysofa mysofa.h mysofa_neighborhood_init_withstepdefine || + require libmysofa mysofa.h mysofa_neighborhood_init_withstepdefine -lmysofa $zlib_extralibs; } + enabled libnpp && { check_lib libnpp npp.h nppGetLibVersion -lnppig -lnppicc -lnppc -lnppidei -lnppif || +@@ -6772,7 +6773,7 @@ require_pkg_config libopencv opencv opencv/cxcore.h cvCreateImageHeader; } + enabled libopenh264 && require_pkg_config libopenh264 "openh264 >= 1.3.0" wels/codec_api.h WelsGetCodecVersion + enabled libopenjpeg && { check_pkg_config libopenjpeg "libopenjp2 >= 2.1.0" openjpeg.h opj_version || + { require_pkg_config libopenjpeg "libopenjp2 >= 2.1.0" openjpeg.h opj_version -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } } +-enabled libopenmpt && require_pkg_config libopenmpt "libopenmpt >= 0.2.6557" libopenmpt/libopenmpt.h openmpt_module_create -lstdc++ && append libopenmpt_extralibs "-lstdc++" ++enabled libopenmpt && require_pkg_config libopenmpt "libopenmpt >= 0.2.6557" libopenmpt/libopenmpt.h openmpt_module_create + enabled libopenvino && { { check_pkg_config libopenvino openvino openvino/c/openvino.h ov_core_create && enable openvino2; } || + { check_pkg_config libopenvino openvino c_api/ie_c_api.h ie_c_api_version || + require libopenvino c_api/ie_c_api.h ie_c_api_version -linference_engine_c_api; } } +@@ -6796,8 +6797,8 @@ enabled libshaderc && require_pkg_config spirv_compiler "shaderc >= 2019. + enabled libshine && require_pkg_config libshine shine shine/layer3.h shine_encode_buffer + enabled libsmbclient && { check_pkg_config libsmbclient smbclient libsmbclient.h smbc_init || + require libsmbclient libsmbclient.h smbc_init -lsmbclient; } +-enabled libsnappy && require libsnappy snappy-c.h snappy_compress -lsnappy -lstdc++ +-enabled libsoxr && require libsoxr soxr.h soxr_create -lsoxr ++enabled libsnappy && require_pkg_config libsnappy snappy snappy-c.h snappy_compress ++enabled libsoxr && require libsoxr soxr.h soxr_create -lsoxr $libm_extralibs + enabled libssh && require_pkg_config libssh "libssh >= 0.6.0" libssh/sftp.h sftp_init + enabled libspeex && require_pkg_config libspeex speex speex/speex.h speex_decoder_init + enabled libsrt && require_pkg_config libsrt "srt >= 1.3.0" srt/srt.h srt_socket +@@ -6880,6 +6881,8 @@ enabled openal && { check_pkg_config openal "openal >= 1.1" "AL/al.h" + enabled opencl && { check_pkg_config opencl OpenCL CL/cl.h clEnqueueNDRangeKernel || + check_lib opencl OpenCL/cl.h clEnqueueNDRangeKernel "-framework OpenCL" || + check_lib opencl CL/cl.h clEnqueueNDRangeKernel -lOpenCL || ++ check_lib opencl CL/cl.h clEnqueueNDRangeKernel -lOpenCL -lAdvapi32 -lOle32 -lCfgmgr32|| ++ check_lib opencl CL/cl.h clEnqueueNDRangeKernel -lOpenCL -pthread -ldl || + die "ERROR: opencl not found"; } && + { test_cpp_condition "OpenCL/cl.h" "defined(CL_VERSION_1_2)" || + test_cpp_condition "CL/cl.h" "defined(CL_VERSION_1_2)" || +@@ -7204,10 +7207,10 @@ enabled amf && + "(AMF_VERSION_MAJOR << 48 | AMF_VERSION_MINOR << 32 | AMF_VERSION_RELEASE << 16 | AMF_VERSION_BUILD_NUM) >= 0x0001000400210000" + + # Funny iconv installations are not unusual, so check it after all flags have been set +-if enabled libc_iconv; then ++if enabled libc_iconv && disabled iconv; then + check_func_headers iconv.h iconv + elif enabled iconv; then +- check_func_headers iconv.h iconv || check_lib iconv iconv.h iconv -liconv ++ check_func_headers iconv.h iconv || check_lib iconv iconv.h iconv -liconv || check_lib iconv iconv.h iconv -liconv -lcharset + fi + + enabled debug && add_cflags -g"$debuglevel" && add_asflags -g"$debuglevel" diff --git a/ports/ffmpeg/0004-fix-debug-build.patch b/ports/ffmpeg/0004-fix-debug-build.patch deleted file mode 100644 index b85d7bbe759144..00000000000000 --- a/ports/ffmpeg/0004-fix-debug-build.patch +++ /dev/null @@ -1,41 +0,0 @@ -diff --git a/configure b/configure -index bd2de34..fba948a 100755 ---- a/configure -+++ b/configure -@@ -3993,6 +3993,9 @@ for opt do - --libfuzzer=*) - libfuzzer_path="$optval" - ;; -+ --debug) -+ enable debug_configure -+ ;; - *) - optname="${opt%%=*}" - optname="${optname#--}" -@@ -6464,8 +6464,12 @@ - - enabled zlib && { check_pkg_config zlib zlib "zlib.h" zlibVersion || - check_lib zlib zlib.h zlibVersion -lz; } --enabled bzlib && check_lib bzlib bzlib.h BZ2_bzlibVersion -lbz2 -+if enabled debug_configure; then -+ enabled bzlib && check_lib bzlib bzlib.h BZ2_bzlibVersion -lbz2d -+else -+ enabled bzlib && check_lib bzlib bzlib.h BZ2_bzlibVersion -lbz2 -+fi - enabled lzma && check_lib lzma lzma.h lzma_version_number -llzma - - enabled zlib && test_exec $zlib_extralibs < -@@ -6350,7 +6350,11 @@ enabled librubberband && require_pkg_config librubberband "rubberband >= 1.8 - enabled libshine && require_pkg_config libshine shine shine/layer3.h shine_encode_buffer - enabled libsmbclient && { check_pkg_config libsmbclient smbclient libsmbclient.h smbc_init || - require libsmbclient libsmbclient.h smbc_init -lsmbclient; } --enabled libsnappy && require libsnappy snappy-c.h snappy_compress -lsnappy -lstdc++ -+if enabled debug_configure; then -+ enabled libsnappy && require libsnappy snappy-c.h snappy_compress -lsnappy -lstdc++ -+else -+ enabled libsnappy && require libsnappy snappy-c.h snappy_compress -lsnappy -lstdc++ -+fi - enabled libsoxr && require libsoxr soxr.h soxr_create -lsoxr - enabled libssh && require_pkg_config libssh libssh libssh/sftp.h sftp_init - enabled libspeex && require_pkg_config libspeex speex speex/speex.h speex_decoder_init diff --git a/ports/ffmpeg/0005-fix-nasm.patch b/ports/ffmpeg/0005-fix-nasm.patch index 9308e714a6bbaa..68b7503b24422c 100644 --- a/ports/ffmpeg/0005-fix-nasm.patch +++ b/ports/ffmpeg/0005-fix-nasm.patch @@ -1,55 +1,78 @@ -diff --git a/libavcodec/x86/Makefile b/libavcodec/x86/Makefile ---- a/libavcodec/x86/Makefile -+++ b/libavcodec/x86/Makefile -@@ -158,6 +158,8 @@ X86ASM-OBJS-$(CONFIG_ALAC_DECODER) += x86/alacdsp.o - X86ASM-OBJS-$(CONFIG_APNG_DECODER) += x86/pngdsp.o - X86ASM-OBJS-$(CONFIG_CAVS_DECODER) += x86/cavsidct.o -+ifdef ARCH_X86_64 - X86ASM-OBJS-$(CONFIG_CFHD_ENCODER) += x86/cfhdencdsp.o -+endif - X86ASM-OBJS-$(CONFIG_CFHD_DECODER) += x86/cfhddsp.o - X86ASM-OBJS-$(CONFIG_DCA_DECODER) += x86/dcadsp.o x86/synth_filter.o - X86ASM-OBJS-$(CONFIG_DIRAC_DECODER) += x86/diracdsp.o \ -@@ -175,15 +177,21 @@ x86/hevc_sao_10bit.o - X86ASM-OBJS-$(CONFIG_JPEG2000_DECODER) += x86/jpeg2000dsp.o - X86ASM-OBJS-$(CONFIG_LSCR_DECODER) += x86/pngdsp.o -+ifdef ARCH_X86_64 - X86ASM-OBJS-$(CONFIG_MLP_DECODER) += x86/mlpdsp.o -+endif - X86ASM-OBJS-$(CONFIG_MPEG4_DECODER) += x86/xvididct.o - X86ASM-OBJS-$(CONFIG_PNG_DECODER) += x86/pngdsp.o -+ifdef ARCH_X86_64 - X86ASM-OBJS-$(CONFIG_PRORES_DECODER) += x86/proresdsp.o - X86ASM-OBJS-$(CONFIG_PRORES_LGPL_DECODER) += x86/proresdsp.o -+endif - X86ASM-OBJS-$(CONFIG_RV40_DECODER) += x86/rv40dsp.o - X86ASM-OBJS-$(CONFIG_SBC_ENCODER) += x86/sbcdsp.o - X86ASM-OBJS-$(CONFIG_SVQ1_ENCODER) += x86/svq1enc.o - X86ASM-OBJS-$(CONFIG_TAK_DECODER) += x86/takdsp.o -+ifdef ARCH_X86_64 - X86ASM-OBJS-$(CONFIG_TRUEHD_DECODER) += x86/mlpdsp.o -+endif - X86ASM-OBJS-$(CONFIG_TTA_DECODER) += x86/ttadsp.o - X86ASM-OBJS-$(CONFIG_TTA_ENCODER) += x86/ttaencdsp.o - X86ASM-OBJS-$(CONFIG_UTVIDEO_DECODER) += x86/utvideodsp.o -diff --git a/libavfilter/x86/Makefile b/libavfilter/x86/Makefile ---- a/libavfilter/x86/Makefile -+++ b/libavfilter/x86/Makefile -@@ -44,6 +44,8 @@ - X86ASM-OBJS-$(CONFIG_AFIR_FILTER) += x86/af_afir.o - X86ASM-OBJS-$(CONFIG_ANLMDN_FILTER) += x86/af_anlmdn.o -+ifdef ARCH_X86_64 - X86ASM-OBJS-$(CONFIG_ATADENOISE_FILTER) += x86/vf_atadenoise.o -+endif - X86ASM-OBJS-$(CONFIG_BLEND_FILTER) += x86/vf_blend.o - X86ASM-OBJS-$(CONFIG_BWDIF_FILTER) += x86/vf_bwdif.o - X86ASM-OBJS-$(CONFIG_COLORSPACE_FILTER) += x86/colorspacedsp.o -@@ -62,6 +62,8 @@ X86ASM-OBJS-$(CONFIG_LUT3D_FILTER) += x86/vf_lut3d.o - X86ASM-OBJS-$(CONFIG_MASKEDCLAMP_FILTER) += x86/vf_maskedclamp.o - X86ASM-OBJS-$(CONFIG_MASKEDMERGE_FILTER) += x86/vf_maskedmerge.o -+ifdef ARCH_X86_64 - X86ASM-OBJS-$(CONFIG_NLMEANS_FILTER) += x86/vf_nlmeans.o -+endif - X86ASM-OBJS-$(CONFIG_OVERLAY_FILTER) += x86/vf_overlay.o - X86ASM-OBJS-$(CONFIG_PP7_FILTER) += x86/vf_pp7.o - X86ASM-OBJS-$(CONFIG_PSNR_FILTER) += x86/vf_psnr.o +diff --git a/libavcodec/x86/mlpdsp.asm b/libavcodec/x86/mlpdsp.asm +index 3dc641e..609b834 100644 +--- a/libavcodec/x86/mlpdsp.asm ++++ b/libavcodec/x86/mlpdsp.asm +@@ -23,7 +23,9 @@ + + SECTION .text + +-%if ARCH_X86_64 ++%ifn ARCH_X86_64 ++mlpdsp_placeholder: times 4 db 0 ++%else + + %macro SHLX 2 + %if cpuflag(bmi2) +diff --git a/libavcodec/x86/proresdsp.asm b/libavcodec/x86/proresdsp.asm +index 65c9fad..5ad73f3 100644 +--- a/libavcodec/x86/proresdsp.asm ++++ b/libavcodec/x86/proresdsp.asm +@@ -24,7 +24,10 @@ + + %include "libavutil/x86/x86util.asm" + +-%if ARCH_X86_64 ++%ifn ARCH_X86_64 ++SECTION .rdata ++proresdsp_placeholder: times 4 db 0 ++%else + + SECTION_RODATA + +diff --git a/libavcodec/x86/vvc/vvc_mc.asm b/libavcodec/x86/vvc/vvc_mc.asm +index 30aa97c..3975f98 100644 +--- a/libavcodec/x86/vvc/vvc_mc.asm ++++ b/libavcodec/x86/vvc/vvc_mc.asm +@@ -31,7 +31,9 @@ + + SECTION_RODATA 32 + +-%if ARCH_X86_64 ++%ifn ARCH_X86_64 ++vvc_mc_placeholder: times 4 db 0 ++%else + + %if HAVE_AVX2_EXTERNAL + +diff --git a/libavfilter/x86/vf_atadenoise.asm b/libavfilter/x86/vf_atadenoise.asm +index 4945ad3..748b65a 100644 +--- a/libavfilter/x86/vf_atadenoise.asm ++++ b/libavfilter/x86/vf_atadenoise.asm +@@ -20,7 +20,10 @@ + ;* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + ;****************************************************************************** + +-%if ARCH_X86_64 ++%ifn ARCH_X86_64 ++SECTION .rdata ++vf_atadenoise_placeholder: times 4 db 0 ++%else + + %include "libavutil/x86/x86util.asm" + +diff --git a/libavfilter/x86/vf_nlmeans.asm b/libavfilter/x86/vf_nlmeans.asm +index 8f57801..9aef3a4 100644 +--- a/libavfilter/x86/vf_nlmeans.asm ++++ b/libavfilter/x86/vf_nlmeans.asm +@@ -21,7 +21,10 @@ + + %include "libavutil/x86/x86util.asm" + +-%if HAVE_AVX2_EXTERNAL && ARCH_X86_64 ++%ifn HAVE_AVX2_EXTERNAL && ARCH_X86_64 ++SECTION .rdata ++vf_nlmeans_placeholder: times 4 db 0 ++%else + + SECTION_RODATA 32 + diff --git a/ports/ffmpeg/0006-fix-StaticFeatures.patch b/ports/ffmpeg/0006-fix-StaticFeatures.patch deleted file mode 100644 index dc7f818435112d..00000000000000 --- a/ports/ffmpeg/0006-fix-StaticFeatures.patch +++ /dev/null @@ -1,49 +0,0 @@ -diff --git a/configure b/configure -index 3bdcfc6..00b2f13 100644 ---- a/configure -+++ b/configure -@@ -6351,7 +6351,8 @@ if enabled libmfx; then - fi - - enabled libmodplug && require_pkg_config libmodplug libmodplug libmodplug/modplug.h ModPlug_Load --enabled libmp3lame && require "libmp3lame >= 3.98.3" lame/lame.h lame_set_VBR_quality -lmp3lame $libm_extralibs -+enabled libmp3lame && { check_lib libmp3lame lame/lame.h lame_set_VBR_quality -lmp3lame $libm_extralibs || -+ require libmp3lame lame/lame.h lame_set_VBR_quality -llibmp3lame-static -llibmpghip-static $libm_extralibs; } - enabled libmysofa && { check_pkg_config libmysofa libmysofa mysofa.h mysofa_neighborhood_init_withstepdefine || - require libmysofa mysofa.h mysofa_neighborhood_init_withstepdefine -lmysofa $zlib_extralibs; } - enabled libnpp && { check_lib libnpp npp.h nppGetLibVersion -lnppig -lnppicc -lnppc -lnppidei -lnppif || -@@ -6392,7 +6393,7 @@ if enabled debug_configure; then - else - enabled libsnappy && require libsnappy snappy-c.h snappy_compress -lsnappy -lstdc++ - fi --enabled libsoxr && require libsoxr soxr.h soxr_create -lsoxr -+enabled libsoxr && require libsoxr soxr.h soxr_create -lsoxr -lm - enabled libssh && require_pkg_config libssh libssh libssh/sftp.h sftp_init - enabled libspeex && require_pkg_config libspeex speex speex/speex.h speex_decoder_init - enabled libsrt && require_pkg_config libsrt "srt >= 1.3.0" srt/srt.h srt_socket -@@ -6460,6 +6461,8 @@ enabled openal && { { for al_extralibs in "${OPENAL_LIBS}" "-lopenal" - enabled opencl && { check_pkg_config opencl OpenCL CL/cl.h clEnqueueNDRangeKernel || - check_lib opencl OpenCL/cl.h clEnqueueNDRangeKernel -Wl,-framework,OpenCL || - check_lib opencl CL/cl.h clEnqueueNDRangeKernel -lOpenCL || -+ check_lib opencl CL/cl.h clEnqueueNDRangeKernel -lOpenCL -lAdvapi32 -lOle32 -lCfgmgr32|| -+ check_lib opencl CL/cl.h clEnqueueNDRangeKernel -lOpenCL -pthread -ldl || - die "ERROR: opencl not found"; } && - { test_cpp_condition "OpenCL/cl.h" "defined(CL_VERSION_1_2)" || - test_cpp_condition "CL/cl.h" "defined(CL_VERSION_1_2)" || -@@ -6479,6 +6482,7 @@ enabled openssl && { check_pkg_config openssl openssl openssl/ssl.h OP - check_lib openssl openssl/ssl.h SSL_library_init -lssl -lcrypto || - check_lib openssl openssl/ssl.h SSL_library_init -lssl32 -leay32 || - check_lib openssl openssl/ssl.h SSL_library_init -lssl -lcrypto -lws2_32 -lgdi32 || -+ check_lib openssl openssl/ssl.h OPENSSL_init_ssl -llibssl -llibcrypto -lws2_32 -lgdi32 -lcrypt32 -lAdvapi32 -lUser32|| - die "ERROR: openssl not found"; } - enabled pocketsphinx && require_pkg_config pocketsphinx pocketsphinx pocketsphinx/pocketsphinx.h ps_init - enabled rkmpp && { require_pkg_config rkmpp rockchip_mpp rockchip/rk_mpi.h mpp_create && -@@ -6707,7 +6711,7 @@ enabled amf && - if enabled libc_iconv; then - check_func_headers iconv.h iconv - elif enabled iconv; then -- check_func_headers iconv.h iconv || check_lib iconv iconv.h iconv -liconv -+ check_func_headers iconv.h iconv || check_lib iconv iconv.h iconv -liconv || check_lib iconv iconv.h iconv -liconv -llibcharset - fi - - enabled debug && add_cflags -g"$debuglevel" && add_asflags -g"$debuglevel" diff --git a/ports/ffmpeg/0007-fix-lib-naming.patch b/ports/ffmpeg/0007-fix-lib-naming.patch index ef9d74614e1ec1..c22f9c1999d0c8 100644 --- a/ports/ffmpeg/0007-fix-lib-naming.patch +++ b/ports/ffmpeg/0007-fix-lib-naming.patch @@ -2,15 +2,11 @@ diff --git a/configure b/configure index d6c4388..75b96c3 100644 --- a/configure +++ b/configure -@@ -4378,6 +4378,11 @@ msvc_common_flags(){ - -march=*) ;; +@@ -4781,6 +4781,7 @@ msvc_common_flags(){ + -mfp16-format=*) ;; -lz) echo zlib.lib ;; -lx264) echo libx264.lib ;; -+ -lx265) echo libx265.lib ;; + -lmp3lame) echo libmp3lame.lib ;; -+ -liconv) echo iconv.lib ;; -+ -llibcharset) echo charset.lib ;; -+ -lm) ;; -lstdc++) ;; -l*) echo ${flag#-l}.lib ;; -LARGEADDRESSAWARE) echo $flag ;; diff --git a/ports/ffmpeg/0009-Fix-fdk-detection.patch b/ports/ffmpeg/0009-Fix-fdk-detection.patch deleted file mode 100644 index 3d280fd2b33aa5..00000000000000 --- a/ports/ffmpeg/0009-Fix-fdk-detection.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/configure b/configure -index b137669dd3..34c92230f4 100755 ---- a/configure -+++ b/configure -@@ -6331,7 +6331,7 @@ enabled libdavs2 && require_pkg_config libdavs2 "davs2 >= 1.6.0" davs2. - enabled libdc1394 && require_pkg_config libdc1394 libdc1394-2 dc1394/dc1394.h dc1394_new - enabled libdrm && require_pkg_config libdrm libdrm xf86drm.h drmGetVersion - enabled libfdk_aac && { check_pkg_config libfdk_aac fdk-aac "fdk-aac/aacenc_lib.h" aacEncOpen || -- { require libfdk_aac fdk-aac/aacenc_lib.h aacEncOpen -lfdk-aac && -+ { require libfdk_aac fdk-aac/aacenc_lib.h aacEncOpen -lfdk-aac -lm -lstdc++ && - warn "using libfdk without pkg-config"; } } - flite_extralibs="-lflite_cmu_time_awb -lflite_cmu_us_awb -lflite_cmu_us_kal -lflite_cmu_us_kal16 -lflite_cmu_us_rms -lflite_cmu_us_slt -lflite_usenglish -lflite_cmulex -lflite" - enabled libflite && require libflite "flite/flite.h" flite_init $flite_extralibs - diff --git a/ports/ffmpeg/0011-Fix-x265-detection.patch b/ports/ffmpeg/0011-Fix-x265-detection.patch deleted file mode 100644 index 8c3e10d951ed2a..00000000000000 --- a/ports/ffmpeg/0011-Fix-x265-detection.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/configure b/configure ---- a/configure -+++ b/configure -@@ -6730,7 +6730,10 @@ - [ "$toolchain" != "msvc" ] || - require_cpp_condition libx264 x264.h "X264_BUILD >= 158"; } && - check_cpp_condition libx262 x264.h "X264_MPEG2" --enabled libx265 && require_pkg_config libx265 x265 x265.h x265_api_get && -+enabled libx265 && { check_pkg_config libx265 x265 x265.h x265_api_get || -+ { { check_lib libx265 x265.h x265_api_get "-lx265 $pthreads_extralibs $libm_extralibs -ldl -lstdc++ -lgcc_s -lgcc -lrt -lnuma" || -+ require libx265 x265.h x265_api_get "-lx265 $pthreads_extralibs $libm_extralibs -ldl -lstdc++"; } && -+ warn "using libx265 without pkg-config"; } } && - require_cpp_condition libx265 x265.h "X265_BUILD >= 89" - enabled libxavs && require libxavs "stdint.h xavs.h" xavs_encoder_encode "-lxavs $pthreads_extralibs $libm_extralibs" - enabled libxavs2 && require_pkg_config libxavs2 "xavs2 >= 1.3.0" "stdint.h xavs2.h" xavs2_api_get diff --git a/ports/ffmpeg/0012-Fix-ssl-110-detection.patch b/ports/ffmpeg/0012-Fix-ssl-110-detection.patch deleted file mode 100644 index b2e5501a13a355..00000000000000 --- a/ports/ffmpeg/0012-Fix-ssl-110-detection.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/configure b/configure -index 2be953f7e7..e075949ffc 100755 ---- a/configure -+++ b/configure -@@ -6497,6 +6497,7 @@ enabled openssl && { { check_pkg_config openssl "openssl >= 3.0.0 - { enabled gplv3 || ! enabled gpl || enabled nonfree || die "ERROR: OpenSSL >=3.0.0 requires --enable-version3"; }; } || - { enabled gpl && ! enabled nonfree && die "ERROR: OpenSSL <3.0.0 is incompatible with the gpl"; } || - check_pkg_config openssl openssl openssl/ssl.h OPENSSL_init_ssl || - check_pkg_config openssl openssl openssl/ssl.h SSL_library_init || -+ check_lib openssl openssl/ssl.h OPENSSL_init_ssl -lssl -lcrypto $pthreads_extralibs -ldl || - check_lib openssl openssl/ssl.h OPENSSL_init_ssl -lssl -lcrypto || - check_lib openssl openssl/ssl.h SSL_library_init -lssl -lcrypto || - check_lib openssl openssl/ssl.h SSL_library_init -lssl32 -leay32 || - diff --git a/ports/ffmpeg/0015-Fix-xml2-detection.patch b/ports/ffmpeg/0015-Fix-xml2-detection.patch deleted file mode 100644 index 7d2f148b09ea7e..00000000000000 --- a/ports/ffmpeg/0015-Fix-xml2-detection.patch +++ /dev/null @@ -1,17 +0,0 @@ - configure | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure b/configure -index 900505756b..8d1388a347 100755 ---- a/configure -+++ b/configure -@@ -6476,7 +6476,7 @@ enabled libzmq && require_pkg_config libzmq "libzmq >= 4.2.1" zmq.h z - enabled libzvbi && require_pkg_config libzvbi zvbi-0.2 libzvbi.h vbi_decoder_new && - { test_cpp_condition libzvbi.h "VBI_VERSION_MAJOR > 0 || VBI_VERSION_MINOR > 2 || VBI_VERSION_MINOR == 2 && VBI_VERSION_MICRO >= 28" || - enabled gpl || die "ERROR: libzvbi requires version 0.2.28 or --enable-gpl."; } --enabled libxml2 && require_pkg_config libxml2 libxml-2.0 libxml2/libxml/xmlversion.h xmlCheckVersion -+enabled libxml2 && require_pkg_config libxml2 libxml-2.0 libxml/xmlversion.h xmlCheckVersion - enabled mbedtls && { check_pkg_config mbedtls mbedtls mbedtls/x509_crt.h mbedtls_x509_crt_init || - check_pkg_config mbedtls mbedtls mbedtls/ssl.h mbedtls_ssl_init || - check_lib mbedtls mbedtls/ssl.h mbedtls_ssl_init -lmbedtls -lmbedx509 -lmbedcrypto || - diff --git a/ports/ffmpeg/0020-fix-aarch64-libswscale.patch b/ports/ffmpeg/0020-fix-aarch64-libswscale.patch index 6019b06645544c..f47e82ed8a2070 100644 --- a/ports/ffmpeg/0020-fix-aarch64-libswscale.patch +++ b/ports/ffmpeg/0020-fix-aarch64-libswscale.patch @@ -1,28 +1,28 @@ diff --git a/libswscale/aarch64/yuv2rgb_neon.S b/libswscale/aarch64/yuv2rgb_neon.S -index af677afe6..f4b220fb6 100644 ---- a/libswscale/aarch64/yuv2rgb_neon.S +index 89d69e7f6c..4bc1607a7a 100644 +--- a/libswscale/aarch64/yuv2rgb_neon.S +++ b/libswscale/aarch64/yuv2rgb_neon.S @@ -169,19 +169,19 @@ function ff_\ifmt\()_to_\ofmt\()_neon, export=1 - sqdmulh v26.8H, v26.8H, v0.8H // ((Y1*(1<<3) - y_offset) * y_coeff) >> 15 - sqdmulh v27.8H, v27.8H, v0.8H // ((Y2*(1<<3) - y_offset) * y_coeff) >> 15 + sqdmulh v26.8h, v26.8h, v0.8h // ((Y1*(1<<3) - y_offset) * y_coeff) >> 15 + sqdmulh v27.8h, v27.8h, v0.8h // ((Y2*(1<<3) - y_offset) * y_coeff) >> 15 -.ifc \ofmt,argb // 1 2 3 0 +.ifc \ofmt,argb - compute_rgba v5.8B,v6.8B,v7.8B,v4.8B, v17.8B,v18.8B,v19.8B,v16.8B + compute_rgba v5.8b,v6.8b,v7.8b,v4.8b, v17.8b,v18.8b,v19.8b,v16.8b .endif -.ifc \ofmt,rgba // 0 1 2 3 +.ifc \ofmt,rgba - compute_rgba v4.8B,v5.8B,v6.8B,v7.8B, v16.8B,v17.8B,v18.8B,v19.8B + compute_rgba v4.8b,v5.8b,v6.8b,v7.8b, v16.8b,v17.8b,v18.8b,v19.8b .endif -.ifc \ofmt,abgr // 3 2 1 0 +.ifc \ofmt,abgr - compute_rgba v7.8B,v6.8B,v5.8B,v4.8B, v19.8B,v18.8B,v17.8B,v16.8B + compute_rgba v7.8b,v6.8b,v5.8b,v4.8b, v19.8b,v18.8b,v17.8b,v16.8b .endif -.ifc \ofmt,bgra // 2 1 0 3 +.ifc \ofmt,bgra - compute_rgba v6.8B,v5.8B,v4.8B,v7.8B, v18.8B,v17.8B,v16.8B,v19.8B + compute_rgba v6.8b,v5.8b,v4.8b,v7.8b, v18.8b,v17.8b,v16.8b,v19.8b .endif diff --git a/ports/ffmpeg/0022-fix-iconv.patch b/ports/ffmpeg/0022-fix-iconv.patch deleted file mode 100644 index 3fc6cf272b2225..00000000000000 --- a/ports/ffmpeg/0022-fix-iconv.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/configure b/configure -index 2829d79..697a504 100755 ---- a/configure -+++ b/configure -@@ -4221,9 +4221,6 @@ - if disabled autodetect; then - -- # Unless iconv is explicitely disabled by the user, we still want to probe -- # for the iconv from the libc. -- disabled iconv || enable libc_iconv - - disable_weak $EXTERNAL_AUTODETECT_LIBRARY_LIST - disable_weak $HWACCEL_AUTODETECT_LIBRARY_LIST - fi diff --git a/ports/ffmpeg/0023-fix-qsv-init.patch b/ports/ffmpeg/0023-fix-qsv-init.patch deleted file mode 100644 index e6d28634049eda..00000000000000 --- a/ports/ffmpeg/0023-fix-qsv-init.patch +++ /dev/null @@ -1,22 +0,0 @@ -Subject: [PATCH] fix d3d11 ---- -Index: qsv.c -IDEA additional info: -Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP -<+>UTF-8 -=================================================================== -diff --git a/libavcodec/qsv.c b/libavcodec/qsv.c ---- a/libavcodec/qsv.c -+++ b/libavcodec/qsv.c -@@ -383,7 +383,11 @@ - int ff_qsv_init_internal_session(AVCodecContext *avctx, QSVSession *qs, - const char *load_plugins, int gpu_copy) - { -+#if CONFIG_D3D11VA -+ mfxIMPL impl = MFX_IMPL_AUTO_ANY | MFX_IMPL_VIA_D3D11; -+#else - mfxIMPL impl = MFX_IMPL_AUTO_ANY; -+#endif - mfxVersion ver = { { QSV_VERSION_MINOR, QSV_VERSION_MAJOR } }; - mfxInitParam init_par = { MFX_IMPL_AUTO_ANY }; - diff --git a/ports/ffmpeg/0024-fix-gcc13-binutils.patch b/ports/ffmpeg/0024-fix-gcc13-binutils.patch deleted file mode 100644 index 395b4db0366849..00000000000000 --- a/ports/ffmpeg/0024-fix-gcc13-binutils.patch +++ /dev/null @@ -1,60 +0,0 @@ -diff --git a/libavcodec/x86/mathops.h b/libavcodec/x86/mathops.h -index 6298f5e..ca7e2df 100644 ---- a/libavcodec/x86/mathops.h -+++ b/libavcodec/x86/mathops.h -@@ -35,12 +35,20 @@ - static av_always_inline av_const int MULL(int a, int b, unsigned shift) - { - int rt, dummy; -+ if (__builtin_constant_p(shift)) - __asm__ ( - "imull %3 \n\t" - "shrdl %4, %%edx, %%eax \n\t" - :"=a"(rt), "=d"(dummy) -- :"a"(a), "rm"(b), "ci"((uint8_t)shift) -+ :"a"(a), "rm"(b), "i"(shift & 0x1F) - ); -+ else -+ __asm__ ( -+ "imull %3 \n\t" -+ "shrdl %4, %%edx, %%eax \n\t" -+ :"=a"(rt), "=d"(dummy) -+ :"a"(a), "rm"(b), "c"((uint8_t)shift) -+ ); - return rt; - } - -@@ -113,19 +121,31 @@ __asm__ volatile(\ - // avoid +32 for shift optimization (gcc should do that ...) - #define NEG_SSR32 NEG_SSR32 - static inline int32_t NEG_SSR32( int32_t a, int8_t s){ -+ if (__builtin_constant_p(s)) - __asm__ ("sarl %1, %0\n\t" - : "+r" (a) -- : "ic" ((uint8_t)(-s)) -+ : "i" (-s & 0x1F) - ); -+ else -+ __asm__ ("sarl %1, %0\n\t" -+ : "+r" (a) -+ : "c" ((uint8_t)(-s)) -+ ); - return a; - } - - #define NEG_USR32 NEG_USR32 - static inline uint32_t NEG_USR32(uint32_t a, int8_t s){ -+ if (__builtin_constant_p(s)) - __asm__ ("shrl %1, %0\n\t" - : "+r" (a) -- : "ic" ((uint8_t)(-s)) -+ : "i" (-s & 0x1F) - ); -+ else -+ __asm__ ("shrl %1, %0\n\t" -+ : "+r" (a) -+ : "c" ((uint8_t)(-s)) -+ ); - return a; - } - diff --git a/ports/ffmpeg/0024-fix-osx-host-c11.patch b/ports/ffmpeg/0024-fix-osx-host-c11.patch new file mode 100644 index 00000000000000..dbce2f53b8e7df --- /dev/null +++ b/ports/ffmpeg/0024-fix-osx-host-c11.patch @@ -0,0 +1,15 @@ +diff --git a/configure b/configure +index 4f5353f84b..dd9147c677 100755 +--- a/configure ++++ b/configure +@@ -5607,8 +5607,8 @@ check_cppflags -D_FILE_OFFSET_BITS=64 + check_cppflags -D_LARGEFILE_SOURCE + + add_host_cppflags -D_ISOC11_SOURCE + check_host_cflags_cc -std=$stdc ctype.h "__STDC_VERSION__ >= 201112L" || +- check_host_cflags_cc -std=c11 ctype.h "__STDC_VERSION__ >= 201112L" || die "Host compiler lacks C11 support" ++ check_host_cflags_cc -std=c11 ctype.h "__STDC_VERSION__ >= 201112L" + + check_host_cflags -Wall + check_host_cflags $host_cflags_speed + diff --git a/ports/ffmpeg/0040-ffmpeg-add-av_stream_get_first_dts-for-chromium.patch b/ports/ffmpeg/0040-ffmpeg-add-av_stream_get_first_dts-for-chromium.patch new file mode 100644 index 00000000000000..c2e1d8ff0d7b8a --- /dev/null +++ b/ports/ffmpeg/0040-ffmpeg-add-av_stream_get_first_dts-for-chromium.patch @@ -0,0 +1,35 @@ +diff --git a/libavformat/avformat.h b/libavformat/avformat.h +index cd7b0d941c..b4a6dce885 100644 +--- a/libavformat/avformat.h ++++ b/libavformat/avformat.h +@@ -1169,7 +1169,11 @@ typedef struct AVStreamGroup { + } AVStreamGroup; + + struct AVCodecParserContext *av_stream_get_parser(const AVStream *s); + ++// Chromium: We use the internal field first_dts vvv ++int64_t av_stream_get_first_dts(const AVStream *st); ++// Chromium: We use the internal field first_dts ^^^ ++ + #define AV_PROGRAM_RUNNING 1 + + /** +diff --git a/libavformat/mux_utils.c b/libavformat/mux_utils.c +index de7580c32d..0ef0fe530e 100644 +--- a/libavformat/mux_utils.c ++++ b/libavformat/mux_utils.c +@@ -29,7 +29,14 @@ #include "avformat.h" + #include "avio.h" + #include "internal.h" + #include "mux.h" + ++// Chromium: We use the internal field first_dts vvv ++int64_t av_stream_get_first_dts(const AVStream *st) ++{ ++ return cffstream(st)->first_dts; ++} ++// Chromium: We use the internal field first_dts ^^^ ++ + int avformat_query_codec(const AVOutputFormat *ofmt, enum AVCodecID codec_id, + int std_compliance) + { diff --git a/ports/ffmpeg/0041-add-const-for-opengl-definition.patch b/ports/ffmpeg/0041-add-const-for-opengl-definition.patch new file mode 100644 index 00000000000000..b22b40d1f377ba --- /dev/null +++ b/ports/ffmpeg/0041-add-const-for-opengl-definition.patch @@ -0,0 +1,13 @@ +diff --git a/libavdevice/opengl_enc.c b/libavdevice/opengl_enc.c +index b2ac6eb..6351614 100644 +--- a/libavdevice/opengl_enc.c ++++ b/libavdevice/opengl_enc.c +@@ -116,7 +116,7 @@ typedef void (APIENTRY *FF_PFNGLATTACHSHADERPROC) (GLuint program, GLuint shad + typedef GLuint (APIENTRY *FF_PFNGLCREATESHADERPROC) (GLenum type); + typedef void (APIENTRY *FF_PFNGLDELETESHADERPROC) (GLuint shader); + typedef void (APIENTRY *FF_PFNGLCOMPILESHADERPROC) (GLuint shader); +-typedef void (APIENTRY *FF_PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const char* *string, const GLint *length); ++typedef void (APIENTRY *FF_PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const char* const *string, const GLint *length); + typedef void (APIENTRY *FF_PFNGLGETSHADERIVPROC) (GLuint shader, GLenum pname, GLint *params); + typedef void (APIENTRY *FF_PFNGLGETSHADERINFOLOGPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, char *infoLog); + diff --git a/ports/ffmpeg/0042-fix-arm64-linux.patch b/ports/ffmpeg/0042-fix-arm64-linux.patch new file mode 100644 index 00000000000000..6ff63c3718d660 --- /dev/null +++ b/ports/ffmpeg/0042-fix-arm64-linux.patch @@ -0,0 +1,9 @@ +diff --git a/ffbuild/libversion.sh b/ffbuild/libversion.sh +index a94ab58..ecaa90c 100644 +--- a/ffbuild/libversion.sh ++++ b/ffbuild/libversion.sh +@@ -1,3 +1,4 @@ ++#!/bin/sh + toupper(){ + echo "$@" | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ + } diff --git a/ports/ffmpeg/0043-fix-miss-head.patch b/ports/ffmpeg/0043-fix-miss-head.patch new file mode 100644 index 00000000000000..bad42798c83e39 --- /dev/null +++ b/ports/ffmpeg/0043-fix-miss-head.patch @@ -0,0 +1,12 @@ +diff --git a/libavfilter/textutils.c b/libavfilter/textutils.c +index ef658d0..c61b0ad 100644 +--- a/libavfilter/textutils.c ++++ b/libavfilter/textutils.c +@@ -31,6 +31,7 @@ + #include "libavutil/file.h" + #include "libavutil/mem.h" + #include "libavutil/time.h" ++#include "libavutil/time_internal.h" + + static int ff_expand_text_function_internal(FFExpandTextContext *expand_text, AVBPrint *bp, + char *name, unsigned argc, char **argv) diff --git a/ports/ffmpeg/FindFFMPEG.cmake.in b/ports/ffmpeg/FindFFMPEG.cmake.in index 8a7237fc43421a..1b67dab02ab863 100644 --- a/ports/ffmpeg/FindFFMPEG.cmake.in +++ b/ports/ffmpeg/FindFFMPEG.cmake.in @@ -45,24 +45,27 @@ function(append_dependencies out) cmake_parse_arguments(PARSE_ARGV 1 "arg" "DEBUG" "NAMES" "") if(${arg_DEBUG}) set(config DEBUG) - set(path "${CURRENT_INSTALLED_DIR}/debug/lib/") + set(path "${SEARCH_PATH}/debug/lib/") else() set(config RELEASE) - set(path "${CURRENT_INSTALLED_DIR}/lib/") + set(path "${SEARCH_PATH}/lib/") endif() - foreach(lib_name ${arg_NAMES}) - if("${lib_name}" STREQUAL "-pthread") - list(APPEND ${out} "-pthread") - elseif("${lib_name}" STREQUAL "-pthreads") - list(APPEND ${out} "-pthreads") - elseif("${lib_name}" STREQUAL "gcc") - list(APPEND ${out} "-lgcc") - elseif("${lib_name}" STREQUAL "gcc_s") - list(APPEND ${out} "-lgcc_s") - elseif("${lib_name}" STREQUAL "stdc++") - list(APPEND ${out} "-lstdc++") - elseif("${lib_name}" STREQUAL "atomic") - list(APPEND ${out} "-latomic") + if("${CMAKE_CXX_IMPLICIT_LINK_LIBRARIES}" STREQUAL "") + enable_language(CXX) + endif() + set(pass_through + ${CMAKE_CXX_IMPLICIT_LINK_LIBRARIES} + advapi32 bcrypt crypt32 gdi32 mfuuid ole32 oleaut32 psapi secur32 shlwapi strmiids user32 uuid vfw32 ws2_32 + -pthread -pthreads pthread atomic m + ) + cmake_policy(SET CMP0057 NEW) + foreach(lib_name IN LISTS arg_NAMES) + if(lib_name IN_LIST CMAKE_C_IMPLICIT_LINK_LIBRARIES) + continue() # implicit even for C + elseif(lib_name IN_LIST pass_through) + list(APPEND ${out} "${lib_name}") + elseif(EXISTS "${lib_name}") + list(APPEND ${out} "${lib_name}") else() # first look in ${path} specifically to ensure we find the right release/debug variant find_library(FFMPEG_DEPENDENCY_${lib_name}_${config} NAMES "${lib_name}" PATHS "${path}" NO_DEFAULT_PATH) @@ -158,4 +161,6 @@ endif() find_package_handle_standard_args(FFMPEG REQUIRED_VARS FFMPEG_LIBRARIES FFMPEG_LIBRARY_DIRS FFMPEG_INCLUDE_DIRS) +set(z_vcpkg_using_vcpkg_find_ffmpeg ${FFMPEG_FOUND}) + endif() diff --git a/ports/ffmpeg/build.sh.in b/ports/ffmpeg/build.sh.in index 462737587b7b89..5d9237edf39187 100644 --- a/ports/ffmpeg/build.sh.in +++ b/ports/ffmpeg/build.sh.in @@ -2,19 +2,6 @@ set -e -export PATH="$PATH:/usr/bin" - -command -v cygpath >/dev/null && have_cygpath=1 - -cygpath() { - if [ -n "$have_cygpath" ]; then - command cygpath "$@" - else - eval _p='$'$# - printf '%s\n' "$_p" - fi -} - move_binary() { SOURCE=$1 TARGET=$2 @@ -70,15 +57,9 @@ merge_binaries() { done } -export PKG_CONFIG_PATH="$(cygpath -p "${PKG_CONFIG_PATH}")" - -# Export HTTP(S)_PROXY as http(s)_proxy: -[ -n "$HTTP_PROXY" ] && export http_proxy="$HTTP_PROXY" -[ -n "$HTTPS_PROXY" ] && export https_proxy="$HTTPS_PROXY" - -PATH_TO_BUILD_DIR=$( cygpath "@BUILD_DIR@") -PATH_TO_SRC_DIR=$( cygpath "@SOURCE_PATH@") -PATH_TO_PACKAGE_DIR=$(cygpath "@INST_PREFIX@") +PATH_TO_BUILD_DIR="@BUILD_DIR@" +PATH_TO_SRC_DIR="@SOURCE_PATH@" +PATH_TO_PACKAGE_DIR="@INST_PREFIX@" JOBS=@VCPKG_CONCURRENCY@ diff --git a/ports/ffmpeg/portfile.cmake b/ports/ffmpeg/portfile.cmake index b4f29767b61764..afb5fc7785b5d3 100644 --- a/ports/ffmpeg/portfile.cmake +++ b/ports/ffmpeg/portfile.cmake @@ -1,33 +1,29 @@ - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ffmpeg/ffmpeg - REF n${VERSION} - SHA512 da1b836c8f51cf69f95db750d5da5191a71d534fa7b0f019d6d6454f8dd6db5598789576b4fe5ad983dcd0197b9a7e8f9d43f10707b6d40ac31425da23da35b2 + REF "n${VERSION}" + SHA512 3b273769ef1a1b63aed0691eef317a760f8c83b1d0e1c232b67bbee26db60b4864aafbc88df0e86d6bebf07185bbd057f33e2d5258fde6d97763b9994cd48b6f HEAD_REF master PATCHES 0001-create-lib-libraries.patch - 0002-fix-msvc-link.patch #upstreamed in future version + 0002-fix-msvc-link.patch 0003-fix-windowsinclude.patch - 0004-fix-debug-build.patch - 0005-fix-nasm.patch #upstreamed in future version - 0006-fix-StaticFeatures.patch + 0004-dependencies.patch + 0005-fix-nasm.patch 0007-fix-lib-naming.patch - 0009-Fix-fdk-detection.patch - 0011-Fix-x265-detection.patch - 0012-Fix-ssl-110-detection.patch 0013-define-WINVER.patch - 0015-Fix-xml2-detection.patch 0020-fix-aarch64-libswscale.patch - 0022-fix-iconv.patch - 0024-fix-gcc13-binutils.patch + 0024-fix-osx-host-c11.patch + 0040-ffmpeg-add-av_stream_get_first_dts-for-chromium.patch # Do not remove this patch. It is required by chromium + 0041-add-const-for-opengl-definition.patch + 0043-fix-miss-head.patch ) if(SOURCE_PATH MATCHES " ") message(FATAL_ERROR "Error: ffmpeg will not build with spaces in the path. Please use a directory with no spaces") endif() -if(NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "wasm32") +if (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") vcpkg_find_acquire_program(NASM) get_filename_component(NASM_EXE_PATH "${NASM}" DIRECTORY) vcpkg_add_to_path("${NASM_EXE_PATH}") @@ -35,15 +31,6 @@ endif() set(OPTIONS "--enable-pic --disable-doc --enable-debug --enable-runtime-cpudetect --disable-autodetect") -if(VCPKG_HOST_IS_WINDOWS) - vcpkg_acquire_msys(MSYS_ROOT PACKAGES automake1.16) - set(SHELL "${MSYS_ROOT}/usr/bin/bash.exe") - vcpkg_add_to_path("${MSYS_ROOT}/usr/share/automake-1.16") - string(APPEND OPTIONS " --pkg-config=${CURRENT_HOST_INSTALLED_DIR}/tools/pkgconf/pkgconf${VCPKG_HOST_EXECUTABLE_SUFFIX}") -else() - find_program(SHELL bash) -endif() - if(VCPKG_TARGET_IS_MINGW) if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") string(APPEND OPTIONS " --target-os=mingw32") @@ -53,14 +40,17 @@ if(VCPKG_TARGET_IS_MINGW) elseif(VCPKG_TARGET_IS_LINUX) string(APPEND OPTIONS " --target-os=linux --enable-pthreads") elseif(VCPKG_TARGET_IS_UWP) - string(APPEND OPTIONS " --target-os=win32 --enable-w32threads --enable-d3d11va --enable-mediafoundation") + string(APPEND OPTIONS " --target-os=win32 --enable-w32threads --enable-d3d11va --enable-d3d12va --enable-mediafoundation") elseif(VCPKG_TARGET_IS_WINDOWS) - string(APPEND OPTIONS " --target-os=win32 --enable-w32threads --enable-d3d11va --enable-dxva2 --enable-mediafoundation") + string(APPEND OPTIONS " --target-os=win32 --enable-w32threads --enable-d3d11va --enable-d3d12va --enable-dxva2 --enable-mediafoundation") elseif(VCPKG_TARGET_IS_OSX) string(APPEND OPTIONS " --target-os=darwin --enable-appkit --enable-avfoundation --enable-coreimage --enable-audiotoolbox --enable-videotoolbox") +elseif(VCPKG_TARGET_IS_IOS) + string(APPEND OPTIONS " --enable-avfoundation --enable-coreimage --enable-videotoolbox") elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Android") - string(APPEND OPTIONS " --target-os=android") -else() + string(APPEND OPTIONS " --target-os=android --enable-jni --enable-mediacodec") +elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "QNX") + string(APPEND OPTIONS " --target-os=qnx") endif() if(VCPKG_TARGET_IS_OSX) @@ -92,7 +82,7 @@ if(VCPKG_DETECTED_CMAKE_C_COMPILER) get_filename_component(CC_filename "${VCPKG_DETECTED_CMAKE_C_COMPILER}" NAME) set(ENV{CC} "${CC_filename}") string(APPEND OPTIONS " --cc=${CC_filename}") - #string(APPEND OPTIONS " --host_cc=${CC_filename}") ffmpeg not yet setup for cross builds? + string(APPEND OPTIONS " --host_cc=${CC_filename}") list(APPEND prog_env "${CC_path}") endif() @@ -151,10 +141,33 @@ if(VCPKG_DETECTED_CMAKE_RANLIB) list(APPEND prog_env "${RANLIB_path}") endif() +if(VCPKG_DETECTED_CMAKE_STRIP) + get_filename_component(STRIP_path "${VCPKG_DETECTED_CMAKE_STRIP}" DIRECTORY) + get_filename_component(STRIP_filename "${VCPKG_DETECTED_CMAKE_STRIP}" NAME) + set(ENV{STRIP} "${STRIP_filename}") + string(APPEND OPTIONS " --strip=${STRIP_filename}") + list(APPEND prog_env "${STRIP_path}") +endif() + +if(VCPKG_HOST_IS_WINDOWS) + vcpkg_acquire_msys(MSYS_ROOT PACKAGES automake) + set(SHELL "${MSYS_ROOT}/usr/bin/bash.exe") + vcpkg_execute_required_process( + COMMAND "${SHELL}" -c "'/usr/bin/automake' --print-lib" + OUTPUT_VARIABLE automake_lib + OUTPUT_STRIP_TRAILING_WHITESPACE + WORKING_DIRECTORY "${MSYS_ROOT}" + LOGNAME automake-print-lib + ) + list(APPEND prog_env "${MSYS_ROOT}/usr/bin" "${MSYS_ROOT}${automake_lib}") +else() + find_program(SHELL bash) +endif() + list(REMOVE_DUPLICATES prog_env) vcpkg_add_to_path(PREPEND ${prog_env}) -# More? OBJCC STRIP BIN2C +# More? OBJCC BIN2C file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg" "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") @@ -253,11 +266,6 @@ else() set(ENABLE_SWSCALE OFF) endif() -set(STATIC_LINKAGE OFF) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - set(STATIC_LINKAGE ON) -endif() - if ("alsa" IN_LIST FEATURES) set(OPTIONS "${OPTIONS} --enable-alsa") else() @@ -272,14 +280,18 @@ endif() if("aom" IN_LIST FEATURES) set(OPTIONS "${OPTIONS} --enable-libaom") + set(WITH_AOM ON) else() set(OPTIONS "${OPTIONS} --disable-libaom") + set(WITH_AOM OFF) endif() if("ass" IN_LIST FEATURES) set(OPTIONS "${OPTIONS} --enable-libass") + set(WITH_ASS ON) else() set(OPTIONS "${OPTIONS} --disable-libass") + set(WITH_ASS OFF) endif() if("avisynthplus" IN_LIST FEATURES) @@ -296,14 +308,18 @@ endif() if("dav1d" IN_LIST FEATURES) set(OPTIONS "${OPTIONS} --enable-libdav1d") + set(WITH_DAV1D ON) else() set(OPTIONS "${OPTIONS} --disable-libdav1d") + set(WITH_DAV1D OFF) endif() if("fdk-aac" IN_LIST FEATURES) set(OPTIONS "${OPTIONS} --enable-libfdk-aac") + set(WITH_AAC ON) else() set(OPTIONS "${OPTIONS} --disable-libfdk-aac") + set(WITH_AAC OFF) endif() if("fontconfig" IN_LIST FEATURES) @@ -312,6 +328,12 @@ else() set(OPTIONS "${OPTIONS} --disable-libfontconfig") endif() +if("drawtext" IN_LIST FEATURES) + set(OPTIONS "${OPTIONS} --enable-libharfbuzz") +else() + set(OPTIONS "${OPTIONS} --disable-libharfbuzz") +endif() + if("freetype" IN_LIST FEATURES) set(OPTIONS "${OPTIONS} --enable-libfreetype") else() @@ -326,32 +348,42 @@ endif() if("iconv" IN_LIST FEATURES) set(OPTIONS "${OPTIONS} --enable-iconv") + set(WITH_ICONV ON) else() set(OPTIONS "${OPTIONS} --disable-iconv") + set(WITH_ICONV OFF) endif() if("ilbc" IN_LIST FEATURES) set(OPTIONS "${OPTIONS} --enable-libilbc") + set(WITH_ILBC ON) else() set(OPTIONS "${OPTIONS} --disable-libilbc") + set(WITH_ILBC OFF) endif() if("lzma" IN_LIST FEATURES) set(OPTIONS "${OPTIONS} --enable-lzma") + set(WITH_LZMA ON) else() set(OPTIONS "${OPTIONS} --disable-lzma") + set(WITH_LZMA OFF) endif() if("mp3lame" IN_LIST FEATURES) set(OPTIONS "${OPTIONS} --enable-libmp3lame") + set(WITH_MP3LAME ON) else() set(OPTIONS "${OPTIONS} --disable-libmp3lame") + set(WITH_MP3LAME OFF) endif() if("modplug" IN_LIST FEATURES) set(OPTIONS "${OPTIONS} --enable-libmodplug") + set(WITH_MODPLUG ON) else() set(OPTIONS "${OPTIONS} --disable-libmodplug") + set(WITH_MODPLUG OFF) endif() if("nvcodec" IN_LIST FEATURES) @@ -363,8 +395,10 @@ endif() if("opencl" IN_LIST FEATURES) set(OPTIONS "${OPTIONS} --enable-opencl") + set(WITH_OPENCL ON) else() set(OPTIONS "${OPTIONS} --disable-opencl") + set(WITH_OPENCL OFF) endif() if("opengl" IN_LIST FEATURES) @@ -375,20 +409,26 @@ endif() if("openh264" IN_LIST FEATURES) set(OPTIONS "${OPTIONS} --enable-libopenh264") + set(WITH_OPENH264 ON) else() set(OPTIONS "${OPTIONS} --disable-libopenh264") + set(WITH_OPENH264 OFF) endif() if("openjpeg" IN_LIST FEATURES) set(OPTIONS "${OPTIONS} --enable-libopenjpeg") + set(WITH_OPENJPEG ON) else() set(OPTIONS "${OPTIONS} --disable-libopenjpeg") + set(WITH_OPENJPEG OFF) endif() if("openmpt" IN_LIST FEATURES) set(OPTIONS "${OPTIONS} --enable-libopenmpt") + set(WITH_OPENMPT ON) else() set(OPTIONS "${OPTIONS} --disable-libopenmpt") + set(WITH_OPENMPT OFF) endif() if("openssl" IN_LIST FEATURES) @@ -399,13 +439,17 @@ else() string(APPEND OPTIONS " --enable-schannel") elseif(VCPKG_TARGET_IS_OSX) string(APPEND OPTIONS " --enable-securetransport") + elseif(VCPKG_TARGET_IS_IOS) + string(APPEND OPTIONS " --enable-securetransport") endif() endif() if("opus" IN_LIST FEATURES) set(OPTIONS "${OPTIONS} --enable-libopus") + set(WITH_OPUS ON) else() set(OPTIONS "${OPTIONS} --disable-libopus") + set(WITH_OPUS OFF) endif() if("sdl2" IN_LIST FEATURES) @@ -416,26 +460,34 @@ endif() if("snappy" IN_LIST FEATURES) set(OPTIONS "${OPTIONS} --enable-libsnappy") + set(WITH_SNAPPY ON) else() set(OPTIONS "${OPTIONS} --disable-libsnappy") + set(WITH_SNAPPY OFF) endif() if("soxr" IN_LIST FEATURES) set(OPTIONS "${OPTIONS} --enable-libsoxr") + set(WITH_SOXR ON) else() set(OPTIONS "${OPTIONS} --disable-libsoxr") + set(WITH_SOXR OFF) endif() if("speex" IN_LIST FEATURES) set(OPTIONS "${OPTIONS} --enable-libspeex") + set(WITH_SPEEX ON) else() set(OPTIONS "${OPTIONS} --disable-libspeex") + set(WITH_SPEEX OFF) endif() if("ssh" IN_LIST FEATURES) set(OPTIONS "${OPTIONS} --enable-libssh") + set(WITH_SSH ON) else() set(OPTIONS "${OPTIONS} --disable-libssh") + set(WITH_SSH OFF) endif() if("tensorflow" IN_LIST FEATURES) @@ -452,44 +504,58 @@ endif() if("theora" IN_LIST FEATURES) set(OPTIONS "${OPTIONS} --enable-libtheora") + set(WITH_THEORA ON) else() set(OPTIONS "${OPTIONS} --disable-libtheora") + set(WITH_THEORA OFF) endif() if("vorbis" IN_LIST FEATURES) set(OPTIONS "${OPTIONS} --enable-libvorbis") + set(WITH_VORBIS ON) else() set(OPTIONS "${OPTIONS} --disable-libvorbis") + set(WITH_VORBIS OFF) endif() if("vpx" IN_LIST FEATURES) set(OPTIONS "${OPTIONS} --enable-libvpx") + set(WITH_VPX ON) else() set(OPTIONS "${OPTIONS} --disable-libvpx") + set(WITH_VPX OFF) endif() if("webp" IN_LIST FEATURES) set(OPTIONS "${OPTIONS} --enable-libwebp") + set(WITH_WEBP ON) else() set(OPTIONS "${OPTIONS} --disable-libwebp") + set(WITH_WEBP OFF) endif() if("x264" IN_LIST FEATURES) set(OPTIONS "${OPTIONS} --enable-libx264") + set(WITH_X264 ON) else() set(OPTIONS "${OPTIONS} --disable-libx264") + set(WITH_X264 OFF) endif() if("x265" IN_LIST FEATURES) set(OPTIONS "${OPTIONS} --enable-libx265") + set(WITH_X265 ON) else() set(OPTIONS "${OPTIONS} --disable-libx265") + set(WITH_X265 OFF) endif() if("xml2" IN_LIST FEATURES) set(OPTIONS "${OPTIONS} --enable-libxml2") + set(WITH_XML2 ON) else() set(OPTIONS "${OPTIONS} --disable-libxml2") + set(WITH_XML2 OFF) endif() if("zlib" IN_LIST FEATURES) @@ -500,14 +566,18 @@ endif() if ("srt" IN_LIST FEATURES) set(OPTIONS "${OPTIONS} --enable-libsrt") + set(WITH_SRT ON) else() set(OPTIONS "${OPTIONS} --disable-libsrt") + set(WITH_SRT OFF) endif() if ("qsv" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-libmfx --enable-encoder=h264_qsv --enable-decoder=h264_qsv") + set(OPTIONS "${OPTIONS} --enable-libmfx --enable-encoder=h264_qsv --enable-decoder=h264_qsv") + set(WITH_MFX ON) else() set(OPTIONS "${OPTIONS} --disable-libmfx") + set(WITH_MFX OFF) endif() set(OPTIONS_CROSS "--enable-cross-compile") @@ -540,7 +610,66 @@ if(VCPKG_TARGET_IS_UWP) string(APPEND OPTIONS " --extra-ldflags=-APPCONTAINER --extra-ldflags=WindowsApp.lib") endif() -set(OPTIONS_DEBUG "--debug --disable-optimizations") +if (VCPKG_TARGET_IS_IOS) + set(vcpkg_target_arch "${VCPKG_TARGET_ARCHITECTURE}") + if (VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(vcpkg_target_arch "x86_64") + elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") + message(FATAL_ERROR "You can build for arm up to iOS 10 but ffmpeg can only be built for iOS 11.0 and later. + Did you mean arm64?") + elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + message(FATAL_ERROR "You can build for x86 up to iOS 10 but ffmpeg can only be built for iOS 11.0 and later. + Did you mean x64") + endif () + + set(vcpkg_osx_deployment_target "${VCPKG_OSX_DEPLOYMENT_TARGET}") + if (NOT VCPKG_OSX_DEPLOYMENT_TARGET) + set(vcpkg_osx_deployment_target 11.0) + elseif (VCPKG_OSX_DEPLOYMENT_TARGET LESS 11.0) # nowadays ffmpeg needs to be built for ios 11.0 and later + message(FATAL_ERROR "ffmpeg can be built only for iOS 11.0 and later but you set VCPKG_OSX_DEPLOYMENT_TARGET to + ${VCPKG_OSX_DEPLOYMENT_TARGET}") + endif () + + if (VCPKG_OSX_SYSROOT STREQUAL "iphonesimulator") + set(simulator "-simulator") + endif () + + set(OPTIONS "${OPTIONS} --extra-cflags=--target=${vcpkg_target_arch}-apple-ios${vcpkg_osx_deployment_target}${simulator}") + set(OPTIONS "${OPTIONS} --extra-ldflags=--target=${vcpkg_target_arch}-apple-ios${vcpkg_osx_deployment_target}${simulator}") + + set(vcpkg_osx_sysroot "${VCPKG_OSX_SYSROOT}") + # only on x64 for some reason you need to specify the sdk path, otherwise it will try to build with the MacOS sdk + # (on apple silicon it's not required but shouldn't cause any problems) + if ((VCPKG_OSX_SYSROOT MATCHES "^(iphoneos|iphonesimulator)$") OR (NOT VCPKG_OSX_SYSROOT) OR (VCPKG_OSX_SYSROOT STREQUAL "")) # if it's not a path + if (VCPKG_OSX_SYSROOT MATCHES "^(iphoneos|iphonesimulator)$") + set(requested_sysroot "${VCPKG_OSX_SYSROOT}") + elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") # if the sysroot is not specified we have to guess + set(requested_sysroot "iphoneos") + elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(requested_sysroot "iphonesimulator") + else () + message(FATAL_ERROR "Unsupported build arch: ${VCPKG_TARGET_ARCHITECTURE}") + endif () + message(STATUS "Retrieving default SDK for ${requested_sysroot}") + execute_process( + COMMAND /usr/bin/xcrun --sdk ${requested_sysroot} --show-sdk-path + OUTPUT_VARIABLE sdk_path + ERROR_VARIABLE xcrun_error + OUTPUT_STRIP_TRAILING_WHITESPACE + ERROR_STRIP_TRAILING_WHITESPACE + ) + if (sdk_path) + message(STATUS "Found!") + set(vcpkg_osx_sysroot "${sdk_path}") + else () + message(FATAL_ERROR "Can't determine ${CMAKE_OSX_SYSROOT} SDK path. Error: ${xcrun_error}") + endif () + endif () + set(OPTIONS "${OPTIONS} --extra-cflags=-isysroot\"${vcpkg_osx_sysroot}\"") + set(OPTIONS "${OPTIONS} --extra-ldflags=-isysroot\"${vcpkg_osx_sysroot}\"") +endif () + +set(OPTIONS_DEBUG "--disable-optimizations") set(OPTIONS_RELEASE "--enable-optimizations") set(OPTIONS "${OPTIONS} ${OPTIONS_CROSS}") @@ -555,6 +684,16 @@ elseif(VCPKG_TARGET_IS_WINDOWS) set(OPTIONS "${OPTIONS} --extra-cflags=-DHAVE_UNISTD_H=0") endif() +set(maybe_needed_libraries -lm) +separate_arguments(standard_libraries NATIVE_COMMAND "${VCPKG_DETECTED_CMAKE_C_STANDARD_LIBRARIES}") +foreach(item IN LISTS standard_libraries) + if(item IN_LIST maybe_needed_libraries) + set(OPTIONS "${OPTIONS} \"--extra-libs=${item}\"") + endif() +endforeach() + +vcpkg_find_acquire_program(PKGCONFIG) +set(OPTIONS "${OPTIONS} --pkg-config=\"${PKGCONFIG}\"") if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") set(OPTIONS "${OPTIONS} --pkg-config-flags=--static") endif() @@ -569,7 +708,6 @@ if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") set(OPTIONS_RELEASE "${OPTIONS_RELEASE} --extra-ldflags=-L\"${CURRENT_INSTALLED_DIR}/lib\"") endif() message(STATUS "Building Release Options: ${OPTIONS_RELEASE}") - set(ENV{PKG_CONFIG_PATH} "${CURRENT_INSTALLED_DIR}/lib/pkgconfig") message(STATUS "Building ${PORT} for Release") file(MAKE_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") # We use response files here as the only known way to handle spaces in paths @@ -594,12 +732,16 @@ if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") configure_file("${CMAKE_CURRENT_LIST_DIR}/build.sh.in" "${BUILD_DIR}/build.sh" @ONLY) + z_vcpkg_setup_pkgconfig_path(CONFIG RELEASE) + vcpkg_execute_required_process( COMMAND "${SHELL}" ./build.sh WORKING_DIRECTORY "${BUILD_DIR}" LOGNAME "build-${TARGET_TRIPLET}-rel" SAVE_LOG_FILES ffbuild/config.log ) + + z_vcpkg_restore_pkgconfig_path() endif() # Debug build @@ -610,8 +752,6 @@ if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") set(OPTIONS_DEBUG "${OPTIONS_DEBUG} --extra-ldflags=-L\"${CURRENT_INSTALLED_DIR}/debug/lib\"") endif() message(STATUS "Building Debug Options: ${OPTIONS_DEBUG}") - set(ENV{LDFLAGS} "${VCPKG_COMBINED_SHARED_LINKER_FLAGS_DEBUG}") - set(ENV{PKG_CONFIG_PATH} "${CURRENT_INSTALLED_DIR}/debug/lib/pkgconfig") message(STATUS "Building ${PORT} for Debug") file(MAKE_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") set(crsp "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/cflags.rsp") @@ -633,12 +773,16 @@ if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") configure_file("${CMAKE_CURRENT_LIST_DIR}/build.sh.in" "${BUILD_DIR}/build.sh" @ONLY) + z_vcpkg_setup_pkgconfig_path(CONFIG DEBUG) + vcpkg_execute_required_process( COMMAND "${SHELL}" ./build.sh WORKING_DIRECTORY "${BUILD_DIR}" LOGNAME "build-${TARGET_TRIPLET}-dbg" SAVE_LOG_FILES ffbuild/config.log ) + + z_vcpkg_restore_pkgconfig_path() endif() if(VCPKG_TARGET_IS_WINDOWS) @@ -709,31 +853,9 @@ if (VCPKG_TARGET_IS_WINDOWS) foreach(_debug IN LISTS _dirs) foreach(PKGCONFIG_MODULE IN LISTS FFMPEG_PKGCONFIG_MODULES) set(PKGCONFIG_FILE "${CURRENT_PACKAGES_DIR}${_debug}lib/pkgconfig/${PKGCONFIG_MODULE}.pc") - # remove redundant cygwin style -libpath entries - execute_process( - COMMAND "${MSYS_ROOT}/usr/bin/cygpath.exe" -u "${CURRENT_INSTALLED_DIR}" - OUTPUT_VARIABLE CYG_INSTALLED_DIR - OUTPUT_STRIP_TRAILING_WHITESPACE - ) - vcpkg_replace_string("${PKGCONFIG_FILE}" "-libpath:${CYG_INSTALLED_DIR}${_debug}lib/pkgconfig/../../lib " "") - # transform libdir, includedir, and prefix paths from cygwin style to windows style file(READ "${PKGCONFIG_FILE}" PKGCONFIG_CONTENT) - foreach(PATH_NAME prefix libdir includedir) - string(REGEX MATCH "${PATH_NAME}=[^\n]*" PATH_VALUE "${PKGCONFIG_CONTENT}") - string(REPLACE "${PATH_NAME}=" "" PATH_VALUE "${PATH_VALUE}") - if(NOT PATH_VALUE) - message(FATAL_ERROR "failed to find pkgconfig variable ${PATH_NAME}") - endif() - execute_process( - COMMAND "${MSYS_ROOT}/usr/bin/cygpath.exe" -w "${PATH_VALUE}" - OUTPUT_VARIABLE FIXED_PATH - OUTPUT_STRIP_TRAILING_WHITESPACE - ) - file(TO_CMAKE_PATH "${FIXED_PATH}" FIXED_PATH) - vcpkg_replace_string("${PKGCONFIG_FILE}" "${PATH_NAME}=${PATH_VALUE}" "${PATH_NAME}=${FIXED_PATH}") - endforeach() # list libraries with -l flag (so pkgconf knows they are libraries and not just linker flags) - foreach(LIBS_ENTRY Libs Libs.private) + foreach(LIBS_ENTRY IN ITEMS Libs Libs.private) string(REGEX MATCH "${LIBS_ENTRY}: [^\n]*" LIBS_VALUE "${PKGCONFIG_CONTENT}") if(NOT LIBS_VALUE) message(FATAL_ERROR "failed to find pkgconfig entry ${LIBS_ENTRY}") @@ -741,11 +863,12 @@ if (VCPKG_TARGET_IS_WINDOWS) string(REPLACE "${LIBS_ENTRY}: " "" LIBS_VALUE "${LIBS_VALUE}") if(LIBS_VALUE) set(LIBS_VALUE_OLD "${LIBS_VALUE}") - string(REGEX REPLACE "([^ ]+)[.]lib" "-l\\1" LIBS_VALUE "${LIBS_VALUE}") + string(REGEX REPLACE " ([^ ]+)[.]lib" " -l\\1" LIBS_VALUE "${LIBS_VALUE}") set(LIBS_VALUE_NEW "${LIBS_VALUE}") - vcpkg_replace_string("${PKGCONFIG_FILE}" "${LIBS_ENTRY}: ${LIBS_VALUE_OLD}" "${LIBS_ENTRY}: ${LIBS_VALUE_NEW}") + string(REPLACE "${LIBS_ENTRY}: ${LIBS_VALUE_OLD}" "${LIBS_ENTRY}: ${LIBS_VALUE_NEW}" PKGCONFIG_CONTENT "${PKGCONFIG_CONTENT}") endif() endforeach() + file(WRITE "${PKGCONFIG_FILE}" "${PKGCONFIG_CONTENT}") endforeach() endforeach() endif() @@ -759,6 +882,7 @@ x_vcpkg_pkgconfig_get_modules(PREFIX FFMPEG_PKGCONFIG MODULES ${FFMPEG_PKGCONFIG function(append_dependencies_from_libs out) cmake_parse_arguments(PARSE_ARGV 1 "arg" "" "LIBS" "") string(REGEX REPLACE "[ ]+" ";" contents "${arg_LIBS}") + list(FILTER contents EXCLUDE REGEX "^-F.+") list(FILTER contents EXCLUDE REGEX "^-framework$") list(FILTER contents EXCLUDE REGEX "^-L.+") list(FILTER contents EXCLUDE REGEX "^-libpath:.+") @@ -880,6 +1004,6 @@ else() endif() configure_file("${CMAKE_CURRENT_LIST_DIR}/FindFFMPEG.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/FindFFMPEG.cmake" @ONLY) -file(COPY "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" "${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-cmake-wrapper.cmake" @ONLY) file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/${LICENSE_FILE}") diff --git a/ports/ffmpeg/vcpkg-cmake-wrapper.cmake b/ports/ffmpeg/vcpkg-cmake-wrapper.cmake index 170bf63336c3d8..7271f1387642b7 100644 --- a/ports/ffmpeg/vcpkg-cmake-wrapper.cmake +++ b/ports/ffmpeg/vcpkg-cmake-wrapper.cmake @@ -3,6 +3,300 @@ list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) cmake_policy(SET CMP0012 NEW) +# Detect if we use "our" find module or a vendored one +set(z_vcpkg_using_vcpkg_find_ffmpeg OFF) + +# Detect targets created e.g. by VTK/CMake/FindFFMPEG.cmake +set(vcpkg_no_avcodec_target ON) +set(vcpkg_no_avformat_target ON) +set(vcpkg_no_avutil_target ON) +set(vcpkg_no_swresample_target ON) +if(TARGET FFmpeg::avcodec) + set(vcpkg_no_avcodec_target OFF) +endif() +if(TARGET FFmpeg::avformat) + set(vcpkg_no_avformat_target OFF) +endif() +if(TARGET FFmpeg::avutil) + set(vcpkg_no_avutil_target OFF) +endif() +if(TARGET FFmpeg::swresample) + set(vcpkg_no_swresample_target OFF) +endif() + _find_package(${ARGS}) +# Fixup of variables and targets for (some) vendored find modules +if(NOT z_vcpkg_using_vcpkg_find_ffmpeg) + +include(SelectLibraryConfigurations) + +if(CMAKE_HOST_WIN32) + set(PKG_CONFIG_EXECUTABLE "${CMAKE_CURRENT_LIST_DIR}/../../../@_HOST_TRIPLET@/tools/pkgconf/pkgconf.exe" CACHE STRING "" FORCE) +endif() + +set(PKG_CONFIG_USE_CMAKE_PREFIX_PATH ON) # Required for CMAKE_MINIMUM_REQUIRED_VERSION VERSION_LESS 3.1 which otherwise ignores CMAKE_PREFIX_PATH + +if(@WITH_MP3LAME@) + find_package(mp3lame CONFIG ) + list(APPEND FFMPEG_LIBRARIES mp3lame::mp3lame) + if(vcpkg_no_avcodec_target AND TARGET FFmpeg::avcodec) + # target exists after find_package and wasn't defined before + target_link_libraries(FFmpeg::avcodec INTERFACE mp3lame::mp3lame) + endif() +endif() + +if(@WITH_XML2@) + find_package(LibXml2 ) + list(APPEND FFMPEG_LIBRARIES LibXml2::LibXml2) + if(vcpkg_no_avcodec_target AND TARGET FFmpeg::avcodec) + target_link_libraries(FFmpeg::avcodec INTERFACE LibXml2::LibXml2) + endif() + if(vcpkg_no_avformat_target AND TARGET FFmpeg::avformat) + target_link_libraries(FFmpeg::avformat INTERFACE LibXml2::LibXml2) + endif() +endif() + +if(@WITH_ICONV@) + find_package(Iconv ) + list(APPEND FFMPEG_LIBRARIES Iconv::Iconv) + if(vcpkg_no_avcodec_target AND TARGET FFmpeg::avcodec) + target_link_libraries(FFmpeg::avcodec INTERFACE Iconv::Iconv) + endif() + if(vcpkg_no_avformat_target AND TARGET FFmpeg::avformat) + target_link_libraries(FFmpeg::avformat INTERFACE Iconv::Iconv) + endif() +endif() + +if(@WITH_LZMA@) + find_package(liblzma CONFIG ) + list(APPEND FFMPEG_LIBRARIES liblzma::liblzma) + if(vcpkg_no_avformat_target AND TARGET FFmpeg::avformat) + target_link_libraries(FFmpeg::avformat INTERFACE liblzma::liblzma) + endif() +endif() + +if(@WITH_SSH@) + find_package(libssh CONFIG ) + list(APPEND FFMPEG_LIBRARIES ssh) + if(vcpkg_no_avformat_target AND TARGET FFmpeg::avformat) + target_link_libraries(FFmpeg::avformat INTERFACE ssh) + endif() +endif() + +if(@WITH_OPENMPT@) + find_package(libopenmpt CONFIG ) + list(APPEND FFMPEG_LIBRARIES libopenmpt::libopenmpt) + if(vcpkg_no_avformat_target AND TARGET FFmpeg::avformat) + target_link_libraries(FFmpeg::avformat INTERFACE libopenmpt::libopenmpt) + endif() +endif() + +if(@WITH_MODPLUG@) + find_package(PkgConfig ) + pkg_check_modules(modplug IMPORTED_TARGET libmodplug) + list(APPEND FFMPEG_LIBRARIES PkgConfig::modplug) + if(vcpkg_no_avformat_target AND TARGET FFmpeg::avformat) + target_link_libraries(FFmpeg::avformat INTERFACE PkgConfig::modplug) + endif() +endif() + +if(@WITH_SRT@) + find_package(PkgConfig ) + pkg_check_modules(srt IMPORTED_TARGET srt) + list(APPEND FFMPEG_LIBRARIES PkgConfig::srt) + if(vcpkg_no_avformat_target AND TARGET FFmpeg::avformat) + target_link_libraries(FFmpeg::avformat INTERFACE PkgConfig::srt) + endif() +endif() + +if(@WITH_DAV1D@) + find_package(PkgConfig ) + pkg_check_modules(dav1d IMPORTED_TARGET dav1d) + list(APPEND FFMPEG_LIBRARIES PkgConfig::dav1d) + if(vcpkg_no_avcodec_target AND TARGET FFmpeg::avcodec) + target_link_libraries(FFmpeg::avcodec INTERFACE PkgConfig::dav1d) + endif() +endif() + +if(@WITH_OPENH264@) + find_package(PkgConfig ) + pkg_check_modules(openh264 IMPORTED_TARGET openh264) + list(APPEND FFMPEG_LIBRARIES PkgConfig::openh264) + if(vcpkg_no_avcodec_target AND TARGET FFmpeg::avcodec) + target_link_libraries(FFmpeg::avcodec INTERFACE PkgConfig::openh264) + endif() +endif() + +if(@WITH_WEBP@) + find_package(WebP CONFIG ) + list(APPEND FFMPEG_LIBRARIES WebP::webp WebP::webpdecoder WebP::webpdemux WebP::libwebpmux) + if(vcpkg_no_avcodec_target AND TARGET FFmpeg::avcodec) + target_link_libraries(FFmpeg::avcodec INTERFACE WebP::webp WebP::webpdecoder WebP::webpdemux WebP::libwebpmux) + endif() +endif() + +if(@WITH_SOXR@) + find_library(SOXR_LIBRARY_RELEASE NAMES soxr PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib" NO_DEFAULT_PATH) + find_library(SOXR_LIBRARY_DEBUG NAMES soxr PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib" NO_DEFAULT_PATH) + select_library_configurations(SOXR) + if(SOXR_LIBRARY_RELEASE) + list(APPEND FFMPEG_LIBRARIES $<$>:${SOXR_LIBRARY_RELEASE}>) + endif() + if(SOXR_LIBRARY_DEBUG) + list(APPEND FFMPEG_LIBRARIES $<$:${SOXR_LIBRARY_DEBUG}>) + endif() + if(vcpkg_no_avcodec_target AND TARGET FFmpeg::avcodec) + target_link_libraries(FFmpeg::avcodec INTERFACE ${SOXR_LIBRARIES}) + endif() + if(vcpkg_no_swresample_target AND TARGET FFmpeg::swresample) + target_link_libraries(FFmpeg::swresample INTERFACE ${SOXR_LIBRARIES}) + endif() +endif() + +if(@WITH_THEORA@) + find_package(PkgConfig ) + pkg_check_modules(theora IMPORTED_TARGET theora) + list(APPEND FFMPEG_LIBRARIES PkgConfig::theora) + if(vcpkg_no_avcodec_target AND TARGET FFmpeg::avcodec) + target_link_libraries(FFmpeg::avcodec INTERFACE PkgConfig::theora) + endif() +endif() + +if(@WITH_MFX@) + find_package(PkgConfig ) + pkg_check_modules(libmfx IMPORTED_TARGET libmfx) + list(APPEND FFMPEG_LIBRARIES PkgConfig::libmfx) + if(vcpkg_no_avcodec_target AND TARGET FFmpeg::avcodec) + target_link_libraries(FFmpeg::avcodec INTERFACE PkgConfig::libmfx) + endif() + if(vcpkg_no_avutil_target AND TARGET FFmpeg::avutil) + target_link_libraries(FFmpeg::avutil INTERFACE PkgConfig::libmfx) + endif() +endif() + +if(@WITH_ILBC@) + find_package(PkgConfig ) + pkg_check_modules(libilbc IMPORTED_TARGET libilbc) + list(APPEND FFMPEG_LIBRARIES PkgConfig::libilbc) + if(vcpkg_no_avcodec_target AND TARGET FFmpeg::avcodec) + target_link_libraries(FFmpeg::avcodec INTERFACE PkgConfig::libilbc) + endif() +endif() + +if(@WITH_THEORA@) + find_package(PkgConfig ) + pkg_check_modules(theora IMPORTED_TARGET theora) + list(APPEND FFMPEG_LIBRARIES PkgConfig::theora) + if(vcpkg_no_avcodec_target AND TARGET FFmpeg::avcodec) + target_link_libraries(FFmpeg::avcodec INTERFACE PkgConfig::theora) + endif() +endif() + +if(@WITH_VORBIS@) + find_package(Vorbis CONFIG ) + list(APPEND FFMPEG_LIBRARIES Vorbis::vorbis Vorbis::vorbisenc) + if(vcpkg_no_avcodec_target AND TARGET FFmpeg::avcodec) + target_link_libraries(FFmpeg::avcodec INTERFACE Vorbis::vorbis Vorbis::vorbisenc) + endif() +endif() + +if(@WITH_VPX@) + find_package(PkgConfig ) + pkg_check_modules(vpx IMPORTED_TARGET vpx) + list(APPEND FFMPEG_LIBRARIES PkgConfig::vpx) + if(vcpkg_no_avcodec_target AND TARGET FFmpeg::avcodec) + target_link_libraries(FFmpeg::avcodec INTERFACE PkgConfig::vpx) + endif() +endif() + +if(@WITH_OPUS@) + find_package(Opus CONFIG ) + list(APPEND FFMPEG_LIBRARIES Opus::opus) + if(vcpkg_no_avcodec_target AND TARGET FFmpeg::avcodec) + target_link_libraries(FFmpeg::avcodec INTERFACE Opus::opus) + endif() +endif() + +if(@WITH_SPEEX@) + find_package(PkgConfig ) + pkg_check_modules(speex IMPORTED_TARGET speex) + list(APPEND FFMPEG_LIBRARIES PkgConfig::speex) + if(vcpkg_no_avcodec_target AND TARGET FFmpeg::avcodec) + target_link_libraries(FFmpeg::avcodec INTERFACE PkgConfig::speex) + endif() +endif() + +if(@WITH_OPENJPEG@) + find_package(OpenJPEG CONFIG ) + list(APPEND FFMPEG_LIBRARIES openjp2) + if(vcpkg_no_avcodec_target AND TARGET FFmpeg::avcodec) + target_link_libraries(FFmpeg::avcodec INTERFACE openjp2) + endif() +endif() + +if(@WITH_SNAPPY@) + find_package(Snappy CONFIG ) + list(APPEND FFMPEG_LIBRARIES Snappy::snappy) + if(vcpkg_no_avcodec_target AND TARGET FFmpeg::avcodec) + target_link_libraries(FFmpeg::avcodec INTERFACE Snappy::snappy) + endif() +endif() + +if(@WITH_AOM@) + find_package(PkgConfig ) + pkg_check_modules(aom IMPORTED_TARGET aom) + list(APPEND FFMPEG_LIBRARIES PkgConfig::aom) + if(vcpkg_no_avcodec_target AND TARGET FFmpeg::avcodec) + target_link_libraries(FFmpeg::avcodec INTERFACE PkgConfig::aom) + endif() +endif() + +if(@WITH_X264@) + find_package(PkgConfig ) + pkg_check_modules(x264 IMPORTED_TARGET x264) + list(APPEND FFMPEG_LIBRARIES PkgConfig::x264) + if(vcpkg_no_avcodec_target AND TARGET FFmpeg::avcodec) + target_link_libraries(FFmpeg::avcodec INTERFACE PkgConfig::x264) + endif() +endif() + +if(@WITH_X265@) + find_package(PkgConfig ) + pkg_check_modules(x265 IMPORTED_TARGET x265) + list(APPEND FFMPEG_LIBRARIES PkgConfig::x265) + if(vcpkg_no_avcodec_target AND TARGET FFmpeg::avcodec) + target_link_libraries(FFmpeg::avcodec INTERFACE PkgConfig::x265) + endif() +endif() + +if(@WITH_AAC@) + find_package(fdk-aac CONFIG) + list(APPEND FFMPEG_LIBRARIES FDK-AAC::fdk-aac) + if(vcpkg_no_avcodec_target AND TARGET FFmpeg::avcodec) + target_link_libraries(FFmpeg::avcodec INTERFACE FDK-AAC::fdk-aac) + endif() +endif() + +if(@WITH_OPENCL@) + find_package(OpenCL ) + list(APPEND FFMPEG_LIBRARIES OpenCL::OpenCL) + if(vcpkg_no_avcodec_target AND TARGET FFmpeg::avcodec) + target_link_libraries(FFmpeg::avcodec INTERFACE OpenCL::OpenCL) + endif() + if(vcpkg_no_avutil_target AND TARGET FFmpeg::avutil) + target_link_libraries(FFmpeg::avutil INTERFACE OpenCL::OpenCL) + endif() +endif() + +endif(NOT z_vcpkg_using_vcpkg_find_ffmpeg) +unset(z_vcpkg_using_vcpkg_find_ffmpeg) + +set(FFMPEG_LIBRARY ${FFMPEG_LIBRARIES}) + set(CMAKE_MODULE_PATH ${FFMPEG_PREV_MODULE_PATH}) + +unset(vcpkg_no_avcodec_target) +unset(vcpkg_no_avformat_target) +unset(vcpkg_no_avutil_target) +unset(vcpkg_no_swresample_target) diff --git a/ports/ffmpeg/vcpkg.json b/ports/ffmpeg/vcpkg.json index 1afb1c802817dc..6d9e7638fc419f 100644 --- a/ports/ffmpeg/vcpkg.json +++ b/ports/ffmpeg/vcpkg.json @@ -1,9 +1,9 @@ { "name": "ffmpeg", - "version": "6.0", + "version": "7.1", "port-version": 2, "description": [ - "a library to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created.", + "A library to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created.", "FFmpeg is the leading multimedia framework, able to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created. It supports the most obscure ancient formats up to the cutting edge. No matter if they were designed by some standards committee, the community or a corporation. It is also highly portable: FFmpeg compiles, runs, and passes our testing infrastructure FATE across Linux, Mac OS X, Microsoft Windows, the BSDs, Solaris, etc. under a wide variety of build environments, machine architectures, and configurations." ], "homepage": "https://ffmpeg.org", @@ -30,6 +30,13 @@ "all": { "description": "Build with all allowed dependencies selected that are compatible with the lgpl license", "dependencies": [ + { + "name": "ffmpeg", + "default-features": false, + "features": [ + "sdl2" + ] + }, { "name": "ffmpeg", "default-features": false, @@ -68,14 +75,6 @@ ], "platform": "linux" }, - { - "name": "ffmpeg", - "default-features": false, - "features": [ - "sdl2" - ], - "platform": "!osx" - }, { "name": "ffmpeg", "default-features": false, @@ -108,14 +107,6 @@ ], "platform": "!uwp" }, - { - "name": "ffmpeg", - "default-features": false, - "features": [ - "opencl" - ], - "platform": "!uwp" - }, { "name": "ffmpeg", "default-features": false, @@ -156,6 +147,14 @@ ], "platform": "!osx & !uwp" }, + { + "name": "ffmpeg", + "default-features": false, + "features": [ + "opencl" + ], + "platform": "!uwp & !osx" + }, { "name": "ffmpeg", "default-features": false, @@ -343,6 +342,33 @@ "dav1d" ] }, + "drawtext": { + "description": "Enable the drawtext filter", + "dependencies": [ + { + "name": "ffmpeg", + "default-features": false, + "features": [ + "freetype" + ] + }, + "harfbuzz" + ] + }, + "dvdvideo": { + "description": "DVD-Video demuxer", + "dependencies": [ + { + "name": "ffmpeg", + "default-features": false, + "features": [ + "gpl" + ] + }, + "libdvdnav", + "libdvdread" + ] + }, "fdk-aac": { "description": "AAC de/encoding via libfdk-aac, **including GPL-incompatible patent-encumbered HE-AAC**. If you do not require HE-AAC, use the built-in FFmpeg AAC codec.", "dependencies": [ @@ -510,7 +536,7 @@ "name": "ffmpeg", "default-features": false, "features": [ - "nonfree" + "version3" ] }, "openssl" diff --git a/ports/ffnvcodec/portfile.cmake b/ports/ffnvcodec/portfile.cmake index d884b49c659de0..1d100396507998 100644 --- a/ports/ffnvcodec/portfile.cmake +++ b/ports/ffnvcodec/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO FFmpeg/nv-codec-headers - REF n${VERSION} - SHA512 c08b7b3d08ef6e95819268067e09c588e5064d4c2320554f868579e96dc841e1eab217c03ef44e246aabdfa8b5e8e267cd5f0726f9c959f45fb27cb79af7c454 + REF "n${VERSION}" + SHA512 dd2f1c7ff54890016ab17500449620cdf3690aa1d34dec78f1b27bdc0d51ec1335a66fda5942ddb43e1a1310de95874aef5232a1e676c21882fae08472d17808 HEAD_REF master ) @@ -28,8 +28,10 @@ if(VCPKG_TARGET_IS_WINDOWS) WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET} LOGNAME build-${TARGET_TRIPLET} ) - - file(INSTALL "${SOURCE_PATH}/ffnvcodec.pc" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") + + if(NOT VCPKG_BUILD_TYPE) + file(INSTALL "${SOURCE_PATH}/ffnvcodec.pc" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") + endif() # Linux, etc. else() @@ -47,11 +49,13 @@ else() # FFmpeg uses pkgconfig to find ffnvcodec.pc, so install it where # FFMpeg's call to pkgconfig expects to find it. file(INSTALL "${SOURCE_PATH}/ffnvcodec.pc" DESTINATION "${CURRENT_PACKAGES_DIR}/lib/pkgconfig") - file(INSTALL "${SOURCE_PATH}/ffnvcodec.pc" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") + if(NOT VCPKG_BUILD_TYPE) + file(INSTALL "${SOURCE_PATH}/ffnvcodec.pc" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") + endif() endif() vcpkg_fixup_pkgconfig() # Install the files to their default vcpkg locations file(INSTALL "${SOURCE_PATH}/include" DESTINATION "${CURRENT_PACKAGES_DIR}") -file(INSTALL "${CURRENT_PORT_DIR}/copyright" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${CURRENT_PORT_DIR}/copyright") diff --git a/ports/ffnvcodec/vcpkg.json b/ports/ffnvcodec/vcpkg.json index 28a99a3b67dd9f..1536c28efbea79 100644 --- a/ports/ffnvcodec/vcpkg.json +++ b/ports/ffnvcodec/vcpkg.json @@ -1,6 +1,7 @@ { "name": "ffnvcodec", - "version": "11.1.5.2", + "version": "12.2.72.0", + "port-version": 1, "description": "FFmpeg version of Nvidia Codec SDK headers.", "homepage": "https://github.com/FFmpeg/nv-codec-headers", "supports": "linux | (!osx & !uwp & !(arm64 & windows))" diff --git a/ports/fftw3/fix-wrong-version.patch b/ports/fftw3/fix-wrong-version.patch new file mode 100644 index 00000000000000..b4bacb2049522d --- /dev/null +++ b/ports/fftw3/fix-wrong-version.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index bc150c6..39a49fb 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -283,7 +283,7 @@ if (HAVE_AVX2) + list (APPEND SOURCEFILES ${fftw_dft_simd_avx2_SOURCE} ${fftw_rdft_simd_avx2_SOURCE}) + endif () + +-set (FFTW_VERSION 3.3.9) ++set (FFTW_VERSION 3.3.10) + + set (PREC_SUFFIX) + if (ENABLE_FLOAT) diff --git a/ports/fftw3/portfile.cmake b/ports/fftw3/portfile.cmake index fca5eb8b9fe35e..4eaea9136a0af3 100644 --- a/ports/fftw3/portfile.cmake +++ b/ports/fftw3/portfile.cmake @@ -13,6 +13,7 @@ vcpkg_extract_source_archive( bigobj.patch fix-openmp.patch install-subtargets.patch + fix-wrong-version.patch # https://github.com/FFTW/fftw3/commit/0842f00ae6b6e1f3aade155bc0edd17a7313fa6a ) vcpkg_check_features( diff --git a/ports/fftw3/vcpkg.json b/ports/fftw3/vcpkg.json index 587f1e85f93380..deb93c90a6d0f0 100644 --- a/ports/fftw3/vcpkg.json +++ b/ports/fftw3/vcpkg.json @@ -1,7 +1,7 @@ { "name": "fftw3", "version": "3.3.10", - "port-version": 8, + "port-version": 9, "description": "FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) in one or more dimensions, of arbitrary input size, and of both real and complex data (as well as of even/odd data, i.e. the discrete cosine/sine transforms or DCT/DST).", "homepage": "https://www.fftw.org/", "license": "GPL-2.0-or-later", diff --git a/ports/fixed-containers/add-install-configuration.patch b/ports/fixed-containers/add-install-configuration.patch new file mode 100644 index 00000000000000..9569bdfdbc4cbb --- /dev/null +++ b/ports/fixed-containers/add-install-configuration.patch @@ -0,0 +1,35 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2738060..4f3aedd 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -236,6 +236,13 @@ if (FIXED_CONTAINERS_OPT_INSTALL) + target_include_directories(fixed_containers INTERFACE $) + + include(CMakePackageConfigHelpers) ++ ++ configure_package_config_file( ++ ${PROJECT_NAME}Config.cmake.in ++ "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake" ++ INSTALL_DESTINATION lib/cmake/${PROJECT_NAME}/ ++ NO_CHECK_REQUIRED_COMPONENTS_MACRO) ++ + write_basic_package_version_file(${PROJECT_NAME}ConfigVersion.cmake + VERSION "0.0.0" + COMPATIBILITY AnyNewerVersion +@@ -249,11 +256,14 @@ if (FIXED_CONTAINERS_OPT_INSTALL) + + install(EXPORT ${PROJECT_NAME}Config + NAMESPACE ${PROJECT_NAME}:: ++ FILE ${PROJECT_NAME}-targets.cmake + DESTINATION lib/cmake/${PROJECT_NAME}) + + install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include + DESTINATION .) + +- export(EXPORT ${PROJECT_NAME}Config +- NAMESPACE ${PROJECT_NAME}::) ++ install( ++ FILES ++ "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake" ++ DESTINATION lib/cmake/${PROJECT_NAME}) + endif() diff --git a/ports/fixed-containers/fixed_containersConfig.cmake.in b/ports/fixed-containers/fixed_containersConfig.cmake.in new file mode 100644 index 00000000000000..a8e659e0aa3bf8 --- /dev/null +++ b/ports/fixed-containers/fixed_containersConfig.cmake.in @@ -0,0 +1,9 @@ + +@PACKAGE_INIT@ + +include(CMakeFindDependencyMacro) + +find_dependency(magic_enum CONFIG) + +include("${CMAKE_CURRENT_LIST_DIR}/fixed_containers-targets.cmake") + diff --git a/ports/fixed-containers/portfile.cmake b/ports/fixed-containers/portfile.cmake new file mode 100644 index 00000000000000..1106d1fe91c0f2 --- /dev/null +++ b/ports/fixed-containers/portfile.cmake @@ -0,0 +1,27 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO teslamotors/fixed-containers + REF 1ad10a6ca835611124f54a1d8ed04bcf7ab53da4 + SHA512 71b7ea86ed45bac39c2f22c572f84d3a9862aab350eeef5d72c6061d42c10bf7fad26cafc6c6b991cdf3ac758b23c29fd8d3414f1b2af7c65058bc31d000b49b + HEAD_REF main + PATCHES add-install-configuration.patch +) + +set(VCPKG_BUILD_TYPE release) # header-only + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/fixed_containersConfig.cmake.in" DESTINATION "${SOURCE_PATH}") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTS=OFF + -DFIXED_CONTAINERS_OPT_INSTALL=ON +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(PACKAGE_NAME fixed_containers CONFIG_PATH lib/cmake/fixed_containers) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/fixed-containers/vcpkg.json b/ports/fixed-containers/vcpkg.json new file mode 100644 index 00000000000000..6d937185fd639b --- /dev/null +++ b/ports/fixed-containers/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "fixed-containers", + "version-date": "2024-09-19", + "description": "C++ Fixed Containers", + "homepage": "https://github.com/teslamotors/fixed-containers", + "license": "MIT", + "dependencies": [ + "magic-enum", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/fizz/0001-fix-libsodium.patch b/ports/fizz/0001-fix-libsodium.patch deleted file mode 100644 index 45496421227c7d..00000000000000 --- a/ports/fizz/0001-fix-libsodium.patch +++ /dev/null @@ -1,35 +0,0 @@ -diff --git a/fizz/CMakeLists.txt b/fizz/CMakeLists.txt -index bb3e15e5..80c5051e 100644 ---- a/fizz/CMakeLists.txt -+++ b/fizz/CMakeLists.txt -@@ -64,7 +64,7 @@ endif() - - include(CheckAtomic) - --find_package(Sodium REQUIRED) -+find_package(unofficial-sodium CONFIG REQUIRED) - - SET(FIZZ_SHINY_DEPENDENCIES "") - SET(FIZZ_LINK_LIBRARIES "") -@@ -255,7 +255,7 @@ target_link_libraries(fizz - PUBLIC - ${FOLLY_LIBRARIES} - ${OPENSSL_LIBRARIES} -- sodium -+ unofficial-sodium::sodium - Threads::Threads - ZLIB::ZLIB - ${ZSTD_LIBRARY} -diff --git a/fizz/cmake/fizz-config.cmake.in b/fizz/cmake/fizz-config.cmake.in -index 679b0e61..b28750fa 100644 ---- a/fizz/cmake/fizz-config.cmake.in -+++ b/fizz/cmake/fizz-config.cmake.in -@@ -26,7 +26,7 @@ endif() - set(FIZZ_LIBRARIES fizz::fizz) - - include(CMakeFindDependencyMacro) --find_dependency(Sodium) -+find_dependency(unofficial-sodium CONFIG REQUIRED) - find_dependency(folly CONFIG) - find_dependency(ZLIB) - diff --git a/ports/fizz/0002-fix-libevent.patch b/ports/fizz/0002-fix-libevent.patch deleted file mode 100644 index b07161d95ac801..00000000000000 --- a/ports/fizz/0002-fix-libevent.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff --git a/fizz/CMakeLists.txt b/fizz/CMakeLists.txt -index 80c5051..9f2e3e6 100644 ---- a/fizz/CMakeLists.txt -+++ b/fizz/CMakeLists.txt -@@ -92,10 +92,10 @@ endif() - - find_package(ZLIB REQUIRED) - --find_package(Libevent CONFIG QUIET) --if(TARGET event) -+find_package(Libevent CONFIG REQUIRED) -+if(TARGET libevent::core) - message(STATUS "Found libevent from package config") -- list(APPEND FIZZ_SHINY_DEPENDENCIES event) -+ list(APPEND FIZZ_SHINY_DEPENDENCIES libevent::core) - else() - find_package(Libevent MODULE REQUIRED) - list(APPEND FIZZ_LINK_LIBRARIES ${LIBEVENT_LIB}) -diff --git a/fizz/cmake/fizz-config.cmake.in b/fizz/cmake/fizz-config.cmake.in -index b28750f..282c42d 100644 ---- a/fizz/cmake/fizz-config.cmake.in -+++ b/fizz/cmake/fizz-config.cmake.in -@@ -29,6 +29,7 @@ include(CMakeFindDependencyMacro) - find_dependency(unofficial-sodium CONFIG REQUIRED) - find_dependency(folly CONFIG) - find_dependency(ZLIB) -+find_dependency(Libevent CONFIG) - - if (NOT fizz_FIND_QUIETLY) - message(STATUS "Found fizz: ${PACKAGE_PREFIX_DIR}") diff --git a/ports/fizz/0003-fix-deps.patch b/ports/fizz/0003-fix-deps.patch deleted file mode 100644 index 0ef7605358eb65..00000000000000 --- a/ports/fizz/0003-fix-deps.patch +++ /dev/null @@ -1,175 +0,0 @@ -diff --git a/fizz/CMakeLists.txt b/fizz/CMakeLists.txt -index 64eec10..6c5a934 100644 ---- a/fizz/CMakeLists.txt -+++ b/fizz/CMakeLists.txt -@@ -50,10 +50,9 @@ find_package(folly CONFIG REQUIRED) - find_package(fmt CONFIG REQUIRED) - - find_package(OpenSSL REQUIRED) --find_package(Glog REQUIRED) --find_package(DoubleConversion REQUIRED) -+find_package(glog CONFIG REQUIRED) -+find_package(double-conversion CONFIG REQUIRED) - find_package(Threads REQUIRED) --find_package(Zstd REQUIRED) - if (UNIX AND NOT APPLE) - find_package(Librt) - endif() -@@ -66,37 +65,17 @@ SET(FIZZ_SHINY_DEPENDENCIES "") - SET(FIZZ_LINK_LIBRARIES "") - SET(FIZZ_INCLUDE_DIRECTORIES "") - --find_package(gflags CONFIG QUIET) --if (gflags_FOUND) -- message(STATUS "Found gflags from package config") -- if (TARGET gflags-shared) -- list(APPEND FIZZ_SHINY_DEPENDENCIES gflags-shared) -- elseif (TARGET gflags) -- list(APPEND FIZZ_SHINY_DEPENDENCIES gflags) -- else() -- message(FATAL_ERROR "Unable to determine the target name for the GFlags package.") -- endif() -- list(APPEND CMAKE_REQUIRED_LIBRARIES ${GFLAGS_LIBRARIES}) -- list(APPEND CMAKE_REQUIRED_INCLUDES ${GFLAGS_INCLUDE_DIR}) --else() -- find_package(Gflags REQUIRED MODULE) -- list(APPEND FIZZ_LINK_LIBRARIES ${LIBGFLAGS_LIBRARY}) -- list(APPEND FIZZ_INCLUDE_DIRECTORIES ${LIBGFLAGS_INCLUDE_DIR}) -- list(APPEND CMAKE_REQUIRED_LIBRARIES ${LIBGFLAGS_LIBRARY}) -- list(APPEND CMAKE_REQUIRED_INCLUDES ${LIBGFLAGS_INCLUDE_DIR}) -+find_package(zstd CONFIG REQUIRED) -+if(TARGET zstd::libzstd_shared) -+ list(APPEND FIZZ_LINK_LIBRARIES zstd::libzstd_shared) -+elseif(TARGET zstd::libzstd_static) -+ list(APPEND FIZZ_LINK_LIBRARIES zstd::libzstd_static) - endif() - -+find_package(gflags CONFIG REQUIRED) - find_package(ZLIB REQUIRED) - - find_package(Libevent CONFIG REQUIRED) --if(TARGET libevent::core) -- message(STATUS "Found libevent from package config") -- list(APPEND FIZZ_SHINY_DEPENDENCIES libevent::core) --else() -- find_package(Libevent MODULE REQUIRED) -- list(APPEND FIZZ_LINK_LIBRARIES ${LIBEVENT_LIB}) -- list(APPEND FIZZ_INCLUDE_DIRECTORIES ${LIBEVENT_INCLUDE_DIR}) --endif() - - configure_file(fizz-config.h.in ${CMAKE_CURRENT_BINARY_DIR}/generated/fizz/fizz-config.h) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/generated/fizz/fizz-config.h DESTINATION ${INCLUDE_INSTALL_DIR}/fizz/) -@@ -243,30 +222,25 @@ target_include_directories( - $ - $ - $ -- ${FOLLY_INCLUDE_DIR} -- ${OPENSSL_INCLUDE_DIR} -- ${sodium_INCLUDE_DIR} -- ${ZSTD_INCLUDE_DIR} - PRIVATE -- ${GLOG_INCLUDE_DIRS} - ${FIZZ_INCLUDE_DIRECTORIES} -- ${DOUBLE_CONVERSION_INCLUDE_DIR} - ) - - - target_link_libraries(fizz - PUBLIC -- ${FOLLY_LIBRARIES} -- ${OPENSSL_LIBRARIES} -+ Folly::folly -+ OpenSSL::SSL -+ OpenSSL::Crypto - unofficial-sodium::sodium - Threads::Threads - ZLIB::ZLIB -- ${ZSTD_LIBRARY} - PRIVATE -- ${GLOG_LIBRARIES} -- ${GFLAGS_LIBRARIES} -+ glog::glog -+ gflags::gflags - ${FIZZ_LINK_LIBRARIES} -- ${DOUBLE_CONVERSION_LIBRARY} -+ libevent::core -+ double-conversion::double-conversion - ${CMAKE_DL_LIBS} - ${LIBRT_LIBRARIES}) - -@@ -323,8 +297,7 @@ ENDIF(CMAKE_CROSSCOMPILING) - SET(FIZZ_TEST_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}) - - if(BUILD_TESTS) -- find_package(GMock 1.8.0 MODULE REQUIRED) -- find_package(GTest 1.8.0 MODULE REQUIRED) -+ find_package(GTest CONFIG REQUIRED) - endif() - - add_library(fizz_test_support -@@ -337,21 +310,9 @@ add_library(fizz_test_support - target_link_libraries(fizz_test_support - PUBLIC - fizz -- ${LIBGMOCK_LIBRARIES} -- ${GLOG_LIBRARY} -+ glog::glog - ) - --target_compile_definitions(fizz_test_support -- PUBLIC -- ${LIBGMOCK_DEFINES} --) -- --target_include_directories(fizz_test_support -- SYSTEM -- PUBLIC -- ${LIBGMOCK_INCLUDE_DIR} -- ${LIBGTEST_INCLUDE_DIRS} --) - - # export fizz headers and targets for unit tests utils - # since other projects such as mvfst and proxygen use them -@@ -375,14 +336,13 @@ macro(add_gtest test_source test_name) - add_executable(${test_name} ${test_source} test/CMakeTestMain.cpp) - - set_property(TARGET ${test_name} PROPERTY ENABLE_EXPORTS true) -- target_include_directories( -- ${test_name} PUBLIC ${LIBGMOCK_INCLUDE_DIR} ${LIBGTEST_INCLUDE_DIR}) -- target_compile_definitions(${test_name} PUBLIC ${LIBGMOCK_DEFINES}) - target_link_libraries( - ${test_name} - fizz - fizz_test_support -- ${LIBGMOCK_LIBRARIES}) -+ GTest::gtest -+ GTest::gmock -+ ) - - if(NOT ${CMAKE_CXX_COMPILER_ID} STREQUAL MSVC) - # GMOCK_MOCK_METHOD() will complain otherwise -diff --git a/fizz/cmake/fizz-config.cmake.in b/fizz/cmake/fizz-config.cmake.in -index 3fb48b2..baa43a6 100644 ---- a/fizz/cmake/fizz-config.cmake.in -+++ b/fizz/cmake/fizz-config.cmake.in -@@ -26,10 +26,19 @@ endif() - set(FIZZ_LIBRARIES fizz::fizz) - - include(CMakeFindDependencyMacro) --find_dependency(unofficial-sodium CONFIG REQUIRED) -+find_dependency(unofficial-sodium CONFIG) - find_dependency(folly CONFIG) - find_dependency(ZLIB) - find_dependency(Libevent CONFIG) -+find_dependency(fmt CONFIG) -+find_dependency(OpenSSL) -+find_dependency(glog CONFIG) -+find_dependency(double-conversion CONFIG) -+find_dependency(Threads) -+find_dependency(gflags CONFIG) -+find_dependency(zstd CONFIG) -+find_dependency(GTest CONFIG) -+ - - if (NOT fizz_FIND_QUIETLY) - message(STATUS "Found fizz: ${PACKAGE_PREFIX_DIR}") diff --git a/ports/fizz/fix-build.patch b/ports/fizz/fix-build.patch new file mode 100644 index 00000000000000..0b5ccd4fa0df35 --- /dev/null +++ b/ports/fizz/fix-build.patch @@ -0,0 +1,152 @@ +diff --git a/fizz/CMakeLists.txt b/fizz/CMakeLists.txt +index c60177c..f9432ec 100644 +--- a/fizz/CMakeLists.txt ++++ b/fizz/CMakeLists.txt +@@ -50,7 +50,7 @@ find_package(folly CONFIG REQUIRED) + find_package(fmt CONFIG REQUIRED) + + find_package(OpenSSL REQUIRED) +-find_package(Glog REQUIRED) ++find_package(glog CONFIG REQUIRED) + find_package(Threads REQUIRED) + find_package(Zstd REQUIRED) + if (UNIX AND NOT APPLE) +@@ -59,43 +59,23 @@ endif() + + include(CheckAtomic) + +-find_package(Sodium REQUIRED) ++find_package(unofficial-sodium CONFIG REQUIRED) + + SET(FIZZ_SHINY_DEPENDENCIES "") + SET(FIZZ_LINK_LIBRARIES "") + SET(FIZZ_INCLUDE_DIRECTORIES "") + +-find_package(gflags CONFIG QUIET) +-if (gflags_FOUND) +- message(STATUS "Found gflags from package config") +- if (TARGET gflags-shared) +- list(APPEND FIZZ_SHINY_DEPENDENCIES gflags-shared) +- elseif (TARGET gflags) +- list(APPEND FIZZ_SHINY_DEPENDENCIES gflags) +- else() +- message(FATAL_ERROR "Unable to determine the target name for the GFlags package.") +- endif() +- list(APPEND CMAKE_REQUIRED_LIBRARIES ${GFLAGS_LIBRARIES}) +- list(APPEND CMAKE_REQUIRED_INCLUDES ${GFLAGS_INCLUDE_DIR}) +-else() +- find_package(Gflags REQUIRED MODULE) +- list(APPEND FIZZ_LINK_LIBRARIES ${LIBGFLAGS_LIBRARY}) +- list(APPEND FIZZ_INCLUDE_DIRECTORIES ${LIBGFLAGS_INCLUDE_DIR}) +- list(APPEND CMAKE_REQUIRED_LIBRARIES ${LIBGFLAGS_LIBRARY}) +- list(APPEND CMAKE_REQUIRED_INCLUDES ${LIBGFLAGS_INCLUDE_DIR}) ++find_package(zstd CONFIG REQUIRED) ++if(TARGET zstd::libzstd_shared) ++ list(APPEND FIZZ_LINK_LIBRARIES zstd::libzstd_shared) ++elseif(TARGET zstd::libzstd_static) ++ list(APPEND FIZZ_LINK_LIBRARIES zstd::libzstd_static) + endif() + ++find_package(gflags CONFIG REQUIRED) + find_package(ZLIB REQUIRED) + +-find_package(Libevent CONFIG QUIET) +-if(TARGET event) +- message(STATUS "Found libevent from package config") +- list(APPEND FIZZ_SHINY_DEPENDENCIES event) +-else() +- find_package(Libevent MODULE REQUIRED) +- list(APPEND FIZZ_LINK_LIBRARIES ${LIBEVENT_LIB}) +- list(APPEND FIZZ_INCLUDE_DIRECTORIES ${LIBEVENT_INCLUDE_DIR}) +-endif() ++find_package(Libevent CONFIG REQUIRED) + + find_package(liboqs CONFIG) + if (liboqs_FOUND) +@@ -193,28 +173,24 @@ target_include_directories( + $ + $ + $ +- ${FOLLY_INCLUDE_DIR} +- ${OPENSSL_INCLUDE_DIR} +- ${sodium_INCLUDE_DIR} +- ${ZSTD_INCLUDE_DIR} + PRIVATE +- ${GLOG_INCLUDE_DIRS} + ${FIZZ_INCLUDE_DIRECTORIES} + ) + + + target_link_libraries(fizz + PUBLIC +- ${FOLLY_LIBRARIES} +- ${OPENSSL_LIBRARIES} +- sodium ++ Folly::folly ++ OpenSSL::SSL ++ OpenSSL::Crypto ++ unofficial-sodium::sodium + Threads::Threads + ZLIB::ZLIB +- ${ZSTD_LIBRARY} + PRIVATE +- ${GLOG_LIBRARIES} +- ${GFLAGS_LIBRARIES} ++ glog::glog ++ gflags::gflags + ${FIZZ_LINK_LIBRARIES} ++ libevent::core + ${CMAKE_DL_LIBS} + ${LIBRT_LIBRARIES}) + +@@ -279,8 +255,7 @@ ENDIF(CMAKE_CROSSCOMPILING) + SET(FIZZ_TEST_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}) + + if(BUILD_TESTS) +- find_package(GMock 1.8.0 MODULE REQUIRED) +- find_package(GTest 1.8.0 MODULE REQUIRED) ++ find_package(GTest CONFIG REQUIRED) + endif() + + add_library(fizz_test_support +@@ -317,14 +292,12 @@ macro(add_gtest test_source test_name) + add_executable(${test_name} ${test_source} test/CMakeTestMain.cpp) + + set_property(TARGET ${test_name} PROPERTY ENABLE_EXPORTS true) +- target_include_directories( +- ${test_name} PUBLIC ${LIBGMOCK_INCLUDE_DIR} ${LIBGTEST_INCLUDE_DIR}) +- target_compile_definitions(${test_name} PUBLIC ${LIBGMOCK_DEFINES}) + target_link_libraries( + ${test_name} + fizz + fizz_test_support +- ${LIBGMOCK_LIBRARIES}) ++ GTest::gtest ++ GTest::gmock) + + if(NOT ${CMAKE_CXX_COMPILER_ID} STREQUAL MSVC) + # GMOCK_MOCK_METHOD() will complain otherwise +diff --git a/fizz/cmake/fizz-config.cmake.in b/fizz/cmake/fizz-config.cmake.in +index 9d07110..a47bb99 100644 +--- a/fizz/cmake/fizz-config.cmake.in ++++ b/fizz/cmake/fizz-config.cmake.in +@@ -31,9 +31,18 @@ set(FIZZ_LIBRARIES fizz::fizz) + + include(CMakeFindDependencyMacro) + +-find_dependency(Sodium) ++find_dependency(unofficial-sodium CONFIG) + find_dependency(folly CONFIG) + find_dependency(ZLIB) ++find_dependency(Libevent CONFIG) ++find_dependency(fmt CONFIG) ++find_dependency(OpenSSL) ++find_dependency(glog CONFIG) ++find_dependency(double-conversion CONFIG) ++find_dependency(Threads) ++find_dependency(gflags CONFIG) ++find_dependency(zstd CONFIG) ++find_dependency(GTest CONFIG) + if(FIZZ_HAVE_OQS) + find_dependency(liboqs CONFIG) + endif() diff --git a/ports/fizz/portfile.cmake b/ports/fizz/portfile.cmake index c92ae9c728e4cd..d6f1ffabb25b51 100644 --- a/ports/fizz/portfile.cmake +++ b/ports/fizz/portfile.cmake @@ -4,12 +4,10 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO facebookincubator/fizz REF "v${VERSION}" - SHA512 ff0dfe95640a24568a2950442576fbf4acd9a1dd354b7f7687cb1946cc2f896664e6e54b29ec051eccddb765bab276cb94c9920c724c4b4a5b1fc5f29c26e649 - HEAD_REF master + SHA512 5066a9f394a9cfce396a3bee06c1d3a1ad84ebc1ff5b7c860540149727b0278dc007073748af54f2d61a4c5ab246cdb825f22c7cb88d50f17f96a633adb08ea4 + HEAD_REF main PATCHES - 0001-fix-libsodium.patch - 0002-fix-libevent.patch - 0003-fix-deps.patch + fix-build.patch ) # Prefer installed config files @@ -34,8 +32,12 @@ vcpkg_copy_pdbs() vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/fizz/fizz-config.cmake" "lib/cmake/fizz" "share/fizz") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") - -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/fizz/tool/test" "${CURRENT_PACKAGES_DIR}/include/fizz/util/test") +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/include/fizz/crypto/aead/test/facebook" + "${CURRENT_PACKAGES_DIR}/include/fizz/record/test/facebook" + "${CURRENT_PACKAGES_DIR}/include/fizz/server/test/facebook" + "${CURRENT_PACKAGES_DIR}/include/fizz/tool/test" + "${CURRENT_PACKAGES_DIR}/include/fizz/util/test") vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/fizz/vcpkg.json b/ports/fizz/vcpkg.json index f5f49a7c059a19..d6ff4bd6e7b283 100644 --- a/ports/fizz/vcpkg.json +++ b/ports/fizz/vcpkg.json @@ -1,6 +1,6 @@ { "name": "fizz", - "version-string": "2023.10.02.00", + "version-string": "2025.01.06.00", "description": "a TLS 1.3 implementation by Facebook", "homepage": "https://github.com/facebookincubator/fizz", "license": "BSD-3-Clause", diff --git a/ports/flagpp/portfile.cmake b/ports/flagpp/portfile.cmake new file mode 100644 index 00000000000000..84c492ce9d34cf --- /dev/null +++ b/ports/flagpp/portfile.cmake @@ -0,0 +1,15 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Curve/flagpp + REF "v${VERSION}" + SHA512 c0a9c63846075677b89af38aecd0536df430d7a2600115067644af58aefb6941f56a0e5bd13a4006b032cd96804cc0acde9be2725ddd79691c878f7e5ed04b92 + HEAD_REF master +) + +vcpkg_cmake_configure(SOURCE_PATH ${SOURCE_PATH}) + +vcpkg_cmake_install() + + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/flagpp/vcpkg.json b/ports/flagpp/vcpkg.json new file mode 100644 index 00000000000000..be0bb690f3d000 --- /dev/null +++ b/ports/flagpp/vcpkg.json @@ -0,0 +1,12 @@ +{ + "name": "flagpp", + "version": "2.1", + "description": "A C++20 library that provides (opt-in) bit-wise operations for arbitrary `enum class`es", + "homepage": "https://github.com/Curve/flagpp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/ports/flatbuffers/fix-uwp-build.patch b/ports/flatbuffers/fix-uwp-build.patch index d1846547fe75c7..8495b26a6cc0cc 100644 --- a/ports/flatbuffers/fix-uwp-build.patch +++ b/ports/flatbuffers/fix-uwp-build.patch @@ -2,7 +2,7 @@ diff --git a/src/util.cpp b/src/util.cpp index aabc23a..06e9ebe 100644 --- a/src/util.cpp +++ b/src/util.cpp -@@ -420,9 +420,15 @@ bool ReadEnvironmentVariable(const char *var_name, std::string *_value) { +@@ -434,9 +434,15 @@ bool ReadEnvironmentVariable(const char *var_name, std::string *_value) { #ifdef _MSC_VER __pragma(warning(disable : 4996)); // _CRT_SECURE_NO_WARNINGS #endif diff --git a/ports/flatbuffers/portfile.cmake b/ports/flatbuffers/portfile.cmake index 4adaf46459806b..fcd7277df22e8f 100644 --- a/ports/flatbuffers/portfile.cmake +++ b/ports/flatbuffers/portfile.cmake @@ -4,7 +4,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/flatbuffers REF "v${VERSION}" - SHA512 cd0a5efad8016e1217d01a181d6b02e546f5693c6412361bfeaee820d5dfe5e2a424cee1963270e851c1a4f936ae8a0032a51c5bb16ee19313e0ecc77dc4ba31 + SHA512 f97762ba41b9cfef648e93932fd789324c6bb6ebc5b7aeca8185c9ef602294b67d73aea7ae371035579a1419cbfbeba7c3e88b31b5a5848db98f5e8a03b982b1 HEAD_REF master PATCHES fix-uwp-build.patch @@ -25,6 +25,8 @@ vcpkg_cmake_configure( -DFLATBUFFERS_BUILD_TESTS=OFF -DFLATBUFFERS_BUILD_GRPCTEST=OFF ${options} + OPTIONS_DEBUG + -DFLATBUFFERS_BUILD_FLATC=OFF ) vcpkg_cmake_install() @@ -40,8 +42,8 @@ else() endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/flatbuffers/pch") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") -# Handle copyright vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/flatbuffers/vcpkg.json b/ports/flatbuffers/vcpkg.json index f52dbbb3c04148..2709ab8a69ac3e 100644 --- a/ports/flatbuffers/vcpkg.json +++ b/ports/flatbuffers/vcpkg.json @@ -1,10 +1,7 @@ { "name": "flatbuffers", - "version": "23.5.26", - "description": [ - "Memory Efficient Serialization Library", - "FlatBuffers is an efficient cross platform serialization library for games and other memory constrained apps. It allows you to directly access serialized data without unpacking/parsing it first, while still having great forwards/backwards compatibility." - ], + "version": "24.12.23", + "description": "FlatBuffers is a cross platform serialization library architected for maximum memory efficiency. It allows you to directly access serialized data without parsing/unpacking it first, while still having great forwards/backwards compatibility.", "homepage": "https://google.github.io/flatbuffers/", "license": "Apache-2.0", "dependencies": [ diff --git a/ports/flatbush/portfile.cmake b/ports/flatbush/portfile.cmake index 43deaaf88e5aba..2962d241528efe 100644 --- a/ports/flatbush/portfile.cmake +++ b/ports/flatbush/portfile.cmake @@ -3,7 +3,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO chusitoo/flatbush REF "v${VERSION}" - SHA512 c2671a8885bc1299efdfa38f1947b98697aeb9ee156622cd71fbdf8a7741e5fa0306f5d85867e6dd683fb80c9d74fa9cd9809b47797183a0bbcab7ee57df165e + SHA512 6640265e921998d7de1fca8ee628007687081ba6ab1fb0bd5a0951eac0e76e59b89c441a9baf6abd90ec32271b943974bc8becb1ccfb36fe74811025106620de HEAD_REF master ) diff --git a/ports/flatbush/vcpkg.json b/ports/flatbush/vcpkg.json index 150b4c910f4d6e..4def2c538f3d44 100644 --- a/ports/flatbush/vcpkg.json +++ b/ports/flatbush/vcpkg.json @@ -1,6 +1,6 @@ { "name": "flatbush", - "version": "1.2.0", + "version": "1.2.1", "description": "A C++11 header-only single file port of Flatbush", "homepage": "https://github.com/chusitoo/flatbush", "license": "MIT", diff --git a/ports/flecs/portfile.cmake b/ports/flecs/portfile.cmake index 1255301e1a438a..1dbc59538e5ea0 100644 --- a/ports/flecs/portfile.cmake +++ b/ports/flecs/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO SanderMertens/flecs REF "v${VERSION}" - SHA512 0931777bf7b43cd86a882bb3172ee8ce6294495eee010edc08afb33d09440280b46b2453395c69ac023f4f6d8a0600097c4b1797666c9094e1ae394659017853 + SHA512 aa2062b188bf1cf35c1323f133541d414d542b73bf3c1f587dcbeda97419f92df2a6e07642e2f92b21b7044b24d82837f7f488c4ce840323715043d589ad217d HEAD_REF master ) diff --git a/ports/flecs/vcpkg.json b/ports/flecs/vcpkg.json index 22f8d345848822..c009ee11ec545c 100644 --- a/ports/flecs/vcpkg.json +++ b/ports/flecs/vcpkg.json @@ -1,8 +1,9 @@ { "name": "flecs", - "version": "3.2.8", + "version": "4.0.4", "description": "A fast entity component system (ECS) for C & C++", "homepage": "https://github.com/SanderMertens/flecs", + "documentation": "https://www.flecs.dev/flecs/", "license": "MIT", "dependencies": [ { diff --git a/ports/fltk/dependencies.patch b/ports/fltk/dependencies.patch index bd4507c34d06c5..848399824ab898 100644 --- a/ports/fltk/dependencies.patch +++ b/ports/fltk/dependencies.patch @@ -1,26 +1,53 @@ diff --git a/CMake/options.cmake b/CMake/options.cmake -index ddd650f..69bcc2e 100644 +index d1e299f..d20e9c8 100644 --- a/CMake/options.cmake +++ b/CMake/options.cmake -@@ -63,7 +63,7 @@ endif (APPLE) +@@ -101,11 +101,14 @@ endif () + ####################################################################### + + if (OPTION_USE_SYSTEM_ZLIB) +- find_package (ZLIB) ++ find_package(ZLIB REQUIRED) ++ set(LIB_zlib "${ZLIB_LIBRARIES}" CACHE INTERNAL "") + endif () + + if (OPTION_USE_SYSTEM_LIBPNG) +- find_package (PNG) ++ find_package(PNG REQUIRED) ++ set(HAVE_PNG_H "${PNG_FOUND}") ++ set(LIB_png "${PNG_LIBRARIES}" CACHE INTERNAL "") + endif () + + # If we use the system zlib, we must also use the system png zlib and vice versa +@@ -148,7 +151,8 @@ set (HAVE_LIBZ 1) + ####################################################################### + + if (OPTION_USE_SYSTEM_LIBJPEG) +- find_package (JPEG) ++ find_package(JPEG REQUIRED) ++ set(LIB_jpeg "${JPEG_LIBRARIES}" CACHE INTERNAL "") + endif () + + if (OPTION_USE_SYSTEM_LIBJPEG AND JPEG_FOUND) +@@ -228,7 +232,7 @@ endif (APPLE) # find X11 libraries and headers set (PATH_TO_XLIBS) - if ((NOT APPLE OR OPTION_APPLE_X11) AND NOT WIN32) + if (NOT APPLE AND NOT WIN32) - include (FindX11) + find_package(X11) if (X11_FOUND) set (USE_X11 1) list (APPEND FLTK_LDLIBS -lX11) -@@ -214,7 +214,7 @@ if (OPTION_USE_GL) - unset(HAVE_GL_GLU_H CACHE) - find_file (HAVE_GL_GLU_H GL/glu.h PATHS ${X11_INCLUDE_DIR}) - else() -- include (FindOpenGL) -+ find_package(OpenGL REQUIRED) - if (APPLE) - set (HAVE_GL_GLU_H ${HAVE_OPENGL_GLU_H}) - endif (APPLE) -@@ -285,7 +285,7 @@ set (FLTK_PTHREADS_FOUND FALSE) +@@ -351,7 +355,7 @@ if (HAVE_GL) + endif (HAVE_GL) + + if (OPTION_USE_GL) +- include (FindOpenGL) ++ find_package(OpenGL REQUIRED) + if (APPLE) + set (HAVE_GL_GLU_H ${HAVE_OPENGL_GLU_H}) + endif (APPLE) +@@ -421,7 +425,7 @@ set (FLTK_PTHREADS_FOUND FALSE) if (OPTION_USE_THREADS) @@ -29,39 +56,8 @@ index ddd650f..69bcc2e 100644 if (CMAKE_HAVE_THREADS_LIBRARY) add_definitions ("-D_THREAD_SAFE -D_REENTRANT") -@@ -330,7 +330,8 @@ unset (debug_threads) - option (OPTION_USE_SYSTEM_ZLIB "use system zlib" ON) - - if (OPTION_USE_SYSTEM_ZLIB) -- include (FindZLIB) -+ find_package(ZLIB REQUIRED) -+ set(LIB_zlib "${ZLIB_LIBRARIES}" CACHE INTERNAL "") - endif (OPTION_USE_SYSTEM_ZLIB) - - if (ZLIB_FOUND) -@@ -359,7 +360,8 @@ else () - endif (APPLE) - - if (OPTION_USE_SYSTEM_LIBJPEG) -- include (FindJPEG) -+ find_package(JPEG REQUIRED) -+ set(LIB_jpeg "${JPEG_LIBRARIES}" CACHE INTERNAL "") - endif (OPTION_USE_SYSTEM_LIBJPEG) - - if (JPEG_FOUND) -@@ -387,7 +389,9 @@ else () - endif (APPLE) - - if (OPTION_USE_SYSTEM_LIBPNG) -- include (FindPNG) -+ find_package(PNG REQUIRED) -+ set(HAVE_PNG_H "${PNG_FOUND}") -+ set(LIB_png "${PNG_LIBRARIES}" CACHE INTERNAL "") - endif (OPTION_USE_SYSTEM_LIBPNG) - - if (PNG_FOUND) diff --git a/CMake/resources.cmake b/CMake/resources.cmake -index 57173f2..734a528 100644 +index a763fb6..5fdb3d5 100644 --- a/CMake/resources.cmake +++ b/CMake/resources.cmake @@ -39,7 +39,7 @@ endmacro (fl_find_header) @@ -73,7 +69,7 @@ index 57173f2..734a528 100644 # fl_debug_var (PKG_CONFIG_FOUND) # fl_debug_var (PKG_CONFIG_EXECUTABLE) -@@ -151,8 +151,7 @@ mark_as_advanced (HAVE_X11_XREGION_H) +@@ -131,8 +131,7 @@ mark_as_advanced (HAVE_X11_XREGION_H) # where to find freetype headers @@ -83,19 +79,19 @@ index 57173f2..734a528 100644 if (FREETYPE_PATH) include_directories (${FREETYPE_PATH}) -@@ -162,11 +161,12 @@ mark_as_advanced (FREETYPE_PATH) +@@ -142,11 +141,12 @@ mark_as_advanced (FREETYPE_PATH) ####################################################################### # libraries -find_library (LIB_dl dl) +set(LIB_dl "${CMAKE_DL_LIBS}" CACHE STRING "") - if ((NOT APPLE) OR OPTION_APPLE_X11) + if (NOT APPLE) - find_library (LIB_fontconfig fontconfig) + find_package(Fontconfig REQUIRED) + set(LIB_fontconfig "${Fontconfig_LIBRARIES}" CACHE INTERNAL "") - endif ((NOT APPLE) OR OPTION_APPLE_X11) + endif (NOT APPLE) -find_library (LIB_freetype freetype) +set(LIB_freetype "" CACHE INTERNAL "Obsolete") find_library (LIB_GL GL) find_library (LIB_MesaGL MesaGL) - find_library (LIB_GLEW GLEW) + find_library (LIB_GLEW NAMES GLEW glew32) diff --git a/ports/fltk/fix-build-executable.patch b/ports/fltk/fix-build-executable.patch new file mode 100644 index 00000000000000..42c399adbeb47e --- /dev/null +++ b/ports/fltk/fix-build-executable.patch @@ -0,0 +1,115 @@ +diff --git a/CMake/FLTKConfig.cmake.in b/CMake/FLTKConfig.cmake.in +index e2de914..c0bee05 100644 +--- a/CMake/FLTKConfig.cmake.in ++++ b/CMake/FLTKConfig.cmake.in +@@ -37,17 +37,100 @@ set (FLTK_USE_FILE ${CMAKE_CURRENT_LIST_DIR}/UseFLTK.cmake) + + set (FLTK_INCLUDE_DIR "${FLTK_INCLUDE_DIRS}") + +-if (CMAKE_CROSSCOMPILING) +- find_file(FLUID_PATH ++if(CMAKE_CROSSCOMPILING) ++ ++ # Find a fluid executable on the build host to be able to build fluid programs ++ ++ find_program(FLTK_FLUID_HOST + NAMES fluid fluid.exe + PATHS ENV PATH ++ NO_DEFAULT_PATH + NO_CMAKE_FIND_ROOT_PATH + ) +- add_executable(fluid IMPORTED) +- set_target_properties(fluid +- PROPERTIES IMPORTED_LOCATION ${FLUID_PATH} +- ) +- set (FLTK_FLUID_EXECUTABLE ${FLUID_PATH}) +-else () +- set (FLTK_FLUID_EXECUTABLE fluid) +-endif (CMAKE_CROSSCOMPILING) ++ ++ if(FLTK_FLUID_HOST) ++ ++ if(0) # Experimental: currently not used ++ # Import a special 'fluid' target called 'fluid-host' (fltk::fluid-host) ++ # Note: this is "the same as" the CMake variable FLTK_FLUID_EXECUTABLE ++ add_executable(fluid-host IMPORTED) ++ set_target_properties(fluid-host ++ PROPERTIES IMPORTED_LOCATION ${FLTK_FLUID_HOST} ++ ) ++ add_executable(fltk::fluid-host ALIAS fluid-host) ++ set(FLTK_FLUID_EXECUTABLE fltk::fluid-host) ++ ++ else() ++ ++ set(FLTK_FLUID_EXECUTABLE "${FLTK_FLUID_HOST}") ++ ++ endif() ++ ++ else() # fluid not found on build host ++ ++ message(STATUS "FLTKConfig.cmake (cross-compiling): fluid not found on the build host") ++ # note: this assigns "FLTK_FLUID_HOST-NOTFOUND" and running fluid will fail ++ set(FLTK_FLUID_EXECUTABLE "${FLTK_FLUID_HOST}") ++ ++ endif() ++ ++else(CMAKE_CROSSCOMPILING) ++ ++ if(FLTK_CREATE_COMPATIBILITY_ALIASES) ++ ++ function(_fltk_make_alias target from) ++ if(TARGET ${from} AND NOT TARGET ${target}) ++ # message(STATUS "FLTKConfig.cmake - create alias: ${target} from ${from}") ++ ++ # promote imported target to global visibility (CMake < 3.18 only) ++ if(CMAKE_VERSION VERSION_LESS "3.18") ++ set_target_properties(${from} PROPERTIES IMPORTED_GLOBAL TRUE) ++ endif() ++ ++ get_target_property(ttype ${from} TYPE) ++ if(ttype STREQUAL "EXECUTABLE") ++ add_executable(${target} ALIAS ${from}) ++ else() ++ add_library(${target} ALIAS ${from}) ++ endif() ++ endif() ++ endfunction(_fltk_make_alias target) ++ ++ if(NOT TARGET fltk::fltk) ++ message(FATAL "FLTKConfig.cmake: target fltk::fltk does not exist!") ++ endif() ++ ++ _fltk_make_alias(fltk fltk::fltk) ++ _fltk_make_alias(fltk-shared fltk::fltk-shared) ++ ++ _fltk_make_alias(fluid fltk::fluid) ++ _fltk_make_alias(fluid-cmd fltk::fluid-cmd) ++ ++ _fltk_make_alias(fltk-options fltk::options) ++ _fltk_make_alias(fltk-options-cmd fltk::options-cmd) ++ ++ foreach(target cairo forms gl images jpeg png z) ++ _fltk_make_alias(fltk_${target} fltk::${target}) ++ _fltk_make_alias(fltk_${target}-shared fltk::${target}-shared) ++ endforeach() ++ ++ endif() # Create aliases ... ++ ++ # set FLTK_FLUID_EXECUTABLE: try to use the fltk::target name if it ++ # exists and fall back to 'fluid-cmd' or 'fluid' if not. This will ++ # eventually call the build host's fluid if found in the users's PATH ++ ++ if(TARGET fltk::fluid-cmd) # Windows only ++ set(FLTK_FLUID_EXECUTABLE fltk::fluid-cmd) ++ elseif(TARGET fltk::fluid) ++ set(FLTK_FLUID_EXECUTABLE fltk::fluid) ++ elseif(WIN32) ++ set(FLTK_FLUID_EXECUTABLE fluid-cmd) ++ else() ++ set(FLTK_FLUID_EXECUTABLE fluid) ++ endif() ++ ++endif(CMAKE_CROSSCOMPILING) ++ ++# Debug: should be commented out ++# message(STATUS "FLTKConfig.cmake: FLTK_FLUID_EXECUTABLE = '${FLTK_FLUID_EXECUTABLE}'") diff --git a/ports/fltk/fix-narrow.patch b/ports/fltk/fix-narrow.patch deleted file mode 100644 index 1af2eb89dac192..00000000000000 --- a/ports/fltk/fix-narrow.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/fluid/ExternalCodeEditor_WIN32.cxx b/fluid/ExternalCodeEditor_WIN32.cxx -index 4646fe5..3b7f693 100644 ---- a/fluid/ExternalCodeEditor_WIN32.cxx -+++ b/fluid/ExternalCodeEditor_WIN32.cxx -@@ -474,7 +474,7 @@ void ExternalCodeEditor::reap_cleanup() { - int ExternalCodeEditor::reap_editor(DWORD *pid_reaped) { - if ( pid_reaped ) *pid_reaped = 0; - if ( !is_editing() ) return -2; -- int err; -+ DWORD err; - DWORD msecs_wait = 50; // .05 sec - switch ( err = WaitForSingleObject(pinfo_.hProcess, msecs_wait) ) { - case WAIT_TIMEOUT: { // process didn't reap, still running diff --git a/ports/fltk/fix-system-link.patch b/ports/fltk/fix-system-link.patch index 45a4c3521f8a3d..e4c324093b085a 100644 --- a/ports/fltk/fix-system-link.patch +++ b/ports/fltk/fix-system-link.patch @@ -1,16 +1,16 @@ diff --git a/CMake/fl_add_library.cmake b/CMake/fl_add_library.cmake -index 6fa2fc5..e5ba493 100644 +index 7e3490b..682a000 100644 --- a/CMake/fl_add_library.cmake +++ b/CMake/fl_add_library.cmake -@@ -38,6 +38,11 @@ macro (FL_ADD_LIBRARY LIBNAME LIBTYPE LIBFILES) - add_library(${TARGET_NAME} ${LIBTYPE} ${LIBFILES}) - +@@ -39,6 +39,11 @@ macro (FL_ADD_LIBRARY LIBNAME LIBTYPE LIBFILES) + target_include_directories(${TARGET_NAME} PUBLIC $) -+ + + if (APPLE) + find_library(Cocoa Cocoa) + target_link_libraries(${TARGET_NAME} $<$:${Cocoa}>) + endif() - ++ # target properties for all libraries + set_target_properties(${TARGET_NAME} diff --git a/ports/fltk/include.patch b/ports/fltk/include.patch index d460134dc156aa..993c717d6e14ba 100644 --- a/ports/fltk/include.patch +++ b/ports/fltk/include.patch @@ -1,13 +1,13 @@ diff --git a/CMake/fl_add_library.cmake b/CMake/fl_add_library.cmake -index 29baa95..6fa2fc5 100644 +index 29baa95..7e3490b 100644 --- a/CMake/fl_add_library.cmake +++ b/CMake/fl_add_library.cmake -@@ -36,6 +36,8 @@ macro (FL_ADD_LIBRARY LIBNAME LIBTYPE LIBFILES) - endif (MSVC) +@@ -37,6 +37,8 @@ macro (FL_ADD_LIBRARY LIBNAME LIBTYPE LIBFILES) add_library(${TARGET_NAME} ${LIBTYPE} ${LIBFILES}) -+ -+ target_include_directories(${TARGET_NAME} PUBLIC $) ++ target_include_directories(${TARGET_NAME} PUBLIC $) ++ # target properties for all libraries + set_target_properties(${TARGET_NAME} diff --git a/ports/fltk/portfile.cmake b/ports/fltk/portfile.cmake index ccfdb91d112276..e6180cc66e07b8 100644 --- a/ports/fltk/portfile.cmake +++ b/ports/fltk/portfile.cmake @@ -4,15 +4,15 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO fltk/fltk - REF release-1.3.8 - SHA512 197848d3b80a65cca936daf4f0b74609f0fe8332a4cd11af53385fb2aa45ad698b1e239a48732b118cd3cb189bc531711b72fb2eeeb85be887dc6c5a558fa4b3 + REF "release-${VERSION}" + SHA512 2dfeeed9fdc6db62a6620e7c846dbe0bf97dacce3077832e314a35bf16ba6a45803373188a7b3954eada5829385b9914241270b71f12aaf3e9e3df45eb2b1b95 PATCHES dependencies.patch config-path.patch include.patch fix-system-link.patch math-h-polyfill.patch - fix-narrow.patch + fix-build-executable.patch #https://github.com/fltk/fltk/commit/63d7c71e1a926f487f22aa26042a2582624b3b17 ) file(REMOVE_RECURSE "${SOURCE_PATH}/jpeg" @@ -31,6 +31,11 @@ if(VCPKG_CROSSCOMPILING) set(fluid_path_param "-DFLUID_PATH=${CURRENT_HOST_INSTALLED_DIR}/tools/fltk/fluid${VCPKG_HOST_EXECUTABLE_SUFFIX}") endif() +set(runtime_dll "ON") +if(VCPKG_CRT_LINKAGE STREQUAL "static") + set(runtime_dll "OFF") +endif() + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS @@ -45,6 +50,7 @@ vcpkg_cmake_configure( -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=1 "-DCocoa:STRING=-framework Cocoa" # avoid absolute path ${fluid_path_param} + -DFLTK_MSVC_RUNTIME_DLL=${runtime_dll} MAYBE_UNUSED_VARIABLES Cocoa ) @@ -59,10 +65,12 @@ if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/fltk-config") file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/${PORT}") file(RENAME "${CURRENT_PACKAGES_DIR}/bin/fltk-config" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/fltk-config") vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/fltk-config" "${CURRENT_PACKAGES_DIR}" "`dirname $0`/../..") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/fltk-config" "${CURRENT_INSTALLED_DIR}" "`dirname $0`/../.." IGNORE_UNCHANGED) if(NOT VCPKG_BUILD_TYPE) file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug") file(RENAME "${CURRENT_PACKAGES_DIR}/debug/bin/fltk-config" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug/fltk-config") vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug/fltk-config" "${CURRENT_PACKAGES_DIR}" "`dirname $0`/../../..") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug/fltk-config" "${CURRENT_INSTALLED_DIR}" "`dirname $0`/../../.." IGNORE_UNCHANGED) vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug/fltk-config" "{prefix}/include" "{prefix}/../include") endif() endif() diff --git a/ports/fltk/vcpkg.json b/ports/fltk/vcpkg.json index 7fd2392dd6c64c..ad1ac7ef0e0e05 100644 --- a/ports/fltk/vcpkg.json +++ b/ports/fltk/vcpkg.json @@ -1,7 +1,7 @@ { "name": "fltk", - "version": "1.3.8", - "port-version": 5, + "version": "1.3.9", + "port-version": 2, "description": "FLTK (pronounced fulltick) is a cross-platform C++ GUI toolkit for UNIX/Linux (X11), Microsoft Windows, and MacOS X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL and its built-in GLUT emulation.", "homepage": "https://www.fltk.org/", "license": null, diff --git a/ports/fluidsynth/portfile.cmake b/ports/fluidsynth/portfile.cmake index 87c62c84807936..5036f294006286 100644 --- a/ports/fluidsynth/portfile.cmake +++ b/ports/fluidsynth/portfile.cmake @@ -10,7 +10,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO FluidSynth/fluidsynth REF "v${VERSION}" - SHA512 79891116d78b9be1c38bce9e5759b9bb732c3d8ee31c6e57d1a3e2b5548879b91d19582e73ee7fb0fd243beba3bf1bbc341a26aab0b6440eef36fc55dce3e8b0 + SHA512 8c43e4e86f364f42115a51311231d9926325d7e519c2ddd087a9ed421c9a94cc0dfc5cfbfdfffe9401c634cce14c6e442523550114ac887096dde22ab0c63d98 HEAD_REF master PATCHES gentables.patch @@ -30,7 +30,7 @@ set(WINDOWS_OPTIONS enable-dsound enable-wasapi enable-waveout enable-winmidi HA set(MACOS_OPTIONS enable-coreaudio enable-coremidi COREAUDIO_FOUND COREMIDI_FOUND) set(LINUX_OPTIONS enable-alsa ALSA_FOUND) set(ANDROID_OPTIONS enable-opensles OpenSLES_FOUND) -set(IGNORED_OPTIONS enable-coverage enable-dbus enable-floats enable-fpe-check enable-framework enable-jack enable-lash +set(IGNORED_OPTIONS enable-coverage enable-dbus enable-floats enable-fpe-check enable-framework enable-jack enable-libinstpatch enable-midishare enable-oboe enable-openmp enable-oss enable-pipewire enable-portaudio enable-profiling enable-readline enable-sdl2 enable-systemd enable-trap-on-fpe enable-ubsan) diff --git a/ports/fluidsynth/vcpkg.json b/ports/fluidsynth/vcpkg.json index 89412b18f9e45c..8733be94e8b3e0 100644 --- a/ports/fluidsynth/vcpkg.json +++ b/ports/fluidsynth/vcpkg.json @@ -1,6 +1,6 @@ { "name": "fluidsynth", - "version": "2.3.4", + "version": "2.4.2", "description": "FluidSynth reads and handles MIDI events from the MIDI input device. It is the software analogue of a MIDI synthesizer. FluidSynth can also play midifiles using a Soundfont.", "homepage": "https://github.com/FluidSynth/fluidsynth", "license": "LGPL-2.1-or-later", diff --git a/ports/flux/portfile.cmake b/ports/flux/portfile.cmake index 4b5d6c1176d770..9f6d94becbc665 100644 --- a/ports/flux/portfile.cmake +++ b/ports/flux/portfile.cmake @@ -1,11 +1,9 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO tcbrindle/flux - REF 1c128b50af95fc39b6683d437f9210239e219836 - SHA512 c07d3053227d6a62f5a7b0aba8535c0ed42195249d131a77989b3ee79a697f8d540b68639dcd9e89b5cdd76ee5d7f07db9b3be23bc325761c85af625f507e393 + REF "v${VERSION}" + SHA512 ac6f373d2b6b7f568528ba489aa0b1785ce9e25ba1c75ec23a3a7b517d54534491be0f808a09778e651791e61cc4bf407b8c18ff6aa53af4ae7cd9b518a8df43 HEAD_REF master - PATCHES - targets-fixup.patch ) set(VCPKG_BUILD_TYPE release) # header-only port diff --git a/ports/flux/targets-fixup.patch b/ports/flux/targets-fixup.patch deleted file mode 100644 index 3eba08b8c2299f..00000000000000 --- a/ports/flux/targets-fixup.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff --git i/CMakeLists.txt w/CMakeLists.txt -index e87b3c7..c6239f0 100644 ---- i/CMakeLists.txt -+++ w/CMakeLists.txt -@@ -118,4 +118,27 @@ install( - DIRECTORY "${PROJECT_SOURCE_DIR}/include" - DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/.." - PATTERN "build2file" EXCLUDE --) -+) -+ -+# -+# Removes the INTERFACE_SOURCES flux::flux property in the flux-targets.cmake -+# file that is there only because of the poor interaction of the -+# $ with the install(TARGETS...) command. The generator -+# creates an empty string instead of no string and the install(TARGETS...) -+# takes that empty string as a indication that the code should put the source -+# path in as a source file list (why?). -+# -+# The code here gets inserted into near the end of the cmake_install.cmake -+# file. It reads the flux-targets.cmake file into memory, clears the file, -+# then recreates the file skipping the line that contains the malformed -+# INTERFACE_SOURCES property value. -+# -+set(FLUX_TARGETS_FILE "${CMAKE_INSTALL_PREFIX}/lib/cmake/flux/flux-targets.cmake") -+install(CODE -+ "file (STRINGS \"${FLUX_TARGETS_FILE}\" FLUX_TARGETS_FILE_LINES) -+ file(WRITE \"${FLUX_TARGETS_FILE}\" \"\") -+ foreach(FLUX_TARGETS_FILE_LINE IN LISTS FLUX_TARGETS_FILE_LINES) -+ if (NOT FLUX_TARGETS_FILE_LINE MATCHES \"^[ \t]*INTERFACE_SOURCES[ \t].*$\") -+ file(APPEND \"${FLUX_TARGETS_FILE}\" \"\${FLUX_TARGETS_FILE_LINE}\\n\") -+ endif() -+ endforeach()") diff --git a/ports/flux/vcpkg.json b/ports/flux/vcpkg.json index 33f736af16ce91..2f912a2cfdef21 100644 --- a/ports/flux/vcpkg.json +++ b/ports/flux/vcpkg.json @@ -1,6 +1,6 @@ { "name": "flux", - "version-date": "2023-08-25", + "version": "0.4.0", "description": "Experimental C++20 library that provides a broadly equivalent feature set to C++20 Ranges, but uses a slightly different model based around cursors rather than iterators. Safer, easier, more efficient, compatible.", "homepage": "https://github.com/tcbrindle/flux", "dependencies": [ diff --git a/ports/fmt/fix-format-conflict.patch b/ports/fmt/fix-format-conflict.patch deleted file mode 100644 index 0a2ac6a57a24da..00000000000000 --- a/ports/fmt/fix-format-conflict.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/include/fmt/format-inl.h b/include/fmt/format-inl.h -index f44df01c..59cc4559 100644 ---- a/include/fmt/format-inl.h -+++ b/include/fmt/format-inl.h -@@ -62,8 +62,8 @@ FMT_FUNC void format_error_code(detail::buffer& out, int error_code, - error_code_size += detail::to_unsigned(detail::count_digits(abs_value)); - auto it = buffer_appender(out); - if (message.size() <= inline_buffer_size - error_code_size) -- format_to(it, FMT_STRING("{}{}"), message, SEP); -- format_to(it, FMT_STRING("{}{}"), ERROR_STR, error_code); -+ fmt::format_to(it, FMT_STRING("{}{}"), message, SEP); -+ fmt::format_to(it, FMT_STRING("{}{}"), ERROR_STR, error_code); - FMT_ASSERT(out.size() <= inline_buffer_size, ""); - } - diff --git a/ports/fmt/fix-pass-utf-8-only-if-the-compiler-is-MSVC-at-build.patch b/ports/fmt/fix-pass-utf-8-only-if-the-compiler-is-MSVC-at-build.patch new file mode 100644 index 00000000000000..920cf3937ffa6f --- /dev/null +++ b/ports/fmt/fix-pass-utf-8-only-if-the-compiler-is-MSVC-at-build.patch @@ -0,0 +1,17 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1ca64fff..1606e886 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -365,8 +365,8 @@ if (NOT MSVC) + # Unicode is always supported on compilers other than MSVC. + elseif (FMT_UNICODE) + # Unicode support requires compiling with /utf-8. +- target_compile_options(fmt PUBLIC $<$:/utf-8>) +- target_compile_options(fmt-header-only INTERFACE $<$:/utf-8>) ++ target_compile_options(fmt PUBLIC $<$,$>:/utf-8>) ++ target_compile_options(fmt-header-only INTERFACE $<$,$>:/utf-8>) + else () + target_compile_definitions(fmt PUBLIC FMT_UNICODE=0) + endif () +-- +2.34.1 diff --git a/ports/fmt/fix-write-batch.patch b/ports/fmt/fix-write-batch.patch index 7c17d603772860..6bec3b8e4b6947 100644 --- a/ports/fmt/fix-write-batch.patch +++ b/ports/fmt/fix-write-batch.patch @@ -1,13 +1,13 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index f21cf45..691a632 100644 +index 88c12148..967b53dd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -157,7 +157,7 @@ if (MASTER_PROJECT AND CMAKE_GENERATOR MATCHES "Visual Studio") +@@ -260,7 +260,7 @@ if (FMT_MASTER_PROJECT AND CMAKE_GENERATOR MATCHES "Visual Studio") join(netfxpath "C:\\Program Files\\Reference Assemblies\\Microsoft\\Framework\\" ".NETFramework\\v4.0") - file(WRITE run-msbuild.bat " -+ file(WRITE ${CMAKE_BINARY_DIR}/run-msbuild.bat " ++ file(WRITE "${CMAKE_BINARY_DIR}/run-msbuild.bat" " ${MSBUILD_SETUP} ${CMAKE_MAKE_PROGRAM} -p:FrameworkPathOverride=\"${netfxpath}\" %*") endif () diff --git a/ports/fmt/portfile.cmake b/ports/fmt/portfile.cmake index db7a08bd14ad2e..66824ea20a0eba 100644 --- a/ports/fmt/portfile.cmake +++ b/ports/fmt/portfile.cmake @@ -2,11 +2,11 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO fmtlib/fmt REF "${VERSION}" - SHA512 288c349baac5f96f527d5b1bed0fa5f031aa509b4526560c684281388e91909a280c3262a2474d963b5d1bf7064b1c9930c6677fe54a0d8f86982d063296a54c + SHA512 47ff6d289dcc22681eea6da465b0348172921e7cafff8fd57a1540d3232cc6b53250a4625c954ee0944c87963b17680ecbc3ea123e43c2c822efe0dc6fa6cef3 HEAD_REF master PATCHES fix-write-batch.patch - fix-format-conflict.patch + fix-pass-utf-8-only-if-the-compiler-is-MSVC-at-build.patch # remove in next release ) vcpkg_cmake_configure( @@ -23,16 +23,16 @@ vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/fmt/core.h + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/fmt/base.h" "defined(FMT_SHARED)" "1" ) endif() -file(REMOVE_RECURSE +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share" ) file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.rst") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/fmt/vcpkg.json b/ports/fmt/vcpkg.json index acf9fd0885e22c..f2610d46f162bf 100644 --- a/ports/fmt/vcpkg.json +++ b/ports/fmt/vcpkg.json @@ -1,7 +1,8 @@ { "name": "fmt", - "version": "10.1.1", - "description": "Formatting library for C++. It can be used as a safe alternative to printf or as a fast alternative to IOStreams.", + "version": "11.0.2", + "port-version": 1, + "description": "{fmt} is an open-source formatting library providing a fast and safe alternative to C stdio and C++ iostreams.", "homepage": "https://github.com/fmtlib/fmt", "license": "MIT", "dependencies": [ diff --git a/ports/folly/boost-1.70.patch b/ports/folly/boost-1.70.patch deleted file mode 100644 index bca0c99e0c8ffe..00000000000000 --- a/ports/folly/boost-1.70.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/folly/portability/PThread.cpp b/folly/portability/PThread.cpp -index 2126ec0..ef82ade 100644 ---- a/folly/portability/PThread.cpp -+++ b/folly/portability/PThread.cpp -@@ -20,6 +20,8 @@ - #include - #include - #include -+#include -+#include - - #include - -@@ -691,7 +693,7 @@ int pthread_setspecific(pthread_key_t key, const void* value) { - boost::detail::thread::cleanup_caller_t(), - boost::detail::thread::cleanup_func_t(), - #else -- boost::shared_ptr(), -+ 0,0, - #endif - const_cast(value), - false); diff --git a/ports/folly/disable-non-underscore-posix-names.patch b/ports/folly/disable-non-underscore-posix-names.patch deleted file mode 100644 index ad36fad7ad05f2..00000000000000 --- a/ports/folly/disable-non-underscore-posix-names.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff --git a/folly/portability/Windows.h b/folly/portability/Windows.h -index 86fd0f9..ccad11e 100644 ---- a/folly/portability/Windows.h -+++ b/folly/portability/Windows.h -@@ -32,24 +32,17 @@ - // disabled to ensure all of the normal names get declared properly. - #include - --#ifndef __STDC__ --/* nolint */ --#define __STDC__ 1 - #pragma push_macro("_CRT_DECLARE_NONSTDC_NAMES") - #ifdef _CRT_DECLARE_NONSTDC_NAMES - #undef _CRT_DECLARE_NONSTDC_NAMES - #endif -+ -+#include - #pragma push_macro("_CRT_INTERNAL_NONSTDC_NAMES") --#undef _CRT_INTERNAL_NONSTDC_NAMES --#include // @manual nolint --#include // @manual nolint --#undef __STDC__ -+#define _CRT_INTERNAL_NONSTDC_NAMES 0 -+#include -+#include - #pragma pop_macro("_CRT_INTERNAL_NONSTDC_NAMES") --#pragma pop_macro("_CRT_DECLARE_NONSTDC_NAMES") --#else --#include // @manual nolint --#include // @manual nolint --#endif - - #if defined(min) || defined(max) - #error Windows.h needs to be included by this header, or else NOMINMAX needs \ diff --git a/ports/folly/disable-uninitialized-resize-on-new-stl.patch b/ports/folly/disable-uninitialized-resize-on-new-stl.patch new file mode 100644 index 00000000000000..6e7b6b5718230b --- /dev/null +++ b/ports/folly/disable-uninitialized-resize-on-new-stl.patch @@ -0,0 +1,34 @@ +diff --git a/folly/memory/UninitializedMemoryHacks.h b/folly/memory/UninitializedMemoryHacks.h +index daf5eb735..1ac44d6b2 100644 +--- a/folly/memory/UninitializedMemoryHacks.h ++++ b/folly/memory/UninitializedMemoryHacks.h +@@ -101,6 +101,9 @@ template < + typename std::enable_if::value>::type> + inline void resizeWithoutInitialization( + std::basic_string& s, std::size_t n) { ++#if defined(_MSVC_STL_UPDATE) && _MSVC_STL_UPDATE >= 202206L ++ s.resize(n); ++#else + if (n <= s.size()) { + s.resize(n); + } else { +@@ -111,6 +114,7 @@ inline void resizeWithoutInitialization( + } + detail::unsafeStringSetLargerSize(s, n); + } ++#endif // defined(_MSVC_STL_UPDATE) && _MSVC_STL_UPDATE >= 202206L + } + + /** +@@ -278,8 +282,11 @@ struct MakeUnsafeStringSetLargerSize { + } // namespace folly + + #if defined(FOLLY_DECLARE_STRING_RESIZE_WITHOUT_INIT) ++#if defined(_MSVC_STL_UPDATE) && _MSVC_STL_UPDATE >= 202206L ++#else + FOLLY_DECLARE_STRING_RESIZE_WITHOUT_INIT(char) + FOLLY_DECLARE_STRING_RESIZE_WITHOUT_INIT(wchar_t) ++#endif // defined(_MSVC_STL_UPDATE) && _MSVC_STL_UPDATE >= 202206L + #endif + + namespace folly { diff --git a/ports/folly/fix-absolute-dir.patch b/ports/folly/fix-absolute-dir.patch new file mode 100644 index 00000000000000..fac930a188b0a2 --- /dev/null +++ b/ports/folly/fix-absolute-dir.patch @@ -0,0 +1,14 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index bc99ce3..d887a7e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -481,9 +481,6 @@ add_library(folly_test_util + ${FOLLY_DIR}/test/DeterministicSchedule.cpp + ${FOLLY_DIR}/json/JsonTestUtil.cpp + ) +-target_compile_definitions(folly_test_util PUBLIC +- FOLLY_CERTS_DIR="${FOLLY_DIR}/io/async/test/certs" +-) + set_property(TARGET folly_test_util PROPERTY VERSION ${PACKAGE_VERSION}) + target_link_libraries(folly_test_util + PUBLIC diff --git a/ports/folly/fix-deps.patch b/ports/folly/fix-deps.patch index 64973de8307043..c1eb61336690a6 100644 --- a/ports/folly/fix-deps.patch +++ b/ports/folly/fix-deps.patch @@ -1,16 +1,18 @@ diff --git a/CMake/folly-config.cmake.in b/CMake/folly-config.cmake.in -index 1689f9a..e5d3e22 100644 +index 0b96f0a..34f5b53 100644 --- a/CMake/folly-config.cmake.in +++ b/CMake/folly-config.cmake.in -@@ -28,10 +28,35 @@ endif() +@@ -29,10 +29,31 @@ endif() set(FOLLY_LIBRARIES Folly::folly) # Find folly's dependencies -find_dependency(fmt) ++find_dependency(fmt CONFIG) +find_dependency(double-conversion CONFIG) +find_dependency(glog CONFIG) +find_dependency(gflags CONFIG) +find_dependency(Libevent CONFIG) ++find_dependency(FastFloat CONFIG) +if (NOT @CMAKE_DISABLE_FIND_PACKAGE_Zstd@) + find_dependency(zstd CONFIG) +endif() @@ -22,17 +24,11 @@ index 1689f9a..e5d3e22 100644 + find_dependency(unofficial-sodium CONFIG) +endif() +if (NOT @CMAKE_DISABLE_FIND_PACKAGE_Snappy@) -+ find_dependency(Snappy CONFIG) ++ find_dependency(Snappy CONFIG) +endif() +if (NOT @CMAKE_DISABLE_FIND_PACKAGE_LZ4@) + find_dependency(lz4 CONFIG) +endif() -+ -+if (@WITH_liburing@) -+ find_dependency(LibUring) -+endif() -+ -+find_dependency(fmt CONFIG) set(Boost_USE_STATIC_LIBS "@FOLLY_BOOST_LINK_STATIC@") -find_dependency(Boost 1.51.0 MODULE @@ -41,7 +37,7 @@ index 1689f9a..e5d3e22 100644 context filesystem diff --git a/CMake/folly-deps.cmake b/CMake/folly-deps.cmake -index 4b78e9f..ac83c99 100644 +index 6ce4c67..701bb55 100644 --- a/CMake/folly-deps.cmake +++ b/CMake/folly-deps.cmake @@ -35,7 +35,7 @@ else() @@ -53,27 +49,20 @@ index 4b78e9f..ac83c99 100644 COMPONENTS context filesystem -@@ -45,37 +45,38 @@ find_package(Boost 1.51.0 MODULE +@@ -45,40 +45,41 @@ find_package(Boost 1.51.0 MODULE thread REQUIRED ) -+set (Boost_LIBRARIES Boost::boost Boost::context Boost::filesystem Boost::program_options Boost::regex Boost::system Boost::thread -+ ) ++set(Boost_LIBRARIES Boost::boost Boost::context Boost::filesystem Boost::program_options Boost::regex Boost::system Boost::thread) list(APPEND FOLLY_LINK_LIBRARIES ${Boost_LIBRARIES}) -list(APPEND FOLLY_INCLUDE_DIRECTORIES ${Boost_INCLUDE_DIRS}) - +- -find_package(DoubleConversion MODULE REQUIRED) -list(APPEND FOLLY_LINK_LIBRARIES ${DOUBLE_CONVERSION_LIBRARY}) -list(APPEND FOLLY_INCLUDE_DIRECTORIES ${DOUBLE_CONVERSION_INCLUDE_DIR}) -+find_package(double-conversion CONFIG REQUIRED) -+list(APPEND FOLLY_LINK_LIBRARIES double-conversion::double-conversion) - --find_package(Glog CONFIG REQUIRED) --set(FOLLY_HAVE_LIBGLOG ${GLOG_FOUND}) -+find_package(glog CONFIG REQUIRED) -+set(FOLLY_HAVE_LIBGLOG 1) - list(APPEND FOLLY_LINK_LIBRARIES glog::glog) --list(APPEND FOLLY_INCLUDE_DIRECTORIES ${GLOG_INCLUDE_DIR}) +- +-find_package(FastFloat MODULE REQUIRED) +-list(APPEND FOLLY_INCLUDE_DIRECTORIES ${FASTFLOAT_INCLUDE_DIR}) - -find_package(Gflags MODULE) -set(FOLLY_HAVE_LIBGFLAGS ${LIBGFLAGS_FOUND}) @@ -83,6 +72,13 @@ index 4b78e9f..ac83c99 100644 - set(FOLLY_LIBGFLAGS_LIBRARY ${LIBGFLAGS_LIBRARY}) - set(FOLLY_LIBGFLAGS_INCLUDE ${LIBGFLAGS_INCLUDE_DIR}) + ++ ++find_package(double-conversion CONFIG REQUIRED) ++list(APPEND FOLLY_LINK_LIBRARIES double-conversion::double-conversion) ++ ++find_package(FastFloat CONFIG REQUIRED) ++list(APPEND FOLLY_LINK_LIBRARIES FastFloat::fast_float) ++ +find_package(gflags CONFIG) +if(TARGET gflags::gflags) + set(FOLLY_HAVE_LIBGFLAGS 1) @@ -90,6 +86,14 @@ index 4b78e9f..ac83c99 100644 + set(FOLLY_LIBGFLAGS_LIBRARY gflags::gflags) endif() +-find_package(Glog MODULE) +-set(FOLLY_HAVE_LIBGLOG ${GLOG_FOUND}) +-list(APPEND FOLLY_LINK_LIBRARIES ${GLOG_LIBRARY}) +-list(APPEND FOLLY_INCLUDE_DIRECTORIES ${GLOG_INCLUDE_DIR}) ++find_package(glog CONFIG REQUIRED) ++set(FOLLY_HAVE_LIBGLOG 1) ++list(APPEND FOLLY_LINK_LIBRARIES glog::glog) + -find_package(LibEvent MODULE REQUIRED) -list(APPEND FOLLY_LINK_LIBRARIES ${LIBEVENT_LIB}) -list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBEVENT_INCLUDE_DIR}) @@ -106,17 +110,17 @@ index 4b78e9f..ac83c99 100644 - list(APPEND FOLLY_LINK_LIBRARIES ${ZLIB_LIBRARIES}) - list(APPEND CMAKE_REQUIRED_LIBRARIES ${ZLIB_LIBRARIES}) +if (CMAKE_REQUIRE_FIND_PACKAGE_ZLIB) -+ find_package(ZLIB MODULE REQUIRED) -+ set(FOLLY_HAVE_LIBZ ${ZLIB_FOUND}) -+ if (ZLIB_FOUND) -+ list(APPEND FOLLY_INCLUDE_DIRECTORIES ${ZLIB_INCLUDE_DIRS}) -+ list(APPEND FOLLY_LINK_LIBRARIES ${ZLIB_LIBRARIES}) -+ list(APPEND CMAKE_REQUIRED_LIBRARIES ${ZLIB_LIBRARIES}) -+ endif() ++ find_package(ZLIB MODULE REQUIRED) ++ set(FOLLY_HAVE_LIBZ ${ZLIB_FOUND}) ++ if (ZLIB_FOUND) ++ list(APPEND FOLLY_INCLUDE_DIRECTORIES ${ZLIB_INCLUDE_DIRS}) ++ list(APPEND FOLLY_LINK_LIBRARIES ${ZLIB_LIBRARIES}) ++ list(APPEND CMAKE_REQUIRED_LIBRARIES ${ZLIB_LIBRARIES}) ++ endif() endif() find_package(OpenSSL 1.1.1 MODULE REQUIRED) -@@ -104,25 +105,29 @@ if (LIBLZMA_FOUND) +@@ -106,25 +107,29 @@ if (LIBLZMA_FOUND) list(APPEND FOLLY_LINK_LIBRARIES ${LIBLZMA_LIBRARIES}) endif() @@ -125,7 +129,7 @@ index 4b78e9f..ac83c99 100644 -if (LZ4_FOUND) - list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LZ4_INCLUDE_DIR}) - list(APPEND FOLLY_LINK_LIBRARIES ${LZ4_LIBRARY}) -+if (NOT CMAKE_DISABLE_FIND_PACKAGE_LZ4) ++if(NOT CMAKE_DISABLE_FIND_PACKAGE_LZ4) + find_package(lz4 CONFIG) + if(TARGET lz4::lz4) + list(APPEND FOLLY_LINK_LIBRARIES lz4::lz4) @@ -137,15 +141,15 @@ index 4b78e9f..ac83c99 100644 -if(ZSTD_FOUND) - list(APPEND FOLLY_INCLUDE_DIRECTORIES ${ZSTD_INCLUDE_DIR}) - list(APPEND FOLLY_LINK_LIBRARIES ${ZSTD_LIBRARY}) -+if (NOT CMAKE_DISABLE_FIND_PACKAGE_Zstd) -+ find_package(zstd CONFIG) -+ if(TARGET zstd::libzstd_shared ) -+ set(FOLLY_HAVE_LIBZSTD 1) -+ list(APPEND FOLLY_LINK_LIBRARIES zstd::libzstd_shared) -+ elseif( TARGET zstd::libzstd_static ) -+ set(FOLLY_HAVE_LIBZSTD 1) -+ list(APPEND FOLLY_LINK_LIBRARIES zstd::libzstd_static) -+ endif() ++if(NOT CMAKE_DISABLE_FIND_PACKAGE_Zstd) ++ find_package(zstd CONFIG) ++ if(TARGET zstd::libzstd_shared ) ++ set(FOLLY_HAVE_LIBZSTD 1) ++ list(APPEND FOLLY_LINK_LIBRARIES zstd::libzstd_shared) ++ elseif( TARGET zstd::libzstd_static ) ++ set(FOLLY_HAVE_LIBZSTD 1) ++ list(APPEND FOLLY_LINK_LIBRARIES zstd::libzstd_static) ++ endif() endif() -find_package(Snappy MODULE) @@ -153,49 +157,62 @@ index 4b78e9f..ac83c99 100644 -if (SNAPPY_FOUND) - list(APPEND FOLLY_INCLUDE_DIRECTORIES ${SNAPPY_INCLUDE_DIR}) - list(APPEND FOLLY_LINK_LIBRARIES ${SNAPPY_LIBRARY}) -+if (NOT CMAKE_DISABLE_FIND_PACKAGE_Snappy) -+ find_package(Snappy CONFIG) -+ if(TARGET Snappy::snappy) -+ list(APPEND FOLLY_LINK_LIBRARIES Snappy::snappy) -+ endif() ++if(NOT CMAKE_DISABLE_FIND_PACKAGE_Snappy) ++ find_package(Snappy CONFIG) ++ if(TARGET Snappy::snappy) ++ list(APPEND FOLLY_LINK_LIBRARIES Snappy::snappy) ++ endif() endif() find_package(LibDwarf) -@@ -137,13 +142,18 @@ find_package(LibAIO) - list(APPEND FOLLY_LINK_LIBRARIES ${LIBAIO_LIBRARIES}) - list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBAIO_INCLUDE_DIRS}) +@@ -135,17 +140,24 @@ find_package(Libiberty) + list(APPEND FOLLY_LINK_LIBRARIES ${LIBIBERTY_LIBRARIES}) + list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBIBERTY_INCLUDE_DIRS}) + +-find_package(LibAIO) +-list(APPEND FOLLY_LINK_LIBRARIES ${LIBAIO_LIBRARIES}) +-list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBAIO_INCLUDE_DIRS}) ++if(WITH_libaio) ++ find_package(LibAIO) ++ list(APPEND FOLLY_LINK_LIBRARIES ${LIBAIO_LIBRARIES}) ++ list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBAIO_INCLUDE_DIRS}) ++endif() +-find_package(LibUring) +-list(APPEND FOLLY_LINK_LIBRARIES ${LIBURING_LIBRARIES}) +-list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBURING_INCLUDE_DIRS}) +if(WITH_liburing) - find_package(LibUring) - list(APPEND FOLLY_LINK_LIBRARIES ${LIBURING_LIBRARIES}) - list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBURING_INCLUDE_DIRS}) ++ find_package(LibUring) ++ list(APPEND FOLLY_LINK_LIBRARIES ${LIBURING_LIBRARIES}) ++ list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBURING_INCLUDE_DIRS}) +endif() -find_package(Libsodium) -list(APPEND FOLLY_LINK_LIBRARIES ${LIBSODIUM_LIBRARIES}) -list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBSODIUM_INCLUDE_DIRS}) -+if (NOT CMAKE_DISABLE_FIND_PACKAGE_unofficial-sodium) -+ find_package(unofficial-sodium CONFIG) -+ if(TARGET unofficial-sodium::sodium) -+ list(APPEND FOLLY_LINK_LIBRARIES unofficial-sodium::sodium) -+ endif() ++if(NOT CMAKE_DISABLE_FIND_PACKAGE_unofficial-sodium) ++ find_package(unofficial-sodium CONFIG) ++ if(TARGET unofficial-sodium::sodium) ++ list(APPEND FOLLY_LINK_LIBRARIES unofficial-sodium::sodium) ++ endif() +endif() list(APPEND FOLLY_LINK_LIBRARIES ${CMAKE_DL_LIBS}) list(APPEND CMAKE_REQUIRED_LIBRARIES ${CMAKE_DL_LIBS}) -@@ -154,9 +164,9 @@ if (PYTHON_EXTENSIONS) +@@ -156,10 +168,10 @@ if (PYTHON_EXTENSIONS) endif () find_package(LibUnwind) -list(APPEND FOLLY_LINK_LIBRARIES ${LIBUNWIND_LIBRARIES}) -list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBUNWIND_INCLUDE_DIRS}) if (LIBUNWIND_FOUND) + set(FOLLY_HAVE_LIBUNWIND ON) + list(APPEND FOLLY_LINK_LIBRARIES ${LIBUNWIND_LIBRARIES}) + list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBUNWIND_INCLUDE_DIRS}) - set(FOLLY_HAVE_LIBUNWIND ON) endif() if (CMAKE_SYSTEM_NAME MATCHES "FreeBSD") -@@ -299,11 +309,7 @@ endif() + list(APPEND FOLLY_LINK_LIBRARIES "execinfo") +@@ -310,11 +322,7 @@ endif() add_library(folly_deps INTERFACE) diff --git a/ports/folly/fix-libunwind.patch b/ports/folly/fix-libunwind.patch new file mode 100644 index 00000000000000..f5023e08f9724f --- /dev/null +++ b/ports/folly/fix-libunwind.patch @@ -0,0 +1,31 @@ +diff --git a/CMake/folly-deps.cmake b/CMake/folly-deps.cmake +index 701bb55..e41c128 100644 +--- a/CMake/folly-deps.cmake ++++ b/CMake/folly-deps.cmake +@@ -100,6 +100,13 @@ if (BZIP2_FOUND) + list(APPEND FOLLY_LINK_LIBRARIES ${BZIP2_LIBRARIES}) + endif() + ++find_package(LibUnwind) ++if (LIBUNWIND_FOUND) ++ set(FOLLY_HAVE_LIBUNWIND ON) ++ list(APPEND FOLLY_LINK_LIBRARIES ${LIBUNWIND_LIBRARIES}) ++ list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBUNWIND_INCLUDE_DIRS}) ++endif() ++ + find_package(LibLZMA MODULE) + set(FOLLY_HAVE_LIBLZMA ${LIBLZMA_FOUND}) + if (LIBLZMA_FOUND) +@@ -167,12 +174,6 @@ if (PYTHON_EXTENSIONS) + find_package(Cython 0.26 REQUIRED) + endif () + +-find_package(LibUnwind) +-if (LIBUNWIND_FOUND) +- set(FOLLY_HAVE_LIBUNWIND ON) +- list(APPEND FOLLY_LINK_LIBRARIES ${LIBUNWIND_LIBRARIES}) +- list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBUNWIND_INCLUDE_DIRS}) +-endif() + if (CMAKE_SYSTEM_NAME MATCHES "FreeBSD") + list(APPEND FOLLY_LINK_LIBRARIES "execinfo") + endif () diff --git a/ports/folly/fix-unistd-include.patch b/ports/folly/fix-unistd-include.patch new file mode 100644 index 00000000000000..2ab22edf1e6c41 --- /dev/null +++ b/ports/folly/fix-unistd-include.patch @@ -0,0 +1,13 @@ +diff --git a/folly/debugging/symbolizer/Elf.cpp b/folly/debugging/symbolizer/Elf.cpp +index 6a7f74f..6546fe0 100644 +--- a/folly/debugging/symbolizer/Elf.cpp ++++ b/folly/debugging/symbolizer/Elf.cpp +@@ -49,6 +49,8 @@ + #define FOLLY_ELF_NATIVE_CLASS __WORDSIZE + #endif // __ELF_NATIVE_CLASS + ++#include ++ + namespace folly { + namespace symbolizer { + diff --git a/ports/folly/openssl.patch b/ports/folly/openssl.patch deleted file mode 100644 index 83faaf3ac89706..00000000000000 --- a/ports/folly/openssl.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b5e8758..bb488d6 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -24,9 +24,6 @@ ELSEIF (CMAKE_SYSTEM_NAME MATCHES "FreeBSD") - MESSAGE(STATUS "current platform: FreeBSD") - ELSEIF (CMAKE_SYSTEM_NAME MATCHES "Darwin") - MESSAGE(STATUS "current platform: MacOS") -- set(OPENSSL_ROOT_DIR "/usr/local/opt/openssl" ) -- set(OPENSSL_LIBRARIES "/usr/local/opt/openssl/lib" ) -- set(OPENSSL_INCLUDE_DIR "/usr/local/opt/openssl/include" ) - ELSE () - MESSAGE(STATUS "other platform: ${CMAKE_SYSTEM_NAME}") - ENDIF (CMAKE_SYSTEM_NAME MATCHES "Linux") diff --git a/ports/folly/portfile.cmake b/ports/folly/portfile.cmake index 63f5c61733c7fd..ff39d89c008904 100644 --- a/ports/folly/portfile.cmake +++ b/ports/folly/portfile.cmake @@ -9,17 +9,18 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO facebook/folly REF "v${VERSION}" - SHA512 406dbbd5a61a5b0713e7e6c7677be76392c21a5d702b051e72158513436ea9605afe616c5bc1405cb9455be1d1993990c9f2608284204210f41ffc2055e7831b + SHA512 df28a863e11aa7d6b58b2a1b6634c2697b427269c70d2b7eba2fa6fa70665eaa6fa3f50ffc21dc2ff2afb86cd56aa06fd2488449029b14f76c0f3f40ac8fc640 HEAD_REF main PATCHES - reorder-glog-gflags.patch - disable-non-underscore-posix-names.patch - boost-1.70.patch fix-windows-minmax.patch fix-deps.patch - openssl.patch # from https://github.com/facebook/folly/pull/2016 + disable-uninitialized-resize-on-new-stl.patch + fix-unistd-include.patch + fix-libunwind.patch + fix-absolute-dir.patch ) +file(REMOVE "${SOURCE_PATH}/CMake/FindFastFloat.cmake") file(REMOVE "${SOURCE_PATH}/CMake/FindFmt.cmake") file(REMOVE "${SOURCE_PATH}/CMake/FindLibsodium.cmake") file(REMOVE "${SOURCE_PATH}/CMake/FindZstd.cmake") @@ -43,9 +44,9 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES "zlib" CMAKE_REQUIRE_FIND_PACKAGE_ZLIB "liburing" WITH_liburing + "libaio" WITH_libaio INVERTED_FEATURES "bzip2" CMAKE_DISABLE_FIND_PACKAGE_BZip2 - "lzma" CMAKE_DISABLE_FIND_PACKAGE_LibLZMA "lz4" CMAKE_DISABLE_FIND_PACKAGE_LZ4 "zstd" CMAKE_DISABLE_FIND_PACKAGE_Zstd "snappy" CMAKE_DISABLE_FIND_PACKAGE_Snappy @@ -58,12 +59,9 @@ vcpkg_cmake_configure( -DMSVC_USE_STATIC_RUNTIME=${MSVC_USE_STATIC_RUNTIME} -DCMAKE_DISABLE_FIND_PACKAGE_LibDwarf=ON -DCMAKE_DISABLE_FIND_PACKAGE_Libiberty=ON - -DCMAKE_DISABLE_FIND_PACKAGE_LibAIO=ON - -DLIBAIO_FOUND=OFF -DCMAKE_INSTALL_DIR=share/folly ${FEATURE_OPTIONS} MAYBE_UNUSED_VARIABLES - LIBAIO_FOUND MSVC_USE_STATIC_RUNTIME ) diff --git a/ports/folly/reorder-glog-gflags.patch b/ports/folly/reorder-glog-gflags.patch deleted file mode 100644 index 38ddbc166f2830..00000000000000 --- a/ports/folly/reorder-glog-gflags.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/CMake/folly-deps.cmake b/CMake/folly-deps.cmake -index 92b8ce7..04589ed 100644 ---- a/CMake/folly-deps.cmake -+++ b/CMake/folly-deps.cmake -@@ -52,6 +52,11 @@ find_package(DoubleConversion MODULE REQUIRED) - list(APPEND FOLLY_LINK_LIBRARIES ${DOUBLE_CONVERSION_LIBRARY}) - list(APPEND FOLLY_INCLUDE_DIRECTORIES ${DOUBLE_CONVERSION_INCLUDE_DIR}) - -+find_package(Glog CONFIG REQUIRED) -+set(FOLLY_HAVE_LIBGLOG ${GLOG_FOUND}) -+list(APPEND FOLLY_LINK_LIBRARIES glog::glog) -+list(APPEND FOLLY_INCLUDE_DIRECTORIES ${GLOG_INCLUDE_DIR}) -+ - find_package(Gflags MODULE) - set(FOLLY_HAVE_LIBGFLAGS ${LIBGFLAGS_FOUND}) - if(LIBGFLAGS_FOUND) -@@ -61,11 +66,6 @@ if(LIBGFLAGS_FOUND) - set(FOLLY_LIBGFLAGS_INCLUDE ${LIBGFLAGS_INCLUDE_DIR}) - endif() - --find_package(Glog MODULE) --set(FOLLY_HAVE_LIBGLOG ${GLOG_FOUND}) --list(APPEND FOLLY_LINK_LIBRARIES ${GLOG_LIBRARY}) --list(APPEND FOLLY_INCLUDE_DIRECTORIES ${GLOG_INCLUDE_DIR}) -- - find_package(LibEvent MODULE REQUIRED) - list(APPEND FOLLY_LINK_LIBRARIES ${LIBEVENT_LIB}) - list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBEVENT_INCLUDE_DIR}) diff --git a/ports/folly/vcpkg.json b/ports/folly/vcpkg.json index ea1d8b0df33fb2..b3d68268ff4366 100644 --- a/ports/folly/vcpkg.json +++ b/ports/folly/vcpkg.json @@ -1,10 +1,10 @@ { "name": "folly", - "version-string": "2023.10.02.00", + "version-string": "2025.01.06.00", "description": "An open-source C++ library developed and used at Facebook. The library is UNSTABLE on Windows", "homepage": "https://github.com/facebook/folly", "license": "Apache-2.0", - "supports": "(windows & x64 & !uwp) | (!windows & (x64 | arm64))", + "supports": "(windows & x64 & !uwp & !mingw) | (!windows & (x64 | arm64))", "dependencies": [ "boost-chrono", "boost-context", @@ -20,10 +20,16 @@ "boost-thread", "boost-variant", "double-conversion", + "fast-float", "fmt", "gflags", "glog", "libevent", + "liblzma", + { + "name": "libunwind", + "platform": "linux" + }, "openssl", { "name": "vcpkg-cmake", @@ -44,6 +50,13 @@ "bzip2" ] }, + "libaio": { + "description": "Support compile with libaio", + "supports": "linux", + "dependencies": [ + "libaio" + ] + }, "libsodium": { "description": "Support libsodium for cryto", "dependencies": [ @@ -52,6 +65,7 @@ }, "liburing": { "description": "Support compile with liburing", + "supports": "linux", "dependencies": [ "liburing" ] diff --git a/ports/fontconfig/emscripten.diff b/ports/fontconfig/emscripten.diff new file mode 100644 index 00000000000000..da8ef2923d8bf9 --- /dev/null +++ b/ports/fontconfig/emscripten.diff @@ -0,0 +1,13 @@ +diff --git a/meson.build b/meson.build +index 08d9532..37cc195 100644 +--- a/meson.build ++++ b/meson.build +@@ -289,7 +289,7 @@ if fc_cachedir in ['yes', 'no', 'default'] + endif + endif + +-if host_machine.system() != 'windows' ++if host_machine.system() != 'windows' and host_machine.system() != 'emscripten' + thread_dep = dependency('threads') + conf.set('HAVE_PTHREAD', 1) + deps += [thread_dep] diff --git a/ports/fontconfig/fix-preprocessor-clang-cl.patch b/ports/fontconfig/fix-preprocessor-clang-cl.patch deleted file mode 100644 index f5dd4e7777d20c..00000000000000 --- a/ports/fontconfig/fix-preprocessor-clang-cl.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/meson.build b/src/meson.build -index 9a6ba2021..5d04f7360 100644 ---- a/src/meson.build -+++ b/src/meson.build -@@ -33,7 +33,7 @@ fc_sources = [ - cpp = cc.cmd_array() - if cc.get_id() == 'gcc' - cpp += ['-E', '-P'] --elif cc.get_id() == 'msvc' -+elif cc.get_argument_syntax() == 'msvc' - cpp += ['/EP'] - elif cc.get_id() == 'clang' - cpp += ['-E', '-P'] diff --git a/ports/fontconfig/fix-wasm-shared-memory-atomics.patch b/ports/fontconfig/fix-wasm-shared-memory-atomics.patch new file mode 100644 index 00000000000000..d94d109c8008f7 --- /dev/null +++ b/ports/fontconfig/fix-wasm-shared-memory-atomics.patch @@ -0,0 +1,14 @@ +diff --git a/meson.build b/meson.build +index 8e78700..95bae59 100644 +--- a/meson.build ++++ b/meson.build +@@ -112,6 +112,9 @@ check_alignofs = [ + ] + + add_project_arguments('-DHAVE_CONFIG_H', language: 'c') ++if cc.get_id() == 'clang' and host_machine.cpu_family() == 'wasm' ++ add_project_arguments('-matomics', '-mbulk-memory', language: 'c') ++endif + + c_args = [] + diff --git a/ports/fontconfig/libgetopt.patch b/ports/fontconfig/libgetopt.patch index d1e8edd39c496f..db430165e9b843 100644 --- a/ports/fontconfig/libgetopt.patch +++ b/ports/fontconfig/libgetopt.patch @@ -126,5 +126,5 @@ index f616600..6d82a16 100644 +endif + - prefix = get_option('prefix') - + # Check iconv support + iconv_dep = [] diff --git a/ports/fontconfig/no-etc-symlinks.patch b/ports/fontconfig/no-etc-symlinks.patch index 361404da2abe6e..774640ca0d3857 100644 --- a/ports/fontconfig/no-etc-symlinks.patch +++ b/ports/fontconfig/no-etc-symlinks.patch @@ -12,7 +12,7 @@ except FileNotFoundError: pass try: -- os.symlink(src, dst) +- os.symlink(os.path.relpath(src, start=args.confpath), dst) + shutil.copyfile(src, dst) except NotImplementedError: # Not supported on this version of Windows diff --git a/ports/fontconfig/portfile.cmake b/ports/fontconfig/portfile.cmake index 489b047671fe6c..382a57a61fcc3a 100644 --- a/ports/fontconfig/portfile.cmake +++ b/ports/fontconfig/portfile.cmake @@ -3,22 +3,37 @@ vcpkg_from_gitlab( OUT_SOURCE_PATH SOURCE_PATH REPO fontconfig/fontconfig REF ${VERSION} - SHA512 b6cbb4ad7db224dabfb8a96c1d0743bab5bbe8f403e49d9b9a44effd161fd97062a2f7205a700308a1f805655038538ba2fb1b65169faa2d69ea88e477230849 + SHA512 daa6d1e6058e12c694d9e1512e09be957ff7f3fa375246b9d13eb0a8cf2f21e1512a5cabe93f270e96790e2c20420bf7422d213e43ab9749da3255286ea65a7c HEAD_REF master PATCHES + emscripten.diff no-etc-symlinks.patch libgetopt.patch - fix-preprocessor-clang-cl.patch + fix-wasm-shared-memory-atomics.patch ) -vcpkg_add_to_path(PREPEND "${CURRENT_HOST_INSTALLED_DIR}/tools/gperf") +set(options "") +if("nls" IN_LIST FEATURES) + list(APPEND options "-Dnls=enabled") +else() + list(APPEND options "-Dnls=disabled") +endif() +if("tools" IN_LIST FEATURES) + list(APPEND options "-Dtools=enabled") +else() + list(APPEND options "-Dtools=disabled") +endif() vcpkg_configure_meson( SOURCE_PATH "${SOURCE_PATH}" OPTIONS + ${options} -Ddoc=disabled -Dcache-build=disabled + -Diconv=enabled -Dtests=disabled + ADDITIONAL_BINARIES + "gperf = ['${CURRENT_HOST_INSTALLED_DIR}/tools/gperf/gperf${VCPKG_HOST_EXECUTABLE_SUFFIX}']" ) # https://www.freedesktop.org/software/fontconfig/fontconfig-user.html @@ -30,22 +45,22 @@ if(VCPKG_TARGET_IS_WINDOWS) endif() set(configfile "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/config.h") vcpkg_replace_string("${configfile}" "${CURRENT_PACKAGES_DIR}" "${replacement}") -vcpkg_replace_string("${configfile}" "#define FC_TEMPLATEDIR \"/share/fontconfig/conf.avail\"" "#define FC_TEMPLATEDIR \"/usr/share/fontconfig/conf.avail\"") +vcpkg_replace_string("${configfile}" "#define FC_TEMPLATEDIR \"/share/fontconfig/conf.avail\"" "#define FC_TEMPLATEDIR \"/usr/share/fontconfig/conf.avail\"" IGNORE_UNCHANGED) if(NOT VCPKG_BUILD_TYPE) set(configfile "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/config.h") vcpkg_replace_string("${configfile}" "${CURRENT_PACKAGES_DIR}/debug" "${replacement}") - vcpkg_replace_string("${configfile}" "#define FC_TEMPLATEDIR \"/share/fontconfig/conf.avail\"" "#define FC_TEMPLATEDIR \"/usr/share/fontconfig/conf.avail\"") + vcpkg_replace_string("${configfile}" "#define FC_TEMPLATEDIR \"/share/fontconfig/conf.avail\"" "#define FC_TEMPLATEDIR \"/usr/share/fontconfig/conf.avail\"" IGNORE_UNCHANGED) endif() vcpkg_install_meson(ADD_BIN_TO_PATH) vcpkg_copy_pdbs() #Fix missing libintl static dependency -if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) +if("nls" IN_LIST FEATURES AND VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) if(NOT VCPKG_BUILD_TYPE) - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/fontconfig.pc" "-liconv" "-liconv -lintl") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/fontconfig.pc" "-liconv" "-liconv -lintl" IGNORE_UNCHANGED) endif() - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/fontconfig.pc" "-liconv" "-liconv -lintl") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/fontconfig.pc" "-liconv" "-liconv -lintl" IGNORE_UNCHANGED) endif() vcpkg_fixup_pkgconfig() @@ -61,7 +76,7 @@ endif() # Make path to cache in fonts.conf relative set(_file "${CURRENT_PACKAGES_DIR}/etc/fonts/fonts.conf") if(EXISTS "${_file}") - vcpkg_replace_string("${_file}" "${CURRENT_PACKAGES_DIR}/var/cache/fontconfig" "./../../var/cache/fontconfig") + vcpkg_replace_string("${_file}" "${CURRENT_PACKAGES_DIR}/var/cache/fontconfig" "./../../var/cache/fontconfig" IGNORE_UNCHANGED) endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/var" @@ -82,11 +97,13 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") endforeach() endif() -vcpkg_copy_tools( - TOOL_NAMES fc-match fc-cat fc-list fc-pattern fc-query fc-scan fc-cache fc-validate fc-conflist - AUTO_CLEAN -) +if("tools" IN_LIST FEATURES) + vcpkg_copy_tools( + TOOL_NAMES fc-match fc-cat fc-list fc-pattern fc-query fc-scan fc-cache fc-validate fc-conflist + AUTO_CLEAN + ) +endif() configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-cmake-wrapper.cmake" @ONLY) file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/fontconfig/usage b/ports/fontconfig/usage index 9d14caf70de12d..b59bc482f7a387 100644 --- a/ports/fontconfig/usage +++ b/ports/fontconfig/usage @@ -1,4 +1,9 @@ fontconfig is compatible with built-in CMake targets: - find_package(Fontconfig REQUIRED) # since CMake 3.14 - target_link_libraries(main PRIVATE Fontconfig::Fontconfig) + find_package(Fontconfig REQUIRED) # since CMake 3.14 + target_link_libraries(main PRIVATE Fontconfig::Fontconfig) + +fontconfig provides pkg-config modules: + + # Font configuration and customization library + fontconfig diff --git a/ports/fontconfig/vcpkg.json b/ports/fontconfig/vcpkg.json index 1a4c499ea8ac7f..18fe0b72b80e90 100644 --- a/ports/fontconfig/vcpkg.json +++ b/ports/fontconfig/vcpkg.json @@ -1,29 +1,60 @@ { "name": "fontconfig", - "version": "2.14.2", - "port-version": 1, + "version": "2.15.0", + "port-version": 2, "description": "Library for configuring and customizing font access.", "homepage": "https://www.freedesktop.org/wiki/Software/fontconfig", "license": "MIT", + "supports": "!uwp", "dependencies": [ "dirent", "expat", - "freetype", - "getopt", - "gettext", + { + "name": "freetype", + "default-features": false + }, { "name": "gperf", "host": true }, - "libiconv", + { + "name": "libiconv", + "platform": "!windows" + }, { "name": "libuuid", - "platform": "!windows & !osx & !mingw" + "platform": "!osx & !windows" + }, + { + "name": "pthread", + "platform": "!emscripten & !windows" }, - "pthread", { "name": "vcpkg-tool-meson", "host": true } - ] + ], + "features": { + "nls": { + "description": "Native languages support", + "dependencies": [ + { + "name": "gettext", + "host": true, + "default-features": false, + "features": [ + "tools" + ] + }, + "gettext-libintl" + ] + }, + "tools": { + "description": "Build tools", + "supports": "!emscripten", + "dependencies": [ + "getopt" + ] + } + } } diff --git a/ports/foonathan-memory/portfile.cmake b/ports/foonathan-memory/portfile.cmake index 492964ab354743..d883ffd6452cda 100644 --- a/ports/foonathan-memory/portfile.cmake +++ b/ports/foonathan-memory/portfile.cmake @@ -1,7 +1,3 @@ -# WINDOWS_EXPORT_ALL_SYMBOLS doesn't work. -# unresolved external symbol "public: static unsigned int const foonathan::memory::detail::memory_block_stack::implementation_offset -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - vcpkg_download_distfile( REMOVE_TOOL_STATIC_LINKING_CROSS_COMPILATION_PATCH URLS https://github.com/foonathan/memory/commit/abb0bff7a232572b1fce304dd2e2a2d5c0a6806c.patch?full_index=1 @@ -115,4 +111,4 @@ if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/nodesize_dbg${EXECUTABLE_SUFFIX}") endif() # Handle copyright -configure_file("${SOURCE_PATH}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/foonathan-memory/vcpkg.json b/ports/foonathan-memory/vcpkg.json index 825c7b228bd157..a029fc81e36bf5 100644 --- a/ports/foonathan-memory/vcpkg.json +++ b/ports/foonathan-memory/vcpkg.json @@ -1,7 +1,7 @@ { "name": "foonathan-memory", "version": "0.7.3", - "port-version": 1, + "port-version": 2, "description": "STL compatible C++ memory allocator library", "homepage": "https://foonathan.net/doc/memory/", "license": "Zlib", diff --git a/ports/fplus/portfile.cmake b/ports/fplus/portfile.cmake deleted file mode 100644 index 37ce83d1e5582a..00000000000000 --- a/ports/fplus/portfile.cmake +++ /dev/null @@ -1,20 +0,0 @@ -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO Dobiasd/FunctionalPlus - REF "v${VERSION}" - SHA512 0e3478400c1acc2fc34642784f8bb3eb0f79bc4c157a38fb39c9f05d8e4c47cc6c9da765f76350fd593517c3a2db2515161f6f3d6ff770f2ace2da2a99bb493d - HEAD_REF master -) - -vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - -DFunctionalPlus_INSTALL_CMAKEDIR=share/FunctionalPlus -) - -vcpkg_cmake_install() - -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") - -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/fplus/vcpkg.json b/ports/fplus/vcpkg.json deleted file mode 100644 index f9150f2fa3d5dc..00000000000000 --- a/ports/fplus/vcpkg.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "fplus", - "version": "0.2.20-p0", - "description": "Functional Programming Library for C++. Write concise and readable C++ code", - "homepage": "https://github.com/Dobiasd/FunctionalPlus", - "license": "BSL-1.0", - "dependencies": [ - { - "name": "vcpkg-cmake", - "host": true - } - ] -} diff --git a/ports/freeglut/android.patch b/ports/freeglut/android.patch new file mode 100644 index 00000000000000..dd4753f981bdd2 --- /dev/null +++ b/ports/freeglut/android.patch @@ -0,0 +1,12 @@ +diff --git a/src/android/native_app_glue/android_native_app_glue.c b/src/android/native_app_glue/android_native_app_glue.c +index be8d941..6ddae78 100644 +--- a/src/android/native_app_glue/android_native_app_glue.c ++++ b/src/android/native_app_glue/android_native_app_glue.c +@@ -18,6 +18,7 @@ + #include + + #include ++#include + #include + #include + #include diff --git a/ports/freeglut/gles.patch b/ports/freeglut/gles.patch new file mode 100644 index 00000000000000..a09d298bb0e8da --- /dev/null +++ b/ports/freeglut/gles.patch @@ -0,0 +1,22 @@ +diff --git a/src/fg_geometry.c b/src/fg_geometry.c +index ee7cc89..ea42f72 100644 +--- a/src/fg_geometry.c ++++ b/src/fg_geometry.c +@@ -44,7 +44,7 @@ + + /* declare for drawing using the different OpenGL versions here so we can + have a nice code order below */ +-#ifndef GL_VERSION_1_1 ++#if !(defined(GL_VERSION_1_1) || defined(GL_VERSION_ES_CM_1_0)) + static void fghDrawGeometryWire10(GLfloat *varr, GLfloat *narr, GLushort *iarr, + GLsizei nparts, GLsizei npartverts, GLenum prim, GLushort *iarr2, + GLsizei nparts2, GLsizei npartverts2); +@@ -222,7 +222,7 @@ void fghDrawGeometrySolid(GLfloat *vertices, GLfloat *normals, GLfloat *textcs, + } + } + +-#ifndef GL_VERSION_1_1 ++#if !(defined(GL_VERSION_1_1) || defined(GL_VERSION_ES_CM_1_0)) + static void fghDrawGeometryWire10(GLfloat *varr, GLfloat *narr, GLushort *iarr, + GLsizei nparts, GLsizei npartverts, GLenum prim, GLushort *iarr2, + GLsizei nparts2, GLsizei npartverts2) diff --git a/ports/freeglut/portfile.cmake b/ports/freeglut/portfile.cmake index 2cccbbb31d31cd..1d5a3f2fc3828b 100755 --- a/ports/freeglut/portfile.cmake +++ b/ports/freeglut/portfile.cmake @@ -1,20 +1,22 @@ -vcpkg_minimum_required(VERSION 2022-10-12) # for ${VERSION} - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO FreeGLUTProject/freeglut REF "v${VERSION}" SHA512 4bb6d6c086bac7a9c0ec78062dce58987555785abe6375f462ee249f65210a964a28fb10ba7ee8a42d7fafb00eb8d196eb403d65d255f02f88467369c187228b HEAD_REF master - PATCHES + PATCHES + android.patch + gles.patch # amends https://github.com/freeglut/freeglut/commit/093a5a46 x11-dependencies-export.patch fix-debug-macro.patch no_x64_enforcement.patch windows-output-name.patch ) -if(NOT VCPKG_TARGET_IS_WINDOWS) - message("Freeglut currently requires the following libraries from the system package manager:\n opengl\n glu\n libx11\n xrandr\n xi\n xxf86vm\n\nThese can be installed on Ubuntu systems via apt-get install libxi-dev libgl1-mesa-dev libglu1-mesa-dev mesa-common-dev libxrandr-dev libxxf86vm-dev\nOn macOS Xquartz is required.") +if(VCPKG_TARGET_IS_OSX) + message("Freeglut currently requires Xquartz for macOS.") +elseif(NOT VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_ANDROID) + message("Freeglut currently requires the following libraries from the system package manager:\n opengl\n glu\n libx11\n xrandr\n xi\n xxf86vm\n\nThese can be installed on Ubuntu systems via apt-get install libxi-dev libgl1-mesa-dev libglu1-mesa-dev mesa-common-dev libxrandr-dev libxxf86vm-dev") endif() string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" FREEGLUT_STATIC) @@ -33,12 +35,20 @@ vcpkg_cmake_install() vcpkg_copy_pdbs() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/FreeGLUT) vcpkg_fixup_pkgconfig() -file(COPY_FILE "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/glut.pc" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/freeglut.pc") -if(NOT VCPKG_BUILD_TYPE) - if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/glut.pc" " -lfreeglut" " -lfreeglutd") + +file(GLOB pc_files "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/*.pc" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/*.pc") +foreach(file IN LISTS pc_files) + vcpkg_replace_string("${file}" ";-D" " -D" IGNORE_UNCHANGED) +endforeach() + +if(NOT VCPKG_TARGET_IS_ANDROID) + file(COPY_FILE "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/glut.pc" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/freeglut.pc") + if(NOT VCPKG_BUILD_TYPE) + if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/glut.pc" " -lfreeglut" " -lfreeglutd" IGNORE_UNCHANGED) + endif() + file(COPY_FILE "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/glut.pc" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/freeglut.pc") endif() - file(COPY_FILE "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/glut.pc" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/freeglut.pc") endif() if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") diff --git a/ports/freeglut/vcpkg.json b/ports/freeglut/vcpkg.json index e9d9424473b4ae..8b613e4d888a30 100644 --- a/ports/freeglut/vcpkg.json +++ b/ports/freeglut/vcpkg.json @@ -1,9 +1,11 @@ { "name": "freeglut", "version": "3.4.0", + "port-version": 3, "description": "A free OpenGL utility toolkit, the open-sourced alternative to the GLUT library.", "homepage": "https://sourceforge.net/projects/freeglut/", "license": null, + "supports": "!ios", "dependencies": [ "opengl", { diff --git a/ports/freeimage/portfile.cmake b/ports/freeimage/portfile.cmake index 6409d74853e927..2c0554e19d8942 100644 --- a/ports/freeimage/portfile.cmake +++ b/ports/freeimage/portfile.cmake @@ -20,6 +20,7 @@ vcpkg_from_sourceforge( use-functions-to-override-libtiff-warning-error-handlers.patch remove_auto_ptr.patch rawlib-build-fix.patch + typedef-xcode.patch ) file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" diff --git a/ports/freeimage/typedef-xcode.patch b/ports/freeimage/typedef-xcode.patch new file mode 100644 index 00000000000000..f50c983f28991a --- /dev/null +++ b/ports/freeimage/typedef-xcode.patch @@ -0,0 +1,14 @@ +diff --git a/Source/FreeImage.h b/Source/FreeImage.h +index ad2574d..9588944 100644 +--- a/Source/FreeImage.h ++++ b/Source/FreeImage.h +@@ -155,7 +155,9 @@ FI_STRUCT (FIMULTIBITMAP) { void *data; }; + #ifndef _MSC_VER + // define portable types for 32-bit / 64-bit OS + #include ++#ifndef OBJC_BOOL_DEFINED + typedef int32_t BOOL; ++#endif + typedef uint8_t BYTE; + typedef uint16_t WORD; + typedef uint32_t DWORD; diff --git a/ports/freeimage/vcpkg.json b/ports/freeimage/vcpkg.json index ef75a78dd77bb0..a4d10ce021cba9 100644 --- a/ports/freeimage/vcpkg.json +++ b/ports/freeimage/vcpkg.json @@ -1,7 +1,7 @@ { "name": "freeimage", "version": "3.18.0", - "port-version": 25, + "port-version": 27, "description": "Support library for graphics image formats", "homepage": "https://sourceforge.net/projects/freeimage/", "license": "GPL-2.0-only OR GPL-3.0-only OR FreeImage", @@ -13,11 +13,15 @@ "libraw", { "name": "libwebp", + "default-features": false, "platform": "!uwp" }, "openexr", "openjpeg", - "tiff", + { + "name": "tiff", + "default-features": false + }, { "name": "vcpkg-cmake", "host": true diff --git a/ports/freeopcua/boost-1.70.patch b/ports/freeopcua/boost-1.70.patch deleted file mode 100644 index d099af4cca29d0..00000000000000 --- a/ports/freeopcua/boost-1.70.patch +++ /dev/null @@ -1,29 +0,0 @@ -diff --git a/src/server/opc_tcp_async.cpp b/src/server/opc_tcp_async.cpp -index 9c34d72..9e68d9b 100644 ---- a/src/server/opc_tcp_async.cpp -+++ b/src/server/opc_tcp_async.cpp -@@ -106,7 +106,11 @@ public: - */ - typedef std::promise Promise; - Promise promise; -+#if BOOST_VERSION >= 107000 -+ boost::asio::post(Socket.get_executor(), bind(&Promise::set_value, &promise)); -+#else - Socket.get_io_service().post(bind(&Promise::set_value, &promise)); -+#endif - promise.get_future().wait(); - } - -@@ -372,7 +376,11 @@ void OpcTcpServer::Shutdown() - */ - typedef std::promise Promise; - Promise promise; -- acceptor.get_io_service().post(bind(&Promise::set_value, &promise)); -+#if BOOST_VERSION >= 107000 -+ boost::asio::post(acceptor.get_executor(), bind(&Promise::set_value, &promise)); -+#else -+ acceptor.get_io_service().post(bind(&Promise::set_value, &promise)); -+#endif - promise.get_future().wait(); - } - diff --git a/ports/freeopcua/boost-compatibility.patch b/ports/freeopcua/boost-compatibility.patch new file mode 100644 index 00000000000000..c24aa04ece1757 --- /dev/null +++ b/ports/freeopcua/boost-compatibility.patch @@ -0,0 +1,195 @@ +diff --git a/include/opc/ua/services/services.h b/include/opc/ua/services/services.h +index f138831..4732a59 100644 +--- a/include/opc/ua/services/services.h ++++ b/include/opc/ua/services/services.h +@@ -26,20 +26,7 @@ + #include + + #include +- +- +-namespace boost +-{ +-namespace asio +-{ +-#if BOOST_VERSION < 106600 +- class io_service; +-#else +- class io_context; +- typedef io_context io_service; +-#endif +-} +-} ++#include + + namespace OpcUa + { +diff --git a/src/core/subscription.cpp b/src/core/subscription.cpp +index b690d3a..fdac2f3 100644 +--- a/src/core/subscription.cpp ++++ b/src/core/subscription.cpp +@@ -17,11 +17,10 @@ + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ******************************************************************************/ + +- +-#include ++#include + #include ++#include + +-#include + #include + + namespace OpcUa +diff --git a/src/server/asio_addon.cpp b/src/server/asio_addon.cpp +index 795a6b2..532ac3c 100644 +--- a/src/server/asio_addon.cpp ++++ b/src/server/asio_addon.cpp +@@ -17,9 +17,9 @@ + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ******************************************************************************/ + ++#include + #include + +-#include + #include + #include + +diff --git a/src/server/internal_subscription.cpp b/src/server/internal_subscription.cpp +index edf4715..32f6a2b 100644 +--- a/src/server/internal_subscription.cpp ++++ b/src/server/internal_subscription.cpp +@@ -14,7 +14,7 @@ InternalSubscription::InternalSubscription(SubscriptionServiceInternal & service + , CurrentSession(SessionAuthenticationToken) + , Callback(callback) + , io(service.GetIOService()) +- , Timer(io, boost::posix_time::milliseconds(data.RevisedPublishingInterval)) ++ , Timer(io, boost::posix_time::milliseconds((int)data.RevisedPublishingInterval)) + , LifeTimeCount(data.RevisedLifetimeCount) + , Logger(logger) + { +@@ -105,7 +105,7 @@ void InternalSubscription::PublishResults(const boost::system::error_code & erro + } + + TimerStopped = false; +- Timer.expires_at(Timer.expires_at() + boost::posix_time::milliseconds(Data.RevisedPublishingInterval)); ++ Timer.expires_at(Timer.expires_at() + boost::posix_time::milliseconds((int)Data.RevisedPublishingInterval)); + std::shared_ptr self = shared_from_this(); + Timer.async_wait([self](const boost::system::error_code & error) { self->PublishResults(error); }); + } +diff --git a/src/server/internal_subscription.h b/src/server/internal_subscription.h +index d42aa65..440c7ee 100644 +--- a/src/server/internal_subscription.h ++++ b/src/server/internal_subscription.h +@@ -1,6 +1,7 @@ + + #pragma once + ++#include + //#include "address_space_internal.h" + #include "subscription_service_internal.h" + +@@ -11,7 +12,6 @@ + #include + #include + +-#include + #include + #include + #include +diff --git a/src/server/opc_tcp_async.cpp b/src/server/opc_tcp_async.cpp +index dc700c2..c761a9e 100644 +--- a/src/server/opc_tcp_async.cpp ++++ b/src/server/opc_tcp_async.cpp +@@ -17,6 +17,7 @@ + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ******************************************************************************/ + ++#include + #include "opc_tcp_processor.h" + + #include +@@ -29,7 +30,6 @@ + #include + + #include +-#include + #include + #include + #include +@@ -106,7 +106,11 @@ public: + */ + typedef std::promise Promise; + Promise promise; ++#if BOOST_VERSION >= 107000 ++ boost::asio::post(Socket.get_executor(), bind(&Promise::set_value, &promise)); ++#else + Socket.get_io_service().post(bind(&Promise::set_value, &promise)); ++#endif + promise.get_future().wait(); + } + +@@ -372,7 +376,11 @@ void OpcTcpServer::Shutdown() + */ + typedef std::promise Promise; + Promise promise; ++#if BOOST_VERSION >= 107000 ++ boost::asio::post(acceptor.get_executor(), bind(&Promise::set_value, &promise)); ++#else + acceptor.get_io_service().post(bind(&Promise::set_value, &promise)); ++#endif + promise.get_future().wait(); + } + +diff --git a/src/server/subscription_service_internal.h b/src/server/subscription_service_internal.h +index 6b16e1d..53cfd22 100644 +--- a/src/server/subscription_service_internal.h ++++ b/src/server/subscription_service_internal.h +@@ -9,6 +9,7 @@ + + #pragma once + ++#include + #include "address_space_addon.h" + #include "internal_subscription.h" + +@@ -20,7 +21,6 @@ + #include + #include + +-#include + #include + #include + #include +diff --git a/src/server/tcp_server.cpp b/src/server/tcp_server.cpp +index b4f2000..b7f4df1 100644 +--- a/src/server/tcp_server.cpp ++++ b/src/server/tcp_server.cpp +@@ -8,9 +8,6 @@ + /// http://www.gnu.org/licenses/lgpl.html) + /// + +-#ifdef _WIN32 +-#include +-#endif + + #include "tcp_server.h" + +@@ -36,6 +33,15 @@ + + + #ifdef _WIN32 ++#if !defined SHUT_RD && defined SD_RECEIVE ++#define SHUT_RD SD_RECEIVE ++#endif ++#if !defined SHUT_WR && defined SD_SEND ++#define SHUT_WR SD_SEND ++#endif ++#if !defined SHUT_RDWR && defined SD_BOTH ++#define SHUT_RDWR SD_BOTH ++#endif + #else + #include + #include diff --git a/ports/freeopcua/cmakelists_fixes.patch b/ports/freeopcua/cmakelists_fixes.patch index f818eab35d4a04..f87156faa9882c 100644 --- a/ports/freeopcua/cmakelists_fixes.patch +++ b/ports/freeopcua/cmakelists_fixes.patch @@ -1,5 +1,5 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index de03564..df3fcf6 100644 +index de03564..fe9f536 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,11 +1,8 @@ @@ -45,7 +45,7 @@ index de03564..df3fcf6 100644 # Helper function to generate a pkg-config file for a single library # Takes the filename of the .pc file as a parameter and replaces all # placeholders in the .pc.in file with the actual values -@@ -60,23 +35,9 @@ function(generate_pkgconfig BASENAME) +@@ -60,23 +35,10 @@ function(generate_pkgconfig BASENAME) endif() endfunction(generate_pkgconfig) if(MSVC) @@ -68,11 +68,12 @@ index de03564..df3fcf6 100644 - #set(CMAKE_SHARED_LINKER_FLAGS "--no-undefined" ) + add_definitions(-D_SCL_SECURE_NO_WARNINGS) + add_definitions(-D_CRT_SECURE_NO_WARNINGS) ++ add_compile_options(/bigobj) + set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS TRUE) endif() if(WIN32) -@@ -105,7 +66,7 @@ else(WIN32) +@@ -105,7 +67,7 @@ else(WIN32) endif(WIN32) @@ -81,7 +82,7 @@ index de03564..df3fcf6 100644 include_directories( ${Boost_INCLUDE_DIRS} ) link_directories( ${Boost_LIBRARY_DIRS} ) message(STATUS "Boost INCLUDE DIR IS: " ${Boost_INCLUDE_DIRS}) -@@ -185,14 +146,12 @@ add_library(opcuaprotocol +@@ -185,14 +147,12 @@ add_library(opcuaprotocol src/protocol/subscriptions.cpp ) @@ -98,7 +99,7 @@ index de03564..df3fcf6 100644 generate_pkgconfig("libopcuaprotocol.pc") -@@ -227,10 +186,6 @@ if (BUILD_TESTING) +@@ -227,10 +187,6 @@ if (BUILD_TESTING) gtest_main ) @@ -109,7 +110,7 @@ index de03564..df3fcf6 100644 add_test(NAME opcuaprotocol COMMAND test_opcuaprotocol) endif() -@@ -266,15 +221,12 @@ SET(opcuacore_SOURCES +@@ -266,15 +222,12 @@ SET(opcuacore_SOURCES add_library(opcuacore ${opcuacore_SOURCES}) @@ -128,7 +129,7 @@ index de03564..df3fcf6 100644 generate_pkgconfig("libopcuacore.pc") -@@ -306,7 +258,7 @@ if (BUILD_TESTING) +@@ -306,7 +259,7 @@ if (BUILD_TESTING) ) if (NOT CMAKE_VERSION VERSION_LESS 2.8.12) @@ -137,7 +138,7 @@ index de03564..df3fcf6 100644 endif () add_test(NAME opcuacore COMMAND test_opcuacore) -@@ -327,9 +279,6 @@ if (BUILD_CLIENT) +@@ -327,9 +280,6 @@ if (BUILD_CLIENT) src/client/client.cpp ) @@ -147,7 +148,7 @@ index de03564..df3fcf6 100644 target_link_libraries(opcuaclient opcuacore ${ADDITIONAL_LINK_LIBRARIES} -@@ -338,8 +287,9 @@ if (BUILD_CLIENT) +@@ -338,8 +288,9 @@ if (BUILD_CLIENT) target_include_directories(opcuaclient PUBLIC $) install(TARGETS opcuaclient EXPORT FreeOpcUa @@ -158,7 +159,7 @@ index de03564..df3fcf6 100644 generate_pkgconfig("libopcuaclient.pc") -@@ -371,9 +321,6 @@ if (BUILD_CLIENT) +@@ -371,9 +322,6 @@ if (BUILD_CLIENT) opcuacore ) @@ -168,7 +169,7 @@ index de03564..df3fcf6 100644 endif(BUILD_CLIENT) -@@ -423,14 +370,12 @@ if(BUILD_SERVER) +@@ -423,14 +371,12 @@ if(BUILD_SERVER) src/server/subscription_service_internal.cpp ) @@ -186,7 +187,7 @@ index de03564..df3fcf6 100644 generate_pkgconfig("libopcuaserver.pc") -@@ -481,7 +426,7 @@ if(BUILD_SERVER) +@@ -481,7 +427,7 @@ if(BUILD_SERVER) target_include_directories(test_opcuaserver PUBLIC .) if (NOT CMAKE_VERSION VERSION_LESS 2.8.12) @@ -195,7 +196,7 @@ index de03564..df3fcf6 100644 endif () add_test(NAME opcuaserverapp COMMAND test_opcuaserver) -@@ -510,9 +455,6 @@ if(BUILD_SERVER) +@@ -510,9 +456,6 @@ if(BUILD_SERVER) opcuaserver ${Boost_PROGRAM_OPTIONS_LIBRARY} ) @@ -205,7 +206,7 @@ index de03564..df3fcf6 100644 endif(BUILD_SERVER) -@@ -533,9 +475,6 @@ if (BUILD_CLIENT) +@@ -533,9 +476,6 @@ if (BUILD_CLIENT) ${SSL_SUPPORT_LINK_LIBRARIES} ) @@ -215,7 +216,7 @@ index de03564..df3fcf6 100644 endif (BUILD_CLIENT) -@@ -555,9 +494,6 @@ if(BUILD_SERVER) +@@ -555,9 +495,6 @@ if(BUILD_SERVER) opcuaserver ) @@ -225,7 +226,7 @@ index de03564..df3fcf6 100644 if(MSVC) set_target_properties(example_server PROPERTIES LINK_FLAGS /STACK:3000000) endif(MSVC) -@@ -572,8 +508,8 @@ if (BUILD_PYTHON) +@@ -572,8 +509,8 @@ if (BUILD_PYTHON) add_subdirectory(python) endif (BUILD_PYTHON) diff --git a/ports/freeopcua/improve_compatibility_with_recent_boost.patch b/ports/freeopcua/improve_compatibility_with_recent_boost.patch deleted file mode 100644 index 14e78a68e08608..00000000000000 --- a/ports/freeopcua/improve_compatibility_with_recent_boost.patch +++ /dev/null @@ -1,54 +0,0 @@ -diff --git a/include/opc/ua/services/services.h b/include/opc/ua/services/services.h -index f138831..4732a59 100644 ---- a/include/opc/ua/services/services.h -+++ b/include/opc/ua/services/services.h -@@ -26,20 +26,7 @@ - #include - - #include -- -- --namespace boost --{ --namespace asio --{ --#if BOOST_VERSION < 106600 -- class io_service; --#else -- class io_context; -- typedef io_context io_service; --#endif --} --} -+#include - - namespace OpcUa - { -diff --git a/src/server/internal_subscription.cpp b/src/server/internal_subscription.cpp -index edf4715..69ef74a 100644 ---- a/src/server/internal_subscription.cpp -+++ b/src/server/internal_subscription.cpp -@@ -14,7 +14,7 @@ InternalSubscription::InternalSubscription(SubscriptionServiceInternal & service - , CurrentSession(SessionAuthenticationToken) - , Callback(callback) - , io(service.GetIOService()) -- , Timer(io, boost::posix_time::milliseconds(data.RevisedPublishingInterval)) -+ , Timer(io, boost::posix_time::milliseconds((int)data.RevisedPublishingInterval)) - , LifeTimeCount(data.RevisedLifetimeCount) - , Logger(logger) - { -@@ -105,7 +105,7 @@ void InternalSubscription::PublishResults(const boost::system::error_code & erro - } - - TimerStopped = false; -- Timer.expires_at(Timer.expires_at() + boost::posix_time::milliseconds(Data.RevisedPublishingInterval)); -+ Timer.expires_at(Timer.expires_at() + boost::posix_time::milliseconds((int)Data.RevisedPublishingInterval)); - std::shared_ptr self = shared_from_this(); - Timer.async_wait([self](const boost::system::error_code & error) { self->PublishResults(error); }); - } -@@ -615,5 +615,3 @@ std::vector InternalSubscription::GetEventFields(const EventFilter & fi - - } - } -- -- diff --git a/ports/freeopcua/include_asio_first.patch b/ports/freeopcua/include_asio_first.patch deleted file mode 100644 index d540a38abdb9f7..00000000000000 --- a/ports/freeopcua/include_asio_first.patch +++ /dev/null @@ -1,138 +0,0 @@ -diff --git a/src/core/subscription.cpp b/src/core/subscription.cpp -index b690d3a..fdac2f3 100644 ---- a/src/core/subscription.cpp -+++ b/src/core/subscription.cpp -@@ -17,11 +17,10 @@ - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * - ******************************************************************************/ - -- --#include -+#include - #include -+#include - --#include - #include - - namespace OpcUa -diff --git a/src/server/asio_addon.cpp b/src/server/asio_addon.cpp -index 795a6b2..532ac3c 100644 ---- a/src/server/asio_addon.cpp -+++ b/src/server/asio_addon.cpp -@@ -17,9 +17,9 @@ - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * - ******************************************************************************/ - -+#include - #include - --#include - #include - #include - -diff --git a/src/server/internal_subscription.h b/src/server/internal_subscription.h -index d42aa65..dd193a9 100644 ---- a/src/server/internal_subscription.h -+++ b/src/server/internal_subscription.h -@@ -1,6 +1,7 @@ - - #pragma once - -+#include - //#include "address_space_internal.h" - #include "subscription_service_internal.h" - -@@ -11,7 +12,6 @@ - #include - #include - --#include - #include - #include - #include -@@ -115,5 +115,3 @@ private: - - } - } -- -- -diff --git a/src/server/opc_tcp_async.cpp b/src/server/opc_tcp_async.cpp -index dc700c2..f3a66b8 100644 ---- a/src/server/opc_tcp_async.cpp -+++ b/src/server/opc_tcp_async.cpp -@@ -17,6 +17,7 @@ - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * - ******************************************************************************/ - -+#include - #include "opc_tcp_processor.h" - - #include -@@ -29,7 +30,6 @@ - #include - - #include --#include - #include - #include - #include -diff --git a/src/server/subscription_service_internal.h b/src/server/subscription_service_internal.h -index 6b16e1d..f7e5dfe 100644 ---- a/src/server/subscription_service_internal.h -+++ b/src/server/subscription_service_internal.h -@@ -9,6 +9,7 @@ - - #pragma once - -+#include - #include "address_space_addon.h" - #include "internal_subscription.h" - -@@ -20,7 +21,6 @@ - #include - #include - --#include - #include - #include - #include -@@ -76,4 +76,3 @@ private: - } - - } -- -diff --git a/src/server/tcp_server.cpp b/src/server/tcp_server.cpp -index b4f2000..2430820 100644 ---- a/src/server/tcp_server.cpp -+++ b/src/server/tcp_server.cpp -@@ -8,9 +8,6 @@ - /// http://www.gnu.org/licenses/lgpl.html) - /// - --#ifdef _WIN32 --#include --#endif - - #include "tcp_server.h" - -@@ -34,8 +31,18 @@ - #include - #include - -- - #ifdef _WIN32 -+#include -+#include -+#if !defined SHUT_RD && defined SD_RECEIVE -+#define SHUT_RD SD_RECEIVE -+#endif -+#if !defined SHUT_WR && defined SD_SEND -+#define SHUT_WR SD_SEND -+#endif -+#if !defined SHUT_RDWR && defined SD_BOTH -+#define SHUT_RDWR SD_BOTH -+#endif - #else - #include - #include diff --git a/ports/freeopcua/portfile.cmake b/ports/freeopcua/portfile.cmake index 47450efcf8e74b..e9e6589c054356 100644 --- a/ports/freeopcua/portfile.cmake +++ b/ports/freeopcua/portfile.cmake @@ -6,13 +6,11 @@ vcpkg_from_github( HEAD_REF master PATCHES cmakelists_fixes.patch - improve_compatibility_with_recent_boost.patch use_another_implementation_of_has_begin_end.patch - uri_facade_win.patch serverObj.patch - include_asio_first.patch - boost-1.70.patch fix-std-headers.patch + uri_facade_win.patch + boost-compatibility.patch ) vcpkg_cmake_configure( @@ -28,8 +26,5 @@ vcpkg_cmake_install() vcpkg_cmake_config_fixup() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") - -#Handle copyright file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/freeopcua" RENAME copyright) - vcpkg_fixup_pkgconfig() diff --git a/ports/freeopcua/uri_facade_win.patch b/ports/freeopcua/uri_facade_win.patch index e6cc601dc3839c..e006b85cd0a54b 100644 --- a/ports/freeopcua/uri_facade_win.patch +++ b/ports/freeopcua/uri_facade_win.patch @@ -1,5 +1,5 @@ diff --git a/src/core/common/uri_facade_win.cpp b/src/core/common/uri_facade_win.cpp -index 1a807fb..c579e2d 100644 +index 1a807fb..2839ddf 100644 --- a/src/core/common/uri_facade_win.cpp +++ b/src/core/common/uri_facade_win.cpp @@ -19,7 +19,7 @@ @@ -20,9 +20,3 @@ index 1a807fb..c579e2d 100644 { THROW_ERROR1(CannotParseUri, uriString); } -@@ -50,5 +50,3 @@ void Uri::Initialize(const char * uriString, std::size_t size) - } - - } // namespace Common -- -- diff --git a/ports/freeopcua/vcpkg.json b/ports/freeopcua/vcpkg.json index 91498a4013e7a9..05aad82ff6bc25 100644 --- a/ports/freeopcua/vcpkg.json +++ b/ports/freeopcua/vcpkg.json @@ -1,8 +1,9 @@ { "name": "freeopcua", "version": "20190125", - "port-version": 7, + "port-version": 8, "description": "OPC-UA server and client library written in C++ and with a lot of code auto-generated from xml specification using python.", + "supports": "!android", "dependencies": [ "boost-asio", "boost-date-time", diff --git a/ports/freerdp/DontInstallSystemRuntimeLibs.patch b/ports/freerdp/DontInstallSystemRuntimeLibs.patch deleted file mode 100644 index 7a1d542a2b609c..00000000000000 --- a/ports/freerdp/DontInstallSystemRuntimeLibs.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/CMakeCPack.cmake b/CMakeCPack.cmake -index 6ccfc7d..75479bf 100644 ---- a/CMakeCPack.cmake -+++ b/CMakeCPack.cmake -@@ -67,9 +67,9 @@ if(MSVC) - set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP TRUE) - include(InstallRequiredSystemLibraries) - -- install(PROGRAMS ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS} -- DESTINATION ${CMAKE_INSTALL_BINDIR} -- COMPONENT libraries) -+ # install(PROGRAMS ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS} -+ # DESTINATION ${CMAKE_INSTALL_BINDIR} -+ # COMPONENT libraries) - endif() - endif() - diff --git a/ports/freerdp/dependencies.patch b/ports/freerdp/dependencies.patch new file mode 100644 index 00000000000000..b65a4cf6511fe2 --- /dev/null +++ b/ports/freerdp/dependencies.patch @@ -0,0 +1,22 @@ +diff --git a/cmake/FindFeature.cmake b/cmake/FindFeature.cmake +index bd25fd4..dd180a3 100644 +--- a/cmake/FindFeature.cmake ++++ b/cmake/FindFeature.cmake +@@ -15,7 +15,7 @@ macro(find_feature _feature _type _purpose _description) + set(_feature_default "ON") + message(STATUS "Finding ${_type_lower} feature ${_feature} for ${_purpose} (${_description})") + find_package(${_feature} REQUIRED) +- elseif(${_type} STREQUAL "RECOMMENDED") ++ elseif(0) + if(NOT ${WITH_${_feature_upper}}) + set(_feature_default "OFF") + message(STATUS "Skipping ${_type_lower} feature ${_feature} for ${_purpose} (${_description})") +@@ -29,7 +29,7 @@ macro(find_feature _feature _type _purpose _description) + message(STATUS "Not detected ${_type_lower} feature ${_feature} for ${_purpose} (${_description}), feature disabled") + endif() + endif() +- elseif(${_type} STREQUAL "OPTIONAL") ++ elseif(1) + if(${WITH_${_feature_upper}}) + set(_feature_default "ON") + message(STATUS "Finding ${_type_lower} feature ${_feature} for ${_purpose} (${_description})") diff --git a/ports/freerdp/export-include.patch b/ports/freerdp/export-include.patch deleted file mode 100644 index 7a91ec3215d0be..00000000000000 --- a/ports/freerdp/export-include.patch +++ /dev/null @@ -1,203 +0,0 @@ -diff --git a/channels/CMakeLists.txt b/channels/CMakeLists.txt -index 882fef7..4ae7737 100644 ---- a/channels/CMakeLists.txt -+++ b/channels/CMakeLists.txt -@@ -213,6 +213,7 @@ macro(add_channel_client_library _module_prefix _module_name _channel_name _dyna - client_channel_install(${_module_name} ${FREERDP_ADDIN_PATH}) - endif() - endif() -+ target_include_directories(${_module_name} INTERFACE $) - endmacro(add_channel_client_library) - - macro(add_channel_client_subsystem_library _module_prefix _module_name _channel_name _type _dynamic _entry) -@@ -253,6 +254,7 @@ macro(add_channel_client_subsystem_library _module_prefix _module_name _channel_ - client_channel_install(${_module_name} ${FREERDP_ADDIN_PATH}) - endif() - endif() -+ target_include_directories(${_module_name} INTERFACE $) - endmacro(add_channel_client_subsystem_library) - - macro(add_channel_server_library _module_prefix _module_name _channel_name _dynamic _entry) -@@ -290,6 +292,7 @@ macro(add_channel_server_library _module_prefix _module_name _channel_name _dyna - server_channel_install(${_module_name} ${FREERDP_ADDIN_PATH}) - endif() - endif() -+ target_include_directories(${_module_name} INTERFACE $) - endmacro(add_channel_server_library) - - set(FILENAME "ChannelOptions.cmake") -diff --git a/channels/server/CMakeLists.txt b/channels/server/CMakeLists.txt -index 1f49c3b..67d361f 100644 ---- a/channels/server/CMakeLists.txt -+++ b/channels/server/CMakeLists.txt -@@ -29,6 +29,7 @@ foreach(STATIC_MODULE ${CHANNEL_STATIC_SERVER_MODULES}) - endforeach() - - add_library(${MODULE_NAME} STATIC ${${MODULE_PREFIX}_SRCS}) -+target_include_directories(${MODULE_NAME} INTERFACE $) - - if (WITH_LIBRARY_VERSIONING) - set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${FREERDP_VERSION} SOVERSION ${FREERDP_API_VERSION}) -diff --git a/client/Android/CMakeLists.txt b/client/Android/CMakeLists.txt -index b3473a9..5537033 100644 ---- a/client/Android/CMakeLists.txt -+++ b/client/Android/CMakeLists.txt -@@ -51,4 +51,5 @@ set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} jnigraphics) - #set_target_properties(${MODULE_NAME} PROPERTIES OUTPUT_NAME ${MODULE_NAME}${FREERDP_API_VERSION}) - - target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS}) -+target_include_directories(${MODULE_NAME} INTERFACE $) - install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries EXPORT AndroidTargets) -diff --git a/client/Mac/CMakeLists.txt b/client/Mac/CMakeLists.txt -index b3eb591..f6f756b 100644 ---- a/client/Mac/CMakeLists.txt -+++ b/client/Mac/CMakeLists.txt -@@ -95,6 +95,7 @@ set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${EXTRA_LIBS} freerdp-client) - set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} winpr freerdp) - - target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS}) -+target_include_directories(${MODULE_NAME} INTERFACE $) - - # Set a list of the dependent targets used by the application. There should be a way to get this list automatically - # from cmake, but for now I put it down manually. I got the references by calling "otool -L MacFreeRDP-client" -diff --git a/client/Windows/CMakeLists.txt b/client/Windows/CMakeLists.txt -index b0a5d27..278b0fc 100644 ---- a/client/Windows/CMakeLists.txt -+++ b/client/Windows/CMakeLists.txt -@@ -80,6 +80,7 @@ set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} freerdp-client) - set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} winpr freerdp) - set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} msimg32) - target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS}) -+target_include_directories(${MODULE_NAME} INTERFACE $) - - if(WITH_CLIENT_INTERFACE) - install(TARGETS ${MODULE_NAME} COMPONENT libraries) -diff --git a/client/X11/CMakeLists.txt b/client/X11/CMakeLists.txt -index 869652c..d170277 100644 ---- a/client/X11/CMakeLists.txt -+++ b/client/X11/CMakeLists.txt -@@ -238,6 +238,8 @@ if(WITH_IPP) - target_link_libraries(${MODULE_NAME} ${PRIVATE_KEYWORD} ${IPP_LIBRARY_LIST}) - endif() - -+target_include_directories(${MODULE_NAME} INTERFACE $) -+ - if(WITH_CLIENT_INTERFACE) - install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries) - add_subdirectory(cli) -diff --git a/client/common/CMakeLists.txt b/client/common/CMakeLists.txt -index 1de7461..acb6ecf 100644 ---- a/client/common/CMakeLists.txt -+++ b/client/common/CMakeLists.txt -@@ -77,6 +77,7 @@ else() - target_link_libraries(${MODULE_NAME} ${PUBLIC_KEYWORD} ${${MODULE_PREFIX}_LIBS}) - endif() - -+target_include_directories(${MODULE_NAME} INTERFACE $) - - install(TARGETS ${MODULE_NAME} COMPONENT libraries EXPORT FreeRDP-ClientTargets) - -diff --git a/libfreerdp/CMakeLists.txt b/libfreerdp/CMakeLists.txt -index 7e9a63d..b9b0ab0 100644 ---- a/libfreerdp/CMakeLists.txt -+++ b/libfreerdp/CMakeLists.txt -@@ -395,6 +395,7 @@ endif() - - - target_link_libraries(${MODULE_NAME} ${PRIVATE_KEYWORD} ${LIBFREERDP_LIBS} winpr) -+target_include_directories(${MODULE_NAME} INTERFACE $) - - install(TARGETS ${MODULE_NAME} COMPONENT libraries EXPORT FreeRDPTargets) - if (WITH_DEBUG_SYMBOLS AND MSVC AND BUILD_SHARED_LIBS) -diff --git a/rdtk/librdtk/CMakeLists.txt b/rdtk/librdtk/CMakeLists.txt -index 000e6d2..a84ce5e 100644 ---- a/rdtk/librdtk/CMakeLists.txt -+++ b/rdtk/librdtk/CMakeLists.txt -@@ -42,6 +42,7 @@ list(APPEND ${MODULE_PREFIX}_LIBS winpr) - list(APPEND ${MODULE_PREFIX}_LIBS freerdp) - - target_link_libraries(${MODULE_NAME} ${PRIVATE_KEYWORD} ${${MODULE_PREFIX}_LIBS}) -+target_include_directories(${MODULE_NAME} INTERFACE $) - - set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "RdTk") - -diff --git a/server/Windows/CMakeLists.txt b/server/Windows/CMakeLists.txt -index 4086542..976bd86 100644 ---- a/server/Windows/CMakeLists.txt -+++ b/server/Windows/CMakeLists.txt -@@ -96,6 +96,7 @@ set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} dsound) - set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} freerdp-server freerdp) - - target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS}) -+target_include_directories(${MODULE_NAME} INTERFACE $) - - if(WITH_SERVER_INTERFACE) - install(TARGETS ${MODULE_NAME} COMPONENT libraries) -diff --git a/server/common/CMakeLists.txt b/server/common/CMakeLists.txt -index 7c533b7..8503928 100644 ---- a/server/common/CMakeLists.txt -+++ b/server/common/CMakeLists.txt -@@ -62,6 +62,7 @@ endif() - - target_link_libraries(${MODULE_NAME} ${PRIVATE_KEYWORD} ${FREERDP_CHANNELS_SERVER_LIBS}) - target_link_libraries(${MODULE_NAME} ${PUBLIC_KEYWORD} winpr freerdp) -+target_include_directories(${MODULE_NAME} INTERFACE $) - - install(TARGETS ${MODULE_NAME} COMPONENT libraries EXPORT FreeRDP-ServerTargets) - if (WITH_DEBUG_SYMBOLS AND MSVC AND BUILD_SHARED_LIBS) -diff --git a/server/shadow/CMakeLists.txt b/server/shadow/CMakeLists.txt -index 0daa245..583c0a4 100644 ---- a/server/shadow/CMakeLists.txt -+++ b/server/shadow/CMakeLists.txt -@@ -80,6 +80,7 @@ list(APPEND ${MODULE_PREFIX}_LIBS winpr-tools) - list(APPEND ${MODULE_PREFIX}_LIBS rdtk) - - target_link_libraries(${MODULE_NAME} ${PRIVATE_KEYWORD} ${${MODULE_PREFIX}_LIBS}) -+target_include_directories(${MODULE_NAME} INTERFACE $) - - set_target_properties(${MODULE_NAME} PROPERTIES OUTPUT_NAME ${MODULE_NAME}${FREERDP_VERSION_MAJOR}) - if (WITH_LIBRARY_VERSIONING) -@@ -285,6 +286,7 @@ add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) - set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} freerdp-shadow freerdp winpr) - - target_link_libraries(${MODULE_NAME} ${PRIVATE_KEYWORD} ${${MODULE_PREFIX}_LIBS}) -+target_include_directories(${MODULE_NAME} INTERFACE $) - - set_target_properties(${MODULE_NAME} PROPERTIES OUTPUT_NAME ${MODULE_NAME}${FREERDP_API_VERSION}) - if (WITH_LIBRARY_VERSIONING) -diff --git a/uwac/libuwac/CMakeLists.txt b/uwac/libuwac/CMakeLists.txt -index f66a8c4..ea08bed 100644 ---- a/uwac/libuwac/CMakeLists.txt -+++ b/uwac/libuwac/CMakeLists.txt -@@ -81,6 +81,7 @@ if (HAVE_PIXMAN_REGION) - else() - target_link_libraries(${MODULE_NAME} PRIVATE freerdp) - endif() -+target_include_directories(${MODULE_NAME} INTERFACE $) - - install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR} EXPORT uwac) - -diff --git a/winpr/libwinpr/CMakeLists.txt b/winpr/libwinpr/CMakeLists.txt -index 2616439..1f4688e 100644 ---- a/winpr/libwinpr/CMakeLists.txt -+++ b/winpr/libwinpr/CMakeLists.txt -@@ -144,6 +144,7 @@ endif() - - add_definitions(${WINPR_DEFINITIONS}) - target_link_libraries(${MODULE_NAME} ${PRIVATE_KEYWORD} ${WINPR_LIBS_PRIVATE} ${PUBLIC_KEYWORD} ${WINPR_LIBS_PUBLIC}) -+target_include_directories(${MODULE_NAME} INTERFACE $) - install(TARGETS ${MODULE_NAME} COMPONENT libraries EXPORT WinPRTargets) - if (WITH_DEBUG_SYMBOLS AND MSVC AND BUILD_SHARED_LIBS) - get_target_property(OUTPUT_FILENAME ${MODULE_NAME} OUTPUT_NAME) -diff --git a/winpr/tools/CMakeLists.txt b/winpr/tools/CMakeLists.txt -index 13f4c13..4a73333 100644 ---- a/winpr/tools/CMakeLists.txt -+++ b/winpr/tools/CMakeLists.txt -@@ -111,6 +111,7 @@ endif() - - add_definitions(${WINPR_DEFINITIONS}) - target_link_libraries(${MODULE_NAME} ${PRIVATE_KEYWORD} ${WINPR_TOOLS_LIBS}) -+target_include_directories(${MODULE_NAME} INTERFACE $) - - install(TARGETS ${MODULE_NAME} COMPONENT libraries EXPORT WinPRTargets) - if (WITH_DEBUG_SYMBOLS AND MSVC AND BUILD_SHARED_LIBS) diff --git a/ports/freerdp/find-dependency.patch b/ports/freerdp/find-dependency.patch deleted file mode 100644 index 1df98f91a5c00d..00000000000000 --- a/ports/freerdp/find-dependency.patch +++ /dev/null @@ -1,44 +0,0 @@ -diff --git a/client/FreeRDP-ClientConfig.cmake.in b/client/FreeRDP-ClientConfig.cmake.in -index 779374c..35b74c1 100644 ---- a/client/FreeRDP-ClientConfig.cmake.in -+++ b/client/FreeRDP-ClientConfig.cmake.in -@@ -1,3 +1,6 @@ -+include(CMakeFindDependencyMacro) -+find_dependency(WinPR @FREERDP_VERSION@) -+find_dependency(FreeRDP @FREERDP_VERSION@) - - @PACKAGE_INIT@ - -diff --git a/libfreerdp/FreeRDPConfig.cmake.in b/libfreerdp/FreeRDPConfig.cmake.in -index a2321e7..4c8379e 100644 ---- a/libfreerdp/FreeRDPConfig.cmake.in -+++ b/libfreerdp/FreeRDPConfig.cmake.in -@@ -1,3 +1,5 @@ -+include(CMakeFindDependencyMacro) -+find_dependency(WinPR @FREERDP_VERSION@) - - @PACKAGE_INIT@ - -diff --git a/server/FreeRDP-ServerConfig.cmake.in b/server/FreeRDP-ServerConfig.cmake.in -index b9edb55..db7cb44 100644 ---- a/server/FreeRDP-ServerConfig.cmake.in -+++ b/server/FreeRDP-ServerConfig.cmake.in -@@ -1,3 +1,6 @@ -+include(CMakeFindDependencyMacro) -+find_dependency(WinPR @FREERDP_VERSION@) -+find_dependency(FreeRDP @FREERDP_VERSION@) - - @PACKAGE_INIT@ - -diff --git a/server/shadow/FreeRDP-ShadowConfig.cmake.in b/server/shadow/FreeRDP-ShadowConfig.cmake.in -index 1eb11e0..9b6f24c 100644 ---- a/server/shadow/FreeRDP-ShadowConfig.cmake.in -+++ b/server/shadow/FreeRDP-ShadowConfig.cmake.in -@@ -1,3 +1,7 @@ -+include(CMakeFindDependencyMacro) -+find_dependency(WinPR @FREERDP_VERSION@) -+find_dependency(FreeRDP @FREERDP_VERSION@) -+find_dependency(FreeRDP-Server @FREERDP_VERSION@) - - @PACKAGE_INIT@ - diff --git a/ports/freerdp/fix-include-path.patch b/ports/freerdp/fix-include-path.patch deleted file mode 100644 index f426813a02ae7c..00000000000000 --- a/ports/freerdp/fix-include-path.patch +++ /dev/null @@ -1,52 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 54df8cf..5232d46 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -129,7 +129,7 @@ endif() - - message(STATUS "Git Revision ${GIT_REVISION}") - --set(FREERDP_INCLUDE_DIR "include/freerdp${FREERDP_VERSION_MAJOR}/") -+set(FREERDP_INCLUDE_DIR "include/") - - # Compatibility options - if(DEFINED STATIC_CHANNELS) -diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt -index a020dc5..0bc1157 100644 ---- a/include/CMakeLists.txt -+++ b/include/CMakeLists.txt -@@ -19,7 +19,7 @@ - - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/freerdp/version.h.in ${CMAKE_CURRENT_BINARY_DIR}/freerdp/version.h) - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/freerdp/build-config.h.in ${CMAKE_CURRENT_BINARY_DIR}/freerdp/build-config.h) --set(FREERDP_INSTALL_INCLUDE_DIR include/freerdp${FREERDP_VERSION_MAJOR}/freerdp) -+set(FREERDP_INSTALL_INCLUDE_DIR include/freerdp) - - file(GLOB FREERDP_HEADERS "freerdp/*.h") - install(FILES ${FREERDP_HEADERS} DESTINATION ${FREERDP_INSTALL_INCLUDE_DIR} COMPONENT headers) -diff --git a/winpr/CMakeLists.txt b/winpr/CMakeLists.txt -index d8a40da..73ffba4 100644 ---- a/winpr/CMakeLists.txt -+++ b/winpr/CMakeLists.txt -@@ -221,7 +221,7 @@ if(${CMAKE_VERSION} VERSION_GREATER "2.8.10") - - SetFreeRDPCMakeInstallDir(WINPR_CMAKE_INSTALL_DIR "WinPR${WINPR_VERSION_MAJOR}") - -- set(WINPR_INCLUDE_DIR "include/winpr${WINPR_VERSION_MAJOR}") -+ set(WINPR_INCLUDE_DIR "include") - - configure_package_config_file(WinPRConfig.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/WinPRConfig.cmake - INSTALL_DESTINATION ${WINPR_CMAKE_INSTALL_DIR} -diff --git a/winpr/include/CMakeLists.txt b/winpr/include/CMakeLists.txt -index 452383d..3faab0c 100644 ---- a/winpr/include/CMakeLists.txt -+++ b/winpr/include/CMakeLists.txt -@@ -17,7 +17,7 @@ - - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/winpr/version.h.in ${CMAKE_CURRENT_BINARY_DIR}/winpr/version.h) - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/winpr/wtypes.h.in ${CMAKE_CURRENT_BINARY_DIR}/winpr/wtypes.h) --set(WINPR_INSTALL_INCLUDE_DIR include/winpr${WINPR_VERSION_MAJOR}/winpr) -+set(WINPR_INSTALL_INCLUDE_DIR include/winpr) - - file(GLOB WINPR_HEADERS "winpr/*.h") - install(FILES ${WINPR_HEADERS} DESTINATION ${WINPR_INSTALL_INCLUDE_DIR} COMPONENT headers) diff --git a/ports/freerdp/fix-install-destination.patch b/ports/freerdp/fix-install-destination.patch deleted file mode 100644 index 911bfc349dfb23..00000000000000 --- a/ports/freerdp/fix-install-destination.patch +++ /dev/null @@ -1,127 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 8894a58..d2f8b2f 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -960,6 +960,9 @@ else() - set(FREERDP_LIBRARY_PATH "${CMAKE_INSTALL_LIBDIR}") - set(FREERDP_PLUGIN_PATH "${CMAKE_INSTALL_LIBDIR}/freerdp${FREERDP_VERSION_MAJOR}") - endif() -+set(FREERDP_DATA_PATH "share/freerdp") -+set(FREERDP_LIBRARY_PATH "${CMAKE_INSTALL_LIBDIR}") -+set(FREERDP_PLUGIN_PATH "${CMAKE_INSTALL_LIBDIR}/freerdp${FREERDP_VERSION_MAJOR}") - set(FREERDP_ADDIN_PATH "${FREERDP_PLUGIN_PATH}") - - # Path to put extensions -diff --git a/client/Windows/CMakeLists.txt b/client/Windows/CMakeLists.txt -index 6274571..b0a5d27 100644 ---- a/client/Windows/CMakeLists.txt -+++ b/client/Windows/CMakeLists.txt -@@ -82,7 +82,7 @@ set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} msimg32) - target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS}) - - if(WITH_CLIENT_INTERFACE) -- install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries) -+ install(TARGETS ${MODULE_NAME} COMPONENT libraries) - if (WITH_DEBUG_SYMBOLS AND MSVC AND BUILD_SHARED_LIBS) - install(FILES ${CMAKE_PDB_BINARY_DIR}/${MODULE_NAME}.pdb DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT symbols) - endif() -diff --git a/client/common/CMakeLists.txt b/client/common/CMakeLists.txt -index b465a63..1de7461 100644 ---- a/client/common/CMakeLists.txt -+++ b/client/common/CMakeLists.txt -@@ -78,7 +78,7 @@ else() - endif() - - --install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries EXPORT FreeRDP-ClientTargets) -+install(TARGETS ${MODULE_NAME} COMPONENT libraries EXPORT FreeRDP-ClientTargets) - - if (WITH_DEBUG_SYMBOLS AND MSVC AND BUILD_SHARED_LIBS) - get_target_property(OUTPUT_FILENAME ${MODULE_NAME} OUTPUT_NAME) -diff --git a/libfreerdp/CMakeLists.txt b/libfreerdp/CMakeLists.txt -index a259b68..10a0921 100644 ---- a/libfreerdp/CMakeLists.txt -+++ b/libfreerdp/CMakeLists.txt -@@ -396,7 +396,7 @@ endif() - - target_link_libraries(${MODULE_NAME} ${PRIVATE_KEYWORD} ${LIBFREERDP_LIBS} winpr) - --install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries EXPORT FreeRDPTargets) -+install(TARGETS ${MODULE_NAME} COMPONENT libraries EXPORT FreeRDPTargets) - if (WITH_DEBUG_SYMBOLS AND MSVC AND BUILD_SHARED_LIBS) - get_target_property(OUTPUT_FILENAME ${MODULE_NAME} OUTPUT_NAME) - install(FILES ${CMAKE_PDB_BINARY_DIR}/${OUTPUT_FILENAME}.pdb DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT symbols) -diff --git a/server/Windows/CMakeLists.txt b/server/Windows/CMakeLists.txt -index c7833ad..4086542 100644 ---- a/server/Windows/CMakeLists.txt -+++ b/server/Windows/CMakeLists.txt -@@ -98,7 +98,7 @@ set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} freerdp-server freerdp) - target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS}) - - if(WITH_SERVER_INTERFACE) -- install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries) -+ install(TARGETS ${MODULE_NAME} COMPONENT libraries) - - if (WITH_DEBUG_SYMBOLS AND MSVC AND BUILD_SHARED_LIBS) - install(FILES ${CMAKE_BINARY_DIR}/${MODULE_NAME}.pdb DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT symbols) -diff --git a/server/common/CMakeLists.txt b/server/common/CMakeLists.txt -index c94a209..7c533b7 100644 ---- a/server/common/CMakeLists.txt -+++ b/server/common/CMakeLists.txt -@@ -63,7 +63,7 @@ endif() - target_link_libraries(${MODULE_NAME} ${PRIVATE_KEYWORD} ${FREERDP_CHANNELS_SERVER_LIBS}) - target_link_libraries(${MODULE_NAME} ${PUBLIC_KEYWORD} winpr freerdp) - --install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries EXPORT FreeRDP-ServerTargets) -+install(TARGETS ${MODULE_NAME} COMPONENT libraries EXPORT FreeRDP-ServerTargets) - if (WITH_DEBUG_SYMBOLS AND MSVC AND BUILD_SHARED_LIBS) - get_target_property(OUTPUT_FILENAME ${MODULE_NAME} OUTPUT_NAME) - install(FILES ${CMAKE_PDB_BINARY_DIR}/${OUTPUT_FILENAME}.pdb DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT symbols) -diff --git a/server/shadow/CMakeLists.txt b/server/shadow/CMakeLists.txt -index 3e0df0b..0daa245 100644 ---- a/server/shadow/CMakeLists.txt -+++ b/server/shadow/CMakeLists.txt -@@ -86,7 +86,7 @@ if (WITH_LIBRARY_VERSIONING) - set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${FREERDP_VERSION} SOVERSION ${FREERDP_API_VERSION}) - endif() - --install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT server EXPORT FreeRDP-ShadowTargets) -+install(TARGETS ${MODULE_NAME} COMPONENT server EXPORT FreeRDP-ShadowTargets) - - if (WITH_DEBUG_SYMBOLS AND MSVC) - get_target_property(OUTPUT_FILENAME ${MODULE_NAME} OUTPUT_NAME) -@@ -291,7 +291,7 @@ if (WITH_LIBRARY_VERSIONING) - set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${FREERDP_VERSION} SOVERSION ${FREERDP_API_VERSION}) - endif() - --install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT server EXPORT FreeRDP-ShadowTargets) -+install(TARGETS ${MODULE_NAME} COMPONENT server EXPORT FreeRDP-ShadowTargets) - - if (WITH_DEBUG_SYMBOLS AND MSVC) - get_target_property(OUTPUT_FILENAME ${MODULE_NAME} OUTPUT_NAME) -diff --git a/winpr/libwinpr/CMakeLists.txt b/winpr/libwinpr/CMakeLists.txt -index 2df8d89..da23a1b 100644 ---- a/winpr/libwinpr/CMakeLists.txt -+++ b/winpr/libwinpr/CMakeLists.txt -@@ -144,7 +144,7 @@ endif() - - add_definitions(${WINPR_DEFINITIONS}) - target_link_libraries(${MODULE_NAME} ${PRIVATE_KEYWORD} ${WINPR_LIBS_PRIVATE} ${PUBLIC_KEYWORD} ${WINPR_LIBS_PUBLIC}) --install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries EXPORT WinPRTargets) -+install(TARGETS ${MODULE_NAME} COMPONENT libraries EXPORT WinPRTargets) - if (WITH_DEBUG_SYMBOLS AND MSVC AND BUILD_SHARED_LIBS) - get_target_property(OUTPUT_FILENAME ${MODULE_NAME} OUTPUT_NAME) - install(FILES ${CMAKE_PDB_BINARY_DIR}/${OUTPUT_FILENAME}.pdb DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT symbols) -diff --git a/winpr/tools/CMakeLists.txt b/winpr/tools/CMakeLists.txt -index 0ddf9fb..b89a954 100644 ---- a/winpr/tools/CMakeLists.txt -+++ b/winpr/tools/CMakeLists.txt -@@ -112,7 +112,7 @@ endif() - add_definitions(${WINPR_DEFINITIONS}) - target_link_libraries(${MODULE_NAME} ${PRIVATE_KEYWORD} ${WINPR_TOOLS_LIBS}) - --install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries EXPORT WinPRTargets) -+install(TARGETS ${MODULE_NAME} COMPONENT libraries EXPORT WinPRTargets) - if (WITH_DEBUG_SYMBOLS AND MSVC AND BUILD_SHARED_LIBS) - get_target_property(OUTPUT_FILENAME ${MODULE_NAME} OUTPUT_NAME) - install(FILES ${CMAKE_PDB_BINARY_DIR}/${OUTPUT_FILENAME}.pdb DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT symbols) diff --git a/ports/freerdp/install-layout.patch b/ports/freerdp/install-layout.patch new file mode 100644 index 00000000000000..f4e9bb71dd8c01 --- /dev/null +++ b/ports/freerdp/install-layout.patch @@ -0,0 +1,27 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0a44b35..49e987a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -666,6 +666,9 @@ else() + set(FREERDP_PLUGIN_PATH "${CMAKE_INSTALL_LIBDIR}/${FREERDP_MAJOR_DIR}") + endif() + endif() ++set(FREERDP_DATA_PATH "share/freerdp") ++set(FREERDP_LIBRARY_PATH "${CMAKE_INSTALL_LIBDIR}") ++set(FREERDP_PLUGIN_PATH "${CMAKE_INSTALL_LIBDIR}/freerdp${FREERDP_VERSION_MAJOR}") + set(FREERDP_ADDIN_PATH "${FREERDP_PLUGIN_PATH}") + + # Path to put extensions +diff --git a/client/Windows/CMakeLists.txt b/client/Windows/CMakeLists.txt +index 72d3ca6..9e2bc12 100644 +--- a/client/Windows/CMakeLists.txt ++++ b/client/Windows/CMakeLists.txt +@@ -77,7 +77,7 @@ target_link_libraries(${MODULE_NAME} PUBLIC ${PUB_LIBS}) + target_link_libraries(${MODULE_NAME} PRIVATE ${PRIV_LIBS}) + + if(WITH_CLIENT_INTERFACE) +- install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries) ++ install(TARGETS ${MODULE_NAME} COMPONENT libraries) + endif() + add_subdirectory(cli) + diff --git a/ports/freerdp/keep-dup-libs.patch b/ports/freerdp/keep-dup-libs.patch deleted file mode 100644 index af029d1aa58641..00000000000000 --- a/ports/freerdp/keep-dup-libs.patch +++ /dev/null @@ -1,37 +0,0 @@ -diff --git a/libfreerdp/CMakeLists.txt b/libfreerdp/CMakeLists.txt -index 10a0921..7e9a63d 100644 ---- a/libfreerdp/CMakeLists.txt -+++ b/libfreerdp/CMakeLists.txt -@@ -363,7 +363,6 @@ endif() - # /primitives - - list(REMOVE_DUPLICATES LIBFREERDP_DEFINITIONS) --list(REMOVE_DUPLICATES LIBFREERDP_LIBS) - list(REMOVE_DUPLICATES LIBFREERDP_INCLUDES) - include_directories(${LIBFREERDP_INCLUDES}) - -diff --git a/winpr/libwinpr/CMakeLists.txt b/winpr/libwinpr/CMakeLists.txt -index da23a1b..2616439 100644 ---- a/winpr/libwinpr/CMakeLists.txt -+++ b/winpr/libwinpr/CMakeLists.txt -@@ -113,8 +113,6 @@ endforeach() - - set(MODULE_NAME winpr) - list(REMOVE_DUPLICATES WINPR_DEFINITIONS) --list(REMOVE_DUPLICATES WINPR_LIBS_PRIVATE) --list(REMOVE_DUPLICATES WINPR_LIBS_PUBLIC) - list(REMOVE_DUPLICATES WINPR_INCLUDES) - include_directories(${WINPR_INCLUDES}) - -diff --git a/winpr/tools/CMakeLists.txt b/winpr/tools/CMakeLists.txt -index b89a954..13f4c13 100644 ---- a/winpr/tools/CMakeLists.txt -+++ b/winpr/tools/CMakeLists.txt -@@ -82,7 +82,6 @@ add_subdirectory(makecert) - - set(MODULE_NAME winpr-tools) - list(REMOVE_DUPLICATES WINPR_TOOLS_DEFINITIONS) --list(REMOVE_DUPLICATES WINPR_TOOLS_LIBS) - list(REMOVE_DUPLICATES WINPR_TOOLS_INCLUDES) - include_directories(${WINPR_TOOLS_INCLUDES}) - diff --git a/ports/freerdp/portfile.cmake b/ports/freerdp/portfile.cmake index 0a6ef5311789e4..d23c75483d7050 100644 --- a/ports/freerdp/portfile.cmake +++ b/ports/freerdp/portfile.cmake @@ -2,20 +2,15 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO FreeRDP/FreeRDP REF "${VERSION}" - SHA512 722d95d7591b5ce6a7e8a3b6ac8999df278dbcfc286a532f56bcbc4a3881e75b02c7e3cd4b296e67bc19d1165020acdcca198bf4bcc92aea5611760037fcc57f + SHA512 72d978326a3641e69706c158cd5c4b1a4138dedbe1bf8c0f1c02fbb03291c1a49ff36afdaf8cf432fee84952bbaecf8801efa3f1afb50f600490e36ec3d577ef HEAD_REF master PATCHES - DontInstallSystemRuntimeLibs.patch - fix-include-path.patch - fix-install-destination.patch - keep-dup-libs.patch - wfreerdp-server-cli.patch - pr-7060-jni-onload.patch - find-dependency.patch - export-include.patch + dependencies.patch + install-layout.patch + windows-linkage.patch ) -file(REMOVE "${SOURCE_PATH}/cmake/FindOpenSSL.cmake") file(WRITE "${SOURCE_PATH}/.source_version" "${VERSION}-vcpkg") +file(WRITE "${SOURCE_PATH}/CMakeCPack.cmake" "") if("x11" IN_LIST FEATURES) message(STATUS "${PORT} currently requires the following libraries from the system package manager:\n libxfixes-dev\n") @@ -23,14 +18,13 @@ endif() vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - client-mac WITH_CLIENT_MAC - ffmpeg WITH_FFMPEG - ffmpeg WITH_SWSCALE - server WITH_SERVER - urbdrc CHANNEL_URBDRC - wayland WITH_WAYLAND + ffmpeg WITH_FFMPEG + ffmpeg WITH_SWSCALE + server WITH_SERVER + urbdrc CHANNEL_URBDRC + wayland WITH_WAYLAND winpr-tools WITH_WINPR_TOOLS - x11 WITH_X11 + x11 WITH_X11 ) vcpkg_list(SET GENERATOR_OPTION) @@ -46,17 +40,37 @@ vcpkg_cmake_configure( OPTIONS ${FEATURE_OPTIONS} "-DCMAKE_PROJECT_INCLUDE=${CMAKE_CURRENT_LIST_DIR}/cmake-project-include.cmake" + -DCMAKE_REQUIRE_FIND_PACKAGE_cJSON=ON + -DUSE_VERSION_FROM_GIT_TAG=OFF + -DWITH_AAD=ON -DWITH_CCACHE=OFF -DWITH_CLANG_FORMAT=OFF -DWITH_MANPAGES=OFF -DWITH_OPENSSL=ON + -DWITH_SAMPLE=OFF + -DWITH_UNICODE_BUILTIN=ON + -DWITH_CLIENT=OFF "-DMSVC_RUNTIME=${VCPKG_CRT_LINKAGE}" "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" -DPKG_CONFIG_USE_CMAKE_PREFIX_PATH=ON - # Uncontrolled dependencies w.r.t. vcpkg ports + # Uncontrolled dependencies w.r.t. vcpkg ports, system libs, or tools # Can be overriden in custom triplet file + -DUSE_UNWIND=OFF -DWITH_ALSA=OFF -DWITH_CAIRO=OFF + -DWITH_CLIENT_SDL=OFF + -DWITH_CUPS=OFF + -DWITH_FUSE=OFF + -DWITH_KRB5=OFF + -DWITH_LIBSYSTEMD=OFF + -DWITH_OPUS=OFF + -DWITH_OSS=OFF + -DWITH_PCSC=OFF + -DWITH_PKCS11=OFF + -DWITH_PROXY_MODULES=OFF + -DWITH_PULSE=OFF + -DWITH_URIPARSER=OFF + -DVCPKG_TRACE_FIND_PACKAGE=ON MAYBE_UNUSED_VARIABLES MSVC_RUNTIME ) @@ -67,50 +81,51 @@ vcpkg_fixup_pkgconfig() vcpkg_list(SET tools) if(VCPKG_TARGET_IS_WINDOWS) - list(APPEND tools wfreerdp) if("server" IN_LIST FEATURES) - list(APPEND tools wfreerdp-server) + list(APPEND tools wfreerdp-server-cli) endif() elseif(VCPKG_TARGET_IS_OSX) - if("client-mac" IN_LIST FEATURES) - file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/client/Mac/cli/MacFreeRDP.app" - DESTINATION "${CURRENT_PACKAGES_DIR}/bin" - ) - list(APPEND tools MacFreeRDP) - endif() if("server" IN_LIST FEATURES) list(APPEND tools mfreerdp-server) endif() endif() -if("wayland" IN_LIST FEATURES) - list(APPEND tools wlfreerdp) +if("server" IN_LIST FEATURES) + list(APPEND tools freerdp-proxy freerdp-shadow-cli) + vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/FreeRDP-Proxy3 PACKAGE_NAME freerdp-Proxy3 DO_NOT_DELETE_PARENT_CONFIG_PATH) + vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/FreeRDP-Server3 PACKAGE_NAME freerdp-server3 DO_NOT_DELETE_PARENT_CONFIG_PATH) + vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/FreeRDP-Shadow3 PACKAGE_NAME freerdp-shadow3 DO_NOT_DELETE_PARENT_CONFIG_PATH) + vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/rdtk0 PACKAGE_NAME rdtk0 DO_NOT_DELETE_PARENT_CONFIG_PATH) endif() -if("x11" IN_LIST FEATURES) - list(APPEND tools xfreerdp) +if("wayland" IN_LIST FEATURES) + vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/uwac0 PACKAGE_NAME uwac0 DO_NOT_DELETE_PARENT_CONFIG_PATH) endif() if("winpr-tools" IN_LIST FEATURES) list(APPEND tools winpr-hash winpr-makecert) + vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/WinPR-tools3 PACKAGE_NAME winpr-tools3 DO_NOT_DELETE_PARENT_CONFIG_PATH) endif() -if("server" IN_LIST FEATURES) - list(APPEND tools freerdp-proxy freerdp-shadow-cli) - vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/FreeRDP-Server2 PACKAGE_NAME freerdp-server2 DO_NOT_DELETE_PARENT_CONFIG_PATH) - vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/FreeRDP-Shadow2 PACKAGE_NAME freerdp-shadow2 DO_NOT_DELETE_PARENT_CONFIG_PATH) -endif() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/FreeRDP-Client2 PACKAGE_NAME freerdp-client2 DO_NOT_DELETE_PARENT_CONFIG_PATH) -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/WinPR2 PACKAGE_NAME winpr2 DO_NOT_DELETE_PARENT_CONFIG_PATH) -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/FreeRDP2 PACKAGE_NAME freerdp) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/FreeRDP-Client3 PACKAGE_NAME freerdp-client3 DO_NOT_DELETE_PARENT_CONFIG_PATH) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/WinPR3 PACKAGE_NAME winpr3 DO_NOT_DELETE_PARENT_CONFIG_PATH) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/FreeRDP3 PACKAGE_NAME freerdp) if(tools) vcpkg_copy_tools(TOOL_NAMES ${tools} AUTO_CLEAN) endif() -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/freerdp/build-config.h" "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel" ".") -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/freerdp/build-config.h" "${CURRENT_PACKAGES_DIR}/" "") -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/freerdp/build-config.h" "${CURRENT_PACKAGES_DIR}" "") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/freerdp3/freerdp/build-config.h" "\"${CURRENT_PACKAGES_DIR}" "/* vcpkg redacted */ \"" IGNORE_UNCHANGED) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + # They build static with dllexport, so it must be used with dllexport. Proper fix needs invasive patching. + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/freerdp3/freerdp/api.h" "#ifdef FREERDP_EXPORTS" "#if 1") + if(WITH_SERVER) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/rdtk0/rdtk/api.h" "#ifdef RDTK_EXPORTS" "#if 1") + endif() +endif() +file(GLOB cmakefiles "${CURRENT_PACKAGES_DIR}/include/*/CMakeFiles") file(REMOVE_RECURSE + ${cmakefiles} + "${CURRENT_PACKAGES_DIR}/include/winpr3/config" "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share" ) -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/freerdp/pr-7060-jni-onload.patch b/ports/freerdp/pr-7060-jni-onload.patch deleted file mode 100644 index 00b4b62465c445..00000000000000 --- a/ports/freerdp/pr-7060-jni-onload.patch +++ /dev/null @@ -1,89 +0,0 @@ -diff --git a/client/Android/android_freerdp.c b/client/Android/android_freerdp.c -index 0fd987f446e..014c4d4db96 100644 ---- a/client/Android/android_freerdp.c -+++ b/client/Android/android_freerdp.c -@@ -1093,7 +1093,10 @@ jint JNI_OnLoad(JavaVM* vm, void* reserved) - (*env)->RegisterNatives(env, activityClass, methods, sizeof(methods) / sizeof(methods[0])); - /* create global reference for class */ - gJavaActivityClass = (*env)->NewGlobalRef(env, activityClass); -+ - g_JavaVm = vm; -+ winpr_set_java_vm((void*)vm); -+ - return init_callback_environment(vm, env); - } - -diff --git a/winpr/include/winpr/sysinfo.h b/winpr/include/winpr/sysinfo.h -index c14e999d970..7af615947bd 100644 ---- a/winpr/include/winpr/sysinfo.h -+++ b/winpr/include/winpr/sysinfo.h -@@ -344,6 +344,20 @@ extern "C" - #define PF_SSE_INSTRUCTIONS_AVAILABLE PF_XMMI_INSTRUCTIONS_AVAILABLE - #define PF_SSE2_INSTRUCTIONS_AVAILABLE PF_XMMI64_INSTRUCTIONS_AVAILABLE - -+#ifdef ANDROID -+ -+ /* -+ * Call winpr_set_java_vm() from JNI_OnLoad in a shared library: -+ * JNIEXPORT jint JNI_OnLoad(JavaVM* vm, void* reserved) -+ * and then call winpr_get_java_vm to obtain the JavaVM* handle. -+ * The functions use void* to avoid including jni.h in exported headers. -+ */ -+ -+ WINPR_API void winpr_set_java_vm(void* vm); -+ WINPR_API void* winpr_get_java_vm(); -+ -+#endif -+ - #ifdef __cplusplus - } - #endif -diff --git a/winpr/libwinpr/sysinfo/sysinfo.c b/winpr/libwinpr/sysinfo/sysinfo.c -index dd15bb374e2..a4d0ddf90cc 100644 ---- a/winpr/libwinpr/sysinfo/sysinfo.c -+++ b/winpr/libwinpr/sysinfo/sysinfo.c -@@ -988,3 +988,20 @@ BOOL IsProcessorFeaturePresentEx(DWORD ProcessorFeature) - #endif - return ret; - } -+ -+#ifdef ANDROID -+ -+#include -+static JavaVM* g_JavaVM = NULL; -+ -+void winpr_set_java_vm(void* vm) -+{ -+ g_JavaVM = (JavaVM*)vm; -+} -+ -+void* winpr_get_java_vm() -+{ -+ return (void*)g_JavaVM; -+} -+ -+#endif -diff --git a/winpr/libwinpr/timezone/timezone.c b/winpr/libwinpr/timezone/timezone.c -index b29ecab33dd..c42928d6738 100644 ---- a/winpr/libwinpr/timezone/timezone.c -+++ b/winpr/libwinpr/timezone/timezone.c -@@ -151,18 +151,12 @@ static char* winpr_get_timezone_from_link(void) - - #if defined(ANDROID) - #include --static JavaVM* jniVm = NULL; -- --JNIEXPORT jint JNI_OnLoad(JavaVM* vm, void* reserved) --{ -- jniVm = vm; -- return JNI_VERSION_1_6; --} - - static char* winpr_get_android_timezone_identifier(void) - { - char* tzid = NULL; - JNIEnv* jniEnv; -+ JavaVM* jniVm = (JavaVM*)winpr_get_java_vm(); - - /* Preferred: Try to get identifier from java TimeZone class */ - if (jniVm && ((*jniVm)->GetEnv(jniVm, (void**)&jniEnv, JNI_VERSION_1_6) == JNI_OK)) diff --git a/ports/freerdp/vcpkg.json b/ports/freerdp/vcpkg.json index 3e225b8a07b8cc..974c49696e0790 100644 --- a/ports/freerdp/vcpkg.json +++ b/ports/freerdp/vcpkg.json @@ -1,15 +1,12 @@ { "name": "freerdp", - "version": "2.11.2", + "version": "3.8.0", "description": "A free implementation of the Remote Desktop Protocol (RDP)", "homepage": "https://github.com/FreeRDP/FreeRDP", "license": "Apache-2.0", - "supports": "!uwp & !(arm & windows)", + "supports": "!uwp", "dependencies": [ - { - "name": "glib", - "platform": "!windows" - }, + "cjson", "openssl", { "name": "vcpkg-cmake", @@ -19,16 +16,9 @@ "name": "vcpkg-cmake-config", "host": true }, - { - "name": "zlib", - "platform": "!windows" - } + "zlib" ], "features": { - "client-mac": { - "description": "Build native mac client. Requires XCode.", - "supports": "osx" - }, "ffmpeg": { "description": "Enable image scaling, video and audio with ffmpeg", "supports": "!windows", @@ -46,7 +36,16 @@ }, "server": { "description": "Build server components", - "supports": "!android & !ios & !uwp" + "supports": "!android & !ios & !uwp", + "dependencies": [ + { + "name": "freerdp", + "default-features": false, + "features": [ + "winpr-tools" + ] + } + ] }, "urbdrc": { "description": "USB redirection channel support", @@ -56,7 +55,7 @@ }, "wayland": { "description": "Enable wayland support", - "supports": "!windows & !android & !ios & !osx & !openbsd", + "supports": "!android & !ios & !openbsd & !osx & !windows", "dependencies": [ "wayland" ] @@ -67,7 +66,7 @@ }, "x11": { "description": "Enable X11 support", - "supports": "!windows & !android & !ios", + "supports": "!android & !ios & !windows & !osx", "dependencies": [ "xcb" ] diff --git a/ports/freerdp/wfreerdp-server-cli.patch b/ports/freerdp/wfreerdp-server-cli.patch deleted file mode 100644 index d0eb36f1240b5d..00000000000000 --- a/ports/freerdp/wfreerdp-server-cli.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff --git a/server/Windows/cli/CMakeLists.txt b/server/Windows/cli/CMakeLists.txt -index fcfa811..e4d4360 100644 ---- a/server/Windows/cli/CMakeLists.txt -+++ b/server/Windows/cli/CMakeLists.txt -@@ -41,5 +41,5 @@ set (${MODULE_PREFIX}_SRCS ${${MODULE_PREFIX}_SRCS} ${CMAKE_CURRENT_BINARY_DIR}/ - add_executable(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) - --set_target_properties(${MODULE_NAME} PROPERTIES OUTPUT_NAME "wfreerdp-server") -+set_target_properties(${MODULE_NAME} PROPERTIES RUNTIME_OUTPUT_NAME wfreerdp-server PDB_NAME wfreerdp-server.exe) - - set(${MODULE_PREFIX}_LIBS wfreerdp-server) diff --git a/ports/freerdp/windows-linkage.patch b/ports/freerdp/windows-linkage.patch new file mode 100644 index 00000000000000..0d59c66ea70741 --- /dev/null +++ b/ports/freerdp/windows-linkage.patch @@ -0,0 +1,14 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index db346d3..6ad72d3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -439,6 +439,9 @@ if(WIN32) + endif() + + add_definitions(-DFREERDP_EXPORTS) ++if(NOT BUILD_SHARED_LIBS) ++ add_definitions(-DRDTK_EXPORTS) ++endif() + + # Mac OS X + if(APPLE) diff --git a/ports/freetype-gl/portfile.cmake b/ports/freetype-gl/portfile.cmake index 6632f01f6c2992..45e30cbe7ea3eb 100644 --- a/ports/freetype-gl/portfile.cmake +++ b/ports/freetype-gl/portfile.cmake @@ -17,6 +17,7 @@ vcpkg_from_github( vcpkg_check_features( OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES + "glew" freetype-gl_WITH_GLEW "glad" freetype-gl_WITH_GLAD ) diff --git a/ports/freetype-gl/vcpkg.json b/ports/freetype-gl/vcpkg.json index 80d4541f7be1dc..f3f70985a85f22 100644 --- a/ports/freetype-gl/vcpkg.json +++ b/ports/freetype-gl/vcpkg.json @@ -1,12 +1,11 @@ { "name": "freetype-gl", "version-date": "2022-01-17", - "port-version": 2, + "port-version": 3, "description": "OpenGL text using one vertex buffer, one texture and FreeType", "homepage": "https://github.com/rougier/freetype-gl", "dependencies": [ "freetype", - "glew", { "name": "vcpkg-cmake", "host": true @@ -16,12 +15,21 @@ "host": true } ], + "default-features": [ + "glew" + ], "features": { "glad": { "description": "Use the GLAD gl loader", "dependencies": [ "glad" ] + }, + "glew": { + "description": "Use the GLEW gl loader", + "dependencies": [ + "glew" + ] } } } diff --git a/ports/freetype/error-strings.patch b/ports/freetype/error-strings.patch deleted file mode 100644 index 422e7e696c95ca..00000000000000 --- a/ports/freetype/error-strings.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 5672a353682a68cb76a03179739bdec0a2f5cf0e Mon Sep 17 00:00:00 2001 -From: Sean Farrell -Date: Fri, 19 Aug 2022 15:32:19 +0200 -Subject: [PATCH] Adds config support for error strings. - ---- - CMakeLists.txt | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index feb4be39a..4eea860e8 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -215,6 +215,8 @@ cmake_dependent_option(FT_REQUIRE_BROTLI - "Require support of compressed WOFF2 fonts." OFF - "NOT FT_DISABLE_BROTLI" OFF) - -+option(FT_ENABLE_ERROR_STRINGS -+ "Enable support for meaningful error descriptions" OFF) - - # Disallow in-source builds - if ("${CMAKE_BINARY_DIR}" STREQUAL "${CMAKE_SOURCE_DIR}") -@@ -353,6 +355,11 @@ if (BROTLIDEC_FOUND) - "/\\* +(#define +FT_CONFIG_OPTION_USE_BROTLI) +\\*/" "\\1" - FTOPTION_H "${FTOPTION_H}") - endif () -+if (FT_ENABLE_ERROR_STRINGS) -+ string(REGEX REPLACE -+ "/\\* +(#define +FT_CONFIG_OPTION_ERROR_STRINGS) +\\*/" "\\1" -+ FTOPTION_H "${FTOPTION_H}") -+endif () - - set(FTOPTION_H_NAME "${PROJECT_BINARY_DIR}/include/freetype/config/ftoption.h") - if (EXISTS "${FTOPTION_H_NAME}") --- -2.33.0.windows.2 - diff --git a/ports/freetype/fix-exports.patch b/ports/freetype/fix-exports.patch index 39b1e1581206e6..7b12dc48772bb4 100644 --- a/ports/freetype/fix-exports.patch +++ b/ports/freetype/fix-exports.patch @@ -22,7 +22,7 @@ index cb1b9a0f2..edca5d579 100644 DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/freetype COMPONENT headers) + -+ if(ZLIB_FOUND) ++ if(ZLIB_FOUND AND BUILD_SHARED_LIBS) + file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/freetype-config.cmake" +[[include(CMakeFindDependencyMacro) +find_dependency(ZLIB) diff --git a/ports/freetype/portfile.cmake b/ports/freetype/portfile.cmake index 0639955c01368d..f2a6c0b6ca01d6 100644 --- a/ports/freetype/portfile.cmake +++ b/ports/freetype/portfile.cmake @@ -1,17 +1,22 @@ -set(FT_VERSION 2.12.1) +if("subpixel-rendering" IN_LIST FEATURES) + set(SUBPIXEL_RENDERING_PATCH "subpixel-rendering.patch") +endif() + +string(REPLACE "." "-" VERSION_HYPHEN "${VERSION}") -vcpkg_from_sourceforge( +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/ OUT_SOURCE_PATH SOURCE_PATH - REPO freetype/freetype2 - REF ${FT_VERSION} - FILENAME freetype-${FT_VERSION}.tar.xz - SHA512 6482de1748dc2cc01e033d21a3b492dadb1f039d13d9179685fdcf985e24d7f587cbca4c27ed8a7fdb7d9ad59612642ac5f4db062443154753295363f45c052f + REPO freetype/freetype + REF "VER-${VERSION_HYPHEN}" + SHA512 fccfaa15eb79a105981bf634df34ac9ddf1c53550ec0b334903a1b21f9f8bf5eb2b3f9476e554afa112a0fca58ec85ab212d674dfd853670efec876bacbe8a53 + HEAD_REF master PATCHES 0003-Fix-UWP.patch brotli-static.patch bzip2.patch fix-exports.patch - error-strings.patch + ${SUBPIXEL_RENDERING_PATCH} ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS @@ -74,6 +79,14 @@ vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +if(VCPKG_TARGET_IS_WINDOWS) + set(dll_linkage 1) + if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + set(dll_linkage 0) + endif() + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/freetype/config/public-macros.h" "#elif defined( DLL_IMPORT )" "#elif ${dll_linkage}") +endif() + configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" "${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-cmake-wrapper.cmake" @ONLY) file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/freetype/subpixel-rendering.patch b/ports/freetype/subpixel-rendering.patch new file mode 100644 index 00000000000000..980b782c02c9d4 --- /dev/null +++ b/ports/freetype/subpixel-rendering.patch @@ -0,0 +1,13 @@ +diff --git a/include/freetype/config/ftoption.h b/include/freetype/config/ftoption.h +index 1976b33af959..b3425e55feec 100644 +--- a/include/freetype/config/ftoption.h ++++ b/include/freetype/config/ftoption.h +@@ -123,7 +123,7 @@ FT_BEGIN_HEADER + * When this macro is not defined, FreeType offers alternative LCD + * rendering technology that produces excellent output. + */ +-/* #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING */ ++#define FT_CONFIG_OPTION_SUBPIXEL_RENDERING + + + /************************************************************************** diff --git a/ports/freetype/vcpkg-cmake-wrapper.cmake b/ports/freetype/vcpkg-cmake-wrapper.cmake index ee332c3c6f29f1..0a713d061dfe64 100644 --- a/ports/freetype/vcpkg-cmake-wrapper.cmake +++ b/ports/freetype/vcpkg-cmake-wrapper.cmake @@ -2,7 +2,38 @@ cmake_policy(PUSH) cmake_policy(SET CMP0012 NEW) cmake_policy(SET CMP0054 NEW) -_find_package(${ARGS}) +list(REMOVE_ITEM ARGS "NO_MODULE" "CONFIG" "MODULE") +_find_package(${ARGS} CONFIG) + +if(Freetype_FOUND) + include("${CMAKE_ROOT}/Modules/SelectLibraryConfigurations.cmake") + + get_target_property(_freetype_include_dirs freetype INTERFACE_INCLUDE_DIRECTORIES) + + if (CMAKE_SYSTEM_NAME STREQUAL "Windows" OR CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + get_target_property(_freetype_location_debug freetype IMPORTED_IMPLIB_DEBUG) + get_target_property(_freetype_location_release freetype IMPORTED_IMPLIB_RELEASE) + endif() + if(NOT _freetype_location_debug AND NOT _freetype_location_release) + get_target_property(_freetype_location_debug freetype IMPORTED_LOCATION_DEBUG) + get_target_property(_freetype_location_release freetype IMPORTED_LOCATION_RELEASE) + endif() + + set(FREETYPE_FOUND TRUE) + + set(FREETYPE_INCLUDE_DIRS "${_freetype_include_dirs}") + set(FREETYPE_INCLUDE_DIR_ft2build "${_freetype_include_dirs}") + set(FREETYPE_INCLUDE_DIR_freetype2 "${_freetype_include_dirs}") + set(FREETYPE_LIBRARY_DEBUG "${_freetype_location_debug}" CACHE INTERNAL "vcpkg") + set(FREETYPE_LIBRARY_RELEASE "${_freetype_location_release}" CACHE INTERNAL "vcpkg") + select_library_configurations(FREETYPE) + set(FREETYPE_LIBRARIES ${FREETYPE_LIBRARY}) + set(FREETYPE_VERSION_STRING "${Freetype_VERSION}") + + unset(_freetype_include_dirs) + unset(_freetype_location_debug) + unset(_freetype_location_release) +endif() if("@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static") if("@FT_REQUIRE_ZLIB@") diff --git a/ports/freetype/vcpkg.json b/ports/freetype/vcpkg.json index 13e069c0bb3466..7181e99080b57d 100644 --- a/ports/freetype/vcpkg.json +++ b/ports/freetype/vcpkg.json @@ -1,7 +1,6 @@ { "name": "freetype", - "version": "2.12.1", - "port-version": 4, + "version": "2.13.3", "description": "A library to render fonts.", "homepage": "https://www.freetype.org/", "license": "FTL OR GPL-2.0-or-later", @@ -43,6 +42,9 @@ "libpng" ] }, + "subpixel-rendering": { + "description": "Enables subpixel rendering." + }, "zlib": { "description": "Use zlib instead of internal library for DEFLATE", "dependencies": [ diff --git a/ports/fribidi/portfile.cmake b/ports/fribidi/portfile.cmake index 1fc220d3712822..a53ca143dcab52 100644 --- a/ports/fribidi/portfile.cmake +++ b/ports/fribidi/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO fribidi/fribidi - REF v1.0.12 - SHA512 a3a63e1dde1cffb097376df0b34522700cff600da61bdafd6f4f50db6937383b9f73a82081cb1a7f2e1946ba07fea13e2880a4250b1508850bffa500046a7fa5 + REF v${VERSION} + SHA512 13d7104f80e1b480d65a4c47fd694f5930222f3db843b8b6c1b6af58c43ee74b08635ce6166d005451498d060e549e4c666aa30c46d4df003d9ad63dba1d854a HEAD_REF master PATCHES meson-crosscompile.patch ) @@ -30,13 +30,11 @@ vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() # Define static macro -file(READ "${CURRENT_PACKAGES_DIR}/include/fribidi/fribidi-common.h" FRIBIDI_COMMON_H) if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - string(REPLACE "#ifndef FRIBIDI_LIB_STATIC" "#if 0" FRIBIDI_COMMON_H "${FRIBIDI_COMMON_H}") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/fribidi/fribidi-common.h" "# elif defined(_WIN32) && ! defined(FRIBIDI_LIB_STATIC)" "# elif defined(_WIN32) && 0") else() - string(REPLACE "#ifndef FRIBIDI_LIB_STATIC" "#if 1" FRIBIDI_COMMON_H "${FRIBIDI_COMMON_H}") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/fribidi/fribidi-common.h" "# elif defined(_WIN32) && ! defined(FRIBIDI_LIB_STATIC)" "# elif defined(_WIN32) && 1") endif() -file(WRITE "${CURRENT_PACKAGES_DIR}/include/fribidi/fribidi-common.h" "${FRIBIDI_COMMON_H}") if(VCPKG_CROSSCOMPILING) file( diff --git a/ports/fribidi/vcpkg.json b/ports/fribidi/vcpkg.json index 48cebd04e73285..2d8e02bdbe1ed2 100644 --- a/ports/fribidi/vcpkg.json +++ b/ports/fribidi/vcpkg.json @@ -1,8 +1,8 @@ { "name": "fribidi", - "version": "1.0.12", - "port-version": 1, + "version": "1.0.16", "description": "GNU FriBidi is an implementation of the Unicode Bidirectional Algorithm (bidi)", + "homepage": "https://www.gnu.org/software/fribidi", "license": "LGPL-2.1-or-later", "supports": "!uwp", "dependencies": [ diff --git a/ports/frozen/portfile.cmake b/ports/frozen/portfile.cmake index ab316e4263f2b5..d1e4d716c6d676 100644 --- a/ports/frozen/portfile.cmake +++ b/ports/frozen/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO serge-sans-paille/frozen - REF 1.1.1 - SHA512 e22561a4e634e388e11f95b3005bc711e543013d314f6aaeda34befb2c673aea2d71a717d8822bc8fa85bdc8409945ba2ad91a1bac4f8cb5303080de01a5f60e + REF "${VERSION}" + SHA512 644b29f60458fc5193a3fb16a347c190f9694d1bdbc75202aafe8d43eb72ce0433bbeaeb692f8ca485000d68b451ddc0236a1880ebbd64477f73198043d046b3 HEAD_REF master ) diff --git a/ports/frozen/vcpkg.json b/ports/frozen/vcpkg.json index e6671fc4bb4d23..51dcd56f229a4d 100644 --- a/ports/frozen/vcpkg.json +++ b/ports/frozen/vcpkg.json @@ -1,6 +1,6 @@ { "name": "frozen", - "version": "1.1.1", + "version": "1.2.0", "description": "Header-only library that provides 0 cost initialization for immutable containers and various algorithms. Frozen provides:immutable (a.k.a. frozen), constexpr-compatible versions of std::set, std::unordered_set, std::map and std::unordered_map and 0-cost initialization version of std::search for frozen needles using Boyer-Moore or Knuth-Morris-Pratt algorithms.", "homepage": "https://github.com/serge-sans-paille/frozen", "license": "Apache-2.0", diff --git a/ports/frugally-deep/portfile.cmake b/ports/frugally-deep/portfile.cmake index 8c2a81bbe6b61d..dc80977081a574 100644 --- a/ports/frugally-deep/portfile.cmake +++ b/ports/frugally-deep/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Dobiasd/frugally-deep - REF "v${VERSION}-p0" - SHA512 2b9a747420d20a380587ed787f6488c0cab2fadc72fdb25327a8afb95ad251d0fd332b3449b8bc1be8ca8a5eb9cccd4cce8ea92026422d7043f4a0484b734d27 + REF "v${VERSION}" + SHA512 d36063ecfe5cfc2a96e0b0db85270e81b714d5ad8103ce9eca3ee3c465c5911a398664e4f97184b3f5f5a5d55b27ba27f4aaa7facf544d66a57406c798227d05 HEAD_REF master ) diff --git a/ports/frugally-deep/vcpkg.json b/ports/frugally-deep/vcpkg.json index 82409a606631dd..0dc47d6f3b7811 100644 --- a/ports/frugally-deep/vcpkg.json +++ b/ports/frugally-deep/vcpkg.json @@ -1,12 +1,12 @@ { "name": "frugally-deep", - "version-semver": "0.15.24", + "version-semver": "0.16.0", "description": "Header-only library for using Keras models in C++.", "homepage": "https://github.com/Dobiasd/frugally-deep", "license": "MIT", "dependencies": [ "eigen3", - "fplus", + "functionalplus", "nlohmann-json", { "name": "vcpkg-cmake", diff --git a/ports/ftgl/01_disable_doxygen.patch b/ports/ftgl/01_disable_doxygen.patch deleted file mode 100644 index 5443554e7bf63d..00000000000000 --- a/ports/ftgl/01_disable_doxygen.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 303fcae..718ae88 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -35,15 +35,16 @@ ENDIF(BUILD_SHARED_LIBS) - - ADD_CUSTOM_TARGET(doc) - --FIND_PACKAGE(Doxygen) --IF(DOXYGEN_FOUND) -- ADD_CUSTOM_TARGET(doxygen -- ${DOXYGEN_EXECUTABLE} -- WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} -- COMMENT "Doxygen ...") -- ADD_DEPENDENCIES(doc doxygen) -- --ENDIF(DOXYGEN_FOUND) -+IF (WIN32) # doxygen only have windows package in vcpkg now. -+ FIND_PACKAGE(Doxygen) -+ IF(DOXYGEN_FOUND) -+ ADD_CUSTOM_TARGET(doxygen -+ ${DOXYGEN_EXECUTABLE} -+ WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} -+ COMMENT "Doxygen ...") -+ ADD_DEPENDENCIES(doc doxygen) -+ ENDIF(DOXYGEN_FOUND) -+ENDIF() - - SUBDIRS(src) - diff --git a/ports/ftgl/fix-cmake.diff b/ports/ftgl/fix-cmake.diff new file mode 100644 index 00000000000000..93093e9a5b6e8d --- /dev/null +++ b/ports/ftgl/fix-cmake.diff @@ -0,0 +1,12 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 693e49f..b0f26f6 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -26,7 +26,6 @@ SET(libftgl_la_SOURCES + FTGlyphContainer.h + FTInternals.h + FTLibrary.cpp +- FTLibrary.h + FTList.h + FTPoint.cpp + FTSize.cpp diff --git a/ports/ftgl/fix-gl-flags.diff b/ports/ftgl/fix-gl-flags.diff new file mode 100644 index 00000000000000..9cbcda04c09132 --- /dev/null +++ b/ports/ftgl/fix-gl-flags.diff @@ -0,0 +1,26 @@ +diff --git a/src/FTFont/FTBufferFont.cpp b/src/FTFont/FTBufferFont.cpp +index ce04cf5..b330a3b 100644 +--- a/src/FTFont/FTBufferFont.cpp ++++ b/src/FTFont/FTBufferFont.cpp +@@ -232,7 +232,7 @@ inline FTPoint FTBufferFontImpl::RenderI(const T* string, const int len, + bool inCache = false; + + // Protect blending functions, GL_TEXTURE_2D and optionally GL_BLEND +- glPushAttrib(GL_COLOR_BUFFER_BIT | GL_ENABLE_BIT | GL_TEXTURE_ENV_MODE); ++ glPushAttrib(GL_COLOR_BUFFER_BIT | GL_ENABLE_BIT | GL_TEXTURE_BIT); + + // Protect glPixelStorei() calls + glPushClientAttrib(GL_CLIENT_PIXEL_STORE_BIT); +diff --git a/src/FTFont/FTTextureFont.cpp b/src/FTFont/FTTextureFont.cpp +index 97e8768..a5145cf 100644 +--- a/src/FTFont/FTTextureFont.cpp ++++ b/src/FTFont/FTTextureFont.cpp +@@ -241,7 +241,7 @@ inline FTPoint FTTextureFontImpl::RenderI(const T* string, const int len, + int renderMode) + { + // Protect GL_TEXTURE_2D and optionally GL_BLEND +- glPushAttrib(GL_ENABLE_BIT | GL_COLOR_BUFFER_BIT | GL_TEXTURE_ENV_MODE); ++ glPushAttrib(GL_ENABLE_BIT | GL_COLOR_BUFFER_BIT | GL_TEXTURE_BIT); + + if(FTLibrary::Instance().GetLegacyOpenGLStateSet()) + { diff --git a/ports/ftgl/freetype-usage.diff b/ports/ftgl/freetype-usage.diff new file mode 100644 index 00000000000000..4e3658d27ec126 --- /dev/null +++ b/ports/ftgl/freetype-usage.diff @@ -0,0 +1,56 @@ +--- a/src/FTVectoriser.h ++++ b/src/FTVectoriser.h +@@ -296,7 +296,7 @@ + /** + * The number of contours reported by Freetype + */ +- short ftContourCount; ++ unsigned short ftContourCount; + + /** + * A flag indicating the tesselation rule for the glyph +--- a/src/FTVectoriser.cpp ++++ b/src/FTVectoriser.cpp +@@ -159,16 +159,16 @@ + + void FTVectoriser::ProcessContours() + { +- short contourLength = 0; +- short startIndex = 0; +- short endIndex = 0; ++ unsigned short contourLength = 0; ++ unsigned short startIndex = 0; ++ unsigned short endIndex = 0; + + contourList = new FTContour*[ftContourCount]; + + for(int i = 0; i < ftContourCount; ++i) + { + FT_Vector* pointList = &outline.points[startIndex]; +- char* tagList = &outline.tags[startIndex]; ++ unsigned char* tagList = &outline.tags[startIndex]; + + endIndex = outline.contours[i]; + contourLength = (endIndex - startIndex) + 1; +--- a/src/FTContour.h ++++ b/src/FTContour.h +@@ -52,7 +52,7 @@ + * @param pointTags + * @param numberOfPoints + */ +- FTContour(FT_Vector* contour, char* pointTags, unsigned int numberOfPoints); ++ FTContour(FT_Vector* contour, unsigned char* pointTags, unsigned int numberOfPoints); + + /** + * Destructor +--- a/src/FTContour.cpp ++++ b/src/FTContour.cpp +@@ -174,7 +174,7 @@ + } + + +-FTContour::FTContour(FT_Vector* contour, char* tags, unsigned int n) ++FTContour::FTContour(FT_Vector* contour, unsigned char* tags, unsigned int n) + { + FTPoint prev, cur(contour[(n - 1) % n]), next(contour[0]); + double olddir, dir = atan2((next - cur).Y(), (next - cur).X()); diff --git a/ports/ftgl/install-pkgconfig.diff b/ports/ftgl/install-pkgconfig.diff new file mode 100644 index 00000000000000..70440992bfa5f6 --- /dev/null +++ b/ports/ftgl/install-pkgconfig.diff @@ -0,0 +1,30 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 303fcae..cdcf2c9 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -74,3 +74,12 @@ install(EXPORT FTGL-targets DESTINATION "${cmakedir}") + install( + FILES "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/FTGLConfig.cmake" + DESTINATION "${cmakedir}") ++ ++SET(PKGCONFIG_INSTALL_PREFIX "lib${LIB_SUFFIX}/pkgconfig/" CACHE STRING "Base directory for pkgconfig files") ++CONFIGURE_FILE( ++ ${CMAKE_CURRENT_SOURCE_DIR}/ftgl.pc.cmake ++ ${CMAKE_CURRENT_BINARY_DIR}/ftgl.pc ++ @ONLY) ++INSTALL( ++ FILES ${CMAKE_CURRENT_BINARY_DIR}/ftgl.pc ++ DESTINATION ${PKGCONFIG_INSTALL_PREFIX}) +diff --git a/ftgl.pc.cmake b/ftgl.pc.cmake +new file mode 100644 +index 0000000..d242667 +--- /dev/null ++++ b/ftgl.pc.cmake +@@ -0,0 +1,6 @@ ++Name: ftgl ++Description: OpenGL frontend to Freetype 2 ++Requires.private: freetype2 ++Version: @VERSION_SERIES@.@VERSION_MAJOR@.@VERSION_MINOR@ ++Libs: -L@CMAKE_INSTALL_PREFIX@/lib -lftgl ++Cflags: -I@CMAKE_INSTALL_PREFIX@/include +\ No newline at end of file diff --git a/ports/ftgl/portfile.cmake b/ports/ftgl/portfile.cmake index 56553a8f62b7bb..cd6a2c17b4bf8c 100644 --- a/ports/ftgl/portfile.cmake +++ b/ports/ftgl/portfile.cmake @@ -1,21 +1,22 @@ -if (VCPKG_TARGET_IS_WINDOWS) - # doxygen only have windows package in vcpkg now. - vcpkg_find_acquire_program(DOXYGEN) -endif() - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO frankheckenbach/ftgl - REF 36e8cd683492456def3b6a54c6dcb56cd6ee4bb4 #commmit-data 2022-05-18 - SHA512 b357cf18890664d437f41d7bf18f39c894743e76e2e0b2296254b27e5675866956473e7b78139d0e6cdd7e8310bf8d2943ba0ddeea494ee67857d6083c490dc2 + REF v${VERSION} + SHA512 5a0d05dbb32952e5aa81d2537d604192ca19710cd57289ae056acc5e3ae6d403d7f0ffc8cf6c1aada6c3c23a8df4a8d0eabb81433036ade810bca1894fdfde54 HEAD_REF master PATCHES - 01_disable_doxygen.patch + fix-cmake.diff # https://github.com/frankheckenbach/ftgl/commit/835f2ba7911a6c15a1a314d5e3267fa089b5a319 + fix-gl-flags.diff # https://github.com/frankheckenbach/ftgl/commit/778b8f21ba0b71289aef37e3422d008456445971 + install-pkgconfig.diff # https://github.com/frankheckenbach/ftgl/commit/8763fa4e413e015e46376697fb8ab59ed31c2ff5 02_enable-cpp11-std.patch + freetype-usage.diff ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DCMAKE_DISABLE_FIND_PACKAGE_CxxTest=ON + -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=ON ) vcpkg_cmake_install() @@ -25,8 +26,16 @@ else () vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake) endif() +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_replace_string( + "${CURRENT_PACKAGES_DIR}/include/FTGL/ftgl.h" + "ifdef FTGL_LIBRARY_STATIC" + "if 1//ifdef FTGL_LIBRARY_STATIC" + ) +endif() + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") vcpkg_fixup_pkgconfig() -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/ftgl/vcpkg.json b/ports/ftgl/vcpkg.json index aa1c67265f92cf..0ec81373c33291 100644 --- a/ports/ftgl/vcpkg.json +++ b/ports/ftgl/vcpkg.json @@ -1,7 +1,7 @@ { "name": "ftgl", - "version-date": "2022-05-18", - "port-version": 1, + "version": "2.4.0", + "port-version": 5, "description": [ "FTGL is a free open source library to enable developers to use arbitrary fonts in their OpenGL (www.opengl.org) applications.", "Unlike other OpenGL font libraries FTGL uses standard font file formats so doesn't need a preprocessing step to convert the high quality font data into a lesser quality, proprietary format.", @@ -10,7 +10,10 @@ "homepage": "https://github.com/frankheckenbach/ftgl", "license": "MIT", "dependencies": [ - "freetype", + { + "name": "freetype", + "default-features": false + }, "opengl", { "name": "vcpkg-cmake", diff --git a/ports/function2/portfile.cmake b/ports/function2/portfile.cmake index 30d568d9c32ea4..b0dbb40612c293 100644 --- a/ports/function2/portfile.cmake +++ b/ports/function2/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Naios/function2 REF "${VERSION}" - SHA512 8e1a6f40f9bba647ec475845957287cc97aee67287ba1bd13dac453d25c76755bcc032e0439a953911cc2580aef5eefd77022b17ce6038eac90bc638655bb805 + SHA512 a70cc4d5cdcd9a108c930ef6f18662f649405b2c6d0c0e25526af555392503f467bfa7755d0f00651ad61c339102315cc2a1c9354326433bfaa3f8110517a79c HEAD_REF master PATCHES disable-testing.patch diff --git a/ports/function2/vcpkg.json b/ports/function2/vcpkg.json index 67262599a64200..e41ff0c0cdfa5f 100644 --- a/ports/function2/vcpkg.json +++ b/ports/function2/vcpkg.json @@ -1,6 +1,6 @@ { "name": "function2", - "version-semver": "4.2.3", + "version-semver": "4.2.4", "description": "Improved drop-in replacement to std::function", "homepage": "https://github.com/Naios/function2", "license": "BSL-1.0", diff --git a/ports/functionalplus/portfile.cmake b/ports/functionalplus/portfile.cmake new file mode 100644 index 00000000000000..139887f1bd632f --- /dev/null +++ b/ports/functionalplus/portfile.cmake @@ -0,0 +1,19 @@ +set(VCPKG_BUILD_TYPE release) # header-only + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Dobiasd/FunctionalPlus + REF "v${VERSION}" + SHA512 61041dfc5af9c11ebed50016d258289f52c73717f57db9781b7dcc5c203959aff1a857e827bf426767e9683e1c99c10a7e33baf72ddcc554b7984e5b051cd167 + HEAD_REF master +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DFunctionalPlus_INSTALL_CMAKEDIR=share/functionalplus +) + +vcpkg_cmake_install() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/functionalplus/vcpkg.json b/ports/functionalplus/vcpkg.json new file mode 100644 index 00000000000000..1aed26a4eaa9cb --- /dev/null +++ b/ports/functionalplus/vcpkg.json @@ -0,0 +1,13 @@ +{ + "name": "functionalplus", + "version": "0.2.25", + "description": "This port is the new fplus port, the old fplus has been removed. Functional Programming Library for C++. Write concise and readable C++ code", + "homepage": "https://github.com/Dobiasd/FunctionalPlus", + "license": "BSL-1.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/ports/g2o/0003-dependency-spdlog.diff b/ports/g2o/0003-dependency-spdlog.diff new file mode 100644 index 00000000000000..b98e071bf9836a --- /dev/null +++ b/ports/g2o/0003-dependency-spdlog.diff @@ -0,0 +1,14 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c2b0a09b..2645ff66 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -177,7 +177,8 @@ find_package(QGLViewer) + option(G2O_USE_LOGGING "Try to use spdlog for logging" ON) + set(G2O_HAVE_LOGGING 0) + if (G2O_USE_LOGGING) +- find_package(spdlog 1.6 QUIET) ++ find_package(spdlog 1.6 REQUIRED CONFIG) ++ set(G2O_HAVE_LOGGING 1) + if (TARGET spdlog::spdlog OR TARGET spdlog::spdlog_header_only) + set(G2O_HAVE_LOGGING 1) + message(STATUS "Compiling with logging support") diff --git a/ports/g2o/fix-absolute.patch b/ports/g2o/fix-absolute.patch new file mode 100644 index 00000000000000..3faabf8bce8a58 --- /dev/null +++ b/ports/g2o/fix-absolute.patch @@ -0,0 +1,22 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c2b0a09..8c62d5a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -492,7 +492,8 @@ set(G2O_HAVE_CHOLMOD ${CHOLMOD_FOUND}) + set(G2O_HAVE_CSPARSE ${G2O_USE_CSPARSE}) + set(G2O_SHARED_LIBS ${BUILD_SHARED_LIBS}) + set(G2O_LGPL_SHARED_LIBS ${BUILD_LGPL_SHARED_LIBS}) +-set(G2O_CXX_COMPILER "${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER}") ++cmake_path(GET CMAKE_CXX_COMPILER FILENAME cxx_compiler) ++set(G2O_CXX_COMPILER "${CMAKE_CXX_COMPILER_ID} ${cxx_compiler}") + + # Generate cmake configuration scripts + set(G2O_GENERATED_DIR "${CMAKE_CURRENT_BINARY_DIR}/generated") +@@ -501,7 +502,6 @@ set(G2O_PROJECT_CONFIG "${G2O_GENERATED_DIR}/${PROJECT_NAME}Config.cmake") + set(G2O_TARGETS_EXPORT_NAME "${PROJECT_NAME}Targets") + set(G2O_CONFIG_INSTALL_DIR "lib/cmake/${PROJECT_NAME}") + set(G2O_NAMESPACE "${PROJECT_NAME}::") +-set(G2O_SRC_DIR "${PROJECT_SOURCE_DIR}") + + include(CMakePackageConfigHelpers) + WRITE_BASIC_PACKAGE_VERSION_FILE( diff --git a/ports/g2o/portfile.cmake b/ports/g2o/portfile.cmake index d5efce4c30c44b..c6ef1910448ce5 100644 --- a/ports/g2o/portfile.cmake +++ b/ports/g2o/portfile.cmake @@ -1,16 +1,27 @@ +string(REPLACE "-" "" GIT_TAG "${VERSION}_git") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO RainerKuemmerle/g2o - REF fcba4eaca6f20d9a5792404cc8ef303aeb8ba5d2 - SHA512 41e5a6d40db10d66182653d56f937f29264bf4f9412dfa651be949caeb055741c9d9ba75a122180892aafe7d45b334d50470284121148c0561e1d49f6ba5e20a + REF eec325a1da1273e87bc97887d49e70570f28570c + SHA512 22d3d546fbc92bff4767b66dcc9a001b5ed0cac0787874dda8712140aa03004b0312f702ea7d61c5fdcfa0bb00654c873f8b99899cd9e2b89667d8d99667d5cd HEAD_REF master + PATCHES + fix-absolute.patch + 0003-dependency-spdlog.diff ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_LGPL_SHARED_LIBS) +file(REMOVE "${SOURCE_PATH}/cmake_modules/FindBLAS.cmake") + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + spdlog G2O_USE_LOGGING +) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS + ${FEATURE_OPTIONS} -DBUILD_LGPL_SHARED_LIBS=${BUILD_LGPL_SHARED_LIBS} -DG2O_BUILD_EXAMPLES=OFF -DG2O_BUILD_APPS=OFF diff --git a/ports/g2o/vcpkg.json b/ports/g2o/vcpkg.json index 9afc73a9d127df..c54ff90755dd66 100644 --- a/ports/g2o/vcpkg.json +++ b/ports/g2o/vcpkg.json @@ -1,7 +1,7 @@ { "name": "g2o", - "version-date": "2020-02-07", - "port-version": 4, + "version-date": "2024-12-14", + "port-version": 2, "description": "g2o: A General Framework for Graph Optimization", "homepage": "https://openslam.org/g2o.html", "dependencies": [ @@ -17,5 +17,13 @@ "name": "vcpkg-cmake-config", "host": true } - ] + ], + "features": { + "spdlog": { + "description": "Use spdlog for logging", + "dependencies": [ + "spdlog" + ] + } + } } diff --git a/ports/g3log/portfile.cmake b/ports/g3log/portfile.cmake index 0456fd485c4f93..1bdfc7f3a11bfc 100644 --- a/ports/g3log/portfile.cmake +++ b/ports/g3log/portfile.cmake @@ -3,7 +3,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KjellKod/g3log REF "${VERSION}" - SHA512 cf88bd604a82dd4cd2d2677bbda6f495f4357157d693125cd0df45f84b1976fc6b9dba9eddb5e9ae105e4fc15665ae37c86e9c02aba93d4bb7ba668c88bfddb9 + SHA512 f48c5bb30d734fc218a5bfb19a406101c89deaee4a2f76b21c7105215a29f558efc2759ee1c1664f62cb37e2d8ae0666f99fdce9b863221e4a9efc9814cdf30c HEAD_REF master ) diff --git a/ports/g3log/vcpkg.json b/ports/g3log/vcpkg.json index 20b7610f60756f..9309227dfece86 100644 --- a/ports/g3log/vcpkg.json +++ b/ports/g3log/vcpkg.json @@ -1,7 +1,6 @@ { "name": "g3log", - "version": "2.3", - "port-version": 1, + "version": "2.4", "description": "Asynchronous logger with Dynamic Sinks", "homepage": "https://github.com/KjellKod/g3log", "license": "Unlicense", diff --git a/ports/gameinput/gameinput-config.cmake.in b/ports/gameinput/gameinput-config.cmake.in new file mode 100644 index 00000000000000..96a0a9cd134fc3 --- /dev/null +++ b/ports/gameinput/gameinput-config.cmake.in @@ -0,0 +1,12 @@ +get_filename_component(_gameinput_root "${CMAKE_CURRENT_LIST_DIR}" PATH) +get_filename_component(_gameinput_root "${_gameinput_root}" PATH) + +set(_gameinput_root_lib "${_gameinput_root}/lib/gameinput.lib") + +add_library(Microsoft::GameInput INTERFACE IMPORTED) +set_target_properties(Microsoft::GameInput PROPERTIES + INTERFACE_LINK_LIBRARIES "${_gameinput_root_lib}" + INTERFACE_INCLUDE_DIRECTORIES "${_gameinput_root}/include") + +unset(_gameinput_root_lib) +unset(_gameinput_root) diff --git a/ports/gameinput/portfile.cmake b/ports/gameinput/portfile.cmake new file mode 100644 index 00000000000000..2d69ead3841044 --- /dev/null +++ b/ports/gameinput/portfile.cmake @@ -0,0 +1,69 @@ +if(VCPKG_TARGET_IS_XBOX) + + cmake_path(SET GRDKLatest "$ENV{GRDKLatest}") + cmake_path(SET GXDKLatest "$ENV{GXDKLatest}") + + find_file(GAMEINPUT_H + NAMES GameInput.h + PATHS "${GRDKLatest}/gameKit/Include" + "${GXDKLatest}/gameKit/Include" + NO_DEFAULT_PATH + ) + + find_library(GAMEINPUT_LIB + NAMES GameInput.lib + PATHS "${GRDKLatest}/gameKit/Lib/amd64" + "${GXDKLatest}/gameKit/Lib/amd64" + NO_DEFAULT_PATH + ) + + if(NOT (GAMEINPUT_H AND GAMEINPUT_LIB)) + message(FATAL_ERROR "Ensure you have installed the Microsoft GDK with Xbox Extensions installed. See https://aka.ms/gdkx.") + endif() + + # Output user-friendly status message for installed edition. + if(${GXDKLatest} MATCHES ".*/([0-9][0-9])([0-9][0-9])([0-9][0-9])/.*") + set(_months "null" "January" "February" "March" "April" "May" "June" "July" "August" "September" "October" "November" "December") + list(GET _months ${CMAKE_MATCH_2} month) + set(update "") + if(${CMAKE_MATCH_3} GREATER 0) + set(update " Update ${CMAKE_MATCH_3}") + endif() + message(STATUS "Found the Microsoft GDK with Xbox Extensions (${month} 20${CMAKE_MATCH_1}${update})") + endif() + + file(INSTALL ${GAMEINPUT_H} DESTINATION "${CURRENT_PACKAGES_DIR}/include") + file(INSTALL ${GAMEINPUT_LIB} DESTINATION "${CURRENT_PACKAGES_DIR}/lib") + file(INSTALL ${GAMEINPUT_LIB} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") + + set(VCPKG_POLICY_SKIP_COPYRIGHT_CHECK enabled) + +else() + + vcpkg_download_distfile(ARCHIVE + URLS "https://www.nuget.org/api/v2/package/Microsoft.GameInput/${VERSION}" + FILENAME "gameinput.${VERSION}.zip" + SHA512 4ad0e8a2ff14e498632557c64cdcd967c6b166b405b2c60427578a5f8b32b925184a1c74bce95a7a73a129e61edddbec030c4abe4ada287a2ce9ae50178cdcea + ) + + vcpkg_extract_source_archive( + PACKAGE_PATH + ARCHIVE ${ARCHIVE} + NO_REMOVE_ONE_LEVEL + ) + + file(INSTALL "${PACKAGE_PATH}/native/include/gameinput.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include") + file(INSTALL "${PACKAGE_PATH}/native/lib/${VCPKG_TARGET_ARCHITECTURE}/gameinput.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") + file(INSTALL "${PACKAGE_PATH}/native/lib/${VCPKG_TARGET_ARCHITECTURE}/gameinput.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") + + file(INSTALL "${PACKAGE_PATH}/redist/GameInputRedist.msi" DESTINATION "${CURRENT_PACKAGES_DIR}/tools") + + vcpkg_install_copyright(FILE_LIST "${PACKAGE_PATH}/LICENSE.txt") + +endif() + +configure_file("${CMAKE_CURRENT_LIST_DIR}/gameinput-config.cmake.in" + "${CURRENT_PACKAGES_DIR}/share/${PORT}/${PORT}-config.cmake" + COPYONLY) + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/gameinput/usage b/ports/gameinput/usage new file mode 100644 index 00000000000000..0ce34f4b4b18f9 --- /dev/null +++ b/ports/gameinput/usage @@ -0,0 +1,6 @@ +The GameInput package provides CMake targets: + + find_package(gameinput CONFIG REQUIRED) + target_link_libraries(main PRIVATE Microsoft::GameInput) + +Note that the GameInputRedist.msi must be installed on the target system for Windows. diff --git a/ports/gameinput/vcpkg.json b/ports/gameinput/vcpkg.json new file mode 100644 index 00000000000000..c062127a37a334 --- /dev/null +++ b/ports/gameinput/vcpkg.json @@ -0,0 +1,8 @@ +{ + "name": "gameinput", + "version": "0.2303.22621.3038", + "description": "GameInput", + "homepage": "https://aka.ms/gameinput", + "license": null, + "supports": "windows & x64 & !uwp" +} diff --git a/ports/gapp/portfile.cmake b/ports/gapp/portfile.cmake new file mode 100644 index 00000000000000..eae57505e1d1fe --- /dev/null +++ b/ports/gapp/portfile.cmake @@ -0,0 +1,29 @@ +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO KRM7/gapp + REF "v${VERSION}" + SHA512 463d36c3c41d14a9615dc48b43aebfccdf28177db766941607c2bdb2fed9ae5e876ae7b0bca541809503b35e9ce250a5d3b7246342c035f4a079d50539589ac2 + HEAD_REF master +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DGAPP_BUILD_TESTS=OFF + -DGAPP_USE_LTO=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/gapp) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/doc/gapp/api") + +configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" COPYONLY) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/gapp/usage b/ports/gapp/usage new file mode 100644 index 00000000000000..bcfbbdff6f35cf --- /dev/null +++ b/ports/gapp/usage @@ -0,0 +1,4 @@ +gapp provides CMake targets: + + find_package(gapp CONFIG REQUIRED) + target_link_libraries(main PRIVATE gapp::gapp) diff --git a/ports/gapp/vcpkg.json b/ports/gapp/vcpkg.json new file mode 100644 index 00000000000000..178b75c8aaa307 --- /dev/null +++ b/ports/gapp/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "gapp", + "version": "0.2.0", + "description": "A genetic algorithms library in C++ for single- and multi-objective optimization.", + "homepage": "https://github.com/KRM7/gapp", + "license": "MIT", + "supports": "(windows | linux) & !arm", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/gaussianlib/portfile.cmake b/ports/gaussianlib/portfile.cmake index f8fdad1ff75629..43627c690ec8b5 100644 --- a/ports/gaussianlib/portfile.cmake +++ b/ports/gaussianlib/portfile.cmake @@ -3,12 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO LukasBanana/GaussianLib - REF 9b4a163a9a97c900b0febd93e22dc1be3faf6e20 - SHA512 f16c3cd699e30d3fbd3ef6e80f64716d72383a1f2dc073325f785b63c2ba6edc62e2a7d360eba6a92a42bf4a2ad32accd4ce3e249ee510ff5133745b897a4f55 + REF da580773dc65eefb4369894587864384e5e0dd7e # 2024-11-03 + SHA512 4092c9d69c15e4aca08bde140dde2e7fa919dad4cb4f9138871efd9d23cd3d672201bc65608b8a379186e5d64b14e10852323a4a243c5ccd9911b7b9589cd927 HEAD_REF master ) -file(COPY ${SOURCE_PATH}/include/Gauss DESTINATION ${CURRENT_PACKAGES_DIR}/include) + +file(COPY "${SOURCE_PATH}/include/Gauss" DESTINATION "${CURRENT_PACKAGES_DIR}/include") # Handle copyright -configure_file(${SOURCE_PATH}/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/gaussianlib/vcpkg.json b/ports/gaussianlib/vcpkg.json index a117097421958a..10bbc3230f0dc2 100644 --- a/ports/gaussianlib/vcpkg.json +++ b/ports/gaussianlib/vcpkg.json @@ -1,6 +1,6 @@ { "name": "gaussianlib", - "version-date": "2023-02-17", + "version-date": "2024-11-03", "description": "Basic linear algebra C++ library for 2D and 3D applications", "homepage": "https://github.com/LukasBanana/GaussianLib" } diff --git a/ports/gazebo/0001-Fix-deps.patch b/ports/gazebo/0001-Fix-deps.patch index a933d6884f9b04..d06cf32d5a6da4 100644 --- a/ports/gazebo/0001-Fix-deps.patch +++ b/ports/gazebo/0001-Fix-deps.patch @@ -1,26 +1,145 @@ diff --git a/cmake/SearchForStuff.cmake b/cmake/SearchForStuff.cmake -index 4085b5aaeb..f89ac88333 100644 +index 732cbb4..d9d4c0c 100644 --- a/cmake/SearchForStuff.cmake +++ b/cmake/SearchForStuff.cmake -@@ -179,7 +179,7 @@ if (PKG_CONFIG_FOUND) +@@ -3,11 +3,9 @@ include (CheckCXXSourceCompiles) + + include (${gazebo_cmake_dir}/FindOS.cmake) + find_package(PkgConfig) +-include (${gazebo_cmake_dir}/FindFreeimage.cmake) +- +-execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --modversion protobuf +- OUTPUT_VARIABLE PROTOBUF_VERSION +- RESULT_VARIABLE protobuf_modversion_failed) ++find_package(freeimage CONFIG REQUIRED) ++set(freeimage_LIBRARIES freeimage::FreeImage) ++get_target_property(freeimage_INCLUDE_DIRS freeimage::FreeImage INTERFACE_INCLUDE_DIRECTORIES) + + ######################################## + # 1. can not use GAZEBO_BUILD_TYPE_PROFILE is defined after include this module +@@ -25,6 +23,8 @@ if (CMAKE_BUILD_TYPE) + endif() + + ######################################## ++find_package(Protobuf CONFIG REQUIRED) ++ + if (PROTOBUF_VERSION LESS 2.3.0) + BUILD_ERROR("Incorrect version: Gazebo requires protobuf version 2.3.0 or greater") + endif() +@@ -35,6 +35,7 @@ endif() + # Protobuf >= 22 requires to link abseil, so we are constrained to use + # find_package(Protobuf) and link to protobuf::libprotobuf, + # see https://github.com/conda-forge/conda-forge-pinning-feedstock/issues/4075#issuecomment-1569242816 ++ + if (DEFINED PROTOBUF_VERSION AND PROTOBUF_VERSION GREATER_EQUAL 22.0) + set(GZ_PROTOBUF_USE_CMAKE_CONFIG_DEFAULT ON) + else() +@@ -62,7 +63,6 @@ if(NOT GZ_PROTOBUF_USE_CMAKE_CONFIG) + set (GZ_PROTOBUF_PROTOC_LIBRARY ${PROTOBUF_PROTOC_LIBRARY}) + endif() + else() +- find_package(Protobuf CONFIG REQUIRED) + set (GZ_PROTOBUF_LIBRARY protobuf::libprotobuf) + set (GZ_PROTOBUF_PROTOC_LIBRARY protobuf::libprotoc) + if(NOT DEFINED PROTOBUF_PROTOC_EXECUTABLE) +@@ -203,7 +203,7 @@ if (PKG_CONFIG_FOUND) # (needed, at least, for MacOS) # Use system installation on UNIX and Apple, and internal copy on Windows - if (UNIX OR APPLE) + if (true) - message (STATUS "Using system tinyxml.") - set (USE_EXTERNAL_TINYXML True) + set (USE_EXTERNAL_TINYXML_DEFAULT_VALUE ON) elseif(WIN32) -@@ -225,7 +225,7 @@ if (PKG_CONFIG_FOUND) + set (USE_EXTERNAL_TINYXML_DEFAULT_VALUE OFF) +@@ -252,7 +252,7 @@ if (PKG_CONFIG_FOUND) # (needed, at least, for MacOS) # Use system installation on UNIX and Apple, and internal copy on Windows - if (UNIX OR APPLE) + if (true) - message (STATUS "Using system tinyxml2.") - set (USE_EXTERNAL_TINYXML2 True) + set (USE_EXTERNAL_TINYXML2_DEFAULT_VALUE ON) elseif(WIN32) -@@ -513,7 +513,7 @@ if (PKG_CONFIG_FOUND) + set (USE_EXTERNAL_TINYXML2_DEFAULT_VALUE OFF) +@@ -331,8 +331,7 @@ if (PKG_CONFIG_FOUND) + + ################################################# + # Find TBB +- pkg_check_modules(TBB tbb) +- set (TBB_PKG_CONFIG "tbb") ++ find_package(TBB CONFIG REQUIRED) + if (NOT TBB_FOUND) + message(STATUS "TBB not found, attempting to detect manually") + set (TBB_PKG_CONFIG "") +@@ -365,23 +364,20 @@ if (PKG_CONFIG_FOUND) + ################################################# + # Find OGRE + +- pkg_check_modules(OGRE-RTShaderSystem +- OGRE-RTShaderSystem>=${MIN_OGRE_VERSION}) ++ find_package(OGRE CONFIG REQUIRED) + +- if (OGRE-RTShaderSystem_FOUND) +- set(ogre_ldflags ${OGRE-RTShaderSystem_LDFLAGS}) +- set(ogre_include_dirs ${OGRE-RTShaderSystem_INCLUDE_DIRS}) +- set(ogre_libraries ${OGRE-RTShaderSystem_LIBRARIES}) +- set(ogre_library_dirs ${OGRE-RTShaderSystem_LIBRARY_DIRS}) +- set(ogre_cflags ${OGRE-RTShaderSystem_CFLAGS}) ++ if (OGRE_RTShaderSystem_FOUND) ++ set(ogre_ldflags ${OGRE_RTShaderSystem_LDFLAGS}) ++ set(ogre_include_dirs ${OGRE_RTShaderSystem_INCLUDE_DIRS}) ++ set(ogre_libraries ${OGRE_RTShaderSystem_LIBRARIES}) ++ set(ogre_library_dirs ${OGRE_RTShaderSystem_LIBRARY_DIRS}) ++ set(ogre_cflags ${OGRE_RTShaderSystem_CFLAGS}) + + set (INCLUDE_RTSHADER ON CACHE BOOL "Enable GPU shaders") + else () + set (INCLUDE_RTSHADER OFF CACHE BOOL "Enable GPU shaders") + endif () + +- pkg_check_modules(OGRE OGRE>=${MIN_OGRE_VERSION}) +- + if (PKG_CONFIG_EXECUTABLE AND OGRE_FOUND AND NOT DEFINED OGRE_VERSION) + execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --modversion OGRE + OUTPUT_VARIABLE OGRE_VERSION) +@@ -451,25 +447,22 @@ if (PKG_CONFIG_FOUND) + set(ogre_cflags ${ogre_cflags} ${OGRE_CFLAGS}) + endif () + +- pkg_check_modules(OGRE-Terrain OGRE-Terrain) +- if (OGRE-Terrain_FOUND) +- set(ogre_ldflags ${ogre_ldflags} ${OGRE-Terrain_LDFLAGS}) +- set(ogre_include_dirs ${ogre_include_dirs} ${OGRE-Terrain_INCLUDE_DIRS}) +- set(ogre_libraries ${ogre_libraries};${OGRE-Terrain_LIBRARIES}) +- set(ogre_library_dirs ${ogre_library_dirs} ${OGRE-Terrain_LIBRARY_DIRS}) +- set(ogre_cflags ${ogre_cflags} ${OGRE-Terrain_CFLAGS}) ++ if (OGRE_Terrain_FOUND) ++ set(ogre_ldflags ${ogre_ldflags} ${OGRE_Terrain_LDFLAGS}) ++ set(ogre_include_dirs ${ogre_include_dirs} ${OGRE_Terrain_INCLUDE_DIRS}) ++ set(ogre_libraries ${ogre_libraries};${OGRE_Terrain_LIBRARIES}) ++ set(ogre_library_dirs ${ogre_library_dirs} ${OGRE_Terrain_LIBRARY_DIRS}) ++ set(ogre_cflags ${ogre_cflags} ${OGRE_Terrain_CFLAGS}) + endif() + +- pkg_check_modules(OGRE-Overlay OGRE-Overlay) +- if (OGRE-Overlay_FOUND) +- set(ogre_ldflags ${ogre_ldflags} ${OGRE-Overlay_LDFLAGS}) +- set(ogre_include_dirs ${ogre_include_dirs} ${OGRE-Overlay_INCLUDE_DIRS}) +- set(ogre_libraries ${ogre_libraries};${OGRE-Overlay_LIBRARIES}) +- set(ogre_library_dirs ${ogre_library_dirs} ${OGRE-Overlay_LIBRARY_DIRS}) +- set(ogre_cflags ${ogre_cflags} ${OGRE-Overlay_CFLAGS}) ++ if (OGRE_Overlay_FOUND) ++ set(ogre_ldflags ${ogre_ldflags} ${OGRE_Overlay_LDFLAGS}) ++ set(ogre_include_dirs ${ogre_include_dirs} ${OGRE_Overlay_INCLUDE_DIRS}) ++ set(ogre_libraries ${ogre_libraries};${OGRE_Overlay_LIBRARIES}) ++ set(ogre_library_dirs ${ogre_library_dirs} ${OGRE_Overlay_LIBRARY_DIRS}) ++ set(ogre_cflags ${ogre_cflags} ${OGRE_Overlay_CFLAGS}) + endif() + +- + set (OGRE_INCLUDE_DIRS ${ogre_include_dirs} + CACHE INTERNAL "Ogre include path") + +@@ -549,7 +542,7 @@ if (PKG_CONFIG_FOUND) endif () if (libavutil_FOUND AND libavformat_FOUND AND libavcodec_FOUND AND @@ -29,7 +148,7 @@ index 4085b5aaeb..f89ac88333 100644 set (HAVE_FFMPEG TRUE) else () set (HAVE_FFMPEG FALSE) -@@ -538,7 +538,7 @@ if (PKG_CONFIG_FOUND) +@@ -574,7 +567,7 @@ if (PKG_CONFIG_FOUND) ######################################## # Find GNU Triangulation Surface Library pkg_check_modules(gts gts) @@ -38,7 +157,7 @@ index 4085b5aaeb..f89ac88333 100644 message (STATUS "Looking for GTS - found") set (HAVE_GTS TRUE) else () -@@ -551,13 +551,14 @@ if (PKG_CONFIG_FOUND) +@@ -587,7 +580,7 @@ if (PKG_CONFIG_FOUND) # First and preferred option is to look for bullet standard pkgconfig, # so check it first. if it is not present, check for the OSRF # custom bullet2.82.pc file @@ -47,14 +166,15 @@ index 4085b5aaeb..f89ac88333 100644 if (NOT BULLET_FOUND) pkg_check_modules(BULLET bullet2.82>=2.82) endif() - +@@ -596,6 +589,7 @@ if (PKG_CONFIG_FOUND) + endif() if (BULLET_FOUND) set (HAVE_BULLET TRUE) + set(BULLET_VERSION ${BULLET_VERSION_STRING}) - add_definitions( -DLIBBULLET_VERSION=${BULLET_VERSION} ) - else() - set (HAVE_BULLET FALSE) -@@ -572,7 +573,7 @@ if (PKG_CONFIG_FOUND) + if (${BULLET_VERSION} STREQUAL "") + set (BULLET_VERSION ${BULLET_VERSION_STRING}) + endif() +@@ -614,7 +608,7 @@ if (PKG_CONFIG_FOUND) ######################################## # Find libusb pkg_check_modules(libusb-1.0 libusb-1.0) @@ -63,7 +183,7 @@ index 4085b5aaeb..f89ac88333 100644 BUILD_WARNING ("libusb-1.0 not found. USB peripherals support will be disabled.") set (HAVE_USB OFF CACHE BOOL "HAVE USB" FORCE) else() -@@ -648,7 +649,7 @@ endif () +@@ -690,7 +684,7 @@ endif () ######################################## # Find gdal include (FindGDAL) @@ -72,7 +192,7 @@ index 4085b5aaeb..f89ac88333 100644 message (STATUS "Looking for libgdal - not found") BUILD_WARNING ("GDAL not found, Digital elevation terrains support will be disabled.") set (HAVE_GDAL OFF CACHE BOOL "HAVE GDAL" FORCE) -@@ -718,7 +719,7 @@ endif() +@@ -774,7 +768,7 @@ endif() ######################################## # Find graphviz include (${gazebo_cmake_dir}/FindGraphviz.cmake) @@ -82,10 +202,17 @@ index 4085b5aaeb..f89ac88333 100644 BUILD_WARNING ("Graphviz not found, Model editor's schematic view will be disabled.") set (HAVE_GRAPHVIZ OFF CACHE BOOL "HAVE GRAPHVIZ" FORCE) diff --git a/cmake/gazebo-config.cmake.in b/cmake/gazebo-config.cmake.in -index b57a90dd76..63ce97095e 100644 +index ac1de2c..05cdc02 100644 --- a/cmake/gazebo-config.cmake.in +++ b/cmake/gazebo-config.cmake.in -@@ -99,12 +99,13 @@ list(APPEND @PKG_NAME@_CFLAGS -I${GAZEBO_INSTALL_INCLUDE_DIR}/gazebo-@GAZEBO_MAJ +@@ -1,3 +1,6 @@ ++include(CMakeFindDependencyMacro) ++find_dependency(freeimage CONFIG) ++ + if (@PKG_NAME@_CONFIG_INCLUDED) + return() + endif() +@@ -99,12 +102,13 @@ list(APPEND @PKG_NAME@_CFLAGS -I${GAZEBO_INSTALL_INCLUDE_DIR}/gazebo-@GAZEBO_MAJ if (GAZEBO_HAS_BULLET) if (PKG_CONFIG_FOUND) @@ -100,3 +227,16 @@ index b57a90dd76..63ce97095e 100644 add_definitions(-DLIBBULLET_VERSION=${BULLET_VERSION}) else() message(FATAL_ERROR "Error: Bullet > 2.82 not found, please install libbullet2.82-dev.") +diff --git a/gazebo/rendering/ogre_gazebo.h b/gazebo/rendering/ogre_gazebo.h +index a171782..c390d14 100644 +--- a/gazebo/rendering/ogre_gazebo.h ++++ b/gazebo/rendering/ogre_gazebo.h +@@ -66,7 +66,7 @@ + #if OGRE_VERSION_MAJOR > 1 || OGRE_VERSION_MINOR >= 7 + #include + #include +-#include ++#include + #include + #include + #include diff --git a/ports/gazebo/fix-tbb.patch b/ports/gazebo/fix-tbb.patch deleted file mode 100644 index b494c93bc7615a..00000000000000 --- a/ports/gazebo/fix-tbb.patch +++ /dev/null @@ -1,443 +0,0 @@ -diff --git a/cmake/SearchForStuff.cmake b/cmake/SearchForStuff.cmake -index af56ee4..8583740 100644 ---- a/cmake/SearchForStuff.cmake -+++ b/cmake/SearchForStuff.cmake -@@ -301,7 +301,7 @@ if (PKG_CONFIG_FOUND) - - ################################################# - # Find TBB -- pkg_check_modules(TBB tbb<2021) -+ pkg_check_modules(TBB tbb) - set (TBB_PKG_CONFIG "tbb") - if (NOT TBB_FOUND) - message(STATUS "TBB not found, attempting to detect manually") -@@ -325,6 +325,12 @@ if (PKG_CONFIG_FOUND) - endif(tbb_library) - endif (NOT TBB_FOUND) - endif (NOT TBB_FOUND) -+ set(HAVE_TBB_GREATER_OR_EQUAL_2021 OFF) -+ if (DEFINED TBB_VERSION AND NOT ${TBB_VERSION} STREQUAL "") -+ if (${TBB_VERSION} VERSION_GREATER_EQUAL "2021.0") -+ set(HAVE_TBB_GREATER_OR_EQUAL_2021 ON) -+ endif() -+ endif() - - ################################################# - # Find OGRE -diff --git a/cmake/gazebo-config.cmake.in b/cmake/gazebo-config.cmake.in -index 36bb341..6bb8e51 100644 ---- a/cmake/gazebo-config.cmake.in -+++ b/cmake/gazebo-config.cmake.in -@@ -223,3 +223,11 @@ list(APPEND @PKG_NAME@_LIBRARIES ${IGNITION-FUEL_TOOLS_LIBRARIES}) - list(APPEND @PKG_NAME@_LDFLAGS -Wl,-rpath,${GAZEBO_INSTALL_LIB_DIR}/gazebo-@GAZEBO_MAJOR_VERSION@/plugins) - list(APPEND @PKG_NAME@_LDFLAGS -L${GAZEBO_INSTALL_LIB_DIR}) - list(APPEND @PKG_NAME@_LDFLAGS -L${GAZEBO_INSTALL_LIB_DIR}/gazebo-@GAZEBO_MAJOR_VERSION@/plugins) -+ -+set (GAZEBO_HAS_TBB_GREATER_OR_EQUAL_2021 @HAVE_TBB_GREATER_OR_EQUAL_2021@) -+if (GAZEBO_HAS_TBB_GREATER_OR_EQUAL_2021) -+ find_package(TBB CONFIG) -+ if (TARGET tbb::tbb) -+ list(APPEND @PKG_NAME@_LIBRARIES TBB::tbb) -+ endif () -+endif () -diff --git a/gazebo/transport/CMakeLists.txt b/gazebo/transport/CMakeLists.txt -index 8e59020..a72d49b 100644 ---- a/gazebo/transport/CMakeLists.txt -+++ b/gazebo/transport/CMakeLists.txt -@@ -29,6 +29,7 @@ set (headers - SubscribeOptions.hh - Subscriber.hh - SubscriptionTransport.hh -+ TaskGroup.hh - TopicManager.hh - TransportIface.hh - TransportTypes.hh -@@ -70,6 +71,12 @@ if (WIN32) - target_link_libraries(gazebo_transport ws2_32 Iphlpapi) - endif() - -+if(${CMAKE_VERSION} VERSION_LESS "3.13.0") -+ link_directories(${TBB_LIBRARY_DIRS}) -+else() -+ target_link_directories(gazebo_transport PUBLIC ${TBB_LIBRARY_DIRS}) -+endif() -+ - if (USE_PCH) - add_pch(gazebo_transport transport_pch.hh ${Boost_PKGCONFIG_CFLAGS} "-I${PROTOBUF_INCLUDE_DIR}" "-I${TBB_INCLUDEDIR}") - endif() -diff --git a/gazebo/transport/Connection.hh b/gazebo/transport/Connection.hh -index 0e7d88a..cbcd7af 100644 ---- a/gazebo/transport/Connection.hh -+++ b/gazebo/transport/Connection.hh -@@ -17,7 +17,16 @@ - #ifndef _CONNECTION_HH_ - #define _CONNECTION_HH_ - -+#undef emit - #include -+#define emit -+ -+// If TBB_VERSION_MAJOR is not defined, this means that -+// tbb >= 2021 and we can include the tbb/version.h header -+#ifndef TBB_VERSION_MAJOR -+#include -+#endif -+ - #include - - #include -@@ -37,6 +46,9 @@ - #include "gazebo/common/Console.hh" - #include "gazebo/common/Exception.hh" - #include "gazebo/common/WeakBind.hh" -+#if TBB_VERSION_MAJOR >= 2021 -+#include "gazebo/transport/TaskGroup.hh" -+#endif - #include "gazebo/util/system.hh" - - #define HEADER_LENGTH 8 -@@ -54,7 +66,11 @@ namespace gazebo - /// \cond - /// \brief A task instance that is created when data is read from - /// a socket and used by TBB -+#if TBB_VERSION_MAJOR < 2021 - class GZ_TRANSPORT_VISIBLE ConnectionReadTask : public tbb::task -+#else -+ class GZ_TRANSPORT_VISIBLE ConnectionReadTask -+#endif - { - /// \brief Constructor - /// \param[_in] _func Boost function pointer, which is the function -@@ -68,6 +84,7 @@ namespace gazebo - { - } - -+#if TBB_VERSION_MAJOR < 2021 - /// \bried Overridden function from tbb::task that exectues the data - /// callback. - public: tbb::task *execute() -@@ -75,6 +92,11 @@ namespace gazebo - this->func(this->data); - return NULL; - } -+#else -+ /// \brief Execute the data callback -+ public: void operator()() const -+ { this->func(this->data); } -+#endif - - /// \brief The boost function pointer - private: boost::function func; -@@ -310,12 +332,16 @@ namespace gazebo - - if (!_e && !transport::is_stopped()) - { -+#if TBB_VERSION_MAJOR < 2021 - ConnectionReadTask *task = new(tbb::task::allocate_root()) - ConnectionReadTask(boost::get<0>(_handler), data); - tbb::task::enqueue(*task); - - // Non-tbb version: - // boost::get<0>(_handler)(data); -+#else -+ this->taskGroup.run(boost::get<0>(_handler), data); -+#endif - } - } - -@@ -465,6 +491,11 @@ namespace gazebo - - /// \brief True if the connection is open. - private: bool isOpen; -+ -+#if TBB_VERSION_MAJOR >= 2021 -+ /// \brief For managing asynchronous tasks with tbb -+ private: TaskGroup taskGroup; -+#endif - }; - /// \} - } -diff --git a/gazebo/transport/ConnectionManager.cc b/gazebo/transport/ConnectionManager.cc -index b0546e5..17016a4 100644 ---- a/gazebo/transport/ConnectionManager.cc -+++ b/gazebo/transport/ConnectionManager.cc -@@ -27,6 +27,7 @@ - using namespace gazebo; - using namespace transport; - -+#if TBB_VERSION_MAJOR < 2021 - /// TBB task to process nodes. - class TopicManagerProcessTask : public tbb::task - { -@@ -37,20 +38,30 @@ class TopicManagerProcessTask : public tbb::task - return NULL; - } - }; -+#endif - - /// TBB task to establish subscriber to publisher connection. -+#if TBB_VERSION_MAJOR < 2021 - class TopicManagerConnectionTask : public tbb::task -+#else -+class TopicManagerConnectionTask -+#endif - { - /// \brief Constructor. - /// \param[in] _pub Publish message - public: explicit TopicManagerConnectionTask(msgs::Publish _pub) : pub(_pub) {} - - /// Implements the necessary execute function -+#if TBB_VERSION_MAJOR < 2021 - public: tbb::task *execute() - { - TopicManager::Instance()->ConnectSubToPub(pub); - return NULL; - } -+#else -+ public: void operator()() const -+ { TopicManager::Instance()->ConnectSubToPub(pub); } -+#endif - - /// \brief Publish message - private: msgs::Publish pub; -@@ -273,11 +284,6 @@ void ConnectionManager::RunUpdate() - if (this->masterConn) - this->masterConn->ProcessWriteQueue(); - -- // Use TBB to process nodes. Need more testing to see if this makes -- // a difference. -- // TopicManagerProcessTask *task = new(tbb::task::allocate_root()) -- // TopicManagerProcessTask(); -- // tbb::task::enqueue(*task); - boost::recursive_mutex::scoped_lock lock(this->connectionMutex); - - TopicManager::Instance()->ProcessNodes(); -@@ -403,9 +409,13 @@ void ConnectionManager::ProcessMessage(const std::string &_data) - if (pub.host() != this->serverConn->GetLocalAddress() || - pub.port() != this->serverConn->GetLocalPort()) - { -+#if TBB_VERSION_MAJOR < 2021 - TopicManagerConnectionTask *task = new(tbb::task::allocate_root()) - TopicManagerConnectionTask(pub); - tbb::task::enqueue(*task); -+#else -+ this->taskGroup.run(pub); -+#endif - } - } - // publisher_subscribe. This occurs when we try to subscribe to a topic, and -diff --git a/gazebo/transport/ConnectionManager.hh b/gazebo/transport/ConnectionManager.hh -index ef80eaf..6dc212b 100644 ---- a/gazebo/transport/ConnectionManager.hh -+++ b/gazebo/transport/ConnectionManager.hh -@@ -27,8 +27,11 @@ - #include "gazebo/msgs/msgs.hh" - #include "gazebo/common/SingletonT.hh" - --#include "gazebo/transport/Publisher.hh" - #include "gazebo/transport/Connection.hh" -+#include "gazebo/transport/Publisher.hh" -+#if TBB_VERSION_MAJOR >= 2021 -+#include "gazebo/transport/TaskGroup.hh" -+#endif - #include "gazebo/util/system.hh" - - /// \brief Explicit instantiation for typed SingletonT. -@@ -194,6 +197,11 @@ namespace gazebo - /// \brief Condition used for synchronization - private: boost::condition_variable namespaceCondition; - -+#if TBB_VERSION_MAJOR >= 2021 -+ /// \brief For managing asynchronous tasks with tbb -+ private: TaskGroup taskGroup; -+#endif -+ - // Singleton implementation - private: friend class SingletonT; - }; -diff --git a/gazebo/transport/Node.hh b/gazebo/transport/Node.hh -index b7d37f7..7248b72 100644 ---- a/gazebo/transport/Node.hh -+++ b/gazebo/transport/Node.hh -@@ -18,7 +18,12 @@ - #ifndef GAZEBO_TRANSPORT_NODE_HH_ - #define GAZEBO_TRANSPORT_NODE_HH_ - -+#undef emit - #include -+#define emit -+#ifndef TBB_VERSION_MAJOR -+#include -+#endif - #include - #include - #include -@@ -26,6 +31,9 @@ - #include - #include - -+#if TBB_VERSION_MAJOR >= 2021 -+#include "gazebo/transport/TaskGroup.hh" -+#endif - #include "gazebo/transport/TransportTypes.hh" - #include "gazebo/transport/TopicManager.hh" - #include "gazebo/util/system.hh" -@@ -36,7 +44,11 @@ namespace gazebo - { - /// \cond - /// \brief Task used by Node::Publish to publish on a one-time publisher -+#if TBB_VERSION_MAJOR < 2021 - class GZ_TRANSPORT_VISIBLE PublishTask : public tbb::task -+#else -+ class GZ_TRANSPORT_VISIBLE PublishTask -+#endif - { - /// \brief Constructor - /// \param[in] _pub Publisher to publish the message on. -@@ -49,16 +61,23 @@ namespace gazebo - this->msg->CopyFrom(_message); - } - -+#if TBB_VERSION_MAJOR < 2021 - /// \brief Overridden function from tbb::task that exectues the - /// publish task. - public: tbb::task *execute() -+#else -+ /// \brief Executes the publish task. -+ public: void operator()() const -+#endif - { - this->pub->WaitForConnection(); - this->pub->Publish(*this->msg, true); - this->pub->SendMessage(); - delete this->msg; -+#if TBB_VERSION_MAJOR < 2021 - this->pub.reset(); - return NULL; -+#endif - } - - /// \brief Pointer to the publisher. -@@ -159,11 +178,15 @@ namespace gazebo - const google::protobuf::Message &_message) - { - transport::PublisherPtr pub = this->Advertise(_topic); -+#if TBB_VERSION_MAJOR < 2021 - PublishTask *task = new(tbb::task::allocate_root()) - PublishTask(pub, _message); - - tbb::task::enqueue(*task); - return; -+#else -+ this->taskGroup.run(pub, _message); -+#endif - } - - /// \brief Advertise a topic -@@ -420,6 +443,10 @@ namespace gazebo - - /// \brief List of newly arrive messages - private: std::map > incomingMsgsLocal; -+#if TBB_VERSION_MAJOR >= 2021 -+ /// \brief For managing asynchronous tasks with tbb -+ private: TaskGroup taskGroup; -+#endif - - private: boost::mutex publisherMutex; - private: boost::mutex publisherDeleteMutex; -diff --git a/gazebo/transport/TaskGroup.hh b/gazebo/transport/TaskGroup.hh -new file mode 100644 -index 0000000..b95b5d8 ---- /dev/null -+++ b/gazebo/transport/TaskGroup.hh -@@ -0,0 +1,47 @@ -+/* -+ * Copyright (C) 2021 Open Source Robotics Foundation -+ * -+ * Licensed under the Apache License, Version 2.0 (the "License"); -+ * you may not use this file except in compliance with the License. -+ * You may obtain a copy of the License at -+ * -+ * http://www.apache.org/licenses/LICENSE-2.0 -+ * -+ * Unless required by applicable law or agreed to in writing, software -+ * distributed under the License is distributed on an "AS IS" BASIS, -+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -+ * See the License for the specific language governing permissions and -+ * limitations under the License. -+ * -+*/ -+#ifndef GAZEBO_TRANSPORT_TASKGROUP_HH_ -+#define GAZEBO_TRANSPORT_TASKGROUP_HH_ -+ -+#include -+ -+// Emit is both a macro in Qt and a function defined by tbb -+#undef emit -+#include -+#define emit -+ -+namespace gazebo { -+ namespace transport { -+ class TaskGroup -+ { -+ public: ~TaskGroup() noexcept -+ { -+ // Wait for running tasks to finish -+ this->taskGroup.wait(); -+ } -+ -+ public: template void run(Args&&... args) -+ { -+ this->taskGroup.run(Functor(std::forward(args)...)); -+ } -+ -+ private: tbb::task_group taskGroup; -+ }; -+ } -+} -+ -+#endif -diff --git a/gazebo/transport/transport_pch.hh b/gazebo/transport/transport_pch.hh -index 0119d40..f288de2 100644 ---- a/gazebo/transport/transport_pch.hh -+++ b/gazebo/transport/transport_pch.hh -@@ -21,6 +21,7 @@ - * To get a starting list for this file, I use the command: - * grep --include="*.hh" --include="*.cc" --no-filename -r "#include <" | sort -u - */ -+ - #include - #include - #include -@@ -44,8 +45,18 @@ - #include - #include - #include -+#include -+#ifndef TBB_VERSION_MAJOR -+#include -+#endif -+#if TBB_VERSION_MAJOR < 2021 - #include - #include - #include -+#else -+#undef emit -+#include -+#define emit -+#endif - #include - #include -diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt -index 5f2c112..6d09a11 100644 ---- a/tools/CMakeLists.txt -+++ b/tools/CMakeLists.txt -@@ -49,6 +49,7 @@ target_link_libraries(gz - gazebo_gui - gazebo_physics - gazebo_sensors -+ gazebo_transport - ${Qt5Core_LIBRARIES} - ${Qt5Widgets_LIBRARIES} - ${Boost_LIBRARIES} diff --git a/ports/gazebo/portfile.cmake b/ports/gazebo/portfile.cmake index c6322c64b9e295..a2199e36213108 100644 --- a/ports/gazebo/portfile.cmake +++ b/ports/gazebo/portfile.cmake @@ -1,19 +1,11 @@ -vcpkg_download_distfile(gazebo3211 - URLS "https://patch-diff.githubusercontent.com/raw/osrf/gazebo/pull/3211.diff?full_index=1" - FILENAME "gazebo3211.diff" - SHA512 761e254866d4705acc0b81479285f979c436b3b611739a207a575031d8a8daba48de4fc0c8de5edb9a9f89725586c5caeef9e6e1e3d63a2d961ca09df974f7de -) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO osrf/gazebo - REF 382dcc3f36095a8d79b5bc9c8b8ad346e867c51d - SHA512 57638cd0b23b5f2bfd32fdc159d6cd77ca34e3bd695c225591979aef4b7271eac93d3706fa1ffa2340f90013267a4171bebe1e4c142f19ad2bf67963dfed627e + REPO gazebosim/gazebo-classic + REF "gazebo11_${VERSION}" + SHA512 0dede29618fc9d9a91d208a75b8ca1d3e6d3e8f4f60a80047b2d5806991f00f0bec46f6e2daca5931aed9c243f1e1d334e7a3eae9165b453cdedfb5b73b71186 HEAD_REF gazebo11 PATCHES 0001-Fix-deps.patch - "${gazebo3211}" - fix-tbb.patch # Effectively https://github.com/osrf/gazebo/pull/3174 with merge conflict resolutions ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS diff --git a/ports/gazebo/vcpkg.json b/ports/gazebo/vcpkg.json index 44cb543488966e..bcb67be3148718 100644 --- a/ports/gazebo/vcpkg.json +++ b/ports/gazebo/vcpkg.json @@ -1,7 +1,6 @@ { "name": "gazebo", - "version-date": "2022-01-20", - "port-version": 5, + "version": "11.15.1", "description": "Open source robotics simulator.", "homepage": "http://gazebosim.org", "license": "Apache-2.0", @@ -36,6 +35,7 @@ "host": true }, "protobuf", + "qt5", "qwt", "sdformat9", "tbb", diff --git a/ports/gcem/portfile.cmake b/ports/gcem/portfile.cmake index 944d36e049cb26..8c91780cd84baf 100644 --- a/ports/gcem/portfile.cmake +++ b/ports/gcem/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO kthohr/gcem REF "v${VERSION}" - SHA512 ffd92b9a413ac248c02ae1c12ce5607cf5ad06920749668dc05d3f3f0beefc5c5827c9585674acd51738da2dd3c2042b8cc41ba6e29ce129edf6d895c5225d0b + SHA512 b9bbf16cfc3488a99ab371db36879bdde1699f0890db609278c03fb161cdffef0fbd34dbbf6004d6352e9e90c49e08e6b77357c4a424b0b5e174198b42dc049c HEAD_REF master ) diff --git a/ports/gcem/vcpkg.json b/ports/gcem/vcpkg.json index e7217d6a99f91b..9580206b8631bd 100644 --- a/ports/gcem/vcpkg.json +++ b/ports/gcem/vcpkg.json @@ -1,6 +1,6 @@ { "name": "gcem", - "version": "1.17.0", + "version": "1.18.0", "description": "A C++ compile-time math library using generalized constant expressions", "homepage": "https://www.kthohr.com/gcem.html", "license": "Apache-2.0", diff --git a/ports/gdal/cmake-project-include.cmake b/ports/gdal/cmake-project-include.cmake index 33ce62b9821565..409b7b1a6436fc 100644 --- a/ports/gdal/cmake-project-include.cmake +++ b/ports/gdal/cmake-project-include.cmake @@ -1,3 +1,10 @@ +if(GDAL_USE_KEA) + find_package(Kealib CONFIG REQUIRED) + add_library(KEA::KEA ALIAS Kealib::Kealib) + set(GDAL_CHECK_PACKAGE_KEA_NAMES Kealib CACHE INTERNAL "vcpkg") + set(GDAL_CHECK_PACKAGE_KEA_TARGETS Kealib::Kealib CACHE INTERNAL "vcpkg") +endif() + if(GDAL_USE_WEBP) find_package(WebP CONFIG REQUIRED) add_library(WEBP::WebP ALIAS WebP::webp) diff --git a/ports/gdal/find-link-libraries.patch b/ports/gdal/find-link-libraries.patch index 8e9c163ef7b4f8..a802e42645f1d9 100644 --- a/ports/gdal/find-link-libraries.patch +++ b/ports/gdal/find-link-libraries.patch @@ -29,7 +29,7 @@ index c697484..6e83222 100644 if(PKG_CONFIG_FOUND) - pkg_check_modules(PC_OPENJPEG QUIET libopenjp2) + pkg_check_modules(PC_OPENJPEG QUIET IMPORTED_TARGET libopenjp2) - set(OPENJPEG_VERSION_STRING ${PC_OPENJPEG_VERSION}) + set(OpenJPEG_VERSION_STRING ${PC_OPENJPEG_VERSION}) endif() +if(PC_OPENJPEG_FOUND) + set(OPENJPEG_INCLUDE_DIR "${PC_OPENJPEG_INCLUDE_DIRS}" CACHE STRING "") diff --git a/ports/gdal/fix-jpeg.patch b/ports/gdal/fix-jpeg.patch deleted file mode 100644 index fb395373445a60..00000000000000 --- a/ports/gdal/fix-jpeg.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/cmake/helpers/CheckDependentLibraries.cmake b/cmake/helpers/CheckDependentLibraries.cmake -index 9568ef043e..94617e3ac9 100644 ---- a/cmake/helpers/CheckDependentLibraries.cmake -+++ b/cmake/helpers/CheckDependentLibraries.cmake -@@ -416,7 +416,7 @@ if (GDAL_USE_JPEG AND (JPEG_LIBRARY MATCHES ".*turbojpeg\.(so|lib)")) - "JPEG_LIBRARY should point to a library with libjpeg ABI, not TurboJPEG. See https://libjpeg-turbo.org/About/TurboJPEG for the difference" - ) - endif () --if (TARGET JPEG::JPEG) -+if (GDAL_USE_JPEG AND TARGET JPEG::JPEG) - set(EXPECTED_JPEG_LIB_VERSION "" CACHE STRING "Expected libjpeg version number") - mark_as_advanced(GDAL_CHECK_PACKAGE_${name}_NAMES) - if (EXPECTED_JPEG_LIB_VERSION) diff --git a/ports/gdal/portfile.cmake b/ports/gdal/portfile.cmake index 07f27f062a6b83..6ff0dac44fa7ad 100644 --- a/ports/gdal/portfile.cmake +++ b/ports/gdal/portfile.cmake @@ -2,14 +2,14 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO OSGeo/gdal REF "v${VERSION}" - SHA512 95b0dee07a616c8fb26ded2c538a6933ba070c0567e88af9356daea9b1df6c910edb4fcf55766839c1873829d20948b1714b3e2285e5ac57de8fcf0970ff53ff + SHA512 4e0431c9bb9b7c54508afdcaa936445eee8878aa47f404e2ff00c8ce786c1dd58247c2cee76cb0e0e26cef04419d7c6c4884f2d9078e9d292c4a1c720deae3ed HEAD_REF master PATCHES find-link-libraries.patch fix-gdal-target-interfaces.patch libkml.patch - fix-jpeg.patch - upstream-b5858ed.diff + target-is-valid.patch + remove-machine-flag.patch ) # `vcpkg clean` stumbles over one subdir file(REMOVE_RECURSE "${SOURCE_PATH}/autotest") @@ -23,6 +23,7 @@ vcpkg_replace_string("${SOURCE_PATH}/ogr/ogrsf_frmts/flatgeobuf/flatbuffers/base # "core" is used for a dependency which must be enabled to avoid vendored lib. vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES + archive GDAL_USE_ARCHIVE cfitsio GDAL_USE_CFITSIO curl GDAL_USE_CURL expat GDAL_USE_EXPAT @@ -34,6 +35,7 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS iconv GDAL_USE_ICONV jpeg GDAL_USE_JPEG core GDAL_USE_JSONC + kea GDAL_USE_KEA lerc GDAL_USE_LERC libkml GDAL_USE_LIBKML lzma GDAL_USE_LIBLZMA @@ -65,7 +67,7 @@ if(GDAL_USE_ICONV AND VCPKG_TARGET_IS_WINDOWS) endif() # Compatibility with older Android versions https://github.com/OSGeo/gdal/pull/5941 -if(VCPKG_TARGET_IS_ANDROID AND ANRDOID_PLATFORM VERSION_LESS 24 AND (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")) +if(VCPKG_TARGET_IS_ANDROID AND ANDROID_PLATFORM VERSION_LESS 24 AND (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")) list(APPEND FEATURE_OPTIONS -DBUILD_WITHOUT_64BIT_OFFSET=ON) endif() @@ -88,6 +90,7 @@ vcpkg_cmake_configure( -DGDAL_USE_EXTERNAL_LIBS=OFF -DGDAL_BUILD_OPTIONAL_DRIVERS=ON -DOGR_BUILD_OPTIONAL_DRIVERS=ON + -DFIND_PACKAGE2_KEA_ENABLED=OFF -DGDAL_CHECK_PACKAGE_MySQL_NAMES=unofficial-libmariadb -DGDAL_CHECK_PACKAGE_MySQL_TARGETS=unofficial::libmariadb -DMYSQL_LIBRARIES=unofficial::libmariadb @@ -117,34 +120,33 @@ list(APPEND CMAKE_PROGRAM_PATH \"\${vcpkg_host_prefix}/tools/pkgconf\")" if (BUILD_APPS) vcpkg_copy_tools( TOOL_NAMES - gdalinfo - gdalbuildvrt - gdaladdo + gdal_contour + gdal_create + gdal_footprint gdal_grid - gdal_translate gdal_rasterize - gdalsrsinfo - gdalenhance - gdalmanage - gdaltransform - gdaltindex - gdaldem - gdal_create + gdal_translate gdal_viewshed - nearblack - ogrlineref - ogrtindex - gdalwarp - gdal_contour + gdaladdo + gdalbuildvrt + gdaldem + gdalenhance + gdalinfo gdallocationinfo - ogrinfo - ogr2ogr - ogrlineref - nearblack + gdalmanage gdalmdiminfo gdalmdimtranslate + gdalsrsinfo + gdaltindex + gdaltransform + gdalwarp gnmanalyse gnmmanage + nearblack + ogr2ogr + ogrinfo + ogrlineref + ogrtindex sozip AUTO_CLEAN ) diff --git a/ports/gdal/remove-machine-flag.patch b/ports/gdal/remove-machine-flag.patch new file mode 100644 index 00000000000000..f759421eb2b226 --- /dev/null +++ b/ports/gdal/remove-machine-flag.patch @@ -0,0 +1,12 @@ +diff --git a/gdal.cmake b/gdal.cmake +index 029eedd..412fc88 100644 +--- a/gdal.cmake ++++ b/gdal.cmake +@@ -409,7 +409,6 @@ if (MSVC) + target_sources(${GDAL_LIB_TARGET_NAME} PRIVATE gcore/Version.rc) + source_group("Resource Files" FILES gcore/Version.rc) + if (CMAKE_CL_64) +- set_target_properties(${GDAL_LIB_TARGET_NAME} PROPERTIES STATIC_LIBRARY_FLAGS "/machine:x64") + endif () + endif () + diff --git a/ports/gdal/target-is-valid.patch b/ports/gdal/target-is-valid.patch new file mode 100644 index 00000000000000..10f3dcfcf1cddc --- /dev/null +++ b/ports/gdal/target-is-valid.patch @@ -0,0 +1,21 @@ +diff --git a/cmake/helpers/CheckDependentLibrariesCommon.cmake b/cmake/helpers/CheckDependentLibrariesCommon.cmake +index ebb3538..a4a6d69 100644 +--- a/cmake/helpers/CheckDependentLibrariesCommon.cmake ++++ b/cmake/helpers/CheckDependentLibrariesCommon.cmake +@@ -41,6 +41,7 @@ endif() + # https://github.com/OSGeo/gdal/issues/5324 + function (gdal_check_target_is_valid target res_var) + get_target_property(_interface_include_directories ${target} "INTERFACE_INCLUDE_DIRECTORIES") ++ get_target_property(_type ${target} "TYPE") + if(_interface_include_directories) + foreach(_dir IN LISTS _interface_include_directories) + if(NOT EXISTS "${_dir}") +@@ -54,7 +55,7 @@ function (gdal_check_target_is_valid target res_var) + # property, but a GeoTIFF_INCLUDE_DIRS variable. + set_target_properties(${target} PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${GeoTIFF_INCLUDE_DIRS}") +- else() ++ elseif(NOT _type STREQUAL "INTERFACE" AND _type STREQUAL "ALIAS") + message(WARNING "Target ${target} has no INTERFACE_INCLUDE_DIRECTORIES property. Ignoring that target.") + set(${res_var} FALSE PARENT_SCOPE) + return() diff --git a/ports/gdal/upstream-b5858ed.diff b/ports/gdal/upstream-b5858ed.diff deleted file mode 100644 index 9c31afcc2df6c0..00000000000000 --- a/ports/gdal/upstream-b5858ed.diff +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/frmts/gtiff/geotiff.cpp b/frmts/gtiff/geotiff.cpp -index ed79c0972e0..33846d66513 100644 ---- a/frmts/gtiff/geotiff.cpp -+++ b/frmts/gtiff/geotiff.cpp -@@ -2886,8 +2886,16 @@ static void ThreadDecompressionFunc(void *pData) - psJob->nXBlock, psJob->nYBlock); - if (apoBlocks[i] == nullptr) - { -+ // Temporary disabling of dirty block fushing, otherwise -+ // we can be in a deadlock situation, where the -+ // GTiffDataset::SubmitCompressionJob() method waits for jobs -+ // to be finished, that can't finish (actually be started) -+ // because this task and its siblings are taking all the -+ // available workers allowed by the global thread pool. -+ GDALRasterBlock::EnterDisableDirtyBlockFlush(); - apoBlocks[i] = poDS->GetRasterBand(iBand)->GetLockedBlockRef( - psJob->nXBlock, psJob->nYBlock, TRUE); -+ GDALRasterBlock::LeaveDisableDirtyBlockFlush(); - if (apoBlocks[i] == nullptr) - return false; - } diff --git a/ports/gdal/vcpkg.json b/ports/gdal/vcpkg.json index 2001a0c25ab0c8..8b731cc28814a1 100644 --- a/ports/gdal/vcpkg.json +++ b/ports/gdal/vcpkg.json @@ -1,7 +1,7 @@ { "name": "gdal", - "version-semver": "3.7.2", - "port-version": 1, + "version-semver": "3.10.0", + "port-version": 2, "description": "The Geographic Data Abstraction Library for reading and writing geospatial raster and vector data", "homepage": "https://gdal.org", "license": null, @@ -42,10 +42,19 @@ "default-features" ], "features": { + "archive": { + "description": "Enable libarchive support", + "dependencies": [ + { + "name": "libarchive", + "default-features": false + } + ] + }, "aws-ec2-windows": { "description": "Optimized detection of AWS EC2 Windows hosts", "dependencies": [ - "atlmfc" + "atl" ] }, "cfitsio": { @@ -151,6 +160,19 @@ "libjpeg-turbo" ] }, + "kea": { + "description": "Enable KEA driver", + "dependencies": [ + { + "name": "gdal", + "default-features": false, + "features": [ + "hdf5" + ] + }, + "kealib" + ] + }, "lerc": { "description": "Enable LERC support", "dependencies": [ diff --git a/ports/gdcm/Fix-Cmake_DIR.patch b/ports/gdcm/Fix-Cmake_DIR.patch deleted file mode 100644 index 189b28e05a09b2..00000000000000 --- a/ports/gdcm/Fix-Cmake_DIR.patch +++ /dev/null @@ -1,41 +0,0 @@ -diff --git a/CMake/ExportConfiguration/GDCMConfig.cmake.in b/CMake/ExportConfiguration/GDCMConfig.cmake.in -index f8e9d0b..ab28546 100644 ---- a/CMake/ExportConfiguration/GDCMConfig.cmake.in -+++ b/CMake/ExportConfiguration/GDCMConfig.cmake.in -@@ -33,28 +33,28 @@ if(GDCM_USE_VTK) - set(GDCM_VTK_DIR "@GDCM_VTK_DIR_CONFIG@") - endif() - --get_filename_component(SELF_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) --if(EXISTS ${SELF_DIR}/GDCMTargets.cmake) -+get_filename_component(GDCM_SELF_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) -+if(EXISTS ${GDCM_SELF_DIR}/GDCMTargets.cmake) - # This is an install tree -- include(${SELF_DIR}/GDCMTargets.cmake) -- get_filename_component(GDCM_INCLUDE_ROOT "${SELF_DIR}/../../@GDCM_INSTALL_INCLUDE_DIR@" ABSOLUTE) -+ include(${GDCM_SELF_DIR}/GDCMTargets.cmake) -+ get_filename_component(GDCM_INCLUDE_ROOT "${GDCM_SELF_DIR}/../../@GDCM_INSTALL_INCLUDE_DIR@" ABSOLUTE) - set(GDCM_INCLUDE_DIRS ${GDCM_INCLUDE_ROOT}) -- get_filename_component(GDCM_LIB_ROOT "${SELF_DIR}/../../@GDCM_INSTALL_LIB_DIR@" ABSOLUTE) -+ get_filename_component(GDCM_LIB_ROOT "${GDCM_SELF_DIR}/../../@GDCM_INSTALL_LIB_DIR@" ABSOLUTE) - set(GDCM_LIBRARY_DIRS ${GDCM_LIB_ROOT}) - else() -- if(EXISTS ${SELF_DIR}/GDCMExports.cmake) -+ if(EXISTS ${GDCM_SELF_DIR}/GDCMExports.cmake) - # This is a build tree - set( GDCM_INCLUDE_DIRS "@GDCM_INCLUDE_PATH@") - set(GDCM_LIBRARY_DIRS "@GDCM_LIBRARY_DIR@") - -- include(${SELF_DIR}/GDCMExports.cmake) -+ include(${GDCM_SELF_DIR}/GDCMExports.cmake) - - else() - message(FATAL_ERROR "ooops") - endif() - endif() - --set(GDCM_USE_FILE ${SELF_DIR}/UseGDCM.cmake) -+set(GDCM_USE_FILE ${GDCM_SELF_DIR}/UseGDCM.cmake) - - # Backward compatible part: - set(GDCM_FOUND TRUE) diff --git a/ports/gdcm/copyright.diff b/ports/gdcm/copyright.diff new file mode 100644 index 00000000000000..3a7e72e2508897 --- /dev/null +++ b/ports/gdcm/copyright.diff @@ -0,0 +1,87 @@ +diff --git a/Utilities/CMakeLists.txt b/Utilities/CMakeLists.txt +index 4cdc999..5971705 100644 +--- a/Utilities/CMakeLists.txt ++++ b/Utilities/CMakeLists.txt +@@ -12,8 +12,8 @@ if(NOT GDCM_USE_SYSTEM_LJPEG) + endif() + + # Do expat +-APPEND_COPYRIGHT(${CMAKE_CURRENT_SOURCE_DIR}/gdcmexpat/COPYING) + if(NOT GDCM_USE_SYSTEM_EXPAT) ++APPEND_COPYRIGHT(${CMAKE_CURRENT_SOURCE_DIR}/gdcmexpat/COPYING) + set(EXPAT_NAMESPACE "GDCMEXPAT") + set(EXPAT_INSTALL_NO_LIBRARIES ${GDCM_INSTALL_NO_LIBRARIES}) + set(EXPAT_INSTALL_BIN_DIR ${GDCM_INSTALL_BIN_DIR}) +@@ -22,8 +22,8 @@ if(NOT GDCM_USE_SYSTEM_EXPAT) + endif() + + # Do openjpeg (jpeg2000 implementation) +-APPEND_COPYRIGHT(${CMAKE_CURRENT_SOURCE_DIR}/gdcmopenjpeg/LICENSE) + if(NOT GDCM_USE_SYSTEM_OPENJPEG) ++APPEND_COPYRIGHT(${CMAKE_CURRENT_SOURCE_DIR}/gdcmopenjpeg/LICENSE) + set(OPENJPEG_NAMESPACE "GDCMOPENJPEG") + set(OPENJPEG_INSTALL_NO_LIBRARIES ${GDCM_INSTALL_NO_LIBRARIES}) + set(OPENJPEG_INSTALL_BIN_DIR ${GDCM_INSTALL_BIN_DIR}) +@@ -34,9 +34,9 @@ if(NOT GDCM_USE_SYSTEM_OPENJPEG) + endif() + + # Do jpegls (JPEG-LS aka near lossless implementation) +-APPEND_COPYRIGHT(${CMAKE_CURRENT_SOURCE_DIR}/gdcmcharls/License.txt) + if(GDCM_USE_JPEGLS) + if(NOT GDCM_USE_SYSTEM_CHARLS) ++APPEND_COPYRIGHT(${CMAKE_CURRENT_SOURCE_DIR}/gdcmcharls/License.txt) + set(CHARLS_NAMESPACE "GDCMCHARLS") + set(CHARLS_INSTALL_NO_LIBRARIES ${GDCM_INSTALL_NO_LIBRARIES}) + set(CHARLS_INSTALL_BIN_DIR ${GDCM_INSTALL_BIN_DIR}) +@@ -47,9 +47,9 @@ endif() + endif() + + # Do md5 +-APPEND_COPYRIGHT(${CMAKE_CURRENT_SOURCE_DIR}/gdcmmd5/COPYING) + if(GDCM_BUILD_TESTING) + if(NOT GDCM_USE_SYSTEM_MD5) ++APPEND_COPYRIGHT(${CMAKE_CURRENT_SOURCE_DIR}/gdcmmd5/COPYING) + set(MD5_NAMESPACE "GDCMMD5") + set(MD5_INSTALL_NO_LIBRARIES ${GDCM_INSTALL_NO_LIBRARIES}) + set(MD5_INSTALL_BIN_DIR ${GDCM_INSTALL_BIN_DIR}) +@@ -59,8 +59,8 @@ endif() + endif() + + # Do zlib +-APPEND_COPYRIGHT(${CMAKE_CURRENT_SOURCE_DIR}/gdcmzlib/COPYING) + if(NOT GDCM_USE_SYSTEM_ZLIB) ++APPEND_COPYRIGHT(${CMAKE_CURRENT_SOURCE_DIR}/gdcmzlib/COPYING) + set(ZLIB_NAMESPACE "GDCMZLIB") + set(ZLIB_INSTALL_NO_LIBRARIES ${GDCM_INSTALL_NO_LIBRARIES}) + set(ZLIB_INSTALL_BIN_DIR ${GDCM_INSTALL_BIN_DIR}) +@@ -70,8 +70,8 @@ endif() + + # Do getopt + if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/getopt) +- APPEND_COPYRIGHT(${CMAKE_CURRENT_SOURCE_DIR}/getopt/COPYING) + if(WIN32 AND NOT CYGWIN AND NOT MINGW) ++ APPEND_COPYRIGHT(${CMAKE_CURRENT_SOURCE_DIR}/getopt/COPYING) + set(GETOPT_NAMESPACE "GDCMGETOPT") + set(GETOPT_INSTALL_NO_LIBRARIES ${GDCM_INSTALL_NO_LIBRARIES}) + set(GETOPT_INSTALL_BIN_DIR ${GDCM_INSTALL_BIN_DIR}) +@@ -81,9 +81,9 @@ if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/getopt) + endif() + + # you could be running mingw32 on linux in which case you do NOT want the gdcmuuid lib +-APPEND_COPYRIGHT(${CMAKE_CURRENT_SOURCE_DIR}/gdcmuuid/COPYING) + if(NOT WIN32 AND NOT MINGW) + if(NOT GDCM_USE_SYSTEM_UUID) ++APPEND_COPYRIGHT(${CMAKE_CURRENT_SOURCE_DIR}/gdcmuuid/COPYING) + set(UUID_NAMESPACE "GDCMUUID") + set(UUID_INSTALL_NO_LIBRARIES ${GDCM_INSTALL_NO_LIBRARIES}) + set(UUID_INSTALL_BIN_DIR ${GDCM_INSTALL_BIN_DIR}) +@@ -92,8 +92,8 @@ if(NOT WIN32 AND NOT MINGW) + endif() + endif() + +-APPEND_COPYRIGHT(${CMAKE_CURRENT_SOURCE_DIR}/pvrg/COPYING) + if(GDCM_USE_PVRG) ++APPEND_COPYRIGHT(${CMAKE_CURRENT_SOURCE_DIR}/pvrg/COPYING) + if(NOT GDCM_USE_SYSTEM_PVRG) + add_subdirectory(pvrg) + endif() diff --git a/ports/gdcm/fix-dependence-getopt.patch b/ports/gdcm/fix-dependence-getopt.patch deleted file mode 100644 index 935be24aefd0eb..00000000000000 --- a/ports/gdcm/fix-dependence-getopt.patch +++ /dev/null @@ -1,38 +0,0 @@ -diff --git a/Utilities/CMakeLists.txt b/Utilities/CMakeLists.txt -index 4cdc999..c6ede41 100644 ---- a/Utilities/CMakeLists.txt -+++ b/Utilities/CMakeLists.txt -@@ -69,6 +69,7 @@ if(NOT GDCM_USE_SYSTEM_ZLIB) - endif() - - # Do getopt -+if(NOT USE_VCPKG_GETOPT) - if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/getopt) - APPEND_COPYRIGHT(${CMAKE_CURRENT_SOURCE_DIR}/getopt/COPYING) - if(WIN32 AND NOT CYGWIN AND NOT MINGW) -@@ -79,6 +80,7 @@ if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/getopt) - add_subdirectory(getopt) - endif() - endif() -+endif() - - # you could be running mingw32 on linux in which case you do NOT want the gdcmuuid lib - APPEND_COPYRIGHT(${CMAKE_CURRENT_SOURCE_DIR}/gdcmuuid/COPYING) -diff --git a/Utilities/VTK/Applications/CMakeLists.txt b/Utilities/VTK/Applications/CMakeLists.txt -index a7f7e7e..ab89a73 100644 ---- a/Utilities/VTK/Applications/CMakeLists.txt -+++ b/Utilities/VTK/Applications/CMakeLists.txt -@@ -60,7 +60,12 @@ foreach(app ${GDCM_VTK_APPS}) - endif() - endif() - if(WIN32 AND NOT CYGWIN) -- target_link_libraries(${app} gdcmgetopt) -+ if(USE_VCPKG_GETOPT) -+ find_package(unofficial-getopt-win32 REQUIRED) -+ target_link_libraries(${app} PRIVATE unofficial::getopt-win32::getopt) -+ else() -+ target_link_libraries(${app} gdcmgetopt) -+ endif() - endif() - if(NOT GDCM_INSTALL_NO_RUNTIME) - install(TARGETS ${app} diff --git a/ports/gdcm/fix-share-path.patch b/ports/gdcm/fix-share-path.patch deleted file mode 100644 index 9310946814efd0..00000000000000 --- a/ports/gdcm/fix-share-path.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6ac16ab..842d833 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -246,15 +246,15 @@ if(NOT GDCM_INSTALL_LIB_DIR) - endif() - - if(NOT GDCM_INSTALL_DATA_DIR) -- set(GDCM_INSTALL_DATA_DIR "share/${subdir}") -+ set(GDCM_INSTALL_DATA_DIR "share/${projectname}") - endif() - - if(NOT GDCM_INSTALL_INCLUDE_DIR) -- set(GDCM_INSTALL_INCLUDE_DIR "include/${subdir}") -+ set(GDCM_INSTALL_INCLUDE_DIR "include/${projectname}") - endif() - - if(NOT GDCM_INSTALL_DOC_DIR) -- set(GDCM_INSTALL_DOC_DIR "share/doc/${subdir}") -+ set(GDCM_INSTALL_DOC_DIR "share/doc/${projectname}") - endif() - - if(NOT GDCM_INSTALL_MAN_DIR) -@@ -262,7 +262,7 @@ if(NOT GDCM_INSTALL_MAN_DIR) - endif() - - if(NOT GDCM_INSTALL_PACKAGE_DIR) -- set(GDCM_INSTALL_PACKAGE_DIR ${GDCM_INSTALL_LIB_DIR}/${subdir} -+ set(GDCM_INSTALL_PACKAGE_DIR ${GDCM_INSTALL_LIB_DIR}/${projectname} - CACHE INTERNAL "") - endif() - diff --git a/ports/gdcm/include-no-namespace.diff b/ports/gdcm/include-no-namespace.diff new file mode 100644 index 00000000000000..86c36335f601b3 --- /dev/null +++ b/ports/gdcm/include-no-namespace.diff @@ -0,0 +1,22 @@ +diff --git a/Source/Common/gdcmFilename.cxx b/Source/Common/gdcmFilename.cxx +index 5384510..9c99f94 100644 +--- a/Source/Common/gdcmFilename.cxx ++++ b/Source/Common/gdcmFilename.cxx +@@ -16,6 +16,9 @@ + #include + #include // realpath + #include ++#ifdef _WIN32 ++# include ++#endif + + namespace gdcm + { +@@ -97,7 +100,6 @@ const char *Filename::ToUnixSlashes() + } + + #if defined(_WIN32) && (defined(_MSC_VER) || defined(__WATCOMC__) || defined(__BORLANDC__) || defined(__MINGW32__)) +-#include + + inline void Realpath(const char *path, std::string & resolved_path) + { diff --git a/ports/gdcm/no-absolute-paths.diff b/ports/gdcm/no-absolute-paths.diff new file mode 100644 index 00000000000000..e76dd30fd9cbe4 --- /dev/null +++ b/ports/gdcm/no-absolute-paths.diff @@ -0,0 +1,39 @@ +diff --git a/CMake/ExportConfiguration/GDCMConfig.cmake.in b/CMake/ExportConfiguration/GDCMConfig.cmake.in +index d43d565..dd2023d 100644 +--- a/CMake/ExportConfiguration/GDCMConfig.cmake.in ++++ b/CMake/ExportConfiguration/GDCMConfig.cmake.in +@@ -46,8 +46,6 @@ if(EXISTS ${SELF_DIR}/GDCMTargets.cmake) + else() + if(EXISTS ${SELF_DIR}/GDCMExports.cmake) + # This is a build tree +- set( GDCM_INCLUDE_DIRS "@GDCM_INCLUDE_PATH@") +- set(GDCM_LIBRARY_DIRS "@GDCM_LIBRARY_DIR@") + + include(${SELF_DIR}/GDCMExports.cmake) + +diff --git a/Source/Common/gdcmConfigure.h.in b/Source/Common/gdcmConfigure.h.in +index 4a5d68f..276c0f4 100644 +--- a/Source/Common/gdcmConfigure.h.in ++++ b/Source/Common/gdcmConfigure.h.in +@@ -37,9 +37,9 @@ + + /* Useful in particular for loadshared where the full path + * to the lib is needed */ +-#define GDCM_SOURCE_DIR "@GDCM_SOURCE_DIR@" +-#define GDCM_EXECUTABLE_OUTPUT_PATH "@EXECUTABLE_OUTPUT_PATH@" +-#define GDCM_LIBRARY_OUTPUT_PATH "@LIBRARY_OUTPUT_PATH@" ++#define GDCM_SOURCE_DIR "" ++#define GDCM_EXECUTABLE_OUTPUT_PATH "" ++#define GDCM_LIBRARY_OUTPUT_PATH "" + + #cmakedefine GDCM_BUILD_TESTING + +@@ -81,7 +81,7 @@ + /* only cerr, for instance 'invalid file' will be allowed */ + #cmakedefine GDCM_DEBUG + +-#define GDCM_CMAKE_INSTALL_PREFIX "@CMAKE_INSTALL_PREFIX@" ++#define GDCM_CMAKE_INSTALL_PREFIX "" + #define GDCM_INSTALL_INCLUDE_DIR "@GDCM_INSTALL_INCLUDE_DIR@" + #define GDCM_INSTALL_DATA_DIR "@GDCM_INSTALL_DATA_DIR@" + diff --git a/ports/gdcm/portfile.cmake b/ports/gdcm/portfile.cmake index cfba4b23c3cd51..3e8a1c48d05e3f 100644 --- a/ports/gdcm/portfile.cmake +++ b/ports/gdcm/portfile.cmake @@ -1,48 +1,35 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO malaterre/GDCM REF "v${VERSION}" - SHA512 f4fd81db731b60eebd7d67b8a7f2aa67f44d788f4c0a3f2cef9490fd4f0f1ae9caea1a9a8727619edab6aeda815ae6ace5266b1428b9bea81b7c984deb78bbac + SHA512 2fe28444cee171a536d63f26c1ad7308a03b946e79dc8b7d648b5c7e6f4a8f52c0c32ec9cf463d95b876db31becc81541638b97fc7f15b79ae04de5988d6941e HEAD_REF master PATCHES - use-openjpeg-config.patch - fix-share-path.patch - Fix-Cmake_DIR.patch - fix-dependence-getopt.patch + copyright.diff + include-no-namespace.diff + no-absolute-paths.diff + prefer-config.diff ) -file(REMOVE "${SOURCE_PATH}/CMake/FindOpenJPEG.cmake") - -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - set(VCPKG_BUILD_SHARED_LIBS ON) -else() - set(VCPKG_BUILD_SHARED_LIBS OFF) -endif() - -set(USE_VCPKG_GETOPT OFF) -if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) - set(USE_VCPKG_GETOPT ON) -endif() +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED_LIBS) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DGDCM_BUILD_DOCBOOK_MANPAGES=OFF - -DGDCM_BUILD_SHARED_LIBS=${VCPKG_BUILD_SHARED_LIBS} + -DGDCM_BUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} + -DGDCM_BUILD_TESTING=OFF + -DGDCM_INSTALL_DATA_DIR=share/${PORT} + -DGDCM_INSTALL_DOC_DIR=share/${PORT}/doc -DGDCM_INSTALL_INCLUDE_DIR=include + -DGDCM_INSTALL_PACKAGE_DIR=share/${PORT} -DGDCM_USE_SYSTEM_EXPAT=ON - -DGDCM_USE_SYSTEM_ZLIB=ON -DGDCM_USE_SYSTEM_OPENJPEG=ON - -DGDCM_BUILD_TESTING=OFF - -DUSE_VCPKG_GETOPT=${USE_VCPKG_GETOPT} - MAYBE_UNUSED_VARIABLES - USE_VCPKG_GETOPT + -DGDCM_USE_SYSTEM_ZLIB=ON ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/gdcm) +vcpkg_cmake_config_fixup() vcpkg_copy_pdbs() file(REMOVE_RECURSE @@ -50,22 +37,4 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share" ) -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/gdcm/GDCMTargets.cmake" - "set(CMAKE_IMPORT_FILE_VERSION 1)" - "set(CMAKE_IMPORT_FILE_VERSION 1) - find_package(OpenJPEG QUIET)" -) - -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/gdcmConfigure.h" "#define GDCM_SOURCE_DIR \"${SOURCE_PATH}\"" "") -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/gdcmConfigure.h" "#define GDCM_EXECUTABLE_OUTPUT_PATH \"${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin\"" "") -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/gdcmConfigure.h" "#define GDCM_LIBRARY_OUTPUT_PATH \"${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin\"" "") -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/gdcmConfigure.h" "#define GDCM_CMAKE_INSTALL_PREFIX \"${CURRENT_PACKAGES_DIR}\"" "") - -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/gdcm/GDCMConfig.cmake" "set( GDCM_INCLUDE_DIRS \"${SOURCE_PATH}/Source/Common;${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/Source/Common;${SOURCE_PATH}/Source/DataStructureAndEncodingDefinition;${SOURCE_PATH}/Source/MediaStorageAndFileFormat;${SOURCE_PATH}/Source/MessageExchangeDefinition;${SOURCE_PATH}/Source/DataDictionary;${SOURCE_PATH}/Source/InformationObjectDefinition\")" "") -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/gdcm/GDCMConfig.cmake" "set(GDCM_LIBRARY_DIRS \"${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin/.\")" "") - -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") -endif() - -vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/Copyright.txt") +vcpkg_install_copyright(FILE_LIST "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/Copyright.txt") diff --git a/ports/gdcm/prefer-config.diff b/ports/gdcm/prefer-config.diff new file mode 100644 index 00000000000000..3698bab7ea8a34 --- /dev/null +++ b/ports/gdcm/prefer-config.diff @@ -0,0 +1,47 @@ +diff --git a/CMake/ExportConfiguration/GDCMConfig.cmake.in b/CMake/ExportConfiguration/GDCMConfig.cmake.in +index 169cb82..c77cf1f 100644 +--- a/CMake/ExportConfiguration/GDCMConfig.cmake.in ++++ b/CMake/ExportConfiguration/GDCMConfig.cmake.in +@@ -1,3 +1,7 @@ ++include(CMakeFindDependencyMacro) ++find_dependency(expat CONFIG) ++find_dependency(OpenJPEG CONFIG) ++find_dependency(ZLIB) + #----------------------------------------------------------------------------- + # + # GDCMConfig.cmake - CMake configuration file for external projects. +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 38c65d1..b0cb77b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -360,8 +360,8 @@ else() + endif() + + if(GDCM_USE_SYSTEM_OPENJPEG) +- find_package(OpenJPEG 2.0.0 REQUIRED) +- set(GDCM_OPENJPEG_LIBRARIES ${OPENJPEG_LIBRARIES}) ++ find_package(OpenJPEG CONFIG REQUIRED) ++ set(GDCM_OPENJPEG_LIBRARIES $) + else() + set(GDCM_OPENJPEG_LIBRARIES gdcmopenjp2) + endif() +@@ -401,7 +401,7 @@ if(GDCM_USE_SYSTEM_ZLIB) + # If user say so, then this is a requirement ! + find_package(ZLIB REQUIRED) + include_directories(${ZLIB_INCLUDE_DIR}) +- set(GDCM_ZLIB_LIBRARIES ${ZLIB_LIBRARIES}) ++ set(GDCM_ZLIB_LIBRARIES ZLIB::ZLIB) + else() + set(GDCM_ZLIB_LIBRARIES "gdcmzlib") + endif() +@@ -420,8 +420,8 @@ endif() + + if(GDCM_USE_SYSTEM_EXPAT) + # If user say so, then this is a requirement ! +- find_package(EXPAT REQUIRED) +- set(GDCM_EXPAT_LIBRARIES ${EXPAT_LIBRARIES}) ++ find_package(expat CONFIG REQUIRED) ++ set(GDCM_EXPAT_LIBRARIES expat::expat) + else() + set(GDCM_EXPAT_LIBRARIES "gdcmexpat") + endif() diff --git a/ports/gdcm/use-openjpeg-config.patch b/ports/gdcm/use-openjpeg-config.patch deleted file mode 100644 index ff64bb1c26160d..00000000000000 --- a/ports/gdcm/use-openjpeg-config.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index f82bfd2..a062170 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -375,7 +375,10 @@ else() - endif() - - if(GDCM_USE_SYSTEM_OPENJPEG) -- find_package(OpenJPEG 2.0.0 REQUIRED) -+ find_package(OpenJPEG REQUIRED) -+ if(OPENJPEG_MAJOR_VERSION VERSION_LESS 2) -+ message( FATAL_ERROR "You need at least OpenJPEG 2") -+ endif() - set(GDCM_OPENJPEG_LIBRARIES ${OPENJPEG_LIBRARIES}) - else() - set(GDCM_OPENJPEG_LIBRARIES gdcmopenjp2) diff --git a/ports/gdcm/vcpkg.json b/ports/gdcm/vcpkg.json index cc17ffc43349ff..b3ad627bafca56 100644 --- a/ports/gdcm/vcpkg.json +++ b/ports/gdcm/vcpkg.json @@ -1,15 +1,15 @@ { "name": "gdcm", - "version": "3.0.22", + "version": "3.0.24", "description": "Grassroots DICOM library", "homepage": "https://github.com/malaterre/GDCM", - "license": "BSD-3-Clause", - "supports": "!uwp & !(windows & arm)", + "license": null, + "supports": "!uwp", "dependencies": [ "expat", { - "name": "getopt", - "platform": "windows & !mingw" + "name": "libiconv", + "platform": "!windows" }, "openjpeg", { diff --git a/ports/gdcm2/portfile.cmake b/ports/gdcm2/portfile.cmake deleted file mode 100644 index 0015715fb66c72..00000000000000 --- a/ports/gdcm2/portfile.cmake +++ /dev/null @@ -1 +0,0 @@ -set(VCPKG_POLICY_EMPTY_PACKAGE enabled) \ No newline at end of file diff --git a/ports/gdcm2/vcpkg.json b/ports/gdcm2/vcpkg.json deleted file mode 100644 index bdbe890c59bdc3..00000000000000 --- a/ports/gdcm2/vcpkg.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "gdcm2", - "version-string": "deprecated", - "port-version": 1, - "description": "This port was renamed to gdcm. The gdcm2 name is deprecated.", - "homepage": "https://github.com/malaterre/GDCM", - "dependencies": [ - "gdcm" - ] -} diff --git a/ports/gdk-pixbuf/fix-static-deps.patch b/ports/gdk-pixbuf/fix-static-deps.patch new file mode 100644 index 00000000000000..693f11db6bea6c --- /dev/null +++ b/ports/gdk-pixbuf/fix-static-deps.patch @@ -0,0 +1,12 @@ +diff --git a/gdk-pixbuf/meson.build b/gdk-pixbuf/meson.build +index d7aa127b48..c313dc272d 100644 +--- a/gdk-pixbuf/meson.build ++++ b/gdk-pixbuf/meson.build +@@ -214,6 +214,7 @@ gdkpixbuf = library('gdk_pixbuf-2.0', + dependencies: [ + gdk_pixbuf_deps, + included_loaders_deps, ++ loaders_deps + ], + install: true) + diff --git a/ports/gdk-pixbuf/portfile.cmake b/ports/gdk-pixbuf/portfile.cmake index 91544e90fc2629..313e39a0b6101f 100644 --- a/ports/gdk-pixbuf/portfile.cmake +++ b/ports/gdk-pixbuf/portfile.cmake @@ -1,15 +1,15 @@ -vcpkg_minimum_required(VERSION 2022-10-12) # for ${VERSION} vcpkg_from_gitlab( GITLAB_URL https://gitlab.gnome.org/ OUT_SOURCE_PATH SOURCE_PATH REPO GNOME/gdk-pixbuf REF "${VERSION}" - SHA512 5b7ddb6e816a88ffd2b7f85583c841ea92719bef7da1acbd6f5714afebf8538660c5d391809f959eb1887613f9579cf51c85d6796c84335cedbf7af975d790c9 + SHA512 f95c92974ed6efac9845790ef5c4ed74dd6e28b182ea3732013c46b016166e92f8bc10c1994358d79ff53e988c615c43cb1a2130c6ef531ef9d84c2fdcc87e52 HEAD_REF master PATCHES fix_build_error_windows.patch loaders-cache.patch use-libtiff-4-pkgconfig.patch + fix-static-deps.patch ) if("introspection" IN_LIST FEATURES) @@ -19,6 +19,30 @@ else() list(APPEND OPTIONS -Dintrospection=disabled) endif() +if("png" IN_LIST FEATURES) + list(APPEND OPTIONS -Dpng=enabled) +else() + list(APPEND OPTIONS -Dpng=disabled) +endif() + +if("tiff" IN_LIST FEATURES) + list(APPEND OPTIONS -Dtiff=enabled) +else() + list(APPEND OPTIONS -Dtiff=disabled) +endif() + +if("jpeg" IN_LIST FEATURES) + list(APPEND OPTIONS -Djpeg=enabled) +else() + list(APPEND OPTIONS -Djpeg=disabled) +endif() + +if("others" IN_LIST FEATURES) + list(APPEND OPTIONS -Dothers=enabled) +else() + list(APPEND OPTIONS -Dothers=disabled) +endif() + if(CMAKE_HOST_WIN32 AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") set(GIR_TOOL_DIR ${CURRENT_INSTALLED_DIR}) else() @@ -34,9 +58,6 @@ vcpkg_configure_meson( -Dman=false # Whether to generate man pages (requires xlstproc) -Dgtk_doc=false # Whether to generate the API reference (requires GTK-Doc) -Ddocs=false - -Dpng=enabled # Enable PNG loader (requires libpng) - -Dtiff=enabled # Enable TIFF loader (requires libtiff), disabled on Windows if "native_windows_loaders" is used - -Djpeg=enabled # Enable JPEG loader (requires libjpeg), disabled on Windows if "native_windows_loaders" is used -Drelocatable=true # Whether to enable application bundle relocation support -Dtests=false -Dinstalled_tests=false @@ -74,4 +95,4 @@ vcpkg_copy_tools(TOOL_NAMES ${TOOL_NAMES} AUTO_CLEAN) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/gdk-pixbuf/vcpkg.json b/ports/gdk-pixbuf/vcpkg.json index 9caa47cee92523..424ae57be9451b 100644 --- a/ports/gdk-pixbuf/vcpkg.json +++ b/ports/gdk-pixbuf/vcpkg.json @@ -1,28 +1,34 @@ { "name": "gdk-pixbuf", - "version": "2.42.10", - "port-version": 2, + "version": "2.42.12", + "port-version": 1, "description": "Image loading library.", "homepage": "https://gitlab.gnome.org/GNOME/gdk-pixbuf", "license": "LGPL-2.1-or-later", "supports": "!xbox", "dependencies": [ - "gettext", + { + "name": "gettext", + "host": true, + "features": [ + "tools" + ] + }, + "gettext-libintl", "glib", { "name": "glib", "host": true }, - "libpng", - { - "name": "tiff", - "default-features": false - }, { "name": "vcpkg-tool-meson", "host": true - }, - "zlib" + } + ], + "default-features": [ + "jpeg", + "png", + "tiff" ], "features": { "introspection": { @@ -30,6 +36,30 @@ "dependencies": [ "gobject-introspection" ] + }, + "jpeg": { + "description": "Enable JPEG loader (requires libjpeg)", + "dependencies": [ + "libjpeg-turbo" + ] + }, + "others": { + "description": "Enable other loaders, which are weakly maintained (ani, bmp, icns, ico, pnm, qtif, tga, xbm, xpm)" + }, + "png": { + "description": "Enable PNG loader (requires libpng)", + "dependencies": [ + "libpng" + ] + }, + "tiff": { + "description": "Enable TIFF loader (requires libtiff)", + "dependencies": [ + { + "name": "tiff", + "default-features": false + } + ] } } } diff --git a/ports/geogram/fix-vcpkg-install.patch b/ports/geogram/fix-vcpkg-install.patch index b05a53f62d9238..09cb877e2c886c 100644 --- a/ports/geogram/fix-vcpkg-install.patch +++ b/ports/geogram/fix-vcpkg-install.patch @@ -1,9 +1,9 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1fd796c..05bd735 100644 +index 6934fca..c2f855d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -53,7 +53,7 @@ endif() - include(cmake/geogram.cmake) +@@ -68,7 +68,7 @@ set(GEOGRAM_INSTALL_PKGCONFIG_DIR ${CMAKE_INSTALL_LIBDIR}/pkgconfig CACHE PATH " + set(GEOGRAM_INSTALL_CMAKE_DIR ${CMAKE_INSTALL_LIBDIR}/cmake/modules CACHE PATH "CMake file install destination") -set(VORPALINE_INCLUDE_SUBPATH geogram${VORPALINE_VERSION_MAJOR}) @@ -11,19 +11,19 @@ index 1fd796c..05bd735 100644 # Determine the current Build-OS (Build-platform without the compiler info) string(REGEX REPLACE "-[^-]+$" "" VORPALINE_OS ${VORPALINE_PLATFORM}) -@@ -115,6 +115,7 @@ endif() +@@ -130,6 +130,7 @@ endif() add_subdirectory(src/lib/third_party) if(GEOGRAM_WITH_GRAPHICS) -+ find_package(GLFW3 REQUIRED) - add_subdirectory(src/lib/geogram_gfx) ++find_package(GLFW3 REQUIRED) + add_subdirectory(src/lib/geogram_gfx) endif() -@@ -145,7 +146,44 @@ file(REMOVE ${CMAKE_BINARY_DIR}/doc/LICENSE.txt) +@@ -160,7 +161,44 @@ file(REMOVE ${CMAKE_BINARY_DIR}/doc/LICENSE.txt) # FindGeogram.cmake --install(FILES cmake/FindGeogram.cmake DESTINATION lib/cmake/modules COMPONENT devkit) +-install(FILES cmake/FindGeogram.cmake DESTINATION ${GEOGRAM_INSTALL_CMAKE_DIR} COMPONENT devkit) +# This installation is not suitable for vcpkg +# install(FILES cmake/FindGeogram.cmake DESTINATION lib/cmake/modules COMPONENT devkit) + @@ -66,10 +66,10 @@ index 1fd796c..05bd735 100644 # Configure CPack diff --git a/src/lib/geogram/CMakeLists.txt b/src/lib/geogram/CMakeLists.txt -index ed2dca0..30f87b7 100644 +index d50b3d2..41ec3e4 100644 --- a/src/lib/geogram/CMakeLists.txt +++ b/src/lib/geogram/CMakeLists.txt -@@ -45,7 +45,7 @@ target_include_directories(geogram PRIVATE +@@ -69,7 +69,7 @@ endif() # path for targets that depend on geogram. # See: https://cmake.org/cmake/help/v3.3/command/target_include_directories.html # https://stackoverflow.com/questions/26243169/cmake-target-include-directories-meaning-of-scope @@ -77,15 +77,20 @@ index ed2dca0..30f87b7 100644 +target_include_directories(geogram PUBLIC $) if(ANDROID) - target_include_directories(geogram PRIVATE -@@ -72,8 +72,19 @@ if(WIN32) - target_link_libraries(geogram psapi) + target_include_directories(geogram PRIVATE +@@ -78,6 +78,9 @@ ${ANDROID_NDK}/sources/android/native_app_glue + message(STATUS "building for Android") endif() +if(WIN32 AND VORPALINE_BUILD_DYNAMIC) + target_compile_definitions(geogram PUBLIC GEO_DYNAMIC_LIBS) +endif() -+ + + set_target_properties(geogram PROPERTIES + VERSION ${VORPALINE_VERSION} +@@ -101,7 +104,14 @@ target_link_libraries(geogram ${GEOGRAMPLUS_LIBS}) + endif() + # Install the library -install_devkit_targets(geogram) +install( @@ -100,10 +105,10 @@ index ed2dca0..30f87b7 100644 # Install include files for the standard devkit install( diff --git a/src/lib/geogram_gfx/CMakeLists.txt b/src/lib/geogram_gfx/CMakeLists.txt -index a6f8372..195b1e2 100644 +index 391e607..13b6bcb 100644 --- a/src/lib/geogram_gfx/CMakeLists.txt +++ b/src/lib/geogram_gfx/CMakeLists.txt -@@ -52,14 +52,21 @@ if(VORPALINE_BUILD_DYNAMIC) +@@ -52,14 +52,21 @@ target_link_libraries(geogram_gfx ${OPENGL_LIBRARIES}) endif() # Install the library @@ -119,20 +124,20 @@ index a6f8372..195b1e2 100644 # Install include files for the standard devkit install( - DIRECTORY . - DESTINATION include/${VORPALINE_INCLUDE_SUBPATH}/geogram_gfx - COMPONENT devkit -- FILES_MATCHING PATTERN *.h -+ FILES_MATCHING PATTERN *.h PATTERN *.xpm # xpm is the colrbar file + DIRECTORY . + DESTINATION include/${VORPALINE_INCLUDE_SUBPATH}/geogram_gfx + COMPONENT devkit +-FILES_MATCHING PATTERN *.h ++FILES_MATCHING PATTERN *.h PATTERN *.xpm # xpm is the colrbar file ) # Install include files for the full devkit @@ -67,7 +74,7 @@ install( - DIRECTORY . - DESTINATION include/${VORPALINE_INCLUDE_SUBPATH}/geogram_gfx - COMPONENT devkit-full -- FILES_MATCHING PATTERN *.h -+ FILES_MATCHING PATTERN *.h PATTERN *.xpm # xpm is the colrbar file + DIRECTORY . + DESTINATION include/${VORPALINE_INCLUDE_SUBPATH}/geogram_gfx + COMPONENT devkit-full +-FILES_MATCHING PATTERN *.h ++FILES_MATCHING PATTERN *.h PATTERN *.xpm # xpm is the colrbar file ) install( diff --git a/ports/geogram/portfile.cmake b/ports/geogram/portfile.cmake index eb16d4e8ceb303..9a227879193c28 100644 --- a/ports/geogram/portfile.cmake +++ b/ports/geogram/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO BrunoLevy/geogram REF "v${VERSION}" - SHA512 ae3d95be1c5061ace92921b3fcfb0027d23c595b131b0d31f1788adbe0d8f92367bef71736d6c936504bd37eba5fcdae658369f03734e233bf3eab14bca6f9e5 + SHA512 ed60352bfc3bc65dfbeac7c34b5ecf59e12cd61678e961f7d3ca445315bc13d377df93982f070be69815824ea1d6490a683e108b0456a4ebf4019e9d9e206599 PATCHES fix-vcpkg-install.patch ) @@ -11,16 +11,16 @@ vcpkg_from_github( vcpkg_from_github( OUT_SOURCE_PATH AMGCL_SOURCE_PATH REPO ddemidov/amgcl - REF 8083b23fbe69c43cee0d4bc17e4334572e292c93 - SHA512 1b29871ace68c53b46711012921261929f8bd612f93b47d2c59523cd3d68366956fe1c9ec81a94b3aaab63357001799c9e34af79376b940fa6b7a53cdf136897 + REF a705f0822a332e215c41bccbeb6a7d92e90c49f2 + SHA512 09dda0eb318ee4cd74af9ea67d9fcdce8a4399ab08b08cd72e2c7de953ad584204402b932c2a3222b7c74b25934267230bbc333a377e25f87ad045087ace2000 ) #third_party: libMeshb vcpkg_from_github( OUT_SOURCE_PATH LIBMESHB_SOURCE_PATH REPO LoicMarechal/libMeshb - REF b4a91513317119ff71a1186906a052da0e535913 - SHA512 bff30a233c2746a454d552be66f5654bf4af995d6f1eb00a4d21ed10c86234a5be4d6f31282645858e0a829b10fd98cad7188c69be65cdabbd18478fc26bad1f + REF e3678731ef14497c720ee7017a14450eba2602d2 + SHA512 5c8f25805ce02cb48600914893f24ecd2dcbb8226692d47089605ff99db8785781407ec9152e29b0c3bc44d16f6d893cd171e5337c3cb1861468da05471872b6 ) #third_party: rply @@ -122,7 +122,8 @@ vcpkg_replace_string( "${CURRENT_PACKAGES_DIR}/share/geogram/GeogramTargets.cmake" [[INTERFACE_INCLUDE_DIRECTORIES "/src/lib;${_IMPORT_PREFIX}/include"]] [[INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"]] - ) + IGNORE_UNCHANGED +) # Handle copyright vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/doc/devkit/license.dox") diff --git a/ports/geogram/vcpkg.json b/ports/geogram/vcpkg.json index 51233ba8986f05..bf3c8414febeef 100644 --- a/ports/geogram/vcpkg.json +++ b/ports/geogram/vcpkg.json @@ -1,7 +1,6 @@ { "name": "geogram", - "version": "1.8.3", - "port-version": 1, + "version": "1.9.2", "description": "Geogram is a programming library of geometric algorithms.", "homepage": "https://github.com/BrunoLevy/geogram", "license": "BSD-3-Clause", diff --git a/ports/geographiclib/portfile.cmake b/ports/geographiclib/portfile.cmake index a2b1a05608ea97..8e9f66ae4acee4 100644 --- a/ports/geographiclib/portfile.cmake +++ b/ports/geographiclib/portfile.cmake @@ -2,8 +2,8 @@ vcpkg_from_sourceforge( OUT_SOURCE_PATH SOURCE_PATH REPO geographiclib REF distrib-C++ - FILENAME "GeographicLib-2.3.tar.gz" - SHA512 1a1bd0fc2dc3e1372cf22618af3a4340bbc6497f94c64226c97654dfff92a4bf3acf47d91592741fe0c643d401d9721f680bdb4974b8ee258fb09d525fbaec67 + FILENAME "GeographicLib-${VERSION}.tar.gz" + SHA512 c165115228b775a4a95b318c1bac1d2871e45ea21f20043c9c9f1c165efb6848c027b883f7b19dcce8c86e71ded56eb5fdcde39f1ff94d61fdc98c9206abd1ae ) vcpkg_check_features( diff --git a/ports/geographiclib/vcpkg.json b/ports/geographiclib/vcpkg.json index 82a9b8ec9954ea..e60306b3c09b4c 100644 --- a/ports/geographiclib/vcpkg.json +++ b/ports/geographiclib/vcpkg.json @@ -1,6 +1,6 @@ { "name": "geographiclib", - "version": "2.3", + "version": "2.5", "description": "GeographicLib, a C++ library for performing geographic conversions", "homepage": "https://geographiclib.sourceforge.io", "license": "MIT", diff --git a/ports/geos/disable-warning-4996.patch b/ports/geos/disable-warning-4996.patch deleted file mode 100644 index d10e8df8ab6e17..00000000000000 --- a/ports/geos/disable-warning-4996.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index e758b5dc8..074986f38 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -187,7 +187,7 @@ target_compile_features(geos_cxx_flags INTERFACE cxx_std_11) - target_compile_options(geos_cxx_flags INTERFACE - "$<$,$>:-ffp-contract=off>" - "$<$:-ffp-contract=off>" -- "$<$:/fp:precise>" -+ $<$:/fp:precise /wd4996> - ) - - # Use -ffloat-store for 32-bit builds (needed to make some tests pass) diff --git a/ports/geos/fix-dll-builds.patch b/ports/geos/fix-dll-builds.patch deleted file mode 100644 index 9e1aa9f9551e28..00000000000000 --- a/ports/geos/fix-dll-builds.patch +++ /dev/null @@ -1,72 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 074986f..bb5ab3a 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -187,7 +187,7 @@ target_compile_features(geos_cxx_flags INTERFACE cxx_std_11) - target_compile_options(geos_cxx_flags INTERFACE - "$<$,$>:-ffp-contract=off>" - "$<$:-ffp-contract=off>" -- $<$:/fp:precise /wd4996> -+ "$<$:/fp:precise /wd4996>" - ) - - # Use -ffloat-store for 32-bit builds (needed to make some tests pass) -@@ -227,10 +227,10 @@ target_compile_definitions(geos_cxx_flags - - target_compile_definitions(geos_developer_cxx_flags - INTERFACE -- $<$:_CRT_NONSTDC_NO_DEPRECATE> -- $<$:_SCL_SECURE_NO_DEPRECATE> -- $<$:_CRT_SECURE_NO_WARNINGS> -- $<$:NOMINMAX>) -+ "$<$:_CRT_NONSTDC_NO_DEPRECATE>" -+ "$<$:_SCL_SECURE_NO_DEPRECATE>" -+ "$<$:_CRT_SECURE_NO_WARNINGS>" -+ "$<$:NOMINMAX>") - - target_compile_options(geos_developer_cxx_flags - INTERFACE -@@ -269,7 +269,7 @@ option(VERSION_MINGW_SHARED_LIBS "Add version suffix to MinGW shared libraries" - - if(BUILD_SHARED_LIBS) - target_compile_definitions(geos -- PRIVATE $,GEOS_DLL_EXPORT,DLL_EXPORT>) -+ PRIVATE $<$:GEOS_DLL_EXPORT>) - - set_target_properties(geos PROPERTIES VERSION ${GEOS_VERSION_NOPATCH}) - set_target_properties(geos PROPERTIES SOVERSION ${GEOS_VERSION_NOPATCH}) -@@ -287,7 +287,7 @@ target_link_libraries(geos_c PRIVATE geos) - - if(BUILD_SHARED_LIBS) - target_compile_definitions(geos_c -- PRIVATE $,GEOS_DLL_EXPORT,DLL_EXPORT>) -+ PRIVATE $<$:GEOS_DLL_EXPORT>) - - set_target_properties(geos_c PROPERTIES VERSION ${CAPI_VERSION}) - if(NOT WIN32 OR MINGW) -diff --git a/include/geos/algorithm/locate/IndexedPointInAreaLocator.h b/include/geos/algorithm/locate/IndexedPointInAreaLocator.h -index 7a647e4..52a29c9 100644 ---- a/include/geos/algorithm/locate/IndexedPointInAreaLocator.h -+++ b/include/geos/algorithm/locate/IndexedPointInAreaLocator.h -@@ -51,7 +51,7 @@ namespace locate { // geos::algorithm::locate - * The index is lazy-loaded, which allows creating instances even if they are not used. - * - */ --class IndexedPointInAreaLocator : public PointOnGeometryLocator { -+class GEOS_DLL IndexedPointInAreaLocator : public PointOnGeometryLocator { - private: - struct SegmentView { - SegmentView(const geom::Coordinate* p_p0, const geom::Coordinate* p_p1) : m_p0(p_p0) { -diff --git a/include/geos/export.h b/include/geos/export.h -index 1a26f8c..997fb4c 100644 ---- a/include/geos/export.h -+++ b/include/geos/export.h -@@ -19,7 +19,7 @@ - # if defined(GEOS_DLL_EXPORT) - # define GEOS_DLL __declspec(dllexport) - # elif defined(GEOS_DLL_IMPORT) --# define GEOS_DLL __declspec(dllimport) -+# define GEOS_DLL extern __declspec(dllimport) - # else - # define GEOS_DLL - # endif diff --git a/ports/geos/fix-exported-config.patch b/ports/geos/fix-exported-config.patch index 3476cfcb1d3310..7f26a29421426f 100644 --- a/ports/geos/fix-exported-config.patch +++ b/ports/geos/fix-exported-config.patch @@ -66,11 +66,11 @@ index 6eff1eb14..8827f6ac6 100644 ;; --static-clibs) - echo -L${libdir} -lgeos_c -lgeos -lstdc++ -lm -+ echo -L${libdir} -lgeos_c -lgeos -lstdc++ @EXTRA_LIBS@ ++ echo -L${libdir} -lgeos_c -lgeos @EXTRA_LIBS@ ;; --static-cclibs) - echo -L${libdir} -lgeos -lstdc++ -lm -+ echo -L${libdir} -lgeos -lstdc++ @EXTRA_LIBS@ ++ echo -L${libdir} -lgeos @EXTRA_LIBS@ ;; --cflags) echo -I${includedir} diff --git a/ports/geos/gcc-13-fix-backport.patch b/ports/geos/gcc-13-fix-backport.patch deleted file mode 100644 index 9344a426488998..00000000000000 --- a/ports/geos/gcc-13-fix-backport.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/include/geos/shape/fractal/HilbertEncoder.h b/include/geos/shape/fractal/HilbertEncoder.h -index 61c0010d4..eba5bba8f 100644 ---- a/include/geos/shape/fractal/HilbertEncoder.h -+++ b/include/geos/shape/fractal/HilbertEncoder.h -@@ -18,6 +18,7 @@ - #include - #include - #include -+#include - - // Forward declarations - namespace geos { diff --git a/ports/geos/portfile.cmake b/ports/geos/portfile.cmake index c5b03880ddbd6d..7d266271a35d43 100644 --- a/ports/geos/portfile.cmake +++ b/ports/geos/portfile.cmake @@ -1,17 +1,19 @@ -vcpkg_minimum_required(VERSION 2022-10-12) # for ${VERSION} vcpkg_download_distfile(ARCHIVE URLS "https://download.osgeo.org/geos/geos-${VERSION}.tar.bz2" FILENAME "geos-${VERSION}.tar.bz2" - SHA512 b5df5b773bef595335e1be6c6d3325f932f1577e2a4b8bdfa8cf26f09c7d41ed5e0695ca15826d1f95bc4a45b777839c2be8a96a8af5415c8bcf58cc804eb1ec + SHA512 8ffaa3f49a8365db693ac948e9d66cf55321eb12151734c7da2775070b7804ffa607de2474b7019d6ea2a99d5e037fb1e8561bf9025e65ddd4bd1ba049382b28 +) +vcpkg_download_distfile(msvc_2017_patch + URLS https://github.com/libgeos/geos/commit/46e9f158073ebf0d4ec8b7dde37c155d097bc0d7.diff?full_index=1 + SHA512 9fa1ccc4c66e8268c59bcac218015c2b10ee594bece837e6d0fc78fe700233abd1b2df7aa396c00786ffb170fbfbb0ab530f5007ba10376a2366ee3472d8b02a + FILENAME geos-${VERSION}-msvc-2017.diff ) vcpkg_extract_source_archive(SOURCE_PATH ARCHIVE "${ARCHIVE}" SOURCE_BASE "v${VERSION}" PATCHES - disable-warning-4996.patch fix-exported-config.patch - fix-dll-builds.patch - gcc-13-fix-backport.patch + "${msvc_2017_patch}" ) vcpkg_cmake_configure( @@ -54,4 +56,4 @@ endif() vcpkg_copy_pdbs() file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/geos/usage b/ports/geos/usage index 139e40dd27eb92..ef1fdf99f2cc5e 100644 --- a/ports/geos/usage +++ b/ports/geos/usage @@ -1,10 +1,14 @@ -The package geos provides CMake targets: +geos provides CMake targets: - # C API (provides long-term ABI stability) - find_package(GEOS CONFIG REQUIRED) - target_link_libraries(main PRIVATE GEOS::geos_c) + # C API (provides long-term ABI stability) + find_package(GEOS CONFIG REQUIRED) + target_link_libraries(main PRIVATE GEOS::geos_c) - # C++ API (will likely change across versions) - find_package(GEOS CONFIG REQUIRED) - target_link_libraries(main PRIVATE GEOS::geos) + # C++ API (will likely change across versions) + find_package(GEOS CONFIG REQUIRED) + target_link_libraries(main PRIVATE GEOS::geos) +geos provides pkg-config modules: + + # Geometry Engine, Open Source - C API + geos diff --git a/ports/geos/vcpkg.json b/ports/geos/vcpkg.json index 7de5c672afa144..27dbaf5e65e414 100644 --- a/ports/geos/vcpkg.json +++ b/ports/geos/vcpkg.json @@ -1,6 +1,7 @@ { "name": "geos", - "version": "3.11.2", + "version": "3.13.0", + "port-version": 1, "description": "Geometry Engine Open Source", "homepage": "https://libgeos.org/", "license": "LGPL-2.1-only", diff --git a/ports/getdns/disable-docs.patch b/ports/getdns/disable-docs.patch index ffa7afa5623f9d..3d0670e27d16ef 100644 --- a/ports/getdns/disable-docs.patch +++ b/ports/getdns/disable-docs.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 413709da..d3dd03f0 100644 +index 9170be7..def3758 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -1039,9 +1039,9 @@ configure_file(src/version.c.in version.c) +@@ -1036,9 +1036,9 @@ configure_file(src/version.c.in version.c) set(version ${PACKAGE_VERSION}) set(date ${API_VERSION}) @@ -15,7 +15,7 @@ index 413709da..d3dd03f0 100644 get_filename_component(out ${man} NAME_WE) configure_file(${man} man3/${out}.3 @ONLY) -@@ -1061,7 +1061,7 @@ foreach (man ${mans}) +@@ -1058,7 +1058,7 @@ foreach (man ${mans}) configure_file(${man} man3/${alt}.3 @ONLY) endif () endforeach() @@ -23,20 +23,18 @@ index 413709da..d3dd03f0 100644 +endif() set(prefix ${CMAKE_INSTALL_PREFIX}) - configure_file(getdns.pc.in getdns.pc @ONLY) -@@ -1099,11 +1099,11 @@ if (BUILD_GETDNS_SERVER_MON) + cmake_path(APPEND libdir_for_pc_file "\${prefix}" "${CMAKE_INSTALL_LIBDIR}") +@@ -1098,10 +1098,10 @@ if (BUILD_GETDNS_SERVER_MON) endif () install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/getdns DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) --install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/man3 DESTINATION share/man) -+#install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/man3 DESTINATION share/man) +-install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/man3 DESTINATION ${CMAKE_INSTALL_MANDIR}) ++#install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/man3 DESTINATION ${CMAKE_INSTALL_MANDIR}) --set(docdir share/doc/getdns) --install(FILES AUTHORS ChangeLog COPYING LICENSE NEWS README.md DESTINATION ${docdir}) --install(FILES spec/index.html DESTINATION ${docdir}/spec) -+#set(docdir share/doc/getdns) -+#install(FILES AUTHORS ChangeLog COPYING LICENSE NEWS README.md DESTINATION ${docdir}) -+#install(FILES spec/index.html DESTINATION ${docdir}/spec) +-install(FILES AUTHORS ChangeLog COPYING LICENSE NEWS README.md DESTINATION ${CMAKE_INSTALL_DOCDIR}) +-install(FILES spec/index.html DESTINATION ${CMAKE_INSTALL_DOCDIR}/spec) ++#install(FILES AUTHORS ChangeLog COPYING LICENSE NEWS README.md DESTINATION ${CMAKE_INSTALL_DOCDIR}) ++#install(FILES spec/index.html DESTINATION ${CMAKE_INSTALL_DOCDIR}/spec) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/getdns.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) install(CODE "message(\"\ diff --git a/ports/getdns/fix-include.patch b/ports/getdns/fix-include.patch new file mode 100644 index 00000000000000..27ea5fa210d313 --- /dev/null +++ b/ports/getdns/fix-include.patch @@ -0,0 +1,30 @@ +diff --git a/src/gldns/parse.c b/src/gldns/parse.c +index 367fa80..79fa527 100644 +--- a/src/gldns/parse.c ++++ b/src/gldns/parse.c +@@ -13,7 +13,7 @@ + #include "gldns/gbuffer.h" + + #include +-#include ++#include + + gldns_lookup_table gldns_directive_types[] = { + { GLDNS_DIR_TTL, "$TTL" }, +diff --git a/src/gldns/parseutil.c b/src/gldns/parseutil.c +index 293496a..bcd8e6f 100644 +--- a/src/gldns/parseutil.c ++++ b/src/gldns/parseutil.c +@@ -14,8 +14,12 @@ + + #include "config.h" + #include "gldns/parseutil.h" ++#ifdef HAVE_SYS_TIME_H + #include ++#endif ++#ifdef HAVE_TIME_H + #include ++#endif + #include + + gldns_lookup_table * diff --git a/ports/getdns/fix-libuv-deps.patch b/ports/getdns/fix-libuv-deps.patch new file mode 100644 index 00000000000000..71720ce3eca4e9 --- /dev/null +++ b/ports/getdns/fix-libuv-deps.patch @@ -0,0 +1,33 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c5b711e..6bd9ee2 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -872,7 +872,7 @@ endif () + + # libuv extension. + if (USE_LIBUV) +- find_package(Libuv) ++ find_package(libuv CONFIG REQUIRED) + if (Libuv_FOUND) + # Check for new-style callbacks. + try_compile(HAVE_NEW_UV_TIMER_CB +@@ -894,8 +894,7 @@ if (USE_LIBUV) + set_property(TARGET uv_objects PROPERTY C_STANDARD 11) + if (ENABLE_STATIC) + add_library(getdns_ext_uv STATIC $) +- target_include_directories(getdns_ext_uv PRIVATE Libuv::Libuv) +- target_link_libraries(getdns_ext_uv PUBLIC getdns Libuv::Libuv) ++ target_link_libraries(getdns_ext_uv PUBLIC getdns $,libuv::uv_a,libuv::uv>) + if (Libunbound_FOUND) + target_link_libraries(getdns_ext_uv PUBLIC Libunbound::Libunbound) + endif () +@@ -903,8 +902,7 @@ if (USE_LIBUV) + endif () + if (ENABLE_SHARED) + add_library(getdns_ext_uv_shared SHARED $) +- target_include_directories(getdns_ext_uv_shared PRIVATE Libuv::Libuv) +- target_link_libraries(getdns_ext_uv_shared PUBLIC getdns_shared Libuv::Libuv) ++ target_link_libraries(getdns_ext_uv_shared PUBLIC getdns $,libuv::uv_a,libuv::uv>) + if (Libunbound_FOUND) + target_link_libraries(getdns_ext_uv_shared PUBLIC Libunbound::Libunbound) + endif () diff --git a/ports/getdns/portfile.cmake b/ports/getdns/portfile.cmake index 07a11fe8040366..64eccdfdd353dd 100644 --- a/ports/getdns/portfile.cmake +++ b/ports/getdns/portfile.cmake @@ -1,19 +1,19 @@ -set(GETDNS_VERSION 1.7.0) -set(GETDNS_HASH d09b8bdd0b4a3df2d25b9689166226da83a5a7eb2c7436487dc637539ac6077624a4d66cf684c4e6c4911561872c6bd191af3afd90d275b1662e4c6c47773ef6) - string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" GETDNS_ENABLE_STATIC) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" GETDNS_ENABLE_SHARED) vcpkg_download_distfile(ARCHIVE - URLS "https://getdnsapi.net/dist/getdns-${GETDNS_VERSION}.tar.gz" - FILENAME "getdns-${GETDNS_VERSION}.tar.gz" - SHA512 ${GETDNS_HASH} + URLS "https://getdnsapi.net/dist/getdns-${VERSION}.tar.gz" + FILENAME "getdns-${VERSION}.tar.gz" + SHA512 d5725a24378b6fe0018daefdaba5565d2d4d51109ef66609fc34270a0a69accb95f5f895d0cdfc5caca51d2ec586db126f367439f05aed12507395af26739e2f ) vcpkg_extract_source_archive( SOURCE_PATH ARCHIVE "${ARCHIVE}" - PATCHES disable-docs.patch + PATCHES + disable-docs.patch + fix-include.patch + fix-libuv-deps.patch ) if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) diff --git a/ports/getdns/vcpkg.json b/ports/getdns/vcpkg.json index 98b9d330476ce0..92ee276fbf62d8 100644 --- a/ports/getdns/vcpkg.json +++ b/ports/getdns/vcpkg.json @@ -1,7 +1,6 @@ { "name": "getdns", - "version": "1.7.0", - "port-version": 3, + "version": "1.7.3", "description": "GetDNS is a modern asynchronous DNS API", "homepage": "https://getdnsapi.net/", "license": "BSD-3-Clause", diff --git a/ports/gettext-libintl/android.patch b/ports/gettext-libintl/android.patch deleted file mode 100644 index 6f2a7d43faf95f..00000000000000 --- a/ports/gettext-libintl/android.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --color -ruN a/gettext-runtime/intl/dcigettext.c src/gettext-runtime/intl/dcigettext.c ---- a/gettext-runtime/intl/dcigettext.c 2021-05-26 16:27:55.420544597 +0200 -+++ src/gettext-runtime/intl/dcigettext.c 2021-05-26 16:29:14.546516701 +0200 -@@ -143,7 +143,7 @@ - # else - # if VMS - # define getcwd(buf, max) (getcwd) (buf, max, 0) --# else -+# elif !(defined(__clang__) && defined(__BIONIC_FORTIFY)) - char *getcwd (); - # endif - # endif diff --git a/ports/gettext-libintl/detect/CMakeLists.txt b/ports/gettext-libintl/detect/CMakeLists.txt new file mode 100644 index 00000000000000..b1a87fd683ea7f --- /dev/null +++ b/ports/gettext-libintl/detect/CMakeLists.txt @@ -0,0 +1,16 @@ +cmake_minimum_required(VERSION 3.20) +project(find-libintl C) + +set(OUTFILE "${CMAKE_CURRENT_BINARY_DIR}/detected_intl.cmake" CACHE FILEPATH "Where to store results") + +find_package(Intl) +find_file(LIBINTL_H NAMES libintl.h PATHS ${Intl_INCLUDE_DIRS}) + +string(CONFIGURE [[ +set(VCPKG_DETECTED_Intl_FOUND "@Intl_FOUND@") +set(VCPKG_DETECTED_Intl_IS_BUILT_IN "@Intl_IS_BUILT_IN@") +set(VCPKG_DETECTED_Intl_INCLUDE_DIRS "@Intl_INCLUDE_DIRS@") +set(VCPKG_DETECTED_LIBINTL_H "@LIBINTL_H@") +]] detected_intl @ONLY ESCAPE_QUOTES) + +file(WRITE "${OUTFILE}" "${detected_intl}") diff --git a/ports/gettext-libintl/portfile.cmake b/ports/gettext-libintl/portfile.cmake index e65edae63d4c60..d3f30149d1766c 100644 --- a/ports/gettext-libintl/portfile.cmake +++ b/ports/gettext-libintl/portfile.cmake @@ -1,11 +1,22 @@ -if(VCPKG_TARGET_IS_LINUX) - set(VCPKG_POLICY_EMPTY_PACKAGE enabled) - if(NOT EXISTS "/usr/include/libintl.h") +if(VCPKG_TARGET_IS_LINUX AND NOT X_VCPKG_FORCE_VCPKG_GETTEXT_LIBINTL) + set(detection_results "${CURRENT_BUILDTREES_DIR}/detected-intl-${TARGET_TRIPLET}.cmake.log") + file(REMOVE "${detection_results}") + block(SCOPE_FOR VARIABLES) + set(VCPKG_BUILD_TYPE release) + vcpkg_cmake_configure(SOURCE_PATH "${CURRENT_PORT_DIR}/detect" OPTIONS "-DOUTFILE=${detection_results}") + endblock() + include("${detection_results}") + message(STATUS "libintl header: ${VCPKG_DETECTED_LIBINTL_H}") + if(NOT VCPKG_DETECTED_LIBINTL_H) message(FATAL_ERROR - "When targeting Linux, `libintl.h` is expected to come from the C Runtime Library (glibc). " - "Please use \"sudo apt-get install libc-dev\" or the equivalent to install development files." + "When targeting Linux, `libintl.h` is expected to come from a system package. " + "Please use the following commands or the equivalent to install development files.\n" + "On Debian and Ubuntu derivatives: \"sudo apt-get install libc-dev\"\n" + "On Alpine: \"apk add gettext-dev\"\n" ) endif() + + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") return() endif() @@ -16,14 +27,12 @@ vcpkg_download_distfile(ARCHIVE URLS "https://ftp.gnu.org/pub/gnu/gettext/gettext-${VERSION}.tar.gz" "https://www.mirrorservice.org/sites/ftp.gnu.org/gnu/gettext/gettext-${VERSION}.tar.gz" FILENAME "gettext-${VERSION}.tar.gz" - SHA512 ccd43a43fab3c90ed99b3e27628c9aeb7186398153b137a4997f8c7ddfd9729b0ba9d15348567e5206af50ac027673d2b8a3415bb3fc65f87ad778f85dc03a05 + SHA512 d8b22d7fba10052a2045f477f0a5b684d932513bdb3b295c22fbd9dfc2a9d8fccd9aefd90692136c62897149aa2f7d1145ce6618aa1f0be787cb88eba5bc09be ) vcpkg_extract_source_archive(SOURCE_PATH ARCHIVE "${ARCHIVE}" PATCHES - # Shared with port gettext - android.patch uwp.patch 0003-Fix-win-unicode-paths.patch ) @@ -43,32 +52,25 @@ endif() set(OPTIONS --no-recursion --enable-relocatable #symbol duplication with glib-init.c? - --enable-c++ - --disable-acl - --disable-csharp - --disable-curses - --disable-java - --disable-libasprintf - --disable-openmp --with-included-gettext --without-libintl-prefix - --disable-dependency-tracking # Faster ? - ac_cv_path_DVIPS=: - ac_cv_path_GMSGFMT=: - ac_cv_path_MSGFMT=: - ac_cv_path_MSGMERGE=: - ac_cv_path_TEXI2PDF=: - ac_cv_path_XGETTEXT=: - ac_cv_prog_INTLBISON=: + --disable-dependency-tracking + ac_cv_path_GMSGFMT=false + ac_cv_path_MSGFMT=false + ac_cv_path_MSGMERGE=false + ac_cv_path_XGETTEXT=false + ac_cv_prog_INTLBISON=false ) if(VCPKG_TARGET_IS_WINDOWS) list(APPEND OPTIONS # Avoid unnecessary tests. am_cv_func_iconv_works=yes - "--with-libiconv-prefix=${CURRENT_INSTALLED_DIR}" - ## This is required. For some reason these do not get correctly identified for release builds. + # This is required. For some reason these do not get correctly identified for release builds. ac_cv_func_wcslen=yes ac_cv_func_memmove=yes + # May trigger debugger window in debug builds, even in unattended builds. + # Cf. https://github.com/microsoft/vcpkg/issues/35974 + gl_cv_func_printf_directive_n=no ) if(NOT VCPKG_TARGET_IS_MINGW) list(APPEND OPTIONS @@ -88,7 +90,7 @@ endif() file(REMOVE "${CURRENT_BUILDTREES_DIR}/config.cache-${TARGET_TRIPLET}-rel.log") file(REMOVE "${CURRENT_BUILDTREES_DIR}/config.cache-${TARGET_TRIPLET}-dbg.log") -vcpkg_configure_make(SOURCE_PATH "${SOURCE_PATH}/gettext-runtime" +vcpkg_configure_make(SOURCE_PATH "${SOURCE_PATH}/gettext-runtime/intl" DETERMINE_BUILD_TRIPLET USE_WRAPPERS OPTIONS @@ -103,17 +105,18 @@ vcpkg_configure_make(SOURCE_PATH "${SOURCE_PATH}/gettext-runtime" # - Avoid an extra command to move a temporary file, we are building out of source. # - Avoid a subshell just to add comments, the build dir is temporary. # - Avoid cygpath -w when other tools handle this for us. -file(GLOB_RECURSE makefiles "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}*/intl/Makefile") +file(GLOB_RECURSE makefiles "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}*/Makefile") foreach(file IN LISTS makefiles) file(READ "${file}" rules) string(REGEX REPLACE "(\n\ttest -d [^ ]* [|][|] [\$][(]MKDIR_P[)][^\n;]*)(\n\t)" "\\1 || exit 1 ; \\\\\\2" rules "${rules}") string(REGEX REPLACE "(\n\t){ echo '/[*] [^*]* [*]/'; \\\\\n\t cat ([^;\n]*); \\\\\n\t[}] > [\$]@-t\n\tmv -f [\$]@-t ([\$]@\n)" "\\1cp \\2 \\3" rules "${rules}") string(REGEX REPLACE " > [\$]@-t\n\t[\$][(]AM_V_at[)]mv [\$]@-t ([\$]@\n)" "> \\1" rules "${rules}") string(REGEX REPLACE "([\$}[(]COMPILE[)] -c -o [\$]@) `[\$][(]CYGPATH_W[)] '[\$]<'`" "\\1 \$<" rules "${rules}") + string(REPLACE " ../config.h" " config.h" rules "${rules}") file(WRITE "${file}" "${rules}") endforeach() -vcpkg_install_make(SUBPATH intl) +vcpkg_install_make() vcpkg_copy_pdbs() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") diff --git a/ports/gettext-libintl/uwp.patch b/ports/gettext-libintl/uwp.patch index 416e2ea3c5e361..c16a0f5f4309e5 100644 --- a/ports/gettext-libintl/uwp.patch +++ b/ports/gettext-libintl/uwp.patch @@ -1,20 +1,3 @@ -diff --git a/gettext-runtime/gnulib-lib/fcntl.c b/gettext-runtime/gnulib-lib/fcntl.c -index f9753c4..3a3caee 100644 ---- a/gettext-runtime/gnulib-lib/fcntl.c -+++ b/gettext-runtime/gnulib-lib/fcntl.c -@@ -38,6 +38,12 @@ - # define WIN32_LEAN_AND_MEAN - # include - -+# if defined(WINAPI_FAMILY_PARTITION) -+# if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) -+# define HANDLE_FLAG_INHERIT 0 -+# endif -+# endif -+ - /* Get _get_osfhandle. */ - # if GNULIB_MSVC_NOTHROW - # include "msvc-nothrow.h" diff --git a/gettext-runtime/intl/langprefs.c b/gettext-runtime/intl/langprefs.c index f774ba2..f488b7f 100644 --- a/gettext-runtime/intl/langprefs.c @@ -31,10 +14,10 @@ index f774ba2..f488b7f 100644 #endif #ifdef WIN32_NATIVE -diff --git a/gettext-runtime/intl/localcharset.c b/gettext-runtime/intl/localcharset.c +diff --git a/gettext-runtime/intl/gnulib-lib/localcharset.c b/gettext-runtime/intl/gnulib-lib/localcharset.c index ec75427..9e063e4 100644 ---- a/gettext-runtime/intl/localcharset.c -+++ b/gettext-runtime/intl/localcharset.c +--- a/gettext-runtime/intl/gnulib-lib/localcharset.c ++++ b/gettext-runtime/intl/gnulib-lib/localcharset.c @@ -34,6 +34,9 @@ #if defined _WIN32 && !defined __CYGWIN__ # define WINDOWS_NATIVE @@ -54,19 +37,3 @@ index ec75427..9e063e4 100644 # elif defined WINDOWS_NATIVE char buf[2 + 10 + 1]; -diff --git a/gettext-runtime/intl/localename.c b/gettext-runtime/intl/localename.c -index d77bb81..3c6e055 100644 ---- a/gettext-runtime/intl/localename.c -+++ b/gettext-runtime/intl/localename.c -@@ -69,6 +69,11 @@ extern char * getlocalename_l(int, locale_t); - - #if defined _WIN32 && !defined __CYGWIN__ - # define WINDOWS_NATIVE -+# if defined(WINAPI_FAMILY_PARTITION) -+# if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) -+# undef WIN32_NATIVE -+# endif -+# endif - # if !defined IN_LIBINTL - # include "glthread/lock.h" - # endif diff --git a/ports/gettext-libintl/vcpkg-cmake-wrapper.cmake b/ports/gettext-libintl/vcpkg-cmake-wrapper.cmake index 03bcb0569defbc..10708b64679919 100644 --- a/ports/gettext-libintl/vcpkg-cmake-wrapper.cmake +++ b/ports/gettext-libintl/vcpkg-cmake-wrapper.cmake @@ -10,5 +10,14 @@ if(Intl_FOUND AND Intl_LIBRARIES) find_package(Iconv) # Since CMake 3.11 if(Iconv_FOUND AND NOT Iconv_IS_BUILT_IN) list(APPEND Intl_LIBRARIES ${Iconv_LIBRARIES}) + if(TARGET Intl::Intl) # Since CMake 3.20 + set_property(TARGET Intl::Intl APPEND PROPERTY INTERFACE_LINK_LIBRARIES $) + endif() + endif() + if(APPLE) + list(APPEND Intl_LIBRARIES "-framework CoreFoundation") + if(TARGET Intl::Intl) # Since CMake 3.20 + set_property(TARGET Intl::Intl APPEND PROPERTY INTERFACE_LINK_LIBRARIES "$") + endif() endif() endif() diff --git a/ports/gettext-libintl/vcpkg.json b/ports/gettext-libintl/vcpkg.json index 89ad8f2fa2f64d..3451ce066cae9c 100644 --- a/ports/gettext-libintl/vcpkg.json +++ b/ports/gettext-libintl/vcpkg.json @@ -1,7 +1,7 @@ { "name": "gettext-libintl", - "version": "0.21.1", - "port-version": 1, + "version": "0.22.5", + "port-version": 2, "description": "The libintl C library from GNU gettext-runtime.", "homepage": "https://www.gnu.org/software/gettext/", "license": "LGPL-2.1-or-later", @@ -10,6 +10,11 @@ { "name": "libiconv", "platform": "!linux" + }, + { + "name": "vcpkg-cmake", + "host": true, + "platform": "linux" } ] } diff --git a/ports/gettext/android.patch b/ports/gettext/android.patch deleted file mode 100644 index 6f2a7d43faf95f..00000000000000 --- a/ports/gettext/android.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --color -ruN a/gettext-runtime/intl/dcigettext.c src/gettext-runtime/intl/dcigettext.c ---- a/gettext-runtime/intl/dcigettext.c 2021-05-26 16:27:55.420544597 +0200 -+++ src/gettext-runtime/intl/dcigettext.c 2021-05-26 16:29:14.546516701 +0200 -@@ -143,7 +143,7 @@ - # else - # if VMS - # define getcwd(buf, max) (getcwd) (buf, max, 0) --# else -+# elif !(defined(__clang__) && defined(__BIONIC_FORTIFY)) - char *getcwd (); - # endif - # endif diff --git a/ports/gettext/assume-modern-darwin.patch b/ports/gettext/assume-modern-darwin.patch new file mode 100644 index 00000000000000..b59f434a6be45a --- /dev/null +++ b/ports/gettext/assume-modern-darwin.patch @@ -0,0 +1,26 @@ +diff --git a/gettext-runtime/configure b/gettext-runtime/configure +index a984774..f436a19 100755 +--- a/gettext-runtime/configure ++++ b/gettext-runtime/configure +@@ -35448,7 +35448,7 @@ fi + haiku*) use_elf_origin_trick=yes ;; + # On Mac OS X 10.4 or newer, use Mac OS X tools. See + # . +- darwin | darwin[1-7].*) ;; ++ darwin[1-7].*) ;; + darwin*) use_macos_tools=yes ;; + esac + if test $is_noop = yes; then +diff --git a/gettext-tools/configure b/gettext-tools/configure +index ee64b69..2dde1f5 100755 +--- a/gettext-tools/configure ++++ b/gettext-tools/configure +@@ -48606,7 +48606,7 @@ fi + haiku*) use_elf_origin_trick=yes ;; + # On Mac OS X 10.4 or newer, use Mac OS X tools. See + # . +- darwin | darwin[1-7].*) ;; ++ darwin[1-7].*) ;; + darwin*) use_macos_tools=yes ;; + esac + if test $is_noop = yes; then diff --git a/ports/gettext/config-step-order.patch b/ports/gettext/config-step-order.patch new file mode 100644 index 00000000000000..da247c65f20669 --- /dev/null +++ b/ports/gettext/config-step-order.patch @@ -0,0 +1,76 @@ +diff --git a/gettext-runtime/configure b/gettext-runtime/configure +index 2a376c6..a984774 100755 +--- a/gettext-runtime/configure ++++ b/gettext-runtime/configure +@@ -22346,6 +22346,12 @@ printf "%s\n" "$acl_cv_libdirstems" >&6; } + + + ++### Configuration step reordering ++### Similar to AM_GNU_GETTEXT(external,...), cf. gettext-runtime/m4/gettext.m4 ++### Pull (include_next and) iconv lookup before actual GNU gettext lookup. ++for configuration_step in gettext-independent gettext-main ; do ++case "$configuration_step" in ++gettext-main) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5 + printf %s "checking for CFPreferencesCopyAppValue... " >&6; } + if test ${gt_cv_func_CFPreferencesCopyAppValue+y} +@@ -23288,6 +23294,9 @@ printf "%s\n" "#define HAVE_DCGETTEXT 1" >>confdefs.h + + + ++### Configuration step reordering ++;; ++gettext-independent) + # Check whether --enable-cross-guesses was given. + if test ${enable_cross_guesses+y} + then : +@@ -30464,6 +30473,10 @@ printf "%s\n" "$gl_cv_next_iconv_h" >&6; } + gl_next_as_first_directive=$gl_cv_next_iconv_h + fi + NEXT_AS_FIRST_DIRECTIVE_ICONV_H=$gl_next_as_first_directive ++### Configuration step reordering ++;; ++esac ++done + + + +diff --git a/gettext-tools/configure b/gettext-tools/configure +index 5ce6cf1..ee64b69 100755 +--- a/gettext-tools/configure ++++ b/gettext-tools/configure +@@ -25735,6 +25735,12 @@ printf "%s\n" "$acl_cv_libdirstems" >&6; } + + + ++### Configuration step reordering ++### Similar to AM_GNU_GETTEXT(external,...), cf. gettext-runtime/m4/gettext.m4 ++### Pull (include_next and) iconv lookup before actual GNU gettext lookup. ++for configuration_step in gettext-independent gettext-main; do ++case "$configuration_step" in ++gettext-main) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5 + printf %s "checking for CFPreferencesCopyAppValue... " >&6; } + if test ${gt_cv_func_CFPreferencesCopyAppValue+y} +@@ -27588,6 +27594,9 @@ fi + + + ++### Configuration step reordering ++;; ++gettext-independent) + # Check whether --enable-cross-guesses was given. + if test ${enable_cross_guesses+y} + then : +@@ -38458,6 +38467,10 @@ printf "%s\n" "$gl_cv_next_iconv_h" >&6; } + gl_next_as_first_directive=$gl_cv_next_iconv_h + fi + NEXT_AS_FIRST_DIRECTIVE_ICONV_H=$gl_next_as_first_directive ++### Configuration step reordering ++;; ++esac ++done + + + diff --git a/ports/gettext/install-autopoint.cmake b/ports/gettext/install-autopoint.cmake index 6406b250854f03..59e383b1c3907e 100644 --- a/ports/gettext/install-autopoint.cmake +++ b/ports/gettext/install-autopoint.cmake @@ -26,7 +26,7 @@ function(install_autopoint) configure_file("${SOURCE_PATH}/gettext-tools/misc/autopoint.in" "${WORKING_DIR}/autopoint" @ONLY) # data tarball - if(WIN32) + if(CMAKE_HOST_WIN32) vcpkg_acquire_msys(MSYS_ROOT PACKAGES gzip) vcpkg_add_to_path("${MSYS_ROOT}/usr/bin") endif() diff --git a/ports/gettext/macosx-libs.patch b/ports/gettext/macosx-libs.patch deleted file mode 100644 index c8936492b40707..00000000000000 --- a/ports/gettext/macosx-libs.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/gettext-runtime/configure b/gettext-runtime/configure -index c21955a..902729a 100755 ---- a/gettext-runtime/configure -+++ b/gettext-runtime/configure -@@ -26819,7 +26819,7 @@ else $as_nop - gt_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $INCINTL" - gt_save_LIBS="$LIBS" -- LIBS="$LIBS $LIBINTL" -+ LIBS="$LIBS $LIBINTL $INTL_MACOSX_LIBS" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ - diff --git a/ports/gettext/portfile.cmake b/ports/gettext/portfile.cmake index fa30dde8f761ca..4ea1ffadeffb83 100644 --- a/ports/gettext/portfile.cmake +++ b/ports/gettext/portfile.cmake @@ -16,22 +16,18 @@ vcpkg_download_distfile(ARCHIVE URLS "https://ftp.gnu.org/pub/gnu/gettext/gettext-${VERSION}.tar.gz" "https://www.mirrorservice.org/sites/ftp.gnu.org/gnu/gettext/gettext-${VERSION}.tar.gz" FILENAME "gettext-${VERSION}.tar.gz" - SHA512 ccd43a43fab3c90ed99b3e27628c9aeb7186398153b137a4997f8c7ddfd9729b0ba9d15348567e5206af50ac027673d2b8a3415bb3fc65f87ad778f85dc03a05 + SHA512 d8b22d7fba10052a2045f477f0a5b684d932513bdb3b295c22fbd9dfc2a9d8fccd9aefd90692136c62897149aa2f7d1145ce6618aa1f0be787cb88eba5bc09be ) vcpkg_extract_source_archive(SOURCE_PATH ARCHIVE "${ARCHIVE}" PATCHES - # shared with port gettext-libintl - android.patch + assume-modern-darwin.patch uwp.patch - 0003-Fix-win-unicode-paths.patch - # unique to port gettext - win-gethostname.patch rel_path.patch subdirs.patch parallel-gettext-tools.patch - macosx-libs.patch + config-step-order.patch ) set(subdirs "") @@ -45,7 +41,8 @@ if(subdirs) set(ENV{VCPKG_GETTEXT_SUBDIRS} "${subdirs}") vcpkg_find_acquire_program(BISON) - get_filename_component(BISON_PATH "${BISON}" DIRECTORY) + cmake_path(GET BISON FILENAME BISON_NAME) + cmake_path(GET BISON PARENT_PATH BISON_PATH) vcpkg_add_to_path("${BISON_PATH}") if(VCPKG_HOST_IS_WINDOWS) @@ -81,7 +78,23 @@ if(subdirs) --without-libncurses-prefix --without-libtermcap-prefix --without-libxcurses-prefix + "INTLBISON=${BISON_NAME}" + "TOOLS_BISON=${BISON_NAME}" ) + + if("nls" IN_LIST FEATURES) + vcpkg_list(APPEND options "--enable-nls") + else() + vcpkg_list(APPEND options "--disable-nls") + endif() + + if(VCPKG_TARGET_IS_LINUX) + # Cannot use gettext-libintl, empty port on linux + set(ENV{VCPKG_INTL} intl) + else() + # Relying on gettext-libintl + list(APPEND OPTIONS --with-included-gettext=no) + endif() if(VCPKG_TARGET_IS_WINDOWS) list(APPEND OPTIONS # Faster, but not for export @@ -165,7 +178,7 @@ if(subdirs) endif() if("tools" IN_LIST FEATURES) - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/gettext/user-email" "${CURRENT_INSTALLED_DIR}" "`dirname $0`/../..") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/gettext/user-email" "${CURRENT_INSTALLED_DIR}" "`dirname $0`/../.." IGNORE_UNCHANGED) else() # A fast installation of the autopoint tool and data, needed for autoconfig include("${CMAKE_CURRENT_LIST_DIR}/install-autopoint.cmake") @@ -176,6 +189,7 @@ endif() # We want to install these files also for fast "core" builds without "tools". # Cf. PACKAGING for the file list. file(INSTALL + "${SOURCE_PATH}/gettext-runtime/m4/build-to-host.m4" "${SOURCE_PATH}/gettext-runtime/m4/gettext.m4" "${SOURCE_PATH}/gettext-runtime/m4/iconv.m4" "${SOURCE_PATH}/gettext-runtime/m4/intlmacosx.m4" diff --git a/ports/gettext/subdirs.patch b/ports/gettext/subdirs.patch index 21964d6e5475c6..9931fed01602bd 100644 --- a/ports/gettext/subdirs.patch +++ b/ports/gettext/subdirs.patch @@ -7,7 +7,7 @@ index 904bdf5..e751ffc 100755 -subdirs="$subdirs gettext-runtime libtextstyle gettext-tools" -+subdirs="$subdirs $VCPKG_GETTEXT_SUBDIRS" ++subdirs="$subdirs gettext-runtime $(echo ${VCPKG_GETTEXT_SUBDIRS} | sed 's/gettext-runtime//')" @@ -47,9 +47,9 @@ index a7594ed..296f3b7 100644 || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ - && test "$PACKAGE" != gettext-runtime \ + && test "$PACKAGE" != pristine-gettext-runtime \ - && test "$PACKAGE" != gettext-tools; }; then + && test "$PACKAGE" != gettext-tools \ + && test "$PACKAGE" != libintl; }; then gt_use_preinstalled_gnugettext=yes - else diff --git a/gettext-runtime/libasprintf/configure b/gettext-runtime/libasprintf/configure --- a/gettext-runtime/libasprintf/configure +++ b/gettext-runtime/libasprintf/configure @@ -70,8 +70,8 @@ index 59e81a8..107856d 100644 top_srcdir = @top_srcdir@ AUTOMAKE_OPTIONS = 1.5 gnu no-dependencies ACLOCAL_AMFLAGS = -I m4 -I ../gettext-runtime/m4 -I ../m4 -I gnulib-m4 -I libgrep/gnulib-m4 -I libgettextpo/gnulib-m4 --SUBDIRS = intl gnulib-lib libgrep src libgettextpo po its projects styles emacs misc man m4 tests system-tests gnulib-tests examples doc -+SUBDIRS = intl gnulib-lib libgrep src po its projects styles misc +-SUBDIRS = gnulib-lib libgrep src libgettextpo po its projects styles emacs misc man m4 tests system-tests gnulib-tests examples doc ++SUBDIRS = gnulib-lib libgrep src po its projects styles misc # Allow users to use "gnulib-tool --update". @@ -83,11 +83,11 @@ index 056a830..9abca7e 100644 if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ && test "$PACKAGE" != gettext-runtime \ -- && test "$PACKAGE" != gettext-tools; }; then -+ && test "$PACKAGE" != pristine-gettext-tools; }; then +- && test "$PACKAGE" != gettext-tools \ ++ && test "$PACKAGE" != pristine-gettext-tools \ + && test "$PACKAGE" != libintl; }; then gt_use_preinstalled_gnugettext=yes else - LIBINTL= diff --git a/gettext-tools/examples/configure b/gettext-tools/examples/configure --- a/gettext-tools/examples/configure +++ b/gettext-tools/examples/configure @@ -100,6 +100,18 @@ index ff1c212..0c0dbcd 100644 ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## +diff --git a/gettext-tools/src/Makefile.in b/gettext-tools/src/Makefile.in +--- a/gettext-tools/src/Makefile.in ++++ b/gettext-tools/src/Makefile.in +index ff1c212..0c0dbcd 100644 +@@ -4381,6 +4381,7 @@ + $(AM_V_GEN)$(msgfilter_LINK) $(msgfilter_OBJECTS) $(msgfilter_LDADD) $(LIBS) + ../../gettext-runtime/intl/$(am__dirstamp): + @$(MKDIR_P) ../../gettext-runtime/intl ++ @$(MAKE) -C ../../gettext-runtime/intl libgnuintl.h + @: > ../../gettext-runtime/intl/$(am__dirstamp) + ../../gettext-runtime/intl/msgfmt-hash-string.$(OBJEXT): \ + ../../gettext-runtime/intl/$(am__dirstamp) diff --git a/libtextstyle/Makefile.in b/libtextstyle/Makefile.in index ff1c212..0c0dbcd 100644 --- a/libtextstyle/Makefile.in diff --git a/ports/gettext/uwp.patch b/ports/gettext/uwp.patch index 416e2ea3c5e361..6fb61e5677df9d 100644 --- a/ports/gettext/uwp.patch +++ b/ports/gettext/uwp.patch @@ -15,26 +15,10 @@ index f9753c4..3a3caee 100644 /* Get _get_osfhandle. */ # if GNULIB_MSVC_NOTHROW # include "msvc-nothrow.h" -diff --git a/gettext-runtime/intl/langprefs.c b/gettext-runtime/intl/langprefs.c -index f774ba2..f488b7f 100644 ---- a/gettext-runtime/intl/langprefs.c -+++ b/gettext-runtime/intl/langprefs.c -@@ -38,6 +38,11 @@ extern void _nl_locale_name_canonicalize (char *name); - - #if defined _WIN32 - # define WIN32_NATIVE -+# if defined(WINAPI_FAMILY_PARTITION) -+# if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) -+# undef WIN32_NATIVE -+# endif -+# endif - #endif - - #ifdef WIN32_NATIVE -diff --git a/gettext-runtime/intl/localcharset.c b/gettext-runtime/intl/localcharset.c +diff --git a/gettext-runtime/gnulib-lib/localcharset.c b/gettext-runtime/gnulib-lib/localcharset.c index ec75427..9e063e4 100644 ---- a/gettext-runtime/intl/localcharset.c -+++ b/gettext-runtime/intl/localcharset.c +--- a/gettext-runtime/gnulib-lib/localcharset.c ++++ b/gettext-runtime/gnulib-lib/localcharset.c @@ -34,6 +34,9 @@ #if defined _WIN32 && !defined __CYGWIN__ # define WINDOWS_NATIVE @@ -54,10 +38,10 @@ index ec75427..9e063e4 100644 # elif defined WINDOWS_NATIVE char buf[2 + 10 + 1]; -diff --git a/gettext-runtime/intl/localename.c b/gettext-runtime/intl/localename.c +diff --git a/gettext-runtime/gnulib-lib/localename-unsafe.c b/gettext-runtime/gnulib-lib/localename-unsafe.c index d77bb81..3c6e055 100644 ---- a/gettext-runtime/intl/localename.c -+++ b/gettext-runtime/intl/localename.c +--- a/gettext-runtime/gnulib-lib/localename-unsafe.c ++++ b/gettext-runtime/gnulib-lib/localename-unsafe.c @@ -69,6 +69,11 @@ extern char * getlocalename_l(int, locale_t); #if defined _WIN32 && !defined __CYGWIN__ @@ -67,6 +51,6 @@ index d77bb81..3c6e055 100644 +# undef WIN32_NATIVE +# endif +# endif - # if !defined IN_LIBINTL - # include "glthread/lock.h" - # endif + # include "glthread/lock.h" + #endif + diff --git a/ports/gettext/vcpkg.json b/ports/gettext/vcpkg.json index e3428cfaeb59c1..91e2921350d01e 100644 --- a/ports/gettext/vcpkg.json +++ b/ports/gettext/vcpkg.json @@ -1,7 +1,7 @@ { "name": "gettext", - "version": "0.21.1", - "port-version": 3, + "version": "0.22.5", + "port-version": 1, "description": "A GNU framework to help produce multi-lingual messages.", "homepage": "https://www.gnu.org/software/gettext/", "license": "GPL-3.0-only", @@ -10,9 +10,15 @@ "gettext-libintl" ], "features": { + "nls": { + "description": "Enable native language support" + }, "runtime-tools": { "description": "Build runtime tools for internationalization of scripts", - "supports": "!uwp" + "supports": "!uwp", + "dependencies": [ + "libiconv" + ] }, "tools": { "description": "Build gettext tools", diff --git a/ports/gettext/win-gethostname.patch b/ports/gettext/win-gethostname.patch deleted file mode 100644 index 3e3f399df6b803..00000000000000 --- a/ports/gettext/win-gethostname.patch +++ /dev/null @@ -1,45 +0,0 @@ -diff --git a/gettext-tools/src/hostname.c b/gettext-tools/src/hostname.c -index e909637..c2e8065 100644 ---- a/gettext-tools/src/hostname.c -+++ b/gettext-tools/src/hostname.c -@@ -29,7 +29,9 @@ - #include - - #if defined _WIN32 -+# if !HAVE_GETHOSTNAME - # define WIN32_NATIVE -+# endif - #endif - - /* Get gethostname(). */ -@@ -56,6 +58,9 @@ - - /* Support for using gethostbyname(). */ - #if HAVE_GETHOSTBYNAME -+# if HAVE_WINSOCK2_H -+# include -+# else - # include - # include /* defines AF_INET, AF_INET6 */ - # include /* declares ntohs(), defines struct sockaddr_in */ -@@ -76,6 +81,7 @@ - # endif - # endif - # include /* defines struct hostent, declares gethostbyname() */ -+# endif - #endif - - /* Include this after , to avoid a syntax error on BeOS. */ -diff --git a/libtextstyle/lib/unistd.in.h b/libtextstyle/lib/unistd.in.h -index fd69a48..4ebdcaa 100644 ---- a/libtextstyle/lib/unistd.in.h -+++ b/libtextstyle/lib/unistd.in.h -@@ -1240,7 +1240,7 @@ _GL_WARN_ON_USE (getgroups, "getgroups is unportable - " - Null terminate it if the name is shorter than LEN. - If the host name is longer than LEN, set errno = EINVAL and return -1. - Return 0 if successful, otherwise set errno and return -1. */ --# if @UNISTD_H_HAVE_WINSOCK2_H@ -+# if @UNISTD_H_HAVE_WINSOCK2_H@ && !@HAVE_GETHOSTNAME@ - # if !(defined __cplusplus && defined GNULIB_NAMESPACE) - # undef gethostname - # define gethostname rpl_gethostname diff --git a/ports/gflags/portfile.cmake b/ports/gflags/portfile.cmake index fed9053482a6b7..7fa6a86079111f 100644 --- a/ports/gflags/portfile.cmake +++ b/ports/gflags/portfile.cmake @@ -19,15 +19,16 @@ vcpkg_cmake_configure( -DGFLAGS_REGISTER_BUILD_DIR:BOOL=OFF -DGFLAGS_REGISTER_INSTALL_PREFIX:BOOL=OFF -DBUILD_gflags_nothreads_LIB:BOOL=OFF - -DGFLAGS_USE_TARGET_NAMESPACE:BOOL=ON - -DCMAKE_DEBUG_POSTFIX=d ) vcpkg_cmake_install() +vcpkg_copy_pdbs() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/gflags) - -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin" "${CURRENT_PACKAGES_DIR}/bin") +if(NOT VCPKG_TARGET_IS_WINDOWS) + vcpkg_fixup_pkgconfig() + if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/gflags.pc" "-lgflags" "-lgflags_debug") + endif() endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") @@ -35,8 +36,6 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -file(INSTALL "${SOURCE_PATH}/COPYING.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING.txt") -vcpkg_copy_pdbs() -vcpkg_fixup_pkgconfig() diff --git a/ports/gflags/usage b/ports/gflags/usage index 67fb74789b6786..5d86c434ab3f72 100644 --- a/ports/gflags/usage +++ b/ports/gflags/usage @@ -1,4 +1,5 @@ -The package gflags provides CMake targets: +gflags provides CMake targets: + set(GFLAGS_USE_TARGET_NAMESPACE ON) find_package(gflags CONFIG REQUIRED) target_link_libraries(main PRIVATE gflags::gflags) diff --git a/ports/gflags/vcpkg-cmake-wrapper.cmake b/ports/gflags/vcpkg-cmake-wrapper.cmake index 55b3fc8dc54aa5..8fbb208b43057c 100644 --- a/ports/gflags/vcpkg-cmake-wrapper.cmake +++ b/ports/gflags/vcpkg-cmake-wrapper.cmake @@ -1,10 +1,7 @@ -set(GFLAGS_USE_TARGET_NAMESPACE ON) - +if(NOT DEFINED GFLAGS_USE_TARGET_NAMESPACE) + # vcpkg legacy + set(GFLAGS_USE_TARGET_NAMESPACE ON) + _find_package(${ARGS}) + unset(GFLAGS_USE_TARGET_NAMESPACE) +endif() _find_package(${ARGS}) - -foreach(tgt gflags gflags_shared gflags_static) - if (NOT TARGET ${tgt} AND TARGET "gflags::${tgt}") - add_library(${tgt} INTERFACE IMPORTED) - target_link_libraries(${tgt} INTERFACE "gflags::${tgt}") - endif() -endforeach(tgt) diff --git a/ports/gflags/vcpkg.json b/ports/gflags/vcpkg.json index f39eebb7a3a938..32d0edbab20321 100644 --- a/ports/gflags/vcpkg.json +++ b/ports/gflags/vcpkg.json @@ -1,9 +1,10 @@ { "name": "gflags", "version": "2.2.2", - "port-version": 7, + "port-version": 9, "description": "A C++ library that implements commandline flags processing", "homepage": "https://github.com/gflags/gflags", + "license": "BSD-3-Clause", "supports": "!uwp", "dependencies": [ { diff --git a/ports/giflib/disable-GifDrawBoxedText8x8-win32.patch b/ports/giflib/disable-GifDrawBoxedText8x8-win32.patch deleted file mode 100644 index 095edb3cec7685..00000000000000 --- a/ports/giflib/disable-GifDrawBoxedText8x8-win32.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff --git a/gif_font.c b/gif_font.c -index d90783c..b682c7a 100644 ---- a/gif_font.c -+++ b/gif_font.c -@@ -204,6 +204,7 @@ GifDrawRectangle(SavedImage *Image, - memset(bp + (i * Image->ImageDesc.Width), color, (size_t)w); - } - -+#if !defined(_WIN32) - void - GifDrawBoxedText8x8(SavedImage *Image, - const int x, const int y, -@@ -257,5 +258,6 @@ GifDrawBoxedText8x8(SavedImage *Image, - border + LineCount * GIF_FONT_HEIGHT + border, fg); - } - } -+#endif - - /* end */ -diff --git a/gif_lib.h b/gif_lib.h -index ebdbd3c..41bf7a2 100644 ---- a/gif_lib.h -+++ b/gif_lib.h -@@ -290,10 +290,12 @@ extern void GifDrawRectangle(SavedImage *Image, - const int x, const int y, - const int w, const int d, const int color); - -+#if !defined(_WIN32) - extern void GifDrawBoxedText8x8(SavedImage *Image, - const int x, const int y, - const char *legend, - const int border, const int bg, const int fg); -+#endif - - #ifdef __cplusplus - } diff --git a/ports/giflib/exports.def b/ports/giflib/exports.def index d385493734fe42..5f3edb93d14be2 100644 --- a/ports/giflib/exports.def +++ b/ports/giflib/exports.def @@ -42,7 +42,7 @@ EXPORTS GifAsciiTable8x8 @41 DATA GifBitSize @42 GifDrawBox @43 - ; needs strtok_r: GifDrawBoxedText8x8 @44 + GifDrawBoxedText8x8 @44 GifDrawRectangle @45 GifDrawText8x8 @46 GifErrorString @47 diff --git a/ports/giflib/fix-compile-error.patch b/ports/giflib/fix-compile-error.patch deleted file mode 100644 index 970b05576fbdf2..00000000000000 --- a/ports/giflib/fix-compile-error.patch +++ /dev/null @@ -1,75 +0,0 @@ -diff --git a/dgif_lib.c b/dgif_lib.c -index 82fc097..3bb302b 100644 ---- a/dgif_lib.c -+++ b/dgif_lib.c -@@ -58,7 +58,7 @@ DGifOpenFileName(const char *FileName, int *Error) - int FileHandle; - GifFileType *GifFile; - -- if ((FileHandle = open(FileName, O_RDONLY)) == -1) { -+ if ((FileHandle = _open(FileName, O_RDONLY)) == -1) { - if (Error != NULL) - *Error = D_GIF_ERR_OPEN_FAILED; - return NULL; -@@ -85,7 +85,7 @@ DGifOpenFileHandle(int FileHandle, int *Error) - if (GifFile == NULL) { - if (Error != NULL) - *Error = D_GIF_ERR_NOT_ENOUGH_MEM; -- (void)close(FileHandle); -+ (void)_close(FileHandle); - return NULL; - } - -@@ -99,7 +99,7 @@ DGifOpenFileHandle(int FileHandle, int *Error) - if (Private == NULL) { - if (Error != NULL) - *Error = D_GIF_ERR_NOT_ENOUGH_MEM; -- (void)close(FileHandle); -+ (void)_close(FileHandle); - free((char *)GifFile); - return NULL; - } -@@ -110,7 +110,7 @@ DGifOpenFileHandle(int FileHandle, int *Error) - _setmode(FileHandle, O_BINARY); /* Make sure it is in binary mode. */ - #endif /* _WIN32 */ - -- f = fdopen(FileHandle, "rb"); /* Make it into a stream: */ -+ f = _fdopen(FileHandle, "rb"); /* Make it into a stream: */ - - /*@-mustfreeonly@*/ - GifFile->Private = (void *)Private; -diff --git a/egif_lib.c b/egif_lib.c -index 6219af0..8ddda1b 100644 ---- a/egif_lib.c -+++ b/egif_lib.c -@@ -67,10 +67,10 @@ EGifOpenFileName(const char *FileName, const bool TestExistence, int *Error) - GifFileType *GifFile; - - if (TestExistence) -- FileHandle = open(FileName, O_WRONLY | O_CREAT | O_EXCL, -+ FileHandle = _open(FileName, O_WRONLY | O_CREAT | O_EXCL, - S_IREAD | S_IWRITE); - else -- FileHandle = open(FileName, O_WRONLY | O_CREAT | O_TRUNC, -+ FileHandle = _open(FileName, O_WRONLY | O_CREAT | O_TRUNC, - S_IREAD | S_IWRITE); - - if (FileHandle == -1) { -@@ -80,7 +80,7 @@ EGifOpenFileName(const char *FileName, const bool TestExistence, int *Error) - } - GifFile = EGifOpenFileHandle(FileHandle, Error); - if (GifFile == (GifFileType *) NULL) -- (void)close(FileHandle); -+ (void)_close(FileHandle); - return GifFile; - } - -@@ -125,7 +125,7 @@ EGifOpenFileHandle(const int FileHandle, int *Error) - _setmode(FileHandle, O_BINARY); /* Make sure it is in binary mode. */ - #endif /* _WIN32 */ - -- f = fdopen(FileHandle, "wb"); /* Make it into a stream: */ -+ f = _fdopen(FileHandle, "wb"); /* Make it into a stream: */ - - GifFile->Private = (void *)Private; - Private->FileHandle = FileHandle; diff --git a/ports/giflib/msvc-guard-unistd-h.patch b/ports/giflib/msvc-guard-unistd-h.patch deleted file mode 100644 index 36cef449151791..00000000000000 --- a/ports/giflib/msvc-guard-unistd-h.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/gif_hash.h b/gif_hash.h -index 6a1b585..e6712e8 100644 ---- a/gif_hash.h -+++ b/gif_hash.h -@@ -9,7 +9,9 @@ SPDX-License-Identifier: MIT - #ifndef _GIF_HASH_H_ - #define _GIF_HASH_H_ - -+#ifndef _MSC_VER - #include -+#endif - #include - - #define HT_SIZE 8192 /* 12bits = 4096 or twice as big! */ diff --git a/ports/giflib/msvc.diff b/ports/giflib/msvc.diff new file mode 100644 index 00000000000000..30ee89488e9fa4 --- /dev/null +++ b/ports/giflib/msvc.diff @@ -0,0 +1,89 @@ +diff --git a/dgif_lib.c b/dgif_lib.c +index cbcf23f..15dee84 100644 +--- a/dgif_lib.c ++++ b/dgif_lib.c +@@ -57,7 +57,7 @@ GifFileType *DGifOpenFileName(const char *FileName, int *Error) { + int FileHandle; + GifFileType *GifFile; + +- if ((FileHandle = open(FileName, O_RDONLY)) == -1) { ++ if ((FileHandle = _open(FileName, O_RDONLY)) == -1) { + if (Error != NULL) { + *Error = D_GIF_ERR_OPEN_FAILED; + } +@@ -84,7 +84,7 @@ GifFileType *DGifOpenFileHandle(int FileHandle, int *Error) { + if (Error != NULL) { + *Error = D_GIF_ERR_NOT_ENOUGH_MEM; + } +- (void)close(FileHandle); ++ (void)_close(FileHandle); + return NULL; + } + +@@ -99,7 +99,7 @@ GifFileType *DGifOpenFileHandle(int FileHandle, int *Error) { + if (Error != NULL) { + *Error = D_GIF_ERR_NOT_ENOUGH_MEM; + } +- (void)close(FileHandle); ++ (void)_close(FileHandle); + free((char *)GifFile); + return NULL; + } +@@ -110,7 +110,7 @@ GifFileType *DGifOpenFileHandle(int FileHandle, int *Error) { + _setmode(FileHandle, O_BINARY); /* Make sure it is in binary mode. */ + #endif /* _WIN32 */ + +- f = fdopen(FileHandle, "rb"); /* Make it into a stream: */ ++ f = _fdopen(FileHandle, "rb"); /* Make it into a stream: */ + + /*@-mustfreeonly@*/ + GifFile->Private = (void *)Private; +diff --git a/egif_lib.c b/egif_lib.c +index 1526868..6644eed 100644 +--- a/egif_lib.c ++++ b/egif_lib.c +@@ -64,10 +64,10 @@ GifFileType *EGifOpenFileName(const char *FileName, const bool TestExistence, + GifFileType *GifFile; + + if (TestExistence) { +- FileHandle = open(FileName, O_WRONLY | O_CREAT | O_EXCL, ++ FileHandle = _open(FileName, O_WRONLY | O_CREAT | O_EXCL, + S_IREAD | S_IWRITE); + } else { +- FileHandle = open(FileName, O_WRONLY | O_CREAT | O_TRUNC, ++ FileHandle = _open(FileName, O_WRONLY | O_CREAT | O_TRUNC, + S_IREAD | S_IWRITE); + } + +@@ -79,7 +79,7 @@ GifFileType *EGifOpenFileName(const char *FileName, const bool TestExistence, + } + GifFile = EGifOpenFileHandle(FileHandle, Error); + if (GifFile == (GifFileType *)NULL) { +- (void)close(FileHandle); ++ (void)_close(FileHandle); + } + return GifFile; + } +@@ -125,7 +125,7 @@ GifFileType *EGifOpenFileHandle(const int FileHandle, int *Error) { + _setmode(FileHandle, O_BINARY); /* Make sure it is in binary mode. */ + #endif /* _WIN32 */ + +- f = fdopen(FileHandle, "wb"); /* Make it into a stream: */ ++ f = _fdopen(FileHandle, "wb"); /* Make it into a stream: */ + + GifFile->Private = (void *)Private; + Private->FileHandle = FileHandle; +diff --git a/gif_font.c b/gif_font.c +index 75f9731..c215795 100644 +--- a/gif_font.c ++++ b/gif_font.c +@@ -200,6 +200,9 @@ void GifDrawRectangle(SavedImage *Image, const int x, const int y, const int w, + } + } + ++#ifdef _MSC_VER ++# define strtok_r strtok_s ++#endif + void GifDrawBoxedText8x8(SavedImage *Image, const int x, const int y, + const char *legend, const int border, const int bg, + const int fg) { diff --git a/ports/giflib/portfile.cmake b/ports/giflib/portfile.cmake index 85b00ba25d8225..b481a439793df3 100644 --- a/ports/giflib/portfile.cmake +++ b/ports/giflib/portfile.cmake @@ -1,18 +1,14 @@ -set(GIFLIB_VERSION 5.2.1) - set(EXTRA_PATCHES "") -if (VCPKG_TARGET_IS_WINDOWS) - list(APPEND EXTRA_PATCHES fix-compile-error.patch) +if (VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + list(APPEND EXTRA_PATCHES msvc.diff) endif() vcpkg_from_sourceforge( OUT_SOURCE_PATH SOURCE_PATH REPO "giflib" - FILENAME "giflib-${GIFLIB_VERSION}.tar.gz" - SHA512 4550e53c21cb1191a4581e363fc9d0610da53f7898ca8320f0d3ef6711e76bdda2609c2df15dc94c45e28bff8de441f1227ec2da7ea827cb3c0405af4faa4736 + FILENAME "giflib-${VERSION}.tar.gz" + SHA512 0865ab2b1904fa14640c655fdb14bb54244ad18a66e358565c00287875d00912343f9be8bfac7658cc0146200d626f7ec9160d7a339f20ba3be6b9941d73975f PATCHES - msvc-guard-unistd-h.patch - disable-GifDrawBoxedText8x8-win32.patch # MSVC doesn't have strtok_r ${EXTRA_PATCHES} ) diff --git a/ports/giflib/vcpkg.json b/ports/giflib/vcpkg.json index a13fa5811e1e6e..ef139f5226de03 100644 --- a/ports/giflib/vcpkg.json +++ b/ports/giflib/vcpkg.json @@ -1,7 +1,6 @@ { "name": "giflib", - "version": "5.2.1", - "port-version": 3, + "version": "5.2.2", "description": "A library for reading and writing gif images.", "homepage": "https://sourceforge.net/projects/giflib/", "license": "MIT", diff --git a/ports/ginkgo/portfile.cmake b/ports/ginkgo/portfile.cmake index a17f906d0df3a3..a2ff8919358269 100644 --- a/ports/ginkgo/portfile.cmake +++ b/ports/ginkgo/portfile.cmake @@ -6,8 +6,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ginkgo-project/ginkgo REF "v${VERSION}" - SHA512 507a17bc9ad010c235c4ae49ac4bef3f4d5b65b4ea02bfa5cad5ea578fa65d28f564d1faf0a1f5618a6e72d744217f58bdff68c5f1fffc9cfb484800f7f84c50 - HEAD_REF master + SHA512 9a52534cf19f908f776ed54b43791e621a9bd5da1fec93a4f035cf4535ddb0ce9cb9e6623ee57c631c76012b4f3ed5066ec731dc3ecac722f6b5d705ec7fd4c7 + HEAD_REF main ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS @@ -15,6 +15,7 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS openmp GINKGO_BUILD_OMP cuda GINKGO_BUILD_CUDA mpi GINKGO_BUILD_MPI + half GINKGO_ENABLE_HALF ) vcpkg_cmake_configure( @@ -41,3 +42,4 @@ file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/ginkgo") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/CMakeFiles") diff --git a/ports/ginkgo/vcpkg.json b/ports/ginkgo/vcpkg.json index 73aa6817f96ca1..35c8998ed6b9b0 100644 --- a/ports/ginkgo/vcpkg.json +++ b/ports/ginkgo/vcpkg.json @@ -1,7 +1,7 @@ { "name": "ginkgo", - "version-semver": "1.6.0", - "description": "Ginkgo is a high-performance linear algebra library for manycore systems, with a focus on sparse solution of linear systems. Note that the OpenMP feature is not available on Windows.", + "version-semver": "1.9.0", + "description": "Ginkgo is a high-performance linear algebra library for manycore systems, with a focus on sparse solution of linear systems.", "homepage": "https://github.com/ginkgo-project/ginkgo", "license": "BSD-3-Clause", "supports": "!(x86 | android)", @@ -22,6 +22,10 @@ "cuda" ] }, + "half": { + "description": "Enable half precision in Ginkgo", + "supports": "!windows" + }, "mpi": { "description": "Build the distributed MPI backend of Ginkgo", "dependencies": [ @@ -29,7 +33,8 @@ ] }, "openmp": { - "description": "Build the OpenMP backend of Ginkgo" + "description": "Build the OpenMP backend of Ginkgo", + "supports": "mingw | !windows" } } } diff --git a/ports/gklib/android.patch b/ports/gklib/android.patch new file mode 100644 index 00000000000000..0a9f038dcd6033 --- /dev/null +++ b/ports/gklib/android.patch @@ -0,0 +1,14 @@ +diff --git a/GKlibSystem.cmake b/GKlibSystem.cmake +index 31a1cf1..848fd05 100644 +--- a/GKlibSystem.cmake ++++ b/GKlibSystem.cmake +@@ -113,7 +113,9 @@ endif(GKRAND) + + + # Check for features. ++if(NOT ANDROID OR ANDROID_NATIVE_API_LEVEL GREATER 32) + check_include_file(execinfo.h HAVE_EXECINFO_H) ++endif() + if(HAVE_EXECINFO_H) + set(GKlib_COPTIONS "${GKlib_COPTIONS} -DHAVE_EXECINFO_H") + endif(HAVE_EXECINFO_H) diff --git a/ports/gklib/build-fixes.patch b/ports/gklib/build-fixes.patch index dc78c3711821f7..9a711154ff7639 100644 --- a/ports/gklib/build-fixes.patch +++ b/ports/gklib/build-fixes.patch @@ -1,5 +1,5 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 9cd1b4b..a6b629e 100644 +index 9cd1b4b..3912b26 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ @@ -8,31 +8,27 @@ index 9cd1b4b..a6b629e 100644 project(GKlib C) option(BUILD_SHARED_LIBS "Build shared libraries (.dll/.so) instead of static ones (.lib/.a)" OFF) -@@ -22,10 +22,12 @@ if(UNIX) +@@ -22,10 +22,11 @@ if(UNIX) target_link_libraries(GKlib m) endif(UNIX) -include_directories("test") -add_subdirectory("test") -- --install(TARGETS GKlib + + install(TARGETS GKlib - ARCHIVE DESTINATION lib/${LINSTALL_PATH} - LIBRARY DESTINATION lib/${LINSTALL_PATH}) --install(FILES ${GKlib_includes} DESTINATION include/${HINSTALL_PATH}) -+install(TARGETS GKlib EXPORT GKlibTargets ++ EXPORT GKlibTargets + INCLUDES DESTINATION "include/GKlib" -+ ) -+install(FILES ${GKlib_includes} DESTINATION "include/GKlib") -+install(FILES "win32/adapt.h" DESTINATION "include/GKlib/win32") -+install(EXPORT GKlibTargets FILE "GKlibTargets.cmake" DESTINATION "share/gklib") -+file(WRITE "${CMAKE_INSTALL_PREFIX}/share/gklib/GKlibConfig.cmake" [=[ -+include("${CMAKE_CURRENT_LIST_DIR}/GKlibTargets.cmake") -+]=]) ++) ++install(EXPORT GKlibTargets FILE "GKlibConfig.cmake" DESTINATION "share/gklib") ++install(FILES "win32/adapt.h" DESTINATION "include/${HINSTALL_PATH}/win32") + install(FILES ${GKlib_includes} DESTINATION include/${HINSTALL_PATH}) diff --git a/GKlibSystem.cmake b/GKlibSystem.cmake -index d83b208..8019067 100644 +index 31a1cf1..172a386 100644 --- a/GKlibSystem.cmake +++ b/GKlibSystem.cmake -@@ -16,7 +16,6 @@ option(GKRAND "enable GKRAND support" OFF) +@@ -18,7 +18,6 @@ option(NO_X86 "enable NO_X86 support" OFF) # Add compiler flags. if(MSVC) @@ -40,48 +36,55 @@ index d83b208..8019067 100644 set(GKlib_COPTIONS "-DWIN32 -DMSC -D_CRT_SECURE_NO_DEPRECATE -DUSE_GKREGEX") elseif(MINGW) set(GKlib_COPTS "-DUSE_GKREGEX") -@@ -34,7 +33,7 @@ if(CMAKE_COMPILER_IS_GNUCC) - set(GKlib_COPTIONS "${GKlib_COPTIONS} -fPIC") +@@ -33,6 +32,8 @@ if(CMAKE_COMPILER_IS_GNUCC) + set(GKlib_COPTIONS "${GKlib_COPTIONS} -std=c99 -fno-strict-aliasing") + if(VALGRIND) + set(GKlib_COPTIONS "${GK_COPTIONS} -march=x86-64 -mtune=generic") ++elseif(1) ++ # Use flags from toolchain and triplet + else() + # -march=native is not a valid flag on PPC: + if(CMAKE_SYSTEM_PROCESSOR MATCHES "power|ppc|powerpc|ppc64|powerpc64" OR (APPLE AND CMAKE_OSX_ARCHITECTURES MATCHES "ppc|ppc64")) +@@ -46,6 +47,7 @@ endif(VALGRIND) endif(NOT MINGW) # GCC warnings. -- set(GKlib_COPTIONS "${GKlib_COPTIONS} -Werror -Wall -pedantic -Wno-unused-function -Wno-unused-but-set-variable -Wno-unused-variable -Wno-unknown-pragmas -Wno-unused-label") -+ set(GKlib_COPTIONS "${GKlib_COPTIONS} -Wall -pedantic -Wno-unused-function -Wno-unused-but-set-variable -Wno-unused-variable -Wno-unknown-pragmas -Wno-unused-label") + set(GKlib_COPTIONS "${GKlib_COPTIONS} -Werror -Wall -pedantic -Wno-unused-function -Wno-unused-but-set-variable -Wno-unused-variable -Wno-unknown-pragmas -Wno-unused-label") ++ string(REPLACE " -Werror " " " GKlib_COPTIONS "${GKlib_COPTIONS}") elseif(${CMAKE_C_COMPILER_ID} MATCHES "Sun") # Sun insists on -xc99. set(GKlib_COPTIONS "${GKlib_COPTIONS} -xc99") -@@ -60,7 +59,7 @@ endif(OPENMP) +@@ -75,6 +77,8 @@ endif(NO_X86) if(GDB) set(GKlib_COPTS "${GKlib_COPTS} -g") set(GKlib_COPTIONS "${GKlib_COPTIONS} -Werror") --else() -+elseif(0) ++elseif(1) ++ # Use flags from toolchain and triplet + else() set(GKlib_COPTS "-O3") endif(GDB) +diff --git a/gk_ms_inttypes.h b/gk_ms_inttypes.h +index b89fc10..7247c38 100644 +--- a/gk_ms_inttypes.h ++++ b/gk_ms_inttypes.h +@@ -35,6 +35,8 @@ -diff --git a/gk_arch.h b/gk_arch.h -index 8c8ac50..122e087 100644 ---- a/gk_arch.h -+++ b/gk_arch.h -@@ -31,9 +31,9 @@ - #endif + #ifndef _MSC_INTTYPES_H_ // [ + #define _MSC_INTTYPES_H_ ++#include ++#elif 0 + #if _MSC_VER > 1000 + #pragma once +diff --git a/gk_ms_stdint.h b/gk_ms_stdint.h +index 7e200dc..1c51958 100644 +--- a/gk_ms_stdint.h ++++ b/gk_ms_stdint.h +@@ -35,6 +35,8 @@ --#ifdef __MSC__ -- #include "ms_stdint.h" -- #include "ms_inttypes.h" -+#ifdef __MSC__ -+ #include -+ #include - #include "ms_stat.h" - #include "win32/adapt.h" - #else -@@ -60,9 +60,4 @@ typedef ptrdiff_t ssize_t; - #define PTRDIFF_MAX INT64_MAX - #endif + #ifndef _MSC_STDINT_H_ // [ + #define _MSC_STDINT_H_ ++#include ++#elif 0 --/* MSC does not have INFINITY defined */ --#ifndef INFINITY --#define INFINITY FLT_MAX --#endif -- - #endif + #if _MSC_VER > 1000 + #pragma once diff --git a/ports/gklib/fix-mingw.patch b/ports/gklib/fix-mingw.patch deleted file mode 100644 index 6cb6136df00103..00000000000000 --- a/ports/gklib/fix-mingw.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff --git a/gk_arch.h b/gk_arch.h -index 122e087..c8a322f 100644 ---- a/gk_arch.h -+++ b/gk_arch.h -@@ -42,7 +42,9 @@ - #endif - #include - #include -+#ifndef _WIN32 # MinGW - #include -+#endif - #include - #include - #endif -diff --git a/gk_getopt.h b/gk_getopt.h -index 4bb8611..cc416ab 100644 ---- a/gk_getopt.h -+++ b/gk_getopt.h -@@ -52,10 +52,10 @@ struct gk_option { - - - /* Function prototypes */ --extern int gk_getopt(int __argc, char **__argv, char *__shortopts); --extern int gk_getopt_long(int __argc, char **__argv, char *__shortopts, -+extern int gk_getopt(int argc, char ** argv, char *__shortopts); -+extern int gk_getopt_long(int argc, char ** argv, char *__shortopts, - struct gk_option *__longopts, int *__longind); --extern int gk_getopt_long_only (int __argc, char **__argv, -+extern int gk_getopt_long_only (int argc, char ** argv, - char *__shortopts, struct gk_option *__longopts, int *__longind); - - diff --git a/ports/gklib/portfile.cmake b/ports/gklib/portfile.cmake index 9eb4867321d489..f19d651b71d765 100644 --- a/ports/gklib/portfile.cmake +++ b/ports/gklib/portfile.cmake @@ -1,26 +1,26 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KarypisLab/GKlib - REF b1cb3bd7f6bf4da641af901c8d455c0f858c816f - SHA512 e906c7af8b40ce1c4c4ea43cbfca3e3970e5595686333ac9ac80c6cbc558feb0e833f530f034161927030edac5272234c6ac9cad5287cb6edab0c0671ba3644c + REF 8bd6bad750b2b0d90800c632cf18e8ee93ad72d7 + SHA512 128cd9a48047b18b8013288162556f0b0f1d81845f5445f7cc62590ab28c06ee0a6c602cc999ce268ab27237eca3e8295df6432d377e45071946b98558872997 PATCHES + android.patch build-fixes.patch - fix-mingw.patch ) -# Delete files that are workarounds for very old copies of msvc. -file(REMOVE "${SOURCE_PATH}/ms_inttypes.h" "${SOURCE_PATH}/ms_stdint.h") vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DHINSTALL_PATH=GKlib ) vcpkg_cmake_install() vcpkg_cmake_config_fixup() + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") -file(WRITE "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" [=[ -gklib provides CMake targets: - find_package(GKlib CONFIG REQUIRED) - target_link_libraries(main PRIVATE GKlib) -]=]) diff --git a/ports/gklib/vcpkg.json b/ports/gklib/vcpkg.json index c31e6f6e45f640..5878b88bf34981 100644 --- a/ports/gklib/vcpkg.json +++ b/ports/gklib/vcpkg.json @@ -1,7 +1,6 @@ { "name": "gklib", - "version-date": "2022-07-27", - "port-version": 2, + "version-date": "2023-03-27", "description": "General helper libraries for KarypisLab.", "homepage": "https://github.com/KarypisLab/GKlib/", "license": "Apache-2.0", diff --git a/ports/gl2ps/portfile.cmake b/ports/gl2ps/portfile.cmake index 2095809c3ccfa8..d48897f2890b41 100644 --- a/ports/gl2ps/portfile.cmake +++ b/ports/gl2ps/portfile.cmake @@ -1,20 +1,27 @@ vcpkg_from_gitlab( - GITLAB_URL http://gitlab.onelab.info + GITLAB_URL https://gitlab.onelab.info OUT_SOURCE_PATH SOURCE_PATH REPO gl2ps/gl2ps REF gl2ps_1_4_2 SHA512 cb4abd79f6790e229a0b05a6d12e4bd4d24885c89c4cb8644e49b0459361565c5c5379b53d85f59eeaba16144d3288dbd06c90f55a739f0928a788224ccb8085 HEAD_REF master - PATCHES separate-static-dynamic-build.patch + PATCHES + separate-static-dynamic-build.patch ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON + OPTIONS + -DCMAKE_DISABLE_FIND_PACKAGE_GLUT=ON + OPTIONS_DEBUG + -DDISABLE_INSTALL_HEADERS=ON ) vcpkg_cmake_install() -# Handle copyright -file(INSTALL "${SOURCE_PATH}/COPYING.GL2PS" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) -file(INSTALL "${SOURCE_PATH}/COPYING.LGPL" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright.LGPL) +vcpkg_install_copyright( + FILE_LIST + "${SOURCE_PATH}/README.txt" + "${SOURCE_PATH}/COPYING.LGPL" + "${SOURCE_PATH}/COPYING.GL2PS" +) diff --git a/ports/gl2ps/vcpkg.json b/ports/gl2ps/vcpkg.json index 32105b0ecf505e..c4b26d3bdead90 100644 --- a/ports/gl2ps/vcpkg.json +++ b/ports/gl2ps/vcpkg.json @@ -1,12 +1,13 @@ { "name": "gl2ps", "version": "1.4.2", - "port-version": 3, + "port-version": 4, "description": "OpenGL to PostScript Printing Library", "homepage": "https://gitlab.onelab.info/gl2ps/gl2ps", + "supports": "!android", "dependencies": [ - "freeglut", "libpng", + "opengl", { "name": "vcpkg-cmake", "host": true diff --git a/ports/gl3w/portfile.cmake b/ports/gl3w/portfile.cmake index 2633bf05a48b04..741ad862d792e5 100644 --- a/ports/gl3w/portfile.cmake +++ b/ports/gl3w/portfile.cmake @@ -14,8 +14,12 @@ file(COPY "${CURRENT_INSTALLED_DIR}/include/KHR/khrplatform.h" DESTINATION "${SO vcpkg_find_acquire_program(PYTHON3) +if("ext" IN_LIST FEATURES) + set(EXT "--ext") +endif() + vcpkg_execute_required_process( - COMMAND "${PYTHON3}" "${SOURCE_PATH}/gl3w_gen.py" + COMMAND "${PYTHON3}" "${SOURCE_PATH}/gl3w_gen.py" "${EXT}" WORKING_DIRECTORY "${SOURCE_PATH}" LOGNAME gl3w-gen ) diff --git a/ports/gl3w/vcpkg.json b/ports/gl3w/vcpkg.json index 0963571711e09b..dedfee6795f415 100644 --- a/ports/gl3w/vcpkg.json +++ b/ports/gl3w/vcpkg.json @@ -1,7 +1,7 @@ { "name": "gl3w", "version-date": "2018-05-31", - "port-version": 4, + "port-version": 5, "description": "Simple OpenGL core profile loading", "homepage": "https://github.com/skaslev/gl3w", "dependencies": [ @@ -15,5 +15,10 @@ "name": "vcpkg-cmake-config", "host": true } - ] + ], + "features": { + "ext": { + "description": "include the GL Extensions in output header" + } + } } diff --git a/ports/glaze/portfile.cmake b/ports/glaze/portfile.cmake index e63098bb3b21e7..84f82af99afd38 100644 --- a/ports/glaze/portfile.cmake +++ b/ports/glaze/portfile.cmake @@ -1,18 +1,20 @@ if(VCPKG_TARGET_IS_LINUX) - message("Warning: `glaze` requires Clang or GCC 10+ on Linux") + message("Warning: `glaze` requires Clang15+ or GCC 12+ on Linux") endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO stephenberry/glaze REF "v${VERSION}" - SHA512 c4f89aa0fd28a821f977a7b363985ba6a88b54a22d76beea27d2750d3d912a46092ed436b010f679237a83f6375d2fba7c4e54cbf4650f2ba1e7bdf7b1804c59 + SHA512 993a6a930c7ed5b67c47fee0380ff71404db7ac9e220c8f54ee5d818ff0fd0f9ca30aabf05cc6c6b74d6fadbc481f2fe7eb85493b9112c3ef9c28374fbbb686d + HEAD_REF main ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS -Dglaze_DEVELOPER_MODE=OFF + -Dglaze_BUILD_EXAMPLES=OFF ) vcpkg_cmake_install() diff --git a/ports/glaze/vcpkg.json b/ports/glaze/vcpkg.json index 3be32bbcc849a9..72a1089d9bf267 100644 --- a/ports/glaze/vcpkg.json +++ b/ports/glaze/vcpkg.json @@ -1,6 +1,6 @@ { "name": "glaze", - "version": "1.5.4", + "version": "4.2.3", "description": "One of the fastest JSON libraries in the world. Glaze reads and writes from C++ memory, simplifying interfaces and offering incredible performance.", "homepage": "https://github.com/stephenberry/glaze", "license": "MIT", diff --git a/ports/glew/vcpkg.json b/ports/glew/vcpkg.json index 0f7e83a8718797..a0c251e58d2694 100644 --- a/ports/glew/vcpkg.json +++ b/ports/glew/vcpkg.json @@ -1,9 +1,10 @@ { "name": "glew", "version": "2.2.0", - "port-version": 3, + "port-version": 4, "description": "The OpenGL Extension Wrangler Library (GLEW) is a cross-platform open-source C/C++ extension loading library.", "homepage": "https://github.com/nigels-com/glew", + "supports": "!android", "dependencies": [ "opengl", { diff --git a/ports/glfw3/glfw3Config.cmake b/ports/glfw3/glfw3Config.cmake new file mode 100644 index 00000000000000..71153f63f594ee --- /dev/null +++ b/ports/glfw3/glfw3Config.cmake @@ -0,0 +1,6 @@ +if (NOT TARGET glfw) + add_library(glfw INTERFACE IMPORTED) + set_target_properties(glfw PROPERTIES + INTERFACE_LINK_OPTIONS "-sUSE_GLFW=3" + ) +endif() diff --git a/ports/glfw3/portfile.cmake b/ports/glfw3/portfile.cmake index cb9472a7c4dc93..fb5bfa193f54ff 100644 --- a/ports/glfw3/portfile.cmake +++ b/ports/glfw3/portfile.cmake @@ -1,8 +1,16 @@ +if (VCPKG_TARGET_IS_EMSCRIPTEN) + # emscripten has built-in glfw3 library + set(VCPKG_BUILD_TYPE release) + file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/glfw3Config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/glfw3") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + return() +endif() + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO glfw/glfw - REF 7482de6071d21db77a7236155da44c172a7f6c9e #v3.3.8 - SHA512 ec45b620338cf36a8dbdf7aaf54d7c3a49a1be4ae1a1ef95f1531094fec670870713969bbc23476769d374c7a71d93f6540ab64c46fb5f66f4402bb2d15c7d87 + REF ${VERSION} + SHA512 39ad7a4521267fbebc35d2ff0c389a56236ead5fa4bdff33db113bd302f70f5f2869ff4e6db1979512e1542813292dff5a482e94dfce231750f0746c301ae9ed HEAD_REF master ) @@ -20,21 +28,11 @@ These can be installed on Ubuntu systems via sudo apt install libxinerama-dev li Alternatively, when targeting the Wayland display server, use the packages listed in the GLFW documentation here: https://www.glfw.org/docs/3.3/compile.html#compile_deps_wayland") -else(VCPKG_TARGET_IS_OSX) - message( -"GLFW3 currently requires the following libraries from the system package manager: - xinerama - xcursor - xorg - libglu1-mesa - pkg-config - -These can be installed via brew install libxinerama-dev libxcursor-dev xorg-dev libglu1-mesa-dev pkg-config") endif() vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - wayland GLFW_USE_WAYLAND + wayland GLFW_BUILD_WAYLAND ) vcpkg_cmake_configure( @@ -44,6 +42,8 @@ vcpkg_cmake_configure( -DGLFW_BUILD_TESTS=OFF -DGLFW_BUILD_DOCS=OFF ${FEATURE_OPTIONS} + MAYBE_UNUSED_VARIABLES + GLFW_USE_WAYLAND ) vcpkg_cmake_install() @@ -54,6 +54,4 @@ vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL "${SOURCE_PATH}/LICENSE.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) - -vcpkg_copy_pdbs() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") diff --git a/ports/glfw3/vcpkg.json b/ports/glfw3/vcpkg.json index b6405ac3273416..14c4fcd542993e 100644 --- a/ports/glfw3/vcpkg.json +++ b/ports/glfw3/vcpkg.json @@ -1,7 +1,7 @@ { "name": "glfw3", - "version-semver": "3.3.8", - "port-version": 2, + "version": "3.4", + "port-version": 1, "description": "GLFW is a free, Open Source, multi-platform library for OpenGL, OpenGL ES and Vulkan application development. It provides a simple, platform-independent API for creating windows, contexts and surfaces, reading input, handling events, etc.", "homepage": "https://github.com/glfw/glfw", "license": "Zlib", diff --git a/ports/glib-networking/portfile.cmake b/ports/glib-networking/portfile.cmake new file mode 100644 index 00000000000000..b8b16d69ffc75a --- /dev/null +++ b/ports/glib-networking/portfile.cmake @@ -0,0 +1,64 @@ +set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.gnome.org + OUT_SOURCE_PATH SOURCE_PATH + REPO GNOME/glib-networking + REF "${VERSION}" + SHA512 "35b6b05afab29da4f4d54f559ded3cc6a16376f188afdb72689b7d9bcba71b9963317bcbd1101327137ae31ee51e25438f9bfa267e23d6076706a64c3594cbb5" + HEAD_REF main +) + +vcpkg_list(SET FEATURE_OPTIONS) +if (gnutls IN_LIST FEATURES) + list(APPEND FEATURE_OPTIONS -Dgnutls=enabled) +else() + list(APPEND FEATURE_OPTIONS -Dgnutls=disabled) +endif() + +if (openssl IN_LIST FEATURES) + list(APPEND FEATURE_OPTIONS -Dopenssl=enabled) +else() + list(APPEND FEATURE_OPTIONS -Dopenssl=disabled) +endif() + +if (libproxy IN_LIST FEATURES) + list(APPEND FEATURE_OPTIONS -Dlibproxy=enabled) +else() + list(APPEND FEATURE_OPTIONS -Dlibproxy=disabled) +endif() + +if (environment-proxy IN_LIST FEATURES) + list(APPEND FEATURE_OPTIONS -Denvironment_proxy=enabled) +else() + list(APPEND FEATURE_OPTIONS -Denvironment_proxy=disabled) +endif() + +vcpkg_configure_meson( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} + -Dgnome_proxy=disabled + ADDITIONAL_BINARIES + "gio-querymodules = '${CURRENT_HOST_INSTALLED_DIR}/tools/glib/gio-querymodules${CMAKE_EXECUTABLE_SUFFIX}'" +) + +vcpkg_install_meson() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/gio/modules/pkgconfig") +file(GLOB MODULE_FILES "${CURRENT_PACKAGES_DIR}/lib/gio/modules/*") +file(COPY ${MODULE_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/plugins/${PORT}") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/gio/modules/pkgconfig") +file(GLOB MODULE_DEBUG_FILES "${CURRENT_PACKAGES_DIR}/debug/lib/gio/modules/*") +file(COPY ${MODULE_DEBUG_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/plugins/${PORT}") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib") + +if(libproxy IN_LIST FEATURES) + vcpkg_copy_tools(TOOL_NAMES glib-pacrunner SEARCH_DIR "${CURRENT_PACKAGES_DIR}/libexec") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/libexec" "${CURRENT_PACKAGES_DIR}/debug/libexec") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/dbus-1/services/org.gtk.GLib.PACRunner.service" "${CURRENT_PACKAGES_DIR}/libexec/glib-pacrunner" "${CURRENT_HOST_INSTALLED_DIR}/tools/${PORT}/glib-pacrunner") +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/glib-networking/usage b/ports/glib-networking/usage new file mode 100644 index 00000000000000..68a29aeaaacc37 --- /dev/null +++ b/ports/glib-networking/usage @@ -0,0 +1 @@ +glib-networking is a gio module, you should set GIO_MODULE_DIR to the location of dynamic libraries. \ No newline at end of file diff --git a/ports/glib-networking/vcpkg.json b/ports/glib-networking/vcpkg.json new file mode 100644 index 00000000000000..b443f3251805e6 --- /dev/null +++ b/ports/glib-networking/vcpkg.json @@ -0,0 +1,54 @@ +{ + "name": "glib-networking", + "version": "2.78.0", + "description": "Network extensions for GLib", + "homepage": "https://gitlab.gnome.org/GNOME/glib-networking", + "license": "LGPL-2.1-only", + "supports": "!uwp", + "dependencies": [ + "glib", + { + "name": "glib", + "host": true + }, + { + "name": "vcpkg-tool-meson", + "host": true + } + ], + "default-features": [ + { + "name": "gnutls", + "platform": "linux | mingw" + }, + { + "name": "openssl", + "platform": "!linux & !mingw" + } + ], + "features": { + "environment-proxy": { + "description": "support for environment variable proxy configuration" + }, + "gnutls": { + "description": "support for GnuTLS networking configuration", + "supports": "!windows | mingw", + "dependencies": [ + "libgnutls" + ] + }, + "libproxy": { + "description": "support for libproxy proxy configuration", + "supports": "!(uwp | xbox | android)", + "dependencies": [ + "libproxy" + ] + }, + "openssl": { + "description": "support for OpenSSL networking configuration", + "dependencies": [ + "openssl" + ] + } + } +} diff --git a/ports/glib/0005-pr-4133-4143-avoid-package-packaging.patch b/ports/glib/0005-pr-4133-4143-avoid-package-packaging.patch new file mode 100644 index 00000000000000..e19645b90b5a23 --- /dev/null +++ b/ports/glib/0005-pr-4133-4143-avoid-package-packaging.patch @@ -0,0 +1,59 @@ +diff --git a/gio/gdbus-2.0/codegen/utils.py b/gio/gdbus-2.0/codegen/utils.py +index 08f1ba9..af803c0 100644 +--- a/gio/gdbus-2.0/codegen/utils.py ++++ b/gio/gdbus-2.0/codegen/utils.py +@@ -19,10 +19,9 @@ + # + # Author: David Zeuthen + +-import packaging.version + import os + import sys +- ++import re + + # pylint: disable=too-few-public-methods + class Color: +@@ -166,4 +165,28 @@ def version_cmp_key(key): + v = str(key[0]) + else: + v = "0" +- return (packaging.version.Version(v), key[1]) ++ return (_parse_version(v), key[1]) ++ ++ ++def _parse_version(version): ++ """ ++ Parse a version string into a list of integers and strings. ++ ++ This function takes a version string and breaks it down into its component parts. ++ It separates numeric and non-numeric segments, converting numeric segments to integers. ++ ++ Args: ++ version (str): The version string to parse. ++ ++ Returns: ++ list: A list where each element is either an integer (for numeric parts) ++ or a string (for non-numeric parts). ++ ++ Example: ++ >>> parseversion("1.2.3a") ++ [1, 2, 3, 'a'] ++ >>> parseversion("2.0.0-rc1") ++ [2, 0, 0, 'rc1'] ++ """ ++ blocks = re.findall(r"(\d+|\w+)", version) ++ return [int(b) if b.isdigit() else b for b in blocks] +diff --git a/meson.build b/meson.build +index a400965..576a939 100644 +--- a/meson.build ++++ b/meson.build +@@ -2420,7 +2420,7 @@ endif + + glib_conf.set('HAVE_PROC_SELF_CMDLINE', have_proc_self_cmdline) + +-python = import('python').find_installation(modules: ['packaging']) ++python = import('python').find_installation() + # used for '#!/usr/bin/env ' + python_name = 'python3' + diff --git a/ports/glib/libintl.patch b/ports/glib/libintl.patch index e62c5667218c7f..48a518e1f2e88c 100644 --- a/ports/glib/libintl.patch +++ b/ports/glib/libintl.patch @@ -9,7 +9,7 @@ diff --git a/meson.build b/meson.build libintl_prefix = '#include ' -libintl = dependency('intl', required: false) -if libintl.found() and libintl.type_name() != 'internal' -+libintl = dependency('Intl', method:'cmake', required: true) ++libintl = dependency('intl', required : true) +libintl_deps = [libintl] +if false # libintl supports different threading APIs, which may not diff --git a/ports/glib/portfile.cmake b/ports/glib/portfile.cmake index bc4fe0601efe44..2aec3a1d0af346 100644 --- a/ports/glib/portfile.cmake +++ b/ports/glib/portfile.cmake @@ -2,7 +2,7 @@ string(REGEX MATCH "^([0-9]*[.][0-9]*)" GLIB_MAJOR_MINOR "${VERSION}") vcpkg_download_distfile(GLIB_ARCHIVE URLS "https://download.gnome.org/sources/glib/${GLIB_MAJOR_MINOR}/glib-${VERSION}.tar.xz" FILENAME "glib-${VERSION}.tar.xz" - SHA512 3d06890002f4b13f831c83fbb70cfce529f9750e30888619e4d6277116be15d106379a03143412cf4b2a289c0cbdbbc299ecf17284fbffc06c791ecf7556c765 + SHA512 1514d62aeb4c4a1a1048ae0f84f7db7f0dbf355772b2dadf6a34ec547045b163a5e28331b096e7616fe3c9c19bed98025a0202b05073f5d7ee901d0efaffe143 ) vcpkg_extract_source_archive(SOURCE_PATH @@ -10,11 +10,12 @@ vcpkg_extract_source_archive(SOURCE_PATH PATCHES use-libiconv-on-windows.patch libintl.patch - suppress-libelf-dependency.patch + 0005-pr-4133-4143-avoid-package-packaging.patch # Backport from 2.81.1 ) -if(APPLE) - list(APPEND VCPKG_CMAKE_CONFIGURE_OPTIONS "-DVCPKG_ENABLE_OBJC=1") +set(LANGUAGES C CXX) +if(VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_IOS) + list(APPEND LANGUAGES OBJC OBJCXX) endif() vcpkg_list(SET OPTIONS) @@ -42,15 +43,16 @@ endif() vcpkg_configure_meson( SOURCE_PATH "${SOURCE_PATH}" - LANGUAGES C CXX OBJC OBJCXX + LANGUAGES ${LANGUAGES} ADDITIONAL_BINARIES ${ADDITIONAL_BINARIES} OPTIONS ${OPTIONS} - -Dgtk_doc=false + -Ddocumentation=false -Dinstalled_tests=false + -Dintrospection=disabled -Dlibelf=disabled - -Dman=false + -Dman-pages=disabled -Dtests=false -Dxattr=false ) @@ -73,6 +75,9 @@ endforeach() set(GLIB_TOOLS gapplication gdbus + gi-compile-repository + gi-decompile-typelib + gi-inspect-typelib gio gio-querymodules glib-compile-resources @@ -110,11 +115,11 @@ endif() set(pc_replace_intl_path gio glib gmodule-no-export gobject gthread) foreach(pc_prefix IN LISTS pc_replace_intl_path) vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/${pc_prefix}-2.0.pc" "\"" "") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/${pc_prefix}-2.0.pc" "\${prefix}/debug/lib/${LIBINTL_NAME}" "-lintl") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/${pc_prefix}-2.0.pc" "\${prefix}/lib/${LIBINTL_NAME}" "-lintl") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/${pc_prefix}-2.0.pc" "\${prefix}/debug/lib/${LIBINTL_NAME}" "-lintl" IGNORE_UNCHANGED) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/${pc_prefix}-2.0.pc" "\${prefix}/lib/${LIBINTL_NAME}" "-lintl" IGNORE_UNCHANGED) if(NOT VCPKG_BUILD_TYPE) vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/${pc_prefix}-2.0.pc" "\"" "") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/${pc_prefix}-2.0.pc" "\${prefix}/lib/${LIBINTL_NAME}" "-lintl") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/${pc_prefix}-2.0.pc" "\${prefix}/lib/${LIBINTL_NAME}" "-lintl" IGNORE_UNCHANGED) endif() endforeach() diff --git a/ports/glib/suppress-libelf-dependency.patch b/ports/glib/suppress-libelf-dependency.patch deleted file mode 100644 index cf14dd5771e466..00000000000000 --- a/ports/glib/suppress-libelf-dependency.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/gio/meson.build b/gio/meson.build ---- a/gio/meson.build -+++ b/gio/meson.build -@@ -935,7 +935,7 @@ endif - # Dependencies used by executables below - have_libelf = false - libelf = dependency('libelf', version : '>= 0.8.12', required : false) --if libelf.found() -+if false - have_libelf = true - else - # This fallback is necessary on *BSD. elfutils isn't the only libelf diff --git a/ports/glib/vcpkg.json b/ports/glib/vcpkg.json index da1c7406f5d19a..3d86408cff42c2 100644 --- a/ports/glib/vcpkg.json +++ b/ports/glib/vcpkg.json @@ -1,13 +1,22 @@ { "name": "glib", - "version": "2.78.0", + "version": "2.80.0", + "port-version": 1, "description": "Portable, general-purpose utility library.", "homepage": "https://developer.gnome.org/glib/", "license": "LGPL-2.1-or-later", "supports": "!uwp & !xbox", "dependencies": [ "dirent", - "gettext", + { + "name": "gettext", + "host": true, + "default-features": false, + "features": [ + "tools" + ] + }, + "gettext-libintl", "libffi", "libiconv", "pcre2", diff --git a/ports/glibmm/portfile.cmake b/ports/glibmm/portfile.cmake index 050ba47f31cc12..23e13eee0a039a 100644 --- a/ports/glibmm/portfile.cmake +++ b/ports/glibmm/portfile.cmake @@ -3,7 +3,7 @@ string(REGEX MATCH "^([0-9]*[.][0-9]*)" GLIBMM_MAJOR_MINOR "${VERSION}") vcpkg_download_distfile(GLIBMM_ARCHIVE URLS "https://ftp.gnome.org/pub/GNOME/sources/glibmm/${GLIBMM_MAJOR_MINOR}/glibmm-${VERSION}.tar.xz" FILENAME "glibmm-${VERSION}.tar.xz" - SHA512 be49599f5eb8eb5a1cef015cdb37af2564fcd1ea845aa4344804ca5f0f61468949711e25cefebb93219e1be37128ebfdd2a816324e752ac4395b4b87c072fc78 + SHA512 5ace15c492be553e2c6abd8d0699197239261feaa2b45ff77181f59bb98b584dc822bdd46dbdee35691cc5a955a3b88e03f58532459236fd780823354c35d0a6 ) vcpkg_extract_source_archive( @@ -32,5 +32,4 @@ vcpkg_fixup_pkgconfig() # Handle copyright and readmes file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) file(INSTALL "${SOURCE_PATH}/README.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME readme.txt) -file(INSTALL "${SOURCE_PATH}/README.SUN" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -file(INSTALL "${SOURCE_PATH}/README.win32" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(INSTALL "${SOURCE_PATH}/README.win32.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/glibmm/vcpkg.json b/ports/glibmm/vcpkg.json index 9542055538b63e..b3cdc8541297f6 100644 --- a/ports/glibmm/vcpkg.json +++ b/ports/glibmm/vcpkg.json @@ -1,7 +1,6 @@ { "name": "glibmm", - "version": "2.76.0", - "port-version": 1, + "version": "2.78.1", "description": "This is glibmm, a C++ API for parts of glib that are useful for C++.", "homepage": "https://www.gtkmm.org.", "license": "LGPL-2.1-or-later", diff --git a/ports/glm/CMakeLists.txt b/ports/glm/CMakeLists.txt deleted file mode 100644 index e323256fb83128..00000000000000 --- a/ports/glm/CMakeLists.txt +++ /dev/null @@ -1,23 +0,0 @@ -cmake_minimum_required(VERSION 3.12 FATAL_ERROR) - -project(glm LANGUAGES CXX) - -include(GNUInstallDirs) - -add_library(glm INTERFACE) -target_include_directories(glm INTERFACE $) - -install(TARGETS glm EXPORT glm) - -install( - EXPORT glm - FILE glm-config.cmake - DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/glm" - NAMESPACE glm:: -) - -install( - DIRECTORY "${CMAKE_SOURCE_DIR}/glm" - DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" - PATTERN "CMakeLists.txt" EXCLUDE -) diff --git a/ports/glm/fix-clang.patch b/ports/glm/fix-clang.patch new file mode 100644 index 00000000000000..e7c7b4138ca729 --- /dev/null +++ b/ports/glm/fix-clang.patch @@ -0,0 +1,17 @@ +diff --git a/glm/detail/setup.hpp b/glm/detail/setup.hpp +index 315eb346..21ccebf4 100644 +--- a/glm/detail/setup.hpp ++++ b/glm/detail/setup.hpp +@@ -595,7 +595,11 @@ + # define GLM_DEPRECATED __declspec(deprecated) + # define GLM_ALIGNED_TYPEDEF(type, name, alignment) typedef __declspec(align(alignment)) type name + #elif GLM_COMPILER & (GLM_COMPILER_GCC | GLM_COMPILER_CLANG | GLM_COMPILER_INTEL) +-# define GLM_DEPRECATED __attribute__((__deprecated__)) ++# if GLM_LANG & GLM_LANG_CXX14_FLAG ++# define GLM_DEPRECATED [[deprecated]] ++# else ++# define GLM_DEPRECATED __attribute__((__deprecated__)) ++# endif + # define GLM_ALIGNED_TYPEDEF(type, name, alignment) typedef type name __attribute__((aligned(alignment))) + #elif (GLM_COMPILER & GLM_COMPILER_CUDA) || (GLM_COMPILER & GLM_COMPILER_HIP) + # define GLM_DEPRECATED diff --git a/ports/glm/portfile.cmake b/ports/glm/portfile.cmake index 133c81ec6e7ccf..00ba3076543a05 100644 --- a/ports/glm/portfile.cmake +++ b/ports/glm/portfile.cmake @@ -1,23 +1,27 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO g-truc/glm - REF bf71a834948186f4097caa076cd2663c69a10e1e #v0.9.9.8 - SHA512 226266c02af616a96fb19ee32cf3f98347daa43a4fde5d618d36b38709dce1280de126c542524d40725ecf70359edcc5b60660554c65ce246514501fb4c9c87c + REF "${VERSION}" + SHA512 c6c6fa1ea7a7e97820e36ee042a78be248ae828c99c1b1111080d9bf334a5160c9993a70312351c92a867cd49907c95f9f357c8dfe2bc29946da6e83e27ba20c HEAD_REF master + PATCHES + fix-clang.patch # Backport https://github.com/g-truc/glm/pull/1286. Remove with next update. ) -set(VCPKG_BUILD_TYPE release) # header-only port - -file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") - vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DGLM_BUILD_LIBRARY=ON + -DGLM_BUILD_TESTS=OFF + -DGLM_BUILD_INSTALL=ON ) vcpkg_cmake_install() vcpkg_cmake_config_fixup() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -# Put the license file where vcpkg expects it -file(INSTALL "${SOURCE_PATH}/copying.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/copying.txt") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/glm/usage b/ports/glm/usage new file mode 100644 index 00000000000000..0f63af2a73f92b --- /dev/null +++ b/ports/glm/usage @@ -0,0 +1,8 @@ +The package glm provides CMake targets: + + find_package(glm CONFIG REQUIRED) + target_link_libraries(main PRIVATE glm::glm) + + # Or use the header-only version + find_package(glm CONFIG REQUIRED) + target_link_libraries(main PRIVATE glm::glm-header-only) diff --git a/ports/glm/vcpkg.json b/ports/glm/vcpkg.json index a81138c051cc8f..cd29c8f060f11a 100644 --- a/ports/glm/vcpkg.json +++ b/ports/glm/vcpkg.json @@ -1,7 +1,7 @@ { "name": "glm", - "version": "0.9.9.8", - "port-version": 2, + "version": "1.0.1", + "port-version": 3, "description": "OpenGL Mathematics (GLM)", "homepage": "https://glm.g-truc.net", "license": "MIT", diff --git a/ports/glog/fix_cplusplus_macro.patch b/ports/glog/fix_cplusplus_macro.patch index b6b70ad1067758..bd9d0e111a7983 100644 --- a/ports/glog/fix_cplusplus_macro.patch +++ b/ports/glog/fix_cplusplus_macro.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index d145517..e8e1c90 100644 +index 985f5f5..bf6600e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -669,6 +669,10 @@ if (CYGWIN OR WIN32) +@@ -476,6 +476,10 @@ if (CYGWIN OR WIN32) target_compile_definitions (glog PUBLIC GLOG_NO_ABBREVIATED_SEVERITIES) endif (CYGWIN OR WIN32) @@ -10,6 +10,6 @@ index d145517..e8e1c90 100644 + target_compile_options(glog INTERFACE "$<$>:/Zc:__cplusplus>") +endif() + - if (WITH_CUSTOM_PREFIX) - target_compile_definitions (glog PUBLIC GLOG_CUSTOM_PREFIX_SUPPORT) - endif (WITH_CUSTOM_PREFIX) + set_target_properties (glog PROPERTIES PUBLIC_HEADER "${GLOG_PUBLIC_H}") + + target_include_directories (glog BEFORE PUBLIC diff --git a/ports/glog/fix_crosscompile_symbolize.patch b/ports/glog/fix_crosscompile_symbolize.patch index 13ffe77cd58ab4..e94ce8f7972cc0 100644 --- a/ports/glog/fix_crosscompile_symbolize.patch +++ b/ports/glog/fix_crosscompile_symbolize.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index d314abe..d145517 100644 +index fe1d85f..985f5f5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -450,6 +450,9 @@ endif (HAVE_CXX11_ATOMIC) +@@ -243,6 +243,9 @@ endif (HAVE_EXECINFO_BACKTRACE AND HAVE_EXECINFO_BACKTRACE_SYMBOLS) if (WITH_SYMBOLIZE) if (WIN32 OR CYGWIN) @@ -12,7 +12,7 @@ index d314abe..d145517 100644 cmake_push_check_state (RESET) set (CMAKE_REQUIRED_LIBRARIES DbgHelp) -@@ -480,6 +483,7 @@ if (WITH_SYMBOLIZE) +@@ -273,6 +276,7 @@ if (WITH_SYMBOLIZE) ]=] HAVE_SYMBOLIZE) cmake_pop_check_state () diff --git a/ports/glog/fix_glog_CMAKE_MODULE_PATH.patch b/ports/glog/fix_glog_CMAKE_MODULE_PATH.patch index 8727ebe0fb0be6..39bda83795fe78 100644 --- a/ports/glog/fix_glog_CMAKE_MODULE_PATH.patch +++ b/ports/glog/fix_glog_CMAKE_MODULE_PATH.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 846b444..20441d1 100644 +index b787631..41bf110 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -1027,7 +1027,7 @@ write_basic_package_version_file ( +@@ -1000,7 +1000,7 @@ write_basic_package_version_file ( export (TARGETS glog NAMESPACE glog:: FILE glog-targets.cmake) export (PACKAGE glog) @@ -11,16 +11,16 @@ index 846b444..20441d1 100644 get_filename_component (_PREFIX "${CMAKE_INSTALL_PREFIX}" ABSOLUTE) # Directory containing the find modules relative to the config install -@@ -1063,6 +1063,7 @@ file (INSTALL +@@ -1036,6 +1036,7 @@ file (INSTALL " COMPONENT Development ) +endif() install (FILES - ${CMAKE_CURRENT_BINARY_DIR}/glog-config.cmake + ${glog_BINARY_DIR}/glog-config.cmake diff --git a/glog-config.cmake.in b/glog-config.cmake.in -index 5c5c9c0..31fac52 100644 +index 7d98525..93bc7d9 100644 --- a/glog-config.cmake.in +++ b/glog-config.cmake.in @@ -5,7 +5,6 @@ endif (CMAKE_VERSION VERSION_LESS @glog_CMake_VERSION@) @@ -29,5 +29,5 @@ index 5c5c9c0..31fac52 100644 include (CMakeFindDependencyMacro) -include (${CMAKE_CURRENT_LIST_DIR}/glog-modules.cmake) - @gflags_DEPENDENCY@ - @Unwind_DEPENDENCY@ + find_dependency (Threads) + diff --git a/ports/glog/glog_disable_debug_postfix.patch b/ports/glog/glog_disable_debug_postfix.patch index e8e8cbe208f701..8a9db4482f5f5f 100644 --- a/ports/glog/glog_disable_debug_postfix.patch +++ b/ports/glog/glog_disable_debug_postfix.patch @@ -1,13 +1,13 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 20441d1..d314abe 100644 +index 41bf110..fe1d85f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -65,7 +65,7 @@ set (CMAKE_CXX_VISIBILITY_PRESET hidden) +@@ -61,7 +61,7 @@ set (CMAKE_CXX_VISIBILITY_PRESET hidden) set (CMAKE_POSITION_INDEPENDENT_CODE ON) set (CMAKE_VISIBILITY_INLINES_HIDDEN ON) -set (CMAKE_DEBUG_POSTFIX d) +#set (CMAKE_DEBUG_POSTFIX d) - set (CMAKE_THREAD_PREFER_PTHREAD 1) find_package (GTest NO_MODULE) + diff --git a/ports/glog/portfile.cmake b/ports/glog/portfile.cmake index 50997e76046563..76cd91e512e085 100644 --- a/ports/glog/portfile.cmake +++ b/ports/glog/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/glog - REF v0.6.0 - SHA512 fd2c42583d0dd72c790a8cf888f328a64447c5fb9d99b2e2a3833d70c102cb0eb9ae874632c2732424cc86216c8a076a3e24b23a793eaddb5da8a1dc52ba9226 + REF "v${VERSION}" + SHA512 2dabac87d44e4fe58beceb31b22be732b47df84c22f1af8c0e7d0f262de939889de1f16025c1256539f2833ef3393bc92034e983aa2886752bb8705801a68630 HEAD_REF master PATCHES fix_glog_CMAKE_MODULE_PATH.patch @@ -16,6 +16,8 @@ vcpkg_check_features( FEATURES unwind WITH_UNWIND customprefix WITH_CUSTOM_PREFIX + INVERTED_FEATURES + unwind CMAKE_DISABLE_FIND_PACKAGE_Unwind ) file(REMOVE "${SOURCE_PATH}/glog-modules.cmake.in") @@ -35,4 +37,14 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") vcpkg_copy_pdbs() vcpkg_fixup_pkgconfig() -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/${PORT}/export.h" "#ifdef GLOG_STATIC_DEFINE" "#if 1") +else() + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/${PORT}/export.h" "#ifdef GLOG_STATIC_DEFINE" "#if 0") +endif() + +if("unwind" IN_LIST FEATURES) + file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +endif() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/glog/vcpkg-cmake-wrapper.cmake b/ports/glog/vcpkg-cmake-wrapper.cmake new file mode 100644 index 00000000000000..a7c80f00e544cf --- /dev/null +++ b/ports/glog/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,6 @@ +set(GLOG_PREV_MODULE_PATH ${CMAKE_MODULE_PATH}) +list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/cmake) + +_find_package(${ARGS}) + +set(CMAKE_MODULE_PATH ${GLOG_PREV_MODULE_PATH}) diff --git a/ports/glog/vcpkg.json b/ports/glog/vcpkg.json index 97dd284bdb6c5e..da170c218d6028 100644 --- a/ports/glog/vcpkg.json +++ b/ports/glog/vcpkg.json @@ -1,7 +1,6 @@ { "name": "glog", - "version": "0.6.0", - "port-version": 2, + "version": "0.7.1", "description": "C++ implementation of the Google logging module", "homepage": "https://github.com/google/glog", "license": "BSD-3-Clause", @@ -22,7 +21,10 @@ }, "unwind": { "description": "Enable libunwind support", - "supports": "linux" + "supports": "linux", + "dependencies": [ + "libunwind" + ] } } } diff --git a/ports/gloo/portfile.cmake b/ports/gloo/portfile.cmake index e9ed2af43f2da6..347f577ab0c055 100644 --- a/ports/gloo/portfile.cmake +++ b/ports/gloo/portfile.cmake @@ -1,10 +1,10 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO facebookincubator/gloo - REF 1da21174054eaabbbd189b7f657ea24842d821e2 - SHA512 ebd8369e413aee739a3928f8e6738c15708f009e0cd5a3763b8cadbe6f6d0a9d758585a7a2b0f7dd6d39a12882ff2f9497ab2d4edcebd4eb2a7237ab857f317e + REF 81925d1c674c34f0dc34dd9a0f2151c1b6f701eb + SHA512 2783908e7e0d6bd7f8cf59f4e6a94c84908e459f394c294cdf34aa8d1943a193fb25d15a8662f5a32a82b23a2657e63b1aa562f3ad8953ef79c9f502d04fed20 HEAD_REF master - ) +) # Determine which backend to build via specified feature vcpkg_check_features( diff --git a/ports/gloo/vcpkg.json b/ports/gloo/vcpkg.json index 7ded7731d02f81..03a382327b1d61 100644 --- a/ports/gloo/vcpkg.json +++ b/ports/gloo/vcpkg.json @@ -1,7 +1,6 @@ { "name": "gloo", - "version": "20201203", - "port-version": 2, + "version": "20240626", "description": "Collective communications library with various primitives for multi-machine training.", "homepage": "https://github.com/facebookincubator/gloo", "supports": "x64 & linux", diff --git a/ports/glpk/glpk.pc.in b/ports/glpk/glpk.pc.in index 6a564155e69bd6..b1ac85180b5d69 100644 --- a/ports/glpk/glpk.pc.in +++ b/ports/glpk/glpk.pc.in @@ -7,5 +7,6 @@ Name: glpk Description: The GNU Linear Programming Kit (GLPK) solves large-scale linear programming (LP), mixed integer programming (MIP), and related problems. Version: @VERSION@ Libs: -L${libdir} -l@libname@ +Libs.private: @libs@ Cflags: -I${includedir} -Requires: @requires@ \ No newline at end of file +Requires.private: @requires@ diff --git a/ports/glpk/portfile.cmake b/ports/glpk/portfile.cmake index daa48faaf4bd5a..9fd4a88230e554 100644 --- a/ports/glpk/portfile.cmake +++ b/ports/glpk/portfile.cmake @@ -1,4 +1,3 @@ -vcpkg_minimum_required(VERSION 2022-10-12) set(DISTFILE_SHA512_HASH 4e92195fa058c707146f2690f3a38b46c33add948c852f67659ca005a6aa980bbf97be96528b0f8391690facb880ac2126cd60198c6c175e7f3f06cca7e29f9d) vcpkg_download_distfile( @@ -34,14 +33,13 @@ if("mysql" IN_LIST FEATURES) --enable-mysql "CPPFLAGS=-I${CURRENT_INSTALLED_DIR}/include/mysql \$CPPFLAGS" ) - string(APPEND requires " mysql") + string(APPEND libs " -lmysql") else() vcpkg_list(APPEND CONFIGURE_OPTIONS --disable-mysql) endif() if("odbc" IN_LIST FEATURES) vcpkg_list(APPEND CONFIGURE_OPTIONS --enable-odbc) - string(APPEND requires " odbc") else() vcpkg_list(APPEND CONFIGURE_OPTIONS --disable-odbc) endif() @@ -66,4 +64,4 @@ vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() vcpkg_copy_tools(TOOL_NAMES glpsol AUTO_CLEAN) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/glpk/vcpkg.json b/ports/glpk/vcpkg.json index 9486ff8638285d..58e820d435eb21 100644 --- a/ports/glpk/vcpkg.json +++ b/ports/glpk/vcpkg.json @@ -2,7 +2,7 @@ "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json", "name": "glpk", "version": "5.0", - "port-version": 2, + "port-version": 3, "maintainers": "Fabio A. Correa Duran", "description": [ "The GNU Linear Programming Kit (GLPK) solves large-scale linear programming (LP), mixed integer programming (MIP), and related problems.", diff --git a/ports/glslang/portfile.cmake b/ports/glslang/portfile.cmake index ab346cf30d0f62..9f1727ba7c885c 100644 --- a/ports/glslang/portfile.cmake +++ b/ports/glslang/portfile.cmake @@ -4,52 +4,50 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KhronosGroup/glslang REF "${VERSION}" - SHA512 678df76a6f23b9da93f111fc7e6db57b7f6bf34661b077f9259a0a77d6c023b4d2e3c1cd60b3f9fc15fe69f25cdcb19877e88a50771d3d5275e32574eaefc056 + SHA512 8ba7e5f73746b221ff39387282e2d929d1142c60d1c79019f4c21c84b105fb59253e88f2f649a25e9bb7ab01094e455f002c7412aeea882548fac4a426eee809 HEAD_REF master ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES + opt ENABLE_OPT + opt ALLOW_EXTERNAL_SPIRV_TOOLS tools ENABLE_GLSLANG_BINARIES rtti ENABLE_RTTI ) -if (ENABLE_GLSLANG_BINARIES) +if(ENABLE_GLSLANG_BINARIES) vcpkg_find_acquire_program(PYTHON3) get_filename_component(PYTHON_PATH ${PYTHON3} DIRECTORY) vcpkg_add_to_path("${PYTHON_PATH}") -endif () - -if (VCPKG_TARGET_IS_WINDOWS) - set(PLATFORM_OPTIONS "-DOVERRIDE_MSVCCRT=OFF") -endif () +endif() vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_EXTERNAL=OFF - -DENABLE_CTEST=OFF - -DSKIP_GLSLANG_INSTALL=OFF + -DGLSLANG_TESTS=OFF ${FEATURE_OPTIONS} - ${PLATFORM_OPTIONS} ) vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/glslang DO_NOT_DELETE_PARENT_CONFIG_PATH) -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake) vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/glslang-config.cmake" - "${PACKAGE_PREFIX_DIR}/lib/cmake/glslang/glslang-targets.cmake" - "${PACKAGE_PREFIX_DIR}/share/${PORT}/glslang-targets.cmake" + [[${PACKAGE_PREFIX_DIR}/lib/cmake/glslang/glslang-targets.cmake]] + [[${CMAKE_CURRENT_LIST_DIR}/glslang-targets.cmake]] ) +file(REMOVE_RECURSE CONFIG_PATH "${CURRENT_PACKAGES_DIR}/lib/cmake" "${CURRENT_PACKAGES_DIR}/debug/lib/cmake") + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/glslang/Public/ShaderLang.h" "ifdef GLSLANG_IS_SHARED_LIBRARY" "if 1") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/glslang/Include/glslang_c_interface.h" "ifdef GLSLANG_IS_SHARED_LIBRARY" "if 1") +endif() vcpkg_copy_pdbs() -if (ENABLE_GLSLANG_BINARIES) - vcpkg_copy_tools(TOOL_NAMES glslangValidator spirv-remap AUTO_CLEAN) - if(VCPKG_TARGET_IS_WINDOWS) - vcpkg_copy_tools(TOOL_NAMES glslang AUTO_CLEAN) - endif() -endif () +if(ENABLE_GLSLANG_BINARIES) + vcpkg_copy_tools(TOOL_NAMES glslang glslangValidator spirv-remap AUTO_CLEAN) +endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/glslang/usage b/ports/glslang/usage index d4e70762761009..6512fec48a908d 100644 --- a/ports/glslang/usage +++ b/ports/glslang/usage @@ -1,4 +1,4 @@ glslang provides CMake targets: find_package(glslang CONFIG REQUIRED) - target_link_libraries(main PRIVATE glslang::OSDependent glslang::glslang glslang::MachineIndependent glslang::GenericCodeGen glslang::glslang-default-resource-limits glslang::OGLCompiler glslang::SPVRemapper glslang::SPIRV glslang::HLSL) + target_link_libraries(main PRIVATE glslang::glslang glslang::glslang-default-resource-limits glslang::SPIRV glslang::SPVRemapper) diff --git a/ports/glslang/vcpkg.json b/ports/glslang/vcpkg.json index 432d78ae07de23..25e3580b949189 100644 --- a/ports/glslang/vcpkg.json +++ b/ports/glslang/vcpkg.json @@ -1,7 +1,6 @@ { "name": "glslang", - "version": "13.0.0", - "port-version": 1, + "version": "15.1.0", "description": "Khronos-reference front end for GLSL/ESSL, partial front end for HLSL, and a SPIR-V generator.", "homepage": "https://github.com/KhronosGroup/glslang", "license": "Apache-2.0 AND BSD-3-Clause AND MIT AND GPL-3.0-or-later", @@ -16,6 +15,12 @@ } ], "features": { + "opt": { + "description": "Build with spirv-opt capability", + "dependencies": [ + "spirv-tools" + ] + }, "rtti": { "description": "Build with dynamic typeinfo" }, diff --git a/ports/glui/vcpkg.json b/ports/glui/vcpkg.json index 40fe8892f0013a..e9ce83d89eaafd 100644 --- a/ports/glui/vcpkg.json +++ b/ports/glui/vcpkg.json @@ -1,11 +1,13 @@ { "name": "glui", "version-date": "2019-11-30", - "port-version": 3, + "port-version": 4, "description": "GLUI is a GLUT-based C++ user interface library", "homepage": "https://github.com/libglui/glui", + "supports": "!android", "dependencies": [ "freeglut", + "opengl", { "name": "vcpkg-cmake", "host": true diff --git a/ports/gmime/CMakeLists.txt b/ports/gmime/CMakeLists.txt deleted file mode 100644 index ce185ec39c8fd4..00000000000000 --- a/ports/gmime/CMakeLists.txt +++ /dev/null @@ -1,58 +0,0 @@ -cmake_minimum_required(VERSION 3.8) - -project(gmime C) - -set(GMIME_DLL_SUFFIX 3) -set(GMIME_LIB_SUFFIX 3.0) - -find_package(ZLIB REQUIRED) -find_package(PkgConfig REQUIRED) -pkg_check_modules(GLIB2 glib-2.0 gobject-2.0 gmodule-2.0 gio-2.0 IMPORTED_TARGET) -find_package(Iconv REQUIRED) - -pkg_check_modules(IDN2 libidn2 IMPORTED_TARGET) - -if(MSVC) - add_definitions(-D_CRT_SECURE_NO_DEPRECATE) - add_definitions(-D_CRT_NONSTDC_NO_DEPRECATE) -endif() - -add_definitions(-DHAVE_CONFIG_H) -add_definitions(-DG_DISABLE_DEPRECATED) -add_definitions(-DG_LOG_DOMAIN="GMime") - -# Source files -file(GLOB LIB_SRC gmime/gmime-*.c) -list(APPEND LIB_SRC gmime/gmime.c - gmime/internet-address.c - util/packed.c - util/url-scanner.c - util/gtrie.c) - -# Headers -file(GLOB LIB_HEADERS gmime/gmime-*.h) -list(APPEND LIB_HEADERS gmime/gmime.h) -list(APPEND LIB_HEADERS gmime/internet-address.h) - -if(MSVC AND BUILD_SHARED_LIBS) - set(MSVC_SRC gmime.def) -endif() - -add_library(${PROJECT_NAME} ${LIB_SRC} ${MSVC_SRC}) - -set_target_properties(${PROJECT_NAME} PROPERTIES - OUTPUT_NAME ${PROJECT_NAME}-${GMIME_DLL_SUFFIX} - ARCHIVE_OUTPUT_NAME ${PROJECT_NAME}-${GMIME_LIB_SUFFIX} -) - -target_include_directories(${PROJECT_NAME} PRIVATE . ./util) -target_link_libraries(${PROJECT_NAME} PRIVATE Iconv::Iconv ZLIB::ZLIB PkgConfig::IDN2) -target_link_libraries(${PROJECT_NAME} PRIVATE PkgConfig::GLIB2) -target_link_libraries(${PROJECT_NAME} PRIVATE Ws2_32.lib) - -install(TARGETS ${PROJECT_NAME} - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib) - -install(FILES ${LIB_HEADERS} DESTINATION include/gmime) diff --git a/ports/gmime/msvc-ssize_t.diff b/ports/gmime/msvc-ssize_t.diff new file mode 100644 index 00000000000000..677187d6cee4a7 --- /dev/null +++ b/ports/gmime/msvc-ssize_t.diff @@ -0,0 +1,33 @@ +diff --git a/configure.ac b/configure.ac +index 9d368e0..c534a09 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -168,6 +168,13 @@ AC_TYPE_MODE_T + AC_TYPE_OFF_T + AC_TYPE_SIZE_T + AC_TYPE_SSIZE_T ++AH_BOTTOM([ ++#ifdef _MSC_VER ++#undef ssize_t; ++#include ++typedef SSIZE_T ssize_t; ++#endif ++]) + AC_TYPE_UINT32_T + AC_TYPE_UINT64_T + AC_TYPE_UINT8_T +diff --git a/gmime/gmime.h b/gmime/gmime.h +index ef6b93e..d3696ac 100644 +--- a/gmime/gmime.h ++++ b/gmime/gmime.h +@@ -22,6 +22,10 @@ + #ifndef __GMIME_H__ + #define __GMIME_H__ + ++#ifdef _MSC_VER ++#include ++typedef SSIZE_T ssize_t; ++#endif + #include + #include + #include diff --git a/ports/gmime/portfile.cmake b/ports/gmime/portfile.cmake index dbdc226e4e342b..beab3f4ccf0a47 100644 --- a/ports/gmime/portfile.cmake +++ b/ports/gmime/portfile.cmake @@ -1,38 +1,70 @@ -set(LIB_NAME gmime) -set(LIB_VERSION 3.2.6) - -set(LIB_FILENAME ${LIB_NAME}-${LIB_VERSION}.tar.xz) - vcpkg_download_distfile(ARCHIVE - URLS "https://download.gnome.org/sources/gmime/3.2/${LIB_FILENAME}" - FILENAME "${LIB_FILENAME}" - SHA512 a60d3f9f1aa8490865c22cd9539544e9c9f3ceb4037b9749cf9e5c279f97aa88fc4cd077bf2aff314ba0db2a1b7bbe76f9b1ca5a17fffcbd6315ecebc5414a3d + URLS https://github.com/jstedfast/gmime/releases/download/${VERSION}/gmime-${VERSION}.tar.xz + FILENAME "gmime-${VERSION}.tar.xz" + SHA512 cafb89854b2441508bf940fd6f991739d30fb137b8928ad33e8e4d2a0293a6460e4d1318e73c3ee9e5a964b692f36e7a4eb5f2930c6998698bd9edf866629655 ) vcpkg_extract_source_archive( SOURCE_PATH ARCHIVE "${ARCHIVE}" - SOURCE_BASE "${LIB_VERSION}" + PATCHES + subdirs.diff + msvc-ssize_t.diff ) -file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/aclocal/\"") # for glib +set(ENV{GTKDOCIZE} true) + +vcpkg_list(SET options) +set(iconv_detect_h "${CURRENT_HOST_INSTALLED_DIR}/share/${PORT}/iconv-detect-${VCPKG_CMAKE_SYSTEM_NAME}.h") +if(EXISTS "${iconv_detect_h}") + vcpkg_list(APPEND options "ac_cv_have_iconv_detect_h=yes") +elseif(VCPKG_CROSSCOMPILING) + vcpkg_list(APPEND options "ac_cv_have_iconv_detect_h=no") +endif() -# We can use file supplied with original sources -configure_file("${SOURCE_PATH}/build/vs2017/unistd.h" "${SOURCE_PATH}" COPYONLY) -configure_file("${SOURCE_PATH}/build/vs2017/config.h" "${SOURCE_PATH}" COPYONLY) -configure_file("${SOURCE_PATH}/build/vs2017/gmime.def" "${SOURCE_PATH}" COPYONLY) -vcpkg_find_acquire_program(PKGCONFIG) -vcpkg_cmake_configure( +if("crypto" IN_LIST FEATURES) + vcpkg_list(APPEND options "--enable-crypto") +else() + vcpkg_list(APPEND options "--disable-crypto") +endif() + +vcpkg_configure_make( SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + ADD_BIN_TO_PATH # for iconv-detect OPTIONS - "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" + ${options} + --disable-glibtest + --disable-introspection + --disable-vala ) -vcpkg_cmake_install() - -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +if(EXISTS "${iconv_detect_h}") + file(COPY_FILE "${iconv_detect_h}" "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/iconv-detect.h") + if(NOT VCPKG_BUILD_TYPE) + file(COPY_FILE "${iconv_detect_h}" "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/iconv-detect.h") + endif() +endif() -# License and man -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${LIB_NAME}" RENAME copyright) +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + file(COPY "${SOURCE_PATH}/build/vs2017/unistd.h" DESTINATION "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") + if(NOT VCPKG_BUILD_TYPE) + file(COPY "${SOURCE_PATH}/build/vs2017/unistd.h" DESTINATION "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") + endif() +endif() +vcpkg_install_make() vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() + +if(NOT VCPKG_CROSSCOMPILING) + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/iconv-detect.h" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" + RENAME "iconv-detect-${VCPKG_CMAKE_SYSTEM_NAME}.h" + ) +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/gmime/subdirs.diff b/ports/gmime/subdirs.diff new file mode 100644 index 00000000000000..24ef5082148a82 --- /dev/null +++ b/ports/gmime/subdirs.diff @@ -0,0 +1,16 @@ +diff --git a/Makefile.am b/Makefile.am +index c004167..0fafe72 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -2,10 +2,9 @@ + + ACLOCAL_AMFLAGS = -I m4 + +-SUBDIRS = m4 build util gmime tests docs ++SUBDIRS = m4 build util gmime + + if !PLATFORM_WIN32 +-SUBDIRS += examples + endif + + SUBDIRS += tools . diff --git a/ports/gmime/vcpkg.json b/ports/gmime/vcpkg.json index 349a31b7051f2a..c4833964fc3980 100644 --- a/ports/gmime/vcpkg.json +++ b/ports/gmime/vcpkg.json @@ -1,19 +1,30 @@ { "name": "gmime", - "version": "3.2.6", - "port-version": 6, + "version": "3.2.15", + "port-version": 1, "description": "GMime is a C/C++ library which may be used for the creation and parsing of messages using the Multipurpose Internet Mail Extension (MIME).", - "homepage": "https://developer.gnome.org/gmime/", + "homepage": "https://github.com/jstedfast/gmime", "license": "LGPL-2.1-or-later", - "supports": "windows & !xbox", + "supports": "!xbox", "dependencies": [ "glib", - "libiconv", - "libidn2", { - "name": "vcpkg-cmake", + "name": "gmime", "host": true }, + "libiconv", + "libidn2", "zlib" - ] + ], + "features": { + "crypto": { + "description": "PGP and S/MIME support", + "dependencies": [ + { + "name": "gpgme", + "default-features": false + } + ] + } + } } diff --git a/ports/gmmlib/portfile.cmake b/ports/gmmlib/portfile.cmake index acfc3aade22824..4f3e24d6d84507 100644 --- a/ports/gmmlib/portfile.cmake +++ b/ports/gmmlib/portfile.cmake @@ -8,13 +8,12 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO intel/gmmlib REF "intel-gmmlib-${VERSION}" - SHA512 afe64aaaddac9b72ff12aa41faeb668141999e1b9c644fa21ced8fd851cf698ec57bac1080c87c0fae5c464b47ea5b94e6290c0e4c0c24ec010071f535c60e42 + SHA512 516e2cc0d678d8fd44d8d2b1bfdf61c05670c01c906bd7f55a807846cd6399d4b616f86e6a1d85e2a6a0480c4616a40e9d5b29a3f45fbf588cc4d725ada71d49 HEAD_REF master ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - OPTIONS -DARCH=64 ) vcpkg_cmake_install() diff --git a/ports/gmmlib/vcpkg.json b/ports/gmmlib/vcpkg.json index 4bb0a4064a646e..90b14a1ba83b11 100644 --- a/ports/gmmlib/vcpkg.json +++ b/ports/gmmlib/vcpkg.json @@ -1,6 +1,6 @@ { "name": "gmmlib", - "version": "22.3.12", + "version": "22.5.2", "description": "Intel(R) Graphics Memory Management Library", "homepage": "https://github.com/intel/gmmlib", "license": "MIT", diff --git a/ports/gmp/cross-tools.patch b/ports/gmp/cross-tools.patch index c5af189714f284..422fecaaa7b184 100644 --- a/ports/gmp/cross-tools.patch +++ b/ports/gmp/cross-tools.patch @@ -1,5 +1,5 @@ diff --git a/Makefile.am b/Makefile.am -index 1c24694..9f92a4f 100644 +index 03356e0..9651b59 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,3 +1,7 @@ @@ -10,7 +10,7 @@ index 1c24694..9f92a4f 100644 ## Process this file with automake to generate Makefile.in -@@ -344,8 +348,8 @@ install-data-hook: +@@ -345,8 +349,8 @@ install-data-hook: EXTRA_DIST += bootstrap.c @@ -21,9 +21,20 @@ index 1c24694..9f92a4f 100644 BUILT_SOURCES += fac_table.h gen-fac$(EXEEXT_FOR_BUILD): gen-fac$(U_FOR_BUILD).c bootstrap.c -@@ -354,12 +358,12 @@ DISTCLEANFILES += gen-fac$(EXEEXT_FOR_BUILD) +@@ -354,8 +358,8 @@ gen-fac$(EXEEXT_FOR_BUILD): gen-fac$(U_FOR_BUILD).c bootstrap.c + DISTCLEANFILES += gen-fac$(EXEEXT_FOR_BUILD) EXTRA_DIST += gen-fac.c +-sieve_table.h: gen-sieve$(EXEEXT_FOR_BUILD) +- ./gen-sieve $(GMP_LIMB_BITS) >sieve_table.h || (rm -f sieve_table.h; exit 1) ++sieve_table.h: $(HOST_TOOLS_PREFIX)/gen-sieve$(EXEEXT_FOR_BUILD) ++ $(HOST_TOOLS_PREFIX)/gen-sieve $(GMP_LIMB_BITS) >sieve_table.h || (rm -f sieve_table.h; exit 1) + BUILT_SOURCES += sieve_table.h + + gen-sieve$(EXEEXT_FOR_BUILD): gen-sieve$(U_FOR_BUILD).c bootstrap.c +@@ -364,12 +368,12 @@ DISTCLEANFILES += gen-sieve$(EXEEXT_FOR_BUILD) + EXTRA_DIST += gen-sieve.c + -fib_table.h: gen-fib$(EXEEXT_FOR_BUILD) - ./gen-fib header $(GMP_LIMB_BITS) $(GMP_NAIL_BITS) >fib_table.h || (rm -f fib_table.h; exit 1) @@ -38,7 +49,7 @@ index 1c24694..9f92a4f 100644 BUILT_SOURCES += mpn/fib_table.c gen-fib$(EXEEXT_FOR_BUILD): gen-fib$(U_FOR_BUILD).c bootstrap.c -@@ -368,12 +372,12 @@ DISTCLEANFILES += gen-fib$(EXEEXT_FOR_BUILD) +@@ -378,12 +382,12 @@ DISTCLEANFILES += gen-fib$(EXEEXT_FOR_BUILD) EXTRA_DIST += gen-fib.c @@ -55,7 +66,7 @@ index 1c24694..9f92a4f 100644 BUILT_SOURCES += mpn/mp_bases.c gen-bases$(EXEEXT_FOR_BUILD): gen-bases$(U_FOR_BUILD).c bootstrap.c -@@ -382,8 +386,8 @@ DISTCLEANFILES += gen-bases$(EXEEXT_FOR_BUILD) +@@ -392,8 +396,8 @@ DISTCLEANFILES += gen-bases$(EXEEXT_FOR_BUILD) EXTRA_DIST += gen-bases.c @@ -66,7 +77,7 @@ index 1c24694..9f92a4f 100644 BUILT_SOURCES += trialdivtab.h gen-trialdivtab$(EXEEXT_FOR_BUILD): gen-trialdivtab$(U_FOR_BUILD).c bootstrap.c -@@ -392,8 +396,8 @@ DISTCLEANFILES += gen-trialdivtab$(EXEEXT_FOR_BUILD) +@@ -402,8 +406,8 @@ DISTCLEANFILES += gen-trialdivtab$(EXEEXT_FOR_BUILD) EXTRA_DIST += gen-trialdivtab.c @@ -77,7 +88,7 @@ index 1c24694..9f92a4f 100644 BUILT_SOURCES += mpn/jacobitab.h gen-jacobitab$(EXEEXT_FOR_BUILD): gen-jacobitab$(U_FOR_BUILD).c -@@ -402,8 +406,8 @@ DISTCLEANFILES += gen-jacobitab$(EXEEXT_FOR_BUILD) +@@ -412,8 +416,8 @@ DISTCLEANFILES += gen-jacobitab$(EXEEXT_FOR_BUILD) EXTRA_DIST += gen-jacobitab.c @@ -89,7 +100,7 @@ index 1c24694..9f92a4f 100644 gen-psqr$(EXEEXT_FOR_BUILD): gen-psqr$(U_FOR_BUILD).c bootstrap.c diff --git a/acinclude.m4 b/acinclude.m4 -index 86175ce..82b7ea1 100644 +index aea4c38..aaef13a 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -3833,6 +3833,7 @@ if AC_TRY_EVAL(gmp_compile); then diff --git a/ports/gmp/gmp-arm64-asm-fix-5f32dbc41afc.patch b/ports/gmp/gmp-arm64-asm-fix-5f32dbc41afc.patch deleted file mode 100644 index b4008a3fee7fdf..00000000000000 --- a/ports/gmp/gmp-arm64-asm-fix-5f32dbc41afc.patch +++ /dev/null @@ -1,521 +0,0 @@ - -# HG changeset patch -# User Torbjorn Granlund -# Date 1606685500 -3600 -# Node ID 5f32dbc41afc1f8cd77af1614f0caeb24deb7d7b -# Parent 94c84d919f83ba963ed1809f8e80c7bef32db55c -Avoid the x18 register since it is reserved on Darwin. - -diff -r 94c84d919f83 -r 5f32dbc41afc mpn/arm64/aors_n.asm ---- a/mpn/arm64/aors_n.asm Sat Nov 28 23:38:32 2020 +0100 -+++ b/mpn/arm64/aors_n.asm Sun Nov 29 22:31:40 2020 +0100 -@@ -68,7 +68,7 @@ - EPILOGUE() - PROLOGUE(func_n) - CLRCY --L(ent): lsr x18, n, #2 -+L(ent): lsr x17, n, #2 - tbz n, #0, L(bx0) - - L(bx1): ldr x7, [up] -@@ -77,7 +77,7 @@ - str x13, [rp],#8 - tbnz n, #1, L(b11) - --L(b01): cbz x18, L(ret) -+L(b01): cbz x17, L(ret) - ldp x4, x5, [up,#8] - ldp x8, x9, [vp,#8] - sub up, up, #8 -@@ -88,7 +88,7 @@ - ldp x10, x11, [vp,#8] - add up, up, #8 - add vp, vp, #8 -- cbz x18, L(end) -+ cbz x17, L(end) - b L(top) - - L(bx0): tbnz n, #1, L(b10) -@@ -101,7 +101,7 @@ - - L(b10): ldp x6, x7, [up] - ldp x10, x11, [vp] -- cbz x18, L(end) -+ cbz x17, L(end) - - ALIGN(16) - L(top): ldp x4, x5, [up,#16] -@@ -114,8 +114,8 @@ - ADDSUBC x12, x4, x8 - ADDSUBC x13, x5, x9 - stp x12, x13, [rp],#16 -- sub x18, x18, #1 -- cbnz x18, L(top) -+ sub x17, x17, #1 -+ cbnz x17, L(top) - - L(end): ADDSUBC x12, x6, x10 - ADDSUBC x13, x7, x11 -diff -r 94c84d919f83 -r 5f32dbc41afc mpn/arm64/aorsmul_1.asm ---- a/mpn/arm64/aorsmul_1.asm Sat Nov 28 23:38:32 2020 +0100 -+++ b/mpn/arm64/aorsmul_1.asm Sun Nov 29 22:31:40 2020 +0100 -@@ -32,10 +32,15 @@ - - include(`../config.m4') - --C cycles/limb --C Cortex-A53 9.3-9.8 --C Cortex-A57 7.0 --C X-Gene 5.0 -+C addmul_1 submul_1 -+C cycles/limb cycles/limb -+C Cortex-A53 9.3-9.8 9.3-9.8 -+C Cortex-A55 9.0-9.5 9.3-9.8 -+C Cortex-A57 7 7 -+C Cortex-A72 -+C Cortex-A73 6 6 -+C X-Gene 5 5 -+C Apple M1 1.75 1.75 - - C NOTES - C * It is possible to keep the carry chain alive between the addition blocks -diff -r 94c84d919f83 -r 5f32dbc41afc mpn/arm64/aorsorrlshC_n.asm ---- a/mpn/arm64/aorsorrlshC_n.asm Sat Nov 28 23:38:32 2020 +0100 -+++ b/mpn/arm64/aorsorrlshC_n.asm Sun Nov 29 22:31:40 2020 +0100 -@@ -65,14 +65,14 @@ - - ASM_START() - PROLOGUE(func_n) -- lsr x18, n, #2 -+ lsr x6, n, #2 - tbz n, #0, L(bx0) - - L(bx1): ldr x5, [up] - tbnz n, #1, L(b11) - - L(b01): ldr x11, [vp] -- cbz x18, L(1) -+ cbz x6, L(1) - ldp x8, x9, [vp,#8] - lsl x13, x11, #LSH - ADDSUB( x15, x13, x5) -@@ -94,7 +94,7 @@ - ADDSUB( x17, x13, x5) - str x17, [rp],#8 - sub up, up, #8 -- cbz x18, L(end) -+ cbz x6, L(end) - b L(top) - - L(bx0): tbnz n, #1, L(b10) -@@ -107,7 +107,7 @@ - L(b10): CLRRCY( x9) - ldp x10, x11, [vp] - sub up, up, #16 -- cbz x18, L(end) -+ cbz x6, L(end) - - ALIGN(16) - L(top): ldp x4, x5, [up,#16] -@@ -124,8 +124,8 @@ - ADDSUBC(x16, x12, x4) - ADDSUBC(x17, x13, x5) - stp x16, x17, [rp],#16 -- sub x18, x18, #1 -- cbnz x18, L(top) -+ sub x6, x6, #1 -+ cbnz x6, L(top) - - L(end): ldp x4, x5, [up,#16] - extr x12, x10, x9, #RSH -diff -r 94c84d919f83 -r 5f32dbc41afc mpn/arm64/cnd_aors_n.asm ---- a/mpn/arm64/cnd_aors_n.asm Sat Nov 28 23:38:32 2020 +0100 -+++ b/mpn/arm64/cnd_aors_n.asm Sun Nov 29 22:31:40 2020 +0100 -@@ -65,7 +65,7 @@ - - CLRCY - -- lsr x18, n, #2 -+ lsr x17, n, #2 - tbz n, #0, L(bx0) - - L(bx1): ldr x13, [vp] -@@ -75,7 +75,7 @@ - str x9, [rp] - tbnz n, #1, L(b11) - --L(b01): cbz x18, L(rt) -+L(b01): cbz x17, L(rt) - ldp x12, x13, [vp,#8] - ldp x10, x11, [up,#8] - sub up, up, #8 -@@ -86,7 +86,7 @@ - L(b11): ldp x12, x13, [vp,#8]! - ldp x10, x11, [up,#8]! - sub rp, rp, #8 -- cbz x18, L(end) -+ cbz x17, L(end) - b L(top) - - L(bx0): ldp x12, x13, [vp] -@@ -99,7 +99,7 @@ - b L(mid) - - L(b10): sub rp, rp, #16 -- cbz x18, L(end) -+ cbz x17, L(end) - - ALIGN(16) - L(top): bic x6, x12, cnd -@@ -116,8 +116,8 @@ - ADDSUBC x9, x11, x7 - ldp x10, x11, [up,#32]! - stp x8, x9, [rp,#32]! -- sub x18, x18, #1 -- cbnz x18, L(top) -+ sub x17, x17, #1 -+ cbnz x17, L(top) - - L(end): bic x6, x12, cnd - bic x7, x13, cnd -diff -r 94c84d919f83 -r 5f32dbc41afc mpn/arm64/logops_n.asm ---- a/mpn/arm64/logops_n.asm Sat Nov 28 23:38:32 2020 +0100 -+++ b/mpn/arm64/logops_n.asm Sun Nov 29 22:31:40 2020 +0100 -@@ -78,7 +78,7 @@ - - ASM_START() - PROLOGUE(func) -- lsr x18, n, #2 -+ lsr x17, n, #2 - tbz n, #0, L(bx0) - - L(bx1): ldr x7, [up] -@@ -88,7 +88,7 @@ - str x15, [rp],#8 - tbnz n, #1, L(b11) - --L(b01): cbz x18, L(ret) -+L(b01): cbz x17, L(ret) - ldp x4, x5, [up,#8] - ldp x8, x9, [vp,#8] - sub up, up, #8 -@@ -99,7 +99,7 @@ - ldp x10, x11, [vp,#8] - add up, up, #8 - add vp, vp, #8 -- cbz x18, L(end) -+ cbz x17, L(end) - b L(top) - - L(bx0): tbnz n, #1, L(b10) -@@ -110,7 +110,7 @@ - - L(b10): ldp x6, x7, [up] - ldp x10, x11, [vp] -- cbz x18, L(end) -+ cbz x17, L(end) - - ALIGN(16) - L(top): ldp x4, x5, [up,#16] -@@ -127,8 +127,8 @@ - POSTOP( x12) - POSTOP( x13) - stp x12, x13, [rp],#16 -- sub x18, x18, #1 -- cbnz x18, L(top) -+ sub x17, x17, #1 -+ cbnz x17, L(top) - - L(end): LOGOP( x12, x6, x10) - LOGOP( x13, x7, x11) -diff -r 94c84d919f83 -r 5f32dbc41afc mpn/arm64/lshift.asm ---- a/mpn/arm64/lshift.asm Sat Nov 28 23:38:32 2020 +0100 -+++ b/mpn/arm64/lshift.asm Sun Nov 29 22:31:40 2020 +0100 -@@ -61,7 +61,7 @@ - add rp, rp_arg, n, lsl #3 - add up, up, n, lsl #3 - sub tnc, xzr, cnt -- lsr x18, n, #2 -+ lsr x17, n, #2 - tbz n, #0, L(bx0) - - L(bx1): ldr x4, [up,#-8] -@@ -69,7 +69,7 @@ - - L(b01): NSHIFT x0, x4, tnc - PSHIFT x2, x4, cnt -- cbnz x18, L(gt1) -+ cbnz x17, L(gt1) - str x2, [rp,#-8] - ret - L(gt1): ldp x4, x5, [up,#-24] -@@ -89,7 +89,7 @@ - PSHIFT x13, x5, cnt - NSHIFT x10, x4, tnc - PSHIFT x2, x4, cnt -- cbnz x18, L(gt2) -+ cbnz x17, L(gt2) - orr x10, x10, x13 - stp x2, x10, [rp,#-16] - ret -@@ -123,11 +123,11 @@ - orr x11, x12, x2 - stp x10, x11, [rp,#-32]! - PSHIFT x2, x4, cnt --L(lo0): sub x18, x18, #1 -+L(lo0): sub x17, x17, #1 - L(lo3): NSHIFT x10, x6, tnc - PSHIFT x13, x7, cnt - NSHIFT x12, x7, tnc -- cbnz x18, L(top) -+ cbnz x17, L(top) - - L(end): orr x10, x10, x13 - orr x11, x12, x2 -diff -r 94c84d919f83 -r 5f32dbc41afc mpn/arm64/lshiftc.asm ---- a/mpn/arm64/lshiftc.asm Sat Nov 28 23:38:32 2020 +0100 -+++ b/mpn/arm64/lshiftc.asm Sun Nov 29 22:31:40 2020 +0100 -@@ -61,7 +61,7 @@ - add rp, rp_arg, n, lsl #3 - add up, up, n, lsl #3 - sub tnc, xzr, cnt -- lsr x18, n, #2 -+ lsr x17, n, #2 - tbz n, #0, L(bx0) - - L(bx1): ldr x4, [up,#-8] -@@ -69,7 +69,7 @@ - - L(b01): NSHIFT x0, x4, tnc - PSHIFT x2, x4, cnt -- cbnz x18, L(gt1) -+ cbnz x17, L(gt1) - mvn x2, x2 - str x2, [rp,#-8] - ret -@@ -90,7 +90,7 @@ - PSHIFT x13, x5, cnt - NSHIFT x10, x4, tnc - PSHIFT x2, x4, cnt -- cbnz x18, L(gt2) -+ cbnz x17, L(gt2) - eon x10, x10, x13 - mvn x2, x2 - stp x2, x10, [rp,#-16] -@@ -125,11 +125,11 @@ - eon x11, x12, x2 - stp x10, x11, [rp,#-32]! - PSHIFT x2, x4, cnt --L(lo0): sub x18, x18, #1 -+L(lo0): sub x17, x17, #1 - L(lo3): NSHIFT x10, x6, tnc - PSHIFT x13, x7, cnt - NSHIFT x12, x7, tnc -- cbnz x18, L(top) -+ cbnz x17, L(top) - - L(end): eon x10, x10, x13 - eon x11, x12, x2 -diff -r 94c84d919f83 -r 5f32dbc41afc mpn/arm64/mul_1.asm ---- a/mpn/arm64/mul_1.asm Sat Nov 28 23:38:32 2020 +0100 -+++ b/mpn/arm64/mul_1.asm Sun Nov 29 22:31:40 2020 +0100 -@@ -56,7 +56,7 @@ - - PROLOGUE(mpn_mul_1) - adds x4, xzr, xzr C clear register and cy flag --L(com): lsr x18, n, #2 -+L(com): lsr x17, n, #2 - tbnz n, #0, L(bx1) - - L(bx0): mov x11, x4 -@@ -65,7 +65,7 @@ - L(b10): ldp x4, x5, [up] - mul x8, x4, v0 - umulh x10, x4, v0 -- cbz x18, L(2) -+ cbz x17, L(2) - ldp x6, x7, [up,#16]! - mul x9, x5, v0 - b L(mid)-8 -@@ -80,7 +80,7 @@ - str x9, [rp],#8 - tbnz n, #1, L(b10) - --L(b01): cbz x18, L(1) -+L(b01): cbz x17, L(1) - - L(b00): ldp x6, x7, [up] - mul x8, x6, v0 -@@ -90,8 +90,8 @@ - adcs x12, x8, x11 - umulh x11, x7, v0 - add rp, rp, #16 -- sub x18, x18, #1 -- cbz x18, L(end) -+ sub x17, x17, #1 -+ cbz x17, L(end) - - ALIGN(16) - L(top): mul x8, x4, v0 -@@ -110,8 +110,8 @@ - stp x12, x13, [rp],#32 - adcs x12, x8, x11 - umulh x11, x7, v0 -- sub x18, x18, #1 -- cbnz x18, L(top) -+ sub x17, x17, #1 -+ cbnz x17, L(top) - - L(end): mul x8, x4, v0 - adcs x13, x9, x10 -diff -r 94c84d919f83 -r 5f32dbc41afc mpn/arm64/rsh1aors_n.asm ---- a/mpn/arm64/rsh1aors_n.asm Sat Nov 28 23:38:32 2020 +0100 -+++ b/mpn/arm64/rsh1aors_n.asm Sun Nov 29 22:31:40 2020 +0100 -@@ -59,7 +59,7 @@ - - ASM_START() - PROLOGUE(func_n) -- lsr x18, n, #2 -+ lsr x6, n, #2 - - tbz n, #0, L(bx0) - -@@ -69,7 +69,7 @@ - - L(b01): ADDSUB x13, x5, x9 - and x10, x13, #1 -- cbz x18, L(1) -+ cbz x6, L(1) - ldp x4, x5, [up],#48 - ldp x8, x9, [vp],#48 - ADDSUBC x14, x4, x8 -@@ -80,8 +80,8 @@ - ADDSUBC x12, x4, x8 - ADDSUBC x13, x5, x9 - str x17, [rp], #24 -- sub x18, x18, #1 -- cbz x18, L(end) -+ sub x6, x6, #1 -+ cbz x6, L(end) - b L(top) - - L(1): cset x14, COND -@@ -97,7 +97,7 @@ - ldp x8, x9, [vp],#32 - ADDSUBC x12, x4, x8 - ADDSUBC x13, x5, x9 -- cbz x18, L(3) -+ cbz x6, L(3) - ldp x4, x5, [up,#-16] - ldp x8, x9, [vp,#-16] - extr x17, x12, x15, #1 -@@ -117,7 +117,7 @@ - ADDSUB x12, x4, x8 - ADDSUBC x13, x5, x9 - and x10, x12, #1 -- cbz x18, L(2) -+ cbz x6, L(2) - ldp x4, x5, [up,#-16] - ldp x8, x9, [vp,#-16] - ADDSUBC x14, x4, x8 -@@ -134,8 +134,8 @@ - ADDSUBC x12, x4, x8 - ADDSUBC x13, x5, x9 - add rp, rp, #16 -- sub x18, x18, #1 -- cbz x18, L(end) -+ sub x6, x6, #1 -+ cbz x6, L(end) - - ALIGN(16) - L(top): ldp x4, x5, [up,#-16] -@@ -152,8 +152,8 @@ - ADDSUBC x12, x4, x8 - ADDSUBC x13, x5, x9 - stp x16, x17, [rp],#32 -- sub x18, x18, #1 -- cbnz x18, L(top) -+ sub x6, x6, #1 -+ cbnz x6, L(top) - - L(end): extr x16, x15, x14, #1 - extr x17, x12, x15, #1 -diff -r 94c84d919f83 -r 5f32dbc41afc mpn/arm64/rshift.asm ---- a/mpn/arm64/rshift.asm Sat Nov 28 23:38:32 2020 +0100 -+++ b/mpn/arm64/rshift.asm Sun Nov 29 22:31:40 2020 +0100 -@@ -60,7 +60,7 @@ - PROLOGUE(mpn_rshift) - mov rp, rp_arg - sub tnc, xzr, cnt -- lsr x18, n, #2 -+ lsr x17, n, #2 - tbz n, #0, L(bx0) - - L(bx1): ldr x5, [up] -@@ -68,7 +68,7 @@ - - L(b01): NSHIFT x0, x5, tnc - PSHIFT x2, x5, cnt -- cbnz x18, L(gt1) -+ cbnz x17, L(gt1) - str x2, [rp] - ret - L(gt1): ldp x4, x5, [up,#8] -@@ -89,7 +89,7 @@ - PSHIFT x13, x4, cnt - NSHIFT x10, x5, tnc - PSHIFT x2, x5, cnt -- cbnz x18, L(gt2) -+ cbnz x17, L(gt2) - orr x10, x10, x13 - stp x10, x2, [rp] - ret -@@ -121,11 +121,11 @@ - orr x11, x12, x2 - stp x11, x10, [rp,#32]! - PSHIFT x2, x5, cnt --L(lo0): sub x18, x18, #1 -+L(lo0): sub x17, x17, #1 - L(lo3): NSHIFT x10, x7, tnc - NSHIFT x12, x6, tnc - PSHIFT x13, x6, cnt -- cbnz x18, L(top) -+ cbnz x17, L(top) - - L(end): orr x10, x10, x13 - orr x11, x12, x2 -diff -r 94c84d919f83 -r 5f32dbc41afc mpn/arm64/sqr_diag_addlsh1.asm ---- a/mpn/arm64/sqr_diag_addlsh1.asm Sat Nov 28 23:38:32 2020 +0100 -+++ b/mpn/arm64/sqr_diag_addlsh1.asm Sun Nov 29 22:31:40 2020 +0100 -@@ -47,7 +47,7 @@ - ASM_START() - PROLOGUE(mpn_sqr_diag_addlsh1) - ldr x15, [up],#8 -- lsr x18, n, #1 -+ lsr x14, n, #1 - tbz n, #0, L(bx0) - - L(bx1): adds x7, xzr, xzr -@@ -62,8 +62,8 @@ - ldr x17, [up],#16 - ldp x6, x7, [tp],#32 - umulh x11, x15, x15 -- sub x18, x18, #1 -- cbz x18, L(end) -+ sub x14, x14, #1 -+ cbz x14, L(end) - - ALIGN(16) - L(top): extr x9, x6, x5, #63 -@@ -84,8 +84,8 @@ - extr x8, x5, x4, #63 - stp x12, x13, [rp],#16 - adcs x12, x8, x10 -- sub x18, x18, #1 -- cbnz x18, L(top) -+ sub x14, x14, #1 -+ cbnz x14, L(top) - - L(end): extr x9, x6, x5, #63 - mul x10, x17, x17 - diff --git a/ports/gmp/portfile.cmake b/ports/gmp/portfile.cmake index 1fa65b47e21bf4..cfac136c1f6302 100644 --- a/ports/gmp/portfile.cmake +++ b/ports/gmp/portfile.cmake @@ -2,8 +2,6 @@ if(EXISTS "${CURRENT_INSTALLED_DIR}/include/gmp.h" OR "${CURRENT_INSTALLED_DIR}/ message(FATAL_ERROR "Can't build ${PORT} if mpir is installed. Please remove mpir, and try install ${PORT} again if you need it.") endif() -vcpkg_minimum_required(VERSION 2022-10-12) # for ${VERSION} - vcpkg_download_distfile( ARCHIVE URLS @@ -11,7 +9,7 @@ vcpkg_download_distfile( "https://ftp.gnu.org/gnu/gmp/gmp-${VERSION}.tar.xz" "https://gmplib.org/download/gmp/gmp-${VERSION}.tar.xz" FILENAME "gmp-${VERSION}.tar.xz" - SHA512 c99be0950a1d05a0297d65641dd35b75b74466f7bf03c9e8a99895a3b2f9a0856cd17887738fa51cf7499781b65c049769271cbcb77d057d2e9f1ec52e07dd84 + SHA512 e85a0dab5195889948a3462189f0e0598d331d3457612e2d3350799dba2e244316d256f8161df5219538eb003e4b5343f989aaa00f96321559063ed8c8f29fd2 ) vcpkg_extract_source_archive(SOURCE_PATH @@ -23,7 +21,7 @@ vcpkg_extract_source_archive(SOURCE_PATH subdirs.patch msvc_symbol.patch arm64-coff.patch - gmp-arm64-asm-fix-5f32dbc41afc.patch # Avoid the x18 register since it is reserved on arm64 osx and windows. Source: https://gmplib.org/repo/gmp/raw-rev/5f32dbc41afc + remove_compiler_info.patch ) vcpkg_list(SET OPTIONS) @@ -82,9 +80,17 @@ if(VCPKG_CROSSCOMPILING) set(ENV{HOST_TOOLS_PREFIX} "${CURRENT_HOST_INSTALLED_DIR}/manual-tools/${PORT}") endif() +if(VCPKG_HOST_IS_WINDOWS) + # dumpbin detection fails with autoconf 2.72 + set(ENV{WANT_AUTOCONF} 2.71) +endif() vcpkg_configure_make( SOURCE_PATH "${SOURCE_PATH}" AUTOCONFIG + ADDITIONAL_MSYS_PACKAGES + DIRECT_PACKAGES + "https://mirror.msys2.org/msys/x86_64/autoconf2.71-2.71-3-any.pkg.tar.zst" + dd312c428b2e19afd00899eb53ea4255794dea4c19d1d6dea2419cb6a54209ea2130d48abbc20af12196b9f628143436f736fbf889809c2c2291be0c69c0e306 OPTIONS ${OPTIONS} --enable-cxx @@ -102,6 +108,7 @@ if(NOT VCPKG_CROSSCOMPILING) "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/gen-fib${VCPKG_HOST_EXECUTABLE_SUFFIX}" "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/gen-jacobitab${VCPKG_HOST_EXECUTABLE_SUFFIX}" "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/gen-psqr${VCPKG_HOST_EXECUTABLE_SUFFIX}" + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/gen-sieve${VCPKG_HOST_EXECUTABLE_SUFFIX}" "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/gen-trialdivtab${VCPKG_HOST_EXECUTABLE_SUFFIX}" DESTINATION "${CURRENT_PACKAGES_DIR}/manual-tools/${PORT}" USE_SOURCE_PERMISSIONS diff --git a/ports/gmp/remove_compiler_info.patch b/ports/gmp/remove_compiler_info.patch new file mode 100644 index 00000000000000..77871aaa4a3175 --- /dev/null +++ b/ports/gmp/remove_compiler_info.patch @@ -0,0 +1,15 @@ +diff --git a/gmp-h.in b/gmp-h.in +index 648c933582..fa37296fe4 100644 +--- a/gmp-h.in ++++ b/gmp-h.in +@@ -2330,10 +2330,6 @@ enum + GMP_ERROR_MPZ_OVERFLOW = 16 + }; + +-/* Define CC and CFLAGS which were used to build this version of GMP */ +-#define __GMP_CC "@CC@" +-#define __GMP_CFLAGS "@CFLAGS@" +- + /* Major version number is the value of __GNU_MP__ too, above. */ + #define __GNU_MP_VERSION 6 + #define __GNU_MP_VERSION_MINOR 3 diff --git a/ports/gmp/subdirs.patch b/ports/gmp/subdirs.patch index 28c9fc21659e67..4c5033f7b6b29a 100644 --- a/ports/gmp/subdirs.patch +++ b/ports/gmp/subdirs.patch @@ -2,8 +2,8 @@ diff --git a/Makefile.am b/Makefile.am index 9f92a4f..e35629d 100644 --- a/Makefile.am +++ b/Makefile.am -@@ -116,7 +116,7 @@ LIBGMPXX_LT_REVISION = 1 - LIBGMPXX_LT_AGE = 6 +@@ -117,7 +117,7 @@ LIBGMPXX_LT_REVISION = 0 + LIBGMPXX_LT_AGE = 7 -SUBDIRS = tests mpn mpz mpq mpf printf scanf rand cxx demos tune doc diff --git a/ports/gmp/vcpkg.json b/ports/gmp/vcpkg.json index 45d242617f5e7b..640c0967bf120c 100644 --- a/ports/gmp/vcpkg.json +++ b/ports/gmp/vcpkg.json @@ -1,7 +1,7 @@ { "name": "gmp", - "version": "6.2.1", - "port-version": 21, + "version": "6.3.0", + "port-version": 2, "description": "The GNU Multiple Precision Arithmetic Library", "homepage": "https://gmplib.org", "license": "LGPL-3.0-only OR GPL-2.0-only", diff --git a/ports/gmsh/fix-install.patch b/ports/gmsh/fix-install.patch index 2f4510240781de..3d37dcb582f17c 100644 --- a/ports/gmsh/fix-install.patch +++ b/ports/gmsh/fix-install.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 7040709..a4b8c61 100644 +index 2e65c4f..50bea50 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -1872,12 +1872,30 @@ endif() +@@ -1947,13 +1947,37 @@ endif() # mark targets as optional so we can install them separately if needed # (e.g. "make lib" or "make shared" followed by "make install/fast") @@ -10,29 +10,37 @@ index 7040709..a4b8c61 100644 +install( + TARGETS gmsh + RUNTIME DESTINATION bin -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib + OPTIONAL +) if(ENABLE_BUILD_LIB) - install(TARGETS lib DESTINATION ${GMSH_LIB} OPTIONAL) + install( + TARGETS lib -+ RUNTIME DESTINATION bin ++ EXPORT unofficial-gmsh-config + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib + OPTIONAL + ) ++ TARGET_INCLUDE_DIRECTORIES(lib PUBLIC $) endif() if(ENABLE_BUILD_SHARED OR ENABLE_BUILD_DYNAMIC) - install(TARGETS shared DESTINATION ${GMSH_LIB} OPTIONAL) +-endif() + install( + TARGETS shared ++ EXPORT unofficial-gmsh-config + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib + OPTIONAL + ) - endif() ++ TARGET_INCLUDE_DIRECTORIES(shared PUBLIC $) ++endif() ++install( ++ EXPORT unofficial-gmsh-config ++ NAMESPACE unofficial::gmsh:: ++ DESTINATION share/unofficial-gmsh ++) if(ENABLE_ONELAB AND EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/contrib/onelab) + install(FILES ${ONELAB_PY} DESTINATION ${GMSH_BIN}) diff --git a/ports/gmsh/portfile.cmake b/ports/gmsh/portfile.cmake index f42b94309ca6c0..e8ba10180a3511 100644 --- a/ports/gmsh/portfile.cmake +++ b/ports/gmsh/portfile.cmake @@ -1,9 +1,11 @@ +string(REPLACE "." "_" UNDERSCORES_VERSION "${VERSION}") + vcpkg_from_gitlab( GITLAB_URL https://gitlab.onelab.info OUT_SOURCE_PATH SOURCE_PATH REPO gmsh/gmsh - REF gmsh_4_11_1 - SHA512 4c10a41659ee4f70ba5091f9ae1c4c3ee285ccf217c3de1157a0d6d694e6f1df9a6b1329b2b24029dd52f945dd7605e477302bdb358106a8d97e903eaba425dc + REF "${PORT}_${UNDERSCORES_VERSION}" + SHA512 af2574ec3aadfddeedf981faced20a6736be06fe30c7670b682837612ca5a42248444f7a782ca5e75556cb957b5cf4467d5e972ba3f60559cc719690e73f3dca HEAD_REF master PATCHES fix-install.patch ) @@ -106,6 +108,8 @@ vcpkg_cmake_install() vcpkg_copy_tools(TOOL_NAMES gmsh AUTO_CLEAN) +vcpkg_cmake_config_fixup(PACKAGE_NAME "unofficial-gmsh") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/gmsh/vcpkg.json b/ports/gmsh/vcpkg.json index 1caf380c550ecb..8bb6b57297682d 100644 --- a/ports/gmsh/vcpkg.json +++ b/ports/gmsh/vcpkg.json @@ -1,6 +1,6 @@ { "name": "gmsh", - "version": "4.11.1", + "version": "4.13.1", "description": "Gmsh is an open source 3D finite element mesh generator with a built-in CAD engine and post-processor.", "homepage": "https://gmsh.info", "license": "LGPL-2.0-or-later", @@ -10,6 +10,10 @@ { "name": "vcpkg-cmake", "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } ], "features": { diff --git a/ports/gobject-introspection/fix-pkgconfig.patch b/ports/gobject-introspection/fix-pkgconfig.patch new file mode 100644 index 00000000000000..8c8dfd2574441b --- /dev/null +++ b/ports/gobject-introspection/fix-pkgconfig.patch @@ -0,0 +1,17 @@ +diff --git a/meson.build b/meson.build +index b253927..312fbdc 100644 +--- a/meson.build ++++ b/meson.build +@@ -254,9 +254,9 @@ endif + pkgconfig_variables = [ + 'datadir=' + '${prefix}' / get_option('datadir'), + 'bindir=' + '${prefix}' / get_option('bindir'), +- 'g_ir_scanner=${bindir}/g-ir-scanner', +- 'g_ir_compiler=${bindir}/g-ir-compiler@0@'.format(exe_ext), +- 'g_ir_generate=${bindir}/g-ir-generate@0@'.format(exe_ext), ++ 'g_ir_scanner=${prefix}/tools/gobject-introspection/g-ir-scanner', ++ 'g_ir_compiler=${prefix}/tools/gobject-introspection/g-ir-compiler@0@'.format(exe_ext), ++ 'g_ir_generate=${prefix}/tools/gobject-introspection/g-ir-generate@0@'.format(exe_ext), + 'gidatadir=${datadir}/gobject-introspection-1.0', + 'girdir=' + gir_dir_pc_prefix / 'gir-1.0', + 'typelibdir=${libdir}/girepository-1.0', diff --git a/ports/gobject-introspection/portfile.cmake b/ports/gobject-introspection/portfile.cmake index a100fe08f8922d..b4828b5ea62f7f 100644 --- a/ports/gobject-introspection/portfile.cmake +++ b/ports/gobject-introspection/portfile.cmake @@ -16,16 +16,20 @@ vcpkg_extract_source_archive( 0002-cross-build.patch 0003-fix-paths.patch python.patch + fix-pkgconfig.patch ) vcpkg_find_acquire_program(FLEX) vcpkg_find_acquire_program(BISON) set(OPTIONS_DEBUG -Dbuild_introspection_data=false) -set(OPTIONS_RELEASE -Dbuild_introspection_data=true) -if(VCPKG_CROSSCOMPILING AND - NOT (CMAKE_HOST_WIN32 AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")) +if(VCPKG_CROSSCOMPILING) list(APPEND OPTIONS_RELEASE -Dgi_cross_use_prebuilt_gi=true) + list(APPEND OPTIONS_RELEASE -Dbuild_introspection_data=false) + # g-ir-scanner is not correctly setup for the cross build and + # fails to correctly link against x86 libs (uses x64 instead) +else() + list(APPEND OPTIONS_RELEASE -Dbuild_introspection_data=true) endif() vcpkg_configure_meson( @@ -40,6 +44,7 @@ vcpkg_configure_meson( g-ir-annotation-tool='${CURRENT_HOST_INSTALLED_DIR}/tools/gobject-introspection/g-ir-annotation-tool' g-ir-compiler='${CURRENT_HOST_INSTALLED_DIR}/tools/gobject-introspection/g-ir-compiler${VCPKG_HOST_EXECUTABLE_SUFFIX}' g-ir-scanner='${CURRENT_HOST_INSTALLED_DIR}/tools/gobject-introspection/g-ir-scanner' + python='${CURRENT_HOST_INSTALLED_DIR}/tools/python3/python${VCPKG_HOST_EXECUTABLE_SUFFIX}' ) vcpkg_host_path_list(APPEND ENV{PKG_CONFIG_PATH} "${CURRENT_INSTALLED_DIR}/lib/pkgconfig") diff --git a/ports/gobject-introspection/vcpkg.json b/ports/gobject-introspection/vcpkg.json index 25dc66d235dc7d..25f5694c54375f 100644 --- a/ports/gobject-introspection/vcpkg.json +++ b/ports/gobject-introspection/vcpkg.json @@ -1,11 +1,11 @@ { "name": "gobject-introspection", "version": "1.72.0", - "port-version": 5, + "port-version": 8, "description": "A middleware layer between C libraries (using GObject) and language bindings.", "homepage": "https://gi.readthedocs.io/en/latest/", "license": null, - "supports": "!static & (native | (windows & x86))", + "supports": "!static & native", "dependencies": [ { "name": "cairo", @@ -25,6 +25,10 @@ }, "libffi", "python3", + { + "name": "python3", + "host": true + }, { "name": "vcpkg-tool-meson", "host": true diff --git a/ports/godot-cpp/packagable.patch b/ports/godot-cpp/packagable.patch new file mode 100644 index 00000000000000..cf7e96e618fd70 --- /dev/null +++ b/ports/godot-cpp/packagable.patch @@ -0,0 +1,126 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e715102..b000066 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -37,7 +37,7 @@ + # Todo + # Test build for Windows, Mac and mingw. + +-cmake_minimum_required(VERSION 3.13) ++cmake_minimum_required(VERSION 3.19) + project(godot-cpp LANGUAGES CXX) + + option(GENERATE_TEMPLATE_GET_NODE "Generate a template version of the Node class's get_node." ON) +@@ -65,9 +65,8 @@ if(NOT DEFINED BITS) + endif() + + # Input from user for GDExtension interface header and the API JSON file +-set(GODOT_GDEXTENSION_DIR "gdextension" CACHE STRING "") ++set(GODOT_GDEXTENSION_DIR "${CMAKE_CURRENT_SOURCE_DIR}/gdextension" CACHE STRING "") + set(GODOT_CUSTOM_API_FILE "" CACHE STRING "") +- + set(GODOT_GDEXTENSION_API_FILE "${GODOT_GDEXTENSION_DIR}/extension_api.json") + if (NOT "${GODOT_CUSTOM_API_FILE}" STREQUAL "") # User-defined override. + set(GODOT_GDEXTENSION_API_FILE "${GODOT_CUSTOM_API_FILE}") +@@ -85,9 +84,9 @@ if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") + set(GODOT_COMPILE_FLAGS "/utf-8") # /GF /MP + + if(CMAKE_BUILD_TYPE MATCHES Debug) +- set(GODOT_COMPILE_FLAGS "${GODOT_COMPILE_FLAGS} /MDd") # /Od /RTC1 /Zi ++ set(GODOT_COMPILE_FLAGS "${GODOT_COMPILE_FLAGS} /Od") # /Od /RTC1 /Zi + else() +- set(GODOT_COMPILE_FLAGS "${GODOT_COMPILE_FLAGS} /MD /O2") # /Oy /GL /Gy ++ set(GODOT_COMPILE_FLAGS "${GODOT_COMPILE_FLAGS} /O2") # /Oy /GL /Gy + STRING(REGEX REPLACE "/RTC(su|[1su])" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") + string(REPLACE "/RTC1" "" CMAKE_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG}) + endif(CMAKE_BUILD_TYPE MATCHES Debug) +@@ -117,7 +116,6 @@ else() + endif() + + # Generate source from the bindings file +-find_package(Python3 3.4 REQUIRED) # pathlib should be present + if(GENERATE_TEMPLATE_GET_NODE) + set(GENERATE_BINDING_PARAMETERS "True") + else() +@@ -183,9 +181,10 @@ if (GODOT_CPP_SYSTEM_HEADERS) + endif () + + target_include_directories(${PROJECT_NAME} ${GODOT_CPP_SYSTEM_HEADERS_ATTRIBUTE} PUBLIC +- include +- ${CMAKE_CURRENT_BINARY_DIR}/gen/include +- ${GODOT_GDEXTENSION_DIR} ++ $ ++ $ ++ $ ++ $ + ) + + # Add the compile flags +@@ -213,4 +212,8 @@ set_target_properties(${PROJECT_NAME} + LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/bin" + RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/bin" + OUTPUT_NAME "${OUTPUT_NAME}" ++ EXPORT_NAME "cpp" + ) ++ ++ ++include("cmake/install.cmake") +diff --git a/cmake/config.cmake b/cmake/config.cmake +new file mode 100644 +index 0000000..bcddb3c +--- /dev/null ++++ b/cmake/config.cmake +@@ -0,0 +1 @@ ++include("${CMAKE_CURRENT_LIST_DIR}/unofficial-godot-cpp-target.cmake") +diff --git a/cmake/install.cmake b/cmake/install.cmake +new file mode 100644 +index 0000000..f48ab5c +--- /dev/null ++++ b/cmake/install.cmake +@@ -0,0 +1,46 @@ ++ ++include("CMakePackageConfigHelpers") ++include("GNUInstallDirs") ++ ++install(TARGETS "godot-cpp" ++ EXPORT "unofficial-godot-cpp-target" ++ ARCHIVE ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++) ++install( ++ DIRECTORY ++ "${CMAKE_CURRENT_SOURCE_DIR}/include/" ++ "${CMAKE_CURRENT_BINARY_DIR}/gen/include/" ++ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" ++) ++ ++install(FILES "${GODOT_GDEXTENSION_DIR}/gdextension_interface.h" ++ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" ++) ++install(FILES "${GODOT_GDEXTENSION_API_FILE}" ++ DESTINATION "${CMAKE_INSTALL_DATADIR}/godot-cpp" ++) ++ ++install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/cmake/config.cmake" ++ RENAME "unofficial-godot-cpp-config.cmake" ++ DESTINATION "${CMAKE_INSTALL_DATADIR}/unofficial-godot-cpp" ++) ++install(EXPORT "unofficial-godot-cpp-target" ++ NAMESPACE "unofficial::godot::" ++ DESTINATION "${CMAKE_INSTALL_DATADIR}/unofficial-godot-cpp" ++) ++ ++file(READ "${GODOT_GDEXTENSION_API_FILE}" GODOT_GDEXTENSION_API_JSON) ++string(JSON GODOT_API_VERSION_MAJOR GET "${GODOT_GDEXTENSION_API_JSON}" "header" "version_major") ++string(JSON GODOT_API_VERSION_MINOR GET "${GODOT_GDEXTENSION_API_JSON}" "header" "version_minor") ++string(JSON GODOT_API_VERSION_PATCH GET "${GODOT_GDEXTENSION_API_JSON}" "header" "version_patch") ++set(GODOT_API_VERSION "${GODOT_API_VERSION_MAJOR}.${GODOT_API_VERSION_MINOR}.${GODOT_API_VERSION_PATCH}") ++unset(GODOT_GDEXTENSION_API_JSON) ++ ++write_basic_package_version_file("${CMAKE_CURRENT_BINARY_DIR}/unofficial-godot-cpp-config-version.cmake" ++ VERSION "${GODOT_API_VERSION}" ++ COMPATIBILITY SameMinorVersion ++) ++install(FILES "${CMAKE_CURRENT_BINARY_DIR}/unofficial-godot-cpp-config-version.cmake" ++ DESTINATION "${CMAKE_INSTALL_DATADIR}/unofficial-godot-cpp" ++) diff --git a/ports/godot-cpp/portfile.cmake b/ports/godot-cpp/portfile.cmake new file mode 100644 index 00000000000000..044851d5ceba87 --- /dev/null +++ b/ports/godot-cpp/portfile.cmake @@ -0,0 +1,35 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO "godotengine/godot-cpp" + REF "godot-${VERSION}-stable" + SHA512 "4012e2c8cbdbccf5362b139a6318785af6e2cfdc99848734d5e3825afba8b8a46cdd7fff63887e2503cf3195efe79c0bd39a900b535322ab0fb51c3452dc07f5" + HEAD_REF "master" + PATCHES + "packagable.patch" +) + +vcpkg_find_acquire_program(PYTHON3) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + "-DPython3_EXECUTABLE=${PYTHON3}" +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME "unofficial-${PORT}") +vcpkg_copy_pdbs() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") + +file( + INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" +) + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" +) diff --git a/ports/godot-cpp/usage b/ports/godot-cpp/usage new file mode 100644 index 00000000000000..9e6bdad18b3fa0 --- /dev/null +++ b/ports/godot-cpp/usage @@ -0,0 +1,4 @@ +godot-cpp provides CMake targets: + + find_package(unofficial-godot-cpp CONFIG REQUIRED) + target_link_libraries(main PRIVATE unofficial::godot::cpp) diff --git a/ports/godot-cpp/vcpkg.json b/ports/godot-cpp/vcpkg.json new file mode 100644 index 00000000000000..44ca45f9ae472e --- /dev/null +++ b/ports/godot-cpp/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "godot-cpp", + "version": "4.3", + "description": "C++ bindings for the Godot script API", + "homepage": "https://github.com/godotengine/godot-cpp", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/google-cloud-cpp/portfile.cmake b/ports/google-cloud-cpp/portfile.cmake index ceec57ecdd10d3..60bc95f90116dc 100644 --- a/ports/google-cloud-cpp/portfile.cmake +++ b/ports/google-cloud-cpp/portfile.cmake @@ -4,10 +4,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO googleapis/google-cloud-cpp REF "v${VERSION}" - SHA512 a3d84785b024e31e909592bca5a6589873bcd342848fae9520a9e7715bcb736db71184eeedbcbf6086105e6145937cabdd731a80879fd177f80895fdf09c3b46 + SHA512 f57857a0853fa0980bb2c07d25d22240ce27a005a41cc99bf25ca0148fe7c9d5717eeb393519a37f05b40d4c114dde30e959e994700aece1ca2c45e68cd9bf77 HEAD_REF main - PATCHES - support_absl_cxx17.patch ) if ("grpc-common" IN_LIST FEATURES) @@ -33,6 +31,10 @@ if ("dialogflow-es" IN_LIST FEATURES) list(REMOVE_ITEM GOOGLE_CLOUD_CPP_ENABLE "dialogflow-es") list(APPEND GOOGLE_CLOUD_CPP_ENABLE "dialogflow_es") endif () +if ("storage-grpc" IN_LIST FEATURES) + list(REMOVE_ITEM GOOGLE_CLOUD_CPP_ENABLE "storage-grpc") + list(APPEND GOOGLE_CLOUD_CPP_ENABLE "storage_grpc") +endif () vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" @@ -44,37 +46,35 @@ vcpkg_cmake_configure( -DGOOGLE_CLOUD_CPP_ENABLE_CCACHE=OFF -DGOOGLE_CLOUD_CPP_ENABLE_EXAMPLES=OFF -DBUILD_TESTING=OFF - # This is needed by the `experimental-storage-grpc` feature until vcpkg - # gets Protobuf >= 4.23.0. It has no effect for other features, so - # it is simpler to just always turn it on. - -DGOOGLE_CLOUD_CPP_ENABLE_CTYPE_CORD_WORKAROUND=ON + -DGOOGLE_CLOUD_CPP_WITH_MOCKS=OFF ) vcpkg_cmake_install() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -foreach(feature IN LISTS FEATURES) - set(config_path "lib/cmake/google_cloud_cpp_${feature}") - # Most features get their own package in `google-cloud-cpp`. - # The exceptions are captured by this `if()` command, basically - # things like `core` and `experimental-storage-grpc` are skipped. + +function (google_cloud_cpp_cmake_config_fixup library) + string(REPLACE "experimental-" "" library "${library}") + string(REPLACE "-" "_" library "${library}") + set(config_path "lib/cmake/google_cloud_cpp_${library}") + # If the library exists and is installed, tell vcpkg about it. if(NOT IS_DIRECTORY "${CURRENT_PACKAGES_DIR}/${config_path}") - continue() + return() endif() - vcpkg_cmake_config_fixup(PACKAGE_NAME "google_cloud_cpp_${feature}" + vcpkg_cmake_config_fixup(PACKAGE_NAME "google_cloud_cpp_${library}" CONFIG_PATH "${config_path}" DO_NOT_DELETE_PARENT_CONFIG_PATH) +endfunction () + +foreach(feature IN LISTS GOOGLE_CLOUD_CPP_ENABLE) + google_cloud_cpp_cmake_config_fixup(${feature}) + google_cloud_cpp_cmake_config_fixup(${feature}_mocks) endforeach() + # These packages are automatically installed depending on what features are # enabled. -foreach(suffix common googleapis grpc_utils rest_internal rest_protobuf_internal dialogflow_cx dialogflow_es) - set(config_path "lib/cmake/google_cloud_cpp_${suffix}") - if(NOT IS_DIRECTORY "${CURRENT_PACKAGES_DIR}/${config_path}") - continue() - endif() - vcpkg_cmake_config_fixup(PACKAGE_NAME "google_cloud_cpp_${suffix}" - CONFIG_PATH "${config_path}" - DO_NOT_DELETE_PARENT_CONFIG_PATH) +foreach(feature common compute_protos googleapis grpc_utils iam_v2 logging_type rest_internal rest_protobuf_internal) + google_cloud_cpp_cmake_config_fixup(${feature}) endforeach() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/cmake" diff --git a/ports/google-cloud-cpp/support_absl_cxx17.patch b/ports/google-cloud-cpp/support_absl_cxx17.patch deleted file mode 100644 index 582b88a52d407e..00000000000000 --- a/ports/google-cloud-cpp/support_absl_cxx17.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 3fb0564..b4a251b 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -29,6 +29,14 @@ if (NOT "${PROJECT_VERSION_PRE_RELEASE}" STREQUAL "") - set(PROJECT_VERSION "${PROJECT_VERSION}-${PROJECT_VERSION_PRE_RELEASE}") - endif () - -+find_package(absl CONFIG REQUIRED) -+ -+# Use CMAKE_CXX_STANDARD=17 if ABSL_USE_CXX17 is set -+if (ABSL_USE_CXX17) -+ message(STATUS "Found absl uses CXX17, enable CXX17 feature.") -+ set(CMAKE_CXX_STANDARD 17) -+endif () -+ - if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") - if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.3) - message( diff --git a/ports/google-cloud-cpp/vcpkg.json b/ports/google-cloud-cpp/vcpkg.json index 0fc6206bfaafe6..ae166a2171f407 100644 --- a/ports/google-cloud-cpp/vcpkg.json +++ b/ports/google-cloud-cpp/vcpkg.json @@ -1,14 +1,16 @@ { "name": "google-cloud-cpp", - "version": "2.17.0", - "port-version": 1, + "version": "2.33.0", "description": "C++ Client Libraries for Google Cloud Platform APIs.", "homepage": "https://github.com/googleapis/google-cloud-cpp", "license": "Apache-2.0", "supports": "!uwp", "dependencies": [ "abseil", - "openssl", + { + "name": "openssl", + "platform": "!windows" + }, { "name": "vcpkg-cmake", "host": true @@ -63,6 +65,18 @@ } ] }, + "aiplatform": { + "description": "Vertex AI API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, "alloydb": { "description": "Alloy DB API C++ Client Library", "dependencies": [ @@ -123,6 +137,18 @@ } ] }, + "apphub": { + "description": "App Hub API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, "artifactregistry": { "description": "Artifact Registry API C++ Client Library", "dependencies": [ @@ -174,6 +200,18 @@ } ] }, + "backupdr": { + "description": "Backup and DR Service API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, "baremetalsolution": { "description": "Bare Metal Solution API C++ Client Library", "dependencies": [ @@ -222,6 +260,19 @@ } ] }, + "bigquerycontrol": { + "description": "Cloud BigQuery Control API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common", + "rest-common" + ] + } + ] + }, "bigtable": { "description": "The Google Cloud Bigtable C++ client library", "dependencies": [ @@ -296,6 +347,30 @@ } ] }, + "cloudcontrolspartner": { + "description": "Cloud Controls Partner API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "cloudquotas": { + "description": "Cloud Quotas API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, "commerce": { "description": "Cloud Commerce C++ Client Library", "dependencies": [ @@ -322,6 +397,7 @@ }, "compute": { "description": "Compute Engine C++ Client Library", + "supports": "!windows", "dependencies": [ { "name": "google-cloud-cpp", @@ -406,6 +482,18 @@ } ] }, + "contentwarehouse": { + "description": "Document AI Warehouse API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, "datacatalog": { "description": "Google Cloud Data Catalog API C++ Client Library", "dependencies": [ @@ -490,8 +578,8 @@ } ] }, - "debugger": { - "description": "Stackdriver Debugger API C++ Client Library", + "deploy": { + "description": "Google Cloud Deploy API C++ Client Library", "dependencies": [ { "name": "google-cloud-cpp", @@ -502,8 +590,8 @@ } ] }, - "deploy": { - "description": "Google Cloud Deploy API C++ Client Library", + "developerconnect": { + "description": "Developer Connect API C++ Client Library", "dependencies": [ { "name": "google-cloud-cpp", @@ -574,6 +662,18 @@ } ] }, + "domains": { + "description": "Cloud Domains API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, "edgecontainer": { "description": "Distributed Cloud Edge Container API C++ Client Library", "dependencies": [ @@ -586,8 +686,8 @@ } ] }, - "eventarc": { - "description": "Eventarc API C++ Client Library", + "edgenetwork": { + "description": "Distributed Cloud Edge Network API C++ Client Library", "dependencies": [ { "name": "google-cloud-cpp", @@ -598,15 +698,26 @@ } ] }, - "experimental-storage-grpc": { - "description": "The GCS+gRPC plugin", + "essentialcontacts": { + "description": "Essential Contacts API C++ Client Library", "dependencies": [ { "name": "google-cloud-cpp", "default-features": false, "features": [ - "grpc-common", - "storage" + "grpc-common" + ] + } + ] + }, + "eventarc": { + "description": "Eventarc API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" ] } ] @@ -635,8 +746,8 @@ } ] }, - "gameservices": { - "description": "Game Services API C++ Client Library", + "gkebackup": { + "description": "Backup for GKE API C++ Client Library", "dependencies": [ { "name": "google-cloud-cpp", @@ -647,6 +758,19 @@ } ] }, + "gkeconnect": { + "description": "GKE Connect Gateway API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common", + "rest-common" + ] + } + ] + }, "gkehub": { "description": "GKE Hub C++ Client Library", "dependencies": [ @@ -734,8 +858,8 @@ } ] }, - "iot": { - "description": "Cloud IoT API C++ Client Library", + "kms": { + "description": "Cloud Key Management Service (KMS) API C++ Client Library", "dependencies": [ { "name": "google-cloud-cpp", @@ -746,8 +870,8 @@ } ] }, - "kms": { - "description": "Cloud Key Management Service (KMS) API C++ Client Library", + "language": { + "description": "Cloud Natural Language API C++ Client Library", "dependencies": [ { "name": "google-cloud-cpp", @@ -758,8 +882,8 @@ } ] }, - "language": { - "description": "Cloud Natural Language API C++ Client Library", + "logging": { + "description": "Google Cloud Logging C++ Client Library", "dependencies": [ { "name": "google-cloud-cpp", @@ -770,8 +894,8 @@ } ] }, - "logging": { - "description": "Google Cloud Logging C++ Client Library", + "managedidentities": { + "description": "Managed Service for Microsoft Active Directory API C++ Client Library", "dependencies": [ { "name": "google-cloud-cpp", @@ -782,8 +906,8 @@ } ] }, - "managedidentities": { - "description": "Managed Service for Microsoft Active Directory API C++ Client Library", + "managedkafka": { + "description": "Manage Apache Kafka clusters and resources.", "dependencies": [ { "name": "google-cloud-cpp", @@ -890,6 +1014,18 @@ } ] }, + "networkservices": { + "description": "Network Services API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, "notebooks": { "description": "Notebooks API C++ Client Library", "dependencies": [ @@ -921,6 +1057,7 @@ "name": "google-cloud-cpp", "default-features": false, "features": [ + "monitoring", "rest-common", "trace" ] @@ -976,6 +1113,18 @@ } ] }, + "parallelstore": { + "description": "Cloud Parallel Store API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, "policysimulator": { "description": "Policy Simulator API C++ Client Library", "dependencies": [ @@ -1012,6 +1161,18 @@ } ] }, + "privilegedaccessmanager": { + "description": "Privileged Access Manager API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, "profiler": { "description": "Cloud Profiler API C++ Client Library", "dependencies": [ @@ -1024,6 +1185,18 @@ } ] }, + "publicca": { + "description": "Public Certificate Authority API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, "pubsub": { "description": "The Google Cloud Bigtable C++ client library", "dependencies": [ @@ -1048,6 +1221,18 @@ } ] }, + "recaptchaenterprise": { + "description": "reCAPTCHA Enterprise API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, "recommender": { "description": "Recommender C++ Client Library", "dependencies": [ @@ -1120,6 +1305,18 @@ } ] }, + "rpc": { + "description": "RPC API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, "run": { "description": "Cloud Run Admin API C++ Client Library", "dependencies": [ @@ -1156,6 +1353,18 @@ } ] }, + "securesourcemanager": { + "description": "Secure Source Manager API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, "securitycenter": { "description": "Security Command Center API C++ Client Library", "dependencies": [ @@ -1168,6 +1377,18 @@ } ] }, + "securitycentermanagement": { + "description": "Security Center Management API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, "servicecontrol": { "description": "Service Control API C++ Client Library", "dependencies": [ @@ -1192,6 +1413,18 @@ } ] }, + "servicehealth": { + "description": "Personalized Service Health API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, "servicemanagement": { "description": "Service Management API C++ Client Library", "dependencies": [ @@ -1252,6 +1485,19 @@ } ] }, + "sql": { + "description": "The Google Cloud SQL Admin C++ client library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common", + "rest-common" + ] + } + ] + }, "storage": { "description": "The Google Cloud Storage C++ client library", "dependencies": [ @@ -1265,6 +1511,32 @@ } ] }, + "storage-grpc": { + "description": "The GCS+gRPC plugin", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common", + "opentelemetry", + "storage" + ] + } + ] + }, + "storagecontrol": { + "description": "Cloud Storage Control API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, "storageinsights": { "description": "Storage Insights API C++ Client Library", "dependencies": [ @@ -1325,6 +1597,18 @@ } ] }, + "telcoautomation": { + "description": "Cloud Telco Automation API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, "texttospeech": { "description": "Cloud Text-to-Speech API C++ Client Library", "dependencies": [ @@ -1337,6 +1621,18 @@ } ] }, + "timeseriesinsights": { + "description": "Timeseries Insights API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, "tpu": { "description": "Cloud TPU API C++ Client Library", "dependencies": [ diff --git a/ports/gperftools/CMakeLists.txt b/ports/gperftools/CMakeLists.txt deleted file mode 100644 index a4bf860af362df..00000000000000 --- a/ports/gperftools/CMakeLists.txt +++ /dev/null @@ -1,211 +0,0 @@ -cmake_minimum_required(VERSION 3.5) - -project(gperftools LANGUAGES C CXX) - -include(GNUInstallDirs) - -option(GPERFTOOLS_BUILD_TOOLS "Build tools" ON) - -if(WIN32) # TODO: MINGW, MSYS - option(GPERFTOOLS_WIN32_OVERRIDE "Override allocators" OFF) -endif() - -set(deprecated_public_headers - src/google/heap-checker.h - src/google/heap-profiler.h - src/google/malloc_extension.h - src/google/malloc_extension_c.h - src/google/malloc_hook.h - src/google/malloc_hook_c.h - src/google/profiler.h - src/google/stacktrace.h -) - -set(gperftools_public_headers - src/gperftools/heap-checker.h - src/gperftools/heap-profiler.h - src/gperftools/malloc_extension.h - src/gperftools/malloc_extension_c.h - src/gperftools/malloc_hook.h - src/gperftools/malloc_hook_c.h - src/gperftools/nallocx.h - src/gperftools/profiler.h - src/gperftools/stacktrace.h -) - -if(WIN32) # TODO: MINGW, MSYS - list(APPEND deprecated_public_headers - src/windows/google/tcmalloc.h - ) - - list(APPEND gperftools_public_headers - src/windows/gperftools/tcmalloc.h - ) - - set(libtcmalloc_minimal_headers - src/addressmap-inl.h - src/base/arm_instruction_set_select.h - src/base/atomicops-internals-arm-generic.h - src/base/atomicops-internals-arm-v6plus.h - src/base/atomicops-internals-gcc.h - src/base/atomicops-internals-linuxppc.h - src/base/atomicops-internals-macosx.h - src/base/atomicops-internals-mips.h - src/base/atomicops-internals-windows.h - src/base/atomicops-internals-x86.h - src/base/atomicops.h - src/base/basictypes.h - src/base/commandlineflags.h - src/base/googleinit.h - src/base/logging.h - src/base/low_level_alloc.h - src/base/spinlock.h - src/base/spinlock_internal.h - src/base/spinlock_linux-inl.h - src/base/spinlock_posix-inl.h - src/base/spinlock_win32-inl.h - src/base/stl_allocator.h - src/base/sysinfo.h - src/base/thread_annotations.h - src/central_freelist.h - src/common.h - src/gperftools/heap-checker.h - src/gperftools/heap-profiler.h - src/gperftools/malloc_extension.h - src/gperftools/malloc_hook.h - src/gperftools/profiler.h - src/gperftools/stacktrace.h - src/heap-profile-table.h - src/internal_logging.h - src/malloc_hook-inl.h - src/memory_region_map.h - src/packed-cache-inl.h - src/pagemap.h - src/page_heap.h - src/page_heap_allocator.h - src/raw_printer.h - src/sampler.h - src/span.h - src/stacktrace_win32-inl.h - src/stack_trace_table.h - src/static_vars.h - src/symbolize.h - src/system-alloc.h - src/tcmalloc.h - src/thread_cache.h - src/windows/config.h - src/windows/mini_disassembler.h - src/windows/mini_disassembler_types.h - src/windows/port.h - src/windows/preamble_patcher.h - ) - - set(libtcmalloc_minimal_sources - src/base/dynamic_annotations.c - src/base/logging.cc - src/base/low_level_alloc.cc - src/base/spinlock.cc - src/base/spinlock_internal.cc - src/base/sysinfo.cc - src/central_freelist.cc - src/common.cc - src/fake_stacktrace_scope.cc - src/heap-profile-table.cc - src/internal_logging.cc - src/malloc_extension.cc - src/malloc_hook.cc - src/memory_region_map.cc - src/page_heap.cc - src/raw_printer.cc - src/sampler.cc - src/span.cc - src/stacktrace.cc - src/stack_trace_table.cc - src/static_vars.cc - src/symbolize.cc - src/thread_cache.cc - src/windows/ia32_modrm_map.cc - src/windows/ia32_opcode_map.cc - src/windows/mini_disassembler.cc - src/windows/port.cc - src/windows/preamble_patcher.cc - src/windows/preamble_patcher_with_stub.cc - src/windows/system-alloc.cc - ) - - if(GPERFTOOLS_WIN32_OVERRIDE) - list(APPEND libtcmalloc_minimal_sources src/windows/override_functions.cc) - else() - list(APPEND libtcmalloc_minimal_sources src/windows/patch_functions.cc) - endif() - - set_property(GLOBAL PROPERTY USE_FOLDERS ON) - source_group("Header Files" FILES ${libtcmalloc_minimal_headers}) - source_group("Source Files" FILES ${libtcmalloc_minimal_sources}) - - if(GPERFTOOLS_WIN32_OVERRIDE) - add_library(libtcmalloc_minimal - STATIC - ${libtcmalloc_minimal_headers} - ${libtcmalloc_minimal_sources} - ) - else() - add_library(libtcmalloc_minimal - ${libtcmalloc_minimal_headers} - ${libtcmalloc_minimal_sources} - ) - endif() - - target_compile_definitions( - libtcmalloc_minimal - PRIVATE - $<$: - WIN32_OVERRIDE_ALLOCATORS - PERFTOOLS_DLL_DECL= - > - ) - - target_compile_options( - libtcmalloc_minimal - PRIVATE - $<$: - /wd4141 - /wd4251 - > - ) - - target_include_directories( - libtcmalloc_minimal - PUBLIC - $ - ) - - install(FILES ${deprecated_public_headers} - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/google - ) - - install(FILES ${gperftools_public_headers} - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gperftools - ) - - install(TARGETS libtcmalloc_minimal - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - ) - - if(GPERFTOOLS_BUILD_TOOLS) - add_executable(addr2line-pdb src/windows/addr2line-pdb.c) - target_link_libraries(addr2line-pdb PRIVATE DbgHelp) - - add_executable(nm-pdb src/windows/nm-pdb.c) - target_link_libraries(nm-pdb PRIVATE DbgHelp) - - install(TARGETS addr2line-pdb nm-pdb DESTINATION ${CMAKE_INSTALL_BINDIR}) - endif() -else() -endif() diff --git a/ports/gperftools/cmake-project-include.cmake b/ports/gperftools/cmake-project-include.cmake new file mode 100644 index 00000000000000..953c2ac474823c --- /dev/null +++ b/ports/gperftools/cmake-project-include.cmake @@ -0,0 +1,4 @@ +if(ANDROID) + include(CheckFunctionExists) + check_function_exists("glob" HAVE_GLOB_H) +endif() diff --git a/ports/gperftools/install.diff b/ports/gperftools/install.diff new file mode 100644 index 00000000000000..c4cdfbadc1ddc4 --- /dev/null +++ b/ports/gperftools/install.diff @@ -0,0 +1,89 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e9647d5..092f40d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -424,7 +424,7 @@ if(MSVC) + endif() + + add_library(common +- STATIC ++ OBJECT + src/base/logging.cc + src/base/generic_writer.cc + src/base/sysinfo.cc +@@ -497,7 +497,7 @@ endif() + + if(WITH_STACK_TRACE) + ### Making the library +- add_library(stacktrace STATIC ++ add_library(stacktrace OBJECT + src/stacktrace.cc + src/base/elf_mem_image.cc + src/base/vdso_support.cc) +@@ -926,4 +926,66 @@ if(MSVC) + add_subdirectory(src/windows) + endif() + ++foreach(lib IN ITEMS ++ common stacktrace ++ tcmalloc_minimal tcmalloc tcmalloc_minimal_debug tcmalloc_debug ++ profiler ++) ++ if(TARGET "${lib}") ++ install(TARGETS "${lib}") ++ if(lib MATCHES "tcmalloc|profiler") ++ set(pc_file "${CMAKE_CURRENT_BINARY_DIR}/lib${lib}.pc") ++ set(pc_libs_private "${CMAKE_THREAD_LIBS_INIT}") ++ if("execinfo" IN_LIST unwind_libs AND lib MATCHES "tcmalloc") ++ string(APPEND pc_libs_private " -lexecinfo") ++ endif() ++ set(pc_requires_private "") ++ if(gperftools_enable_libunwind AND lib MATCHES "tcmalloc") ++ string(APPEND pc_requires_private " libunwind") ++ endif() ++ file(CONFIGURE OUTPUT "${pc_file}" CONTENT [[ ++prefix= ++exec_prefix=${prefix} ++libdir=${prefix}/lib ++includedir=${prefix}/include ++ ++Name: @PROJECT_NAME@ ++Version: @PROJECT_VERSION@ ++Description: Performance tools for C++ ++URL: https://github.com/gperftools/gperftools ++Cflags: -I${includedir} ++Libs: -L${libdir} -l@lib@ ++Libs.private: @pc_libs_private@ ++Requires.private: @pc_requires_private@ ++]] @ONLY) ++ install(FILES "${pc_file}" DESTINATION "lib/pkgconfig") ++ endif() ++ endif() ++endforeach() ++ ++foreach(exe IN ITEMS addr2line-pdb nm-pdb) ++ if(NOT TARGET "${exe}") ++ continue() ++ elseif(GPERFTOOLS_BUILD_TOOLS) ++ install(TARGETS "${exe}") ++ else() ++ set_target_properties("${exe}" PROPERTIES EXCLUDE_FROM_ALL 1) ++ endif() ++endforeach() ++ ++install( ++ FILES ++ src/gperftools/heap-checker.h ++ src/gperftools/heap-profiler.h ++ src/gperftools/malloc_extension.h ++ src/gperftools/malloc_extension_c.h ++ src/gperftools/malloc_hook.h ++ src/gperftools/malloc_hook_c.h ++ src/gperftools/nallocx.h ++ src/gperftools/profiler.h ++ src/gperftools/stacktrace.h ++ "${CMAKE_CURRENT_BINARY_DIR}/gperftools/tcmalloc.h" ++ DESTINATION include/gperftools ++) ++ + message(WARNING "note: gperftools' cmake support is incomplete and is best-effort only") diff --git a/ports/gperftools/libunwind.diff b/ports/gperftools/libunwind.diff new file mode 100644 index 00000000000000..ad0a1c59faf441 --- /dev/null +++ b/ports/gperftools/libunwind.diff @@ -0,0 +1,24 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 52629d3..a93c7e8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -241,13 +241,13 @@ if(NOT WIN32) + endif() + + if(gperftools_enable_libunwind) +- check_include_file("libunwind.h" HAVE_LIBUNWIND_H) ++ find_package(PkgConfig REQUIRED) ++ pkg_check_modules(PC_LIBUNWIND libunwind REQUIRED) ++ find_file(HAVE_LIBUNWIND_H "libunwind.h" PATHS ${PC_LIBUNWIND_INCLUDE_DIRS} NO_DEFAULT_PATH REQUIRED) + if(HAVE_LIBUNWIND_H) +- find_library(libunwind_location NAMES unwind) +- if(libunwind_location) +- check_library_exists( +- unwind backtrace ${libunwind_location} have_libunwind) +- endif() ++ include_directories(${PC_LIBUNWIND_INCLUDE_DIRS}) ++ set(libunwind_location "${PC_LIBUNWIND_LINK_LIBRARIES}" CACHE INTERNAL "") ++ set(have_libunwind 1) + if(have_libunwind) + set(unwind_libs ${libunwind_location}) + set(will_use_libunwind ON) diff --git a/ports/gperftools/portfile.cmake b/ports/gperftools/portfile.cmake index 162c668356fa95..289401cc531e5f 100644 --- a/ports/gperftools/portfile.cmake +++ b/ports/gperftools/portfile.cmake @@ -1,83 +1,65 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO gperftools/gperftools - REF gperftools-2.10 - SHA512 4400711723be9401f519d85b3b69c026e4715473cbed48ab0573df17abdf895fb971ee969875fe5127a2e8b9aba90d858285e50c8e012384c2c36d5a76b1f0c4 + REF gperftools-${VERSION} + SHA512 a6eddee06cd6a9344c724522a5bb977082d6ee30eded1c6793d6bb508d4c8542a238dc0f62818c715f09312c858cc90cded0ee95ba2a3ea15fad8a0b78bcdaea HEAD_REF master + PATCHES + libunwind.diff + install.diff + win32-override.diff ) +file(REMOVE_RECURSE "${SOURCE_PATH}/vendor") -if(VCPKG_TARGET_IS_WINDOWS) - file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") - - if(override IN_LIST FEATURES) - if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(STATUS "${PORT}[override] only supports static library linkage. Building static library.") - vcpkg_check_linkage(ONLY_STATIC_LIBRARY ONLY_STATIC_CRT) - endif() - endif() - - vcpkg_check_features( - OUT_FEATURE_OPTIONS FEATURE_OPTIONS - FEATURES - override GPERFTOOLS_WIN32_OVERRIDE - tools GPERFTOOLS_BUILD_TOOLS - ) - - vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - DISABLE_PARALLEL_CONFIGURE - OPTIONS - ${FEATURE_OPTIONS} - ) - - vcpkg_cmake_install() - - vcpkg_copy_pdbs() +if("override" IN_LIST FEATURES) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY ONLY_STATIC_CRT) +endif() - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +vcpkg_check_features( + OUT_FEATURE_OPTIONS OPTIONS + FEATURES + libunwind gperftools_enable_libunwind + override GPERFTOOLS_WIN32_OVERRIDE + tools GPERFTOOLS_BUILD_TOOLS +) - if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - file(GLOB gperf_public_headers "${CURRENT_PACKAGES_DIR}/include/gperftools/*.h") +if(gperftools_enable_libunwind) + vcpkg_find_acquire_program(PKGCONFIG) + list(APPEND OPTIONS "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}") +endif() - foreach(gperf_header ${gperf_public_headers}) - vcpkg_replace_string(${gperf_header} "__declspec(dllimport)" "") - endforeach() - endif() +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTING=OFF + "-DCMAKE_PROJECT_INCLUDE=${CURRENT_PORT_DIR}/cmake-project-include.cmake" + -Dgperftools_build_benchmark=OFF + ${OPTIONS} + OPTIONS_DEBUG + -DGPERFTOOLS_BUILD_TOOLS=OFF + MAYBE_UNUSED_VARIABLES + GPERFTOOLS_BUILD_TOOLS + GPERFTOOLS_WIN32_OVERRIDE +) +vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(GLOB gperf_public_headers "${CURRENT_PACKAGES_DIR}/include/gperftools/*.h") + foreach(gperf_header IN LISTS gperf_public_headers) + vcpkg_replace_string("${gperf_header}" "__declspec(dllimport)" "") + endforeach() +endif() - if(tools IN_LIST FEATURES) +if("tools" IN_LIST FEATURES) + if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) vcpkg_copy_tools(TOOL_NAMES addr2line-pdb nm-pdb AUTO_CLEAN) endif() -else() - if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - set(BUILD_OPTS --enable-shared --disable-static) - else() - set(BUILD_OPTS --enable-static --disable-shared) - endif() - - vcpkg_configure_make( - SOURCE_PATH ${SOURCE_PATH} - AUTOCONFIG - OPTIONS - ${BUILD_OPTS} - ) - - vcpkg_install_make() - - if(tools IN_LIST FEATURES) - vcpkg_copy_tools(TOOL_NAMES pprof pprof-symbolize AUTO_CLEAN) - endif() - - file(REMOVE_RECURSE - "${CURRENT_PACKAGES_DIR}/debug/include" - "${CURRENT_PACKAGES_DIR}/debug/share" - ) - - # https://github.com/microsoft/vcpkg/pull/8750#issuecomment-625590773 - if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") - endif() - - vcpkg_fixup_pkgconfig() + # Perl script + file(INSTALL "${SOURCE_PATH}/src/pprof" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") endif() -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/gperftools/vcpkg.json b/ports/gperftools/vcpkg.json index 6cc9b530cbf431..449eac15eba969 100644 --- a/ports/gperftools/vcpkg.json +++ b/ports/gperftools/vcpkg.json @@ -1,25 +1,29 @@ { "name": "gperftools", - "version": "2.10", - "port-version": 1, - "description": "A set of tools for performance profiling and memory checking", + "version": "2.16", + "description": "A high-performance multi-threaded malloc() implementation, plus some performance analysis tools.", "homepage": "https://github.com/gperftools/gperftools", - "supports": "!(arm & windows) & !uwp & !android", + "license": "BSD-3-Clause", + "supports": "((x86 | x64) & windows & !uwp) | !windows | mingw", "dependencies": [ { "name": "vcpkg-cmake", - "host": true, - "platform": "windows" + "host": true } ], "features": { + "libunwind": { + "description": "Support libunwind for stack traces", + "dependencies": [ + "libunwind" + ] + }, "override": { - "description": "Override allocators", + "description": "Override Windows allocators", "supports": "windows & staticcrt" }, "tools": { - "description": "Build gperftools CLI tools", - "supports": "windows" + "description": "Install tools" } } } diff --git a/ports/gperftools/win32-override.diff b/ports/gperftools/win32-override.diff new file mode 100644 index 00000000000000..cd5e49c551a476 --- /dev/null +++ b/ports/gperftools/win32-override.diff @@ -0,0 +1,16 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2897655..7e93511 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -460,6 +460,11 @@ target_sources(common PRIVATE + set(SYSTEM_ALLOC_CC src/windows/system-alloc.cc) + set(TCMALLOC_CC src/windows/patch_functions.cc) + ++if(GPERFTOOLS_WIN32_OVERRIDE) ++ set(TCMALLOC_CC src/windows/override_functions.cc) ++ add_definitions(-DWIN32_OVERRIDE_ALLOCATORS) ++endif() ++ + # patch_function uses -lpsapi and spinlock bits use -synchronization + # and -lshlwapi + link_libraries(psapi synchronization shlwapi) diff --git a/ports/gpgme/portfile.cmake b/ports/gpgme/portfile.cmake index e50242bce6a8c9..af8c7d1be79810 100644 --- a/ports/gpgme/portfile.cmake +++ b/ports/gpgme/portfile.cmake @@ -4,7 +4,7 @@ vcpkg_download_distfile(tarball "https://mirrors.dotsrc.org/gcrypt/gpgme/gpgme-${VERSION}.tar.bz2" "https://www.mirrorservice.org/sites/ftp.gnupg.org/gcrypt/gpgme/gpgme-${VERSION}.tar.bz2" FILENAME "gpgme-${VERSION}.tar.bz2" - SHA512 17053053fa885f01416433e43072ac716b5d5db0c3edf45b2d6e90e6384d127626e6ae3ce421abba8f449f5ca7e8963f3d62f3565d295847170bc998d1ec1a70 + SHA512 6cfcd07e81a93de240582de5a46545420cee93d1f27fe20ea2c983780fdd3036b69fdba073cf549d68a20791e189bf4b3cdde14a43f912d2ab9ef3414c83ac75 ) vcpkg_extract_source_archive( SOURCE_PATH diff --git a/ports/gpgme/vcpkg.json b/ports/gpgme/vcpkg.json index 243f60fd106977..01d3838e96bc9c 100644 --- a/ports/gpgme/vcpkg.json +++ b/ports/gpgme/vcpkg.json @@ -1,6 +1,6 @@ { "name": "gpgme", - "version": "1.22.0", + "version": "1.23.2", "description": "A library designed to make access to GnuPG easier for applications", "homepage": "https://gnupg.org/software/gpgme/", "license": null, diff --git a/ports/gpgmm/portfile.cmake b/ports/gpgmm/portfile.cmake index 7a6f054c13e98a..3339a87d854c21 100644 --- a/ports/gpgmm/portfile.cmake +++ b/ports/gpgmm/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO intel/gpgmm - REF v0.0.4 - SHA512 2ffc3c8299f2d10cb1c0013cd306ba45781a644fa0aa426ef1dfa616e4b53671461a376f65b7068b1ff8a4a2d1a6f9539664174eb5830ea6a760ef5e5d0fc6b0 + REF "v${VERSION}" + SHA512 1e949e87110e555aa139e564a667a030150e77fd9b174f11bd3238b1fc3e7ae7ef17cc483b8afc9b0b7c346ce36564c94959454e27509c520bec18ef8396b5a1 HEAD_REF main ) @@ -16,6 +16,7 @@ vcpkg_cmake_configure( ) vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") @@ -24,7 +25,7 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") endif() -file(GLOB GPGMM_INCLUDE "${SOURCE_PATH}/src/include/*.h") -file(COPY ${GPGMM_INCLUDE} DESTINATION "${CURRENT_PACKAGES_DIR}/include") +file(GLOB_RECURSE GPGMM_INCLUDE "${SOURCE_PATH}/include/*.h") +file(INSTALL ${GPGMM_INCLUDE} DESTINATION "${CURRENT_PACKAGES_DIR}/include") -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/gpgmm/vcpkg.json b/ports/gpgmm/vcpkg.json index 1786fab4056a11..4f07dc580626e9 100644 --- a/ports/gpgmm/vcpkg.json +++ b/ports/gpgmm/vcpkg.json @@ -1,6 +1,7 @@ { "name": "gpgmm", - "version": "0.0.4", + "version": "0.1.2", + "port-version": 1, "description": "GPGMM is a General-Purpose GPU Memory Management library. It provides a common set of GPU memory routines optimized for GPUs. The library helps developers manage video memory by implementing the necessary functionality across components based on Vulkan or D3D12", "homepage": "https://github.com/intel/GPGMM/", "license": "Apache-2.0", diff --git a/ports/graphicsmagick/vcpkg.json b/ports/graphicsmagick/vcpkg.json index 6f3b879429446e..dfbab6d92e2ebe 100644 --- a/ports/graphicsmagick/vcpkg.json +++ b/ports/graphicsmagick/vcpkg.json @@ -1,6 +1,7 @@ { "name": "graphicsmagick", "version": "1.3.41", + "port-version": 1, "description": "Image processing library", "homepage": "https://sourceforge.net/projects/graphicsmagick/", "dependencies": [ @@ -9,7 +10,10 @@ "libjpeg-turbo", "libpng", "libwebp", - "tiff", + { + "name": "tiff", + "default-features": false + }, { "name": "vcpkg-cmake", "host": true diff --git a/ports/graphite2/portfile.cmake b/ports/graphite2/portfile.cmake index 62a71bb171c703..790304362737af 100644 --- a/ports/graphite2/portfile.cmake +++ b/ports/graphite2/portfile.cmake @@ -16,12 +16,15 @@ vcpkg_cmake_configure( vcpkg_cmake_install() vcpkg_copy_pdbs() vcpkg_cmake_config_fixup() +vcpkg_fixup_pkgconfig() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/graphite2/Types.h" "defined GRAPHITE2_STATIC" "1") +endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/libgraphite2.la" "${CURRENT_PACKAGES_DIR}/debug/lib/libgraphite2.la") -file(COPY "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING" "${SOURCE_PATH}/LICENSE") -vcpkg_fixup_pkgconfig() diff --git a/ports/graphite2/vcpkg.json b/ports/graphite2/vcpkg.json index 1dc5a3fc25380f..66f9d6e61d6a92 100644 --- a/ports/graphite2/vcpkg.json +++ b/ports/graphite2/vcpkg.json @@ -1,7 +1,7 @@ { "name": "graphite2", "version": "1.3.14", - "port-version": 3, + "port-version": 4, "description": [ "Graphite is a \"smart font\" system developed specifically to handle the complexities of lesser-known languages of the world.", "Graphite2 is a rework of the original Graphite engine that is faster, smaller, and uses an API that is better suited to the layout architecture of most text-processing applications." diff --git a/ports/graphqlparser/portfile.cmake b/ports/graphqlparser/portfile.cmake deleted file mode 100644 index 70b34fa1825dea..00000000000000 --- a/ports/graphqlparser/portfile.cmake +++ /dev/null @@ -1,44 +0,0 @@ -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO graphql/libgraphqlparser - REF v0.7.0 - SHA512 973292b164d0d2cfe453a2f01559dbdb1b9d22b6304f6a3aabf71e2c0a3e24ab69dfd72a086764ad5befecf0005620f8e86f552dacc324f9615a05f31de7cede - HEAD_REF master - PATCHES - win-cmake.patch - static-compile-fix.patch - remove-invalid-bison-directive.patch -) - -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") - vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - DISABLE_PARALLEL_CONFIGURE - ) -elseif(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - vcpkg_find_acquire_program(PYTHON2) - vcpkg_find_acquire_program(FLEX) - vcpkg_find_acquire_program(BISON) - - get_filename_component(VCPKG_DOWNLOADS_PYTHON2_DIR "${PYTHON2}" DIRECTORY) - get_filename_component(VCPKG_DOWNLOADS_FLEX_DIR "${FLEX}" DIRECTORY) - get_filename_component(VCPKG_DOWNLOADS_BISON_DIR "${BISON}" DIRECTORY) - - vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - DISABLE_PARALLEL_CONFIGURE - OPTIONS - -DVCPKG_DOWNLOADS_PYTHON2_DIR=${VCPKG_DOWNLOADS_PYTHON2_DIR} - -DVCPKG_DOWNLOADS_FLEX_DIR=${VCPKG_DOWNLOADS_FLEX_DIR} - -DVCPKG_DOWNLOADS_BISON_DIR=${VCPKG_DOWNLOADS_BISON_DIR} - ) -endif() - -vcpkg_cmake_install() -vcpkg_fixup_pkgconfig() -vcpkg_copy_pdbs() -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/graphqlparser/parser.tab.hpp" "${SOURCE_PATH}" "") - -# Handle copyright -configure_file("${SOURCE_PATH}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/graphqlparser/copyright" COPYONLY) - diff --git a/ports/graphqlparser/remove-invalid-bison-directive.patch b/ports/graphqlparser/remove-invalid-bison-directive.patch deleted file mode 100644 index 0e0b896dcb566b..00000000000000 --- a/ports/graphqlparser/remove-invalid-bison-directive.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/parser.ypp b/parser.ypp -index 2afbcac..baa9cab 100644 ---- a/parser.ypp -+++ b/parser.ypp -@@ -7,8 +7,6 @@ - * of patent rights can be found in the PATENTS file in the same directory. - */ - --%require "3" -- - %skeleton "lalr1.cc" - - %defines diff --git a/ports/graphqlparser/static-compile-fix.patch b/ports/graphqlparser/static-compile-fix.patch deleted file mode 100644 index 3f2756d71b32b9..00000000000000 --- a/ports/graphqlparser/static-compile-fix.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 56741c2..313308a 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -142,8 +142,11 @@ if (UNIX) - elseif(WIN32) - INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/graphqlparser.lib - DESTINATION lib) -+ # do not install pdb when static compilation. -+ if (BUILD_SHARED_LIBS) - INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/graphqlparser.pdb - DESTINATION bin) -+ endif() - endif() - - IF (test) diff --git a/ports/graphqlparser/vcpkg.json b/ports/graphqlparser/vcpkg.json deleted file mode 100644 index 8531686ccd303c..00000000000000 --- a/ports/graphqlparser/vcpkg.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": "graphqlparser", - "version": "0.7.0", - "port-version": 4, - "description": "A GraphQL query parser in C++ with C and C++ APIs", - "dependencies": [ - { - "name": "vcpkg-cmake", - "host": true - }, - { - "name": "vcpkg-cmake-config", - "host": true - } - ] -} diff --git a/ports/graphqlparser/win-cmake.patch b/ports/graphqlparser/win-cmake.patch deleted file mode 100644 index bd2f4c7c1b05ce..00000000000000 --- a/ports/graphqlparser/win-cmake.patch +++ /dev/null @@ -1,100 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index c4c8b3e..3373d82 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -3,9 +3,26 @@ PROJECT(libgraphqlparser C CXX) - - SET(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake" "${CMAKE_MODULE_PATH}") - --INCLUDE(version) -+IF(UNIX) -+ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11") -+ SET(FLEX_COMPILE_FLAGS "--header-file=lexer.h") -+ELSEIF(WIN32) -+ # If we're building this with vcpkg on Windows, let portfile.cmake tell us where it -+ # stored these tools. Otherwise these variables should be empty and we'll fall back -+ # to the normal CMake FIND_PACKAGE logic for each of these programs. -+ SET(CMAKE_PROGRAM_PATH -+ "${VCPKG_DOWNLOADS_PYTHON2_DIR}" -+ "${VCPKG_DOWNLOADS_FLEX_DIR}" -+ "${VCPKG_DOWNLOADS_BISON_DIR}" -+ "${CMAKE_PROGRAM_PATH}") -+ -+ SET(FLEX_COMPILE_FLAGS "--header-file=lexer.h --wincompat") -+ -+ # Let CMake figure out the exports for the SHARED library (DLL) on Windows. -+ SET(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS TRUE) -+ENDIF() - --SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11") -+INCLUDE(version) - - FIND_PACKAGE(PythonInterp 2 REQUIRED) - IF (NOT PYTHON_VERSION_MAJOR EQUAL 2) -@@ -21,7 +38,7 @@ IF (BISON_FOUND) - ENDIF() - - IF(FLEX_FOUND) -- FLEX_TARGET(GraphQLScanner lexer.lpp ${CMAKE_CURRENT_SOURCE_DIR}/lexer.cpp COMPILE_FLAGS "--header-file=lexer.h") -+ FLEX_TARGET(GraphQLScanner lexer.lpp ${CMAKE_CURRENT_SOURCE_DIR}/lexer.cpp COMPILE_FLAGS ${FLEX_COMPILE_FLAGS}) - IF (BISON_FOUND) - ADD_FLEX_BISON_DEPENDENCY(GraphQLScanner graphqlparser) - ENDIF() -@@ -31,7 +48,7 @@ FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/c) - INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) - INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) - --ADD_LIBRARY(graphqlparser SHARED -+ADD_LIBRARY(graphqlparser - JsonVisitor.cpp - ${CMAKE_CURRENT_BINARY_DIR}/Ast.h - ${CMAKE_CURRENT_BINARY_DIR}/Ast.cpp -@@ -87,7 +104,9 @@ ADD_SUBDIRECTORY(python) - - OPTION(test "Build tests." OFF) - --INSTALL(DIRECTORY c ${CMAKE_CURRENT_BINARY_DIR}/c DESTINATION include/graphqlparser -+INSTALL(DIRECTORY c ${CMAKE_CURRENT_BINARY_DIR}/c -+ DESTINATION include/graphqlparser -+ CONFIGURATIONS Release - FILES_MATCHING PATTERN "*.h" - PATTERN "build" EXCLUDE) - -@@ -103,9 +122,13 @@ INSTALL(FILES - position.hh - stack.hh - syntaxdefs.h -- DESTINATION include/graphqlparser) -+ DESTINATION include/graphqlparser -+ CONFIGURATIONS Release) -+ - INSTALL(TARGETS graphqlparser -- LIBRARY DESTINATION lib) -+ ARCHIVE DESTINATION lib -+ LIBRARY DESTINATION lib -+ RUNTIME DESTINATION bin) - - if (UNIX) - # generate pkgconfig file -@@ -116,6 +139,11 @@ if (UNIX) - install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libgraphqlparser.pc" - DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig") - endif() -+elseif(WIN32) -+ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/graphqlparser.lib -+ DESTINATION lib) -+ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/graphqlparser.pdb -+ DESTINATION bin) - endif() - - IF (test) -@@ -126,6 +154,8 @@ IF (test) - ADD_CUSTOM_TARGET(memcheck - valgrind --leak-check=full --suppressions=./test/valgrind.supp --dsymutil=yes --error-exitcode=1 ./test/runTests >/dev/null - ) -+ else() -+ ADD_CUSTOM_TARGET(runTests -+ ./test/runTests >/dev/null) - endif() -- - ENDIF() diff --git a/ports/graphviz/disable-pragma-lib.patch b/ports/graphviz/disable-pragma-lib.patch index c30c532cad2204..b7dd0c1647e3ec 100644 --- a/ports/graphviz/disable-pragma-lib.patch +++ b/ports/graphviz/disable-pragma-lib.patch @@ -9,7 +9,7 @@ index 98a2a4a..e810c36 100644 +#elif 0 #pragma comment( lib, "cgraph.lib" ) #pragma comment( lib, "gvc.lib" ) - #pragma comment( lib, "ingraphs.lib" ) + #endif diff --git a/plugin/gdk/gvloadimage_gdk.c b/plugin/gdk/gvloadimage_gdk.c index 84c6a6a..0d3ec64 100644 --- a/plugin/gdk/gvloadimage_gdk.c diff --git a/ports/graphviz/fix-dependencies.patch b/ports/graphviz/fix-dependencies.patch index a08f785776f724..72ccafeee89d70 100644 --- a/ports/graphviz/fix-dependencies.patch +++ b/ports/graphviz/fix-dependencies.patch @@ -2,23 +2,23 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt index 12fd424..11371df 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -126,9 +126,13 @@ endif() - find_package(PANGOCAIRO) - find_package(PkgConfig) +@@ -185,12 +185,14 @@ find_package(PkgConfig) if(PkgConfig_FOUND) + pkg_check_modules(GDK gdk-2.0) + pkg_check_modules(GDK_PIXBUF gdk-pixbuf-2.0) +- pkg_check_modules(LASI lasi) - pkg_check_modules(POPPLER poppler-glib) -- pkg_check_modules(RSVG librsvg-2.0) -- pkg_check_modules(WEBP libwebp) -+ #pkg_check_modules(POPPLER poppler-glib IMPORTED_TARGET REQUIRED) -+ set(POPPLER_LIBRARIES PkgConfig::POPPLER) ++ set(LASI_FOUND 0) + set(POPPLER_FOUND 0) -+ pkg_check_modules(RSVG librsvg-2.0 IMPORTED_TARGET REQUIRED) -+ set(RSVG_LIBRARIES PkgConfig::RSVG) -+ pkg_check_modules(WEBP libwebp IMPORTED_TARGET REQUIRED) -+ set(WEBP_LIBRARIES PkgConfig::WEBP) + pkg_check_modules(RSVG librsvg-2.0) + pkg_check_modules(WEBP libwebp) ++ if(UNIX) + pkg_check_modules(X11 x11) + pkg_check_modules(XRENDER xrender) ++ endif() else() - set(POPPLER_FOUND 0) - set(RSVG_FOUND 0) + set(GDK_FOUND 0) + set(GDK_PIXBUF_FOUND 0) diff --git a/cmake/FindCAIRO.cmake b/cmake/FindCAIRO.cmake index 65bb42f..47949f6 100644 --- a/cmake/FindCAIRO.cmake @@ -118,37 +118,34 @@ diff --git a/cmd/dot/CMakeLists.txt b/cmd/dot/CMakeLists.txt index d2ea435..3b068b0 100644 --- a/cmd/dot/CMakeLists.txt +++ b/cmd/dot/CMakeLists.txt -@@ -73,22 +73,20 @@ endif() +@@ -146,7 +146,6 @@ endif() find_package(PkgConfig) if(PkgConfig_FOUND) - pkg_check_modules(GTS gts) if(GTS_FOUND) - target_include_directories(dot_builtins SYSTEM PRIVATE ${GTS_INCLUDE_DIRS}) - target_link_libraries(dot_builtins PRIVATE ${GTS_LINK_LIBRARIES}) - endif() - - pkg_check_modules(LASI lasi) -- if(LASI_FOUND) -+ if(TARGET gvplugin_lasi) - target_link_libraries(dot_builtins PRIVATE gvplugin_lasi) - endif() - endif() - - if(PANGOCAIRO_FOUND) - target_link_libraries(dot_builtins PRIVATE gvplugin_pango) -- if(PkgConfig_FOUND) -- pkg_check_modules(WEBP libwebp) -+ if(TARGET gvplugin_webp) - if(WEBP_FOUND) - target_link_libraries(dot_builtins PRIVATE gvplugin_webp) - endif() -@@ -96,7 +94,7 @@ if(PANGOCAIRO_FOUND) + target_include_directories(dot SYSTEM PRIVATE ${GTS_INCLUDE_DIRS}) + target_link_libraries(dot PRIVATE ${GTS_LINK_LIBRARIES}) +@@ -223,7 +222,7 @@ if(WEBP_FOUND) endif() find_library(SOCKET socket) -if(SOCKET) +if(0) - target_link_libraries(dot_builtins PRIVATE ${SOCKET}) + target_link_libraries(dot PRIVATE ${SOCKET}) endif() +diff --git a/lib/cdt/CMakeLists.txt b/lib/cdt/CMakeLists.txt +index 4057b57..bf1a913 100644 +--- a/lib/cdt/CMakeLists.txt ++++ b/lib/cdt/CMakeLists.txt +@@ -68,3 +68,9 @@ set_target_properties(cdt PROPERTIES + VERSION 5.0.0 + SOVERSION 5 + ) ++ ++set(THREADS_PREFER_PTHREAD_FLAG ON) ++find_package(Threads) ++if(TARGET Threads::Threads) ++ target_link_libraries(cdt Threads::Threads) ++endif() diff --git a/ports/graphviz/no-absolute-paths.patch b/ports/graphviz/no-absolute-paths.patch index e5a9b3e48886f8..2f18d47c5eceb0 100644 --- a/ports/graphviz/no-absolute-paths.patch +++ b/ports/graphviz/no-absolute-paths.patch @@ -6,5 +6,5 @@ index b437bde..04fe8e8 100644 -add_definitions(-DGVC_EXPORTS -DGVLIBDIR="${LIBRARY_INSTALL_DIR}/graphviz") +add_definitions(-DGVC_EXPORTS -DGVLIBDIR="") - add_library(gvc SHARED + add_library(gvc # Header files diff --git a/ports/graphviz/portfile.cmake b/ports/graphviz/portfile.cmake index d9962c243dcd7e..45a2dd7b716f22 100644 --- a/ports/graphviz/portfile.cmake +++ b/ports/graphviz/portfile.cmake @@ -6,7 +6,7 @@ vcpkg_from_gitlab( OUT_SOURCE_PATH SOURCE_PATH REPO graphviz/graphviz REF "${VERSION}" - SHA512 1edcf6aa232d38d1861a344c1a4a88aac51fd4656d667783ca1608ac694025199595a72a293c4eee2f7c7326ce54f22b787a5b7f4c44946f2de6096bd8f0e79d + SHA512 6b0cffaf4bde7df260894b1b9d74e8a1d5aec11736511a86d99bc369e3f8db99f7050ae917cf1a066cc7d87695a57ef5b9c19521d211fee48c8a0c41ad0f4aac HEAD_REF main PATCHES disable-pragma-lib.patch @@ -14,14 +14,9 @@ vcpkg_from_gitlab( no-absolute-paths.patch select-plugins.patch static-linkage.patch + webp-install.patch ) -if(VCPKG_TARGET_IS_OSX) - message("${PORT} currently requires the following libraries from the system package manager:\n libtool\n\nThey can be installed with brew install libtool") -elseif(VCPKG_TARGET_IS_LINUX) - message("${PORT} currently requires the following libraries from the system package manager:\n libtool\n\nThey can be install with `apt-get install libtool` on Ubuntu systems or `dnf install libtool-ltdl-devel` on Fedora systems") -endif() - vcpkg_list(SET OPTIONS) if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) vcpkg_download_distfile( @@ -60,6 +55,7 @@ vcpkg_cmake_configure( -Dwith_gvedit=OFF -Dwith_smyrna=OFF -DCMAKE_DISABLE_FIND_PACKAGE_ANN=ON + -DCMAKE_DISABLE_FIND_PACKAGE_DevIL=ON -DCMAKE_REQUIRE_FIND_PACKAGE_CAIRO=ON -DCMAKE_REQUIRE_FIND_PACKAGE_EXPAT=ON -DCMAKE_REQUIRE_FIND_PACKAGE_GD=ON @@ -72,6 +68,24 @@ vcpkg_cmake_configure( vcpkg_cmake_install(ADD_BIN_TO_PATH) vcpkg_fixup_pkgconfig() +if(VCPKG_TARGET_IS_WINDOWS) + file(GLOB headers "${CURRENT_PACKAGES_DIR}/include/graphviz/*.h") + foreach(file IN LISTS headers) + vcpkg_replace_string("${file}" "#ifdef GVDLL" "#if 1" IGNORE_UNCHANGED) + endforeach() + if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + # static libs built with dllexport must be used with dllexport + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/graphviz/cdt.h" "#ifdef EXPORT_CDT" "#if 1") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/graphviz/cgraph.h" "#ifdef EXPORT_CGRAPH" "#if 1") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/graphviz/gvc.h" "#ifdef GVC_EXPORTS" "#if 1") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/graphviz/gvplugin_loadimage.h" "#ifdef GVC_EXPORTS" "#if 1") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/graphviz/pack.h" "#ifdef GVC_EXPORTS" "#if 1") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/graphviz/pathgeom.h" "#ifdef PATHPLAN_EXPORTS" "#if 1") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/graphviz/pathplan.h" "#ifdef PATHPLAN_EXPORTS" "#if 1") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/graphviz/xdot.h" "#ifdef EXPORT_XDOT" "#if 1") + endif() +endif() + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share" @@ -95,7 +109,6 @@ vcpkg_copy_tools( diffimg dijkstra dot - dot_builtins edgepaint fdp gc diff --git a/ports/graphviz/select-plugins.patch b/ports/graphviz/select-plugins.patch index 4a78ef8947d6d4..eea774936b1839 100644 --- a/ports/graphviz/select-plugins.patch +++ b/ports/graphviz/select-plugins.patch @@ -1,16 +1,15 @@ diff --git a/plugin/CMakeLists.txt b/plugin/CMakeLists.txt -index 3956102..d14bf9c 100644 +index c8cac8e..d14bf9c 100644 --- a/plugin/CMakeLists.txt +++ b/plugin/CMakeLists.txt -@@ -1,16 +1,10 @@ +@@ -1,15 +1,11 @@ add_subdirectory(core) -add_subdirectory(devil) add_subdirectory(dot_layout) add_subdirectory(gd) add_subdirectory(gdiplus) --add_subdirectory(gdk) + add_subdirectory(gdk) -add_subdirectory(gs) --add_subdirectory(gtk) add_subdirectory(kitty) -add_subdirectory(lasi) add_subdirectory(neato_layout) diff --git a/ports/graphviz/static-linkage.patch b/ports/graphviz/static-linkage.patch index c815eff33a196d..7913275a00cade 100644 --- a/ports/graphviz/static-linkage.patch +++ b/ports/graphviz/static-linkage.patch @@ -1,52 +1,22 @@ -diff --git a/cmd/dot/CMakeLists.txt b/cmd/dot/CMakeLists.txt -index 3b068b0..4e3758f 100644 ---- a/cmd/dot/CMakeLists.txt -+++ b/cmd/dot/CMakeLists.txt -@@ -58,6 +58,7 @@ target_link_libraries(dot_builtins PRIVATE - gvplugin_core - gvplugin_dot_layout - gvplugin_neato_layout -+ ${GTS_LINK_LIBRARIES} - pathplan - xdot - ) -diff --git a/cmd/gvmap/CMakeLists.txt b/cmd/gvmap/CMakeLists.txt -index d5b0d42..9263b19 100644 ---- a/cmd/gvmap/CMakeLists.txt -+++ b/cmd/gvmap/CMakeLists.txt -@@ -26,6 +26,7 @@ if(with_sfdp) - gvc - ingraphs - neatogen -+ ${GTS_LINK_LIBRARIES} - rbtree - sfdpgen - sparse -@@ -92,6 +93,7 @@ if(with_sfdp) - gvc - ingraphs - neatogen -+ ${GTS_LINK_LIBRARIES} - rbtree - sfdpgen - sparse -diff --git a/cmd/tools/CMakeLists.txt b/cmd/tools/CMakeLists.txt -index 6928bf6..5a4c308 100644 ---- a/cmd/tools/CMakeLists.txt -+++ b/cmd/tools/CMakeLists.txt -@@ -320,6 +320,7 @@ target_link_libraries(gvpack - cgraph - gvc - gvplugin_neato_layout -+ ${GTS_LINK_LIBRARIES} - ingraphs - ) +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 14f2847..e56a970 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -30,6 +30,9 @@ if(WIN32) + # libraries, so the GVDLL symbol can be unconditionally set until + # such support is introduced. + add_definitions(-DGVDLL) ++ if(NOT BUILD_SHARED_LIBS) ++ add_definitions(-DEXPORT_CDT -DEXPORT_CGHDR -DEXPORT_CGRAPH -DGVC_EXPORTS -DPATHPLAN_EXPORTS -DEXPORT_XDOT) ++ endif() + option(install_win_dependency_dlls "Install 3rd party dependencies" ON) + endif() diff --git a/plugin/gd/gvrender_gd.c b/plugin/gd/gvrender_gd.c -index 0085107..8879003 100644 +index 76bbbf2..f877fa7 100644 --- a/plugin/gd/gvrender_gd.c +++ b/plugin/gd/gvrender_gd.c -@@ -240,7 +240,7 @@ static void gdgen_end_page(GVJ_t * job) +@@ -242,7 +242,7 @@ static void gdgen_end_page(GVJ_t * job) #else #define GD_IMPORT #endif diff --git a/ports/graphviz/vcpkg.json b/ports/graphviz/vcpkg.json index 292d248e75bd03..3ef8af4cabd2f2 100644 --- a/ports/graphviz/vcpkg.json +++ b/ports/graphviz/vcpkg.json @@ -1,6 +1,6 @@ { "name": "graphviz", - "version-semver": "9.0.0", + "version-semver": "10.0.1", "port-version": 2, "description": "Graph Visualization Tools", "homepage": "https://graphviz.org/", @@ -11,6 +11,8 @@ "name": "cairo", "default-features": false }, + "expat", + "gdk-pixbuf", "getopt", "gts", { diff --git a/ports/graphviz/webp-install.patch b/ports/graphviz/webp-install.patch new file mode 100644 index 00000000000000..4aa82dd5995510 --- /dev/null +++ b/ports/graphviz/webp-install.patch @@ -0,0 +1,13 @@ +diff --git a/plugin/webp/CMakeLists.txt b/plugin/webp/CMakeLists.txt +index 21913a8..4811930 100644 +--- a/plugin/webp/CMakeLists.txt ++++ b/plugin/webp/CMakeLists.txt +@@ -45,7 +45,7 @@ if(WEBP_FOUND) + install( + TARGETS gvplugin_webp + RUNTIME DESTINATION ${BINARY_INSTALL_DIR} +- LIBRARY DESTINATION ${LIBRARY_INSTALL_DIR} ++ LIBRARY DESTINATION ${PLUGIN_INSTALL_DIR} + ARCHIVE DESTINATION ${LIBRARY_INSTALL_DIR} + ) + diff --git a/ports/grpc/00001-fix-uwp.patch b/ports/grpc/00001-fix-uwp.patch index 2aea0afd765e2d..e33079b34c68a7 100644 --- a/ports/grpc/00001-fix-uwp.patch +++ b/ports/grpc/00001-fix-uwp.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 25990a5d8a..4bec4e1e72 100644 +index ec370e9..4f7d770 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -219,6 +219,9 @@ if(UNIX) +@@ -237,6 +237,9 @@ if(UNIX) endif() if(WIN32) set(_gRPC_PLATFORM_WINDOWS ON) @@ -11,8 +11,8 @@ index 25990a5d8a..4bec4e1e72 100644 + endif() endif() - # Use C11 standard -@@ -263,6 +266,9 @@ if(MSVC) + if (APPLE AND NOT DEFINED CMAKE_CXX_STANDARD) +@@ -267,6 +270,9 @@ if(MSVC) set(_gRPC_C_CXX_FLAGS "${_gRPC_C_CXX_FLAGS} /wd4267") # TODO(jtattermusch): needed to build boringssl with VS2017, revisit later set(_gRPC_C_CXX_FLAGS "${_gRPC_C_CXX_FLAGS} /wd4987 /wd4774 /wd4819 /wd4996 /wd4619") @@ -22,7 +22,7 @@ index 25990a5d8a..4bec4e1e72 100644 # Silences thousands of trucation warnings set(_gRPC_C_CXX_FLAGS "${_gRPC_C_CXX_FLAGS} /wd4503") # Tell MSVC to build grpc using utf-8 -@@ -430,6 +436,10 @@ file(MAKE_DIRECTORY ${_gRPC_PROTO_GENS_DIR}) +@@ -439,6 +445,10 @@ file(MAKE_DIRECTORY ${_gRPC_PROTO_GENS_DIR}) # ``.proto`` files # function(protobuf_generate_grpc_cpp) @@ -33,7 +33,7 @@ index 25990a5d8a..4bec4e1e72 100644 if(NOT ARGN) message(SEND_ERROR "Error: PROTOBUF_GENERATE_GRPC_CPP() called without any proto files") return() -@@ -552,6 +562,7 @@ if (gRPC_BUILD_GRPC_RUBY_PLUGIN) +@@ -561,6 +571,7 @@ if (gRPC_BUILD_GRPC_RUBY_PLUGIN) list(APPEND _gRPC_PLUGIN_LIST grpc_ruby_plugin) endif () @@ -41,7 +41,7 @@ index 25990a5d8a..4bec4e1e72 100644 add_custom_target(plugins DEPENDS ${_gRPC_PLUGIN_LIST} ) -@@ -567,6 +578,7 @@ add_custom_target(tools_cxx +@@ -575,6 +586,7 @@ add_custom_target(tools_cxx add_custom_target(tools DEPENDS tools_c tools_cxx) @@ -50,18 +50,18 @@ index 25990a5d8a..4bec4e1e72 100644 protobuf_generate_grpc_cpp_with_import_path_correction( src/proto/grpc/channelz/channelz.proto src/proto/grpc/channelz/channelz.proto diff --git a/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc b/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc -index 5d2bdc14de..e9870c2656 100644 +index b034cca..5dbdfe3 100644 --- a/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc +++ b/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc -@@ -39,6 +39,7 @@ bool check_bios_data(const char*) { return false; } +@@ -40,6 +40,7 @@ bool check_bios_data(const char*) { return false; } bool check_windows_registry_product_name(HKEY root_key, const char* reg_key_path, const char* reg_key_name) { -+#if !defined(WINAPI_FAMILY) || WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP ++ #if !defined(WINAPI_FAMILY) || WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP const size_t kProductNameBufferSize = 256; char const expected_substr[] = "Google"; -@@ -71,6 +72,9 @@ bool check_windows_registry_product_name(HKEY root_key, +@@ -72,6 +73,9 @@ bool check_windows_registry_product_name(HKEY root_key, } return strstr(buffer, expected_substr) != nullptr; diff --git a/ports/grpc/00003-undef-base64-macro.patch b/ports/grpc/00003-undef-base64-macro.patch deleted file mode 100644 index be182659d4107d..00000000000000 --- a/ports/grpc/00003-undef-base64-macro.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/core/lib/transport/transport.cc b/src/core/lib/transport/transport.cc -index 5d74ec2..89494b5 100644 ---- a/src/core/lib/transport/transport.cc -+++ b/src/core/lib/transport/transport.cc -@@ -77,6 +77,8 @@ void grpc_stream_ref_init(grpc_stream_refcount* refcount, int /*initial_refs*/, - : nullptr); - } - -+#undef move64 -+ - static void move64bits(uint64_t* from, uint64_t* to) { - *to += *from; - *from = 0; diff --git a/ports/grpc/00004-link-gdi32-on-windows.patch b/ports/grpc/00004-link-gdi32-on-windows.patch index 54b55c60b89d65..cb4ebad2a40cf9 100644 --- a/ports/grpc/00004-link-gdi32-on-windows.patch +++ b/ports/grpc/00004-link-gdi32-on-windows.patch @@ -1,13 +1,13 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 25990a5d8a..8a632d2289 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -404,7 +404,7 @@ if (NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/xds) - endif() - - if(WIN32) -- set(_gRPC_BASELIB_LIBRARIES ws2_32 crypt32) -+ set(_gRPC_BASELIB_LIBRARIES wsock32 ws2_32 crypt32 gdi32) - endif() - - # Create directory for proto source files +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2f633092ae..43fa8f6d97 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -481,7 +481,7 @@ if (NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/xds AND gRPC_DOWNLOAD_ARC + endif() + + if(WIN32) +- set(_gRPC_ALLTARGETS_LIBRARIES ${_gRPC_ALLTARGETS_LIBRARIES} ws2_32 crypt32) ++ set(_gRPC_ALLTARGETS_LIBRARIES ${_gRPC_ALLTARGETS_LIBRARIES} wsock32 ws2_32 crypt32 gdi32) + set(_gRPC_STATIC_WIN32 STATIC) + endif() + diff --git a/ports/grpc/00005-fix-uwp-error.patch b/ports/grpc/00005-fix-uwp-error.patch index 23f885d48e485e..2070760803b580 100644 --- a/ports/grpc/00005-fix-uwp-error.patch +++ b/ports/grpc/00005-fix-uwp-error.patch @@ -1,47 +1,47 @@ -diff --git a/src/core/ext/transport/chttp2/transport/hpack_parser.cc b/src/core/ext/transport/chttp2/transport/hpack_parser.cc -index b0d3a6465b..5c48f1aa30 100644 ---- a/src/core/ext/transport/chttp2/transport/hpack_parser.cc -+++ b/src/core/ext/transport/chttp2/transport/hpack_parser.cc -@@ -1037,7 +1037,7 @@ class HPackParser::Parser { - - private: - void GPR_ATTRIBUTE_NOINLINE LogHeader(const HPackTable::Memento& memento) { -- const char* type; -+ const char* type = nullptr; - switch (log_info_.type) { - case LogInfo::kHeaders: - type = "HDR"; -diff --git a/src/core/lib/slice/slice.cc b/src/core/lib/slice/slice.cc -index 898a62823c..6b31cdc082 100644 ---- a/src/core/lib/slice/slice.cc -+++ b/src/core/lib/slice/slice.cc -@@ -188,6 +188,7 @@ grpc_slice grpc_slice_from_moved_buffer(grpc_core::UniquePtr p, - size_t len) { - uint8_t* ptr = reinterpret_cast(p.get()); - grpc_slice slice; -+ memset(&slice, 0, sizeof(grpc_slice)); - if (len <= sizeof(slice.data.inlined.bytes)) { - slice.refcount = nullptr; - slice.data.inlined.length = len; -@@ -206,7 +207,7 @@ grpc_slice grpc_slice_from_moved_string(grpc_core::UniquePtr p) { - } - - grpc_slice grpc_slice_from_cpp_string(std::string str) { -- grpc_slice slice; -+ grpc_slice slice = { 0 }; - if (str.size() <= sizeof(slice.data.inlined.bytes)) { - slice.refcount = nullptr; - slice.data.inlined.length = str.size(); -diff --git a/src/core/lib/surface/server.cc b/src/core/lib/surface/server.cc -index 141b16e345..89d9d6dafd 100644 ---- a/src/core/lib/surface/server.cc -+++ b/src/core/lib/surface/server.cc -@@ -902,7 +902,7 @@ grpc_call_error Server::QueueRequestedCall(size_t cq_idx, RequestedCall* rc) { - FailCall(cq_idx, rc, GRPC_ERROR_CREATE("Server Shutdown")); - return GRPC_CALL_OK; - } -- RequestMatcherInterface* rm; -+ RequestMatcherInterface* rm = nullptr; - switch (rc->type) { - case RequestedCall::Type::BATCH_CALL: - rm = unregistered_request_matcher_.get(); +diff --git a/src/core/ext/transport/chttp2/transport/hpack_parser.cc b/src/core/ext/transport/chttp2/transport/hpack_parser.cc +index 84b4e86279..4921002887 100644 +--- a/src/core/ext/transport/chttp2/transport/hpack_parser.cc ++++ b/src/core/ext/transport/chttp2/transport/hpack_parser.cc +@@ -688,7 +688,7 @@ class HPackParser::Parser { + } + + void GPR_ATTRIBUTE_NOINLINE LogHeader(const HPackTable::Memento& memento) { +- const char* type; ++ const char* type = nullptr; + switch (log_info_.type) { + case LogInfo::kHeaders: + type = "HDR"; +diff --git a/src/core/lib/slice/slice.cc b/src/core/lib/slice/slice.cc +index f2d49e0bf4..c86a75f1a3 100644 +--- a/src/core/lib/slice/slice.cc ++++ b/src/core/lib/slice/slice.cc +@@ -189,6 +189,7 @@ grpc_slice grpc_slice_from_moved_buffer(grpc_core::UniquePtr p, + size_t len) { + uint8_t* ptr = reinterpret_cast(p.get()); + grpc_slice slice; ++ memset(&slice, 0, sizeof(grpc_slice)); + if (len <= sizeof(slice.data.inlined.bytes)) { + slice.refcount = nullptr; + slice.data.inlined.length = len; +@@ -207,7 +208,7 @@ grpc_slice grpc_slice_from_moved_string(grpc_core::UniquePtr p) { + } + + grpc_slice grpc_slice_from_cpp_string(std::string str) { +- grpc_slice slice; ++ grpc_slice slice = { 0 }; + if (str.size() <= sizeof(slice.data.inlined.bytes)) { + slice.refcount = nullptr; + slice.data.inlined.length = str.size(); +diff --git a/src/core/server/server.cc b/src/core/server/server.cc +index c4796d6ae9..6a0289d180 100644 +--- a/src/core/server/server.cc ++++ b/src/core/server/server.cc +@@ -1284,7 +1284,7 @@ grpc_call_error Server::QueueRequestedCall(size_t cq_idx, RequestedCall* rc) { + FailCall(cq_idx, rc, GRPC_ERROR_CREATE("Server Shutdown")); + return GRPC_CALL_OK; + } +- RequestMatcherInterface* rm; ++ RequestMatcherInterface* rm = nullptr; + switch (rc->type) { + case RequestedCall::Type::BATCH_CALL: + rm = unregistered_request_matcher_.get(); diff --git a/ports/grpc/00006-utf8-range.patch b/ports/grpc/00006-utf8-range.patch new file mode 100644 index 00000000000000..0ee1513a578b49 --- /dev/null +++ b/ports/grpc/00006-utf8-range.patch @@ -0,0 +1,110 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index fc4b6a40a5..3e657e7405 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -4447,7 +4447,7 @@ if(gRPC_INSTALL) + ) + endif() + +- ++if(0) + add_library(utf8_range_lib + third_party/utf8_range/utf8_range.c + ) +@@ -4497,6 +4497,7 @@ if(gRPC_INSTALL) + ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR} + ) + endif() ++endif() + + if(gRPC_BUILD_TESTS) + +@@ -40772,9 +40773,9 @@ generate_pkgconfig( + "high performance general RPC framework" + "${gRPC_CORE_VERSION}" + "absl_algorithm_container absl_any_invocable absl_base absl_bind_front absl_bits absl_check absl_cleanup absl_config absl_cord absl_core_headers absl_flags absl_flags_marshalling absl_flat_hash_map absl_flat_hash_set absl_function_ref absl_hash absl_inlined_vector absl_log absl_log_globals absl_log_severity absl_memory absl_no_destructor absl_optional absl_random_bit_gen_ref absl_random_distributions absl_random_random absl_span absl_status absl_statusor absl_str_format absl_strings absl_synchronization absl_time absl_type_traits absl_utility absl_variant gpr" +- "libcares openssl re2 zlib" ++ "libcares openssl re2 zlib utf8_range" + "-lgrpc" +- "-laddress_sorting -lupb_textformat_lib -lupb_json_lib -lupb_wire_lib -lupb_message_lib -lutf8_range_lib -lupb_mini_descriptor_lib -lupb_mem_lib -lupb_base_lib" ++ "-laddress_sorting -lupb_textformat_lib -lupb_json_lib -lupb_wire_lib -lupb_message_lib -lupb_mini_descriptor_lib -lupb_mem_lib -lupb_base_lib" + "grpc.pc") + + # grpc_unsecure .pc file +@@ -40783,9 +40784,9 @@ generate_pkgconfig( + "high performance general RPC framework without SSL" + "${gRPC_CORE_VERSION}" + "absl_algorithm_container absl_any_invocable absl_base absl_bind_front absl_bits absl_check absl_cleanup absl_config absl_cord absl_core_headers absl_flags absl_flags_marshalling absl_flat_hash_map absl_flat_hash_set absl_function_ref absl_hash absl_inlined_vector absl_log absl_log_globals absl_log_severity absl_memory absl_no_destructor absl_optional absl_random_bit_gen_ref absl_random_distributions absl_random_random absl_span absl_status absl_statusor absl_str_format absl_strings absl_synchronization absl_time absl_type_traits absl_utility absl_variant gpr" +- "libcares zlib" ++ "libcares zlib utf8_range" + "-lgrpc_unsecure" +- "-laddress_sorting -lupb_wire_lib -lupb_message_lib -lutf8_range_lib -lupb_mini_descriptor_lib -lupb_mem_lib -lupb_base_lib" ++ "-laddress_sorting -lupb_wire_lib -lupb_message_lib -lupb_mini_descriptor_lib -lupb_mem_lib -lupb_base_lib" + "grpc_unsecure.pc") + + # grpc++ .pc file +@@ -40794,9 +40795,9 @@ generate_pkgconfig( + "C++ wrapper for gRPC" + "${gRPC_CPP_VERSION}" + "absl_absl_check absl_absl_log absl_algorithm_container absl_any_invocable absl_base absl_bind_front absl_bits absl_check absl_cleanup absl_config absl_cord absl_core_headers absl_flags absl_flags_marshalling absl_flat_hash_map absl_flat_hash_set absl_function_ref absl_hash absl_inlined_vector absl_log absl_log_globals absl_log_severity absl_memory absl_no_destructor absl_optional absl_random_bit_gen_ref absl_random_distributions absl_random_random absl_span absl_status absl_statusor absl_str_format absl_strings absl_synchronization absl_time absl_type_traits absl_utility absl_variant gpr grpc" +- "libcares openssl re2 zlib" ++ "libcares openssl re2 zlib utf8_range" + "-lgrpc++" +- "-laddress_sorting -lupb_textformat_lib -lupb_json_lib -lupb_wire_lib -lupb_message_lib -lutf8_range_lib -lupb_mini_descriptor_lib -lupb_mem_lib -lupb_base_lib" ++ "-laddress_sorting -lupb_textformat_lib -lupb_json_lib -lupb_wire_lib -lupb_message_lib -lupb_mini_descriptor_lib -lupb_mem_lib -lupb_base_lib" + "grpc++.pc") + + # grpc++_unsecure .pc file +@@ -40805,18 +40806,20 @@ generate_pkgconfig( + "C++ wrapper for gRPC without SSL" + "${gRPC_CPP_VERSION}" + "absl_absl_check absl_absl_log absl_algorithm_container absl_any_invocable absl_base absl_bind_front absl_bits absl_check absl_cleanup absl_config absl_cord absl_core_headers absl_flags absl_flags_marshalling absl_flat_hash_map absl_flat_hash_set absl_function_ref absl_hash absl_inlined_vector absl_log absl_log_globals absl_log_severity absl_memory absl_no_destructor absl_optional absl_random_bit_gen_ref absl_random_distributions absl_random_random absl_span absl_status absl_statusor absl_str_format absl_strings absl_synchronization absl_time absl_type_traits absl_utility absl_variant gpr grpc_unsecure" +- "libcares zlib" ++ "libcares zlib utf8_range" + "-lgrpc++_unsecure" +- "-laddress_sorting -lupb_wire_lib -lupb_message_lib -lutf8_range_lib -lupb_mini_descriptor_lib -lupb_mem_lib -lupb_base_lib" ++ "-laddress_sorting -lupb_wire_lib -lupb_message_lib -lupb_mini_descriptor_lib -lupb_mem_lib -lupb_base_lib" + "grpc++_unsecure.pc") + ++if(gRPC_BUILD_GRPCPP_OTEL_PLUGIN) + # grpcpp_otel_plugin .pc file + generate_pkgconfig( + "gRPC++ OpenTelemetry Plugin" + "OpenTelemetry Plugin for gRPC C++" + "${gRPC_CPP_VERSION}" + "absl_absl_check absl_absl_log absl_algorithm_container absl_any_invocable absl_base absl_bind_front absl_bits absl_check absl_cleanup absl_config absl_cord absl_core_headers absl_flags absl_flags_marshalling absl_flat_hash_map absl_flat_hash_set absl_function_ref absl_hash absl_inlined_vector absl_log absl_log_globals absl_log_severity absl_memory absl_no_destructor absl_optional absl_random_bit_gen_ref absl_random_distributions absl_random_random absl_span absl_status absl_statusor absl_str_format absl_strings absl_synchronization absl_time absl_type_traits absl_utility absl_variant gpr grpc grpc++ opentelemetry_api" +- "libcares openssl re2 zlib" ++ "libcares openssl re2 zlib utf8_range" + "-lgrpcpp_otel_plugin" +- "-laddress_sorting -lupb_textformat_lib -lupb_json_lib -lupb_wire_lib -lupb_message_lib -lutf8_range_lib -lupb_mini_descriptor_lib -lupb_mem_lib -lupb_base_lib" ++ "-laddress_sorting -lupb_textformat_lib -lupb_json_lib -lupb_wire_lib -lupb_message_lib -lupb_mini_descriptor_lib -lupb_mem_lib -lupb_base_lib" + "grpcpp_otel_plugin.pc") ++endif() +diff --git a/cmake/gRPCConfig.cmake.in b/cmake/gRPCConfig.cmake.in +index d552e0bb4e..5751f503ba 100644 +--- a/cmake/gRPCConfig.cmake.in ++++ b/cmake/gRPCConfig.cmake.in +@@ -9,6 +9,7 @@ list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/modules) + @_gRPC_FIND_ABSL@ + @_gRPC_FIND_RE2@ + @_gRPC_FIND_OPENTELEMETRY@ ++@_gRPC_FIND_UTF8_RANGE@ + + # Targets + include(${CMAKE_CURRENT_LIST_DIR}/gRPCTargets.cmake) +diff --git a/cmake/upb.cmake b/cmake/upb.cmake +index 9156e5f48f..d3d9ee410e 100644 +--- a/cmake/upb.cmake ++++ b/cmake/upb.cmake +@@ -14,7 +14,9 @@ + + set(UPB_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/upb) + +-set(_gRPC_UPB_INCLUDE_DIR "${UPB_ROOT_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/third_party/utf8_range") ++set(_gRPC_UPB_INCLUDE_DIR "${UPB_ROOT_DIR}") + set(_gRPC_UPB_GRPC_GENERATED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src/core/ext/upb-gen" "${CMAKE_CURRENT_SOURCE_DIR}/src/core/ext/upbdefs-gen") + + set(_gRPC_UPB_LIBRARIES upb) ++set(_gRPC_FIND_UTF8_RANGE "find_dependency(utf8_range CONFIG)") ++add_library(utf8_range_lib ALIAS utf8_range::utf8_range) +\ No newline at end of file diff --git a/ports/grpc/00009-use-system-upb.patch b/ports/grpc/00009-use-system-upb.patch deleted file mode 100644 index 8bafe8452b2eb8..00000000000000 --- a/ports/grpc/00009-use-system-upb.patch +++ /dev/null @@ -1,91 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 23098aa578..a8e8bc274b 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -85,6 +85,9 @@ set_property(CACHE gRPC_SSL_PROVIDER PROPERTY STRINGS "module" "package") - set(gRPC_PROTOBUF_PROVIDER "module" CACHE STRING "Provider of protobuf library") - set_property(CACHE gRPC_PROTOBUF_PROVIDER PROPERTY STRINGS "module" "package") - -+set(gRPC_UPB_PROVIDER "module" CACHE STRING "Provider of upb library") -+set_property(CACHE gRPC_UPB_PROVIDER PROPERTY STRINGS "module" "package") -+ - set(gRPC_PROTOBUF_PACKAGE_TYPE "" CACHE STRING "Algorithm for searching protobuf package") - set_property(CACHE gRPC_PROTOBUF_PACKAGE_TYPE PROPERTY STRINGS "CONFIG" "MODULE") - -@@ -1631,6 +1634,7 @@ target_link_libraries(gpr - absl::time - absl::optional - absl::variant -+ ${_gRPC_UPB_LIBRARIES} - ) - if(_gRPC_PLATFORM_ANDROID) - target_link_libraries(gpr -@@ -2435,7 +2439,6 @@ target_link_libraries(grpc - gpr - ${_gRPC_SSL_LIBRARIES} - address_sorting -- upb - ) - if(_gRPC_PLATFORM_IOS OR _gRPC_PLATFORM_MAC) - target_link_libraries(grpc "-framework CoreFoundation") -@@ -2979,7 +2982,6 @@ target_link_libraries(grpc_unsecure - absl::utility - gpr - address_sorting -- upb - ) - if(_gRPC_PLATFORM_IOS OR _gRPC_PLATFORM_MAC) - target_link_libraries(grpc_unsecure "-framework CoreFoundation") -@@ -4251,6 +4253,7 @@ endif() - - endif() - -+if (gRPC_UPB_PROVIDER STREQUAL "module") - add_library(upb - third_party/upb/third_party/utf8_range/naive.c - third_party/upb/third_party/utf8_range/range2-neon.c -@@ -4319,7 +4322,7 @@ if(gRPC_INSTALL) - ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR} - ) - endif() -- -+endif() - - if(gRPC_BUILD_TESTS) - -diff --git a/cmake/gRPCConfig.cmake.in b/cmake/gRPCConfig.cmake.in -index 3623f4aa5e..df6ced560e 100644 ---- a/cmake/gRPCConfig.cmake.in -+++ b/cmake/gRPCConfig.cmake.in -@@ -8,6 +8,7 @@ list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/modules) - @_gRPC_FIND_CARES@ - @_gRPC_FIND_ABSL@ - @_gRPC_FIND_RE2@ -+@_gRPC_FIND_UPB@ - - # Targets - include(${CMAKE_CURRENT_LIST_DIR}/gRPCTargets.cmake) -diff --git a/cmake/upb.cmake b/cmake/upb.cmake -index f2a0e508c3..09751f5ef0 100644 ---- a/cmake/upb.cmake -+++ b/cmake/upb.cmake -@@ -12,9 +12,19 @@ - # See the License for the specific language governing permissions and - # limitations under the License. - -+set(_gRPC_UPB_GRPC_GENERATED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src/core/ext/upb-generated" "${CMAKE_CURRENT_SOURCE_DIR}/src/core/ext/upbdefs-generated") -+if (gRPC_UPB_PROVIDER STREQUAL "module") -+ - set(UPB_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/upb) - - set(_gRPC_UPB_INCLUDE_DIR "${UPB_ROOT_DIR}") - set(_gRPC_UPB_GRPC_GENERATED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src/core/ext/upb-generated" "${CMAKE_CURRENT_SOURCE_DIR}/src/core/ext/upbdefs-generated") - - set(_gRPC_UPB_LIBRARIES upb) -+ -+elseif(gRPC_UPB_PROVIDER STREQUAL "package") -+ find_package(upb CONFIG REQUIRED) -+ set(_gRPC_UPB_LIBRARIES upb::fastdecode upb::json upb::upb upb::utf8_range upb::textformat upb::reflection upb::descriptor_upb_proto) -+ set(_gRPC_UPB_INCLUDE_DIR) -+ set(_gRPC_FIND_UPB "if(NOT upb_FOUND)\n find_package(upb CONFIG REQUIRED)\nendif()") -+endif() diff --git a/ports/grpc/00012-fix-use-cxx17.patch b/ports/grpc/00012-fix-use-cxx17.patch deleted file mode 100644 index 56bc4367608e2c..00000000000000 --- a/ports/grpc/00012-fix-use-cxx17.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 25990a5d8a..ba8df92858 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -326,6 +326,11 @@ include(cmake/xxhash.cmake) - include(cmake/zlib.cmake) - include(cmake/download_archive.cmake) - -+if (ABSL_USE_CXX17) -+ message(STATUS "Found absl uses CXX17, enable CXX17 feature.") -+ set(CMAKE_CXX_STANDARD 17) -+endif() -+ - # Setup external proto library at third_party/envoy-api with 2 download URLs - if (NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/envoy-api) - # Download the archive via HTTP, validate the checksum, and extract to third_party/envoy-api. diff --git a/ports/grpc/00014-pkgconfig-upbdefs.patch b/ports/grpc/00014-pkgconfig-upbdefs.patch deleted file mode 100644 index 1c2bda5b1b942f..00000000000000 --- a/ports/grpc/00014-pkgconfig-upbdefs.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 48019cce95..1eda700ae8 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -23186,7 +23186,7 @@ generate_pkgconfig( - "high performance general RPC framework" - "${gRPC_CORE_VERSION}" - "gpr openssl absl_any_invocable absl_base absl_bind_front absl_cleanup absl_cord absl_core_headers absl_flat_hash_map absl_flat_hash_set absl_function_ref absl_hash absl_inlined_vector absl_memory absl_optional absl_random_random absl_span absl_status absl_statusor absl_str_format absl_strings absl_synchronization absl_time absl_type_traits absl_utility absl_variant" -- "-lgrpc -laddress_sorting -lre2 -lupb -lcares -lz" -+ "-lgrpc -laddress_sorting -lre2 -lupb_textformat -lupb_mini_table -lupb -lupb_collections -lupb_reflection -lupb_extension_registry -lupb_json -lupb_fastdecode -lupb_utf8_range -ldescriptor_upb_proto -lcares -lz" - "" - "grpc.pc") - diff --git a/ports/grpc/00015-disable-download-archive.patch b/ports/grpc/00015-disable-download-archive.patch index b28bc72a7c9103..675c2519dcf4a0 100644 --- a/ports/grpc/00015-disable-download-archive.patch +++ b/ports/grpc/00015-disable-download-archive.patch @@ -1,5 +1,5 @@ diff --git a/cmake/download_archive.cmake b/cmake/download_archive.cmake -index 820aafafb7..a59b785c7e 100644 +index 820aafa..a59b785 100644 --- a/cmake/download_archive.cmake +++ b/cmake/download_archive.cmake @@ -19,6 +19,7 @@ file(MAKE_DIRECTORY ${_download_archive_TEMPORARY_DIR}) diff --git a/ports/grpc/00016-fix-plugin-targets.patch b/ports/grpc/00016-fix-plugin-targets.patch new file mode 100644 index 00000000000000..ce7924ceb1e17b --- /dev/null +++ b/ports/grpc/00016-fix-plugin-targets.patch @@ -0,0 +1,12 @@ +diff --git a/cmake/gRPCConfig.cmake.in b/cmake/gRPCConfig.cmake.in +index 7cad2abca1..c287f3b413 100644 +--- a/cmake/gRPCConfig.cmake.in ++++ b/cmake/gRPCConfig.cmake.in +@@ -12,6 +12,6 @@ list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/modules) + + # Targets + include(${CMAKE_CURRENT_LIST_DIR}/gRPCTargets.cmake) +-if(NOT CMAKE_CROSSCOMPILING) ++if(@gRPC_BUILD_CODEGEN@) + include(${CMAKE_CURRENT_LIST_DIR}/gRPCPluginTargets.cmake) + endif() diff --git a/ports/grpc/00017-fix-NAN-on-Win11.patch b/ports/grpc/00017-fix-NAN-on-Win11.patch new file mode 100644 index 00000000000000..2501507369c346 --- /dev/null +++ b/ports/grpc/00017-fix-NAN-on-Win11.patch @@ -0,0 +1,17 @@ +diff --git a/third_party/upb/upb/message/internal/message.c b/third_party/upb/upb/message/internal/message.c +index 76f4e3fe5a..09aafb47d9 100644 +--- a/third_party/upb/upb/message/internal/message.c ++++ b/third_party/upb/upb/message/internal/message.c +@@ -17,9 +17,9 @@ + // Must be last. + #include "upb/port/def.inc" + +-const float kUpb_FltInfinity = INFINITY; +-const double kUpb_Infinity = INFINITY; +-const double kUpb_NaN = NAN; ++const float kUpb_FltInfinity = (float)(1.0 / 0.0); ++const double kUpb_Infinity = 1.0 / 0.0; ++const double kUpb_NaN = 0.0 / 0.0; + + bool UPB_PRIVATE(_upb_Message_Realloc)(struct upb_Message* msg, size_t need, + upb_Arena* a) { diff --git a/ports/grpc/00018-fix-windows-event-engine.patch b/ports/grpc/00018-fix-windows-event-engine.patch new file mode 100644 index 00000000000000..41e5ed9d0f1c80 --- /dev/null +++ b/ports/grpc/00018-fix-windows-event-engine.patch @@ -0,0 +1,13 @@ +diff --git a/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc b/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc +index 3bfd15537e..0d4dcd5579 100644 +--- a/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc ++++ b/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc +@@ -224,7 +224,7 @@ class GrpcPolledFdWindows : public GrpcPolledFd { + // c-ares overloads this recv_from virtual socket function to receive + // data on both UDP and TCP sockets, and from is nullptr for TCP. + if (from != nullptr) { +- CHECK(*from_len <= recv_from_source_addr_len_); ++ CHECK(*from_len >= recv_from_source_addr_len_); + memcpy(from, &recv_from_source_addr_, recv_from_source_addr_len_); + *from_len = recv_from_source_addr_len_; + } diff --git a/ports/grpc/00019-protobuf-generate-with-import-path-correction.patch b/ports/grpc/00019-protobuf-generate-with-import-path-correction.patch new file mode 100644 index 00000000000000..92b6d2e8a95dd1 --- /dev/null +++ b/ports/grpc/00019-protobuf-generate-with-import-path-correction.patch @@ -0,0 +1,14 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9f7102d3cc..646cd86dcd 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -580,6 +580,9 @@ function(protobuf_generate_grpc_cpp_with_import_path_correction FILE_LOCATION IM + message(SEND_ERROR "Error: PROTOBUF_GENERATE_GRPC_CPP() called without any proto files") + return() + endif() ++ if(NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${FILE_LOCATION}") ++ return() ++ endif() + + # Sets the include path for ProtoBuf files + set(_protobuf_include_path -I . -I ${_gRPC_PROTOBUF_WELLKNOWN_INCLUDE_DIR}) diff --git a/ports/grpc/portfile.cmake b/ports/grpc/portfile.cmake index 09c669e55ef857..897cd1ff57d2b7 100644 --- a/ports/grpc/portfile.cmake +++ b/ports/grpc/portfile.cmake @@ -5,23 +5,32 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO grpc/grpc - REF v1.51.1 - SHA512 1bc8e7a5a15b2dca88527d111cde398b0dc1921bbc945c6df8225b4225b8ac0b43155bcf743230ce7b5962d1ab948e9363229c98a879b1befc7a939a290fb888 + REF "v${VERSION}" + SHA512 8f595429afc86e8ef7e1ba7d8b9fb579e9e334f822a4a26ab2cbd0ab13bcb421afaab21febffd023fbd688cfa2b8be834f9047aa70e6561bc181ba6737892304 HEAD_REF master PATCHES 00001-fix-uwp.patch 00002-static-linking-in-linux.patch - 00003-undef-base64-macro.patch 00004-link-gdi32-on-windows.patch 00005-fix-uwp-error.patch - 00009-use-system-upb.patch - snprintf.patch - 00012-fix-use-cxx17.patch - 00014-pkgconfig-upbdefs.patch + 00006-utf8-range.patch 00015-disable-download-archive.patch + 00016-fix-plugin-targets.patch + 00017-fix-NAN-on-Win11.patch + 00018-fix-windows-event-engine.patch + 00019-protobuf-generate-with-import-path-correction.patch +) +# Ensure de-vendoring +file(REMOVE_RECURSE + "${SOURCE_PATH}/third_party/abseil-cpp" + "${SOURCE_PATH}/third_party/cares" + "${SOURCE_PATH}/third_party/protobuf" + "${SOURCE_PATH}/third_party/re2" + "${SOURCE_PATH}/third_party/utf8_range" + "${SOURCE_PATH}/third_party/zlib" ) -if(NOT TARGET_TRIPLET STREQUAL HOST_TRIPLET) +if(VCPKG_CROSSCOMPILING) vcpkg_add_to_path(PREPEND "${CURRENT_HOST_INSTALLED_DIR}/tools/grpc") endif() @@ -51,9 +60,7 @@ vcpkg_cmake_configure( -DgRPC_SSL_PROVIDER=package -DgRPC_PROTOBUF_PROVIDER=package -DgRPC_ABSL_PROVIDER=package - -DgRPC_UPB_PROVIDER=package -DgRPC_RE2_PROVIDER=package - -DgRPC_PROTOBUF_PACKAGE_TYPE=CONFIG -DgRPC_CARES_PROVIDER=${cares_CARES_PROVIDER} -DgRPC_BENCHMARK_PROVIDER=none -DgRPC_INSTALL_BINDIR:STRING=bin @@ -62,6 +69,8 @@ vcpkg_cmake_configure( -DgRPC_INSTALL_CMAKEDIR:STRING=share/grpc "-D_gRPC_PROTOBUF_PROTOC_EXECUTABLE=${CURRENT_HOST_INSTALLED_DIR}/tools/protobuf/protoc${VCPKG_HOST_EXECUTABLE_SUFFIX}" "-DProtobuf_PROTOC_EXECUTABLE=${CURRENT_HOST_INSTALLED_DIR}/tools/protobuf/protoc${VCPKG_HOST_EXECUTABLE_SUFFIX}" + -DgRPC_BUILD_GRPCPP_OTEL_PLUGIN=OFF + -DgRPC_DOWNLOAD_ARCHIVES=OFF MAYBE_UNUSED_VARIABLES gRPC_MSVC_STATIC_RUNTIME ) @@ -95,4 +104,4 @@ else() vcpkg_fixup_pkgconfig() endif() -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/grpc/snprintf.patch b/ports/grpc/snprintf.patch deleted file mode 100644 index b5012ad2dba8bf..00000000000000 --- a/ports/grpc/snprintf.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/src/core/tsi/alts/crypt/aes_gcm.cc b/src/core/tsi/alts/crypt/aes_gcm.cc -index b761224..88a3d6b 100644 ---- a/src/core/tsi/alts/crypt/aes_gcm.cc -+++ b/src/core/tsi/alts/crypt/aes_gcm.cc -@@ -19,6 +19,7 @@ - #include - - #include -+#include - - #include - #include diff --git a/ports/grpc/vcpkg.json b/ports/grpc/vcpkg.json index 35dd585098821d..e838be8bfc70e9 100644 --- a/ports/grpc/vcpkg.json +++ b/ports/grpc/vcpkg.json @@ -1,8 +1,7 @@ { "name": "grpc", - "version-semver": "1.51.1", - "port-version": 1, - "description": "An RPC library and framework", + "version-semver": "1.68.2", + "description": "gRPC is a modern, open source, high-performance remote procedure call (RPC) framework that can run anywhere. gRPC enables client and server applications to communicate transparently, and simplifies the building of connected systems.", "homepage": "https://github.com/grpc/grpc", "license": "Apache-2.0", "dependencies": [ @@ -25,7 +24,7 @@ "host": true }, "re2", - "upb", + "utf8-range", { "name": "vcpkg-cmake", "host": true @@ -37,9 +36,6 @@ "zlib" ], "features": { - "absl-sync": { - "description": "Deprecated." - }, "codegen": { "description": "Build code generator machinery", "supports": "!uwp" diff --git a/ports/gsasl/fix-windows-compilation.patch b/ports/gsasl/fix-windows-compilation.patch new file mode 100644 index 00000000000000..5ecd20f385cc34 --- /dev/null +++ b/ports/gsasl/fix-windows-compilation.patch @@ -0,0 +1,14 @@ +diff --git a/lib/src/gsasl.h b/lib/src/gsasl.h +index 1b5072c2..999555f6 100644 +--- a/lib/src/gsasl.h ++++ b/lib/src/gsasl.h +@@ -33,7 +33,9 @@ + + # include /* FILE */ + # include /* size_t */ ++#ifndef _WIN32 + # include /* ssize_t */ ++#endif + + /* Get version symbols. */ + # include diff --git a/ports/gsasl/portfile.cmake b/ports/gsasl/portfile.cmake new file mode 100644 index 00000000000000..9305a874eeb46c --- /dev/null +++ b/ports/gsasl/portfile.cmake @@ -0,0 +1,41 @@ +vcpkg_download_distfile(ARCHIVE + URLS + "https://ftp.gnu.org/gnu/gsasl/gsasl-${VERSION}.tar.gz" + "https://www.mirrorservice.org/sites/ftp.gnu.org/gnu/gsasl/gsasl-${VERSION}.tar.gz" + FILENAME "gsasl-${VERSION}.tar.gz" + SHA512 161b8a315862a79807ba067c5ae840175b0d8ec14806aceafc3f92d571713b94d1b8c1a5b188c47bf94a79b9a1f133065f96b087baa5e7f360ae7fb8336381ab +) + +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE ${ARCHIVE} + PATCHES + remove-tests-examples-docs.patch + fix-windows-compilation.patch +) + +if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "static") + set(CPPFLAGS_WINDOWS_STATIC "CPPFLAGS=\$CPPFLAGS -DGSASL_STATIC=1") +endif() + +set(ENV{AUTOPOINT} true) +set(ENV{GTKDOCIZE} true) +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + OPTIONS + ${CPPFLAGS_WINDOWS_STATIC} + --disable-nls + --disable-gssapi +) + +vcpkg_install_make() +vcpkg_fixup_pkgconfig() + +if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/gsasl.h" "defined GSASL_STATIC" "1") +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/gsasl/remove-tests-examples-docs.patch b/ports/gsasl/remove-tests-examples-docs.patch new file mode 100644 index 00000000000000..afda996a4ff687 --- /dev/null +++ b/ports/gsasl/remove-tests-examples-docs.patch @@ -0,0 +1,13 @@ +diff --git a/Makefile.am b/Makefile.am +index 04c2ece7..9b8fe573 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -19,7 +19,7 @@ AM_DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc --with-gssapi-impl=no + + ACLOCAL_AMFLAGS = -I m4 -I lib/m4 + +-SUBDIRS = lib po gl src examples tests doc ++SUBDIRS = lib po gl src + + EXTRA_DIST = cfg.mk maint.mk CONTRIBUTING.md + EXTRA_DIST += build-aux/git2cl diff --git a/ports/gsasl/vcpkg.json b/ports/gsasl/vcpkg.json new file mode 100644 index 00000000000000..d8186a7ad86a65 --- /dev/null +++ b/ports/gsasl/vcpkg.json @@ -0,0 +1,8 @@ +{ + "name": "gsasl", + "version": "2.2.1", + "description": "Simple Authentication and Security Layer framework and a few common SASL mechanisms", + "homepage": "https://www.gnu.org/software/gsasl/", + "license": "GPL-3.0-or-later", + "supports": "!uwp" +} diff --git a/ports/gsl-lite/portfile.cmake b/ports/gsl-lite/portfile.cmake index eb0355b61b80d9..86e0bba558fd9b 100644 --- a/ports/gsl-lite/portfile.cmake +++ b/ports/gsl-lite/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO gsl-lite/gsl-lite - REF 755ba124b54914e672737acace6a9314f59e8d6f - SHA512 d0b8397afc7704c5c9510fb62ce01f35faf9cc1cfd05ac3853bdc4b9fc4874aaa85aa70e93ff37867dc263b97926b15af2316e49a5787b246984fa086bf85563 + REF "v${VERSION}" + SHA512 4052c59e3e2c0abdd080e9f9745ee6e15b21339775f6281082233ac54056c1d6e6fc4dee9d9a9bb32160159c77b8ba53354f6b239d7e6e6aa5e4089d3c069c96 HEAD_REF master ) diff --git a/ports/gsl-lite/vcpkg.json b/ports/gsl-lite/vcpkg.json index b62ab3f8112d35..a3f4d31228a7df 100644 --- a/ports/gsl-lite/vcpkg.json +++ b/ports/gsl-lite/vcpkg.json @@ -1,6 +1,6 @@ { "name": "gsl-lite", - "version": "0.41.0", + "version": "0.42.0", "description": "A single-file header-only implementation of ISO C++ Guidelines Support Library (GSL) for C++98, C++11 and later.", "homepage": "https://github.com/gsl-lite/gsl-lite/", "dependencies": [ diff --git a/ports/gsl/0001-configure.patch b/ports/gsl/0001-configure.patch index 404ae879b57ae9..44ba02a56a53ef 100644 --- a/ports/gsl/0001-configure.patch +++ b/ports/gsl/0001-configure.patch @@ -5,61 +5,61 @@ index adab7a58d..f6dc2278e 100644 +++ b/config.h @@ -11,19 +11,19 @@ - /* Define to 1 if you have the declaration of `acosh', and to 0 if you don't. + /* Define to 1 if you have the declaration of 'acosh', and to 0 if you don't. */ -#undef HAVE_DECL_ACOSH +#define HAVE_DECL_ACOSH 1 - /* Define to 1 if you have the declaration of `asinh', and to 0 if you don't. + /* Define to 1 if you have the declaration of 'asinh', and to 0 if you don't. */ -#undef HAVE_DECL_ASINH +#define HAVE_DECL_ASINH 1 - /* Define to 1 if you have the declaration of `atanh', and to 0 if you don't. + /* Define to 1 if you have the declaration of 'atanh', and to 0 if you don't. */ -#undef HAVE_DECL_ATANH +#define HAVE_DECL_ATANH 1 - /* Define to 1 if you have the declaration of `expm1', and to 0 if you don't. + /* Define to 1 if you have the declaration of 'expm1', and to 0 if you don't. */ -#undef HAVE_DECL_EXPM1 +#define HAVE_DECL_EXPM1 1 - /* Define to 1 if you have the declaration of `feenableexcept', and to 0 if + /* Define to 1 if you have the declaration of 'feenableexcept', and to 0 if you don't. */ @@ -43,31 +43,31 @@ - /* Define to 1 if you have the declaration of `frexp', and to 0 if you don't. + /* Define to 1 if you have the declaration of 'frexp', and to 0 if you don't. */ -#undef HAVE_DECL_FREXP +#define HAVE_DECL_FREXP 1 - /* Define to 1 if you have the declaration of `hypot', and to 0 if you don't. + /* Define to 1 if you have the declaration of 'hypot', and to 0 if you don't. */ -#undef HAVE_DECL_HYPOT +#define HAVE_DECL_HYPOT 1 - /* Define to 1 if you have the declaration of `isfinite', and to 0 if you + /* Define to 1 if you have the declaration of 'isfinite', and to 0 if you don't. */ -#undef HAVE_DECL_ISFINITE +#define HAVE_DECL_ISFINITE 1 - /* Define to 1 if you have the declaration of `isinf', and to 0 if you don't. + /* Define to 1 if you have the declaration of 'isinf', and to 0 if you don't. */ -#undef HAVE_DECL_ISINF +#define HAVE_DECL_ISINF 1 - /* Define to 1 if you have the declaration of `isnan', and to 0 if you don't. + /* Define to 1 if you have the declaration of 'isnan', and to 0 if you don't. */ -#undef HAVE_DECL_ISNAN +#define HAVE_DECL_ISNAN 1 - /* Define to 1 if you have the declaration of `ldexp', and to 0 if you don't. + /* Define to 1 if you have the declaration of 'ldexp', and to 0 if you don't. */ -#undef HAVE_DECL_LDEXP +#define HAVE_DECL_LDEXP 1 - /* Define to 1 if you have the declaration of `log1p', and to 0 if you don't. + /* Define to 1 if you have the declaration of 'log1p', and to 0 if you don't. */ -#undef HAVE_DECL_LOG1P +#define HAVE_DECL_LOG1P 1 @@ -89,14 +89,14 @@ index adab7a58d..f6dc2278e 100644 -#undef HAVE_INTTYPES_H +#define HAVE_INTTYPES_H 1 - /* Define to 1 if you have the `m' library (-lm). */ + /* Define to 1 if you have the 'm' library (-lm). */ #undef HAVE_LIBM - /* Define to 1 if you have the `memcpy' function. */ + /* Define to 1 if you have the 'memcpy' function. */ -#undef HAVE_MEMCPY +#define HAVE_MEMCPY 1 - /* Define to 1 if you have the `memmove' function. */ + /* Define to 1 if you have the 'memmove' function. */ -#undef HAVE_MEMMOVE +#define HAVE_MEMMOVE 1 @@ -115,7 +115,7 @@ index adab7a58d..f6dc2278e 100644 -#undef HAVE_STDLIB_H +#define HAVE_STDLIB_H 1 - /* Define to 1 if you have the `strdup' function. */ + /* Define to 1 if you have the 'strdup' function. */ -#undef HAVE_STRDUP +#define HAVE_STRDUP 1 @@ -126,11 +126,11 @@ index adab7a58d..f6dc2278e 100644 -#undef HAVE_STRING_H +#define HAVE_STRING_H 1 - /* Define to 1 if you have the `strtol' function. */ + /* Define to 1 if you have the 'strtol' function. */ -#undef HAVE_STRTOL +#define HAVE_STRTOL 1 - /* Define to 1 if you have the `strtoul' function. */ + /* Define to 1 if you have the 'strtoul' function. */ -#undef HAVE_STRTOUL +#define HAVE_STRTOUL 1 @@ -139,14 +139,14 @@ index adab7a58d..f6dc2278e 100644 @@ -145,7 +145,7 @@ #undef HAVE_UNISTD_H - /* Define to 1 if you have the `vprintf' function. */ + /* Define to 1 if you have the 'vprintf' function. */ -#undef HAVE_VPRINTF +#define HAVE_VPRINTF 1 /* Define if you need to hide the static definitions of inline functions */ #undef HIDE_INLINE_STATIC @@ -180,7 +180,7 @@ - /* Define to 1 if all of the C90 standard headers exist (not just the ones + /* Define to 1 if all of the C89 standard headers exist (not just the ones required in a freestanding environment). This macro is provided for backward compatibility; new code need not use it. */ -#undef STDC_HEADERS diff --git a/ports/gsl/portfile.cmake b/ports/gsl/portfile.cmake index fe441823b62e67..86ae54f8821cec 100644 --- a/ports/gsl/portfile.cmake +++ b/ports/gsl/portfile.cmake @@ -1,9 +1,9 @@ -set(GSL_VERSION 2.7.1) +set(GSL_VERSION 2.8) vcpkg_download_distfile(ARCHIVE URLS "https://ftp.gnu.org/gnu/gsl/gsl-${GSL_VERSION}.tar.gz" "https://www.mirrorservice.org/sites/ftp.gnu.org/gnu/gsl/gsl-${GSL_VERSION}.tar.gz" FILENAME "gsl-${GSL_VERSION}.tar.gz" - SHA512 3300a748b63b583374701d5ae2a9db7349d0de51061a9f98e7c145b2f7de9710b3ad58b3318d0be2a9a287ace4cc5735bb9348cdf48075b98c1f6cc1029df131 + SHA512 4427f6ce59dc14eabd6d31ef1fcac1849b4d7357faf48873aef642464ddf21cc9b500d516f08b410f02a2daa9a6ff30220f3995584b0a6ae2f73c522d1abb66b ) vcpkg_extract_source_archive( diff --git a/ports/gsl/vcpkg.json b/ports/gsl/vcpkg.json index 1284ab30accf7a..921c690e152d4a 100644 --- a/ports/gsl/vcpkg.json +++ b/ports/gsl/vcpkg.json @@ -1,7 +1,6 @@ { "name": "gsl", - "version": "2.7.1", - "port-version": 3, + "version": "2.8", "description": "The GNU Scientific Library is a numerical library for C and C++ programmers", "homepage": "https://www.gnu.org/software/gsl/", "license": "GPL-3.0-or-later", diff --git a/ports/gstreamer/fix-clang-cl-bad.patch b/ports/gstreamer/fix-clang-cl-bad.patch index c3eeaf1e076c30..7c6db3c23fcda1 100644 --- a/ports/gstreamer/fix-clang-cl-bad.patch +++ b/ports/gstreamer/fix-clang-cl-bad.patch @@ -11,25 +11,11 @@ index c4868a4..6b34cb7 100644 # autotools didn't use the libdca pkg-config cflags, and they # can point to a non-existing location (/usr/include/dca) no_warn_c_args = ['-Wno-missing-include-dirs'] -diff --git a/subprojects/gst-plugins-bad/gst-libs/gst/d3d11/meson.build b/subprojects/gst-plugins-bad/gst-libs/gst/d3d11/meson.build -index 160080a..6acf110 100644 ---- a/subprojects/gst-plugins-bad/gst-libs/gst/d3d11/meson.build -+++ b/subprojects/gst-plugins-bad/gst-libs/gst/d3d11/meson.build -@@ -158,7 +158,7 @@ endif - - # MinGW 32bits compiler seems to be complaining about redundant-decls - # when ComPtr is in use. Let's just disable the warning --if cc.get_id() != 'msvc' -+if cc.get_argument_syntax() != 'msvc' - extra_args = cc.get_supported_arguments([ - '-Wno-redundant-decls', - ]) diff --git a/subprojects/gst-plugins-bad/meson.build b/subprojects/gst-plugins-bad/meson.build -index 84eeb17..1743f41 100644 +index 6707dce..b8c6018 100644 --- a/subprojects/gst-plugins-bad/meson.build +++ b/subprojects/gst-plugins-bad/meson.build @@ -54,7 +54,7 @@ endif - cdata = configuration_data() cdata.set('ENABLE_NLS', 1) @@ -52,10 +38,10 @@ index c61ad4e..b30793c 100644 error('asio plugin can only be built with MSVC') else diff --git a/subprojects/gst-plugins-bad/sys/d3d11/meson.build b/subprojects/gst-plugins-bad/sys/d3d11/meson.build -index 1368b79..8dd3b30 100644 +index ff557be..d5bf0db 100644 --- a/subprojects/gst-plugins-bad/sys/d3d11/meson.build +++ b/subprojects/gst-plugins-bad/sys/d3d11/meson.build -@@ -96,7 +96,7 @@ endif +@@ -118,7 +118,7 @@ endif # MinGW 32bits compiler seems to be complaining about redundant-decls # when ComPtr is in use. Let's just disable the warning @@ -64,19 +50,6 @@ index 1368b79..8dd3b30 100644 extra_mingw_args = cc.get_supported_arguments([ '-Wno-redundant-decls', ]) -diff --git a/subprojects/gst-plugins-bad/sys/decklink/meson.build b/subprojects/gst-plugins-bad/sys/decklink/meson.build -index d869e79a4..c7b37a7c6 100644 ---- a/subprojects/gst-plugins-bad/sys/decklink/meson.build -+++ b/subprojects/gst-plugins-bad/sys/decklink/meson.build -@@ -18,7 +18,7 @@ decklink_libs = [] - - if host_system == 'windows' - decklink_sources += ['win/DeckLinkAPIDispatch.cpp', 'win/DeckLinkAPI_i.c'] -- if cxx.get_id() == 'msvc' -+ if cxx.get_argument_syntax() == 'msvc' - # FIXME: Use commsuppwd.lib for debug builds? - comutil_dep = cxx.find_library('comsuppw', required : get_option('decklink')) - if comutil_dep.found() diff --git a/subprojects/gst-plugins-bad/sys/mediafoundation/meson.build b/subprojects/gst-plugins-bad/sys/mediafoundation/meson.build index 6b9a059..40713ce 100644 --- a/subprojects/gst-plugins-bad/sys/mediafoundation/meson.build @@ -91,10 +64,10 @@ index 6b9a059..40713ce 100644 error('mediafoundation plugin can only be built with MSVC') endif diff --git a/subprojects/gst-plugins-bad/sys/msdk/meson.build b/subprojects/gst-plugins-bad/sys/msdk/meson.build -index 659b96c..92e6bc4 100644 +index 51bf953..e30e138 100644 --- a/subprojects/gst-plugins-bad/sys/msdk/meson.build +++ b/subprojects/gst-plugins-bad/sys/msdk/meson.build -@@ -176,12 +176,12 @@ if use_onevpl and have_mfx_ver205 +@@ -175,12 +175,12 @@ if use_onevpl and have_mfx_ver205 endif if host_machine.system() == 'windows' @@ -108,4 +81,4 @@ index 659b96c..92e6bc4 100644 + msdk_deps_found = d3d11_dep.found() and legacy_stdio_dep.found() and cc.get_argument_syntax() == 'msvc' else libdl_dep = cc.find_library('dl', required: get_option('msdk')) - libgudev_dep = dependency('gudev-1.0', required: get_option('msdk')) + libgudev_dep = dependency('gudev-1.0', required: get_option('msdk'), allow_fallback: true) diff --git a/ports/gstreamer/fix-multiple-def.patch b/ports/gstreamer/fix-multiple-def.patch new file mode 100644 index 00000000000000..b8f8f2e408784f --- /dev/null +++ b/ports/gstreamer/fix-multiple-def.patch @@ -0,0 +1,35 @@ +diff --git a/subprojects/gst-plugins-bad/gst/siren/common.c b/subprojects/gst-plugins-bad/gst/siren/common.c +index 2e07748..70f58f6 100644 +--- a/subprojects/gst-plugins-bad/gst/siren/common.c ++++ b/subprojects/gst-plugins-bad/gst/siren/common.c +@@ -44,7 +44,7 @@ int max_bin[8] = { + 1 + }; + +-float step_size[8] = { ++float stp_size[8] = { + 0.3536f, + 0.5f, + 0.70709997f, +@@ -87,7 +87,7 @@ siren_init (void) + (float) pow (10, (i - 24 + 0.5) * STEPSIZE); + + for (i = 0; i < 8; i++) +- step_size_inverse[i] = (float) 1.0 / step_size[i]; ++ step_size_inverse[i] = (float) 1.0 / stp_size[i]; + + siren_dct4_init (); + siren_rmlt_init (); +diff --git a/subprojects/gst-plugins-bad/gst/siren/common.h b/subprojects/gst-plugins-bad/gst/siren/common.h +index e09e533..123b888 100644 +--- a/subprojects/gst-plugins-bad/gst/siren/common.h ++++ b/subprojects/gst-plugins-bad/gst/siren/common.h +@@ -95,7 +95,7 @@ extern int vector_dimension[8]; + extern int number_of_vectors[8]; + extern float dead_zone[8]; + extern int max_bin[8]; +-extern float step_size[8]; ++extern float stp_size[8]; + extern float step_size_inverse[8]; + + diff --git a/ports/gstreamer/gstreamer-disable-no-unused.patch b/ports/gstreamer/gstreamer-disable-no-unused.patch index 971d80295946e3..b2f2306c69beaa 100644 --- a/ports/gstreamer/gstreamer-disable-no-unused.patch +++ b/ports/gstreamer/gstreamer-disable-no-unused.patch @@ -1,14 +1,13 @@ diff --git a/subprojects/gstreamer/meson.build b/subprojects/gstreamer/meson.build -index bed8c4e..772809e 100644 +index 3b2cbba..18dd8d0 100644 --- a/subprojects/gstreamer/meson.build +++ b/subprojects/gstreamer/meson.build -@@ -435,8 +435,8 @@ if cc.has_header('execinfo.h') - endif +@@ -493,7 +493,7 @@ if cc.has_header('execinfo.h') endif gst_debug = get_option('gst_debug') -if not gst_debug +if not gst_debug and cc.has_argument('-Wno-unused') - add_project_arguments(['-Wno-unused'], language: 'c') - endif - + if cc.get_argument_syntax() == 'msvc' + msvc_args = cc.get_supported_arguments([ + '/wd4101', # 'identifier' : unreferenced local variable diff --git a/ports/gstreamer/no-downloads.patch b/ports/gstreamer/no-downloads.patch new file mode 100644 index 00000000000000..40be367fd27782 --- /dev/null +++ b/ports/gstreamer/no-downloads.patch @@ -0,0 +1,26 @@ +diff --git a/meson.build b/meson.build +index 3815aa3..6aeeab4 100644 +--- a/meson.build ++++ b/meson.build +@@ -125,20 +125,7 @@ subprojects = [ + ] + + if get_option('build-tools-source') == 'subproject' +- if build_system == 'windows' +- subproject('win-flex-bison-binaries') +- subproject('win-nasm') +- subproject('win-pkgconfig') +- elif build_system == 'darwin' +- subproject('macos-bison-binary') +- # Newer macOS provides /usr/lib/pkgconfig/libpcre2-8.pc which is broken +- # because it says headers are in /usr/include but that directory doesn't +- # exist. It can only be used to find the library, which only exists on +- # newer macOS at /usr/lib/libpcre2-8.dylib, so it's also unusable. +- # +- # jit support requires macOS 11.0 or newer, so disable it by default +- subproject('pcre2', default_options: ['default_library=static', 'jit=disabled']) +- endif ++ + endif + + orc_option = get_option('orc') diff --git a/ports/gstreamer/plugin-base-disable-no-unused.patch b/ports/gstreamer/plugin-base-disable-no-unused.patch index f8c249d9618f4f..917a35263e6a50 100644 --- a/ports/gstreamer/plugin-base-disable-no-unused.patch +++ b/ports/gstreamer/plugin-base-disable-no-unused.patch @@ -1,26 +1,21 @@ diff --git a/subprojects/gst-plugins-base/meson.build b/subprojects/gst-plugins-base/meson.build -index 9b00253..495671e 100644 +index 2c09e7b..e51f5a8 100644 --- a/subprojects/gst-plugins-base/meson.build +++ b/subprojects/gst-plugins-base/meson.build -@@ -388,10 +388,11 @@ int32x4_t testfunc(int16_t *a, int16_t *b) { - endif +@@ -412,6 +412,7 @@ int32x4_t testfunc(int16_t *a, int16_t *b) { endif + # Disable compiler warnings for unused variables and args if gst debug system is disabled +build_system = build_machine.system() if gst_dep.type_name() == 'internal' - gst_proj = subproject('gstreamer') + gst_proj = subproject('gstreamer') + gst_debug_disabled = not gst_proj.get_variable('gst_debug') +@@ -421,7 +422,7 @@ else + gst_debug_disabled = cc.has_header_symbol('gst/gstconfig.h', 'GST_DISABLE_GST_DEBUG', dependencies: gst_dep) + endif -- if not gst_proj.get_variable('gst_debug') -+ if not gst_proj.get_variable('gst_debug') and build_system != 'windows' - message('GStreamer debug system is disabled') - add_project_arguments('-Wno-unused', language: 'c') - else -@@ -404,7 +405,7 @@ else - #include - #ifdef GST_DISABLE_GST_DEBUG - #error "debugging disabled, make compiler fail" --#endif''' , dependencies: gst_dep) -+#endif''' , dependencies: gst_dep) and build_system != 'windows' - message('GStreamer debug system is disabled') - add_project_arguments('-Wno-unused', language: 'c') - else +-if gst_debug_disabled ++if gst_debug_disabled and build_system != 'windows' + message('GStreamer debug system is disabled') + if cc.get_argument_syntax() == 'msvc' + msvc_args = cc.get_supported_arguments([ diff --git a/ports/gstreamer/portfile.cmake b/ports/gstreamer/portfile.cmake index 099427ba6a2606..1f4a3b5ac5d7d9 100644 --- a/ports/gstreamer/portfile.cmake +++ b/ports/gstreamer/portfile.cmake @@ -9,7 +9,7 @@ vcpkg_from_gitlab( OUT_SOURCE_PATH SOURCE_PATH REPO gstreamer/gstreamer REF "${VERSION}" - SHA512 0d69896d0a83452320df0d0f56c710df1365a259cd3f48dc7cd4df18d45b27caea7174aafa15ae5eb8637ccdef192c1047185b369b7232db4eaacbc57ffaaa22 + SHA512 c181c8048ef859dfdd17d2bf1487d078704fdd289fed4e13fc00aebca055965c186286e60f3703c69d816734ef4be344b32650058d72517576927f9df18db2df HEAD_REF main PATCHES fix-clang-cl.patch @@ -21,8 +21,9 @@ vcpkg_from_gitlab( gstreamer-disable-no-unused.patch srtp_fix.patch fix-bz2-windows-debug-dependency.patch - base-must-be-enabled.patch + no-downloads.patch ${PATCHES} + fix-multiple-def.patch ) vcpkg_find_acquire_program(FLEX) @@ -80,6 +81,7 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS plugins-bad bad aes gst-plugins-bad:aes + aom gst-plugins-bad:aom assrender gst-plugins-bad:assrender bzip2-bad gst-plugins-bad:bz2 chromaprint gst-plugins-bad:chromaprint @@ -154,7 +156,6 @@ vcpkg_configure_meson( -Dlibnice=disabled -Ddevtools=disabled -Drtsp_server=disabled - -Domx=disabled -Dvaapi=disabled -Dsharp=disabled -Drs=disabled @@ -177,6 +178,7 @@ vcpkg_configure_meson( -Dgstreamer:coretracers=disabled -Dgstreamer:benchmarks=disabled -Dgstreamer:gst_debug=true + -Dgstreamer:ptp-helper=disabled # needs rustc toolchain setup # gst-plugins-base -Dgst-plugins-base:gl_winsys=${PLUGIN_BASE_WINDOW_SYSTEM} -Dgst-plugins-base:gl_platform=${PLUGIN_BASE_GL_PLATFORM} @@ -201,20 +203,17 @@ vcpkg_configure_meson( -Dgst-plugins-good:pulse=auto -Dgst-plugins-good:qt5=disabled -Dgst-plugins-good:shout2=disabled - -Dgst-plugins-good:soup=disabled + #-Dgst-plugins-good:soup=disabled -Dgst-plugins-good:twolame=disabled -Dgst-plugins-good:waveform=auto -Dgst-plugins-good:wavpack=disabled # Error during plugin build # gst-plugins-ugly -Dgst-plugins-ugly:a52dec=disabled - -Dgst-plugins-ugly:amrnb=disabled - -Dgst-plugins-ugly:amrwbdec=disabled -Dgst-plugins-ugly:cdio=disabled -Dgst-plugins-ugly:dvdread=disabled -Dgst-plugins-ugly:mpeg2dec=disabled # libmpeg2 not found -Dgst-plugins-ugly:sidplay=disabled # gst-plugins-bad - -Dgst-plugins-bad:aom=disabled # Error during plugin build -Dgst-plugins-bad:avtp=disabled -Dgst-plugins-bad:androidmedia=auto -Dgst-plugins-bad:applemedia=auto @@ -239,7 +238,6 @@ vcpkg_configure_meson( -Dgst-plugins-bad:gsm=disabled -Dgst-plugins-bad:ipcpipeline=auto -Dgst-plugins-bad:iqa=disabled - -Dgst-plugins-bad:kate=disabled -Dgst-plugins-bad:kms=disabled -Dgst-plugins-bad:ladspa=disabled -Dgst-plugins-bad:ldac=disabled @@ -305,7 +303,7 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/KHR" "${CURRENT_PACKAGES_DIR}/include/GL" ) -if(NOT VCPKG_TARGET_IS_LINUX AND "plugins-base" IN_LIST FEATURES) +if("plugins-base" IN_LIST FEATURES) file(RENAME "${CURRENT_PACKAGES_DIR}/lib/gstreamer-1.0/include/gst/gl/gstglconfig.h" "${CURRENT_PACKAGES_DIR}/include/gstreamer-1.0/gst/gl/gstglconfig.h" ) @@ -414,6 +412,13 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") endif() endif() +if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/gstreamer-gl-1.0.pc") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/gstreamer-gl-1.0.pc" [[${libinc}]] "") +endif() +if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/gstreamer-gl-1.0.pc") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/gstreamer-gl-1.0.pc" [[${libinc}]] "") +endif() + vcpkg_fixup_pkgconfig() vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/gstreamer/srtp_fix.patch b/ports/gstreamer/srtp_fix.patch index ed4601d458a951..21bc9b3056a2f6 100644 --- a/ports/gstreamer/srtp_fix.patch +++ b/ports/gstreamer/srtp_fix.patch @@ -1,25 +1,26 @@ diff --git a/subprojects/gst-plugins-bad/ext/srtp/meson.build b/subprojects/gst-plugins-bad/ext/srtp/meson.build -index 49eed5b..db5aed0 100644 +index d15d58c..0a3b1a2 100644 --- a/subprojects/gst-plugins-bad/ext/srtp/meson.build +++ b/subprojects/gst-plugins-bad/ext/srtp/meson.build -@@ -6,13 +6,15 @@ srtp_sources = [ +@@ -6,6 +6,8 @@ srtp_sources = [ 'gstsrtpenc.c', ] +gst_plugins_install_dir = join_paths(get_option('libdir'), 'gstreamer-1.0') + srtp_cargs = [] - if get_option('srtp').disabled() - srtp_dep = dependency('', required : false) + srtp_option = get_option('srtp').enable_if(get_option('webrtc').enabled(), error_message: 'webrtc option is enabled') + if srtp_option.disabled() +@@ -13,7 +15,7 @@ if srtp_option.disabled() subdir_done() endif --srtp_dep = dependency('libsrtp2', version : '>= 2.1.0', required : false) +-srtp_dep = dependency('libsrtp2', version : '>= 2.1.0', required : false, allow_fallback: true) +srtp_dep = dependency('libSRTP', modules: ['libSRTP::srtp2'], version : '>= 2.1.0', required : false) if srtp_dep.found() srtp_cargs += ['-DHAVE_SRTP2'] else -@@ -38,7 +40,7 @@ if srtp_dep.found() +@@ -39,7 +41,7 @@ if srtp_dep.found() include_directories : [configinc], dependencies : [gstrtp_dep, gstvideo_dep, srtp_dep], install : true, diff --git a/ports/gstreamer/vcpkg.json b/ports/gstreamer/vcpkg.json index 4eeaa88aee41ec..ae9bee7f2ff765 100644 --- a/ports/gstreamer/vcpkg.json +++ b/ports/gstreamer/vcpkg.json @@ -1,7 +1,7 @@ { "name": "gstreamer", - "version": "1.22.5", - "port-version": 4, + "version": "1.24.7", + "port-version": 3, "description": "GStreamer open-source multimedia framework core library", "homepage": "https://gstreamer.freedesktop.org/", "license": "LGPL-2.0-only", @@ -55,6 +55,20 @@ } ] }, + "aom": { + "description": "Enable support for the Alliance for Open Media (AOM) AV1 encoder and decoder", + "supports": "!windows", + "dependencies": [ + "aom", + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-bad" + ] + } + ] + }, "asio": { "description": "Enable support for the Steinberg Audio Streaming Input Output (ASIO) library (Windows only)", "dependencies": [ @@ -404,7 +418,6 @@ "nls": { "description": "National language support", "dependencies": [ - "gettext", { "name": "gettext", "host": true, @@ -413,6 +426,7 @@ "tools" ] }, + "gettext-libintl", { "name": "gstreamer", "default-features": false, @@ -424,7 +438,7 @@ }, "nvcodec": { "description": "Enable support for the NVCODEC encoders and decoders", - "supports": "!uwp", + "supports": "!osx & !ios & !android & !emscripten", "dependencies": [ { "name": "gstreamer", @@ -634,6 +648,19 @@ "soundtouch" ] }, + "soup": { + "description": "Enable support for the soup plugin", + "dependencies": [ + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-good" + ] + }, + "libsoup" + ] + }, "speex": { "description": "Enable support for the speex codec", "dependencies": [ diff --git a/ports/gtest/fix-main-lib-path.patch b/ports/gtest/fix-main-lib-path.patch index 2a7be9dce6fa6a..2cfd2c44f3c226 100644 --- a/ports/gtest/fix-main-lib-path.patch +++ b/ports/gtest/fix-main-lib-path.patch @@ -1,36 +1,40 @@ diff --git a/googlemock/CMakeLists.txt b/googlemock/CMakeLists.txt -index e7df8ec..1ecd596 100644 +index 99b2411f..74610b12 100644 --- a/googlemock/CMakeLists.txt +++ b/googlemock/CMakeLists.txt -@@ -112,7 +112,8 @@ endif() +@@ -112,8 +112,9 @@ target_include_directories(gmock_main SYSTEM INTERFACE + ######################################################################## # - # Install rules +-# Install rules. -install_project(gmock gmock_main) ++# Install rules +install_project(gmock) +install_project(gmock_main) ######################################################################## # diff --git a/googletest/CMakeLists.txt b/googletest/CMakeLists.txt -index abdd98b..7d1c01d 100644 +index dce6a7c9..d8faf644 100644 --- a/googletest/CMakeLists.txt +++ b/googletest/CMakeLists.txt -@@ -155,7 +155,8 @@ target_link_libraries(gtest_main PUBLIC gtest) +@@ -154,8 +154,9 @@ target_link_libraries(gtest_main PUBLIC gtest) + ######################################################################## # - # Install rules +-# Install rules. -install_project(gtest gtest_main) ++# Install rules +install_project(gtest) +install_project(gtest_main) ######################################################################## # diff --git a/googletest/cmake/internal_utils.cmake b/googletest/cmake/internal_utils.cmake -index 8d8d60a..b08ce28 100644 +index 580ac1cb..78a5b659 100644 --- a/googletest/cmake/internal_utils.cmake +++ b/googletest/cmake/internal_utils.cmake -@@ -300,12 +300,16 @@ function(install_project) +@@ -302,12 +302,16 @@ function(install_project) COMPONENT "${PROJECT_NAME}" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") # Install the project targets. @@ -47,9 +51,9 @@ index 8d8d60a..b08ce28 100644 + ARCHIVE DESTINATION "${LIB_INSTALL_DST}" + LIBRARY DESTINATION "${LIB_INSTALL_DST}") if(CMAKE_CXX_COMPILER_ID MATCHES "MSVC") - # Install PDBs + # Install PDBs. foreach(t ${ARGN}) -@@ -315,7 +319,7 @@ function(install_project) +@@ -317,7 +321,7 @@ function(install_project) install(FILES "${t_pdb_output_directory}/\${CMAKE_INSTALL_CONFIG_NAME}/$<$:${t_pdb_name_debug}>$<$>:${t_pdb_name}>.pdb" COMPONENT "${PROJECT_NAME}" diff --git a/ports/gtest/portfile.cmake b/ports/gtest/portfile.cmake index 6b20051e69480b..3f24686c187b4a 100644 --- a/ports/gtest/portfile.cmake +++ b/ports/gtest/portfile.cmake @@ -6,7 +6,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/googletest REF "v${VERSION}" - SHA512 765c326ccc1b87a01027385e69238266e356361cd4ee3e18e3c9d137a5d11fa5d657c164d02dd1be8fe693c8e10f2b580588dbfa57d27f070e2750f50d3e662c + SHA512 9046841044a2bf7edfd96854ad9c44ffae4fcb9fb59a075b367507c0762a98eb32cb6968d46663228272e26321e96f4dd287c95baa22c6af9bad902b8b6ede4e HEAD_REF main PATCHES 001-fix-UWP-death-test.patch diff --git a/ports/gtest/vcpkg.json b/ports/gtest/vcpkg.json index 406a2dff5aff44..ffe40cfc54dbd6 100644 --- a/ports/gtest/vcpkg.json +++ b/ports/gtest/vcpkg.json @@ -1,7 +1,7 @@ { "name": "gtest", - "version-semver": "1.14.0", - "description": "GoogleTest and GoogleMock testing frameworks", + "version-semver": "1.15.2", + "description": "Google Testing and Mocking Framework", "homepage": "https://github.com/google/googletest", "license": "BSD-3-Clause", "dependencies": [ diff --git a/ports/gtk/fix_vulkan_enabled.patch b/ports/gtk/fix_vulkan_enabled.patch new file mode 100644 index 00000000000000..c62095917036d3 --- /dev/null +++ b/ports/gtk/fix_vulkan_enabled.patch @@ -0,0 +1,12 @@ +diff --git a/meson.build b/meson.build +index 5ade7c2..9f48161 100644 +--- a/meson.build ++++ b/meson.build +@@ -123,7 +123,6 @@ os_unix = not os_win32 + + if os_darwin + wayland_enabled = false +- vulkan_enabled = false + else + macos_enabled = false + endif diff --git a/ports/gtk/portfile.cmake b/ports/gtk/portfile.cmake index 9b1f9c9666c8fe..ab1d5b4b2f7ea2 100644 --- a/ports/gtk/portfile.cmake +++ b/ports/gtk/portfile.cmake @@ -1,12 +1,16 @@ +# It installs only shared libs, regardless build type. +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) + vcpkg_from_gitlab( GITLAB_URL https://gitlab.gnome.org/ OUT_SOURCE_PATH SOURCE_PATH REPO GNOME/gtk REF ${VERSION} - SHA512 f219ddc6f46061f516f99a3845f344269d51d7fc2554773f7d4cee7833c5be26ce809262466d18c2804559834eb595f0d802b6fc80d77b7e8bf046e4c1293d64 + SHA512 2e2d3135ebf8cb176a4e5e6f1faa26ae9ea5c3e2441e2c820372a76b78e641f207257600d6a207aa05883e04f29fac1452673bffa0395789b8e482cc6b204673 HEAD_REF master # branch name PATCHES 0001-build.patch + fix_vulkan_enabled.patch ) vcpkg_find_acquire_program(PKGCONFIG) @@ -49,13 +53,12 @@ vcpkg_configure_meson( SOURCE_PATH ${SOURCE_PATH} OPTIONS ${OPTIONS} - -Ddemos=false + -Dbuild-demos=false -Dbuild-testsuite=false -Dbuild-examples=false -Dbuild-tests=false - -Dgtk_doc=false + -Ddocumentation=false -Dman-pages=false - -Dmedia-ffmpeg=disabled # Build the ffmpeg media backend -Dmedia-gstreamer=disabled # Build the gstreamer media backend -Dprint-cups=disabled # Build the cups print backend -Dvulkan=disabled # Enable support for the Vulkan graphics API @@ -89,8 +92,11 @@ vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") set(TOOL_NAMES gtk4-builder-tool gtk4-encode-symbolic-svg + gtk4-path-tool gtk4-query-settings - gtk4-update-icon-cache) + gtk4-rendernode-tool + gtk4-update-icon-cache + gtk4-image-tool) if(VCPKG_TARGET_IS_LINUX) list(APPEND TOOL_NAMES gtk4-launch) endif() diff --git a/ports/gtk/vcpkg.json b/ports/gtk/vcpkg.json index b12107437c3db1..1a483173e4cbcd 100644 --- a/ports/gtk/vcpkg.json +++ b/ports/gtk/vcpkg.json @@ -1,7 +1,6 @@ { "name": "gtk", - "version": "4.10.5", - "port-version": 1, + "version": "4.16.3", "description": "Portable library for creating graphical user interfaces.", "homepage": "https://www.gtk.org/", "license": "LGPL-2.0-only", @@ -24,7 +23,6 @@ "platform": "linux" }, "gdk-pixbuf", - "gettext", { "name": "gettext", "host": true, @@ -33,6 +31,7 @@ "tools" ] }, + "gettext-libintl", "glib", { "name": "glib", diff --git a/ports/gtkmm/portfile.cmake b/ports/gtkmm/portfile.cmake index 78652a8c9b93e7..30fa7451fe3326 100644 --- a/ports/gtkmm/portfile.cmake +++ b/ports/gtkmm/portfile.cmake @@ -2,7 +2,7 @@ string(REGEX MATCH "^([0-9]*[.][0-9]*)" GTKMM_MAJOR_MINOR "${VERSION}") vcpkg_download_distfile(ARCHIVE URLS "https://ftp.gnome.org/pub/GNOME/sources/gtkmm/${GTKMM_MAJOR_MINOR}/gtkmm-${VERSION}.tar.xz" FILENAME "gtkmm-${VERSION}.tar.xz" - SHA512 ee40cce37c34814884ffc06e614013d23fa31cac51ea9d98ea5689a08acc2ff58bb2ca80ba822d6fe3c0f3bdcb9ce2596ede3c05c69a702b524c4e38afc3d9ab + SHA512 94cf1f764e539b8b1fdff101f6e134c5e2bc9379f1dae3b6daef66ab94e90f5e70a41d8eb94842fd54c0f8706c565e975fa2adf6e4c6913cecaeb3c8cf00a1cd ) vcpkg_extract_source_archive( @@ -26,4 +26,4 @@ vcpkg_copy_pdbs() vcpkg_fixup_pkgconfig() -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/gtkmm/vcpkg.json b/ports/gtkmm/vcpkg.json index 526afb0d81adb3..88f39b647b5d9d 100644 --- a/ports/gtkmm/vcpkg.json +++ b/ports/gtkmm/vcpkg.json @@ -1,7 +1,6 @@ { "name": "gtkmm", - "version": "4.10.0", - "port-version": 1, + "version": "4.14.0", "description": "gtkmm is the official C++ interface for the popular GUI library GTK+.", "homepage": "https://www.gtkmm.org/", "license": "LGPL-3.0-or-later", diff --git a/ports/gtl/portfile.cmake b/ports/gtl/portfile.cmake index 7574a81c3d183f..47e707b0f35032 100644 --- a/ports/gtl/portfile.cmake +++ b/ports/gtl/portfile.cmake @@ -4,7 +4,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO greg7mdp/gtl REF "v${VERSION}" - SHA512 c6ab1ae6bfdee7f4fa49ab6ea27138cfe7159b5b0fb918a65f27cc7fff74e632f2567508453d1767bc406ac6286ff3a12edeffd185b5b2acf0ef304d4175b86e + SHA512 068d37b7028979538884db5956a76e1de301202eb6b015104c6d8b246e894f9166b1d2b97aff47b2641b6948e7dd1cd20a74396f1a6d276e2ade74469d27c3c2 HEAD_REF main ) diff --git a/ports/gtl/vcpkg.json b/ports/gtl/vcpkg.json index ddf392373726f4..95e81db5504a7a 100644 --- a/ports/gtl/vcpkg.json +++ b/ports/gtl/vcpkg.json @@ -1,6 +1,6 @@ { "name": "gtl", - "version": "1.1.8", + "version": "1.2.0", "description": "Greg's Template Library of useful classes.", "homepage": "https://github.com/greg7mdp/gtl", "license": "Apache-2.0", diff --git a/ports/gts/CMakeLists.txt b/ports/gts/CMakeLists.txt index b25af8fda8f8f8..625e3540bdc2dc 100644 --- a/ports/gts/CMakeLists.txt +++ b/ports/gts/CMakeLists.txt @@ -26,7 +26,7 @@ add_definitions( ) file(GLOB src src/*.c src/gts.def) -list(REMOVE_ITEM src src/predicate_init.c) +list(FILTER src EXCLUDE REGEX ".*predicates_init\\.c$") add_library(gts ${src}) file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/config.h" "") target_include_directories(gts PUBLIC diff --git a/ports/gts/vcpkg.json b/ports/gts/vcpkg.json index 8686fb09e7b255..9c0cc818d75353 100644 --- a/ports/gts/vcpkg.json +++ b/ports/gts/vcpkg.json @@ -1,7 +1,7 @@ { "name": "gts", "version": "0.7.6", - "port-version": 8, + "port-version": 9, "description": "3D surfaces meshed with interconnected triangles", "homepage": "https://gts.sourceforge.net/", "license": "LGPL-2.0-or-later", diff --git a/ports/gtsam/portfile.cmake b/ports/gtsam/portfile.cmake index c1f4f65d803ccb..e84697f6fb0caa 100644 --- a/ports/gtsam/portfile.cmake +++ b/ports/gtsam/portfile.cmake @@ -2,8 +2,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO borglab/gtsam REF ${VERSION} - SHA512 0aae0b785a3f7ae25008d0938848e93519786521cca9cd0cd1a8937ec5ac46f3b1ca1bfaaff1ca5812c92f8ef55b729a06c57632da5dd8fc38afc22d3047f8e0 - HEAD_REF master + SHA512 c0e5de8d86ea8241b49449bd291999ec0d6530bc9943b213e7c650b0ab29894ab53636bd1a0ed82d9d9d148dfc399ebff28e108b060d2d2176b584823bd722cd + HEAD_REF develop PATCHES build-fixes.patch path-fixes.patch @@ -17,15 +17,16 @@ vcpkg_cmake_configure( -DGTSAM_BUILD_TIMING_ALWAYS=OFF -DGTSAM_BUILD_UNSTABLE=OFF -DGTSAM_UNSTABLE_BUILD_PYTHON=OFF - -DGTSAM_USE_SYSTEM_EIGEN=On - -DGTSAM_USE_SYSTEM_METIS=On + -DGTSAM_USE_SYSTEM_EIGEN=ON + -DGTSAM_USE_SYSTEM_METIS=ON -DGTSAM_INSTALL_CPPUNITLITE=OFF -DGTSAM_BUILD_TYPE_POSTFIXES=OFF + -DCMAKE_CXX_STANDARD=11 # Boost v1.84.0 libraries require C++11 ) vcpkg_cmake_install() -if (WIN32) - vcpkg_cmake_config_fixup(PACKAGE_NAME GTSAM CONFIG_PATH CMAKE) +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_cmake_config_fixup(PACKAGE_NAME GTSAM CONFIG_PATH CMake) else() vcpkg_cmake_config_fixup(PACKAGE_NAME GTSAM CONFIG_PATH lib/cmake/GTSAM) endif() diff --git a/ports/gtsam/vcpkg.json b/ports/gtsam/vcpkg.json index 516ec84c6d0a07..54671f09578c88 100644 --- a/ports/gtsam/vcpkg.json +++ b/ports/gtsam/vcpkg.json @@ -1,6 +1,6 @@ { "name": "gtsam", - "version-string": "4.2a9", + "version": "4.2.0", "description": "GTSAM is a library of C++ classes that implement smoothing and mapping (SAM) in robotics and vision, using factor graphs and Bayes networks as the underlying computing paradigm rather than sparse matrices.", "homepage": "https://github.com/borglab/gtsam", "license": "BSD-3-Clause", diff --git a/ports/guile/portfile.cmake b/ports/guile/portfile.cmake index e8bbbb410611c4..7c207111d5a4ff 100644 --- a/ports/guile/portfile.cmake +++ b/ports/guile/portfile.cmake @@ -1,11 +1,13 @@ vcpkg_download_distfile(GUILE_ARCHIVE - URLS https://ftp.gnu.org/gnu/guile/guile-3.0.8.tar.gz - FILENAME guile-3.0.8.tar.gz - SHA512 7b2728e849a3ee482fe9a167dd76cc4835e911cc94ca0724dd51e8a813a240c6b5d2de84de16b46469ab24305b5b153a3c812fec942e007d3310bba4d1cf947d + URLS https://ftp.gnu.org/gnu/guile/guile-${VERSION}.tar.gz + FILENAME guile-${VERSION}.tar.gz + SHA512 8b0e6354fdfccd009fd92a5618828f8a8343faf20d1d3698be77a6ef7a8fe56ce633fd1239520e6a6be511ba4ca75eb90c8a81c45888b8b73d938cd2908d7a1f ) vcpkg_extract_source_archive(GUILE_SOURCES ARCHIVE ${GUILE_ARCHIVE}) +vcpkg_add_to_path("${CURRENT_HOST_INSTALLED_DIR}/tools/gperf") + vcpkg_configure_make( SOURCE_PATH "${GUILE_SOURCES}" ADD_BIN_TO_PATH @@ -20,12 +22,12 @@ vcpkg_fixup_pkgconfig() if (NOT VCPKG_BUILD_TYPE) foreach(file guile-tools guile-config guild) - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug/bin/${file}" "${CURRENT_INSTALLED_DIR}/debug/../tools/guile/debug/bin" "`dirname $0`") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug/bin/${file}" "${CURRENT_INSTALLED_DIR}/debug/../tools/guile/debug/bin" "`dirname $0`" IGNORE_UNCHANGED) endforeach() vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug/bin/guile-config" "${CURRENT_INSTALLED_DIR}" "`dirname $0`/../../../..") endif() foreach(file guile-tools guile-config guild) - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin/${file}" "${CURRENT_INSTALLED_DIR}/tools/guile/bin" "`dirname $0`") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin/${file}" "${CURRENT_INSTALLED_DIR}/tools/guile/bin" "`dirname $0`" IGNORE_UNCHANGED) endforeach() vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin/guile-config" "${CURRENT_INSTALLED_DIR}" "`dirname $0`/../../..") diff --git a/ports/guile/vcpkg.json b/ports/guile/vcpkg.json index 01ccab5c5a6095..f1fe66619410ea 100644 --- a/ports/guile/vcpkg.json +++ b/ports/guile/vcpkg.json @@ -1,7 +1,6 @@ { "name": "guile", - "version": "3.0.8", - "port-version": 1, + "version": "3.0.10", "description": "GNU's programming and extension language", "homepage": "https://www.gnu.org/software/guile/", "documentation": "https://www.gnu.org/software/guile/manual/", @@ -17,6 +16,10 @@ ] }, "gmp", + { + "name": "gperf", + "host": true + }, "libffi", "libunistring" ] diff --git a/ports/gul14/portfile.cmake b/ports/gul14/portfile.cmake index c6dfa515435222..911dc2696ab253 100644 --- a/ports/gul14/portfile.cmake +++ b/ports/gul14/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO gul-cpp/gul14 - REF v2.9.2 - SHA512 d9b364638d595cb03cbc8793750947d393f9e7632016ec9e6f31a8ea1b0f235444be5c1aa7cd5c18b47c85463e15db9240d08aab86797e5ca3452a4646dfa8d1 + REF v2.11.2 + SHA512 b18d0a26a5c53745b2a62d69ddb93f85bb4c9926c0a5f6c38374c150e8c3358e70d861c2870ab176689cef7d639466ce9277a3a3d25ea42fb359946489cc74ff HEAD_REF main ) diff --git a/ports/gul14/vcpkg.json b/ports/gul14/vcpkg.json index c4f22929563ed3..90d243a4eba940 100644 --- a/ports/gul14/vcpkg.json +++ b/ports/gul14/vcpkg.json @@ -1,6 +1,6 @@ { "name": "gul14", - "version": "2.9.2", + "version": "2.11.2", "description": [ "General Utility Library for C++14.", "GUL14 contains often-used utility functions and types that form the foundation for other libraries and programs.", diff --git a/ports/gumbo/portfile.cmake b/ports/gumbo/portfile.cmake index 20df402f03f21a..89ca188c9e8896 100644 --- a/ports/gumbo/portfile.cmake +++ b/ports/gumbo/portfile.cmake @@ -1,11 +1,15 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO google/gumbo-parser - REF v0.10.1 - SHA512 bb1fb55cd07076ab6a9f38dc14db50397dbdca9a04ace4895dfba8b8cbc09038a96e26070c09c75fa929ada2e815affe233c1e2ecd8afe2aba6201647cf277d1 - HEAD_REF master +vcpkg_download_distfile(ARCHIVE + URLS "https://codeberg.org/gumbo-parser/gumbo-parser/archive/${VERSION}.tar.gz" + FILENAME "gumbo-${VERSION}.tar.gz" + SHA512 15da29bc1b7d70a827870562462ca90fd57469d72d7a4804c59da96c5c46b3a0c50e99a08a80d6e08d2be87f55388c8848918bfbab58ac0c22df85fdc2bd35e7 +) + +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" + SOURCE_BASE "${VERSION}" ) file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") @@ -25,4 +29,4 @@ 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/gumbo" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/doc/COPYING") diff --git a/ports/gumbo/vcpkg.json b/ports/gumbo/vcpkg.json index 39ad5a14416586..d384b3a5e536ec 100644 --- a/ports/gumbo/vcpkg.json +++ b/ports/gumbo/vcpkg.json @@ -1,9 +1,8 @@ { "name": "gumbo", - "version": "0.10.1", - "port-version": 6, + "version": "0.12.3", "description": "An HTML5 parsing library in pure C99", - "homepage": "https://github.com/google/gumbo-parser", + "homepage": "https://codeberg.org/gumbo-parser/gumbo-parser", "license": "Apache-2.0", "dependencies": [ { diff --git a/ports/gz-cmake3/dependencies.patch b/ports/gz-cmake3/dependencies.patch index 169f24dd02b7f7..48d7c0e0a90f7b 100644 --- a/ports/gz-cmake3/dependencies.patch +++ b/ports/gz-cmake3/dependencies.patch @@ -1,22 +1,213 @@ -diff --git a/cmake/FindGzBullet.cmake b/cmake/FindGzBullet.cmake ---- a/cmake/FindGzBullet.cmake -+++ b/cmake/FindGzBullet.cmake -@@ -30,16 +30,17 @@ - - # Bullet. Force MODULE mode to use the FindBullet.cmake file distributed with - # CMake. Otherwise, we may end up using the BulletConfig.cmake file distributed - # with Bullet, which uses relative paths and may break transitive dependencies. --find_package(Bullet MODULE ${gz_quiet_arg}) -+find_package(Bullet CONFIG REQUIRED) - - set(GzBullet_FOUND false) - # create Bullet target - if(BULLET_FOUND) - set(GzBullet_FOUND true) - - gz_import_target(GzBullet -+ INTERFACE - TARGET_NAME GzBullet::GzBullet - LIB_VAR BULLET_LIBRARIES - INCLUDE_VAR BULLET_INCLUDE_DIRS - ) +diff --git a/cmake/FindFreeImage.cmake b/cmake/FindFreeImage.cmake +index 8a5836e..7f926cc 100644 +--- a/cmake/FindFreeImage.cmake ++++ b/cmake/FindFreeImage.cmake +@@ -23,7 +23,17 @@ set(minor_version ${FreeImage_FIND_VERSION_MINOR}) + # Set the full version number + set(full_version ${major_version}.${minor_version}) + +-if (NOT WIN32) ++if(FreeImage_FOUND) ++ # done ++elseif(1) ++ find_package(freeimage CONFIG) ++ if(freeimage_FOUND) ++ set(FreeImage_FOUND 1) ++ set(FreeImage_LIBRARIES freeimage::FreeImage) ++ include(GzImportTarget) ++ gz_import_target(FreeImage INTERFACE) ++ endif() ++elseif(0) + include(GzPkgConfig) + gz_pkg_config_library_entry(FreeImage freeimage) + +diff --git a/cmake/FindGTS.cmake b/cmake/FindGTS.cmake +index b400483..77f1247 100644 +--- a/cmake/FindGTS.cmake ++++ b/cmake/FindGTS.cmake +@@ -16,7 +16,7 @@ + ######################################## + # Find GNU Triangulation Surface Library + +-if (NOT WIN32) ++if (1) + # Configuration using pkg-config modules + include(GzPkgConfig) + gz_pkg_check_modules(GTS gts) +diff --git a/cmake/FindGzBullet.cmake b/cmake/FindGzBullet.cmake +index 798d239..e7ee87c 100644 +--- a/cmake/FindGzBullet.cmake ++++ b/cmake/FindGzBullet.cmake +@@ -31,7 +31,7 @@ endif() + # Bullet. Force MODULE mode to use the FindBullet.cmake file distributed with + # CMake. Otherwise, we may end up using the BulletConfig.cmake file distributed + # with Bullet, which uses relative paths and may break transitive dependencies. +-find_package(Bullet MODULE ${gz_quiet_arg}) ++find_package(Bullet CONFIG REQUIRED) + + set(GzBullet_FOUND false) + # create Bullet target +@@ -39,6 +39,7 @@ if(BULLET_FOUND) + set(GzBullet_FOUND true) + + gz_import_target(GzBullet ++ INTERFACE + TARGET_NAME GzBullet::GzBullet + LIB_VAR BULLET_LIBRARIES + INCLUDE_VAR BULLET_INCLUDE_DIRS +diff --git a/cmake/FindTINYXML2.cmake b/cmake/FindTINYXML2.cmake +index 5a5a147..68ba2a3 100644 +--- a/cmake/FindTINYXML2.cmake ++++ b/cmake/FindTINYXML2.cmake +@@ -18,11 +18,16 @@ + + include(GzPkgConfig) + +-# Use pkg_check_modules to start +-gz_pkg_check_modules_quiet(TINYXML2 tinyxml2) + + # If that failed, then fall back to manual detection (necessary for MacOS) + if(NOT TINYXML2_FOUND) ++ find_package(TINYXML2 NAMES tinyxml2) ++ if(TINYXML2_FOUND) ++ set(TINYXML2_LIBRARIES tinyxml2::tinyxml2) ++ include(GzImportTarget) ++ gz_import_target(TINYXML2 INTERFACE) ++ endif() ++elseif(0) + + if(NOT TINYXML2_FIND_QUIETLY) + message(STATUS "Attempting manual search for tinyxml2") +diff --git a/cmake/GzFindPackage.cmake b/cmake/GzFindPackage.cmake +index 4eb7a0d..11dae8a 100644 +--- a/cmake/GzFindPackage.cmake ++++ b/cmake/GzFindPackage.cmake +@@ -178,6 +178,7 @@ macro(gz_find_package PACKAGE_NAME_) + _gz_cmake_parse_arguments(gz_find_package "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) + endif() + ++ include("${CMAKE_CURRENT_LIST_DIR}/vcpkg/${PACKAGE_NAME}.cmake" OPTIONAL) + #------------------------------------ + # Construct the arguments to pass to find_package + set(${PACKAGE_NAME}_find_package_args ${PACKAGE_NAME}) +@@ -192,6 +193,8 @@ macro(gz_find_package PACKAGE_NAME_) + + if(gz_find_package_EXACT) + list(APPEND ${PACKAGE_NAME}_find_package_args EXACT) ++ elseif(gz_find_package_VERSION AND NOT gz_find_package_PKGCONFIG_VER_COMPARISON) ++ set(gz_find_package_PKGCONFIG_VER_COMPARISON >=) + endif() + + if(gz_find_package_CONFIG) +@@ -388,7 +391,7 @@ macro(gz_find_package PACKAGE_NAME_) + # ${component}_CMAKE_DEPENDENCIES variables that are specific to those + # componenets + foreach(component ${gz_find_package_REQUIRED_BY}) +- if(NOT ${component}_${PACKAGE_NAME}_PRIVATE) ++ if(NOT ${component}_${PACKAGE_NAME}_PRIVATE OR NOT BUILD_SHARED_LIBS) + gz_string_append(${component}_CMAKE_DEPENDENCIES "${${PACKAGE_NAME}_find_dependency}" DELIM "\n") + endif() + endforeach() +diff --git a/cmake/FindGzOGRE2.cmake b/cmake/FindGzOGRE2.cmake +--- a/cmake/FindGzOGRE2.cmake ++++ b/cmake/FindGzOGRE2.cmake +@@ -143,11 +143,11 @@ + endif () + endmacro() + + find_package(PkgConfig QUIET) +-if (PkgConfig_FOUND) ++if (UNIX AND NOT APPLE) + set(PKG_CONFIG_PATH_ORIGINAL $ENV{PKG_CONFIG_PATH}) +- foreach (GZ_OGRE2_PROJECT_NAME "OGRE2" "OGRE-Next") ++ foreach (GZ_OGRE2_PROJECT_NAME "OGRE-Next") + message(STATUS "Looking for OGRE using the name: ${GZ_OGRE2_PROJECT_NAME}") + if (GZ_OGRE2_PROJECT_NAME STREQUAL "OGRE2") + set(OGRE2_INSTALL_PATH "OGRE-2.${GzOGRE2_FIND_VERSION_MINOR}") + # For OGRE 2.3 debs built via OpenRobotics buildfarms, we use OgreNext +@@ -172,8 +172,9 @@ + if (${GZ_OGRE2_PROJECT_NAME}_FOUND) + set(GZ_PKG_NAME ${OGRE2_INSTALL_PATH}) + set(OGRE2_FOUND ${${GZ_OGRE2_PROJECT_NAME}_FOUND}) # sync possible OGRE-Next to OGRE2 + fix_pkgconfig_prefix_jammy_bug("${${GZ_OGRE2_PROJECT_NAME}_LIBRARY_DIRS}" OGRE2_LIBRARY_DIRS) ++ set(OGRE2_LIBRARY_DIRS ${${GZ_OGRE2_PROJECT_NAME}_LIBRARY_DIRS}) + set(OGRE2_LIBRARIES ${${GZ_OGRE2_PROJECT_NAME}_LIBRARIES}) # sync possible Ogre-Next ot OGRE2 + else() + # look for OGRE2 installed from source + set(PKG_CONFIG_PATH_TMP ${PKG_CONFIG_PATH_ORIGINAL}) +@@ -308,8 +309,10 @@ + "${OGRE2LIBNAME}${component}_d.${OGRE2_VERSION}" + "${OGRE2LIBNAME}${component}_d" + "${OGRE2LIBNAME}${component}.${OGRE2_VERSION}" + "${OGRE2LIBNAME}${component}" ++ "${OGRE2LIBNAME}${component}Static" ++ "${OGRE2LIBNAME}${component}Static_d" + HINTS ${OGRE2_LIBRARY_DIRS}) + if (NOT "${OGRE2-${component}}" STREQUAL "OGRE2-${component}-NOTFOUND") + message(STATUS " + component ${component}: found") + # create a new target for each component +@@ -403,15 +406,23 @@ + set(OGRE2_SEARCH_VER "OGRE-${GzOGRE2_FIND_VERSION_MAJOR}.${GzOGRE2_FIND_VERSION_MINOR}") + set(OGRE2_PATHS "") + set(OGRE2_INC_PATHS "") + foreach(_rootPath ${VCPKG_CMAKE_FIND_ROOT_PATH}) +- list(APPEND OGRE2_PATHS "${_rootPath}/lib/${OGRE2_SEARCH_VER}/") +- list(APPEND OGRE2_PATHS "${_rootPath}/lib/${OGRE2_SEARCH_VER}/manual-link/") +- list(APPEND OGRE2_INC_PATHS "${_rootPath}/include/${OGRE2_SEARCH_VER}") ++ get_filename_component(debug_dir "${_rootPath}" NAME) ++ if(debug_dir MATCHES "debug" AND CMAKE_BUILD_TYPE MATCHES Debug OR NOT debug_dir MATCHES "debug" AND CMAKE_BUILD_TYPE MATCHES Release) ++ list(APPEND OGRE2_PATHS "${_rootPath}/lib/") ++ list(APPEND OGRE2_PATHS "${_rootPath}/lib/manual-link/") ++ endif() ++ list(APPEND OGRE2_INC_PATHS "${_rootPath}/include/OGRE-Next") + endforeach() + + find_library(OGRE2_LIBRARY +- NAMES "OgreMain" ++ NAMES ++ "OgreNextMain" ++ "OgreNextMainStatic" ++ "OgreNextMain_d" ++ "OgreNextMainStatic_d" ++ NAMES_PER_DIR + HINTS ${OGRE2_PATHS} + NO_DEFAULT_PATH) + + find_path(OGRE2_INCLUDE +@@ -449,10 +460,13 @@ + ${PATH_HINTS} ${COMPONENT} ${OGRE2_SEARCH_VER}/${COMPONENT}) + + find_library(${PREFIX}_LIBRARY + NAMES +- "Ogre${COMPONENT}" +- "Ogre${COMPONENT}_d" ++ "OgreNext${COMPONENT}" ++ "OgreNext${COMPONENT}_d" ++ "OgreNext${COMPONENT}Static" ++ "OgreNext${COMPONENT}Static_d" ++ NAMES_PER_DIR + HINTS + ${OGRE2_LIBRARY_DIRS} + NO_DEFAULT_PATH) + +@@ -509,8 +522,9 @@ + + ogre_find_plugin(Plugin_ParticleFX OgreParticleFXPrerequisites.h PlugIns/ParticleFX/include) + ogre_find_plugin(RenderSystem_GL3Plus OgreGL3PlusRenderSystem.h RenderSystems/GL3Plus/include) + ogre_find_plugin(RenderSystem_Direct3D11 OgreD3D11RenderSystem.h RenderSystems/Direct3D11/include) ++ ogre_find_component(PlanarReflections OgrePlanarReflections.h PlanarReflections) + + foreach(component ${GzOGRE2_FIND_COMPONENTS}) + set(PREFIX OGRE2_${component}) + if(${PREFIX}_FOUND) +@@ -520,9 +534,9 @@ + string(FIND ${component} "Hlms" HLMS_POS) + if(${HLMS_POS} GREATER -1) + foreach (dir ${OGRE2_INCLUDE_DIRS}) + get_filename_component(dir_name "${dir}" NAME) +- if ("${dir_name}" STREQUAL "OGRE-${OGRE2_VERSION_MAJOR}.${OGRE2_VERSION_MINOR}") ++ if ("${dir_name}" STREQUAL "OGRE-Next") + set(dir_include "${dir}/Hlms/Common") + if (EXISTS ${dir_include}) + list(APPEND component_INCLUDE_DIRS ${dir_include}) + endif() diff --git a/ports/gz-cmake3/portfile.cmake b/ports/gz-cmake3/portfile.cmake index 6694814e3cac04..c1665d6dd01292 100644 --- a/ports/gz-cmake3/portfile.cmake +++ b/ports/gz-cmake3/portfile.cmake @@ -9,5 +9,5 @@ ignition_modular_library( dependencies.patch ) -# Install custom usage +file(COPY "${CURRENT_PORT_DIR}/vcpkg" DESTINATION "${CURRENT_PACKAGES_DIR}/share/cmake/gz-cmake3/cmake3") configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" @ONLY) diff --git a/ports/gz-cmake3/vcpkg.json b/ports/gz-cmake3/vcpkg.json index 37aa11321babc0..7877778e3ef477 100644 --- a/ports/gz-cmake3/vcpkg.json +++ b/ports/gz-cmake3/vcpkg.json @@ -1,7 +1,7 @@ { "name": "gz-cmake3", "version": "3.4.1", - "port-version": 1, + "port-version": 5, "description": "CMake helper functions for building robotic applications", "homepage": "https://ignitionrobotics.org/libs/cmake", "license": null, diff --git a/ports/gz-cmake3/vcpkg/GTS.cmake b/ports/gz-cmake3/vcpkg/GTS.cmake new file mode 100644 index 00000000000000..d4c2f02b4889cf --- /dev/null +++ b/ports/gz-cmake3/vcpkg/GTS.cmake @@ -0,0 +1,3 @@ +if(NOT gz_find_package_PKGCONFIG) + set(gz_find_package_PKGCONFIG gts) +endif() diff --git a/ports/gz-cmake3/vcpkg/TINYXML2.cmake b/ports/gz-cmake3/vcpkg/TINYXML2.cmake new file mode 100644 index 00000000000000..33b651e48f0c25 --- /dev/null +++ b/ports/gz-cmake3/vcpkg/TINYXML2.cmake @@ -0,0 +1,3 @@ +if(NOT gz_find_package_PKGCONFIG) + set(gz_find_package_PKGCONFIG tinyxml2) +endif() diff --git a/ports/gz-common5/003-include-chrono.patch b/ports/gz-common5/003-include-chrono.patch new file mode 100644 index 00000000000000..bf89471ae97e23 --- /dev/null +++ b/ports/gz-common5/003-include-chrono.patch @@ -0,0 +1,12 @@ +diff --git a/events/include/gz/common/Event.hh b/events/include/gz/common/Event.hh +index a86c3ac07..936417d74 100644 +--- a/events/include/gz/common/Event.hh ++++ b/events/include/gz/common/Event.hh +@@ -18,6 +18,7 @@ + #define GZ_COMMON_EVENT_HH_ + + #include ++#include + #include + #include + #include diff --git a/ports/gz-common5/fix_dependencies.patch b/ports/gz-common5/fix_dependencies.patch deleted file mode 100644 index 493408a5ef62cc..00000000000000 --- a/ports/gz-common5/fix_dependencies.patch +++ /dev/null @@ -1,89 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 73920fe..8bee7fe 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -52,7 +52,7 @@ set(IGN_MATH_VER ${ignition-math6_VERSION_MAJOR}) - #-------------------------------------- - # Find Tinyxml2 - if(USE_EXTERNAL_TINYXML2) -- gz_find_package(TINYXML2 PRETTY tinyxml2 -+ gz_find_package(tinyxml2 EXTRA_ARGS CONFIG - REQUIRED_BY graphics - PRIVATE_FOR graphics) - else() -@@ -70,13 +70,13 @@ if(NOT MSVC) - - #------------------------------------ - # Find uuid -- gz_find_package(UUID REQUIRED PRETTY uuid) -+ gz_find_package(UUID REQUIRED PRETTY uuid REQUIRED_BY graphics) - - endif() - - #------------------------------------ - # Find Freeimage --gz_find_package(FreeImage VERSION 3.9 -+gz_find_package(freeimage EXTRA_ARGS CONFIG - REQUIRED_BY graphics - PRIVATE_FOR graphics) - -@@ -84,6 +84,7 @@ ign_find_package(FreeImage VERSION 3.9 - # Find GNU Triangulation Surface Library - gz_find_package( - GTS PRETTY gts PURPOSE "GNU Triangulation Surface library" -+ BY_PKGCONFIG gts - REQUIRED_BY graphics - PRIVATE_FOR graphics) - -@@ -98,7 +98,7 @@ - #------------------------------------ - # Find GDAL --gz_find_package(GDAL VERSION 3.0 -+gz_find_package(GDAL - PKGCONFIG gdal - PRIVATE_FOR geospatial - REQUIRED_BY geospatial) - -diff --git a/graphics/src/CMakeLists.txt b/graphics/src/CMakeLists.txt -index 000a0ce..f6e1831 100644 ---- a/graphics/src/CMakeLists.txt -+++ b/graphics/src/CMakeLists.txt -@@ -14,8 +14,10 @@ target_link_libraries(${graphics_target} - PUBLIC - gz-math${GZ_MATH_VER}::gz-math${GZ_MATH_VER} - gz-utils${GZ_UTILS_VER}::gz-utils${GZ_UTILS_VER} - PRIVATE - ${GzAssimp_LIBRARIES} - GTS::GTS -- FreeImage::FreeImage) -+ freeimage::FreeImage) -+ -+target_include_directories(${graphics_target} PRIVATE ${GTS_INCLUDE_DIRS}) - -@@ -42,14 +44,14 @@ if(USE_EXTERNAL_TINYXML2) - - # If we are using an external copy of tinyxml2, add its imported target - target_link_libraries(${graphics_target} - PRIVATE -- TINYXML2::TINYXML2) -+ tinyxml2::tinyxml2) - - # The collada exporter test uses tinyxml2, so we must link it if we're using - # an external copy. The graphics target considers tinyxml2 to be a private - # dependency, so it will not automatically get linked to this test. - if(TARGET UNIT_ColladaExporter_TEST) -- target_link_libraries(UNIT_ColladaExporter_TEST TINYXML2::TINYXML2) -+ target_link_libraries(UNIT_ColladaExporter_TEST tinyxml2::tinyxml2) - endif() - - else() -@@ -79,7 +81,7 @@ - # define of tinxml2 major version >= 6 - # https://github.com/gazebosim/gz-common/issues/28 --if (NOT TINYXML2_VERSION VERSION_LESS "6.0.0") -- message(STATUS "TINYXML2_VERSION ${TINYXML2_VERSION} >= 6.0.0") -+if (NOT tinyxml2_VERSION VERSION_LESS "6.0.0") -+ message(STATUS "TINYXML2_VERSION ${tinyxml2_VERSION} >= 6.0.0") - target_compile_definitions(${graphics_target} - PRIVATE "TINYXML2_MAJOR_VERSION_GE_6") - endif() diff --git a/ports/gz-common5/portfile.cmake b/ports/gz-common5/portfile.cmake index bcff46993b8b8a..07b413c5d1fdcf 100644 --- a/ports/gz-common5/portfile.cmake +++ b/ports/gz-common5/portfile.cmake @@ -6,9 +6,22 @@ ignition_modular_library( VERSION ${VERSION} SHA512 40db4747db743005d7c43ca25cfe93cf68ee19201abcb165e72de37708b92fd88553b11520c420db33b37f4cab7e01e4d79c91c5dc0485146b7156284b8baaee OPTIONS + -DBUILD_TESTING=OFF -DUSE_EXTERNAL_TINYXML2=ON + "-DPKG_CONFIG_EXECUTABLE=${CURRENT_HOST_INSTALLED_DIR}/tools/pkgconf/pkgconf${VCPKG_HOST_EXECUTABLE_SUFFIX}" PATCHES - fix_dependencies.patch - remove_tests.patch gz_remotery_vis.patch + 003-include-chrono.patch ) + +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/gz-common5-graphics/gz-common5-graphics-config.cmake" "find_package(GTS " +"# Ensure that consumers get a pkg-config tool which is needed for GTS +set(PKG_CONFIG_EXECUTABLE \"\${CMAKE_CURRENT_LIST_DIR}/../../../${HOST_TRIPLET}/tools/pkgconf/pkgconf${VCPKG_HOST_EXECUTABLE_SUFFIX}\" CACHE STRING vcpkg) +find_package(GTS " +IGNORE_UNCHANGED) + +foreach(component IN ITEMS av events geospatial graphics io profiler testing) + if(NOT EXISTS "${CURRENT_PACKAGES_DIR}/share/${PORT}-${component}/${PORT}-${component}-config.cmake") + message(FATAL_ERROR "Failed to install component ${component}. Check configuration logs for missing dependencies.") + endif() +endforeach() diff --git a/ports/gz-common5/remove_tests.patch b/ports/gz-common5/remove_tests.patch deleted file mode 100644 index b03a81be68bccb..00000000000000 --- a/ports/gz-common5/remove_tests.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -41,4 +41,5 @@ -+if(0) - # Build the unit tests - gz_build_tests( - TYPE UNIT - SOURCES ${gtest_sources} -@@ -77,4 +78,5 @@ - message(STATUS "") - target_compile_definitions(UNIT_Filesystem_TEST PRIVATE GZ_BUILD_SYMLINK_TESTS_ON_WINDOWS) - endif() - endif() -+endif(0) diff --git a/ports/gz-common5/vcpkg.json b/ports/gz-common5/vcpkg.json index 805464eda39e2b..4e0ef293e91227 100644 --- a/ports/gz-common5/vcpkg.json +++ b/ports/gz-common5/vcpkg.json @@ -1,6 +1,7 @@ { "name": "gz-common5", "version": "5.4.1", + "port-version": 3, "description": "Common libraries for robotics applications", "homepage": "https://ignitionrobotics.org/libs/common", "license": "Apache-2.0", @@ -22,7 +23,12 @@ }, { "name": "libuuid", - "platform": "!windows & !uwp & !osx" + "platform": "!windows & !osx" + }, + { + "name": "pkgconf", + "host": true, + "default-features": false }, "tinyxml2" ] diff --git a/ports/gz-gui7/dependencies.patch b/ports/gz-gui7/dependencies.patch new file mode 100644 index 00000000000000..3d5d2f29375a5e --- /dev/null +++ b/ports/gz-gui7/dependencies.patch @@ -0,0 +1,22 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -80,13 +80,17 @@ + set(GZ_TOOLS_VER 2) + + #-------------------------------------- + # Find QT ++set(qt_pkgconfig "Qt5Core Qt5Quick Qt5QuickControls2 Qt5Widgets") ++if (WIN32) ++set(qt_pkgconfig "") ++endif() + gz_find_package (Qt5 + COMPONENTS + Core + Quick + QuickControls2 + Widgets + REQUIRED +- PKGCONFIG "Qt5Core Qt5Quick Qt5QuickControls2 Qt5Widgets" ++ PKGCONFIG ${qt_pkgconfig} + ) diff --git a/ports/gz-gui7/portfile.cmake b/ports/gz-gui7/portfile.cmake new file mode 100644 index 00000000000000..c9a42982267012 --- /dev/null +++ b/ports/gz-gui7/portfile.cmake @@ -0,0 +1,28 @@ +set(PACKAGE_NAME gui) + +ignition_modular_library( + NAME ${PACKAGE_NAME} + REF ${PORT}_${VERSION} + VERSION ${VERSION} + SHA512 29f37a31bbf90dd35f37e80053c1aff9fb404b7a09c8c10e640da505cc6261387e6ce77e3bf379a911e6131c684f866cf1ef8d83777112b3c7f148b1f95cc72f + OPTIONS + PATCHES + dependencies.patch +) + +if(VCPKG_TARGET_IS_WINDOWS) + file(GLOB plugins "${CURRENT_PACKAGES_DIR}/lib/gz-gui-7/plugins/*.dll") + if (NOT plugins STREQUAL "") + file(COPY ${plugins} DESTINATION "${CURRENT_PACKAGES_DIR}/engine-plugins/") + file(REMOVE ${plugins}) + endif() + + file(GLOB plugins_debug "${CURRENT_PACKAGES_DIR}/debug/lib/gz-gui-7/plugins/*.dll") + if (NOT plugins_debug STREQUAL "") + file(COPY ${plugins_debug} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/engine-plugins/") + file(REMOVE ${plugins_debug}) + endif() + + # Lacking pc files for Qt + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/pkgconfig" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") +endif() diff --git a/ports/gz-gui7/vcpkg.json b/ports/gz-gui7/vcpkg.json new file mode 100644 index 00000000000000..a70f344915dbd1 --- /dev/null +++ b/ports/gz-gui7/vcpkg.json @@ -0,0 +1,32 @@ +{ + "name": "gz-gui7", + "version": "7.2.1", + "description": "Gazebo GUI builds on top of Qt to provide widgets which are useful when developing robotics applications, such as a 3D view, plots, dashboard, etc, and can be used together in a convenient unified interface.", + "homepage": "https://gazebosim.org/libs/gui", + "license": "Apache-2.0", + "dependencies": [ + "gz-cmake3", + "gz-common5", + "gz-math7", + "gz-msgs9", + "gz-plugin2", + "gz-rendering7", + "gz-transport12", + "gz-utils2", + { + "name": "ignition-modularscripts", + "host": true + }, + "protobuf", + { + "name": "qt5-base", + "default-features": false + }, + { + "name": "qt5-quickcontrols2", + "default-features": false + }, + "sdformat13", + "tinyxml2" + ] +} diff --git a/ports/gz-physics6/dependencies.patch b/ports/gz-physics6/dependencies.patch new file mode 100644 index 00000000000000..16cc09e3d2e4c8 --- /dev/null +++ b/ports/gz-physics6/dependencies.patch @@ -0,0 +1,21 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -73,9 +73,8 @@ + collision-bullet + collision-ode + utils + utils-urdf + CONFIG + VERSION 6.9 + REQUIRED_BY dartsim +- PKGCONFIG dart + PKGCONFIG_VER_COMPARISON >=) +@@ -82,7 +82,6 @@ + #-------------------------------------- + # Find bullet for the bullet plugin wrapper + gz_find_package(GzBullet + VERSION 2.87 + REQUIRED_BY bullet bullet-featherstone +- PKGCONFIG bullet + PKGCONFIG_VER_COMPARISON >=) diff --git a/ports/gz-physics6/portfile.cmake b/ports/gz-physics6/portfile.cmake new file mode 100644 index 00000000000000..d6b1087a807423 --- /dev/null +++ b/ports/gz-physics6/portfile.cmake @@ -0,0 +1,25 @@ +set(PACKAGE_NAME physics) + +ignition_modular_library( + NAME ${PACKAGE_NAME} + REF ${PORT}_${VERSION} + VERSION ${VERSION} + SHA512 c29594663509234e25c7d0a33848c0fe222c2b9471513978c18ea6873a17c66c43b4037c74e8849995fa6449c2dddc0f2ee669605893daf65119c277a17f39e1 + OPTIONS + PATCHES + dependencies.patch +) + +if(VCPKG_TARGET_IS_WINDOWS) + file(GLOB plugins "${CURRENT_PACKAGES_DIR}/lib/gz-physics-6/engine-plugins/*.dll") + if (NOT plugins STREQUAL "") + file(COPY ${plugins} DESTINATION "${CURRENT_PACKAGES_DIR}/engine-plugins/") + file(REMOVE ${plugins}) + endif() + + file(GLOB plugins_debug "${CURRENT_PACKAGES_DIR}/debug/lib/gz-physics-6/engine-plugins/*.dll") + if (NOT plugins_debug STREQUAL "") + file(COPY ${plugins_debug} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/engine-plugins/") + file(REMOVE ${plugins_debug}) + endif() +endif() diff --git a/ports/gz-physics6/vcpkg.json b/ports/gz-physics6/vcpkg.json new file mode 100644 index 00000000000000..e72fe3c34e8c5a --- /dev/null +++ b/ports/gz-physics6/vcpkg.json @@ -0,0 +1,23 @@ +{ + "name": "gz-physics6", + "version": "6.5.1", + "port-version": 1, + "description": "component of Gazebo, provides an abstract physics interface designed to support simulation and rapid development of robot applications.", + "homepage": "https://gazebosim.org/libs/physics", + "license": "Apache-2.0", + "dependencies": [ + "bullet3", + "dartsim", + "eigen3", + "gz-cmake3", + "gz-common5", + "gz-math7", + "gz-plugin2", + "gz-utils2", + { + "name": "ignition-modularscripts", + "host": true + }, + "sdformat13" + ] +} diff --git a/ports/gz-rendering7/fix-dependencies.patch b/ports/gz-rendering7/fix-dependencies.patch new file mode 100644 index 00000000000000..e55f35e6742147 --- /dev/null +++ b/ports/gz-rendering7/fix-dependencies.patch @@ -0,0 +1,47 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -65,12 +65,12 @@ + + if (APPLE) + gz_find_package(OpenGL + REQUIRED_BY ogre ogre2 +- PKGCONFIG gl) ++ ) + else() + gz_find_package(OpenGL REQUIRED + COMPONENTS OpenGL + OPTIONAL_COMPONENTS EGL + REQUIRED_BY ogre ogre2 +- PKGCONFIG gl) ++ PKGCONFIG opengl) + endif() +@@ -81,5 +81,6 @@ + + #-------------------------------------- + # Find OGRE ++if(0) + list(APPEND gz_ogre_components "RTShaderSystem" "Terrain" "Overlay" "Paging") + +@@ -97,5 +98,6 @@ + "The software might compile and even work but support from upstream" + "could be reduced to accepting patches for newer versions") + endif() + endif() ++endif() + +diff --git a/ogre2/src/terrain/Terra/CMakeLists.txt b/ogre2/src/terrain/Terra/CMakeLists.txt +--- a/ogre2/src/terrain/Terra/CMakeLists.txt ++++ b/ogre2/src/terrain/Terra/CMakeLists.txt +@@ -34,8 +34,10 @@ + # we must add this one manually for this to build correctly + ${OGRE2_INCLUDE}/Hlms/Pbs + ${OGRE2_INCLUDE}/Hlms/Common + PUBLIC +- ${CMAKE_CURRENT_LIST_DIR}/include ++ $ ++ $ + ) + + target_link_libraries(${PROJECT_NAME} PRIVATE GzOGRE2::GzOGRE2) ++install(TARGETS ${PROJECT_NAME} EXPORT gz-rendering7-ogre2) diff --git a/ports/gz-rendering7/portfile.cmake b/ports/gz-rendering7/portfile.cmake new file mode 100644 index 00000000000000..0797333d63a5e5 --- /dev/null +++ b/ports/gz-rendering7/portfile.cmake @@ -0,0 +1,25 @@ +set(PACKAGE_NAME rendering) + +ignition_modular_library( + NAME ${PACKAGE_NAME} + REF ${PORT}_${VERSION} + VERSION ${VERSION} + SHA512 7c14b268694600b8529fef21130b34f516b26baac771c019b4248a67f84420c40d655e0abedf0b36c53b7cdf19941b3f4f3494696c831a83070632d004b30678 + OPTIONS + PATCHES + fix-dependencies.patch +) + +if(VCPKG_TARGET_IS_WINDOWS) + file(GLOB plugins "${CURRENT_PACKAGES_DIR}/lib/gz-rendering-7/engine-plugins/*.dll") + if (NOT plugins STREQUAL "") + file(COPY ${plugins} DESTINATION "${CURRENT_PACKAGES_DIR}/bin/engine-plugins/") + file(REMOVE ${plugins}) + endif() + + file(GLOB plugins_debug "${CURRENT_PACKAGES_DIR}/debug/lib/gz-rendering-7/engine-plugins/*.dll") + if (NOT plugins_debug STREQUAL "") + file(COPY ${plugins_debug} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin/engine-plugins/") + file(REMOVE ${plugins_debug}) + endif() +endif() diff --git a/ports/gz-rendering7/vcpkg.json b/ports/gz-rendering7/vcpkg.json new file mode 100644 index 00000000000000..e96824ce57d93c --- /dev/null +++ b/ports/gz-rendering7/vcpkg.json @@ -0,0 +1,27 @@ +{ + "name": "gz-rendering7", + "version": "7.4.1", + "port-version": 1, + "description": "Gazebo Rendering is a C++ library designed to provide an abstraction for different rendering engines. It offers unified APIs for creating 3D graphics applications.", + "homepage": "https://gazebosim.org/libs/rendering", + "license": "Apache-2.0", + "dependencies": [ + "freeimage", + "gz-cmake3", + "gz-common5", + "gz-math7", + "gz-plugin2", + "gz-utils2", + { + "name": "ignition-modularscripts", + "host": true + }, + { + "name": "ogre-next", + "features": [ + "planar-reflections" + ] + }, + "opengl" + ] +} diff --git a/ports/gz-sensors7/portfile.cmake b/ports/gz-sensors7/portfile.cmake new file mode 100644 index 00000000000000..babdef77c8d08c --- /dev/null +++ b/ports/gz-sensors7/portfile.cmake @@ -0,0 +1,10 @@ +set(PACKAGE_NAME sensors) + +ignition_modular_library( + NAME ${PACKAGE_NAME} + REF ${PORT}_${VERSION} + VERSION ${VERSION} + SHA512 968aab8d623c1716c4d0e164e70442e02ebe34f9277bcc48739c620124c80ba4896a846f9d052ac6d9b32b4d8805aee30b4f9c1248f75790de85718f659b6ff6 + OPTIONS + PATCHES +) diff --git a/ports/gz-sensors7/vcpkg.json b/ports/gz-sensors7/vcpkg.json new file mode 100644 index 00000000000000..ccf330ba3fb4a3 --- /dev/null +++ b/ports/gz-sensors7/vcpkg.json @@ -0,0 +1,21 @@ +{ + "name": "gz-sensors7", + "version": "7.3.0", + "description": "Component of Gazebo, provides numerous sensor models designed to generate realistic data from simulation environments.", + "homepage": "https://gazebosim.org/libs/sensors", + "license": "Apache-2.0", + "dependencies": [ + "gz-cmake3", + "gz-common5", + "gz-math7", + "gz-msgs9", + "gz-rendering7", + "gz-transport12", + { + "name": "ignition-modularscripts", + "host": true + }, + "protobuf", + "sdformat13" + ] +} diff --git a/ports/gz-transport12/portfile.cmake b/ports/gz-transport12/portfile.cmake index 0cc1e635bf639f..0a9c99f0726cc6 100644 --- a/ports/gz-transport12/portfile.cmake +++ b/ports/gz-transport12/portfile.cmake @@ -4,7 +4,7 @@ ignition_modular_library( NAME ${PACKAGE_NAME} REF ${PORT}_${VERSION} VERSION ${VERSION} - SHA512 8f0c02b76579679d40b16bd19796e8ac84eaace6c70889fc703d4c234970be130ca1dd18f047c0b40acd46e8f9291f199b8558329a75a33fc61c235dfcb79f4d + SHA512 734d4c2eccf42a3a5a665611c44ccb450bf290763bcf8dc169b16c0c5c5c7d7be6b3cb69c69a5ef64a502b411fdb1461f036c660d8d9188146e61cf8f4beead8 OPTIONS PATCHES uuid-osx.patch diff --git a/ports/gz-transport12/vcpkg.json b/ports/gz-transport12/vcpkg.json index 43e3a8e708c1cb..639e493fe76a5b 100644 --- a/ports/gz-transport12/vcpkg.json +++ b/ports/gz-transport12/vcpkg.json @@ -1,6 +1,6 @@ { "name": "gz-transport12", - "version": "12.2.0", + "version": "12.2.1", "description": "Transport middleware for robotics", "license": null, "dependencies": [ diff --git a/ports/h5py-lzf/0001-disable-H5PLget_plugin-api.patch b/ports/h5py-lzf/0001-disable-H5PLget_plugin-api.patch deleted file mode 100644 index 12f89845fc1528..00000000000000 --- a/ports/h5py-lzf/0001-disable-H5PLget_plugin-api.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/lzf/lzf_filter.c b/lzf/lzf_filter.c -index 951b1e4c..b2fbffc1 100644 ---- a/lzf/lzf_filter.c -+++ b/lzf/lzf_filter.c -@@ -93,9 +93,9 @@ static const H5Z_class_t filter_class = { - - #include "H5PLextern.h" - --H5PL_type_t H5PLget_plugin_type(void){ return H5PL_TYPE_FILTER; } -+//H5PL_type_t H5PLget_plugin_type(void){ return H5PL_TYPE_FILTER; } - --const void *H5PLget_plugin_info(void){ return &filter_class; } -+//const void *H5PLget_plugin_info(void){ return &filter_class; } - - #endif - #endif diff --git a/ports/h5py-lzf/CMakeLists.txt b/ports/h5py-lzf/CMakeLists.txt index 3ef3950c7239e5..a90a1f7efb376b 100644 --- a/ports/h5py-lzf/CMakeLists.txt +++ b/ports/h5py-lzf/CMakeLists.txt @@ -1,11 +1,23 @@ cmake_minimum_required(VERSION 3.13) -project(h5py-lzf) +project(h5py-lzf LANGUAGES C) find_package(hdf5 CONFIG REQUIRED) +find_package(unofficial-liblzf CONFIG REQUIRED) -add_library(h5py-lzf STATIC lzf_filter.c lzf/lzf_c.c lzf/lzf_d.c) +add_library(h5py-lzf STATIC lzf_filter.c) target_include_directories(h5py-lzf PUBLIC $) -target_link_libraries(h5py-lzf PRIVATE libzstd $) -install(TARGETS h5py-lzf EXPORT h5py-lzf-config ARCHIVE DESTINATION lib LIBRARY DESTINATION lib) -install(EXPORT h5py-lzf-config DESTINATION share/cmake/h5py-lzf) -install(FILES lzf_filter.h lzf/lzf.h DESTINATION include) +target_link_libraries(h5py-lzf PRIVATE + unofficial::liblzf::liblzf + $,hdf5::hdf5-shared,hdf5::hdf5-static> +) + +install(FILES lzf_filter.h DESTINATION include) +install(TARGETS h5py-lzf + EXPORT unofficial-h5py-lzf-targets + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib +) +install(EXPORT unofficial-h5py-lzf-targets + NAMESPACE unofficial::h5py-lzf:: + DESTINATION share/unofficial-h5py-lzf +) diff --git a/ports/h5py-lzf/portfile.cmake b/ports/h5py-lzf/portfile.cmake index 2ab6ee701e7d52..91ff22e33835ec 100644 --- a/ports/h5py-lzf/portfile.cmake +++ b/ports/h5py-lzf/portfile.cmake @@ -1,33 +1,25 @@ -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - set(link_hdf5_SHARED 0) -else() - set(link_hdf5_SHARED 1) -endif() - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO h5py/h5py - REF 81ba118ee66b97a94678e8f5675c4114649dfda4 - SHA512 c789abdc563f8d2535f0a2ef5e233eb862281559a9cdc3ec560dd69b4d403b6f923f5390390da54851e1bfef1be8de7f80999c25a7f3ac4962ee0620179c6420 + REF ${VERSION} + SHA512 d741b377605b2aef2847731ddb8bc9fc06eece0882ccc32b0f74e52a50ca217a9813298df77c6ae4a9eca3ed1148f58314746308d341fb58200a25dab3cbd5e2 HEAD_REF master - PATCHES - 0001-disable-H5PLget_plugin-api.patch ) +file(REMOVE_RECURSE "${SOURCE_PATH}/lzf/lzf") file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}/lzf") vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}/lzf" - OPTIONS - -Dlink_hdf5_SHARED=${link_hdf5_SHARED} ) vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_cmake_config_fixup(CONFIG_PATH share/cmake/${PORT}) +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-h5py-lzf) +file(COPY "${CURRENT_PORT_DIR}/unofficial-h5py-lzf-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/unofficial-h5py-lzf") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") -configure_file("${SOURCE_PATH}/lzf/LICENSE.txt" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/lzf/LICENSE.txt") diff --git a/ports/h5py-lzf/unofficial-h5py-lzf-config.cmake b/ports/h5py-lzf/unofficial-h5py-lzf-config.cmake new file mode 100644 index 00000000000000..488dee300ab1c4 --- /dev/null +++ b/ports/h5py-lzf/unofficial-h5py-lzf-config.cmake @@ -0,0 +1,4 @@ +include(CMakeFindDependencyMacro) +find_dependency(hdf5 CONFIG) +find_dependency(unofficial-liblzf CONFIG) +include("${CMAKE_CURRENT_LIST_DIR}/unofficial-h5py-lzf-targets.cmake") diff --git a/ports/h5py-lzf/vcpkg.json b/ports/h5py-lzf/vcpkg.json index 0f61c61fb5330b..1b55f9fb2398e2 100644 --- a/ports/h5py-lzf/vcpkg.json +++ b/ports/h5py-lzf/vcpkg.json @@ -1,11 +1,15 @@ { "name": "h5py-lzf", - "version-date": "2019-12-04", - "port-version": 3, - "description": "The LZF filter is an alternative DEFLATE-style compressor for HDF5 datasets, using the free LZF library by Marc Alexander Lehmann.", + "version": "3.12.1", + "description": "The LZF filter is an alternative DEFLATE-style compressor for HDF5 datasets.", "homepage": "https://github.com/h5py/h5py/tree/master/lzf", + "license": "BSD-3-Clause", "dependencies": [ - "hdf5", + { + "name": "hdf5", + "default-features": false + }, + "liblzf", { "name": "vcpkg-cmake", "host": true diff --git a/ports/half/portfile.cmake b/ports/half/portfile.cmake new file mode 100644 index 00000000000000..b087731c67d4a2 --- /dev/null +++ b/ports/half/portfile.cmake @@ -0,0 +1,14 @@ +vcpkg_from_sourceforge( + OUT_SOURCE_PATH SOURCE_PATH + REPO half/half + REF ${VERSION} + FILENAME "half-${VERSION}.zip" + NO_REMOVE_ONE_LEVEL + SHA512 299db9ab12d8135ae2eb1bb6229e11fec72c1ccc4d0db04d1c912c1e5cdadbddec738097b03c3bbf9b7993e589c32abcd509bfe0c20daf1996da65f633a94574 +) + +file(GLOB HEADER_FILES "${SOURCE_PATH}/include/*.hpp") +file(COPY ${HEADER_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/include") + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/half/usage b/ports/half/usage new file mode 100644 index 00000000000000..803c4c1a8b6c93 --- /dev/null +++ b/ports/half/usage @@ -0,0 +1,4 @@ +half is header-only and can be used from CMake via: + + find_path(HALF_INCLUDE_DIRS "half.hpp") + target_include_directories(main PRIVATE ${HALF_INCLUDE_DIRS}) diff --git a/ports/half/vcpkg.json b/ports/half/vcpkg.json new file mode 100644 index 00000000000000..e12b5650509c7f --- /dev/null +++ b/ports/half/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "half", + "version": "2.2.0", + "description": "C++ library for half precision floating point arithmetics.", + "homepage": "https://sourceforge.net/projects/half/", + "license": "MIT" +} diff --git a/ports/halide/portfile.cmake b/ports/halide/portfile.cmake index 54ff0b5a6e0bb4..ff652f251244d4 100644 --- a/ports/halide/portfile.cmake +++ b/ports/halide/portfile.cmake @@ -3,8 +3,8 @@ vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO halide/Halide - REF 6569a831f2ee7f1a2e3d809c36fb92514d710c44 - SHA512 48c5a000719835d5119fd2c50b026c9125aeab4021641d2891b89ac8da3ec7c02c5f86837779dcae6e6bc8d929f6a182045bebe7e0990e33844b4d52f21df519 + REF "v${VERSION}" + SHA512 ab684be4cb8bad7b46b8df5271efb37d3675344f689e37b7af1f12f584fba23318ed8f934156a8b99802b86bdebb55fac9cbcca193d58951ae0ace4816e4ec46 HEAD_REF main ) diff --git a/ports/halide/vcpkg.json b/ports/halide/vcpkg.json index 7b541db5860953..9c9a334497dd9d 100644 --- a/ports/halide/vcpkg.json +++ b/ports/halide/vcpkg.json @@ -1,6 +1,6 @@ { "name": "halide", - "version": "16.0.0", + "version": "18.0.0", "port-version": 1, "description": "Halide is a programming language designed to make it easier to write high-performance image and array processing code on modern machines.", "homepage": "https://github.com/halide/Halide", diff --git a/ports/hareflow/fix-missing-headers.patch b/ports/hareflow/fix-missing-headers.patch deleted file mode 100644 index 0a1b268afc8598..00000000000000 --- a/ports/hareflow/fix-missing-headers.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff --git a/include/hareflow/logging.h b/include/hareflow/logging.h -index e67bd8f..cd5a402 100644 ---- a/include/hareflow/logging.h -+++ b/include/hareflow/logging.h -@@ -3,6 +3,9 @@ - #include - #include - #include -+#include -+#include -+#include - - #include - -diff --git a/src/client_impl.cpp b/src/client_impl.cpp -index f77042e..05af90d 100644 ---- a/src/client_impl.cpp -+++ b/src/client_impl.cpp -@@ -1,5 +1,6 @@ - #include "hareflow/detail/client_impl.h" - -+#include - #include - - #include "hareflow/codec.h" diff --git a/ports/hareflow/portfile.cmake b/ports/hareflow/portfile.cmake index 545d1b0731daba..5a2f39a6b375df 100644 --- a/ports/hareflow/portfile.cmake +++ b/ports/hareflow/portfile.cmake @@ -1,11 +1,9 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO coveooss/hareflow - REF a59406398c60d4908a9f894c187ef90370119594 # 0.1.0 - SHA512 ed9e3b54f879fed65cf7765b37951a0da04e99b09950316d9108ea35917d05b4733c5cb8f3c161e42f1baab5978affd4522e5b5028861b3f7d6cc0bfe0a40363 + REF "v${VERSION}" + SHA512 96138675a37e381db97d963b339ab2d6472573d0e1d215bb485141d1a92be0c9658db1abb849d6e7849b396e9a877e5f0ed2ce332b68b44b7dda21536733158a HEAD_REF main - PATCHES - fix-missing-headers.patch # https://github.com/coveooss/hareflow/pull/9 ) if(VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_IOS) @@ -21,5 +19,7 @@ vcpkg_cmake_configure( ) vcpkg_cmake_install() -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_cmake_config_fixup() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") diff --git a/ports/hareflow/vcpkg.json b/ports/hareflow/vcpkg.json index cce00f3d48de20..18760fa877a339 100644 --- a/ports/hareflow/vcpkg.json +++ b/ports/hareflow/vcpkg.json @@ -1,7 +1,6 @@ { "name": "hareflow", - "version-semver": "0.1.0", - "port-version": 1, + "version-semver": "0.1.1", "description": "Hareflow: A RabbitMQ C++ stream client.", "homepage": "https://github.com/coveooss/hareflow", "license": "Apache-2.0", diff --git a/ports/harfbuzz/fix-win32-build.patch b/ports/harfbuzz/fix-win32-build.patch index f8551e3aff1c4a..84c6e766702a40 100644 --- a/ports/harfbuzz/fix-win32-build.patch +++ b/ports/harfbuzz/fix-win32-build.patch @@ -13,7 +13,7 @@ index 87e8962..bdfa797 100644 + hb_subset_headers = files( 'hb-subset.h', - 'hb-subset-repacker.h' + 'hb-subset-serialize.h' @@ -559,8 +564,7 @@ defs_list = [harfbuzz_def] version = '0.@0@.0'.format(hb_version_int) diff --git a/ports/harfbuzz/harfbuzzConfig.cmake.in b/ports/harfbuzz/harfbuzzConfig.cmake.in index d072e5171e2b94..88baeefb13da50 100644 --- a/ports/harfbuzz/harfbuzzConfig.cmake.in +++ b/ports/harfbuzz/harfbuzzConfig.cmake.in @@ -72,3 +72,31 @@ if ("icu" IN_LIST HARFBUZZ_FEATURES) find_dependency(ICU 61 COMPONENTS uc) target_link_libraries(harfbuzz INTERFACE ICU::uc) endif() + +add_library(harfbuzz::harfbuzz-subset UNKNOWN IMPORTED) + +find_library(HARFBUZZ_SUBSET_LIBRARY_DEBUG + NAMES harfbuzz-subset + PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug" + PATH_SUFFIXES lib NO_DEFAULT_PATH) +find_library(HARFBUZZ_SUBSET_LIBRARY_RELEASE + NAMES harfbuzz-subset + PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" + PATH_SUFFIXES lib NO_DEFAULT_PATH) + +if(NOT HARFBUZZ_LIBRARY_DEBUG) + set_target_properties(harfbuzz::harfbuzz-subset PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${HARFBUZZ_INCLUDE_DIR}" + IMPORTED_CONFIGURATIONS "RELEASE" + IMPORTED_LOCATION_RELEASE "${HARFBUZZ_SUBSET_LIBRARY_RELEASE}" + ) +else() + set_target_properties(harfbuzz::harfbuzz-subset PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${HARFBUZZ_INCLUDE_DIR}" + IMPORTED_CONFIGURATIONS "DEBUG;RELEASE" + IMPORTED_LOCATION_RELEASE "${HARFBUZZ_SUBSET_LIBRARY_RELEASE}" + IMPORTED_LOCATION_DEBUG "${HARFBUZZ_SUBSET_LIBRARY_DEBUG}" + ) +endif() + +target_link_libraries(harfbuzz::harfbuzz-subset INTERFACE harfbuzz) diff --git a/ports/harfbuzz/portfile.cmake b/ports/harfbuzz/portfile.cmake index 510f40d2e1d8e0..9aea693fe8f4da 100644 --- a/ports/harfbuzz/portfile.cmake +++ b/ports/harfbuzz/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO harfbuzz/harfbuzz REF ${VERSION} - SHA512 3fe54adbdd457c7dd8186c897436982a43e195a62bc0e830fe2dd06ca2c52511b9a717c659a7e30d235ac964df071e8ba1d9f36ee20496a1a80945d7c63fce86 + SHA512 697205a571bb3d52d83598e8511e2e21e7cd15630aac32d8deb4354e462efda6a5ce46510cf4a1c18365dffe935cf2e4f1fda65d1779f17c9bb60c503315bf5c HEAD_REF master PATCHES fix-win32-build.patch @@ -23,9 +23,15 @@ if("coretext" IN_LIST FEATURES) else() list(APPEND FEATURE_OPTIONS -Dcoretext=disabled) endif() +if("directwrite" IN_LIST FEATURES) + list(APPEND FEATURE_OPTIONS -Ddirectwrite=enabled) # Enable DirectWrite support on Windows +else() + list(APPEND FEATURE_OPTIONS -Ddirectwrite=disabled) +endif() if("glib" IN_LIST FEATURES) list(APPEND FEATURE_OPTIONS -Dglib=enabled) # Enable GLib unicode functions list(APPEND FEATURE_OPTIONS -Dgobject=enabled) #Enable GObject bindings + list(APPEND FEATURE_OPTIONS -Dchafa=disabled) else() list(APPEND FEATURE_OPTIONS -Dglib=disabled) list(APPEND FEATURE_OPTIONS -Dgobject=disabled) @@ -35,11 +41,19 @@ if("cairo" IN_LIST FEATURES) else() list(APPEND FEATURE_OPTIONS -Dcairo=disabled) endif() -list(APPEND FEATURE_OPTIONS -Dfreetype=enabled) #Enable freetype interop helpers -#if(VCPKG_TARGET_IS_WINDOWS) - #link errors in qt5-base. probably requires changes to the pc files generated by meson - #list(APPEND FEATURE_OPTIONS -Dgdi=enabled) # enable gdi helpers and uniscribe shaper backend (windows only) -#endif() +if("freetype" IN_LIST FEATURES) + list(APPEND FEATURE_OPTIONS -Dfreetype=enabled) #Enable freetype interop helpers +else() + list(APPEND FEATURE_OPTIONS -Dfreetype=disabled) +endif() +if("experimental-api" IN_LIST FEATURES) + list(APPEND FEATURE_OPTIONS -Dexperimental_api=true) #Enable experimental api +else() + list(APPEND FEATURE_OPTIONS -Dexperimental_api=false) +endif() +if("gdi" IN_LIST FEATURES) + list(APPEND FEATURE_OPTIONS -Dgdi=enabled) # enable gdi helpers and uniscribe shaper backend (windows only) +endif() if("introspection" IN_LIST FEATURES) list(APPEND OPTIONS_DEBUG -Dgobject=enabled -Dintrospection=disabled) @@ -113,3 +127,5 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") endif() vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/harfbuzz/usage b/ports/harfbuzz/usage new file mode 100644 index 00000000000000..250659795b928c --- /dev/null +++ b/ports/harfbuzz/usage @@ -0,0 +1,4 @@ +The harfbuzz package provides CMake targets: + + find_package(harfbuzz CONFIG REQUIRED) + target_link_libraries(main PRIVATE harfbuzz::harfbuzz harfbuzz::harfbuzz-subset) diff --git a/ports/harfbuzz/vcpkg.json b/ports/harfbuzz/vcpkg.json index 89367789e143b7..dae3ed42f0e546 100644 --- a/ports/harfbuzz/vcpkg.json +++ b/ports/harfbuzz/vcpkg.json @@ -1,16 +1,11 @@ { "name": "harfbuzz", - "version": "8.3.0", - "port-version": 1, + "version": "10.2.0", "description": "HarfBuzz OpenType text shaping engine", "homepage": "https://github.com/harfbuzz/harfbuzz", "license": "MIT-Modern-Variant", "supports": "!uwp", "dependencies": [ - { - "name": "freetype", - "default-features": false - }, { "name": "gettext", "platform": "osx" @@ -20,6 +15,9 @@ "host": true } ], + "default-features": [ + "freetype" + ], "features": { "cairo": { "description": "Enable Cairo graphics library support", @@ -37,6 +35,26 @@ "description": "Enable CoreText shaper backend on macOS", "supports": "osx" }, + "directwrite": { + "description": "Enable DirectWrite support on Windows", + "supports": "windows" + }, + "experimental-api": { + "description": "Enable experimental api" + }, + "freetype": { + "description": "Enable FreeType support", + "dependencies": [ + { + "name": "freetype", + "default-features": false + } + ] + }, + "gdi": { + "description": "Enable GDI/Uniscribe support on Windows", + "supports": "windows" + }, "glib": { "description": "Glib Unicode callbacks support", "dependencies": [ diff --git a/ports/hash-library/portfile.cmake b/ports/hash-library/portfile.cmake index 6d6ced51884be6..145f751669ea2a 100644 --- a/ports/hash-library/portfile.cmake +++ b/ports/hash-library/portfile.cmake @@ -1,4 +1,4 @@ -if(WIN32) +if(VCPKG_TARGET_IS_WINDOWS) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) endif() diff --git a/ports/hash-library/vcpkg.json b/ports/hash-library/vcpkg.json index 7c771cc33bac94..0779302945b8ed 100644 --- a/ports/hash-library/vcpkg.json +++ b/ports/hash-library/vcpkg.json @@ -1,7 +1,7 @@ { "name": "hash-library", "version": "8", - "port-version": 2, + "port-version": 3, "description": "Portable C++ hashing library", "homepage": "https://create.stephan-brumme.com/hash-library/", "license": "Zlib", diff --git a/ports/hashids/portfile.cmake b/ports/hashids/portfile.cmake index ebe0125190a7db..4ccb1775edb300 100644 --- a/ports/hashids/portfile.cmake +++ b/ports/hashids/portfile.cmake @@ -3,8 +3,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO tzvetkoff/hashids.c - REF 11ea51510ba968438eb9b1bc3f8c9981be731521 # v1.2.1 - SHA512 a6c066ff6544502f1c0ed55afcf994e6ed52b207e428de58992ec9e3ffef1e6fdb4439f2565e7cb039065403f497fcf8e95a8e3b9843e4f0b9bef22853816270 + REF "v${VERSION}" + SHA512 f752a95118f729eb9e9651fc5d0112271c5cb95c8cefeaef33f61611274075ba4085edca58fb14823d4665de4044eff24397b891a22c2cb196e9c1c287fae378 HEAD_REF master PATCHES hashids.patch @@ -27,4 +27,4 @@ vcpkg_configure_make( vcpkg_install_make() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(INSTALL "${SOURCE_PATH}/LICENSE.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/hashids" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") diff --git a/ports/hashids/vcpkg.json b/ports/hashids/vcpkg.json index 9be115cd2b479c..2b97a2f8c6256e 100644 --- a/ports/hashids/vcpkg.json +++ b/ports/hashids/vcpkg.json @@ -1,6 +1,6 @@ { "name": "hashids", - "version": "1.2.1", + "version": "1.2.2", "description": "generate short unique ids from integers", "homepage": "https://hashids.org/c/", "license": "MIT", diff --git a/ports/hayai/portfile.cmake b/ports/hayai/portfile.cmake index 19d0c4ace0f309..fa0a2a5f83972d 100644 --- a/ports/hayai/portfile.cmake +++ b/ports/hayai/portfile.cmake @@ -43,6 +43,7 @@ if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/hayai_main.lib") "${CURRENT_PACKAGES_DIR}/share/${PORT}/hayai-targets-debug.cmake" "\${CMAKE_CURRENT_LIST_DIR}/../../debug/lib/hayai_main.lib" "\${CMAKE_CURRENT_LIST_DIR}/../../debug/lib/manual-link/hayai_main.lib" + IGNORE_UNCHANGED ) endif() @@ -57,6 +58,7 @@ if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/hayai_main.lib") "${CURRENT_PACKAGES_DIR}/share/${PORT}/hayai-targets-release.cmake" "\${CMAKE_CURRENT_LIST_DIR}/../../lib/hayai_main.lib" "\${CMAKE_CURRENT_LIST_DIR}/../../lib/manual-link/hayai_main.lib" + IGNORE_UNCHANGED ) endif() diff --git a/ports/hayai/vcpkg.json b/ports/hayai/vcpkg.json index c69698cffd6014..7ddbdefc69d6a1 100644 --- a/ports/hayai/vcpkg.json +++ b/ports/hayai/vcpkg.json @@ -1,7 +1,7 @@ { "name": "hayai", "version-date": "2019-08-10", - "port-version": 3, + "port-version": 4, "description": "C++ benchmarking framework", "homepage": "https://github.com/nickbruun/hayai", "dependencies": [ diff --git a/ports/hazelcast-cpp-client/boost-1-86-fix.patch b/ports/hazelcast-cpp-client/boost-1-86-fix.patch new file mode 100644 index 00000000000000..28fc082207f704 --- /dev/null +++ b/ports/hazelcast-cpp-client/boost-1-86-fix.patch @@ -0,0 +1,145 @@ +diff --git a/hazelcast/include/hazelcast/client/protocol/ClientMessage.h b/hazelcast/include/hazelcast/client/protocol/ClientMessage.h +index 4df3620dc..bf0340f47 100644 +--- a/hazelcast/include/hazelcast/client/protocol/ClientMessage.h ++++ b/hazelcast/include/hazelcast/client/protocol/ClientMessage.h +@@ -56,6 +56,11 @@ + namespace hazelcast { + namespace util { + class ByteBuffer; ++ ++template ++struct is_trivial_or_uuid : std::is_trivial {}; ++template<> ++struct is_trivial_or_uuid : std::true_type {}; + } + + namespace cp { +@@ -594,7 +599,7 @@ public: + std::is_same, + typename T::value_type>::value && +- std::is_trivial::value && ++ hazelcast::util::is_trivial_or_uuid::value && + std::is_trivial::value, + T>::type + get() +@@ -625,7 +630,7 @@ public: + std::is_same, + typename T::value_type>::value && +- std::is_trivial::value && ++ hazelcast::util::is_trivial_or_uuid::value && + !std::is_trivial::value, + T>::type + get() +@@ -1246,12 +1251,11 @@ public: + set(nil); + if (!nil) { + boost::endian::endian_reverse_inplace( +- *reinterpret_cast(uuid.data)); ++ *reinterpret_cast(&uuid.data[0])); + boost::endian::endian_reverse_inplace( +- *reinterpret_cast(uuid.data + +- util::Bits::LONG_SIZE_IN_BYTES)); ++ *reinterpret_cast(&uuid.data[util::Bits::LONG_SIZE_IN_BYTES])); + std::memcpy(wr_ptr(sizeof(boost::uuids::uuid)), +- uuid.data, ++ &uuid.data[0], + sizeof(boost::uuids::uuid)); + } else { + wr_ptr(sizeof(boost::uuids::uuid)); +@@ -1525,13 +1529,13 @@ private: + boost::uuids::uuid get_uuid() + { + boost::uuids::uuid u; +- memcpy(&u.data, ++ memcpy(&u.data[0], + rd_ptr(sizeof(boost::uuids::uuid)), + sizeof(boost::uuids::uuid)); + boost::endian::endian_reverse_inplace( +- *reinterpret_cast(u.data)); ++ *reinterpret_cast(&u.data[0])); + boost::endian::endian_reverse_inplace( +- *reinterpret_cast(u.data + util::Bits::LONG_SIZE_IN_BYTES)); ++ *reinterpret_cast(&u.data[util::Bits::LONG_SIZE_IN_BYTES])); + return u; + } + +diff --git a/hazelcast/include/hazelcast/client/serialization/pimpl/data_input.h b/hazelcast/include/hazelcast/client/serialization/pimpl/data_input.h +index 9e678f54d..88a2f14c0 100644 +--- a/hazelcast/include/hazelcast/client/serialization/pimpl/data_input.h ++++ b/hazelcast/include/hazelcast/client/serialization/pimpl/data_input.h +@@ -182,11 +182,11 @@ public: + { + check_available(util::Bits::UUID_SIZE_IN_BYTES); + boost::uuids::uuid u; +- std::memcpy(&u.data, &buffer_[pos_], util::Bits::UUID_SIZE_IN_BYTES); ++ std::memcpy(&u.data[0], &buffer_[pos_], util::Bits::UUID_SIZE_IN_BYTES); + pos_ += util::Bits::UUID_SIZE_IN_BYTES; + if (byte_order_ == boost::endian::order::little) { + boost::endian::endian_reverse_inplace( +- *reinterpret_cast(u.data)); ++ *reinterpret_cast(&u.data[0])); + boost::endian::endian_reverse_inplace( + *reinterpret_cast( + &u.data[util::Bits::LONG_SIZE_IN_BYTES])); +diff --git a/hazelcast/include/hazelcast/client/spi/impl/ClientInvocation.h b/hazelcast/include/hazelcast/client/spi/impl/ClientInvocation.h +index 5b3186347..625c642b2 100644 +--- a/hazelcast/include/hazelcast/client/spi/impl/ClientInvocation.h ++++ b/hazelcast/include/hazelcast/client/spi/impl/ClientInvocation.h +@@ -210,22 +210,7 @@ private: + const std::string& name, + int partition = UNASSIGNED_PARTITION, + const std::shared_ptr& conn = nullptr, +- boost::uuids::uuid uuid = { 0x0, +- 0x0, +- 0x0, +- 0x0, +- 0x0, +- 0x0, +- 0x0, +- 0x0, +- 0x0, +- 0x0, +- 0x0, +- 0x0, +- 0x0, +- 0x0, +- 0x0, +- 0x0 }); ++ boost::uuids::uuid uuid = {}); + + void invoke_on_selection(); + +diff --git a/hazelcast/src/hazelcast/client/protocol.cpp b/hazelcast/src/hazelcast/client/protocol.cpp +index cfc67f26f..934d9da4b 100644 +--- a/hazelcast/src/hazelcast/client/protocol.cpp ++++ b/hazelcast/src/hazelcast/client/protocol.cpp +@@ -376,7 +376,7 @@ operator<<(std::ostream& os, const ClientMessage& msg) + void + ClientMessage::set(unsigned char* /* memory */, boost::uuids::uuid uuid) + { +- std::memcpy(wr_ptr(uuid.size()), uuid.data, uuid.size()); ++ std::memcpy(wr_ptr(uuid.size()), &uuid.data[0], uuid.size()); + } + + void +diff --git a/hazelcast/src/hazelcast/client/serialization.cpp b/hazelcast/src/hazelcast/client/serialization.cpp +index 071772fec..8dcb6ccf0 100644 +--- a/hazelcast/src/hazelcast/client/serialization.cpp ++++ b/hazelcast/src/hazelcast/client/serialization.cpp +@@ -731,12 +731,12 @@ data_output::write(boost::uuids::uuid v) + } + if (byte_order_ == boost::endian::order::little) { + boost::endian::endian_reverse_inplace( +- *reinterpret_cast(v.data)); ++ *reinterpret_cast(&v.data[0])); + boost::endian::endian_reverse_inplace( + *reinterpret_cast(&v.data[util::Bits::LONG_SIZE_IN_BYTES])); + } + output_stream_.insert( +- output_stream_.end(), v.data, v.data + util::Bits::UUID_SIZE_IN_BYTES); ++ output_stream_.end(), &v.data[0], &v.data[util::Bits::LONG_SIZE_IN_BYTES]); + } + + template<> diff --git a/ports/hazelcast-cpp-client/portfile.cmake b/ports/hazelcast-cpp-client/portfile.cmake index 4e4e3da5bef0f6..040be5081dc11c 100644 --- a/ports/hazelcast-cpp-client/portfile.cmake +++ b/ports/hazelcast-cpp-client/portfile.cmake @@ -4,6 +4,8 @@ vcpkg_from_github( REF "v${VERSION}" SHA512 9f6668fe88b1e10e1c91fea26acb12efab464f652d9008e43b06d92413a7bc4b66cd0ef00c0643ddf12c8d29b099cd767209a096e609fa214233dcc3288d194e HEAD_REF master + PATCHES + boost-1-86-fix.patch # https://github.com/hazelcast/hazelcast-cpp-client/pull/1247 ) vcpkg_check_features( diff --git a/ports/hazelcast-cpp-client/vcpkg.json b/ports/hazelcast-cpp-client/vcpkg.json index 4f49b1c36a48f5..3b20a043709a75 100644 --- a/ports/hazelcast-cpp-client/vcpkg.json +++ b/ports/hazelcast-cpp-client/vcpkg.json @@ -1,6 +1,7 @@ { "name": "hazelcast-cpp-client", "version": "5.3.0", + "port-version": 1, "description": "C++ client library for Hazelcast in-memory database.", "homepage": "https://github.com/hazelcast/hazelcast-cpp-client", "documentation": "http://hazelcast.github.io/hazelcast-cpp-client/index.html", diff --git a/ports/hdf5/add-_Float16-type-on-aarch64.patch b/ports/hdf5/add-_Float16-type-on-aarch64.patch new file mode 100644 index 00000000000000..3e324dc7e05b61 --- /dev/null +++ b/ports/hdf5/add-_Float16-type-on-aarch64.patch @@ -0,0 +1,16 @@ +diff --git a/src/H5private.h b/src/H5private.h +index 904aa9f..e745c03 100644 +--- a/src/H5private.h ++++ b/src/H5private.h +@@ -602,7 +602,11 @@ + */ + #ifdef H5_HAVE__FLOAT16 + #if defined(__GNUC__) ++#if defined(__aarch64__) ++typedef __fp16 H5__Float16; ++#else + __extension__ typedef _Float16 H5__Float16; ++#endif + #else + typedef _Float16 H5__Float16; + #endif diff --git a/ports/hdf5/hdf5_config.patch b/ports/hdf5/hdf5_config.patch index 9055a080b24a22..12ace2b8cb91e6 100644 --- a/ports/hdf5/hdf5_config.patch +++ b/ports/hdf5/hdf5_config.patch @@ -2,7 +2,7 @@ diff --git a/config/cmake/hdf5-config.cmake.in b/config/cmake/hdf5-config.cmake. index 1a3fb7bbf2..79081ce040 100644 --- a/config/cmake/hdf5-config.cmake.in +++ b/config/cmake/hdf5-config.cmake.in -@@ -120,12 +114,17 @@ set (${HDF5_PACKAGE_NAME}_VERSION_MINOR @HDF5_VERSION_MINOR@) +@@ -120,12 +114,22 @@ set (${HDF5_PACKAGE_NAME}_VERSION_MINOR @HDF5_VERSION_MINOR@) # Don't include targets if this file is being picked up by another # project which has already built hdf5 as a subproject #----------------------------------------------------------------------------- @@ -16,7 +16,12 @@ index 1a3fb7bbf2..79081ce040 100644 if (${HDF5_PACKAGE_NAME}_ENABLE_SZIP_SUPPORT AND ${HDF5_PACKAGE_NAME}_PACKAGE_EXTLIBS) include (@PACKAGE_SHARE_INSTALL_DIR@/@LIBAEC_PACKAGE_NAME@@HDF_PACKAGE_EXT@-targets.cmake) + elseif (${HDF5_PACKAGE_NAME}_ENABLE_SZIP_SUPPORT) -+ find_dependency(szip) ++ if (${HDF5_PACKAGE_NAME}_BUILD_STATIC_LIBS) ++ set(libaec_USE_STATIC_LIBS ON) ++ else() ++ set(libaec_USE_STATIC_LIBS OFF) ++ endif() ++ find_dependency(libaec) endif () include (@PACKAGE_SHARE_INSTALL_DIR@/@HDF5_PACKAGE@@HDF_PACKAGE_EXT@-targets.cmake) endif () diff --git a/ports/hdf5/pkgconfig-requires.patch b/ports/hdf5/pkgconfig-requires.patch index a1e8470e097951..1e92e740c8be10 100644 --- a/ports/hdf5/pkgconfig-requires.patch +++ b/ports/hdf5/pkgconfig-requires.patch @@ -2,22 +2,14 @@ diff --git a/CMakeFilters.cmake b/CMakeFilters.cmake index 141ab44..66b7efa 100644 --- a/CMakeFilters.cmake +++ b/CMakeFilters.cmake -@@ -95,6 +95,7 @@ if (HDF5_ENABLE_Z_LIB_SUPPORT) +@@ -79,6 +79,7 @@ if (HDF5_ENABLE_Z_LIB_SUPPORT) set (ZLIB_INCLUDE_DIR_GEN ${ZLIB_INCLUDE_DIR}) set (ZLIB_INCLUDE_DIRS ${ZLIB_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIR}) set (LINK_COMP_LIBS ${LINK_COMP_LIBS} ${ZLIB_LIBRARIES}) + set (zlib_PC_LIBS_PRIVATE "${ZLIB_LIBRARIES}") endif () else () - if (BUILD_ZLIB_WITH_FETCHCONTENT) -@@ -148,6 +148,7 @@ if (HDF5_ENABLE_SZIP_SUPPORT) - if (TARGET szip-shared) - set(SZIP_LIBRARIES szip-shared) - endif() -+ set(szip_PC_LIBS_PRIVATE "${SZIP_LIBRARIES}") - if (NOT SZIP_FOUND) - find_package (SZIP) # Legacy find - endif () + if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ") diff --git a/CMakeLists.txt b/CMakeLists.txt index b75fdd2..a2e88fd 100644 --- a/CMakeLists.txt @@ -54,7 +46,7 @@ index b3c2226..ea80d60 100644 set (_PKG_CONFIG_REQUIRES) +set (_PKG_CONFIG_REQUIRES_PRIVATE) +set (_PKG_CONFIG_LIBS_PRIVATE " ${_PKG_CONFIG_LIBS_PRIVATE} ") -+foreach(_module IN ITEMS ompi-c szip zlib) ++foreach(_module IN ITEMS ompi-c zlib) + if(${_module}_PC_LIBS_PRIVATE) + foreach(_lib IN LISTS ${_module}_PC_LIBS_PRIVATE) + string(REPLACE " -l${_lib} " " " _PKG_CONFIG_LIBS_PRIVATE "${_PKG_CONFIG_LIBS_PRIVATE}") diff --git a/ports/hdf5/portfile.cmake b/ports/hdf5/portfile.cmake index 77d4c6aa150806..71811c04feb716 100644 --- a/ports/hdf5/portfile.cmake +++ b/ports/hdf5/portfile.cmake @@ -1,15 +1,15 @@ # highfive should be updated together with hdf5 -string(REPLACE "." "_" hdf5_ref "hdf5-${VERSION}") +string(REPLACE "." "." hdf5_ref "hdf5_${VERSION}") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO HDFGroup/hdf5 REF "${hdf5_ref}" - SHA512 9b44993bcdc1493a22da61c77a1bd962c0088ff8e7fb75c00568617386cfc296a73bbdae79c05847109bf1984e95660bbe459f8a96950f6cf71002800eed23f8 + SHA512 77849b644f5312eae5a3f2fe45666d9df95cc21b092207dae01ca7d019e428255d75fe0c27538e4101eabf2030927a73ceaec8e1471c72b51fed5370810f9a35 HEAD_REF develop PATCHES hdf5_config.patch - szip.patch + add-_Float16-type-on-aarch64.patch pkgconfig-requires.patch ) @@ -28,8 +28,8 @@ if ("threadsafe" IN_LIST FEATURES AND set(ALLOW_UNSUPPORTED ON) endif() -if ("fortran" IN_LIST FEATURE) - message(WARNING "Feature 'fortran' is not yet official supported within VCPKG. Build will most likly fail if ninja 1.10 and a Fortran compiler are not available.") +if ("fortran" IN_LIST FEATURES) + message(WARNING "Feature 'fortran' is not yet officially supported within VCPKG. Build will most likly fail if ninja 1.10 and a Fortran compiler are not available.") endif() vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS @@ -51,7 +51,10 @@ if("tools" IN_LIST FEATURES AND VCPKG_CRT_LINKAGE STREQUAL "static") list(APPEND FEATURE_OPTIONS -DBUILD_STATIC_EXECS=ON) endif() -if(NOT VCPKG_LIBRARY_LINKAGE STREQUAL "static") +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + list(APPEND FEATURE_OPTIONS + -DUSE_LIBAEC_STATIC=ON) +else() list(APPEND FEATURE_OPTIONS -DBUILD_STATIC_LIBS=OFF -DONLY_SHARED_LIBS=ON) @@ -69,7 +72,6 @@ vcpkg_cmake_configure( -DHDF_PACKAGE_NAMESPACE:STRING=hdf5:: -DHDF5_MSVC_NAMING_CONVENTION=OFF -DALLOW_UNSUPPORTED=${ALLOW_UNSUPPORTED} - -DCMAKE_DISABLE_FIND_PACKAGE_libaec=ON OPTIONS_RELEASE -DCMAKE_DEBUG_POSTFIX= # For lib name in pkgconfig files ) @@ -88,10 +90,10 @@ vcpkg_fixup_pkgconfig() file(GLOB pc_files "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/*.pc" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/*.pc") foreach(file IN LISTS pc_files) if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW AND VCPKG_LIBRARY_LINKAGE STREQUAL "static") - vcpkg_replace_string("${file}" " -lhdf5" " -llibhdf5") + vcpkg_replace_string("${file}" " -lhdf5" " -llibhdf5" IGNORE_UNCHANGED) endif() if(VCPKG_TARGET_IS_WINDOWS) - vcpkg_replace_string("${file}" "/msmpi.lib\"" "/msmpi\"") + vcpkg_replace_string("${file}" "/msmpi.lib\"" "/msmpi\"" IGNORE_UNCHANGED) endif() endforeach() @@ -106,15 +108,13 @@ set(HDF5_TOOLS "") if("tools" IN_LIST FEATURES) list(APPEND HDF5_TOOLS h5copy h5diff h5dump h5ls h5stat gif2h5 h52gif h5clear h5debug h5format_convert h5jam h5unjam h5mkgrp h5repack h5repart h5watch h5import h5delete + h5perf_serial ) if("parallel" IN_LIST FEATURES) list(APPEND HDF5_TOOLS ph5diff) endif() - if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - list(TRANSFORM HDF5_TOOLS REPLACE "^(.+)$" "\\1-shared") - endif() if(NOT VCPKG_TARGET_IS_WINDOWS) list(APPEND HDF5_TOOLS h5cc h5hlcc) @@ -128,8 +128,6 @@ if("tools" IN_LIST FEATURES) if(NOT VCPKG_TARGET_IS_WINDOWS) list(APPEND HDF5_TOOLS h5pcc) endif() - else() - list(APPEND HDF5_TOOLS h5perf_serial) endif() endif() @@ -141,7 +139,7 @@ if(HDF5_TOOLS) vcpkg_copy_tools(TOOL_NAMES ${HDF5_TOOLS} AUTO_CLEAN) foreach(tool h5cc h5pcc h5hlcc) if(EXISTS "${CURRENT_PACKAGES_DIR}/tools/${PORT}/${tool}") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/${tool}" "${CURRENT_INSTALLED_DIR}" "$(dirname \"$0\")/../..") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/${tool}" "${CURRENT_INSTALLED_DIR}" "$(dirname \"$0\")/../.." IGNORE_UNCHANGED) endif() endforeach() if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/h5fuse.sh") diff --git a/ports/hdf5/szip.patch b/ports/hdf5/szip.patch deleted file mode 100644 index 2646ede7ed4425..00000000000000 --- a/ports/hdf5/szip.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/CMakeFilters.cmake b/CMakeFilters.cmake -index d5f801e..141ab44 100644 ---- a/CMakeFilters.cmake -+++ b/CMakeFilters.cmake -@@ -142,7 +142,12 @@ if (HDF5_ENABLE_SZIP_SUPPORT) - set (LINK_COMP_LIBS ${LINK_COMP_LIBS} ${SZIP_LIBRARIES}) - endif () - if (NOT SZIP_FOUND) -- find_package (SZIP NAMES ${LIBAEC_PACKAGE_NAME}${HDF_PACKAGE_EXT} COMPONENTS static shared) -+ find_package(SZIP NAMES szip REQUIRED) -+ set(SZIP_INCLUDE_DIR "") -+ set(SZIP_LIBRARIES szip-static) -+ if (TARGET szip-shared) -+ set(SZIP_LIBRARIES szip-shared) -+ endif() - if (NOT SZIP_FOUND) - find_package (SZIP) # Legacy find - endif () diff --git a/ports/hdf5/vcpkg.json b/ports/hdf5/vcpkg.json index 25e584f1bd3c13..ea919e911bcd2e 100644 --- a/ports/hdf5/vcpkg.json +++ b/ports/hdf5/vcpkg.json @@ -1,6 +1,7 @@ { "name": "hdf5", - "version": "1.14.2", + "version": "1.14.4.3", + "port-version": 3, "description": "HDF5 is a data model, library, and file format for storing and managing data", "homepage": "https://www.hdfgroup.org/downloads/hdf5/", "license": "BSD-3-Clause", @@ -38,7 +39,7 @@ "szip": { "description": "Build with szip", "dependencies": [ - "szip" + "libaec" ] }, "threadsafe": { diff --git a/ports/hdr-histogram/portfile.cmake b/ports/hdr-histogram/portfile.cmake new file mode 100644 index 00000000000000..265e72bb9e3196 --- /dev/null +++ b/ports/hdr-histogram/portfile.cmake @@ -0,0 +1,51 @@ +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO HdrHistogram/HdrHistogram_c + REF ${VERSION} + SHA512 2ede4b8412c4f0070d555515498e163397de5edebe7560eaea13adcb95a52b7fea99686aed06bbca0c6e8afdf65715483c3889d750f6b5b727bcf43c4fbe18d4 + HEAD_REF main +) + +if("log" IN_LIST FEATURES) + list(APPEND FEATURE_OPTIONS "-DHDR_LOG_REQUIRED=ON") +else() + list(APPEND FEATURE_OPTIONS "-DHDR_LOG_REQUIRED=DISABLED") +endif() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + list(APPEND FEATURE_OPTIONS "-DHDR_HISTOGRAM_BUILD_STATIC:BOOL=OFF") + list(APPEND FEATURE_OPTIONS "-DHDR_HISTOGRAM_INSTALL_STATIC:BOOL=OFF") +else() + list(APPEND FEATURE_OPTIONS "-DHDR_HISTOGRAM_BUILD_SHARED:BOOL=OFF") + list(APPEND FEATURE_OPTIONS "-DHDR_HISTOGRAM_INSTALL_SHARED:BOOL=OFF") +endif() + +# Do not build tests and examples +list(APPEND FEATURE_OPTIONS "-DHDR_HISTOGRAM_BUILD_PROGRAMS:BOOL=OFF") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup( + PACKAGE_NAME hdr_histogram + CONFIG_PATH lib/cmake/hdr_histogram +) + +vcpkg_fixup_pkgconfig() + +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt" "${SOURCE_PATH}/COPYING.txt") + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/hdr-histogram/usage b/ports/hdr-histogram/usage new file mode 100644 index 00000000000000..5eaa6dce03bd79 --- /dev/null +++ b/ports/hdr-histogram/usage @@ -0,0 +1,4 @@ +hdr_histogram provides CMake targets: + + find_package(hdr_histogram CONFIG REQUIRED) + target_link_libraries(main PRIVATE $,hdr_histogram::hdr_histogram,hdr_histogram::hdr_histogram_static>) diff --git a/ports/hdr-histogram/vcpkg.json b/ports/hdr-histogram/vcpkg.json new file mode 100644 index 00000000000000..a09be7dd1fd084 --- /dev/null +++ b/ports/hdr-histogram/vcpkg.json @@ -0,0 +1,26 @@ +{ + "name": "hdr-histogram", + "version-semver": "0.11.8", + "description": "'C' port of High Dynamic Range (HDR) Histogram", + "homepage": "https://github.com/HdrHistogram/HdrHistogram_c", + "license": "CC0-1.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "zlib" + ], + "features": { + "log": { + "description": "Logging support for HdrHistogram", + "dependencies": [ + "zlib" + ] + } + } +} diff --git a/ports/hello-imgui/portfile.cmake b/ports/hello-imgui/portfile.cmake new file mode 100644 index 00000000000000..3fff729b0c425a --- /dev/null +++ b/ports/hello-imgui/portfile.cmake @@ -0,0 +1,126 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) # this mirrors ImGui's portfile behavior + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO pthom/hello_imgui + REF "v${VERSION}" + SHA512 b44741e27278974f6a545a3143abd18027d98503cc912085e08528c467197fb208d2d4876e483f74e518f3dfc14d12c3579e379b9939dc364a1fff4ee98bb8f5 + HEAD_REF master +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + "opengl3-binding" HELLOIMGUI_HAS_OPENGL3 + "metal-binding" HELLOIMGUI_HAS_METAL + "experimental-vulkan-binding" HELLOIMGUI_HAS_VULKAN + "experimental-dx11-binding" HELLOIMGUI_HAS_DIRECTX11 + "experimental-dx12-binding" HELLOIMGUI_HAS_DIRECTX12 + "glfw-binding" HELLOIMGUI_USE_GLFW3 + "sdl2-binding" HELLOIMGUI_USE_SDL2 + "freetype-lunasvg" HELLOIMGUI_USE_FREETYPE # When hello_imgui is built with freetype, it will also build with lunasvg +) + +if (NOT HELLOIMGUI_HAS_OPENGL3 + AND NOT HELLOIMGUI_HAS_METAL + AND NOT HELLOIMGUI_HAS_VULKAN + AND NOT HELLOIMGUI_HAS_DIRECTX11 + AND NOT HELLOIMGUI_HAS_DIRECTX12) + set(no_rendering_backend ON) +endif() + +if (NOT HELLOIMGUI_USE_GLFW3 AND NOT HELLOIMGUI_USE_SDL2) + set(no_platform_backend ON) +endif() + + +set(platform_options "") +if(VCPKG_TARGET_IS_WINDOWS) + # Standard win32 options (these are the defaults for HelloImGui) + # we could add a vcpkg feature for this, but it would have to be platform specific + list(APPEND platform_options + -DHELLOIMGUI_WIN32_NO_CONSOLE=ON + -DHELLOIMGUI_WIN32_AUTO_WINMAIN=ON + ) +endif() + +if(VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_IOS) + # Standard macOS options (these are the defaults for HelloImGui) + # we could add a vcpkg feature for this, but it would have to be platform specific + list(APPEND platform_options + -DHELLOIMGUI_MACOS_NO_BUNDLE=OFF + ) +endif() + + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DHELLOIMGUI_BUILD_DEMOS=OFF + -DHELLOIMGUI_BUILD_DOCS=OFF + -DHELLOIMGUI_BUILD_TESTS=OFF + + # vcpkg does not support ImGui Test Engine, so we cannot enable it + -DHELLOIMGUI_WITH_TEST_ENGINE=OFF + + -DHELLOIMGUI_USE_IMGUI_CMAKE_PACKAGE=ON + -DHELLO_IMGUI_IMGUI_SHARED=OFF + -DHELLOIMGUI_BUILD_IMGUI=OFF + + ${platform_options} + + # Rendering backends + -DHELLOIMGUI_HAS_OPENGL3=${HELLOIMGUI_HAS_OPENGL3} + -DHELLOIMGUI_HAS_METAL=${HELLOIMGUI_HAS_METAL} + -DHELLOIMGUI_HAS_VULKAN=${HELLOIMGUI_HAS_VULKAN} + -DHELLOIMGUI_HAS_DIRECTX11=${HELLOIMGUI_HAS_DIRECTX11} + -DHELLOIMGUI_HAS_DIRECTX12=${HELLOIMGUI_HAS_DIRECTX12} + + # Platform backends + -DHELLOIMGUI_USE_GLFW3=${HELLOIMGUI_USE_GLFW3} + -DHELLOIMGUI_USE_SDL2=${HELLOIMGUI_USE_SDL2} +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/hello_imgui PACKAGE_NAME "hello-imgui") # should be active once himgui produces a config + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/share/hello-imgui/hello_imgui_cmake/ios-cmake" +) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +if (no_rendering_backend OR no_platform_backend) + message(STATUS " + ######################################################################## + !!!! WARNING !!!!! + !!!! Installed hello-imgui without a viable backend !!!!! + ######################################################################## + + When installing hello-imgui, you should specify: + + - At least one (or more) rendering backend (OpenGL3, Metal, Vulkan, DirectX11, DirectX12) + Make your choice according to your needs and your target platforms, between: + opengl3-binding # This is the recommended choice, especially for beginners + metal-binding # Apple only, advanced users only + experimental-vulkan-binding # Advanced users only + experimental-dx11-binding # Windows only, still experimental + experimental-dx12-binding # Windows only, advanced users only, still experimental + + - At least one (or more) platform backend (SDL2, Glfw3): + Make your choice according to your needs and your target platforms, between: + glfw-binding + sdl-binding + + For example, you could use: + vcpkg install \"hello-imgui[opengl3-binding,glfw-binding]\" + + ######################################################################## + !!!! WARNING !!!!! + !!!! Installed hello-imgui without a viable backend !!!!! + ######################################################################## + ") +endif() diff --git a/ports/hello-imgui/usage b/ports/hello-imgui/usage new file mode 100644 index 00000000000000..a4b8a172709380 --- /dev/null +++ b/ports/hello-imgui/usage @@ -0,0 +1,17 @@ +hello_imgui provides CMake targets and hello_imgui_add_app: + +Usage with `hello_imgui_add_app` (recommended) + set(CMAKE_CXX_STANDARD 17) + find_package(hello-imgui CONFIG REQUIRED) + hello_imgui_add_app(test test.cpp) # see example below + +Usage with `target_link_libraries` + set(CMAKE_CXX_STANDARD 17) + find_package(hello-imgui CONFIG REQUIRED) + # Note the subtle difference between the package name and the target name: hello-imgui vs hello_imgui! + target_link_libraries(main PRIVATE hello-imgui::hello_imgui) + # this mode will ignore all of hello_imgui cmake tooling, and will not deploy the assets + +Example test.cpp: + #include "hello_imgui/hello_imgui.h" + int main() { HelloImGui::Run([](){ ImGui::Text("Hello, world!"); ImGui::ShowDemoWindow(); }); } diff --git a/ports/hello-imgui/vcpkg.json b/ports/hello-imgui/vcpkg.json new file mode 100644 index 00000000000000..244d900b3f3b74 --- /dev/null +++ b/ports/hello-imgui/vcpkg.json @@ -0,0 +1,121 @@ +{ + "name": "hello-imgui", + "version": "1.6.0", + "description": "Hello ImGui: unleash your creativity in app development and prototyping", + "homepage": "https://pthom.github.io/hello_imgui/", + "license": "MIT", + "dependencies": [ + { + "name": "imgui", + "features": [ + "docking-experimental" + ] + }, + "stb", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "experimental-dx11-binding": { + "description": "Use DirectX11 renderer backend (Windows only, experimental)", + "dependencies": [ + { + "name": "imgui", + "features": [ + "dx11-binding" + ] + } + ] + }, + "experimental-dx12-binding": { + "description": "Use DirectX12 renderer backend (Windows only, experimental)", + "dependencies": [ + { + "name": "imgui", + "features": [ + "dx12-binding" + ] + } + ] + }, + "experimental-vulkan-binding": { + "description": "Use Vulkan renderer backend (Windows/Linux/macOS, experimental)", + "dependencies": [ + { + "name": "imgui", + "features": [ + "vulkan-binding" + ] + } + ] + }, + "freetype-lunasvg": { + "description": "Improve font rendering and use colored fonts with freetype and lunasvg", + "dependencies": [ + { + "name": "imgui", + "features": [ + "freetype", + "freetype-lunasvg" + ] + } + ] + }, + "glfw-binding": { + "description": "Use GLFW platform backend (default)", + "dependencies": [ + { + "name": "imgui", + "features": [ + "glfw-binding" + ] + } + ] + }, + "metal-binding": { + "description": "Use Metal renderer backend (macOS/iOS only)", + "dependencies": [ + { + "name": "imgui", + "features": [ + "metal-binding" + ] + } + ] + }, + "opengl3-binding": { + "description": "Use OpenGL3/ES2 renderer backend (default)", + "dependencies": [ + { + "name": "glad", + "features": [ + "gl-api-43" + ] + }, + { + "name": "imgui", + "features": [ + "opengl3-binding" + ] + } + ] + }, + "sdl2-binding": { + "description": "Use SDL2 platform backend", + "dependencies": [ + { + "name": "imgui", + "features": [ + "sdl2-binding" + ] + } + ] + } + } +} diff --git a/ports/hexl/portfile.cmake b/ports/hexl/portfile.cmake index e18590542d3fa0..b5e74b11f06c2d 100644 --- a/ports/hexl/portfile.cmake +++ b/ports/hexl/portfile.cmake @@ -3,8 +3,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO intel/hexl - REF b4589b6149a46dd287bcc0c81c746f72bcf6b37d # 1.2.4 - SHA512 79eaec45cf5b83459e41cd26c58118a1d0fa4bc1f07ebb00ebd646c90effb0d1dc26f3c33d28f3f1d3cd1cdff8fd23053790156b1c1a736525681bb6fa1fe027 + REF "v${VERSION}" + SHA512 1a5e42fdeac877f3b4ef87ab75ffa8280697e941d7a8f0f6dc8c5066f2dd405470530dfabdf12d846362bd3e7e6cd30fd1f11d8dd99bee5086d09371ba1da196 HEAD_REF development ) @@ -22,7 +22,7 @@ vcpkg_cmake_configure( vcpkg_cmake_install() vcpkg_fixup_pkgconfig() -vcpkg_cmake_config_fixup(PACKAGE_NAME "HEXL" CONFIG_PATH "lib/cmake/hexl-1.2.4") +vcpkg_cmake_config_fixup(PACKAGE_NAME "HEXL" CONFIG_PATH "lib/cmake/hexl-${VERSION}") vcpkg_copy_pdbs() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/hexl/vcpkg.json b/ports/hexl/vcpkg.json index 86e61f459d646b..50e37cc5824873 100644 --- a/ports/hexl/vcpkg.json +++ b/ports/hexl/vcpkg.json @@ -1,6 +1,6 @@ { "name": "hexl", - "version": "1.2.4", + "version": "1.2.5", "description": "Intel® HEXL is an open-source library which provides efficient implementations of integer arithmetic on Galois fields.", "homepage": "https://github.com/intel/hexl", "license": "Apache-2.0", diff --git a/ports/hffix/portfile.cmake b/ports/hffix/portfile.cmake index a5d6353cb8e7f5..1d4010ebae5d52 100644 --- a/ports/hffix/portfile.cmake +++ b/ports/hffix/portfile.cmake @@ -1,10 +1,10 @@ -# header only library +set(VCPKG_BUILD_TYPE release) # header-only port vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO jamesdbrock/hffix REF "v${VERSION}" - SHA512 a04a22360074f383997756d36ddf520a565e5d200e32e8439ef92f33bcb30ab29e962fc4d85142c1da323ddf9fef2d8b6a023dcbeedf1a5c269889adfcd70fb8 + SHA512 155c0e0bd57d952523343e94b0160baf3b20d366ff8260340d96c2ec4e638c94d192c08b7204303b0fa8610beb5c71046f62fa8b0212b477aaab88e49974cac1 HEAD_REF master ) @@ -16,7 +16,6 @@ vcpkg_cmake_configure( vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/hffix") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) \ No newline at end of file +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/hffix/vcpkg.json b/ports/hffix/vcpkg.json index 3560597046884a..d8064e69b63b81 100644 --- a/ports/hffix/vcpkg.json +++ b/ports/hffix/vcpkg.json @@ -1,6 +1,6 @@ { "name": "hffix", - "version": "1.3.0", + "version": "1.4.1", "description": "Financial Information Exchange Protocol C++ Library", "homepage": "https://jamesdbrock.github.io/hffix", "license": "BSD-2-Clause", diff --git a/ports/hidapi/portfile.cmake b/ports/hidapi/portfile.cmake index 12d98903a478e7..729d2088ba7620 100644 --- a/ports/hidapi/portfile.cmake +++ b/ports/hidapi/portfile.cmake @@ -26,7 +26,7 @@ if ("pp-data-dump" IN_LIST FEATURES) vcpkg_copy_tools(TOOL_NAMES pp_data_dump AUTO_CLEAN) endif() -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/hidapi/libhidapi.cmake" "\"/hidapi\"" "\"\${_IMPORT_PREFIX}/include\"") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/hidapi/libhidapi.cmake" "\"/hidapi\"" "\"\${_IMPORT_PREFIX}/include\"" IGNORE_UNCHANGED) file(INSTALL "${SOURCE_PATH}/LICENSE-bsd.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/hidapi/vcpkg.json b/ports/hidapi/vcpkg.json index 5473ce745c6310..a23064c2ad9b05 100644 --- a/ports/hidapi/vcpkg.json +++ b/ports/hidapi/vcpkg.json @@ -1,6 +1,7 @@ { "name": "hidapi", "version-semver": "0.14.0", + "port-version": 1, "description": "A Simple library for communicating with USB and Bluetooth HID devices on Linux, Mac and Windows.", "homepage": "https://github.com/libusb/hidapi", "license": "BSD-3-Clause-Clear", diff --git a/ports/highfive/portfile.cmake b/ports/highfive/portfile.cmake index 898ef233a9a792..d475c65f959e22 100644 --- a/ports/highfive/portfile.cmake +++ b/ports/highfive/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO BlueBrain/HighFive REF "v${VERSION}" - SHA512 4fbbd3898791a67e44329a5d0e20e16454b9393510236563b12fe4346cd4f2785d43d915ea05239ac1568d00651e41d85d93590f01454ffc1b82e7bba28e780a + SHA512 8204f1cc6d54576d9eb100991d4c18b84af70254f0276ef346627f8be2458d25820b305d6fac36bdbb524dd55a1bdc29383c9897530507b46c34e53fa9cca34a HEAD_REF master PATCHES fix-error-C1128.patch @@ -24,6 +24,7 @@ endif() vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" + DISABLE_PARALLEL_CONFIGURE OPTIONS ${FEATURE_OPTIONS} -DHIGHFIVE_EXAMPLES=OFF diff --git a/ports/highfive/vcpkg.json b/ports/highfive/vcpkg.json index 614555560360cf..4af9e227bed339 100644 --- a/ports/highfive/vcpkg.json +++ b/ports/highfive/vcpkg.json @@ -1,7 +1,6 @@ { "name": "highfive", - "version": "2.7.1", - "port-version": 1, + "version": "2.10.0", "description": "HighFive is a modern header-only C++/C++11 friendly interface for libhdf5", "homepage": "https://github.com/BlueBrain/HighFive", "license": "BSL-1.0", diff --git a/ports/highs/fix-cmake-output.patch b/ports/highs/fix-cmake-output.patch deleted file mode 100644 index 614bbe67a6276a..00000000000000 --- a/ports/highs/fix-cmake-output.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 605a1e2..148c006 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -196,6 +196,7 @@ if(MSVC) - unsigned long y; - _BitScanReverse(&y, x); - _BitScanReverse64(&x, y); -+ __popcnt64(x); - return 0; - }" - HIGHS_HAVE_BITSCAN_REVERSE) -@@ -570,7 +572,6 @@ else(FAST_BUILD) - # Add tests in examples/tests - add_subdirectory(examples) - -- add_subdirectory(app) - - if(EXP) - add_executable(doctest) diff --git a/ports/highs/fix-compiler.patch b/ports/highs/fix-compiler.patch index e186e405a87a84..b6961601042cee 100644 --- a/ports/highs/fix-compiler.patch +++ b/ports/highs/fix-compiler.patch @@ -1,20 +1,28 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 605a1e275..47233aa10 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -5,6 +5,7 @@ - cmake_minimum_required(VERSION 3.15) - - # set preference for clang compiler and intel compiler over gcc and other compilers -+if(0) - include(Platform/${CMAKE_SYSTEM_NAME}-Determine-C OPTIONAL) - include(Platform/${CMAKE_SYSTEM_NAME}-C OPTIONAL) - set(CMAKE_C_COMPILER_NAMES clang icc cc ${CMAKE_C_COMPILER_NAMES}) -@@ -12,6 +13,7 @@ set(CMAKE_C_COMPILER_NAMES clang icc cc ${CMAKE_C_COMPILER_NAMES}) - include(Platform/${CMAKE_SYSTEM_NAME}-Determine-CXX OPTIONAL) - include(Platform/${CMAKE_SYSTEM_NAME}-CXX OPTIONAL) - set(CMAKE_CXX_COMPILER_NAMES clang++ icpc c++ ${CMAKE_CXX_COMPILER_NAMES}) -+endif() - - list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") - +diff --git a/CMakeLists.txt b/CMakeLists.txt +index aa5930287..42fa1fde7 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -7,6 +7,7 @@ + cmake_minimum_required(VERSION 3.15...3.27) + + # set preference for clang compiler and intel compiler over gcc and other compilers ++if(0) + include(Platform/${CMAKE_SYSTEM_NAME}-Determine-C OPTIONAL) + include(Platform/${CMAKE_SYSTEM_NAME}-C OPTIONAL) + set(CMAKE_C_COMPILER_NAMES clang icc cc ${CMAKE_C_COMPILER_NAMES}) +@@ -14,6 +15,7 @@ set(CMAKE_C_COMPILER_NAMES clang icc cc ${CMAKE_C_COMPILER_NAMES}) + include(Platform/${CMAKE_SYSTEM_NAME}-Determine-CXX OPTIONAL) + include(Platform/${CMAKE_SYSTEM_NAME}-CXX OPTIONAL) + set(CMAKE_CXX_COMPILER_NAMES clang++ icpc c++ ${CMAKE_CXX_COMPILER_NAMES}) ++endif() + + list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") + +@@ -246,6 +248,7 @@ if(MSVC) + unsigned long y; + _BitScanReverse(&y, x); + _BitScanReverse64(&x, y); ++ __popcnt64(x); + return 0; + }" + HIGHS_HAVE_BITSCAN_REVERSE) diff --git a/ports/highs/fix-hconfig-path.patch b/ports/highs/fix-hconfig-path.patch index 6559b800fe9c69..bffb0eaf5f09af 100644 --- a/ports/highs/fix-hconfig-path.patch +++ b/ports/highs/fix-hconfig-path.patch @@ -1,17 +1,17 @@ diff --git a/src/HConfig.h.in b/src/HConfig.h.in -index 652f6651f..62b81f83c 100644 +index 198e07b0d..0d9eba53f 100644 --- a/src/HConfig.h.in +++ b/src/HConfig.h.in -@@ -4,7 +4,7 @@ - #cmakedefine FAST_BUILD +@@ -5,7 +5,7 @@ #cmakedefine ZLIB_FOUND + #cmakedefine CUPDLP_CPU #cmakedefine CMAKE_BUILD_TYPE "@CMAKE_BUILD_TYPE@" -#cmakedefine CMAKE_INSTALL_PREFIX "@CMAKE_INSTALL_PREFIX@" +#cmakedefine CMAKE_INSTALL_PREFIX "" #cmakedefine HIGHSINT64 + #cmakedefine HIGHS_NO_DEFAULT_THREADS #cmakedefine HIGHS_HAVE_MM_PAUSE - #cmakedefine HIGHS_HAVE_BUILTIN_CLZ -@@ -15,6 +15,6 @@ +@@ -16,6 +16,6 @@ #define HIGHS_VERSION_MAJOR @HIGHS_VERSION_MAJOR@ #define HIGHS_VERSION_MINOR @HIGHS_VERSION_MINOR@ #define HIGHS_VERSION_PATCH @HIGHS_VERSION_PATCH@ diff --git a/ports/highs/fix-threads.patch b/ports/highs/fix-threads.patch deleted file mode 100644 index 611629d2b4a614..00000000000000 --- a/ports/highs/fix-threads.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index fc24e57..fe0edfe 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -573,7 +573,7 @@ else() - $ - ) - target_link_libraries(highs ZLIB::ZLIB) -- set(CONF_DEPENDENCIES "include(CMakeFindDependencyMacro)\nfind_dependency(ZLIB)") -+ set(CONF_DEPENDENCIES "include(CMakeFindDependencyMacro)\nfind_dependency(ZLIB)\nfind_dependency(Threads)") - endif() - - # # on UNIX system the 'lib' prefix is automatically added diff --git a/ports/highs/portfile.cmake b/ports/highs/portfile.cmake index 3e20aa9394fdce..461530f6b0abf2 100644 --- a/ports/highs/portfile.cmake +++ b/ports/highs/portfile.cmake @@ -2,12 +2,10 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ERGO-Code/HiGHS REF "v${VERSION}" - SHA512 9229d2e960354b8b8fd45588cd4eec7e54826ee6f3939ac691d7b2b6eb0580a66a3a2649c940a3869f58dbbcf08fdd9641919fc92666948c62e70c4bce8ac130 + SHA512 9c8172fa22952859e1064d1823d327b51f83ff180b58153cd0a06ca6f756e0aa1538622de2bb5cee7caf5884e9a3cc9d492dd830a422f4cac63f884a4720c997 HEAD_REF master PATCHES fix-hconfig-path.patch - fix-cmake-output.patch - fix-threads.patch fix-compiler.patch ) @@ -22,7 +20,8 @@ vcpkg_cmake_configure( vcpkg_cmake_install() vcpkg_fixup_pkgconfig() +vcpkg_copy_tools(TOOL_NAMES highs AUTO_CLEAN) vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/highs") -vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/highs/vcpkg.json b/ports/highs/vcpkg.json index dc140d715eaf9d..46d04bf2cce47b 100644 --- a/ports/highs/vcpkg.json +++ b/ports/highs/vcpkg.json @@ -1,7 +1,6 @@ { "name": "highs", - "version": "1.6.0", - "port-version": 1, + "version": "1.7.2", "description": "High performance library to solve linear, mixed-integer, and convex quadratic optimization problems.", "homepage": "https://highs.dev", "license": "MIT", diff --git a/ports/highway/fix_dll_export.patch b/ports/highway/fix_dll_export.patch new file mode 100644 index 00000000000000..868c65fc471fed --- /dev/null +++ b/ports/highway/fix_dll_export.patch @@ -0,0 +1,91 @@ +diff --git a/hwy/contrib/thread_pool/topology.cc b/hwy/contrib/thread_pool/topology.cc +index 3d24f4f4..17f35630 100644 +--- a/hwy/contrib/thread_pool/topology.cc ++++ b/hwy/contrib/thread_pool/topology.cc +@@ -64,7 +64,7 @@ + + namespace hwy { + +-HWY_DLLEXPORT bool HaveThreadingSupport() { ++HWY_CONTRIB_DLLEXPORT bool HaveThreadingSupport() { + #if HWY_ARCH_WASM + return emscripten_has_threading_support() != 0; + #else +@@ -72,7 +72,7 @@ HWY_DLLEXPORT bool HaveThreadingSupport() { + #endif + } + +-HWY_DLLEXPORT size_t TotalLogicalProcessors() { ++HWY_CONTRIB_DLLEXPORT size_t TotalLogicalProcessors() { + size_t lp = 0; + #if HWY_ARCH_WASM + const int num_cores = emscripten_num_logical_cores(); +@@ -111,7 +111,7 @@ HWY_DLLEXPORT size_t TotalLogicalProcessors() { + #include + #endif + +-HWY_DLLEXPORT bool GetThreadAffinity(LogicalProcessorSet& lps) { ++HWY_CONTRIB_DLLEXPORT bool GetThreadAffinity(LogicalProcessorSet& lps) { + #if HWY_OS_WIN + // Only support the first 64 because WINE does not support processor groups. + const HANDLE hThread = GetCurrentThread(); +@@ -173,7 +173,7 @@ HWY_DLLEXPORT bool GetThreadAffinity(LogicalProcessorSet& lps) { + #endif + } + +-HWY_DLLEXPORT bool SetThreadAffinity(const LogicalProcessorSet& lps) { ++HWY_CONTRIB_DLLEXPORT bool SetThreadAffinity(const LogicalProcessorSet& lps) { + #if HWY_OS_WIN + const HANDLE hThread = GetCurrentThread(); + const DWORD_PTR prev = SetThreadAffinityMask(hThread, lps.Get64()); +@@ -385,7 +385,7 @@ std::vector DetectPackages(std::vector& lps) { + } // namespace + #endif // HWY_OS_LINUX + +-HWY_DLLEXPORT Topology::Topology() { ++HWY_CONTRIB_DLLEXPORT Topology::Topology() { + #if HWY_OS_LINUX + lps.resize(TotalLogicalProcessors()); + const std::vector& per_package = DetectPackages(lps); +diff --git a/hwy/contrib/thread_pool/topology.h b/hwy/contrib/thread_pool/topology.h +index 95b0835b..f80fc47c 100644 +--- a/hwy/contrib/thread_pool/topology.h ++++ b/hwy/contrib/thread_pool/topology.h +@@ -28,7 +28,7 @@ + namespace hwy { + + // Returns false if std::thread should not be used. +-HWY_DLLEXPORT bool HaveThreadingSupport(); ++HWY_CONTRIB_DLLEXPORT bool HaveThreadingSupport(); + + // Upper bound on logical processors, including hyperthreads. + static constexpr size_t kMaxLogicalProcessors = 1024; // matches glibc +@@ -38,12 +38,12 @@ using LogicalProcessorSet = BitSet4096; + + // Returns false, or sets `lps` to all logical processors which are online and + // available to the current thread. +-HWY_DLLEXPORT bool GetThreadAffinity(LogicalProcessorSet& lps); ++HWY_CONTRIB_DLLEXPORT bool GetThreadAffinity(LogicalProcessorSet& lps); + + // Ensures the current thread can only run on the logical processors in `lps`. + // Returns false if not supported (in particular on Apple), or if the + // intersection between `lps` and `GetThreadAffinity` is the empty set. +-HWY_DLLEXPORT bool SetThreadAffinity(const LogicalProcessorSet& lps); ++HWY_CONTRIB_DLLEXPORT bool SetThreadAffinity(const LogicalProcessorSet& lps); + + // Returns false, or ensures the current thread will only run on `lp`, which + // must not exceed `TotalLogicalProcessors`. Note that this merely calls +@@ -58,11 +58,11 @@ static inline bool PinThreadToLogicalProcessor(size_t lp) { + // provided by the hardware clamped to `kMaxLogicalProcessors`. + // These processors are not necessarily all usable; you can determine which are + // via GetThreadAffinity(). +-HWY_DLLEXPORT size_t TotalLogicalProcessors(); ++HWY_CONTRIB_DLLEXPORT size_t TotalLogicalProcessors(); + + struct Topology { + // Caller must check packages.empty(); if so, do not use any fields. +- HWY_DLLEXPORT Topology(); ++ HWY_CONTRIB_DLLEXPORT Topology(); + + // Clique of cores with lower latency to each other. On Apple M1 these are + // four cores sharing an L2. On Zen4 these 'CCX' are up to eight cores sharing diff --git a/ports/highway/portfile.cmake b/ports/highway/portfile.cmake index 7f285c81f331d9..7c7437393f893d 100644 --- a/ports/highway/portfile.cmake +++ b/ports/highway/portfile.cmake @@ -2,8 +2,10 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/highway REF "${VERSION}" - SHA512 6ee5007ec13ac20b5d816b38a1b31c31a06678ca6d2ea090dd75e364f04cb2cf7ad8a82d1bdfff51079efa54b9a95fb554d62e6cc1bbf7d7e794cb272032d8f5 + SHA512 e94b9cc51c81157ccd6bf4d6163445b1acc1a2667dc2650d1c4aea0a5021989c08dafcb92564fcbecb9445ab2f1779051260be2f5b29c3932803b8a42ed2f824 HEAD_REF master + PATCHES + fix_dll_export.patch #https://github.com/google/highway/pull/2229 ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS diff --git a/ports/highway/vcpkg.json b/ports/highway/vcpkg.json index 011668dc4c0529..e53821b878af32 100644 --- a/ports/highway/vcpkg.json +++ b/ports/highway/vcpkg.json @@ -1,6 +1,6 @@ { "name": "highway", - "version": "1.0.7", + "version": "1.2.0", "description": "Performance-portable, length-agnostic SIMD with runtime dispatch", "homepage": "https://github.com/google/highway", "license": "Apache-2.0", diff --git a/ports/hikogui/portfile.cmake b/ports/hikogui/portfile.cmake index ad82c5ab39c107..8a9da44e8cab76 100644 --- a/ports/hikogui/portfile.cmake +++ b/ports/hikogui/portfile.cmake @@ -7,6 +7,8 @@ vcpkg_from_github( HEAD_REF main ) +set(ENV{VULKAN_SDK} "${CURRENT_INSTALLED_DIR}") + vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} OPTIONS diff --git a/ports/hikogui/vcpkg.json b/ports/hikogui/vcpkg.json index 402a7003f71519..cff97ce1282a4d 100644 --- a/ports/hikogui/vcpkg.json +++ b/ports/hikogui/vcpkg.json @@ -1,12 +1,20 @@ { "name": "hikogui", "version": "0.8.1", + "port-version": 2, "maintainers": "@takev", "description": "A portable, low latency, retained-mode GUI framework written in C++.", "homepage": "https://github.com/hikogui/hikogui", "license": "BSL-1.0", "supports": "windows & x64", "dependencies": [ + { + "name": "glslang", + "features": [ + "tools" + ] + }, + "shaderc", { "name": "vcpkg-cmake", "host": true diff --git a/ports/hjson-cpp/fix-runtime-destination.patch b/ports/hjson-cpp/fix-runtime-destination.patch new file mode 100644 index 00000000000000..cd4fc0de56def3 --- /dev/null +++ b/ports/hjson-cpp/fix-runtime-destination.patch @@ -0,0 +1,12 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index f1f6cf4..05189a3 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -33,6 +33,6 @@ set_target_properties(hjson PROPERTIES + ) + + if(HJSON_ENABLE_INSTALL) +- install(TARGETS hjson EXPORT hjson DESTINATION ${lib_dest}) ++ install(TARGETS hjson EXPORT hjson DESTINATION ${lib_dest} RUNTIME DESTINATION bin) + install(FILES ${header} DESTINATION ${include_dest}) + endif() diff --git a/ports/hjson-cpp/portfile.cmake b/ports/hjson-cpp/portfile.cmake new file mode 100644 index 00000000000000..6b82d89f3a873d --- /dev/null +++ b/ports/hjson-cpp/portfile.cmake @@ -0,0 +1,29 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO hjson/hjson-cpp + REF "${VERSION}" + SHA512 89b13091c1c89007b8be71b9e9e2d86e69226f9a4479b52357981c04d3409dc9ba8b709eaa96ed547b9b68a548991d75224596920186d8109f99380c646c9956 + HEAD_REF master + PATCHES + fix-runtime-destination.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DHJSON_ENABLE_INSTALL=ON + -DHJSON_ENABLE_TEST=OFF + -DHJSON_ENABLE_PERFTEST=OFF + -DHJSON_VERSIONED_INSTALL=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME hjson CONFIG_PATH lib/hjson) +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" +) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/hjson-cpp/vcpkg.json b/ports/hjson-cpp/vcpkg.json new file mode 100644 index 00000000000000..b9799b16aaabca --- /dev/null +++ b/ports/hjson-cpp/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "hjson-cpp", + "version": "2.4.1", + "description": "Hjson for C++", + "homepage": "https://hjson.github.io", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/hlslpp/hlslpp-config.cmake b/ports/hlslpp/hlslpp-config.cmake new file mode 100644 index 00000000000000..81d6d997c321d9 --- /dev/null +++ b/ports/hlslpp/hlslpp-config.cmake @@ -0,0 +1,2 @@ +add_library(unofficial::hlslpp::hlslpp INTERACE IMPORTED) +target_include_directories(unofficial::hlslpp::hlslpp INTERFACE "${CMAKE_CURRENT_LIST_DIR}/../../include/hlslpp") diff --git a/ports/hlslpp/portfile.cmake b/ports/hlslpp/portfile.cmake new file mode 100644 index 00000000000000..6cddee8e864b50 --- /dev/null +++ b/ports/hlslpp/portfile.cmake @@ -0,0 +1,19 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO redorav/hlslpp + REF "${VERSION}" + SHA512 e57dec0285c299cfd7e88d246523ba70eb246e968ad023a481faf5540972b7053288487f1486fa8ebef5cb6d4ec448ff99afbf5c10447b66b5f2ca5d2ad7829e + HEAD_REF master +) + +file(INSTALL "${SOURCE_PATH}/include" DESTINATION "${CURRENT_PACKAGES_DIR}/include/") +file(RENAME "${CURRENT_PACKAGES_DIR}/include/include" "${CURRENT_PACKAGES_DIR}/include/hlslpp") + +# Copy and rename License -> copyright. +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") + +# Copy the cmake config file, which is used to setup the imported target. +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/${PORT}-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +# Copy and show the usage. +configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" COPYONLY) diff --git a/ports/hlslpp/usage b/ports/hlslpp/usage new file mode 100644 index 00000000000000..b7b4da5f9ed806 --- /dev/null +++ b/ports/hlslpp/usage @@ -0,0 +1,4 @@ +hlslpp provides a CMake package: + + find_package(unofficial-hlslpp CONFIG REQUIRED) + target_link_libraries(main PUBLIC unofficial::hlslpp::hlslpp) diff --git a/ports/hlslpp/vcpkg.json b/ports/hlslpp/vcpkg.json new file mode 100644 index 00000000000000..14b106ef04d7fc --- /dev/null +++ b/ports/hlslpp/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "hlslpp", + "version": "3.5.3", + "description": "Math library using HLSL syntax with multiplatform SIMD support.", + "homepage": "https://github.com/redorav/hlslpp", + "license": "MIT", + "supports": "!x86", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/hnswlib/cmake.patch b/ports/hnswlib/cmake.patch deleted file mode 100644 index 7e5be49eec08e2..00000000000000 --- a/ports/hnswlib/cmake.patch +++ /dev/null @@ -1,44 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 7cebe60..b2aecc8 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,11 +1,36 @@ --cmake_minimum_required (VERSION 2.6) --project(hnsw_lib -+cmake_minimum_required(VERSION 3.0...3.26) -+ -+project(hnswlib - LANGUAGES CXX) - -+include(GNUInstallDirs) -+ - add_library(hnswlib INTERFACE) --target_include_directories(hnswlib INTERFACE .) -+add_library(hnswlib::hnswlib ALIAS hnswlib) -+ -+target_include_directories(hnswlib INTERFACE -+ $ -+ $) -+ -+# Install -+install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/hnswlib -+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) - -+install(TARGETS hnswlib -+ EXPORT hnswlibTargets) -+ -+install(EXPORT hnswlibTargets -+ FILE hnswlibConfig.cmake -+ NAMESPACE hnswlib:: -+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/hnswlib) -+ -+# Examples and tests - if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME) -+ option(HNSWLIB_EXAMPLES "Build examples and tests." ON) -+else() -+ option(HNSWLIB_EXAMPLES "Build examples and tests." OFF) -+endif() -+if(HNSWLIB_EXAMPLES) - set(CMAKE_CXX_STANDARD 11) - - if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") diff --git a/ports/hnswlib/portfile.cmake b/ports/hnswlib/portfile.cmake index 4d1379ef4fe1ca..d02ecd207ce5bf 100644 --- a/ports/hnswlib/portfile.cmake +++ b/ports/hnswlib/portfile.cmake @@ -2,10 +2,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO nmslib/hnswlib REF "v${VERSION}" - SHA512 fd74c23040598973d7e0b5a6af73eb884ee2d30703187d1702fdd48eaf8f7f96d8fbb125d3763f90111d9fb7c5ab3434ebdb818da8717d35c5571e99083c812b + SHA512 2bac86547374ef762083f33b5209c7c02c89b3270442dda2bc80fbc7b6a33766cb81248841deddc2ca1f7c49e3e19889955f45c91d0b601d1c883a5e1c930794 HEAD_REF master - PATCHES - cmake.patch # Backport CMake targets from nmslib/hnswlib #446 to 0.7.0 release. ) set(VCPKG_BUILD_TYPE "release") # header-only port diff --git a/ports/hnswlib/vcpkg.json b/ports/hnswlib/vcpkg.json index 72b6c82932af74..9eb1503f64112c 100644 --- a/ports/hnswlib/vcpkg.json +++ b/ports/hnswlib/vcpkg.json @@ -1,7 +1,6 @@ { "name": "hnswlib", - "version": "0.7.0", - "port-version": 1, + "version": "0.8.0", "description": "Header-only library for fast approximate nearest neighbors", "homepage": "https://github.com/nmslib/hnswlib", "license": "Apache-2.0", diff --git a/ports/hpx/fix-debug.patch b/ports/hpx/fix-debug.patch deleted file mode 100644 index a77b518be2aa65..00000000000000 --- a/ports/hpx/fix-debug.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/cmake/HPX_CompilerFlagsTargets.cmake b/cmake/HPX_CompilerFlagsTargets.cmake -index 5bf4649..0912503 100644 ---- a/cmake/HPX_CompilerFlagsTargets.cmake -+++ b/cmake/HPX_CompilerFlagsTargets.cmake -@@ -15,14 +15,8 @@ target_compile_features(hpx_public_flags INTERFACE cxx_std_${HPX_CXX_STANDARD}) - - # Set other flags that should always be set - --# HPX_DEBUG must be set without a generator expression as it determines ABI --# compatibility. Projects in Release mode using HPX in Debug mode must have --# HPX_DEBUG set, and projects in Debug mode using HPX in Release mode must not --# have HPX_DEBUG set. HPX_DEBUG must also not be set by projects using HPX. --if(${CMAKE_BUILD_TYPE} STREQUAL "Debug") -- target_compile_definitions(hpx_private_flags INTERFACE HPX_DEBUG) -- target_compile_definitions(hpx_public_flags INTERFACE HPX_DEBUG) --endif() -+target_compile_definitions(hpx_private_flags INTERFACE $<$:HPX_DEBUG>) -+target_compile_definitions(hpx_public_flags INTERFACE $<$:HPX_DEBUG>) - - target_compile_definitions( - hpx_private_flags diff --git a/ports/hpx/fix-dependency-hwloc.patch b/ports/hpx/fix-dependency-hwloc.patch deleted file mode 100644 index b829acd0cd907c..00000000000000 --- a/ports/hpx/fix-dependency-hwloc.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/cmake/FindHwloc.cmake b/cmake/FindHwloc.cmake -index cdede78..6967abf 100644 ---- a/cmake/FindHwloc.cmake -+++ b/cmake/FindHwloc.cmake -@@ -71,6 +71,9 @@ if(NOT TARGET Hwloc::hwloc) - add_library(Hwloc::hwloc INTERFACE IMPORTED) - target_include_directories(Hwloc::hwloc SYSTEM INTERFACE ${HWLOC_INCLUDE_DIR}) - target_link_libraries(Hwloc::hwloc INTERFACE ${HWLOC_LIBRARIES}) -- -+ if(APPLE) -+ target_link_libraries(Hwloc::hwloc INTERFACE "-framework CoreFoundation" "-framework IOKit") -+ endif() -+ - mark_as_advanced(HWLOC_ROOT HWLOC_LIBRARY HWLOC_INCLUDE_DIR) - endif() diff --git a/ports/hpx/fix_output_name_clash.patch b/ports/hpx/fix_output_name_clash.patch deleted file mode 100644 index 542aa5a29c6e52..00000000000000 --- a/ports/hpx/fix_output_name_clash.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/cmake/HPX_AddComponent.cmake b/cmake/HPX_AddComponent.cmake -index 129a87ced..b45feb3f5 100644 ---- a/cmake/HPX_AddComponent.cmake -+++ b/cmake/HPX_AddComponent.cmake -@@ -306,7 +306,7 @@ function(add_hpx_component name) - hpx_setup_target( - ${name}_component - TYPE COMPONENT -- NAME ${name} -+ NAME ${name}_component - FOLDER ${${name}_FOLDER} - COMPILE_FLAGS ${${name}_COMPILE_FLAGS} - LINK_FLAGS ${${name}_LINK_FLAGS} diff --git a/ports/hpx/portfile.cmake b/ports/hpx/portfile.cmake index d2723a789f634c..cf5a57b43ee386 100644 --- a/ports/hpx/portfile.cmake +++ b/ports/hpx/portfile.cmake @@ -7,12 +7,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO STEllAR-GROUP/hpx REF "v${VERSION}" - SHA512 a7972beada950cf6ef3b61f20496a08b220e4f48c28c11d57c20683906ca5124a9f36ac2552318883a5ab1db6efdbf63d1141b6e0c484c560a8c1311ae2d7090 - HEAD_REF stable - PATCHES - fix-dependency-hwloc.patch - fix-debug.patch - fix_output_name_clash.patch + SHA512 e1cc9fa72cba4e66b5d6eff2487e93d5d553c32e6eebcfe9131bf69c5b595ab72295ff0986c81d5dc6a7caa8303d6709df91333f64efe59ee256d99a8c289dc5 + HEAD_REF master ) vcpkg_check_features( @@ -93,7 +89,7 @@ file(REMOVE "${CURRENT_PACKAGES_DIR}/bin/hpxcxx" "${CURRENT_PACKAGES_DIR}/debug/ if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/hpxrun.py") file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/${PORT}") file(RENAME "${CURRENT_PACKAGES_DIR}/bin/hpxrun.py" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/hpxrun.py") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/hpxrun.py" "'${CURRENT_INSTALLED_DIR}/tools/openmpi/bin/mpiexec'" "'mpiexec'") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/hpxrun.py" "'${CURRENT_INSTALLED_DIR}/tools/openmpi/bin/mpiexec'" "'mpiexec'" IGNORE_UNCHANGED) endif() if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") diff --git a/ports/hpx/vcpkg.json b/ports/hpx/vcpkg.json index 17eba54ff37aa1..4555261663bde6 100644 --- a/ports/hpx/vcpkg.json +++ b/ports/hpx/vcpkg.json @@ -1,6 +1,7 @@ { "name": "hpx", - "version": "1.9.1", + "version": "1.10.0", + "port-version": 1, "description": [ "The C++ Standards Library for Concurrency and Parallelism", "HPX is a C++ Standards Library for Concurrency and Parallelism. It implements all of the corresponding facilities as defined by the C++ Standard. Additionally, in HPX we implement functionalities proposed as part of the ongoing C++ standardization process. We also extend the C++ Standard APIs to the distributed case." diff --git a/ports/htscodecs/0001-no-tests.patch b/ports/htscodecs/0001-no-tests.patch new file mode 100644 index 00000000000000..e18dd508ae15c6 --- /dev/null +++ b/ports/htscodecs/0001-no-tests.patch @@ -0,0 +1,13 @@ +diff --git a/tests/Makefile.am b/tests/Makefile.am +index 873ad3e..0ab3638 100644 +--- a/tests/Makefile.am ++++ b/tests/Makefile.am +@@ -31,7 +31,7 @@ + # + + # Standalone test programs +-noinst_PROGRAMS = rans4x16pr tokenise_name3 arith_dynamic rans4x8 rans4x16pr fqzcomp_qual varint entropy ++check_PROGRAMS = rans4x16pr tokenise_name3 arith_dynamic rans4x8 rans4x16pr fqzcomp_qual varint entropy + + LDADD = $(top_builddir)/htscodecs/libhtscodecs.la + AM_CPPFLAGS = -I$(top_srcdir) diff --git a/ports/htscodecs/portfile.cmake b/ports/htscodecs/portfile.cmake new file mode 100644 index 00000000000000..f18b43867c7321 --- /dev/null +++ b/ports/htscodecs/portfile.cmake @@ -0,0 +1,36 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO samtools/htscodecs + REF "v${VERSION}" + SHA512 5e3e1f916cb14fe7e1292f3a07e9d9704b11be38014db5884b334235c25dbe61dffecf3f12c448a7a13f65c6d19dbc7cc5c77ba0861b31a0375d71030dd02480 + HEAD_REF master + PATCHES + 0001-no-tests.patch # https://github.com/samtools/htscodecs/pull/120 +) + +set(FEATURE_OPTIONS "") + +macro(enable_feature feature switch) + if("${feature}" IN_LIST FEATURES) + list(APPEND FEATURE_OPTIONS "--enable-${switch}") + else() + list(APPEND FEATURE_OPTIONS "--disable-${switch}") + endif() +endmacro() + +enable_feature("bzip2" "bz2") + +vcpkg_configure_make( + AUTOCONFIG + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} +) + +vcpkg_install_make() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +vcpkg_fixup_pkgconfig() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") diff --git a/ports/htscodecs/vcpkg.json b/ports/htscodecs/vcpkg.json new file mode 100644 index 00000000000000..ea583f66d574c5 --- /dev/null +++ b/ports/htscodecs/vcpkg.json @@ -0,0 +1,16 @@ +{ + "name": "htscodecs", + "version": "1.6.1", + "description": "Custom compression for CRAM and others.", + "homepage": "https://github.com/samtools/htscodecs", + "license": "MIT", + "supports": "!windows", + "features": { + "bzip2": { + "description": "Enable support for BZ2 within Arith streams", + "dependencies": [ + "bzip2" + ] + } + } +} diff --git a/ports/htslib/0001-set-linkage.patch b/ports/htslib/0001-set-linkage.patch new file mode 100644 index 00000000000000..d28886a806aece --- /dev/null +++ b/ports/htslib/0001-set-linkage.patch @@ -0,0 +1,26 @@ +diff --git a/Makefile b/Makefile +index 99142c8..97cd369 100644 +--- a/Makefile ++++ b/Makefile +@@ -857,15 +857,19 @@ $(srcprefix)htslib.map: libhts.so + rm -f $@.tmp ; \ + fi + +-install: libhts.a $(BUILT_PROGRAMS) $(BUILT_PLUGINS) installdirs install-$(SHLIB_FLAVOUR) install-pkgconfig ++install: $(BUILT_PROGRAMS) $(BUILT_PLUGINS) installdirs install-pkgconfig + $(INSTALL_PROGRAM) $(BUILT_PROGRAMS) $(DESTDIR)$(bindir) + if test -n "$(BUILT_PLUGINS)"; then $(INSTALL_PROGRAM) $(BUILT_PLUGINS) $(DESTDIR)$(plugindir); fi + $(INSTALL_DATA) $(SRC)htslib/*.h $(DESTDIR)$(includedir)/htslib +- $(INSTALL_DATA) libhts.a $(DESTDIR)$(libdir)/libhts.a + $(INSTALL_MAN) $(SRC)annot-tsv.1 $(SRC)bgzip.1 $(SRC)htsfile.1 $(SRC)tabix.1 $(DESTDIR)$(man1dir) + $(INSTALL_MAN) $(SRC)faidx.5 $(SRC)sam.5 $(SRC)vcf.5 $(DESTDIR)$(man5dir) + $(INSTALL_MAN) $(SRC)htslib-s3-plugin.7 $(DESTDIR)$(man7dir) + ++install-static: install ++ $(INSTALL_DATA) libhts.a $(DESTDIR)$(libdir)/libhts.a ++ ++install-dynamic: install install-$(SHLIB_FLAVOUR) ++ + installdirs: + $(INSTALL_DIR) $(DESTDIR)$(bindir) $(DESTDIR)$(includedir) $(DESTDIR)$(includedir)/htslib $(DESTDIR)$(libdir) $(DESTDIR)$(man1dir) $(DESTDIR)$(man5dir) $(DESTDIR)$(man7dir) $(DESTDIR)$(pkgconfigdir) + if test -n "$(plugindir)"; then $(INSTALL_DIR) $(DESTDIR)$(plugindir); fi diff --git a/ports/htslib/0002-pthread-flag.patch b/ports/htslib/0002-pthread-flag.patch new file mode 100644 index 00000000000000..96db83fc717e3a --- /dev/null +++ b/ports/htslib/0002-pthread-flag.patch @@ -0,0 +1,78 @@ +diff --git a/Makefile b/Makefile +index f6e154f..fb4f527 100644 +--- a/Makefile ++++ b/Makefile +@@ -137,6 +137,8 @@ HTS_BUILD_AVX2 = + HTS_BUILD_AVX512 = + HTS_BUILD_SSE4 = + ++PTHREAD = -pthread ++ + include htslib_vars.mk + include htscodecs.mk + +@@ -183,10 +185,10 @@ config_vars.h: + .SUFFIXES: .bundle .c .cygdll .dll .o .pico .so + + .c.o: +- $(CC) $(CFLAGS) $(TARGET_CFLAGS) $(ALL_CPPFLAGS) -c -o $@ $< ++ $(CC) $(CFLAGS) $(TARGET_CFLAGS) $(ALL_CPPFLAGS) $(PTHREAD) -c -o $@ $< + + .c.pico: +- $(CC) $(CFLAGS) $(TARGET_CFLAGS) $(ALL_CPPFLAGS) $(EXTRA_CFLAGS_PIC) -c -o $@ $< ++ $(CC) $(CFLAGS) $(TARGET_CFLAGS) $(ALL_CPPFLAGS) $(PTHREAD) $(EXTRA_CFLAGS_PIC) -c -o $@ $< + + + LIBHTS_OBJS = \ +@@ -358,7 +360,7 @@ print-config: + # file used at runtime (when $LD_LIBRARY_PATH includes the build directory). + + libhts.so: $(LIBHTS_OBJS:.o=.pico) +- $(CC) -shared -Wl,-soname,libhts.so.$(LIBHTS_SOVERSION) $(VERSION_SCRIPT_LDFLAGS) $(LDFLAGS) -o $@ $(LIBHTS_OBJS:.o=.pico) $(LIBS) -lpthread ++ $(CC) -shared -Wl,-soname,libhts.so.$(LIBHTS_SOVERSION) $(VERSION_SCRIPT_LDFLAGS) $(LDFLAGS) -o $@ $(LIBHTS_OBJS:.o=.pico) $(LIBS) $(PTHREAD) + ln -sf $@ libhts.so.$(LIBHTS_SOVERSION) + + # Similarly this also creates libhts.NN.dylib as a byproduct, so that programs +@@ -370,10 +372,10 @@ libhts.dylib: $(LIBHTS_OBJS) + ln -sf $@ libhts.$(LIBHTS_SOVERSION).dylib + + cyghts-$(LIBHTS_SOVERSION).dll libhts.dll.a: $(LIBHTS_OBJS) +- $(CC) -shared -Wl,--out-implib=libhts.dll.a -Wl,--enable-auto-import $(LDFLAGS) -o $@ -Wl,--whole-archive $(LIBHTS_OBJS) -Wl,--no-whole-archive $(LIBS) -lpthread ++ $(CC) -shared -Wl,--out-implib=libhts.dll.a -Wl,--enable-auto-import $(LDFLAGS) -o $@ -Wl,--whole-archive $(LIBHTS_OBJS) -Wl,--no-whole-archive $(LIBS) $(PTHREAD) + + hts-$(LIBHTS_SOVERSION).dll hts.dll.a: $(LIBHTS_OBJS) +- $(CC) -shared -Wl,--out-implib=hts.dll.a -Wl,--enable-auto-import -Wl,--exclude-all-symbols $(LDFLAGS) -o $@ -Wl,--whole-archive $(LIBHTS_OBJS) -Wl,--no-whole-archive $(LIBS) -lpthread ++ $(CC) -shared -Wl,--out-implib=hts.dll.a -Wl,--enable-auto-import -Wl,--exclude-all-symbols $(LDFLAGS) -o $@ -Wl,--whole-archive $(LIBHTS_OBJS) -Wl,--no-whole-archive $(LIBS) $(PTHREAD) + + hts-$(LIBHTS_SOVERSION).def: hts-$(LIBHTS_SOVERSION).dll + gendef hts-$(LIBHTS_SOVERSION).dll +@@ -420,7 +422,7 @@ hts-object-files: $(LIBHTS_OBJS) + # may not be able to access libhts symbols via the main program's libhts + # if that was dynamically loaded without an explicit RTLD_GLOBAL. + %.so: %.pico libhts.so +- $(CC) -shared -Wl,-E $(LDFLAGS) -o $@ $< libhts.so $(LIBS) -lpthread ++ $(CC) -shared -Wl,-E $(LDFLAGS) -o $@ $< libhts.so $(LIBS) $(PTHREAD) + + # For programs *statically* linked to libhts.a, on macOS loading a plugin + # linked to a shared libhts.NN.dylib would lead to conflicting duplicate +@@ -501,16 +503,16 @@ htscodecs/htscodecs/rANS_static32x16pr_avx512.o htscodecs/htscodecs/rANS_static3 + htscodecs/htscodecs/rANS_static32x16pr_sse4.o htscodecs/htscodecs/rANS_static32x16pr_sse4.pico: TARGET_CFLAGS = $(HTS_CFLAGS_SSE4) + + annot-tsv: annot-tsv.o libhts.a +- $(CC) $(LDFLAGS) -o $@ annot-tsv.o libhts.a $(LIBS) -lpthread ++ $(CC) $(LDFLAGS) -o $@ annot-tsv.o libhts.a $(LIBS) $(PTHREAD) + + bgzip: bgzip.o libhts.a +- $(CC) $(LDFLAGS) -o $@ bgzip.o libhts.a $(LIBS) -lpthread ++ $(CC) $(LDFLAGS) -o $@ bgzip.o libhts.a $(LIBS) $(PTHREAD) + + htsfile: htsfile.o libhts.a +- $(CC) $(LDFLAGS) -o $@ htsfile.o libhts.a $(LIBS) -lpthread ++ $(CC) $(LDFLAGS) -o $@ htsfile.o libhts.a $(LIBS) $(PTHREAD) + + tabix: tabix.o libhts.a +- $(CC) $(LDFLAGS) -o $@ tabix.o libhts.a $(LIBS) -lpthread ++ $(CC) $(LDFLAGS) -o $@ tabix.o libhts.a $(LIBS) $(PTHREAD) + + annot-tsv.o: annot-tsv.c config.h $(htslib_hts_h) $(htslib_hts_defs_h) $(htslib_khash_str2int_h) $(htslib_kstring_h) $(htslib_kseq_h) $(htslib_bgzf_h) $(htslib_regidx_h) $(textutils_internal_h) + bgzip.o: bgzip.c config.h $(htslib_bgzf_h) $(htslib_hts_h) $(htslib_hfile_h) diff --git a/ports/htslib/0003-no-tests.patch b/ports/htslib/0003-no-tests.patch new file mode 100644 index 00000000000000..1e8e49d3d2b143 --- /dev/null +++ b/ports/htslib/0003-no-tests.patch @@ -0,0 +1,13 @@ +diff --git a/Makefile b/Makefile +index fb4f527..751df4b 100644 +--- a/Makefile ++++ b/Makefile +@@ -111,7 +111,7 @@ BUILT_THRASH_PROGRAMS = \ + test/thrash_threads6 \ + test/thrash_threads7 + + all: lib-static lib-shared $(BUILT_PROGRAMS) plugins \ +- $(BUILT_TEST_PROGRAMS) htslib_static.mk htslib-uninstalled.pc ++ htslib_static.mk htslib-uninstalled.pc + + # Report compiler and version diff --git a/ports/htslib/0004-fix-find-htscodecs.patch b/ports/htslib/0004-fix-find-htscodecs.patch new file mode 100644 index 00000000000000..4fc6e2d7a59173 --- /dev/null +++ b/ports/htslib/0004-fix-find-htscodecs.patch @@ -0,0 +1,22 @@ +diff --git a/configure.ac b/configure.ac +index 49f2cbc..434086f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -156,7 +156,7 @@ m4_ifdef([PKG_PROG_PKG_CONFIG], [PKG_PROG_PKG_CONFIG], [PKG_CONFIG=""]) + need_crypto=no + pc_requires= + static_LDFLAGS=$LDFLAGS +-static_LIBS='-lpthread -lz -lm' ++static_LIBS='-pthread -lz -lm' + private_LIBS=$LDFLAGS + + AC_ARG_ENABLE([versioned-symbols], +@@ -404,7 +404,7 @@ AS_IF([test "x$with_external_htscodecs" != "xno"], + AC_CHECK_HEADER([htscodecs/rANS_static4x16.h],[], + [libhtscodecs='missing header'],[;]) + AC_CHECK_LIB([htscodecs],[rans_compress_bound_4x16], +- [:],[libhtscodecs='missing library']) ++ [:],[libhtscodecs='missing library'], ["$static_LIBS"]) + AS_IF([test "$libhtscodecs" = "ok"], + [AC_DEFINE([HAVE_EXTERNAL_LIBHTSCODECS], 1, [Define if using an external libhtscodecs]) + LIBS="-lhtscodecs $LIBS" diff --git a/ports/htslib/0005-remove-duplicate-lhts.patch b/ports/htslib/0005-remove-duplicate-lhts.patch new file mode 100644 index 00000000000000..c040e9b61f2e25 --- /dev/null +++ b/ports/htslib/0005-remove-duplicate-lhts.patch @@ -0,0 +1,11 @@ +diff --git a/htslib.pc.in b/htslib.pc.in +index d969d6b..fdeeba9 100644 +--- a/htslib.pc.in ++++ b/htslib.pc.in +@@ -11,5 +11,5 @@ Description: C library for high-throughput sequencing data formats + Version: @-PACKAGE_VERSION@ + Cflags: -I${includedir} + Libs: -L${libdir} -lhts +-Libs.private: -L${libdir} @private_LIBS@ -lhts -lm -lpthread ++Libs.private: -L${libdir} @private_LIBS@ -lm -lpthread + Requires.private: zlib @pc_requires@ diff --git a/ports/htslib/portfile.cmake b/ports/htslib/portfile.cmake new file mode 100644 index 00000000000000..2eca70dc9fbb38 --- /dev/null +++ b/ports/htslib/portfile.cmake @@ -0,0 +1,54 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO samtools/htslib + REF "${VERSION}" + SHA512 6df1a493ac9f13cae5a510537bdf83aa9635a79efe635b8a5a5cbd89345c75c9a42e686c4f0497761ddfad3b86a9814ed35ba2ac340d0f1c7b5e2e186b152875 + HEAD_REF develop + PATCHES + 0001-set-linkage.patch + 0002-pthread-flag.patch + 0003-no-tests.patch + 0004-fix-find-htscodecs.patch + 0005-remove-duplicate-lhts.patch # https://github.com/samtools/htslib/pull/1852 +) + +set(FEATURE_OPTIONS "") + +macro(enable_feature feature switch) + if("${feature}" IN_LIST FEATURES) + list(APPEND FEATURE_OPTIONS "--enable-${switch}") + else() + list(APPEND FEATURE_OPTIONS "--disable-${switch}") + endif() +endmacro() + +enable_feature("bzip2" "bz2") +enable_feature("lzma" "lzma") + +if("deflate" IN_LIST FEATURES) + list(APPEND FEATURE_OPTIONS "--with-libdeflate") +else() + list(APPEND FEATURE_OPTIONS "--without-libdeflate") +endif() + +vcpkg_configure_make( + AUTOCONFIG + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + --with-external-htscodecs + --disable-libcurl + --disable-gcs + --disable-s3 + --disable-plugins + ${FEATURE_OPTIONS} +) + +vcpkg_install_make( + INSTALL_TARGET install-${VCPKG_LIBRARY_LINKAGE} +) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +vcpkg_fixup_pkgconfig() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/htslib/vcpkg.json b/ports/htslib/vcpkg.json new file mode 100644 index 00000000000000..5c5989d74ae612 --- /dev/null +++ b/ports/htslib/vcpkg.json @@ -0,0 +1,32 @@ +{ + "name": "htslib", + "version": "1.21", + "description": "C library for high-throughput sequencing data formats", + "homepage": "https://github.com/samtools/htslib", + "license": "MIT", + "supports": "!windows", + "dependencies": [ + "htscodecs", + "zlib" + ], + "features": { + "bzip2": { + "description": "Enable support for BZ2-compressed CRAM files", + "dependencies": [ + "bzip2" + ] + }, + "deflate": { + "description": "Use libdeflate for faster crc and deflate algorithms", + "dependencies": [ + "libdeflate" + ] + }, + "lzma": { + "description": "Enable support for LZMA-compressed CRAM files", + "dependencies": [ + "liblzma" + ] + } + } +} diff --git a/ports/hunspell/vcpkg.json b/ports/hunspell/vcpkg.json index a8399f4315b069..25e66dbb26294c 100644 --- a/ports/hunspell/vcpkg.json +++ b/ports/hunspell/vcpkg.json @@ -1,6 +1,7 @@ { "name": "hunspell", "version": "1.7.2", + "port-version": 1, "description": "The most popular spellchecking library.", "homepage": "https://github.com/hunspell/hunspell", "license": "MPL-1.1 OR LGPL-2.1-or-later OR GPL-2.0-or-later", @@ -24,7 +25,8 @@ ] }, "tools": { - "description": "Build hunspell tools" + "description": "Build hunspell tools", + "supports": "!windows | mingw" } } } diff --git a/ports/hwloc/portfile.cmake b/ports/hwloc/portfile.cmake index f46d0d11c20781..5448cb336caa79 100644 --- a/ports/hwloc/portfile.cmake +++ b/ports/hwloc/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO open-mpi/hwloc REF "hwloc-${VERSION}" - SHA512 958f385d846ed1b6ab60725b7966374213eff3e304a77c5bc8a26f1900c04eb082119d5147f98b2c7f931f566e2d1b05a2a4e89bda220f45258e497b68735929 + SHA512 1ed47955d4a3ecf66636f1c5a89648ef055aa4f26fac9b9bc64d6f7715d671dc823337ebf38df53d60b50d697eccadfbd48d28b4540a5153c59d7eecd347f91c PATCHES fix_shared_win_build.patch stdout_fileno.patch @@ -45,10 +45,10 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") if(EXISTS "${CURRENT_PACKAGES_DIR}/tools/hwloc/bin/hwloc-compress-dir") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/hwloc/bin/hwloc-compress-dir" "${CURRENT_INSTALLED_DIR}" "`dirname $0`/../../..") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/hwloc/bin/hwloc-compress-dir" "${CURRENT_INSTALLED_DIR}" "`dirname $0`/../../.." IGNORE_UNCHANGED) endif() if(EXISTS "${CURRENT_PACKAGES_DIR}/tools/hwloc/debug/bin/hwloc-compress-dir") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/hwloc/debug/bin/hwloc-compress-dir" "${CURRENT_INSTALLED_DIR}" "`dirname $0`/../../../..") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/hwloc/debug/bin/hwloc-compress-dir" "${CURRENT_INSTALLED_DIR}" "`dirname $0`/../../../.." IGNORE_UNCHANGED) endif() if(EXISTS "${CURRENT_PACKAGES_DIR}/tools/hwloc/bin/hwloc-gather-topology") diff --git a/ports/hwloc/vcpkg.json b/ports/hwloc/vcpkg.json index 49c5819b369ee2..e238d7cd8007a8 100644 --- a/ports/hwloc/vcpkg.json +++ b/ports/hwloc/vcpkg.json @@ -1,6 +1,6 @@ { "name": "hwloc", - "version": "2.9.3", + "version": "2.11.2", "maintainers": "bgoglin", "description": [ "Portable Hardware Locality (hwloc)", diff --git a/ports/hypodermic/portfile.cmake b/ports/hypodermic/portfile.cmake index ec58f3c494884d..6d93ec81ad3e43 100644 --- a/ports/hypodermic/portfile.cmake +++ b/ports/hypodermic/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ybainier/Hypodermic - REF 0e0d85d70aa2f2391dfd84f8af4a3863d4fb1611 # v2.5.3 - SHA512 6fc3f9eca034a4de3f7086bd51e9ba11ee31c8ec000a3e0bdfc06db1f3c12a89b66793adf5d219441e680541e26acaef72d21f9dd0acf3f5fee3aa12d3fb7b4d + REF ba5516d4e78230c1187debb01ebdf01e5d11f62d # 2023-03-03 + SHA512 40a119baafc23149117e286c38c00bdc0debda1cb6fefbecfdbc6e1a779789c6c884d1e7513aaf55060d550232c3dc8777ef0ebf0cd94e998ff2d5d6d375d2ff HEAD_REF master PATCHES "disable_hypodermic_tests.patch" diff --git a/ports/hypodermic/vcpkg.json b/ports/hypodermic/vcpkg.json index 6bef7aa6bc607d..a01e46199d5645 100644 --- a/ports/hypodermic/vcpkg.json +++ b/ports/hypodermic/vcpkg.json @@ -1,6 +1,6 @@ { "name": "hypodermic", - "version": "2.5.3", + "version-date": "2023-03-03", "description": "Hypodermic is a non-intrusive header only IoC container for C++", "homepage": "https://github.com/ybainier/Hypodermic", "license": "MIT", diff --git a/ports/iceoryx/add-include-chrono.patch b/ports/iceoryx/add-include-chrono.patch new file mode 100644 index 00000000000000..eaf03f08c9aa84 --- /dev/null +++ b/ports/iceoryx/add-include-chrono.patch @@ -0,0 +1,12 @@ +diff --git a/iceoryx_hoofs/platform/win/source/time.cpp b/iceoryx_hoofs/platform/win/source/time.cpp +index 4c2ab2d..4a7074b 100644 +--- a/iceoryx_hoofs/platform/win/source/time.cpp ++++ b/iceoryx_hoofs/platform/win/source/time.cpp +@@ -16,6 +16,7 @@ + // SPDX-License-Identifier: Apache-2.0 + + #include "iceoryx_hoofs/platform/time.hpp" ++#include + + static std::chrono::nanoseconds getNanoSeconds(const timespec& value) + { diff --git a/ports/iceoryx/portfile.cmake b/ports/iceoryx/portfile.cmake index 835c74e8dafda2..9ca801f91f4685 100644 --- a/ports/iceoryx/portfile.cmake +++ b/ports/iceoryx/portfile.cmake @@ -6,10 +6,11 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO eclipse-iceoryx/iceoryx REF "v${VERSION}" - SHA512 b860452373dc41d6b0dd0042d1fc4c97621f143d20e9354a1572126ab815ee0cec6548ddfab9fa276943ed33d9ffd8810243e67eb5fae1d11f18ef0b2b074650 + SHA512 708c113f8b4e5a23830172cd67414cb6fa389f9bc34a5979b27131c3180d6758ca50257baa86cb6f74bcff71b24237cffc0e697964a7c0326e9018fbf7885c09 HEAD_REF master PATCHES acl.patch + add-include-chrono.patch # https://github.com/eclipse-iceoryx/iceoryx/pull/2378 ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS diff --git a/ports/iceoryx/vcpkg.json b/ports/iceoryx/vcpkg.json index c61eed72a4e5d3..57ae5f5b178ff2 100644 --- a/ports/iceoryx/vcpkg.json +++ b/ports/iceoryx/vcpkg.json @@ -1,6 +1,7 @@ { "name": "iceoryx", - "version": "2.0.3", + "version": "2.0.6", + "port-version": 1, "description": "True zero-copy inter-process-communication", "homepage": "https://iceoryx.io", "license": "Apache-2.0", diff --git a/ports/icu/darwin-rpath.patch b/ports/icu/darwin-rpath.patch new file mode 100644 index 00000000000000..3de84594fdcb96 --- /dev/null +++ b/ports/icu/darwin-rpath.patch @@ -0,0 +1,14 @@ +diff --git a/source/config/mh-darwin b/source/config/mh-darwin +index 7b15709..e2cdbdb 100644 +--- a/source/config/mh-darwin ++++ b/source/config/mh-darwin +@@ -31,7 +31,8 @@ SHLIB.cc= $(CXX) -dynamiclib -dynamic $(CXXFLAGS) $(LDFLAGS) $(LD_SOOPTIONS) + + ## Compiler switches to embed a library name and version information + ifeq ($(ENABLE_RPATH),YES) +-LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name $(libdir)/$(notdir $(MIDDLE_SO_TARGET)) ++ID_PREFIX = @rpath ++LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name $(ID_PREFIX)/$(notdir $(MIDDLE_SO_TARGET)) + else + LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name $(notdir $(MIDDLE_SO_TARGET)) $(PKGDATA_TRAILING_SPACE) + endif diff --git a/ports/icu/mingw-strict-ansi.diff b/ports/icu/mingw-strict-ansi.diff new file mode 100644 index 00000000000000..ea6de18bdd3db2 --- /dev/null +++ b/ports/icu/mingw-strict-ansi.diff @@ -0,0 +1,12 @@ +diff --git a/source/common/putil.cpp b/source/common/putil.cpp +index ab25f3b..94782f8 100644 +--- a/source/common/putil.cpp ++++ b/source/common/putil.cpp +@@ -48,7 +48,6 @@ + + #if U_PLATFORM == U_PF_MINGW && defined __STRICT_ANSI__ + /* tzset isn't defined in strict ANSI on MinGW. */ +-#undef __STRICT_ANSI__ + #endif + + /* diff --git a/ports/icu/portfile.cmake b/ports/icu/portfile.cmake index 36cddcc09ec5dd..26015d26585783 100644 --- a/ports/icu/portfile.cmake +++ b/ports/icu/portfile.cmake @@ -1,3 +1,18 @@ +if(NOT VCPKG_TARGET_IS_WINDOWS) + message(WARNING "${PORT} currently requires the following programs from the system package manager: + autoconf automake autoconf-archive +On Debian and Ubuntu derivatives: + sudo apt-get install autoconf automake autoconf-archive +On recent Red Hat and Fedora derivatives: + sudo dnf install autoconf automake autoconf-archive +On Arch Linux and derivatives: + sudo pacman -S autoconf automake autoconf-archive +On Alpine: + apk add autoconf automake autoconf-archive +On macOS: + brew install autoconf automake autoconf-archive\n") +endif() + string(REGEX MATCH "^[0-9]*" ICU_VERSION_MAJOR "${VERSION}") string(REPLACE "." "_" VERSION2 "${VERSION}") string(REPLACE "." "-" VERSION3 "${VERSION}") @@ -6,7 +21,7 @@ vcpkg_download_distfile( ARCHIVE URLS "https://github.com/unicode-org/icu/releases/download/release-${VERSION3}/icu4c-${VERSION2}-src.tgz" FILENAME "icu4c-${VERSION2}-src.tgz" - SHA512 e788e372716eecebc39b56bbc88f3a458e21c3ef20631c2a3d7ef05794a678fe8dad482a03a40fdb9717109a613978c7146682e98ee16fade5668d641d5c48f8 + SHA512 e6c7876c0f3d756f3a6969cad9a8909e535eeaac352f3a721338b9cbd56864bf7414469d29ec843462997815d2ca9d0dab06d38c37cdd4d8feb28ad04d8781b0 ) vcpkg_extract_source_archive(SOURCE_PATH @@ -20,36 +35,35 @@ vcpkg_extract_source_archive(SOURCE_PATH disable-static-prefix.patch # https://gitlab.kitware.com/cmake/cmake/-/issues/16617; also mingw. fix-win-build.patch vcpkg-cross-data.patch + darwin-rpath.patch + mingw-strict-ansi.diff # backport of https://github.com/unicode-org/icu/pull/3003 ) vcpkg_find_acquire_program(PYTHON3) set(ENV{PYTHON} "${PYTHON3}") vcpkg_list(SET CONFIGURE_OPTIONS) -vcpkg_list(SET CONFIGURE_OPTIONS_RELEASE) -vcpkg_list(SET CONFIGURE_OPTIONS_DEBUG) vcpkg_list(SET BUILD_OPTIONS) if(VCPKG_TARGET_IS_EMSCRIPTEN) vcpkg_list(APPEND CONFIGURE_OPTIONS --disable-extras) vcpkg_list(APPEND BUILD_OPTIONS "PKGDATA_OPTS=--without-assembly -O ../data/icupkg.inc") +elseif(VCPKG_TARGET_IS_UWP) + vcpkg_list(APPEND CONFIGURE_OPTIONS --disable-extras ac_cv_func_tzset=no ac_cv_func__tzset=no) + string(APPEND VCPKG_C_FLAGS " -DU_PLATFORM_HAS_WINUWP_API=1") + string(APPEND VCPKG_CXX_FLAGS " -DU_PLATFORM_HAS_WINUWP_API=1") + vcpkg_list(APPEND BUILD_OPTIONS "PKGDATA_OPTS=--windows-uwp-build -O ../data/icupkg.inc") +elseif(VCPKG_TARGET_IS_OSX AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + vcpkg_list(APPEND CONFIGURE_OPTIONS --enable-rpath) + if(DEFINED CMAKE_INSTALL_NAME_DIR) + vcpkg_list(APPEND BUILD_OPTIONS "ID_PREFIX=${CMAKE_INSTALL_NAME_DIR}") + endif() endif() if(VCPKG_TARGET_IS_WINDOWS) list(APPEND CONFIGURE_OPTIONS --enable-icu-build-win) endif() -list(APPEND CONFIGURE_OPTIONS --disable-samples --disable-tests --disable-layoutex) - -list(APPEND CONFIGURE_OPTIONS_RELEASE --disable-debug --enable-release) -list(APPEND CONFIGURE_OPTIONS_DEBUG --enable-debug --disable-release) - -set(CONFIG_TRIPLETS) -list(APPEND CONFIG_TRIPLETS ${TARGET_TRIPLET}-rel) -if (NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - list(APPEND CONFIG_TRIPLETS ${TARGET_TRIPLET}-dbg) -endif() - if("tools" IN_LIST FEATURES) list(APPEND CONFIGURE_OPTIONS --enable-tools) else() @@ -67,94 +81,22 @@ endif() vcpkg_configure_make( SOURCE_PATH "${SOURCE_PATH}" - AUTOCONFIG PROJECT_SUBPATH source - ADDITIONAL_MSYS_PACKAGES autoconf-archive - OPTIONS ${CONFIGURE_OPTIONS} - OPTIONS_RELEASE ${CONFIGURE_OPTIONS_RELEASE} - OPTIONS_DEBUG ${CONFIGURE_OPTIONS_DEBUG} + AUTOCONFIG DETERMINE_BUILD_TRIPLET + ADDITIONAL_MSYS_PACKAGES autoconf-archive + OPTIONS + ${CONFIGURE_OPTIONS} + --disable-samples + --disable-tests + --disable-layoutex + OPTIONS_RELEASE + --disable-debug + --enable-release + OPTIONS_DEBUG + --enable-debug + --disable-release ) - -if(VCPKG_TARGET_IS_OSX AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - - vcpkg_build_make() - # remove this block if https://unicode-org.atlassian.net/browse/ICU-21458 - # is resolved and use the configure script instead - if(DEFINED CMAKE_INSTALL_NAME_DIR) - set(ID_PREFIX "${CMAKE_INSTALL_NAME_DIR}") - else() - set(ID_PREFIX "@rpath") - endif() - - # install_name_tool may be missing if cross-compiling - find_program( - INSTALL_NAME_TOOL - install_name_tool - HINTS /usr/bin /Library/Developer/CommandLineTools/usr/bin/ - DOC "Absolute path of install_name_tool" - REQUIRED - ) - - message(STATUS "setting rpath prefix for macOS dynamic libraries") - - if("tools" IN_LIST FEATURES) - set(LIBICUTU_RPATH "libicutu") - endif() - - #31680: Fix @rpath in both debug and release build - foreach(CONFIG_TRIPLE IN LISTS CONFIG_TRIPLETS) - # add ID_PREFIX to libicudata libicui18n libicuio libicutu libicuuc - foreach(LIB_NAME IN ITEMS libicudata libicui18n libicuio ${LIBICUTU_RPATH} libicuuc) - vcpkg_execute_build_process( - COMMAND "${INSTALL_NAME_TOOL}" -id "${ID_PREFIX}/${LIB_NAME}.${ICU_VERSION_MAJOR}.dylib" - "${LIB_NAME}.${VERSION}.dylib" - WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${CONFIG_TRIPLE}/lib" - LOGNAME "make-build-fix-rpath-${CONFIG_TRIPLE}" - ) - endforeach() - - # add ID_PREFIX to libicui18n libicuio libicutu dependencies - foreach(LIB_NAME IN ITEMS libicui18n libicuio) - vcpkg_execute_build_process( - COMMAND "${INSTALL_NAME_TOOL}" -change "libicuuc.${ICU_VERSION_MAJOR}.dylib" - "${ID_PREFIX}/libicuuc.${ICU_VERSION_MAJOR}.dylib" - "${LIB_NAME}.${VERSION}.dylib" - WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${CONFIG_TRIPLE}/lib" - LOGNAME "make-build-fix-rpath-${CONFIG_TRIPLE}" - ) - vcpkg_execute_build_process( - COMMAND "${INSTALL_NAME_TOOL}" -change "libicudata.${ICU_VERSION_MAJOR}.dylib" - "${ID_PREFIX}/libicudata.${ICU_VERSION_MAJOR}.dylib" - "${LIB_NAME}.${VERSION}.dylib" - WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${CONFIG_TRIPLE}/lib" - LOGNAME "make-build-fix-rpath-${CONFIG_TRIPLE}" - ) - endforeach() - - # add ID_PREFIX to remaining libicuio libicutu dependencies - foreach(LIB_NAME libicuio libicutu) - vcpkg_execute_build_process( - COMMAND "${INSTALL_NAME_TOOL}" -change "libicui18n.${ICU_VERSION_MAJOR}.dylib" - "${ID_PREFIX}/libicui18n.${ICU_VERSION_MAJOR}.dylib" - "${LIB_NAME}.${VERSION}.dylib" - WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${CONFIG_TRIPLE}/lib" - LOGNAME "make-build-fix-rpath-${CONFIG_TRIPLE}" - ) - endforeach() - - # add ID_PREFIX to libicuuc dependencies - vcpkg_execute_build_process( - COMMAND "${INSTALL_NAME_TOOL}" -change "libicudata.${ICU_VERSION_MAJOR}.dylib" - "${ID_PREFIX}/libicudata.${ICU_VERSION_MAJOR}.dylib" - "libicuuc.${VERSION}.dylib" - WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${CONFIG_TRIPLE}/lib" - LOGNAME "make-build-fix-rpath-${CONFIG_TRIPLE}" - ) - endforeach() - -endif() - vcpkg_install_make(OPTIONS ${BUILD_OPTIONS}) file(REMOVE_RECURSE @@ -215,7 +157,7 @@ endif() vcpkg_copy_pdbs() vcpkg_fixup_pkgconfig() -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/icu/bin/icu-config" "${CURRENT_INSTALLED_DIR}" "`dirname $0`/../../../") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/icu/bin/icu-config" "${CURRENT_INSTALLED_DIR}" "`dirname $0`/../../../" IGNORE_UNCHANGED) file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/icu/vcpkg.json b/ports/icu/vcpkg.json index d80834ecb61e81..23c96f05e10194 100644 --- a/ports/icu/vcpkg.json +++ b/ports/icu/vcpkg.json @@ -1,11 +1,10 @@ { "name": "icu", - "version": "73.1", - "port-version": 2, + "version": "74.2", + "port-version": 4, "description": "Mature and widely used Unicode and localization library.", "homepage": "https://icu.unicode.org/home", "license": "ICU", - "supports": "!uwp", "dependencies": [ { "name": "icu", @@ -17,7 +16,8 @@ ], "features": { "tools": { - "description": "Build tools" + "description": "Build tools", + "supports": "!uwp" } } } diff --git a/ports/idyntree/portfile.cmake b/ports/idyntree/portfile.cmake index 412b44a5a200ec..08825885d98722 100644 --- a/ports/idyntree/portfile.cmake +++ b/ports/idyntree/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO robotology/idyntree REF "v${VERSION}" - SHA512 1861ed193789559354bcfa81183b2bcc985dde2d71c114d369e01c37268e64624f50a1c416f48392dc5b9230e0bfc576bd5714f4d4368994df4dffc4623d989a + SHA512 7a65324d3a9f502b43f4ccc84747e3c26a6bbf4323199e0f5849311b20339800892f4345bfed9d02a5accb1f56b4984a34695bada1fc73b91057c1b09e4e24a6 HEAD_REF master ) @@ -26,7 +26,6 @@ vcpkg_cmake_configure( -DIDYNTREE_USES_ICUB_MAIN:BOOL=OFF -DIDYNTREE_USES_ALGLIB:BOOL=OFF -DIDYNTREE_USES_WORHP:BOOL=OFF - -DIDYNTREE_COMPILE_TESTS=OFF ) vcpkg_cmake_install() diff --git a/ports/idyntree/vcpkg.json b/ports/idyntree/vcpkg.json index 14f0d389a6c60f..944d51595361ff 100644 --- a/ports/idyntree/vcpkg.json +++ b/ports/idyntree/vcpkg.json @@ -1,6 +1,6 @@ { "name": "idyntree", - "version": "10.0.0", + "version": "12.4.0", "description": "Multibody Dynamics Library designed for Free Floating Robots.", "homepage": "https://github.com/robotology/idyntree", "license": "BSD-3-Clause", diff --git a/ports/ignition-cmake2/fix-findogre-pkgconfig.patch b/ports/ignition-cmake2/fix-findogre-pkgconfig.patch deleted file mode 100644 index ced7b41962e562..00000000000000 --- a/ports/ignition-cmake2/fix-findogre-pkgconfig.patch +++ /dev/null @@ -1,52 +0,0 @@ -diff --git a/cmake/FindIgnOGRE.cmake b/cmake/FindIgnOGRE.cmake -index e00f619..6825eb2 100644 ---- a/cmake/FindIgnOGRE.cmake -+++ b/cmake/FindIgnOGRE.cmake -@@ -99,15 +99,12 @@ if (NOT WIN32) - set (OGRE_FOUND false) - else () - # set library dirs if the value is empty -- if (NOT ${OGRE_LIBRARY_DIRS} OR ${OGRE_LIBRARY_DIRS} STREQUAL "") -- execute_process(COMMAND pkg-config --variable=libdir OGRE -- OUTPUT_VARIABLE _pkgconfig_invoke_result -- RESULT_VARIABLE _pkgconfig_failed) -- if(_pkgconfig_failed) -+ if (NOT OGRE_LIBRARY_DIRS) -+ pkg_get_variable(OGRE_LIBRARY_DIRS OGRE libdir) -+ if(NOT OGRE_LIBRARY_DIRS) - IGN_BUILD_WARNING ("Failed to find OGRE's library directory. The build will succeed, but there will likely be run-time errors.") - else() -- # set ogre library dir and strip line break -- set(OGRE_LIBRARY_DIRS ${_pkgconfig_invoke_result}) -+ # strip line break - string(REGEX REPLACE "\n$" "" OGRE_LIBRARY_DIRS "${OGRE_LIBRARY_DIRS}") - - string(FIND "${OGRE_LIBRARIES}" "${OGRE_LIBRARY_DIRS}" substr_found) -@@ -147,22 +144,18 @@ if (NOT WIN32) - endif() - endforeach() - -- execute_process(COMMAND pkg-config --variable=plugindir OGRE -- OUTPUT_VARIABLE _pkgconfig_invoke_result -- RESULT_VARIABLE _pkgconfig_failed) -- if(_pkgconfig_failed) -+ pkg_get_variable(OGRE_PLUGINDIR OGRE plugindir) -+ if(NOT OGRE_PLUGINDIR) - IGN_BUILD_WARNING ("Failed to find OGRE's plugin directory. The build will succeed, but there will likely be run-time errors.") - else() -- # This variable will be substituted into cmake/setup.sh.in -- set(OGRE_PLUGINDIR ${_pkgconfig_invoke_result}) -+ # Seems that OGRE_PLUGINDIR can end in a newline, which will cause problems -+ # when we pass it to the compiler later. -+ string(REPLACE "\n" "" OGRE_PLUGINDIR ${OGRE_PLUGINDIR}) - endif() - - ign_pkg_config_library_entry(IgnOGRE OgreMain) - - set(OGRE_RESOURCE_PATH ${OGRE_PLUGINDIR}) -- # Seems that OGRE_PLUGINDIR can end in a newline, which will cause problems -- # when we pass it to the compiler later. -- string(REPLACE "\n" "" OGRE_RESOURCE_PATH ${OGRE_RESOURCE_PATH}) - endif() - - #reset pkg config path diff --git a/ports/ignition-cmake2/portfile.cmake b/ports/ignition-cmake2/portfile.cmake index 0ad755ed77b0d8..39c3a29cebfeb4 100644 --- a/ports/ignition-cmake2/portfile.cmake +++ b/ports/ignition-cmake2/portfile.cmake @@ -1,11 +1,10 @@ -set(PACKAGE_VERSION "2.16.0") +set(PACKAGE_VERSION "2.17.1") ignition_modular_library(NAME cmake VERSION ${PACKAGE_VERSION} - SHA512 6ee64ff6c82c657678188be459c50a4255fd3881d758906d93361425702d04854a13a46124b20e058069f314077ba7e6c15a058153b615b3245084f066d1cbae + SHA512 871a32e9ca5314caa5f25b4135b430e7be829f7afd12ba98ea4524ee758c7ca7ebf64a9e567c6dbc285c497320cd0fe1e69f8d891343b869344726b32dbdc3ee PATCHES - add-pkgconfig-and-remove-privatefor-limit.patch - fix-findogre-pkgconfig.patch) + add-pkgconfig-and-remove-privatefor-limit.patch) # Install custom usage configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" @ONLY) diff --git a/ports/ignition-cmake2/vcpkg.json b/ports/ignition-cmake2/vcpkg.json index 4468f0bb70f8ba..dfacd4a592ca49 100644 --- a/ports/ignition-cmake2/vcpkg.json +++ b/ports/ignition-cmake2/vcpkg.json @@ -1,7 +1,6 @@ { "name": "ignition-cmake2", - "version": "2.16.0", - "port-version": 2, + "version": "2.17.1", "description": "CMake helper functions for building robotic applications", "homepage": "https://ignitionrobotics.org/libs/cmake", "license": null, diff --git a/ports/ignition-common1/add-include-chrono.patch b/ports/ignition-common1/add-include-chrono.patch new file mode 100644 index 00000000000000..3fa049e0a6b249 --- /dev/null +++ b/ports/ignition-common1/add-include-chrono.patch @@ -0,0 +1,36 @@ +diff --git a/include/ignition/common/Event.hh b/include/ignition/common/Event.hh +index 82c7e55..709f4a0 100644 +--- a/include/ignition/common/Event.hh ++++ b/include/ignition/common/Event.hh +@@ -18,6 +18,7 @@ + #define IGNITION_COMMON_EVENT_HH_ + + #include ++#include + #include + #include + #include +diff --git a/src/Console.cc b/src/Console.cc +index 1cc70db..d897cd6 100644 +--- a/src/Console.cc ++++ b/src/Console.cc +@@ -14,6 +14,7 @@ + * limitations under the License. + * + */ ++#include + #include + #include + +diff --git a/src/Util.cc b/src/Util.cc +index 5cd6699..46e8193 100644 +--- a/src/Util.cc ++++ b/src/Util.cc +@@ -30,6 +30,7 @@ + #include + #include + #include ++#include + + #include + #include diff --git a/ports/ignition-common1/portfile.cmake b/ports/ignition-common1/portfile.cmake index 6bea5e2e223078..a43745e301cc2a 100644 --- a/ports/ignition-common1/portfile.cmake +++ b/ports/ignition-common1/portfile.cmake @@ -1,4 +1,6 @@ ignition_modular_library(NAME common VERSION "1.1.1" REF ignition-common_1.1.1 - SHA512 3311a07fad8fdf809ff3f865de2493ec17c3dd157ee3297f283cf872090fb9e9f05b163416dca32f1bdf2bde02c9b4a9a7defc308344b747a8d113594f65f309) + SHA512 3311a07fad8fdf809ff3f865de2493ec17c3dd157ee3297f283cf872090fb9e9f05b163416dca32f1bdf2bde02c9b4a9a7defc308344b747a8d113594f65f309 + PATCHES add-include-chrono.patch + ) diff --git a/ports/ignition-common1/vcpkg.json b/ports/ignition-common1/vcpkg.json index bb85740f14822a..503ea8972342ff 100644 --- a/ports/ignition-common1/vcpkg.json +++ b/ports/ignition-common1/vcpkg.json @@ -1,9 +1,10 @@ { "name": "ignition-common1", "version": "1.1.1", - "port-version": 3, - "description": "Common libraries for robotics applications", + "port-version": 5, + "description": "Deprecated: Use ignition-common3. Common libraries for robotics applications", "license": null, + "supports": "windows", "dependencies": [ { "name": "dlfcn-win32", diff --git a/ports/ignition-msgs1/fix-protobuf-version.patch b/ports/ignition-msgs1/fix-protobuf-version.patch new file mode 100644 index 00000000000000..e902d1ea09f08f --- /dev/null +++ b/ports/ignition-msgs1/fix-protobuf-version.patch @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2eeb011..e8ffcc9 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -39,7 +39,6 @@ else() + set(PROTOBUF_PURPOSE) + endif() + ign_find_package(IgnProtobuf +- VERSION ${REQ_PROTOBUF_VER} + PKGCONFIG protobuf + PKGCONFIG_VER_COMPARISON >= + REQUIRED diff --git a/ports/ignition-msgs1/portfile.cmake b/ports/ignition-msgs1/portfile.cmake index 058c5996cad425..d1cecc700c150e 100644 --- a/ports/ignition-msgs1/portfile.cmake +++ b/ports/ignition-msgs1/portfile.cmake @@ -20,4 +20,5 @@ ignition_modular_library(NAME msgs # Fix linking order of protobuf libraries (backport of https://bitbucket.org/ignitionrobotics/ign-msgs/pull-requests/151) PATCHES fix-protobuf-static-link-order.patch - fix-Add_std_string.patch) + fix-Add_std_string.patch + fix-protobuf-version.patch) diff --git a/ports/ignition-msgs1/vcpkg.json b/ports/ignition-msgs1/vcpkg.json index 903b1fcebe8633..7a507a65df2a24 100644 --- a/ports/ignition-msgs1/vcpkg.json +++ b/ports/ignition-msgs1/vcpkg.json @@ -1,7 +1,7 @@ { "name": "ignition-msgs1", "version": "1.0.0", - "port-version": 6, + "port-version": 7, "description": "Middleware protobuf messages for robotics", "license": "Apache-2.0", "dependencies": [ diff --git a/ports/ignition-msgs5/03-protobuf-version.patch b/ports/ignition-msgs5/03-protobuf-version.patch new file mode 100644 index 00000000000000..41b61abc8e466f --- /dev/null +++ b/ports/ignition-msgs5/03-protobuf-version.patch @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 62b56b1..5765fd6 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -31,7 +31,6 @@ message(STATUS "\n\n-- ====== Finding Dependencies ======") + # Find Protobuf + set(REQ_PROTOBUF_VER 3) + ign_find_package(IgnProtobuf +- VERSION ${REQ_PROTOBUF_VER} + REQUIRED + COMPONENTS all + PRETTY Protobuf) diff --git a/ports/ignition-msgs5/portfile.cmake b/ports/ignition-msgs5/portfile.cmake index 494a71795f2ee4..eef76b8161c93b 100644 --- a/ports/ignition-msgs5/portfile.cmake +++ b/ports/ignition-msgs5/portfile.cmake @@ -6,4 +6,5 @@ ignition_modular_library(NAME msgs SHA512 645ae5317fb4c3c1b452e98c3581363fc939b5b963dae8a2097bcee97584819bd80357397d88728c5917142dd4ac9beecc335862df44fc06a46d8aa62c54e389 PATCHES "01-protobuf.patch" - "02-Add_std_string.patch") + "02-Add_std_string.patch" + "03-protobuf-version.patch") diff --git a/ports/ignition-msgs5/vcpkg.json b/ports/ignition-msgs5/vcpkg.json index d5cb928c7729a7..36714db45e1adb 100644 --- a/ports/ignition-msgs5/vcpkg.json +++ b/ports/ignition-msgs5/vcpkg.json @@ -1,7 +1,7 @@ { "name": "ignition-msgs5", "version": "5.3.0", - "port-version": 6, + "port-version": 7, "description": "Middleware protobuf messages for robotics", "license": "Apache-2.0", "supports": "!(arm | uwp)", diff --git a/ports/ignition-msgs6/02-protobuf-version.patch b/ports/ignition-msgs6/02-protobuf-version.patch new file mode 100644 index 00000000000000..32d92c50de42d2 --- /dev/null +++ b/ports/ignition-msgs6/02-protobuf-version.patch @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 27f747a..a02d312 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -58,7 +58,6 @@ message(STATUS "\n\n-- ====== Finding Dependencies ======") + # Find Protobuf + set(REQ_PROTOBUF_VER 3) + ign_find_package(IgnProtobuf +- VERSION ${REQ_PROTOBUF_VER} + REQUIRED + COMPONENTS all + PRETTY Protobuf) diff --git a/ports/ignition-msgs6/portfile.cmake b/ports/ignition-msgs6/portfile.cmake index 7b2e50932a2b01..4d340a19b458c0 100644 --- a/ports/ignition-msgs6/portfile.cmake +++ b/ports/ignition-msgs6/portfile.cmake @@ -4,4 +4,4 @@ ignition_modular_library(NAME msgs VERSION "6.0.0" SHA512 d7b76b61d37bc4bb2fd1319e2e2d8313fbcc52f51253b7c487bcdb7dabffcf50653fc5c709eb356d8b6ae20500c1fd32ffabc1fcfb28dd14346a10030fb6cd46 - PATCHES 01-Add_std_string.patch) + PATCHES 01-Add_std_string.patch 02-protobuf-version.patch) diff --git a/ports/ignition-msgs6/vcpkg.json b/ports/ignition-msgs6/vcpkg.json index 715b1ad12ce961..c0814ef5b4f9f6 100644 --- a/ports/ignition-msgs6/vcpkg.json +++ b/ports/ignition-msgs6/vcpkg.json @@ -1,7 +1,7 @@ { "name": "ignition-msgs6", "version": "6.0.0", - "port-version": 5, + "port-version": 6, "description": "Middleware protobuf messages for robotics", "license": "Apache-2.0", "supports": "!(arm | uwp)", diff --git a/ports/ignition-transport4/fix-protobuf.patch b/ports/ignition-transport4/fix-protobuf.patch new file mode 100644 index 00000000000000..6db3a459cae707 --- /dev/null +++ b/ports/ignition-transport4/fix-protobuf.patch @@ -0,0 +1,62 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5453cd07..c00e7329 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -39,7 +39,6 @@ else() + set(PROTOBUF_PURPOSE) + endif() + ign_find_package(IgnProtobuf +- VERSION ${REQ_PROTOBUF_VER} + REQUIRED + PRETTY Protobuf + PURPOSE ${PROTOBUF_PURPOSE}) +diff --git a/include/ignition/transport/RepHandler.hh b/include/ignition/transport/RepHandler.hh +index 1163c3eb..e2cb5ca0 100644 +--- a/include/ignition/transport/RepHandler.hh ++++ b/include/ignition/transport/RepHandler.hh +@@ -26,7 +26,7 @@ + #pragma warning(pop) + #endif + +-#if GOOGLE_PROTOBUF_VERSION > 2999999 ++#if GOOGLE_PROTOBUF_VERSION > 2999999 && GOOGLE_PROTOBUF_VERSION < 4022000 + #include + #endif + +@@ -127,7 +127,11 @@ namespace ignition + return false; + } + +-#if GOOGLE_PROTOBUF_VERSION > 2999999 ++#if GOOGLE_PROTOBUF_VERSION >= 4022000 ++ auto msgReq = ++ google::protobuf::internal::DownCast(&_msgReq); ++ auto msgRep = google::protobuf::internal::DownCast(&_msgRep); ++#elif GOOGLE_PROTOBUF_VERSION > 2999999 + auto msgReq = google::protobuf::down_cast(&_msgReq); + auto msgRep = google::protobuf::down_cast(&_msgRep); + #else +diff --git a/include/ignition/transport/SubscriptionHandler.hh b/include/ignition/transport/SubscriptionHandler.hh +index d9fbd224..22486730 100644 +--- a/include/ignition/transport/SubscriptionHandler.hh ++++ b/include/ignition/transport/SubscriptionHandler.hh +@@ -28,7 +28,7 @@ + + #include + +-#if GOOGLE_PROTOBUF_VERSION >= 3000000 ++#if GOOGLE_PROTOBUF_VERSION >= 3000000 && GOOGLE_PROTOBUF_VERSION < 4022000 + #include + #endif + +@@ -198,7 +198,9 @@ namespace ignition + if (!this->UpdateThrottling()) + return true; + +-#if GOOGLE_PROTOBUF_VERSION >= 3000000 ++#if GOOGLE_PROTOBUF_VERSION >= 4022000 ++ auto msgPtr = google::protobuf::internal::DownCast(&_msg); ++#elif GOOGLE_PROTOBUF_VERSION >= 3000000 + auto msgPtr = google::protobuf::down_cast(&_msg); + #else + auto msgPtr = google::protobuf::internal::down_cast(&_msg); diff --git a/ports/ignition-transport4/portfile.cmake b/ports/ignition-transport4/portfile.cmake index 0f70168c9e1e8e..bb951537a3ea53 100644 --- a/ports/ignition-transport4/portfile.cmake +++ b/ports/ignition-transport4/portfile.cmake @@ -5,4 +5,5 @@ ignition_modular_library(NAME transport DISABLE_PKGCONFIG_INSTALL PATCHES uuid-osx.patch + fix-protobuf.patch ) diff --git a/ports/ignition-transport4/vcpkg.json b/ports/ignition-transport4/vcpkg.json index 2658f13ee1b744..a9a2cb21cd4411 100644 --- a/ports/ignition-transport4/vcpkg.json +++ b/ports/ignition-transport4/vcpkg.json @@ -1,7 +1,7 @@ { "name": "ignition-transport4", "version": "4.0.0", - "port-version": 6, + "port-version": 7, "description": "Transport middleware for robotics", "license": null, "dependencies": [ diff --git a/ports/ignition-transport8/fix-protobuf.patch b/ports/ignition-transport8/fix-protobuf.patch new file mode 100644 index 00000000000000..4c82c33084fcf8 --- /dev/null +++ b/ports/ignition-transport8/fix-protobuf.patch @@ -0,0 +1,62 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index cbf24cba..f2ba7ae6 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -38,7 +38,6 @@ message(STATUS "\n\n-- ====== Finding Dependencies ======") + # Find Protobuf + set(REQ_PROTOBUF_VER 3) + ign_find_package(IgnProtobuf +- VERSION ${REQ_PROTOBUF_VER} + REQUIRED + PRETTY Protobuf) + +diff --git a/include/ignition/transport/RepHandler.hh b/include/ignition/transport/RepHandler.hh +index e826fd6b..4719aa4b 100644 +--- a/include/ignition/transport/RepHandler.hh ++++ b/include/ignition/transport/RepHandler.hh +@@ -26,7 +26,7 @@ + #pragma warning(pop) + #endif + +-#if GOOGLE_PROTOBUF_VERSION > 2999999 ++#if GOOGLE_PROTOBUF_VERSION > 2999999 && GOOGLE_PROTOBUF_VERSION < 4022000 + #include + #endif + +@@ -140,7 +140,11 @@ namespace ignition + return false; + } + +-#if GOOGLE_PROTOBUF_VERSION > 2999999 ++#if GOOGLE_PROTOBUF_VERSION >= 4022000 ++ auto msgReq = ++ google::protobuf::internal::DownCast(&_msgReq); ++ auto msgRep = google::protobuf::internal::DownCast(&_msgRep); ++#elif GOOGLE_PROTOBUF_VERSION > 2999999 + auto msgReq = google::protobuf::down_cast(&_msgReq); + auto msgRep = google::protobuf::down_cast(&_msgRep); + #else +diff --git a/include/ignition/transport/SubscriptionHandler.hh b/include/ignition/transport/SubscriptionHandler.hh +index 96811afe..a8d7ebcd 100644 +--- a/include/ignition/transport/SubscriptionHandler.hh ++++ b/include/ignition/transport/SubscriptionHandler.hh +@@ -28,7 +28,7 @@ + + #include + +-#if GOOGLE_PROTOBUF_VERSION >= 3000000 ++#if GOOGLE_PROTOBUF_VERSION >= 3000000 && GOOGLE_PROTOBUF_VERSION < 4022000 + #include + #endif + +@@ -211,7 +211,9 @@ namespace ignition + if (!this->UpdateThrottling()) + return true; + +-#if GOOGLE_PROTOBUF_VERSION >= 3000000 ++#if GOOGLE_PROTOBUF_VERSION >= 4022000 ++ auto msgPtr = google::protobuf::internal::DownCast(&_msg); ++#elif GOOGLE_PROTOBUF_VERSION >= 3000000 + auto msgPtr = google::protobuf::down_cast(&_msg); + #else + auto msgPtr = google::protobuf::internal::down_cast(&_msg); diff --git a/ports/ignition-transport8/portfile.cmake b/ports/ignition-transport8/portfile.cmake index 7ca8513e7cb022..f0a71a2ce0cc46 100644 --- a/ports/ignition-transport8/portfile.cmake +++ b/ports/ignition-transport8/portfile.cmake @@ -1,3 +1,6 @@ ignition_modular_library(NAME transport VERSION "8.1.0" - SHA512 04b4cd954453505398da35b284e7db4b4691d9a705924c41e0082fd20e94176a3eaeae7329fd9992aaa50f90b2d8973c71daf763ccff58aa30d06be1da15189a) + SHA512 04b4cd954453505398da35b284e7db4b4691d9a705924c41e0082fd20e94176a3eaeae7329fd9992aaa50f90b2d8973c71daf763ccff58aa30d06be1da15189a + PATCHES + fix-protobuf.patch + ) diff --git a/ports/ignition-transport8/vcpkg.json b/ports/ignition-transport8/vcpkg.json index 52bcedab152044..d123372d9fa932 100644 --- a/ports/ignition-transport8/vcpkg.json +++ b/ports/ignition-transport8/vcpkg.json @@ -1,7 +1,7 @@ { "name": "ignition-transport8", "version": "8.1.0", - "port-version": 4, + "port-version": 5, "description": "Transport middleware for robotics", "license": null, "dependencies": [ diff --git a/ports/ignition-transport9/fix-protobuf.patch b/ports/ignition-transport9/fix-protobuf.patch new file mode 100644 index 00000000000000..13d49c3ea7540a --- /dev/null +++ b/ports/ignition-transport9/fix-protobuf.patch @@ -0,0 +1,62 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 084b6daf..a5501b5b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -38,7 +38,6 @@ message(STATUS "\n\n-- ====== Finding Dependencies ======") + # Find Protobuf + set(REQ_PROTOBUF_VER 3) + ign_find_package(IgnProtobuf +- VERSION ${REQ_PROTOBUF_VER} + REQUIRED + PRETTY Protobuf) + +diff --git a/include/ignition/transport/RepHandler.hh b/include/ignition/transport/RepHandler.hh +index e826fd6b..4719aa4b 100644 +--- a/include/ignition/transport/RepHandler.hh ++++ b/include/ignition/transport/RepHandler.hh +@@ -26,7 +26,7 @@ + #pragma warning(pop) + #endif + +-#if GOOGLE_PROTOBUF_VERSION > 2999999 ++#if GOOGLE_PROTOBUF_VERSION > 2999999 && GOOGLE_PROTOBUF_VERSION < 4022000 + #include + #endif + +@@ -140,7 +140,11 @@ namespace ignition + return false; + } + +-#if GOOGLE_PROTOBUF_VERSION > 2999999 ++#if GOOGLE_PROTOBUF_VERSION >= 4022000 ++ auto msgReq = ++ google::protobuf::internal::DownCast(&_msgReq); ++ auto msgRep = google::protobuf::internal::DownCast(&_msgRep); ++#elif GOOGLE_PROTOBUF_VERSION > 2999999 + auto msgReq = google::protobuf::down_cast(&_msgReq); + auto msgRep = google::protobuf::down_cast(&_msgRep); + #else +diff --git a/include/ignition/transport/SubscriptionHandler.hh b/include/ignition/transport/SubscriptionHandler.hh +index 96811afe..a8d7ebcd 100644 +--- a/include/ignition/transport/SubscriptionHandler.hh ++++ b/include/ignition/transport/SubscriptionHandler.hh +@@ -28,7 +28,7 @@ + + #include + +-#if GOOGLE_PROTOBUF_VERSION >= 3000000 ++#if GOOGLE_PROTOBUF_VERSION >= 3000000 && GOOGLE_PROTOBUF_VERSION < 4022000 + #include + #endif + +@@ -211,7 +211,9 @@ namespace ignition + if (!this->UpdateThrottling()) + return true; + +-#if GOOGLE_PROTOBUF_VERSION >= 3000000 ++#if GOOGLE_PROTOBUF_VERSION >= 4022000 ++ auto msgPtr = google::protobuf::internal::DownCast(&_msg); ++#elif GOOGLE_PROTOBUF_VERSION >= 3000000 + auto msgPtr = google::protobuf::down_cast(&_msg); + #else + auto msgPtr = google::protobuf::internal::down_cast(&_msg); diff --git a/ports/ignition-transport9/portfile.cmake b/ports/ignition-transport9/portfile.cmake index 0396815664ae87..4eb81e5035f378 100644 --- a/ports/ignition-transport9/portfile.cmake +++ b/ports/ignition-transport9/portfile.cmake @@ -5,4 +5,5 @@ ignition_modular_library(NAME transport DISABLE_PKGCONFIG_INSTALL PATCHES uuid-osx.patch + fix-protobuf.patch ) diff --git a/ports/ignition-transport9/vcpkg.json b/ports/ignition-transport9/vcpkg.json index 59e5483f49522f..42bcdcc477c748 100644 --- a/ports/ignition-transport9/vcpkg.json +++ b/ports/ignition-transport9/vcpkg.json @@ -1,7 +1,7 @@ { "name": "ignition-transport9", "version": "9.0.0", - "port-version": 4, + "port-version": 5, "description": "Transport middleware for robotics", "license": null, "dependencies": [ diff --git a/ports/igraph/constant-nan.patch b/ports/igraph/constant-nan.patch new file mode 100644 index 00000000000000..83c2d2c60af96b --- /dev/null +++ b/ports/igraph/constant-nan.patch @@ -0,0 +1,12 @@ +diff --git a/vendor/plfit/hzeta.c b/vendor/plfit/hzeta.c +index d8f9a6d..4ef8d5d 100644 +--- a/vendor/plfit/hzeta.c ++++ b/vendor/plfit/hzeta.c +@@ -43,6 +43,7 @@ + /* Author: Jerome G. Benoit < jgmbenoit _at_ rezozer _dot_ net > */ + + #ifdef _MSC_VER ++#define _UCRT_NOISY_NAN + #define _USE_MATH_DEFINES + #endif + diff --git a/ports/igraph/portfile.cmake b/ports/igraph/portfile.cmake index ddc06fd5f329cb..f393307367831c 100644 --- a/ports/igraph/portfile.cmake +++ b/ports/igraph/portfile.cmake @@ -4,9 +4,9 @@ # - The release tarball contains pre-generated parser sources, which eliminates the dependency on bison/flex. vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/igraph/igraph/releases/download/0.10.7/igraph-0.10.7.tar.gz" - FILENAME "igraph-0.10.7.tar.gz" - SHA512 72187052de16c791176dce797addaa54c18f14f47b44983374e3d8bb94a664dc70d773fb9296aa4fb1c68dbf5fb3d61803f1c4b167388d9217ce80f38a90f522 + URLS "https://github.com/igraph/igraph/releases/download/0.10.15/igraph-0.10.15.tar.gz" + FILENAME "igraph-0.10.15.tar.gz" + SHA512 bf9f0f2f62618cf037bdbbf2e126d27ec4e45edfb65efcf26df3fc1fb71a3e1f05a8b9a62f972650d96daa1e7bd3f2a084fe39bbca42e808cc737165514276e0 ) vcpkg_extract_source_archive( @@ -14,6 +14,7 @@ vcpkg_extract_source_archive( ARCHIVE ${ARCHIVE} PATCHES "glpk-uwp.patch" # patch GLPK for UWP compatibility + "constant-nan.patch" # Workaround https://developercommunity.visualstudio.com/t/NAN-is-no-longer-compile-time-constant-i/10688907 ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS diff --git a/ports/igraph/vcpkg.json b/ports/igraph/vcpkg.json index 1c1be413a821a8..ecacba01fb487b 100644 --- a/ports/igraph/vcpkg.json +++ b/ports/igraph/vcpkg.json @@ -1,6 +1,7 @@ { "name": "igraph", - "version": "0.10.7", + "version": "0.10.15", + "port-version": 1, "description": "igraph is a C library for network analysis and graph theory, with an emphasis on efficiency portability and ease of use.", "homepage": "https://igraph.org/", "license": "GPL-2.0-or-later", diff --git a/ports/iir1/fix-shared-lib.patch b/ports/iir1/fix-shared-lib.patch index 1299dcd64b420e..eba116e61dd49e 100644 --- a/ports/iir1/fix-shared-lib.patch +++ b/ports/iir1/fix-shared-lib.patch @@ -10,10 +10,13 @@ index 4dd67df..3840ff8 100644 install(TARGETS iir EXPORT iir-targets LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -@@ -91,6 +92,7 @@ install(TARGETS iir EXPORT iir-targets +@@ -91,6 +92,10 @@ install(TARGETS iir EXPORT iir-targets INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} PRIVATE_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/iir) ++ set(IIR1_INSTALL_STATIC OFF) ++else() ++ set_target_properties(iir PROPERTIES EXCLUDE_FROM_ALL 1) +endif() include(JoinPaths) diff --git a/ports/iir1/portfile.cmake b/ports/iir1/portfile.cmake index 90e17ddcc4b129..82f657af6c943d 100644 --- a/ports/iir1/portfile.cmake +++ b/ports/iir1/portfile.cmake @@ -2,30 +2,31 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO berndporr/iir1 REF "${VERSION}" - SHA512 e69b79ba48aa5d5ec2ddb0a31461ac4c15b0489df80fddc1f1f8adc143726fa189dc0dd94a0ed2bb7aa73712f953e27b345a762120ab2d10f54f57a868f0ea42 + SHA512 2b0658a621cdfb57796cf2fea5411975b442af4af267bce2f613ae53f43572f208fdea59d7ea0178e9984e311c406f289166789aa423505ac8ed2b889ddc9f64 HEAD_REF master PATCHES fix-shared-lib.patch ) -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" IIR1_INSTALL_STATIC) - vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DIIR1_INSTALL_STATIC=${IIR1_INSTALL_STATIC} -DIIR1_BUILD_TESTING=OFF -DIIR1_BUILD_DEMO=OFF ) vcpkg_cmake_install() - +vcpkg_copy_pdbs() vcpkg_cmake_config_fixup(PACKAGE_NAME iir CONFIG_PATH lib/cmake/iir) - vcpkg_fixup_pkgconfig() -vcpkg_copy_pdbs() +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/iir.pc" " -liir" "-liir_static") + if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/iir.pc" " -liir" " -liir_static") + endif() +endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/iir1/vcpkg.json b/ports/iir1/vcpkg.json index dc4fef275c5270..7418476f29454a 100644 --- a/ports/iir1/vcpkg.json +++ b/ports/iir1/vcpkg.json @@ -1,7 +1,8 @@ { "name": "iir1", - "version": "1.9.4", - "description": "Realtime C++ filter library", + "version": "1.9.5", + "port-version": 1, + "description": "An infinite impulse response (IIR) filter library for realtime processing. It implements Butterworth, RBJ, Chebychev filters.", "homepage": "https://github.com/berndporr/iir1", "license": "MIT", "supports": "!uwp", diff --git a/ports/ijg-libjpeg/portfile.cmake b/ports/ijg-libjpeg/portfile.cmake index 033e12fe95345f..bd3c3cf23a0e09 100644 --- a/ports/ijg-libjpeg/portfile.cmake +++ b/ports/ijg-libjpeg/portfile.cmake @@ -1,4 +1,4 @@ -if(EXISTS ${CURRENT_INSTALLED_DIR}/share/libturbo-jpeg/copyright) +if(EXISTS ${CURRENT_INSTALLED_DIR}/share/libjpeg-turbo/copyright) message(FATAL_ERROR "'${PORT}' conflicts with 'libturbo-jpeg'. Please remove libturbo-jpeg:${TARGET_TRIPLET}, and try to install ${PORT}:${TARGET_TRIPLET} again.") endif() if(EXISTS ${CURRENT_INSTALLED_DIR}/share/mozjpeg/copyright) @@ -41,7 +41,7 @@ vcpkg_cmake_install() vcpkg_copy_pdbs() # There is no LICENSE file, but README containes some legal text. -file(INSTALL "${SOURCE_PATH}/README" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/README") if(VCPKG_LIBRARY_LINKAGE STREQUAL static) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") diff --git a/ports/ijg-libjpeg/vcpkg.json b/ports/ijg-libjpeg/vcpkg.json index 8e40a987f34051..7e9cffae669980 100644 --- a/ports/ijg-libjpeg/vcpkg.json +++ b/ports/ijg-libjpeg/vcpkg.json @@ -1,7 +1,7 @@ { "name": "ijg-libjpeg", "version-string": "9e", - "port-version": 1, + "port-version": 2, "description": "Independent JPEG Group's JPEG software", "homepage": "http://www.ijg.org/", "license": null, diff --git a/ports/ilmbase/portfile.cmake b/ports/ilmbase/portfile.cmake deleted file mode 100644 index 9aefc82414d125..00000000000000 --- a/ports/ilmbase/portfile.cmake +++ /dev/null @@ -1 +0,0 @@ -set(VCPKG_POLICY_EMPTY_PACKAGE enabled) diff --git a/ports/ilmbase/vcpkg.json b/ports/ilmbase/vcpkg.json deleted file mode 100644 index a32e6100d16fe9..00000000000000 --- a/ports/ilmbase/vcpkg.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "ilmbase", - "version": "3", - "description": "Obsolete, use port imath instead", - "dependencies": [ - "imath" - ] -} diff --git a/ports/imageinfo/portfile.cmake b/ports/imageinfo/portfile.cmake index e7d0bdc39790ff..0479faebde6964 100644 --- a/ports/imageinfo/portfile.cmake +++ b/ports/imageinfo/portfile.cmake @@ -1,24 +1,33 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO xiaozhuai/imageinfo - REF 724301f7ef5e29410e78cd900ae25f9fa2e3080a # committed on 2023-01-31 - SHA512 b9ba5d2ec5698b9eee4eb07e0dbb50d0f361e730b6d468ac6e4c90b29375f6468f45214573673de5f9388d532794f922a556153d34cba5d6ccec854c20d34506 + REF 4e772f7d7d4453028c71f90e1783c390f5d78adf # committed on 2024-12-02 + SHA512 6ef9041a450c516ba84c5ccb4d96a2f5e27c0b45164e1db38b8df6adfeaec1725b76677955e8b2bf4d73842162cecf734ee25163af21eeeb045af48af92ba821 HEAD_REF master ) set(VCPKG_BUILD_TYPE release) # header-only port +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + tools IMAGEINFO_BUILD_TOOLS +) + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DIMAGEINFO_BUILD_TOOL=OFF + -DIMAGEINFO_BUILD_INSTALL=ON -DIMAGEINFO_BUILD_TESTS=OFF + ${FEATURE_OPTIONS} ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/imageinfo) +vcpkg_cmake_config_fixup() +if("tools" IN_LIST FEATURES) + vcpkg_copy_tools(TOOL_NAMES imageinfo AUTO_CLEAN) +endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/imageinfo/vcpkg.json b/ports/imageinfo/vcpkg.json index ff5b516ccf5180..93dff9183d30ef 100644 --- a/ports/imageinfo/vcpkg.json +++ b/ports/imageinfo/vcpkg.json @@ -1,6 +1,6 @@ { "name": "imageinfo", - "version-date": "2023-01-31", + "version-date": "2024-12-02", "description": "Cross platform super fast single header c++ library to get image size and format without loading/decoding. Support avif, bmp, cur, dds, gif, hdr (pic), heic (heif), icns, ico, jp2, jpeg (jpg), jpx, ktx, png, psd, qoi, tga, tiff (tif), webp ...", "homepage": "https://github.com/xiaozhuai/imageinfo", "license": "MIT", @@ -13,5 +13,11 @@ "name": "vcpkg-cmake-config", "host": true } - ] + ], + "features": { + "tools": { + "description": "build command line tool", + "supports": "!android & !ios & !xbox & !wasm32" + } + } } diff --git a/ports/imath/portfile.cmake b/ports/imath/portfile.cmake index 3f4f34ad58c7c6..fdc9f0c57de779 100644 --- a/ports/imath/portfile.cmake +++ b/ports/imath/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO AcademySoftwareFoundation/Imath - REF v3.1.9 - SHA512 ad96b2ac306fc13c01e8ea3256f885499c3f545be327feaba0f5e093b70b544bcca6f8b353fa7e35107aae515c19caced44331a95d0414f367ead4691ec73564 + REF "v${VERSION}" + SHA512 32628dfcacb610310b81ffe017a66215cf5fb84c2e0a6ac8c94a68c048be3d2b97eb57965dd253770184d5824cce1e5440b8eefb2834666b273b3193ff108343 HEAD_REF master ) diff --git a/ports/imath/vcpkg.json b/ports/imath/vcpkg.json index 85b1cb6915f3e7..e599048b2188ce 100644 --- a/ports/imath/vcpkg.json +++ b/ports/imath/vcpkg.json @@ -1,7 +1,6 @@ { "name": "imath", - "version": "3.1.9", - "port-version": 1, + "version": "3.1.12", "description": "Imath is a C++ and Python library of 2D and 3D vector, matrix, and math operations for computer graphics.", "homepage": "https://github.com/AcademySoftwareFoundation/Imath", "license": "BSD-3-Clause", diff --git a/ports/imcce-openfa/portfile.cmake b/ports/imcce-openfa/portfile.cmake new file mode 100755 index 00000000000000..d24bff54b33ceb --- /dev/null +++ b/ports/imcce-openfa/portfile.cmake @@ -0,0 +1,25 @@ +vcpkg_from_gitlab( + OUT_SOURCE_PATH SOURCE_PATH + GITLAB_URL https://gitlab.obspm.fr + REPO imcce_openfa/openfa + REF ${VERSION} + SHA512 8f4cd47c80afcf91514233ff77730d65d264a11d6fa7b6f4eb5382a336577af8ec683a582a14b7aa440fa19f9cdeb780a6010144ce94029b759cb4ee52f7c654 +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME "openfa" CONFIG_PATH "lib/cmake/openfa") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +file(INSTALL "${SOURCE_PATH}/README.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME readme.md) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/imcce-openfa/vcpkg.json b/ports/imcce-openfa/vcpkg.json new file mode 100755 index 00000000000000..5884425c97f8ae --- /dev/null +++ b/ports/imcce-openfa/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "imcce-openfa", + "version": "20231011.0.3", + "description": "set of algorithms and procedures that implement standard models used in fundamental astronomy", + "homepage": "https://gitlab.obspm.fr/imcce_openfa/openfa", + "license": "BSD-3-Clause", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/imgui-node-editor/fix-vec2-math-operators.patch b/ports/imgui-node-editor/fix-vec2-math-operators.patch new file mode 100644 index 00000000000000..c4115d91be089e --- /dev/null +++ b/ports/imgui-node-editor/fix-vec2-math-operators.patch @@ -0,0 +1,35 @@ +diff --git a/imgui_extra_math.h b/imgui_extra_math.h +index 5c46cc4..18f6dad 100644 +--- a/imgui_extra_math.h ++++ b/imgui_extra_math.h +@@ -30,8 +30,10 @@ struct ImLine + + + //------------------------------------------------------------------------------ ++# if IMGUI_VERSION_NUM < 19002 + inline bool operator==(const ImVec2& lhs, const ImVec2& rhs); + inline bool operator!=(const ImVec2& lhs, const ImVec2& rhs); ++#endif + inline ImVec2 operator*(const float lhs, const ImVec2& rhs); + # if IMGUI_VERSION_NUM < 18955 + inline ImVec2 operator-(const ImVec2& lhs); +diff --git a/imgui_extra_math.inl b/imgui_extra_math.inl +index 8b1b071..acc1254 100644 +--- a/imgui_extra_math.inl ++++ b/imgui_extra_math.inl +@@ -19,6 +19,7 @@ + + + //------------------------------------------------------------------------------ ++# if IMGUI_VERSION_NUM < 19002 + inline bool operator==(const ImVec2& lhs, const ImVec2& rhs) + { + return lhs.x == rhs.x && lhs.y == rhs.y; +@@ -28,6 +29,7 @@ inline bool operator!=(const ImVec2& lhs, const ImVec2& rhs) + { + return lhs.x != rhs.x || lhs.y != rhs.y; + } ++#endif + + inline ImVec2 operator*(const float lhs, const ImVec2& rhs) + { diff --git a/ports/imgui-node-editor/portfile.cmake b/ports/imgui-node-editor/portfile.cmake index 22666dbb9a70c2..991b7ada10e4ac 100644 --- a/ports/imgui-node-editor/portfile.cmake +++ b/ports/imgui-node-editor/portfile.cmake @@ -6,6 +6,9 @@ vcpkg_from_github( REF v${VERSION} SHA512 83573b6ed776095837373bc95be1c1f5b85e9c5fae2145647f9cb6fdc17d3889edce716ac9e27c1bbde56f00803a66db98ca856910e6e0ce8714d3c5ce3f7c3f HEAD_REF master + PATCHES + fix-vec2-math-operators.patch + remove-getkeyindex.patch # GetKeyIndex() is a no-op since 1.87; see https://github.com/ocornut/imgui/issues/5979#issuecomment-1345349492 ) file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") diff --git a/ports/imgui-node-editor/remove-getkeyindex.patch b/ports/imgui-node-editor/remove-getkeyindex.patch new file mode 100644 index 00000000000000..b05377e45ac57b --- /dev/null +++ b/ports/imgui-node-editor/remove-getkeyindex.patch @@ -0,0 +1,72 @@ +diff --git a/imgui_node_editor.cpp b/imgui_node_editor.cpp +index 1d2bb06..f70d099 100644 +--- a/imgui_node_editor.cpp ++++ b/imgui_node_editor.cpp +@@ -60,6 +60,7 @@ namespace Detail { + + DECLARE_KEY_TESTER(ImGuiKey_F); + DECLARE_KEY_TESTER(ImGuiKey_D); ++DECLARE_KEY_TESTER(ImGuiKey_Delete); + + static inline int GetKeyIndexForF() + { +@@ -70,6 +71,11 @@ static inline int GetKeyIndexForD() + { + return KeyTester_ImGuiKey_D::Get(nullptr); + } ++ ++static inline int GetKeyIndexForDelete() ++{ ++ return KeyTester_ImGuiKey_Delete::Get(nullptr); ++} + # else + static inline ImGuiKey GetKeyIndexForF() + { +@@ -80,6 +86,11 @@ static inline ImGuiKey GetKeyIndexForD() + { + return ImGuiKey_D; + } ++ ++static inline ImGuiKey GetKeyIndexForDelete() ++{ ++ return ImGuiKey_Delete; ++} + # endif + + } // namespace Detail +@@ -4391,6 +4402,7 @@ ed::EditorAction::AcceptResult ed::ShortcutAction::Accept(const Control& control + Action candidateAction = None; + + auto& io = ImGui::GetIO(); ++# if !defined(IMGUI_VERSION_NUM) || (IMGUI_VERSION_NUM < 18822) + if (io.KeyCtrl && !io.KeyShift && !io.KeyAlt && ImGui::IsKeyPressed(ImGui::GetKeyIndex(ImGuiKey_X))) + candidateAction = Cut; + if (io.KeyCtrl && !io.KeyShift && !io.KeyAlt && ImGui::IsKeyPressed(ImGui::GetKeyIndex(ImGuiKey_C))) +@@ -4401,6 +4413,18 @@ ed::EditorAction::AcceptResult ed::ShortcutAction::Accept(const Control& control + candidateAction = Duplicate; + if (!io.KeyCtrl && !io.KeyShift && !io.KeyAlt && ImGui::IsKeyPressed(ImGui::GetKeyIndex(ImGuiKey_Space))) + candidateAction = CreateNode; ++# else ++ if (io.KeyCtrl && !io.KeyShift && !io.KeyAlt && ImGui::IsKeyPressed(ImGuiKey_X)) ++ candidateAction = Cut; ++ if (io.KeyCtrl && !io.KeyShift && !io.KeyAlt && ImGui::IsKeyPressed(ImGuiKey_C)) ++ candidateAction = Copy; ++ if (io.KeyCtrl && !io.KeyShift && !io.KeyAlt && ImGui::IsKeyPressed(ImGuiKey_V)) ++ candidateAction = Paste; ++ if (io.KeyCtrl && !io.KeyShift && !io.KeyAlt && ImGui::IsKeyPressed(GetKeyIndexForD())) ++ candidateAction = Duplicate; ++ if (!io.KeyCtrl && !io.KeyShift && !io.KeyAlt && ImGui::IsKeyPressed(ImGuiKey_Space)) ++ candidateAction = CreateNode; ++# endif + + if (candidateAction != None) + { +@@ -4953,7 +4977,7 @@ ed::EditorAction::AcceptResult ed::DeleteItemsAction::Accept(const Control& cont + return False; + + auto& io = ImGui::GetIO(); +- if (Editor->CanAcceptUserInput() && ImGui::IsKeyPressed(ImGui::GetKeyIndex(ImGuiKey_Delete)) && Editor->AreShortcutsEnabled()) ++ if (Editor->CanAcceptUserInput() && ImGui::IsKeyPressed(GetKeyIndexForDelete()) && Editor->AreShortcutsEnabled()) + { + auto& selection = Editor->GetSelectedObjects(); + if (!selection.empty()) diff --git a/ports/imgui-node-editor/vcpkg.json b/ports/imgui-node-editor/vcpkg.json index 9cbd3a3915e131..fd4bb73ac964ea 100644 --- a/ports/imgui-node-editor/vcpkg.json +++ b/ports/imgui-node-editor/vcpkg.json @@ -1,6 +1,7 @@ { "name": "imgui-node-editor", "version": "0.9.3", + "port-version": 2, "description": "Node Editor built using Dear ImGui", "homepage": "https://github.com/thedmd/imgui-node-editor", "license": "MIT", diff --git a/ports/imgui-sfml/0002-clean-deprecated-api.patch b/ports/imgui-sfml/0002-clean-deprecated-api.patch new file mode 100644 index 00000000000000..24be56024af92c --- /dev/null +++ b/ports/imgui-sfml/0002-clean-deprecated-api.patch @@ -0,0 +1,58 @@ +diff --git a/imgui-SFML.cpp b/imgui-SFML.cpp +index d9c4f52..6ae99c1 100644 +--- a/imgui-SFML.cpp ++++ b/imgui-SFML.cpp +@@ -867,36 +867,9 @@ void SetJoystickRTriggerThreshold(float threshold) { + + void SetJoystickMapping(int key, unsigned int joystickButton) { + assert(s_currWindowCtx); +- // This function now expects ImGuiKey_* values. +- // For partial backwards compatibility, also expect some ImGuiNavInput_* values. +- ImGuiKey finalKey; +- switch (key) { +- case ImGuiNavInput_Activate: +- finalKey = ImGuiKey_GamepadFaceDown; +- break; +- case ImGuiNavInput_Cancel: +- finalKey = ImGuiKey_GamepadFaceRight; +- break; +- case ImGuiNavInput_Input: +- finalKey = ImGuiKey_GamepadFaceUp; +- break; +- case ImGuiNavInput_Menu: +- finalKey = ImGuiKey_GamepadFaceLeft; +- break; +- case ImGuiNavInput_FocusPrev: +- case ImGuiNavInput_TweakSlow: +- finalKey = ImGuiKey_GamepadL1; +- break; +- case ImGuiNavInput_FocusNext: +- case ImGuiNavInput_TweakFast: +- finalKey = ImGuiKey_GamepadR1; +- break; +- default: +- assert(key >= ImGuiKey_NamedKey_BEGIN && key < ImGuiKey_NamedKey_END); +- finalKey = static_cast(key); +- } ++ assert(key >= ImGuiKey_NamedKey_BEGIN && key < ImGuiKey_NamedKey_END); + assert(joystickButton < sf::Joystick::ButtonCount); +- s_currWindowCtx->joystickMapping[joystickButton] = finalKey; ++ s_currWindowCtx->joystickMapping[joystickButton] = static_cast(key); + } + + void SetDPadXAxis(sf::Joystick::Axis dPadXAxis, bool inverted) { +@@ -1228,11 +1201,11 @@ void RenderDrawLists(ImDrawData* draw_data) { + const ImDrawVert* vtx_buffer = cmd_list->VtxBuffer.Data; + const ImDrawIdx* idx_buffer = cmd_list->IdxBuffer.Data; + glVertexPointer(2, GL_FLOAT, sizeof(ImDrawVert), +- (const GLvoid*)((const char*)vtx_buffer + IM_OFFSETOF(ImDrawVert, pos))); ++ (const GLvoid*)((const char*)vtx_buffer + offsetof(ImDrawVert, pos))); + glTexCoordPointer(2, GL_FLOAT, sizeof(ImDrawVert), +- (const GLvoid*)((const char*)vtx_buffer + IM_OFFSETOF(ImDrawVert, uv))); ++ (const GLvoid*)((const char*)vtx_buffer + offsetof(ImDrawVert, uv))); + glColorPointer(4, GL_UNSIGNED_BYTE, sizeof(ImDrawVert), +- (const GLvoid*)((const char*)vtx_buffer + IM_OFFSETOF(ImDrawVert, col))); ++ (const GLvoid*)((const char*)vtx_buffer + offsetof(ImDrawVert, col))); + + for (int cmd_i = 0; cmd_i < cmd_list->CmdBuffer.Size; cmd_i++) { + const ImDrawCmd* pcmd = &cmd_list->CmdBuffer[cmd_i]; diff --git a/ports/imgui-sfml/0003-use-explicit-id.patch b/ports/imgui-sfml/0003-use-explicit-id.patch new file mode 100644 index 00000000000000..cd5c5e83566f22 --- /dev/null +++ b/ports/imgui-sfml/0003-use-explicit-id.patch @@ -0,0 +1,111 @@ +diff --git a/imgui-SFML.cpp b/imgui-SFML.cpp +index 6ae99c1..069fdeb 100644 +--- a/imgui-SFML.cpp ++++ b/imgui-SFML.cpp +@@ -984,49 +984,30 @@ void Image(const sf::Sprite& sprite, const sf::Vector2f& size, const sf::Color& + + /////////////// Image Button Overloads for sf::Texture + +-bool ImageButton(const sf::Texture& texture, const int framePadding, const sf::Color& bgColor, +- const sf::Color& tintColor) { +- return ImageButton(texture, static_cast(texture.getSize()), framePadding, bgColor, +- tintColor); +-} +- +-bool ImageButton(const sf::Texture& texture, const sf::Vector2f& size, const int framePadding, ++bool ImageButton(const char* id, const sf::Texture& texture, const sf::Vector2f& size, + const sf::Color& bgColor, const sf::Color& tintColor) { + ImTextureID textureID = convertGLTextureHandleToImTextureID(texture.getNativeHandle()); + +- return ImGui::ImageButton(textureID, ImVec2(size.x, size.y), ImVec2(0, 0), ImVec2(1, 1), +- framePadding, toImColor(bgColor), toImColor(tintColor)); ++ return ImGui::ImageButton(id, textureID, ImVec2(size.x, size.y), ImVec2(0, 0), ImVec2(1, 1), ++ toImColor(bgColor), toImColor(tintColor)); + } + + /////////////// Image Button Overloads for sf::RenderTexture + +-bool ImageButton(const sf::RenderTexture& texture, const int framePadding, const sf::Color& bgColor, +- const sf::Color& tintColor) { +- return ImageButton(texture, static_cast(texture.getSize()), framePadding, bgColor, +- tintColor); +-} +- +-bool ImageButton(const sf::RenderTexture& texture, const sf::Vector2f& size, const int framePadding, ++bool ImageButton(const char* id, const sf::RenderTexture& texture, const sf::Vector2f& size, + const sf::Color& bgColor, const sf::Color& tintColor) { + ImTextureID textureID = + convertGLTextureHandleToImTextureID(texture.getTexture().getNativeHandle()); + +- return ImGui::ImageButton(textureID, ImVec2(size.x, size.y), ImVec2(0, 1), ++ return ImGui::ImageButton(id, textureID, ImVec2(size.x, size.y), ImVec2(0, 1), + ImVec2(1, 0), // flipped vertically, because textures in + // sf::RenderTexture are stored this way +- framePadding, toImColor(bgColor), toImColor(tintColor)); ++ toImColor(bgColor), toImColor(tintColor)); + } + + /////////////// Image Button Overloads for sf::Sprite + +-bool ImageButton(const sf::Sprite& sprite, const int framePadding, const sf::Color& bgColor, +- const sf::Color& tintColor) { +- sf::FloatRect spriteSize = sprite.getGlobalBounds(); +- return ImageButton(sprite, sf::Vector2f(spriteSize.width, spriteSize.height), framePadding, +- bgColor, tintColor); +-} +- +-bool ImageButton(const sf::Sprite& sprite, const sf::Vector2f& size, const int framePadding, ++bool ImageButton(const char* id, const sf::Sprite& sprite, const sf::Vector2f& size, + const sf::Color& bgColor, const sf::Color& tintColor) { + #if SFML_VERSION_MAJOR >= 3 + const sf::Texture& texture = sprite.getTexture(); +@@ -1045,8 +1026,8 @@ bool ImageButton(const sf::Sprite& sprite, const sf::Vector2f& size, const int f + (textureRect.top + textureRect.height) / textureSize.y); + + ImTextureID textureID = convertGLTextureHandleToImTextureID(texture.getNativeHandle()); +- return ImGui::ImageButton(textureID, ImVec2(size.x, size.y), uv0, uv1, framePadding, +- toImColor(bgColor), toImColor(tintColor)); ++ return ImGui::ImageButton(id, textureID, ImVec2(size.x, size.y), uv0, uv1, toImColor(bgColor), ++ toImColor(tintColor)); + } + + /////////////// Draw_list Overloads +diff --git a/imgui-SFML.h b/imgui-SFML.h +index e431e99..8cce4d6 100644 +--- a/imgui-SFML.h ++++ b/imgui-SFML.h +@@ -99,29 +99,19 @@ IMGUI_SFML_API void Image(const sf::Sprite& sprite, const sf::Vector2f& size, + const sf::Color& borderColor = sf::Color::Transparent); + + // ImageButton overloads for sf::Texture +-IMGUI_SFML_API bool ImageButton(const sf::Texture& texture, const int framePadding = -1, +- const sf::Color& bgColor = sf::Color::Transparent, +- const sf::Color& tintColor = sf::Color::White); +-IMGUI_SFML_API bool ImageButton(const sf::Texture& texture, const sf::Vector2f& size, +- const int framePadding = -1, ++IMGUI_SFML_API bool ImageButton(const char* id, const sf::Texture& texture, ++ const sf::Vector2f& size, + const sf::Color& bgColor = sf::Color::Transparent, + const sf::Color& tintColor = sf::Color::White); + + // ImageButton overloads for sf::RenderTexture +-IMGUI_SFML_API bool ImageButton(const sf::RenderTexture& texture, const int framePadding = -1, +- const sf::Color& bgColor = sf::Color::Transparent, +- const sf::Color& tintColor = sf::Color::White); +-IMGUI_SFML_API bool ImageButton(const sf::RenderTexture& texture, const sf::Vector2f& size, +- const int framePadding = -1, ++IMGUI_SFML_API bool ImageButton(const char* id, const sf::RenderTexture& texture, ++ const sf::Vector2f& size, + const sf::Color& bgColor = sf::Color::Transparent, + const sf::Color& tintColor = sf::Color::White); + + // ImageButton overloads for sf::Sprite +-IMGUI_SFML_API bool ImageButton(const sf::Sprite& sprite, const int framePadding = -1, +- const sf::Color& bgColor = sf::Color::Transparent, +- const sf::Color& tintColor = sf::Color::White); +-IMGUI_SFML_API bool ImageButton(const sf::Sprite& sprite, const sf::Vector2f& size, +- const int framePadding = -1, ++IMGUI_SFML_API bool ImageButton(const char* id, const sf::Sprite& sprite, const sf::Vector2f& size, + const sf::Color& bgColor = sf::Color::Transparent, + const sf::Color& tintColor = sf::Color::White); + diff --git a/ports/imgui-sfml/portfile.cmake b/ports/imgui-sfml/portfile.cmake index c8c9704ca96e7d..8b60d33fb01b99 100644 --- a/ports/imgui-sfml/portfile.cmake +++ b/ports/imgui-sfml/portfile.cmake @@ -8,6 +8,8 @@ vcpkg_from_github( HEAD_REF master PATCHES 0001-fix_find_package.patch + 0002-clean-deprecated-api.patch # see https://github.com/SFML/imgui-sfml/pull/305 + 0003-use-explicit-id.patch # see https://github.com/SFML/imgui-sfml/pull/266 ) vcpkg_cmake_configure( diff --git a/ports/imgui-sfml/vcpkg.json b/ports/imgui-sfml/vcpkg.json index c24916590ca93e..4b20359b14bf08 100644 --- a/ports/imgui-sfml/vcpkg.json +++ b/ports/imgui-sfml/vcpkg.json @@ -1,6 +1,7 @@ { "name": "imgui-sfml", "version": "2.6", + "port-version": 1, "description": "ImGui binding for use with SFML", "homepage": "https://github.com/eliasdaler/imgui-sfml", "license": "MIT", diff --git a/ports/imgui/CMakeLists.txt b/ports/imgui/CMakeLists.txt index f447f5ebb2ef71..68a5c40c705caa 100644 --- a/ports/imgui/CMakeLists.txt +++ b/ports/imgui/CMakeLists.txt @@ -13,7 +13,7 @@ add_library(${PROJECT_NAME}::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) target_include_directories( ${PROJECT_NAME} PUBLIC - $ + "$" $ ) @@ -31,11 +31,15 @@ target_sources( target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_11) if(IMGUI_BUILD_ALLEGRO5_BINDING) - find_package(unofficial-allegro5 CONFIG REQUIRED) - target_link_libraries(${PROJECT_NAME} PRIVATE unofficial-allegro5::allegro unofficial-allegro5::allegro_ttf unofficial-allegro5::allegro_font unofficial-allegro5::allegro_main) + find_package(Allegro CONFIG REQUIRED) + target_link_libraries(${PROJECT_NAME} PRIVATE Allegro::allegro Allegro::allegro_ttf Allegro::allegro_font Allegro::allegro_main) target_sources(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_allegro5.cpp) endif() +if(IMGUI_BUILD_ANDROID_BINDING) + target_sources(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_android.cpp) +endif() + if(IMGUI_BUILD_DX9_BINDING) target_sources(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_dx9.cpp) endif() @@ -122,6 +126,23 @@ if(IMGUI_USE_WCHAR32) target_compile_definitions(${PROJECT_NAME} PUBLIC IMGUI_USE_WCHAR32) endif() +if(IMGUI_TEST_ENGINE) + find_package(Stb REQUIRED) + target_include_directories(${PROJECT_NAME} PRIVATE ${Stb_INCLUDE_DIR}) + target_sources( + ${PROJECT_NAME} + PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/test-engine/imgui_capture_tool.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/test-engine/imgui_te_context.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/test-engine/imgui_te_coroutine.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/test-engine/imgui_te_engine.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/test-engine/imgui_te_exporters.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/test-engine/imgui_te_perftool.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/test-engine/imgui_te_ui.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/test-engine/imgui_te_utils.cpp + ) +endif() + list(REMOVE_DUPLICATES BINDINGS_SOURCES) install( @@ -158,6 +179,10 @@ if(NOT IMGUI_SKIP_HEADERS) install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_allegro5.h DESTINATION include) endif() + if (IMGUI_BUILD_ANDROID_BINDING) + install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_android.h DESTINATION include) + endif() + if(IMGUI_BUILD_DX9_BINDING) install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_dx9.h DESTINATION include) endif() @@ -223,6 +248,24 @@ if(NOT IMGUI_SKIP_HEADERS) if(IMGUI_FREETYPE) install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/misc/freetype/imgui_freetype.h DESTINATION include) endif() + + if(IMGUI_TEST_ENGINE) + install( + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/test-engine/imgui_capture_tool.h + ${CMAKE_CURRENT_SOURCE_DIR}/test-engine/imgui_te_context.h + ${CMAKE_CURRENT_SOURCE_DIR}/test-engine/imgui_te_coroutine.h + ${CMAKE_CURRENT_SOURCE_DIR}/test-engine/imgui_te_engine.h + ${CMAKE_CURRENT_SOURCE_DIR}/test-engine/imgui_te_exporters.h + ${CMAKE_CURRENT_SOURCE_DIR}/test-engine/imgui_te_imconfig.h + ${CMAKE_CURRENT_SOURCE_DIR}/test-engine/imgui_te_internal.h + ${CMAKE_CURRENT_SOURCE_DIR}/test-engine/imgui_te_perftool.h + ${CMAKE_CURRENT_SOURCE_DIR}/test-engine/imgui_te_ui.h + ${CMAKE_CURRENT_SOURCE_DIR}/test-engine/imgui_te_utils.h + DESTINATION + include + ) + endif() endif() include(CMakePackageConfigHelpers) diff --git a/ports/imgui/imgui-config.cmake.in b/ports/imgui/imgui-config.cmake.in index 2a2c494f24513f..a996b04c00b06b 100644 --- a/ports/imgui/imgui-config.cmake.in +++ b/ports/imgui/imgui-config.cmake.in @@ -31,7 +31,11 @@ if (@IMGUI_FREETYPE_LUNASVG@) endif() if (@IMGUI_BUILD_ALLEGRO5_BINDING@) - find_dependency(unofficial-allegro5 CONFIG) + find_dependency(Allegro CONFIG) +endif() + +if (@IMGUI_TEST_ENGINE@) + find_dependency(Stb) endif() include("${CMAKE_CURRENT_LIST_DIR}/imgui-targets.cmake") diff --git a/ports/imgui/portfile.cmake b/ports/imgui/portfile.cmake index ad53a0bfe82101..a7e1be23bfc033 100644 --- a/ports/imgui/portfile.cmake +++ b/ports/imgui/portfile.cmake @@ -2,19 +2,19 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) if ("docking-experimental" IN_LIST FEATURES) vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO ocornut/imgui - REF a1b60fc1f5589d498ab1080c2572da725fcbd0e3 - SHA512 ac6117f6adf9418af3a2db5392f1316be50a94c38e78cd1eadc0e0a71dfbb5536507aaf4d9d3b3468b5a30ebf143b806e2774f274e2098e1217ed93080fe81c7 - HEAD_REF docking - ) + OUT_SOURCE_PATH SOURCE_PATH + REPO ocornut/imgui + REF "v${VERSION}-docking" + SHA512 5d1849867475c24dea51254bde945e919938b4fa2aac218e35a9371d3f48d8fc486ac4e459e9a0c3d36526f18972ac3ac292581aa831ca54efb3d640c6e156b1 + HEAD_REF docking + ) else() vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO ocornut/imgui - REF v${VERSION} - SHA512 42021b06b611b58222b09fab8db2c34e992c3dc4fbaa175e09833c66c90d04b4a4e7def16a732535335c0ac5ff014d235835511a5d9a76d32b4395b302146919 - HEAD_REF master + OUT_SOURCE_PATH SOURCE_PATH + REPO ocornut/imgui + REF "v${VERSION}" + SHA512 eef35ba9f7e39ddeff3e2df0eef77d3cd8602115cb42a6fad274aecf4d5e6922c43ea4fab37908729df00a3d3e69c5000b21b46b23ed18891fb899e6b9807feb + HEAD_REF master ) endif() @@ -24,6 +24,7 @@ file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH} vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES allegro5-binding IMGUI_BUILD_ALLEGRO5_BINDING + android-binding IMGUI_BUILD_ANDROID_BINDING dx9-binding IMGUI_BUILD_DX9_BINDING dx10-binding IMGUI_BUILD_DX10_BINDING dx11-binding IMGUI_BUILD_DX11_BINDING @@ -41,6 +42,7 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS freetype IMGUI_FREETYPE freetype-lunasvg IMGUI_FREETYPE_LUNASVG wchar32 IMGUI_USE_WCHAR32 + test-engine IMGUI_TEST_ENGINE ) if ("libigl-imgui" IN_LIST FEATURES) @@ -56,6 +58,23 @@ if ("libigl-imgui" IN_LIST FEATURES) file(INSTALL "${IMGUI_FONTS_DROID_SANS_H}" DESTINATION "${CURRENT_PACKAGES_DIR}/include") endif() +if ("test-engine" IN_LIST FEATURES) + vcpkg_from_github( + OUT_SOURCE_PATH TEST_ENGINE_SOURCE_PATH + REPO ocornut/imgui_test_engine + REF "v${VERSION}" + SHA512 b18d64732629f01eb4153c7f7dbc2184d7ad1d63d0dc1b4f42120209c673f20ebc202bf7bc6ab27ae1a23a9437d40cc9f77c3e100e0e6de3ed6eb0087c41b7a4 + HEAD_REF master + ) + + file(REMOVE_RECURSE "${SOURCE_PATH}/test-engine") + file(COPY "${TEST_ENGINE_SOURCE_PATH}/imgui_test_engine/" DESTINATION "${SOURCE_PATH}/test-engine") + file(REMOVE_RECURSE "${SOURCE_PATH}/test-engine/thirdparty/stb") + vcpkg_replace_string("${SOURCE_PATH}/test-engine/imgui_capture_tool.cpp" "//#define IMGUI_STB_IMAGE_WRITE_FILENAME \"my_folder/stb_image_write.h\"" "#define IMGUI_STB_IMAGE_WRITE_FILENAME \n#define STB_IMAGE_WRITE_STATIC") + vcpkg_replace_string("${SOURCE_PATH}/imconfig.h" "#pragma once" "#pragma once\n\n#include \"imgui_te_imconfig.h\"") + vcpkg_replace_string("${SOURCE_PATH}/test-engine/imgui_te_imconfig.h" "#define IMGUI_TEST_ENGINE_ENABLE_COROUTINE_STDTHREAD_IMPL 0" "#define IMGUI_TEST_ENGINE_ENABLE_COROUTINE_STDTHREAD_IMPL 1") +endif() + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS @@ -67,7 +86,7 @@ vcpkg_cmake_configure( vcpkg_cmake_install() if ("freetype" IN_LIST FEATURES) - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/imconfig.h" "//#define IMGUI_ENABLE_FREETYPE" "#define IMGUI_ENABLE_FREETYPE") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/imconfig.h" "//#define IMGUI_ENABLE_FREETYPE\n" "#define IMGUI_ENABLE_FREETYPE\n") endif() if ("freetype-lunasvg" IN_LIST FEATURES) vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/imconfig.h" "//#define IMGUI_ENABLE_FREETYPE_LUNASVG" "#define IMGUI_ENABLE_FREETYPE_LUNASVG") @@ -79,4 +98,8 @@ endif() vcpkg_copy_pdbs() vcpkg_cmake_config_fixup() -vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") +if ("test-engine" IN_LIST FEATURES) + vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt" "${SOURCE_PATH}/test-engine/LICENSE.txt") +else() + vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") +endif() diff --git a/ports/imgui/vcpkg.json b/ports/imgui/vcpkg.json index e6531b22799a47..c78fb6532a108f 100644 --- a/ports/imgui/vcpkg.json +++ b/ports/imgui/vcpkg.json @@ -1,6 +1,6 @@ { "name": "imgui", - "version": "1.89.9", + "version": "1.91.6", "description": "Bloat-free Immediate Mode Graphical User interface for C++ with minimal dependencies.", "homepage": "https://github.com/ocornut/imgui", "license": "MIT", @@ -21,6 +21,10 @@ "allegro5" ] }, + "android-binding": { + "description": "Make available Android native app support", + "supports": "android" + }, "docking-experimental": { "description": "Build with docking support" }, @@ -103,6 +107,14 @@ "sdl2" ] }, + "test-engine": { + "description": "Build test engine", + "supports": "!uwp", + "license": null, + "dependencies": [ + "stb" + ] + }, "vulkan-binding": { "description": "Make available Vulkan binding", "dependencies": [ diff --git a/ports/imguizmo/CMakeLists.txt b/ports/imguizmo/CMakeLists.txt index 1b552bae2d105d..03831cbeb79f52 100644 --- a/ports/imguizmo/CMakeLists.txt +++ b/ports/imguizmo/CMakeLists.txt @@ -1,15 +1,14 @@ cmake_minimum_required(VERSION 3.8) project(imguizmo) +set(CMAKE_CXX_STANDARD 11) + find_package(imgui CONFIG REQUIRED) get_target_property(IMGUI_INCLUDE_DIRS imgui::imgui INTERFACE_INCLUDE_DIRECTORIES ) add_library(${PROJECT_NAME} "") -add_library(${PROJECT_NAME}::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) - -target_compile_options(${PROJECT_NAME} PRIVATE "-std=c++11") target_include_directories( ${PROJECT_NAME} @@ -23,16 +22,16 @@ target_include_directories( target_sources( ${PROJECT_NAME} PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR}/GraphEditor.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/ImCurveEdit.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/ImGradient.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/ImGuizmo.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/ImSequencer.cpp + GraphEditor.cpp + ImCurveEdit.cpp + ImGradient.cpp + ImGuizmo.cpp + ImSequencer.cpp ) install( TARGETS ${PROJECT_NAME} - EXPORT ${PROJECT_NAME}_target + EXPORT ${PROJECT_NAME}-target ARCHIVE DESTINATION lib ARCHIVE DESTINATION lib RUNTIME DESTINATION bin @@ -41,19 +40,19 @@ install( if (NOT IMGUIZMO_SKIP_HEADERS) install( FILES - ${CMAKE_CURRENT_SOURCE_DIR}/GraphEditor.h - ${CMAKE_CURRENT_SOURCE_DIR}/ImCurveEdit.h - ${CMAKE_CURRENT_SOURCE_DIR}/ImGradient.h - ${CMAKE_CURRENT_SOURCE_DIR}/ImGuizmo.h - ${CMAKE_CURRENT_SOURCE_DIR}/ImSequencer.h - ${CMAKE_CURRENT_SOURCE_DIR}/ImZoomSlider.h + GraphEditor.h + ImCurveEdit.h + ImGradient.h + ImGuizmo.h + ImSequencer.h + ImZoomSlider.h DESTINATION include ) endif() install( - EXPORT ${PROJECT_NAME}_target + EXPORT ${PROJECT_NAME}-target NAMESPACE ${PROJECT_NAME}:: FILE ${PROJECT_NAME}-config.cmake DESTINATION share/${PROJECT_NAME} -) \ No newline at end of file +) diff --git a/ports/imguizmo/fix-build.patch b/ports/imguizmo/fix-build.patch deleted file mode 100644 index 248d6ae564c07a..00000000000000 --- a/ports/imguizmo/fix-build.patch +++ /dev/null @@ -1,41 +0,0 @@ -diff --git a/GraphEditor.cpp b/GraphEditor.cpp -index 0f45a40..3a09390 100644 ---- a/GraphEditor.cpp -+++ b/GraphEditor.cpp -@@ -24,8 +24,8 @@ - // SOFTWARE. - // - --#include "imgui.h" - #define IMGUI_DEFINE_MATH_OPERATORS -+#include "imgui.h" - #include "imgui_internal.h" - #include - #include -@@ -186,8 +186,8 @@ static void DisplayLinks(Delegate& delegate, - if (options.mDisplayLinksAsCurves) - { - // curves -- drawList->AddBezierCurve(p1, p1 + ImVec2(50, 0) * factor, p2 + ImVec2(-50, 0) * factor, p2, 0xFF000000, options.mLineThickness * 1.5f * factor); -- drawList->AddBezierCurve(p1, p1 + ImVec2(50, 0) * factor, p2 + ImVec2(-50, 0) * factor, p2, col, options.mLineThickness * 1.5f * factor); -+ drawList->AddBezierCubic(p1, p1 + ImVec2(50, 0) * factor, p2 + ImVec2(-50, 0) * factor, p2, 0xFF000000, options.mLineThickness * 1.5f * factor); -+ drawList->AddBezierCubic(p1, p1 + ImVec2(50, 0) * factor, p2 + ImVec2(-50, 0) * factor, p2, col, options.mLineThickness * 1.5f * factor); - /* - ImVec2 p10 = p1 + ImVec2(20.f * factor, 0.f); - ImVec2 p20 = p2 - ImVec2(20.f * factor, 0.f); -diff --git a/ImGuizmo.cpp b/ImGuizmo.cpp -index ed05fd8..74f0a0b 100644 ---- a/ImGuizmo.cpp -+++ b/ImGuizmo.cpp -@@ -24,10 +24,10 @@ - // SOFTWARE. - // - --#include "imgui.h" - #ifndef IMGUI_DEFINE_MATH_OPERATORS - #define IMGUI_DEFINE_MATH_OPERATORS - #endif -+#include "imgui.h" - #include "imgui_internal.h" - #include "ImGuizmo.h" - diff --git a/ports/imguizmo/portfile.cmake b/ports/imguizmo/portfile.cmake index 5ed11f66624af9..9631d8b178a6e6 100644 --- a/ports/imguizmo/portfile.cmake +++ b/ports/imguizmo/portfile.cmake @@ -3,11 +3,9 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO CedricGuillemet/ImGuizmo - REF ${VERSION} - SHA512 23285398688b4cdf3128ecb918b70c9a52f06c8e911da57430442b838cecf653e233d8cdfefc6acd3e4da381869ffc6fb74bcaaafc8e33657d6060a645517363 + REF ba662b119d64f9ab700bb2cd7b2781f9044f5565 + SHA512 682d785b582379914d525985de3a0bc04932b4ed715607127b1803ffba4d9b85165255dca1c18d2fd0934bab43de5d6c9c2d9909ac84d0ddaea12dad1871bcf8 HEAD_REF master - PATCHES - fix-build.patch ) file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") @@ -21,6 +19,6 @@ vcpkg_cmake_configure( vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_cmake_config_fixup() +vcpkg_cmake_config_fixup(PACKAGE_NAME ${PORT} CONFIG_PATH share/${PORT}) vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/imguizmo/vcpkg.json b/ports/imguizmo/vcpkg.json index 5985eba1adcedf..3cdc4029a7304b 100644 --- a/ports/imguizmo/vcpkg.json +++ b/ports/imguizmo/vcpkg.json @@ -1,9 +1,10 @@ { "name": "imguizmo", - "version": "1.83", + "version-date": "2024-05-29", "port-version": 1, "description": "Immediate mode 3D gizmo for scene editing and other controls based on Dear ImGui", "homepage": "https://github.com/CedricGuillemet/ImGuizmo", + "license": "MIT", "dependencies": [ "imgui", { diff --git a/ports/influxdb-cxx/268.patch b/ports/influxdb-cxx/268.patch new file mode 100644 index 00000000000000..cbf004dd8a8c4b --- /dev/null +++ b/ports/influxdb-cxx/268.patch @@ -0,0 +1,39 @@ +From 2588071852747d48e27c1ab8f478c3e24209b23f Mon Sep 17 00:00:00 2001 +From: offa +Date: Mon, 14 Oct 2024 18:11:39 +0200 +Subject: [PATCH] Install public API Header to InfluxDB/ subdirectory + +Adaption of #264 +--- + CMakeLists.txt | 4 ++-- + src/CMakeLists.txt | 2 +- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 310aa12c5dbe54db2b2587290a1e4ff65ad8d716..6acb4e6c74891569b71ee84245cd54b55d7897e8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -149,8 +149,8 @@ write_basic_package_version_file("${CMAKE_CURRENT_BINARY_DIR}/cmake/InfluxDBConf + ) + + # Install headers +-install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") +-install(FILES ${PROJECT_BINARY_DIR}/src/influxdb_export.h DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") ++install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/InfluxDB") ++install(FILES ${PROJECT_BINARY_DIR}/src/influxdb_export.h DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/InfluxDB") + + # Export targets + install(EXPORT InfluxDBTargets +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 3c58bd299b47e647afa42c1594a129a4eee7c5d8..d68b69eeb3f28199993d90e147a4d562fb766472 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -71,7 +71,7 @@ generate_export_header(InfluxDB) + + target_include_directories(InfluxDB + PUBLIC +- $ ++ $ + $ + # for export header + $ diff --git a/ports/influxdb-cxx/portfile.cmake b/ports/influxdb-cxx/portfile.cmake index c004ed94a4816d..740f4aa884371e 100644 --- a/ports/influxdb-cxx/portfile.cmake +++ b/ports/influxdb-cxx/portfile.cmake @@ -2,9 +2,11 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO offa/influxdb-cxx REF "v${VERSION}" - SHA512 3be45353635df28803bd57927db292fc93db28fbec56007bbf694badcbfa277672b168c3b41cd228c9570a8b8f56212369ce7eabedca581307f4c8488a69ef27 + SHA512 ac16178a17ac9b43a23d64f56d0012aeda896d3065246166abdef1441cf466453a6972c5820411936dcfa10a21505b654dfe981449c1d4cc169807f1db5d099f HEAD_REF master - PATCHES fix-dllexports.patch + PATCHES + fix-dllexports.patch + 268.patch # https://github.com/offa/influxdb-cxx/pull/268 ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS diff --git a/ports/influxdb-cxx/vcpkg.json b/ports/influxdb-cxx/vcpkg.json index 6d421a3914e308..79dd2118ee0c27 100644 --- a/ports/influxdb-cxx/vcpkg.json +++ b/ports/influxdb-cxx/vcpkg.json @@ -1,6 +1,6 @@ { "name": "influxdb-cxx", - "version": "0.7.1", + "version": "0.7.2", "port-version": 1, "description": "InfluxDB C++ client library", "homepage": "https://github.com/offa/influxdb-cxx", diff --git a/ports/inih/portfile.cmake b/ports/inih/portfile.cmake index 06e53736fb986d..aecf3bedc3ec8d 100644 --- a/ports/inih/portfile.cmake +++ b/ports/inih/portfile.cmake @@ -3,8 +3,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO benhoyt/inih - REF r57 - SHA512 9f758df876df54ed7e228fd82044f184eefbe47e806cd1e6d62e1b0ea28e2c08e67fa743042d73b4baef0b882480e6afe2e72878b175822eb2bdbb6d89c0e411 + REF "r${VERSION}" + SHA512 d69f488299c1896e87ddd3dd20cd9db5848da7afa4c6159b8a99ba9a5d33f35cadfdb9f65d6f2fe31decdbadb8b43bf610ff2699df475e1f9ff045e343ac26ae HEAD_REF master ) diff --git a/ports/inih/vcpkg.json b/ports/inih/vcpkg.json index c1b2b8a439afda..99d331f06d2ccc 100644 --- a/ports/inih/vcpkg.json +++ b/ports/inih/vcpkg.json @@ -1,6 +1,6 @@ { "name": "inih", - "version": "57", + "version": "58", "description": "Simple .INI file parser", "homepage": "https://github.com/benhoyt/inih", "license": "BSD-3-Clause", diff --git a/ports/intel-mkl/portfile.cmake b/ports/intel-mkl/portfile.cmake index e02c279575c648..b32e5cf81db31a 100644 --- a/ports/intel-mkl/portfile.cmake +++ b/ports/intel-mkl/portfile.cmake @@ -210,13 +210,13 @@ else() ) file(REMOVE ${files_to_remove}) file(COPY_FILE "${mkl_dir}/lib/pkgconfig/${main_pc_file}" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/${main_pc_file}") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/${main_pc_file}" "\${exec_prefix}/${package_libdir}" "\${exec_prefix}/lib/intel64") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/${main_pc_file}" "\${exec_prefix}/${package_libdir}" "\${exec_prefix}/lib/intel64" IGNORE_UNCHANGED) set(compiler_dir "${extract_1_dir}/_installdir/compiler/2023.0.0") if(threading STREQUAL "intel_thread") file(COPY "${compiler_dir}/${compiler_libdir}/" DESTINATION "${CURRENT_PACKAGES_DIR}/lib/intel64") file(COPY_FILE "${compiler_dir}/lib/pkgconfig/openmp.pc" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libiomp5.pc") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libiomp5.pc" "/${compiler_libdir}/" "/lib/intel64/") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libiomp5.pc" "/${compiler_libdir}/" "/lib/intel64/" IGNORE_UNCHANGED) vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/${main_pc_file}" "openmp" "libiomp5") endif() endif() diff --git a/ports/intel-mkl/vcpkg.json b/ports/intel-mkl/vcpkg.json index e68c3865114b51..391acf9481629a 100644 --- a/ports/intel-mkl/vcpkg.json +++ b/ports/intel-mkl/vcpkg.json @@ -1,7 +1,7 @@ { "name": "intel-mkl", "version": "2023.0.0", - "port-version": 3, + "port-version": 4, "description": "Intel® Math Kernel Library (Intel® MKL) accelerates math processing routines, increases application performance, and reduces development time on Intel® processors.", "homepage": "https://www.intel.com/content/www/us/en/developer/tools/oneapi/onemkl.html", "license": null, diff --git a/ports/iowa-hills-dsp/portfile.cmake b/ports/iowa-hills-dsp/portfile.cmake new file mode 100644 index 00000000000000..f17b8758a5f3c3 --- /dev/null +++ b/ports/iowa-hills-dsp/portfile.cmake @@ -0,0 +1,17 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO hayguen/iowahills_dsp + REF "v${VERSION}" + SHA512 095fecb1a4bf074a3e11da7e6edaba4d375c5603bed5f2578b52f900dbd20ac59f2414a8f9432eba1742807fe8553cc1edd63606fc38400cdda77bf32ee49eb1 + HEAD_REF master +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) + +vcpkg_cmake_install() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/iowa-hills-dsp/vcpkg.json b/ports/iowa-hills-dsp/vcpkg.json new file mode 100644 index 00000000000000..bbb96229c1d167 --- /dev/null +++ b/ports/iowa-hills-dsp/vcpkg.json @@ -0,0 +1,13 @@ +{ + "name": "iowa-hills-dsp", + "version": "0.1.0", + "description": "A platform-independent C/C++ library with many DSP (digital signal processing) functions, amongst also FIR and IIR filter design - but also FFT, DFT, Goertzel and Windowing functions.", + "homepage": "https://github.com/hayguen/iowahills_dsp", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/ports/ismrmrd/fix-nodiscard-warning.patch b/ports/ismrmrd/fix-nodiscard-warning.patch new file mode 100644 index 00000000000000..a5b8f54196638f --- /dev/null +++ b/ports/ismrmrd/fix-nodiscard-warning.patch @@ -0,0 +1,13 @@ +diff --git a/libsrc/meta.cpp b/libsrc/meta.cpp +index 9cc8cc9..69fce79 100644 +--- a/libsrc/meta.cpp ++++ b/libsrc/meta.cpp +@@ -23,7 +23,7 @@ namespace ISMRMRD { + pugi::xml_node value = meta.child("value"); + + if (!name || !value) { +- std::runtime_error("Malformed metadata value"); ++ throw std::runtime_error("Malformed metadata value"); + } + + while (value) { diff --git a/ports/ismrmrd/portfile.cmake b/ports/ismrmrd/portfile.cmake index 458f19ac958fe6..155f72a1204a56 100644 --- a/ports/ismrmrd/portfile.cmake +++ b/ports/ismrmrd/portfile.cmake @@ -6,11 +6,12 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ismrmrd/ismrmrd REF "v${VERSION}" - SHA512 cbd34cfbcc16e898f44c00888bc605d01e6a915b6c02454630a61c92b6179d727affb1ffeebc7d14da5aac189f929f5d36a6fd7ab68a73cb963ee4a233fba056 + SHA512 4bf3fbab89436636c64e4917d09117134f4d1c6446bae7ef570e0af5850998f066d881f45c414f40e1d1be942f34fda6836a1b3e4cb5ec904f9ecf2a432964c1 HEAD_REF master PATCHES ${WIN32_INCLUDE_STDDEF_PATCH} fix-depends-hdf5.patch + fix-nodiscard-warning.patch ) vcpkg_cmake_configure( @@ -47,4 +48,4 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL static) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin/") endif() -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/ismrmrd/vcpkg.json b/ports/ismrmrd/vcpkg.json index 3b9062913e68b6..f9214cbb0442bc 100644 --- a/ports/ismrmrd/vcpkg.json +++ b/ports/ismrmrd/vcpkg.json @@ -1,6 +1,7 @@ { "name": "ismrmrd", - "version": "1.13.7", + "version": "1.14.1", + "port-version": 1, "description": "ISMRM Raw Data Format", "homepage": "https://github.com/ismrmrd/ismrmrd", "license": "BSD-3-Clause", diff --git a/ports/itay-grudev-singleapplication/Config.cmake.in b/ports/itay-grudev-singleapplication/Config.cmake.in new file mode 100644 index 00000000000000..05d1dd9d7fb256 --- /dev/null +++ b/ports/itay-grudev-singleapplication/Config.cmake.in @@ -0,0 +1,23 @@ +if(NOT TARGET itay-grudev-singleapplication) + add_library(itay-grudev-singleapplication UNKNOWN IMPORTED) + + set_target_properties(itay-grudev-singleapplication PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include" + ) + + find_library(SingleApplication_LIBRARY_RELEASE NAMES SingleApplication PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib" NO_DEFAULT_PATH) + if(EXISTS "${SingleApplication_LIBRARY_RELEASE}") + set_property(TARGET itay-grudev-singleapplication APPEND PROPERTY IMPORTED_CONFIGURATIONS "Release") + set_target_properties(itay-grudev-singleapplication PROPERTIES IMPORTED_LOCATION_RELEASE "${SingleApplication_LIBRARY_RELEASE}") + endif() + + find_library(SingleApplication_LIBRARY_DEBUG NAMES SingleApplication PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib" NO_DEFAULT_PATH) + if(EXISTS "${SingleApplication_LIBRARY_DEBUG}") + set_property(TARGET itay-grudev-singleapplication APPEND PROPERTY IMPORTED_CONFIGURATIONS "Debug") + set_target_properties(itay-grudev-singleapplication PROPERTIES IMPORTED_LOCATION_DEBUG "${SingleApplication_LIBRARY_DEBUG}") + endif() + + set_target_properties(itay-grudev-singleapplication PROPERTIES + INTERFACE_COMPILE_DEFINITIONS QAPPLICATION_CLASS=@QAPPLICATION_CLASS@ + ) +endif() \ No newline at end of file diff --git a/ports/itay-grudev-singleapplication/portfile.cmake b/ports/itay-grudev-singleapplication/portfile.cmake new file mode 100644 index 00000000000000..67d688fcb47342 --- /dev/null +++ b/ports/itay-grudev-singleapplication/portfile.cmake @@ -0,0 +1,31 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO itay-grudev/SingleApplication + REF "v${VERSION}" + SHA512 9a63dcbfd4c80626093b23df0ee97d704b494d928b76b81e0373a0a847e73a0c4fd6557e338221c473412394c4ab3456d90e1e5c7894112b08ce7f11c9e66e58 + HEAD_REF master +) + +set(QAPPLICATION_CLASS QGuiApplication) +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DQT_DEFAULT_MAJOR_VERSION=6 + -DQAPPLICATION_CLASS=${QAPPLICATION_CLASS} +) + +vcpkg_cmake_build(TARGET SingleApplication) + +if (NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/${VCPKG_TARGET_STATIC_LIBRARY_PREFIX}SingleApplication${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") +endif() +if (NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/${VCPKG_TARGET_STATIC_LIBRARY_PREFIX}SingleApplication${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") +endif() +file(INSTALL "${SOURCE_PATH}/singleapplication.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include") + +configure_file("${CMAKE_CURRENT_LIST_DIR}/Config.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/${PORT}-config.cmake" @ONLY) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") \ No newline at end of file diff --git a/ports/itay-grudev-singleapplication/vcpkg.json b/ports/itay-grudev-singleapplication/vcpkg.json new file mode 100644 index 00000000000000..a864cddb23b48c --- /dev/null +++ b/ports/itay-grudev-singleapplication/vcpkg.json @@ -0,0 +1,26 @@ +{ + "name": "itay-grudev-singleapplication", + "version": "3.5.1", + "description": "Replacement of QtSingleApplication for Qt 5 and Qt 6 with support for inter-instance communication", + "homepage": "https://github.com/itay-grudev/SingleApplication", + "license": "MIT", + "dependencies": [ + { + "name": "qtbase", + "default-features": false, + "features": [ + "gui", + "network", + "widgets" + ] + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/itk/cxx17.patch b/ports/itk/cxx17.patch deleted file mode 100644 index 65df5d6f8d6b4a..00000000000000 --- a/ports/itk/cxx17.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/CMake/ITKInitializeCXXStandard.cmake b/CMake/ITKInitializeCXXStandard.cmake -index 5345230b..a9ca48c3 100644 ---- a/CMake/ITKInitializeCXXStandard.cmake -+++ b/CMake/ITKInitializeCXXStandard.cmake -@@ -1,6 +1,6 @@ - ## Set the default target properties for ITK - if(NOT CMAKE_CXX_STANDARD) -- set(CMAKE_CXX_STANDARD 14) # Supported values are 14, 17, 20, and 23. -+ set(CMAKE_CXX_STANDARD 17) # Supported values are 14, 17, 20, and 23. - endif() - if(NOT CMAKE_CXX_STANDARD_REQUIRED) - set(CMAKE_CXX_STANDARD_REQUIRED ON) diff --git a/ports/itk/dependencies.diff b/ports/itk/dependencies.diff new file mode 100644 index 00000000000000..7383454352db35 --- /dev/null +++ b/ports/itk/dependencies.diff @@ -0,0 +1,101 @@ +diff --git a/CMake/ITKConfig.cmake.in b/CMake/ITKConfig.cmake.in +index 7a77ae3..6a565e8 100644 +--- a/CMake/ITKConfig.cmake.in ++++ b/CMake/ITKConfig.cmake.in +@@ -1,3 +1,8 @@ ++include(CMakeFindDependencyMacro) ++find_dependency(double-conversion CONFIG) ++find_dependency(OpenJPEG CONFIG) ++find_dependency(VXL CONFIG) ++include("${VXL_CMAKE_DIR}/UseVXL.cmake") + #----------------------------------------------------------------------------- + # + # ITKConfig.cmake - ITK CMake configuration file for external projects. +diff --git a/CMake/itkOpenCL.cmake b/CMake/itkOpenCL.cmake +index 21aab8c..f2bf8ae 100644 +--- a/CMake/itkOpenCL.cmake ++++ b/CMake/itkOpenCL.cmake +@@ -1,5 +1,7 @@ + if(ITK_USE_GPU) + find_package(OpenCL REQUIRED) ++ set(OPENCL_INCLUDE_DIRS "${OpenCL_INCLUDE_DIRS}") ++ set(OPENCL_LIBRARIES "${OpenCL_LIBRARIES}") + if(NOT ${OPENCL_FOUND}) + message(FATAL "Could not find OpenCL") + endif() +diff --git a/Modules/ThirdParty/DoubleConversion/CMakeLists.txt b/Modules/ThirdParty/DoubleConversion/CMakeLists.txt +index 135c1d3..f644a32 100644 +--- a/Modules/ThirdParty/DoubleConversion/CMakeLists.txt ++++ b/Modules/ThirdParty/DoubleConversion/CMakeLists.txt +@@ -7,9 +7,9 @@ option(ITK_USE_SYSTEM_DOUBLECONVERSION + mark_as_advanced(ITK_USE_SYSTEM_DOUBLECONVERSION) + + if(ITK_USE_SYSTEM_DOUBLECONVERSION) +- find_package(double-conversion 3.1.6 REQUIRED) ++ find_package(double-conversion 3.1.6 REQUIRED GLOBAL) + get_target_property(ITKDoubleConversion_INCLUDE_DIRS double-conversion::double-conversion INTERFACE_INCLUDE_DIRECTORIES) +- get_target_property(ITKDoubleConversion_LIBRARIES double-conversion::double-conversion LOCATION) ++ set(ITKDoubleConversion_LIBRARIES double-conversion::double-conversion) + else() + set(ITKDoubleConversion_INCLUDE_DIRS + ${ITKDoubleConversion_SOURCE_DIR}/src +diff --git a/Modules/ThirdParty/Eigen3/CMakeLists.txt b/Modules/ThirdParty/Eigen3/CMakeLists.txt +index 8dbbb86..428d335 100644 +--- a/Modules/ThirdParty/Eigen3/CMakeLists.txt ++++ b/Modules/ThirdParty/Eigen3/CMakeLists.txt +@@ -88,7 +88,7 @@ find_package(${_Eigen3_SYSTEM_OR_INTERNAL} ${_Eigen3_min_version} REQUIRED CONFI + # Eigen3 targets are not installed if ITK_USE_SYSTEM_EIGEN==True + itk_module_impl() + +-configure_file(src/itk_eigen.h.in src/itk_eigen.h) ++configure_file(src/itk_eigen.h.in src/itk_eigen.h @ONLY) + install(FILES ${ITKEigen3_BINARY_DIR}/src/itk_eigen.h + DESTINATION ${ITKEigen3_INSTALL_INCLUDE_DIR} + COMPONENT Development +diff --git a/Modules/ThirdParty/OpenJPEG/CMakeLists.txt b/Modules/ThirdParty/OpenJPEG/CMakeLists.txt +index 103eaa9..b59eb81 100644 +--- a/Modules/ThirdParty/OpenJPEG/CMakeLists.txt ++++ b/Modules/ThirdParty/OpenJPEG/CMakeLists.txt +@@ -1,12 +1,19 @@ + project(ITKOpenJPEG) + set(ITKOpenJPEG_THIRD_PARTY 1) + ++if(ITK_USE_SYSTEM_OpenJPEG) ++ find_package(OpenJPEG CONFIG REQUIRED GLOBAL) ++ set(ITKOpenJPEG_INCLUDE_DIRS "") ++ set(ITKOpenJPEG_LIBRARIES $) ++ set(ITKOpenJPEG_NO_SRC 1) ++else() + set(ITKOpenJPEG_INCLUDE_DIRS + ${ITKOpenJPEG_BINARY_DIR}/src/openjpeg + ${ITKOpenJPEG_SOURCE_DIR}/src/openjpeg + ) + set(ITKOpenJPEG_LIBRARIES itkopenjpeg) + set(ITK_LIBRARY_PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS FALSE) ++endif() + + itk_module_impl() + +diff --git a/Modules/ThirdParty/VNL/CMakeLists.txt b/Modules/ThirdParty/VNL/CMakeLists.txt +index c379a24..6a15432 100644 +--- a/Modules/ThirdParty/VNL/CMakeLists.txt ++++ b/Modules/ThirdParty/VNL/CMakeLists.txt +@@ -5,7 +5,7 @@ option(ITK_USE_SYSTEM_VXL "Use an outside build of VXL." OFF) + mark_as_advanced(ITK_USE_SYSTEM_VXL) + + if(ITK_USE_SYSTEM_VXL) +- find_package(VXL 3.0.0 REQUIRED) ++ find_package(VXL 3.0.0 REQUIRED GLOBAL) + # 3.0.0 is the first version of VXL that supports + # the requirement of front() and back() members + # in the vnl_vector and vnl_vector_fixed. +@@ -17,7 +17,8 @@ if(ITK_USE_SYSTEM_VXL) + ${VXL_CORE_INCLUDE_DIR} + ) + set(ITKVNL_LIBRARIES vnl_algo vnl v3p_netlib netlib vcl) +- set(ITKVNL_SYSTEM_LIBRARY_DIRS "${VXL_LIBRARY_DIR}") ++ list(TRANSFORM ITKVNL_LIBRARIES REPLACE "^(.+)\$" "\$") ++ set(ITKVNL_SYSTEM_LIBRARY_DIRS "") + set(ITKVNL_NO_SRC 1) + else() + diff --git a/ports/itk/double-conversion.patch b/ports/itk/double-conversion.patch deleted file mode 100644 index a24b4be3cfd013..00000000000000 --- a/ports/itk/double-conversion.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/Modules/ThirdParty/DoubleConversion/CMakeLists.txt b/Modules/ThirdParty/DoubleConversion/CMakeLists.txt -index 16c611fd3..13978724c 100644 ---- a/Modules/ThirdParty/DoubleConversion/CMakeLists.txt -+++ b/Modules/ThirdParty/DoubleConversion/CMakeLists.txt -@@ -9,7 +9,16 @@ mark_as_advanced(ITK_USE_SYSTEM_DOUBLECONVERSION) - if(ITK_USE_SYSTEM_DOUBLECONVERSION) - find_package(double-conversion REQUIRED) - get_target_property(ITKDoubleConversion_INCLUDE_DIRS double-conversion::double-conversion INTERFACE_INCLUDE_DIRECTORIES) -- get_target_property(ITKDoubleConversion_LIBRARIES double-conversion::double-conversion LOCATION) -+ get_target_property(ITKDoubleConversion_LIBRARY_RELEASE double-conversion::double-conversion IMPORTED_IMPLIB_RELEASE) -+ if(NOT ITKDoubleConversion_LIBRARY_RELEASE) -+ get_target_property(ITKDoubleConversion_LIBRARY_RELEASE double-conversion::double-conversion IMPORTED_LOCATION_RELEASE) -+ endif() -+ get_target_property(ITKDoubleConversion_LIBRARY_DEBUG double-conversion::double-conversion IMPORTED_IMPLIB_DEBUG) -+ if(NOT ITKDoubleConversion_LIBRARY_DEBUG) -+ get_target_property(ITKDoubleConversion_LIBRARY_DEBUG double-conversion::double-conversion IMPORTED_LOCATION_DEBUG) -+ endif() -+ include(SelectLibraryConfigurations) -+ select_library_configurations(ITKDoubleConversion) - else() - set(ITKDoubleConversion_INCLUDE_DIRS - ${ITKDoubleConversion_SOURCE_DIR}/src diff --git a/ports/itk/fftw.diff b/ports/itk/fftw.diff new file mode 100644 index 00000000000000..6d397e27aa0fd3 --- /dev/null +++ b/ports/itk/fftw.diff @@ -0,0 +1,68 @@ +diff --git a/CMake/FindFFTW.cmake b/CMake/FindFFTW.cmake +index 709c0cd..64baa8e 100644 +--- a/CMake/FindFFTW.cmake ++++ b/CMake/FindFFTW.cmake +@@ -30,7 +30,27 @@ + ## to set the initial value of the CMake variable `MKLROOT` (see + ## https://software.intel.com/en-us/mkl-linux-developer-guide-scripts-to-set-environment-variables). + +-if(ITK_USE_FFTWD OR ITK_USE_FFTWF) ++set(FFTW_INCLUDE "") ++if(ITK_USE_CUFFTW) ++ find_package(CUDAToolkit REQUIRED) ++ find_path(CUFFTW_INCLUDE_PATH cufftw.h PATHS ${CUDAToolkit_INCLUDE_DIRS} NO_DEFAULT_PATH REQUIRED) ++ set(FFTW_INCLUDE ${CUFFTW_INCLUDE_PATH}) ++ set(FFTWD_LIBRARIES CUDA::cufftw) ++ set(FFTWD_FOUND 1) ++ set(FFTWF_LIBRARIES CUDA::cufftw) ++ set(FFTWF_FOUND 1) ++elseif(ITK_USE_FFTWD OR ITK_USE_FFTWF) ++ find_path(FFTW_INCLUDE_PATH fftw3.h REQUIRED) ++ set(FFTW_INCLUDE ${CUFFTW_INCLUDE_PATH}) ++ if(ITK_USE_FFTWD) ++ find_package(FFTWD NAMES FFTW3 CONFIG REQUIRED) ++ set(FFTWD_LIBRARIES FFTW3::fftw3) ++ endif() ++ if(ITK_USE_FFTWF) ++ find_package(FFTWF NAMES FFTW3f CONFIG REQUIRED) ++ set(FFTWF_LIBRARIES FFTW3::fftw3f) ++ endif() ++elseif(0) + + if(ITK_USE_MKL) + # If the user has provided the MKL include path then search nearby for library files +diff --git a/CMake/ITKConfig.cmake.in b/CMake/ITKConfig.cmake.in +index 9066d4f..4ec0266 100644 +--- a/CMake/ITKConfig.cmake.in ++++ b/CMake/ITKConfig.cmake.in +@@ -3,6 +3,16 @@ include(CMakeFindDependencyMacro) + find_dependency(OpenJPEG CONFIG) + find_dependency(VXL CONFIG) + include("${VXL_CMAKE_DIR}/UseVXL.cmake") ++if("@ITK_USE_CUFFTW@") ++ find_dependency(CUDAToolkit) ++else() ++ if("@ITK_USE_FFTWD@") ++ find_dependency(FFTW3 CONFIG) ++ endif() ++ if("@ITK_USE_FFTWF@") ++ find_dependency(FFTW3f CONFIG) ++ endif() ++endif() + #----------------------------------------------------------------------------- + # + # ITKConfig.cmake - ITK CMake configuration file for external projects. +diff --git a/Modules/Filtering/FFT/src/CMakeLists.txt b/Modules/Filtering/FFT/src/CMakeLists.txt +index 83b176c..b51bc48 100644 +--- a/Modules/Filtering/FFT/src/CMakeLists.txt ++++ b/Modules/Filtering/FFT/src/CMakeLists.txt +@@ -10,6 +10,9 @@ endif() + itk_module_add_library(ITKFFT ${ITKFFT_SRCS}) + + # this library is only needed if FFTW is used ++if(ITK_USE_CUFFTW) ++ target_link_libraries(ITKFFT LINK_PUBLIC CUDA::cufftw) ++endif() + if(ITK_USE_FFTWF + OR ITK_USE_FFTWD + AND NOT ITK_USE_CUFFTW) diff --git a/ports/itk/opencl.patch b/ports/itk/opencl.patch deleted file mode 100644 index f935d09d40dade..00000000000000 --- a/ports/itk/opencl.patch +++ /dev/null @@ -1,176 +0,0 @@ -diff --git a/Modules/Core/GPUCommon/CMakeLists.txt b/Modules/Core/GPUCommon/CMakeLists.txt -index da2d66b63..6fb476680 100644 ---- a/Modules/Core/GPUCommon/CMakeLists.txt -+++ b/Modules/Core/GPUCommon/CMakeLists.txt -@@ -24,9 +24,13 @@ if(ITK_USE_GPU AND APPLE AND NOT ITK_COMPILER_HAS_BLOCKS) - endif() - - if(ITK_USE_GPU) -+ message(STATUS "OPENCL_LIBRARIES:${OPENCL_LIBRARIES}") -+ if(TARGET OpenCL::OpenCL) -+ message(STATUS "OPENCL_LIBRARIES:${OpenCL_LIBRARIES}") -+ endif() - set(ITKGPUCommon_LIBRARIES ITKGPUCommon) -- set(ITKGPUCommon_SYSTEM_INCLUDE_DIRS ${OPENCL_INCLUDE_DIRS}) -- set(ITKGPUCommon_SYSTEM_LIBRARY_DIRS ${OPENCL_LIBRARIES}) -+ set(ITKGPUCommon_SYSTEM_INCLUDE_DIRS ${OpenCL_INCLUDE_DIRS}) -+ set(ITKGPUCommon_SYSTEM_LIBRARY_DIRS ${OpenCL_LIBRARIES}) - endif() - - if(NOT ITK_SOURCE_DIR) -diff --git a/Modules/Core/GPUCommon/src/CMakeLists.txt b/Modules/Core/GPUCommon/src/CMakeLists.txt -index 0b39f2a9a..160f7a752 100644 ---- a/Modules/Core/GPUCommon/src/CMakeLists.txt -+++ b/Modules/Core/GPUCommon/src/CMakeLists.txt -@@ -14,5 +14,5 @@ if (ITK_USE_GPU) - write_gpu_kernels("${ITKGPUCommon_Kernels}" ITKGPUCommon_SRCS) - - itk_module_add_library(ITKGPUCommon ${ITKGPUCommon_SRCS}) -- target_link_libraries(ITKGPUCommon LINK_PUBLIC ${OPENCL_LIBRARIES}) -+ target_link_libraries(ITKGPUCommon LINK_PUBLIC ${OpenCL_LIBRARIES}) - endif() -diff --git a/Modules/Core/GPUFiniteDifference/CMakeLists.txt b/Modules/Core/GPUFiniteDifference/CMakeLists.txt -index c1bfde450..a642d9230 100644 ---- a/Modules/Core/GPUFiniteDifference/CMakeLists.txt -+++ b/Modules/Core/GPUFiniteDifference/CMakeLists.txt -@@ -9,8 +9,8 @@ if(NOT ITK_SOURCE_DIR) - endif() - - if (ITK_USE_GPU) -- set(ITKGPUFiniteDifference_SYSTEM_INCLUDE_DIRS ${OPENCL_INCLUDE_DIRS}) -- set(ITKGPUFiniteDifference_SYSTEM_LIBRARY_DIRS ${OPENCL_LIBRARIES}) -+ set(ITKGPUFiniteDifference_SYSTEM_INCLUDE_DIRS ${OpenCL_INCLUDE_DIRS}) -+ set(ITKGPUFiniteDifference_SYSTEM_LIBRARY_DIRS ${OpenCL_LIBRARIES}) - set(ITKGPUFiniteDifference_LIBRARIES ITKGPUFiniteDifference) - endif() - -diff --git a/Modules/Core/GPUFiniteDifference/src/CMakeLists.txt b/Modules/Core/GPUFiniteDifference/src/CMakeLists.txt -index 8425cc025..8335c69a0 100644 ---- a/Modules/Core/GPUFiniteDifference/src/CMakeLists.txt -+++ b/Modules/Core/GPUFiniteDifference/src/CMakeLists.txt -@@ -9,5 +9,5 @@ if (ITK_USE_GPU) - write_gpu_kernels("${ITKGPUFiniteDifference_Kernels}" ITKGPUFiniteDifference_SRCS) - - itk_module_add_library(ITKGPUFiniteDifference ${ITKGPUFiniteDifference_SRCS}) -- target_link_libraries(ITKGPUFiniteDifference LINK_PUBLIC ${OPENCL_LIBRARIES}) -+ target_link_libraries(ITKGPUFiniteDifference LINK_PUBLIC ${OpenCL_LIBRARIES}) - endif() -diff --git a/Modules/Filtering/GPUAnisotropicSmoothing/CMakeLists.txt b/Modules/Filtering/GPUAnisotropicSmoothing/CMakeLists.txt -index f36fd887d..310d983fa 100644 ---- a/Modules/Filtering/GPUAnisotropicSmoothing/CMakeLists.txt -+++ b/Modules/Filtering/GPUAnisotropicSmoothing/CMakeLists.txt -@@ -10,8 +10,8 @@ endif() - - if (ITK_USE_GPU) - set(ITKGPUAnisotropicSmoothing_LIBRARIES ITKGPUAnisotropicSmoothing) -- set(ITKGPUAnisotropicSmoothing_SYSTEM_INCLUDE_DIRS ${OPENCL_INCLUDE_DIRS}) -- set(ITKGPUAnisotropicSmoothing_SYSTEM_LIBRARY_DIRS ${OPENCL_LIBRARIES}) -+ set(ITKGPUAnisotropicSmoothing_SYSTEM_INCLUDE_DIRS ${OpenCL_INCLUDE_DIRS}) -+ set(ITKGPUAnisotropicSmoothing_SYSTEM_LIBRARY_DIRS ${OpenCL_LIBRARIES}) - endif() - - if(NOT ITK_SOURCE_DIR) -diff --git a/Modules/Filtering/GPUImageFilterBase/CMakeLists.txt b/Modules/Filtering/GPUImageFilterBase/CMakeLists.txt -index 078905521..67fd7b832 100644 ---- a/Modules/Filtering/GPUImageFilterBase/CMakeLists.txt -+++ b/Modules/Filtering/GPUImageFilterBase/CMakeLists.txt -@@ -10,8 +10,8 @@ endif() - - if (ITK_USE_GPU) - set(ITKGPUImageFilterBase_LIBRARIES ITKGPUImageFilterBase) -- set(ITKGPUImageFilterBase_SYSTEM_INCLUDE_DIRS ${OPENCL_INCLUDE_DIRS}) -- set(ITKGPUImageFilterBase_SYSTEM_LIBRARY_DIRS ${OPENCL_LIBRARIES}) -+ set(ITKGPUImageFilterBase_SYSTEM_INCLUDE_DIRS ${OpenCL_INCLUDE_DIRS}) -+ set(ITKGPUImageFilterBase_SYSTEM_LIBRARY_DIRS ${OpenCL_LIBRARIES}) - endif() - - if(NOT ITK_SOURCE_DIR) -diff --git a/Modules/Filtering/GPUImageFilterBase/src/CMakeLists.txt b/Modules/Filtering/GPUImageFilterBase/src/CMakeLists.txt -index 251493f5e..6d33fa964 100644 ---- a/Modules/Filtering/GPUImageFilterBase/src/CMakeLists.txt -+++ b/Modules/Filtering/GPUImageFilterBase/src/CMakeLists.txt -@@ -10,5 +10,5 @@ if (ITK_USE_GPU) - write_gpu_kernels("${ITKGPUImageFilterBase_Kernels}" ITKGPUImageFilterBase_SRCS) - - itk_module_add_library(ITKGPUImageFilterBase ${ITKGPUImageFilterBase_SRCS}) -- target_link_libraries(ITKGPUImageFilterBase LINK_PUBLIC ${OPENCL_LIBRARIES}) -+ target_link_libraries(ITKGPUImageFilterBase LINK_PUBLIC ${OpenCL_LIBRARIES}) - endif() -diff --git a/Modules/Filtering/GPUSmoothing/CMakeLists.txt b/Modules/Filtering/GPUSmoothing/CMakeLists.txt -index 9bac40921..2ed493d40 100644 ---- a/Modules/Filtering/GPUSmoothing/CMakeLists.txt -+++ b/Modules/Filtering/GPUSmoothing/CMakeLists.txt -@@ -10,8 +10,8 @@ endif() - - if (ITK_USE_GPU) - set(ITKGPUSmoothing_LIBRARIES ITKGPUSmoothing) -- set(ITKGPUSmoothing_SYSTEM_INCLUDE_DIRS ${OPENCL_INCLUDE_DIRS}) -- set(ITKGPUSmoothing_SYSTEM_LIBRARY_DIRS ${OPENCL_LIBRARIES}) -+ set(ITKGPUSmoothing_SYSTEM_INCLUDE_DIRS ${OpenCL_INCLUDE_DIRS}) -+ set(ITKGPUSmoothing_SYSTEM_LIBRARY_DIRS ${OpenCL_LIBRARIES}) - endif() - - if(NOT ITK_SOURCE_DIR) -diff --git a/Modules/Filtering/GPUSmoothing/src/CMakeLists.txt b/Modules/Filtering/GPUSmoothing/src/CMakeLists.txt -index d2120e842..2c6ca4a4a 100644 ---- a/Modules/Filtering/GPUSmoothing/src/CMakeLists.txt -+++ b/Modules/Filtering/GPUSmoothing/src/CMakeLists.txt -@@ -9,5 +9,5 @@ if (ITK_USE_GPU) - write_gpu_kernels("${ITKGPUSmoothing_Kernels}" ITKGPUSmoothing_SRCS) - - itk_module_add_library(ITKGPUSmoothing ${ITKGPUSmoothing_SRCS}) -- target_link_libraries(ITKGPUSmoothing LINK_PUBLIC ${OPENCL_LIBRARIES}) -+ target_link_libraries(ITKGPUSmoothing LINK_PUBLIC ${OpenCL_LIBRARIES}) - endif() -diff --git a/Modules/Filtering/GPUThresholding/CMakeLists.txt b/Modules/Filtering/GPUThresholding/CMakeLists.txt -index 4390785f5..61786b7a8 100644 ---- a/Modules/Filtering/GPUThresholding/CMakeLists.txt -+++ b/Modules/Filtering/GPUThresholding/CMakeLists.txt -@@ -2,8 +2,8 @@ project(ITKGPUThresholding) - - if (ITK_USE_GPU) - set(ITKGPUThresholding_LIBRARIES ITKGPUThresholding) -- set(ITKGPUThresholding_SYSTEM_INCLUDE_DIRS ${OPENCL_INCLUDE_DIRS}) -- set(ITKGPUThresholding_SYSTEM_LIBRARY_DIRS ${OPENCL_LIBRARIES}) -+ set(ITKGPUThresholding_SYSTEM_INCLUDE_DIRS ${OpenCL_INCLUDE_DIRS}) -+ set(ITKGPUThresholding_SYSTEM_LIBRARY_DIRS ${OpenCL_LIBRARIES}) - endif() - - itk_module_impl() -diff --git a/Modules/Filtering/GPUThresholding/src/CMakeLists.txt b/Modules/Filtering/GPUThresholding/src/CMakeLists.txt -index 326c86859..c07c80414 100644 ---- a/Modules/Filtering/GPUThresholding/src/CMakeLists.txt -+++ b/Modules/Filtering/GPUThresholding/src/CMakeLists.txt -@@ -9,5 +9,5 @@ if (ITK_USE_GPU) - write_gpu_kernels("${ITKGPUThresholding_Kernels}" ITKGPUThresholding_SRCS) - - itk_module_add_library(ITKGPUThresholding ${ITKGPUThresholding_SRCS}) -- target_link_libraries(ITKGPUThresholding LINK_PUBLIC ${OPENCL_LIBRARIES}) -+ target_link_libraries(ITKGPUThresholding LINK_PUBLIC ${OpenCL_LIBRARIES}) - endif() -diff --git a/Modules/Registration/GPUPDEDeformable/CMakeLists.txt b/Modules/Registration/GPUPDEDeformable/CMakeLists.txt -index c8d70a423..097c974c5 100644 ---- a/Modules/Registration/GPUPDEDeformable/CMakeLists.txt -+++ b/Modules/Registration/GPUPDEDeformable/CMakeLists.txt -@@ -2,8 +2,8 @@ project(ITKGPUPDEDeformableRegistration) - - if (ITK_USE_GPU) - set(ITKGPUPDEDeformableRegistration_LIBRARIES ITKGPUPDEDeformableRegistration) -- set(ITKGPUPDEDeformableRegistration_SYSTEM_INCLUDE_DIRS ${OPENCL_INCLUDE_DIRS}) -- set(ITKGPUPDEDeformableRegistration_SYSTEM_LIBRARY_DIRS ${OPENCL_LIBRARIES}) -+ set(ITKGPUPDEDeformableRegistration_SYSTEM_INCLUDE_DIRS ${OpenCL_INCLUDE_DIRS}) -+ set(ITKGPUPDEDeformableRegistration_SYSTEM_LIBRARY_DIRS ${OpenCL_LIBRARIES}) - endif() - - itk_module_impl() -diff --git a/Modules/Registration/GPUPDEDeformable/src/CMakeLists.txt b/Modules/Registration/GPUPDEDeformable/src/CMakeLists.txt -index 28b1d194c..1a049bdde 100644 ---- a/Modules/Registration/GPUPDEDeformable/src/CMakeLists.txt -+++ b/Modules/Registration/GPUPDEDeformable/src/CMakeLists.txt -@@ -10,5 +10,5 @@ if (ITK_USE_GPU) - write_gpu_kernels("${ITKGPUPDEDeformableRegistration_Kernels}" ITKGPUPDEDeformableRegistration_SRCS) - - itk_module_add_library(ITKGPUPDEDeformableRegistration ${ITKGPUPDEDeformableRegistration_SRCS}) -- target_link_libraries(ITKGPUPDEDeformableRegistration LINK_PUBLIC ${OPENCL_LIBRARIES}) -+ target_link_libraries(ITKGPUPDEDeformableRegistration LINK_PUBLIC ${OpenCL_LIBRARIES}) - endif() diff --git a/ports/itk/openjpeg.patch b/ports/itk/openjpeg.patch index 0fe1f34c9c097c..9de372e7019984 100644 --- a/ports/itk/openjpeg.patch +++ b/ports/itk/openjpeg.patch @@ -1,548 +1,522 @@ -diff --git a/Modules/IO/JPEG2000/src/itkJPEG2000ImageIO.cxx b/Modules/IO/JPEG2000/src/itkJPEG2000ImageIO.cxx -index 1b1fe9526..0da4aa0c4 100644 ---- a/Modules/IO/JPEG2000/src/itkJPEG2000ImageIO.cxx -+++ b/Modules/IO/JPEG2000/src/itkJPEG2000ImageIO.cxx -@@ -26,9 +26,9 @@ - - extern "C" - { --#include "openjpeg.h" --#include "j2k.h" --#include "jp2.h" -+#include -+//#include "j2k.h" -+//##include "jp2.h" - } - - -@@ -62,8 +62,7 @@ public: - OPJ_UINT32 m_TileStartX; - OPJ_UINT32 m_TileStartY; - -- OPJ_UINT32 m_NumberOfTilesInX; -- OPJ_UINT32 m_NumberOfTilesInY; -+ OPJ_UINT32 m_NumberOfTiles; - - opj_dparameters_t m_DecompressionParameters; /* decompression parameters */ - }; -@@ -86,8 +85,7 @@ JPEG2000ImageIO::JPEG2000ImageIO() - this->m_Internal->m_TileStartX = 0; - this->m_Internal->m_TileStartY = 0; - -- this->m_Internal->m_NumberOfTilesInX = 0; -- this->m_Internal->m_NumberOfTilesInY = 0; -+ this->m_Internal->m_NumberOfTiles = 0; - - const char * extensions[] = { ".j2k", ".jp2", ".jpt" }; - -@@ -139,22 +137,16 @@ JPEG2000ImageIO::ReadImageInformation() - { - itkDebugMacro(<< "ReadImageInformation()"); - -- FILE * l_file = fopen(this->m_FileName.c_str(), "rb"); -- -- /* decompression parameters */ -+ /* set decoding parameters to default values */ -+ opj_set_default_decoder_parameters(&(this->m_Internal->m_DecompressionParameters)); - -- if (!l_file) -+ opj_stream_t * cio = opj_stream_create_default_file_stream(this->m_FileName.c_str(), true); -+ if (!cio) - { - itkExceptionMacro("JPEG2000ImageIO failed to open file for reading: " << this->GetFileName() << std::endl - << "Reason: " - << itksys::SystemTools::GetLastSystemError()); - } -- -- /* set decoding parameters to default values */ -- opj_set_default_decoder_parameters(&(this->m_Internal->m_DecompressionParameters)); -- -- opj_stream_t * cio = opj_stream_create_default_file_stream(l_file, true); -- - this->m_Internal->m_Dinfo = nullptr; /* handle to a decompressor */ - - opj_image_t * l_image = nullptr; -@@ -187,14 +179,14 @@ JPEG2000ImageIO::ReadImageInformation() - /* JPEG-2000 codestream */ - - /* get a decoder handle */ -- this->m_Internal->m_Dinfo = opj_create_decompress(CODEC_J2K); -+ this->m_Internal->m_Dinfo = opj_create_decompress(OPJ_CODEC_J2K); - if (!this->m_Internal->m_Dinfo) - { - opj_stream_destroy(cio); -- fclose(l_file); -+ // fclose(l_file); - itkExceptionMacro("JPEG2000ImageIO failed to read file: " - << this->GetFileName() << std::endl -- << "Reason: opj_create_decompress(CODEC_J2K) returns nullptr"); -+ << "Reason: opj_create_decompress(OPJ_CODEC_J2K) returns nullptr"); - } - break; - } -@@ -202,14 +194,14 @@ JPEG2000ImageIO::ReadImageInformation() - { - /* JPEG 2000 compressed image data */ - /* get a decoder handle */ -- this->m_Internal->m_Dinfo = opj_create_decompress(CODEC_JP2); -+ this->m_Internal->m_Dinfo = opj_create_decompress(OPJ_CODEC_JP2); - if (!this->m_Internal->m_Dinfo) - { - opj_stream_destroy(cio); -- fclose(l_file); -+ // fclose(l_file); - itkExceptionMacro("JPEG2000ImageIO failed to read file: " - << this->GetFileName() << std::endl -- << "Reason: opj_create_decompress(CODEC_JP2) returns nullptr"); -+ << "Reason: opj_create_decompress(OPJ_CODEC_JP2) returns nullptr"); - } - break; - } -@@ -217,20 +209,19 @@ JPEG2000ImageIO::ReadImageInformation() - { - /* JPEG 2000, JPIP */ - /* get a decoder handle */ -- this->m_Internal->m_Dinfo = opj_create_decompress(CODEC_JPT); -+ this->m_Internal->m_Dinfo = opj_create_decompress(OPJ_CODEC_JPT); - if (!this->m_Internal->m_Dinfo) - { - opj_stream_destroy(cio); -- fclose(l_file); -+ // fclose(l_file); - itkExceptionMacro("JPEG2000ImageIO failed to read file: " - << this->GetFileName() << std::endl -- << "Reason: opj_create_decompress(CODEC_JPT) returns nullptr"); -+ << "Reason: opj_create_decompress(OPJ_CODEC_JPT) returns nullptr"); - } - break; - } - default: - opj_stream_destroy(cio); -- fclose(l_file); - itkExceptionMacro("JPEG2000ImageIO failed to read file: " - << this->GetFileName() << std::endl - << "Reason: " -@@ -247,27 +238,11 @@ JPEG2000ImageIO::ReadImageInformation() - << "Reason: opj_setup_decoder returns false"); - } - -- // Image parameters - first tile -- OPJ_INT32 l_tile_x0; -- OPJ_INT32 l_tile_y0; - -- // Image parameters - tile width, height and number of tiles -- OPJ_UINT32 l_tile_width; -- OPJ_UINT32 l_tile_height; -- OPJ_UINT32 l_nb_tiles_x; -- OPJ_UINT32 l_nb_tiles_y; - - itkDebugMacro(<< "Trying to read header now..."); - -- bResult = opj_read_header(this->m_Internal->m_Dinfo, -- &l_image, -- &l_tile_x0, -- &l_tile_y0, -- &l_tile_width, -- &l_tile_height, -- &l_nb_tiles_x, -- &l_nb_tiles_y, -- cio); -+ bResult = opj_read_header(cio, this->m_Internal->m_Dinfo, &l_image); - - if (!bResult) - { -@@ -283,14 +258,22 @@ JPEG2000ImageIO::ReadImageInformation() - << "Reason: Error whle reading image header"); - } - -+ // Image parameters - first tile -+ OPJ_INT32 l_tile_x0=l_image->x0; -+ OPJ_INT32 l_tile_y0=l_image->y0; -+ -+ // Image parameters - tile width, height and number of tiles -+ OPJ_UINT32 l_tile_width=l_image->x1; -+ OPJ_UINT32 l_tile_height=l_image->y1; -+ OPJ_UINT32 l_nb_tiles=l_image->numcomps; -+ - this->m_Internal->m_TileStartX = l_tile_x0; - this->m_Internal->m_TileStartY = l_tile_y0; - - this->m_Internal->m_TileWidth = l_tile_width; - this->m_Internal->m_TileHeight = l_tile_height; - -- this->m_Internal->m_NumberOfTilesInX = l_nb_tiles_x; -- this->m_Internal->m_NumberOfTilesInY = l_nb_tiles_y; -+ this->m_Internal->m_NumberOfTiles = l_nb_tiles; - - - itkDebugMacro(<< "Number of Components = " << l_image->numcomps); -@@ -319,7 +302,7 @@ JPEG2000ImageIO::ReadImageInformation() - this->SetPixelType(IOPixelEnum::SCALAR); - break; - case 3: -- if (l_image->color_space != CLRSPC_SRGB) -+ if (l_image->color_space != OPJ_CLRSPC_SRGB) - { - itkWarningMacro(<< "file does not specify color space, assuming sRGB"); - } -@@ -335,8 +318,7 @@ JPEG2000ImageIO::ReadImageInformation() - itkDebugMacro(<< "Tile Start Y = " << this->m_Internal->m_TileStartY); - itkDebugMacro(<< "Tile Width = " << this->m_Internal->m_TileWidth); - itkDebugMacro(<< "Tile Height = " << this->m_Internal->m_TileHeight); -- itkDebugMacro(<< "Number of Tiles X = " << this->m_Internal->m_NumberOfTilesInX); -- itkDebugMacro(<< "Number of Tiles Y = " << this->m_Internal->m_NumberOfTilesInY); -+ itkDebugMacro(<< "Number of Tiles = " << this->m_Internal->m_NumberOfTiles); - - itkDebugMacro(<< "image->x1 = " << l_image->x1); - itkDebugMacro(<< "image->y1 = " << l_image->y1); -@@ -349,7 +331,6 @@ JPEG2000ImageIO::ReadImageInformation() - - /* close the byte stream */ - opj_stream_destroy(cio); -- fclose(l_file); - - if (this->m_Internal->m_Dinfo) - { -@@ -368,16 +349,7 @@ JPEG2000ImageIO::Read(void * buffer) - { - itkDebugMacro(<< "JPEG2000ImageIO::Read() Begin"); - -- FILE * l_file = fopen(this->m_FileName.c_str(), "rb"); -- -- if (!l_file) -- { -- itkExceptionMacro("JPEG2000ImageIO failed to open file for reading: " << this->GetFileName() << std::endl -- << "Reason: " -- << itksys::SystemTools::GetLastSystemError()); -- } -- -- opj_stream_t * l_stream = opj_stream_create_default_file_stream(l_file, true); -+ opj_stream_t * l_stream = opj_stream_create_default_file_stream(this->m_FileName.c_str(), true); - if (!l_stream) - { - itkExceptionMacro("JPEG2000ImageIO failed to read file: " -@@ -397,12 +369,13 @@ JPEG2000ImageIO::Read(void * buffer) - { - /* JPEG-2000 codestream */ - /* get a decoder handle */ -- this->m_Internal->m_Dinfo = opj_create_decompress(CODEC_J2K); -+ this->m_Internal->m_Dinfo = opj_create_decompress(OPJ_CODEC_J2K); - if (!this->m_Internal->m_Dinfo) - { -+ opj_stream_destroy(l_stream); - itkExceptionMacro("JPEG2000ImageIO failed to read file: " - << this->GetFileName() << std::endl -- << "Reason: opj_create_decompress(CODEC_J2K) returns nullptr"); -+ << "Reason: opj_create_decompress(OPJ_CODEC_J2K) returns nullptr"); - } - break; - } -@@ -410,12 +383,13 @@ JPEG2000ImageIO::Read(void * buffer) - { - /* JPEG 2000 compressed image data */ - /* get a decoder handle */ -- this->m_Internal->m_Dinfo = opj_create_decompress(CODEC_JP2); -+ this->m_Internal->m_Dinfo = opj_create_decompress(OPJ_CODEC_JP2); - if (!this->m_Internal->m_Dinfo) - { -+ opj_stream_destroy(l_stream); - itkExceptionMacro("JPEG2000ImageIO failed to read file: " - << this->GetFileName() << std::endl -- << "Reason: opj_create_decompress(CODEC_JP2) returns nullptr"); -+ << "Reason: opj_create_decompress(OPJ_CODEC_JP2) returns nullptr"); - } - break; - } -@@ -423,17 +397,18 @@ JPEG2000ImageIO::Read(void * buffer) - { - /* JPEG 2000, JPIP */ - /* get a decoder handle */ -- this->m_Internal->m_Dinfo = opj_create_decompress(CODEC_JPT); -+ this->m_Internal->m_Dinfo = opj_create_decompress(OPJ_CODEC_JPT); - if (!this->m_Internal->m_Dinfo) - { -+ opj_stream_destroy(l_stream); - itkExceptionMacro("JPEG2000ImageIO failed to read file: " - << this->GetFileName() << std::endl -- << "Reason: opj_create_decompress(CODEC_JPT) returns nullptr"); -+ << "Reason: opj_create_decompress(OPJ_CODEC_JPT) returns nullptr"); - } - break; - } - default: -- fclose(l_file); -+ opj_stream_destroy(l_stream); - itkExceptionMacro("JPEG2000ImageIO failed to read file: " - << this->GetFileName() << std::endl - << "Reason: " -@@ -448,29 +423,13 @@ JPEG2000ImageIO::Read(void * buffer) - << "Reason: opj_setup_decoder returns false"); - } - -- OPJ_INT32 l_tile_x0, l_tile_y0; -- -- OPJ_UINT32 l_tile_width; -- OPJ_UINT32 l_tile_height; -- OPJ_UINT32 l_nb_tiles_x; -- OPJ_UINT32 l_nb_tiles_y; -- -- bool bResult = opj_read_header(this->m_Internal->m_Dinfo, -- &l_image, -- &l_tile_x0, -- &l_tile_y0, -- &l_tile_width, -- &l_tile_height, -- &l_nb_tiles_x, -- &l_nb_tiles_y, -- l_stream); -+ bool bResult = opj_read_header(l_stream, this->m_Internal->m_Dinfo,&l_image); - - if (!bResult) - { - opj_destroy_codec(this->m_Internal->m_Dinfo); - this->m_Internal->m_Dinfo = nullptr; - opj_stream_destroy(l_stream); -- fclose(l_file); - itkExceptionMacro("JPEG2000ImageIO failed to read file: " << this->GetFileName() << std::endl - << "Reason: opj_read_header returns false"); - } -@@ -499,7 +458,7 @@ JPEG2000ImageIO::Read(void * buffer) - itkDebugMacro(<< "p_end_x = " << p_end_x); - itkDebugMacro(<< "p_end_y = " << p_end_y); - -- bResult = opj_set_decode_area(this->m_Internal->m_Dinfo, p_start_x, p_start_y, p_end_x, p_end_y); -+ bResult = opj_set_decode_area(this->m_Internal->m_Dinfo, l_image, p_start_x, p_start_y, p_end_x, p_end_y); - - itkDebugMacro(<< "opj_set_decode_area() after"); - -@@ -508,7 +467,6 @@ JPEG2000ImageIO::Read(void * buffer) - opj_destroy_codec(this->m_Internal->m_Dinfo); - this->m_Internal->m_Dinfo = nullptr; - opj_stream_destroy(l_stream); -- fclose(l_file); - itkExceptionMacro("JPEG2000ImageIO failed to read file: " << this->GetFileName() << std::endl - << "Reason: opj_set_decode_area returns false"); - } -@@ -525,13 +483,13 @@ JPEG2000ImageIO::Read(void * buffer) - - OPJ_UINT32 l_max_data_size = 1000; - -- bool l_go_on = true; -+ int l_go_on = true; // should be OBJ_BOOL - - auto * l_data = (OPJ_BYTE *)malloc(1000); - - while (l_go_on) - { -- bool tileHeaderRead = opj_read_tile_header(this->m_Internal->m_Dinfo, -+ bool tileHeaderRead = opj_read_tile_header(this->m_Internal->m_Dinfo, l_stream, - &l_tile_index, - &l_data_size, - &l_current_tile_x0, -@@ -539,14 +497,12 @@ JPEG2000ImageIO::Read(void * buffer) - &l_current_tile_x1, - &l_current_tile_y1, - &l_nb_comps, -- &l_go_on, -- l_stream); -+ &l_go_on); - - if (!tileHeaderRead) - { - free(l_data); - opj_stream_destroy(l_stream); -- fclose(l_file); - opj_destroy_codec(this->m_Internal->m_Dinfo); - opj_image_destroy(l_image); - itkExceptionMacro("JPEG2000ImageIO failed to read file: " << this->GetFileName() << std::endl -@@ -571,7 +527,6 @@ JPEG2000ImageIO::Read(void * buffer) - if (!l_data) - { - opj_stream_destroy(l_stream); -- fclose(l_file); - opj_destroy_codec(this->m_Internal->m_Dinfo); - opj_image_destroy(l_image); - itkExceptionMacro("JPEG2000ImageIO failed to read file: " << this->GetFileName() << std::endl -@@ -590,7 +545,6 @@ JPEG2000ImageIO::Read(void * buffer) - { - free(l_data); - opj_stream_destroy(l_stream); -- fclose(l_file); - opj_destroy_codec(this->m_Internal->m_Dinfo); - opj_image_destroy(l_image); - itkExceptionMacro("JPEG2000ImageIO failed to read file: " << this->GetFileName() << std::endl -@@ -654,7 +608,6 @@ JPEG2000ImageIO::Read(void * buffer) - { - free(l_data); - opj_stream_destroy(l_stream); -- fclose(l_file); - opj_destroy_codec(this->m_Internal->m_Dinfo); - opj_image_destroy(l_image); - itkExceptionMacro("JPEG2000ImageIO failed to read file: " << this->GetFileName() << std::endl -@@ -666,14 +619,12 @@ JPEG2000ImageIO::Read(void * buffer) - opj_destroy_codec(this->m_Internal->m_Dinfo); - this->m_Internal->m_Dinfo = nullptr; - opj_stream_destroy(l_stream); -- fclose(l_file); - itkExceptionMacro("JPEG2000ImageIO failed to read file: " << this->GetFileName() << std::endl - << "Reason: error whle reading image"); - } - - /* close the byte stream */ - opj_stream_destroy(l_stream); -- fclose(l_file); - - if (this->m_Internal->m_Dinfo) - { -@@ -840,13 +791,13 @@ JPEG2000ImageIO ::Write(const void * buffer) - - parameters.numresolution = numberOfResolutions; - -- OPJ_COLOR_SPACE color_space = CLRSPC_GRAY; -+ OPJ_COLOR_SPACE color_space = OPJ_CLRSPC_GRAY; - opj_image_cmptparm_t cmptparms[3]; - - if (this->GetNumberOfComponents() == 3) - { - -- color_space = (this->GetPixelType() == IOPixelEnum::RGB) ? CLRSPC_SRGB : CLRSPC_UNSPECIFIED; -+ color_space = (this->GetPixelType() == IOPixelEnum::RGB) ? OPJ_CLRSPC_SRGB : OPJ_CLRSPC_UNSPECIFIED; - - /* initialize image components */ - memset(&cmptparms[0], 0, 3 * sizeof(opj_image_cmptparm_t)); -@@ -864,7 +815,7 @@ JPEG2000ImageIO ::Write(const void * buffer) - - if (this->GetNumberOfComponents() == 1) - { -- color_space = CLRSPC_GRAY; -+ color_space = OPJ_CLRSPC_GRAY; - - /* initialize image components */ - memset(&cmptparms[0], 0, sizeof(opj_image_cmptparm_t)); -@@ -940,32 +891,32 @@ JPEG2000ImageIO ::Write(const void * buffer) - opj_codec_t * cinfo = nullptr; - if (extension == ".j2k") - { -- cinfo = opj_create_compress(CODEC_J2K); -+ cinfo = opj_create_compress(OPJ_CODEC_J2K); - if (!cinfo) - { - itkExceptionMacro("JPEG2000ImageIO failed to write file: " - << this->GetFileName() << std::endl -- << "Reason: opj_create_compress(CODEC_J2K) returns nullptr"); -+ << "Reason: opj_create_compress(OPJ_CODEC_J2K) returns nullptr"); - } - } - else if (extension == ".jp2") - { -- cinfo = opj_create_compress(CODEC_JP2); -+ cinfo = opj_create_compress(OPJ_CODEC_JP2); - if (!cinfo) - { - itkExceptionMacro("JPEG2000ImageIO failed to write file: " - << this->GetFileName() << std::endl -- << "Reason: opj_create_compress(CODEC_JP2) returns nullptr"); -+ << "Reason: opj_create_compress(OPJ_CODEC_JP2) returns nullptr"); - } - } - else if (extension == ".jpt") - { -- cinfo = opj_create_compress(CODEC_JPT); -+ cinfo = opj_create_compress(OPJ_CODEC_JPT); - if (!cinfo) - { - itkExceptionMacro("JPEG2000ImageIO failed to write file: " - << this->GetFileName() << std::endl -- << "Reason: opj_create_compress(CODEC_JPT) returns nullptr"); -+ << "Reason: opj_create_compress(OPJ_CODEC_JPT) returns nullptr"); - } - } - else -@@ -989,17 +940,9 @@ JPEG2000ImageIO ::Write(const void * buffer) - << "Reason: opj_setup_encoder returns false"); - } - -- FILE * l_file = fopen(parameters.outfile, "wb"); -- if (!l_file) -- { -- itkExceptionMacro("JPEG2000ImageIO failed to open file for writing: " << this->GetFileName() << std::endl -- << "Reason: " -- << itksys::SystemTools::GetLastSystemError()); -- } -- - /* open a byte stream for writing */ - /* allocate memory for all tiles */ -- opj_stream_t * cio = opj_stream_create_default_file_stream(l_file, false); -+ opj_stream_t * cio = opj_stream_create_default_file_stream(parameters.outfile, false); - if (!cio) - { - itkExceptionMacro("JPEG2000ImageIO failed to write file: " -@@ -1017,8 +960,7 @@ JPEG2000ImageIO ::Write(const void * buffer) - if (!bSuccess) - { - opj_stream_destroy(cio); -- fclose(l_file); -- itkExceptionMacro("JPEG2000ImageIO failed to write file: " << this->GetFileName() << std::endl -+ itkExceptionMacro("JPEG2000ImageIO failed to write file: " << this->GetFileName() << std::endl - << "Reason: opj_start_compress returns false"); - } - -@@ -1026,7 +968,6 @@ JPEG2000ImageIO ::Write(const void * buffer) - if (!bSuccess) - { - opj_stream_destroy(cio); -- fclose(l_file); - itkExceptionMacro("JPEG2000ImageIO failed to write file: " << this->GetFileName() << std::endl - << "Reason: opj_encode returns false"); - } -@@ -1035,14 +976,12 @@ JPEG2000ImageIO ::Write(const void * buffer) - if (!bSuccess) - { - opj_stream_destroy(cio); -- fclose(l_file); - itkExceptionMacro("JPEG2000ImageIO failed to write file: " << this->GetFileName() << std::endl - << "Reason: opj_end_compress returns false"); - } - - /* close and free the byte stream */ - opj_stream_destroy(cio); -- fclose(l_file); - - /* free remaining compression structures */ - opj_destroy_codec(cinfo); -diff --git a/Modules/ThirdParty/OpenJPEG/CMakeLists.txt b/Modules/ThirdParty/OpenJPEG/CMakeLists.txt -index 103eaa9dd..eb8989135 100644 ---- a/Modules/ThirdParty/OpenJPEG/CMakeLists.txt -+++ b/Modules/ThirdParty/OpenJPEG/CMakeLists.txt -@@ -1,12 +1,25 @@ - project(ITKOpenJPEG) - set(ITKOpenJPEG_THIRD_PARTY 1) - --set(ITKOpenJPEG_INCLUDE_DIRS -- ${ITKOpenJPEG_BINARY_DIR}/src/openjpeg -- ${ITKOpenJPEG_SOURCE_DIR}/src/openjpeg -- ) --set(ITKOpenJPEG_LIBRARIES itkopenjpeg) --set(ITK_LIBRARY_PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS FALSE) -+if(ITK_USE_SYSTEM_OpenJPEG) -+ find_package(OpenJPEG REQUIRED) -+ if(TARGET openjp2) -+ set(ITKOpenJPEG_LIBRARIES ${OPENJPEG_LIBRARIES}) -+ else() -+ message(FATAL_ERROR "OpenJPEG target openjp2 missing!") -+ endif() -+ set(ITKOpenJPEG_INCLUDE_DIRS -+ ${ITKOpenJPEG_BINARY_DIR}/src/openjpeg -+ ${ITKOpenJPEG_SOURCE_DIR}/src/openjpeg -+ ) -+else() -+ set(ITKOpenJPEG_INCLUDE_DIRS -+ ${ITKOpenJPEG_BINARY_DIR}/src/openjpeg -+ ${ITKOpenJPEG_SOURCE_DIR}/src/openjpeg -+ ) -+ set(ITKOpenJPEG_LIBRARIES itkopenjpeg) -+ set(ITK_LIBRARY_PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS FALSE) -+endif() - - itk_module_impl() - +diff --git a/Modules/IO/JPEG2000/src/itkJPEG2000ImageIO.cxx b/Modules/IO/JPEG2000/src/itkJPEG2000ImageIO.cxx +index 3592573..aefb8a2 100644 +--- a/Modules/IO/JPEG2000/src/itkJPEG2000ImageIO.cxx ++++ b/Modules/IO/JPEG2000/src/itkJPEG2000ImageIO.cxx +@@ -26,9 +26,7 @@ + + extern "C" + { +-#include "openjpeg.h" +-#include "j2k.h" +-#include "jp2.h" ++#include + } + + +@@ -62,8 +60,7 @@ public: + OPJ_UINT32 m_TileStartX; + OPJ_UINT32 m_TileStartY; + +- OPJ_UINT32 m_NumberOfTilesInX; +- OPJ_UINT32 m_NumberOfTilesInY; ++ OPJ_UINT32 m_NumberOfTiles; + + opj_dparameters_t m_DecompressionParameters; /* decompression parameters */ + }; +@@ -86,8 +83,7 @@ JPEG2000ImageIO::JPEG2000ImageIO() + this->m_Internal->m_TileStartX = 0; + this->m_Internal->m_TileStartY = 0; + +- this->m_Internal->m_NumberOfTilesInX = 0; +- this->m_Internal->m_NumberOfTilesInY = 0; ++ this->m_Internal->m_NumberOfTiles = 0; + + const char * extensions[] = { ".j2k", ".jp2", ".jpt" }; + +@@ -139,22 +135,16 @@ JPEG2000ImageIO::ReadImageInformation() + { + itkDebugMacro("ReadImageInformation()"); + +- FILE * l_file = fopen(this->m_FileName.c_str(), "rb"); +- +- /* decompression parameters */ ++ /* set decoding parameters to default values */ ++ opj_set_default_decoder_parameters(&(this->m_Internal->m_DecompressionParameters)); + +- if (!l_file) ++ opj_stream_t * cio = opj_stream_create_default_file_stream(this->m_FileName.c_str(), true); ++ if (!cio) + { + itkExceptionMacro("JPEG2000ImageIO failed to open file for reading: " << this->GetFileName() << std::endl + << "Reason: " + << itksys::SystemTools::GetLastSystemError()); + } +- +- /* set decoding parameters to default values */ +- opj_set_default_decoder_parameters(&(this->m_Internal->m_DecompressionParameters)); +- +- opj_stream_t * cio = opj_stream_create_default_file_stream(l_file, true); +- + this->m_Internal->m_Dinfo = nullptr; /* handle to a decompressor */ + + opj_image_t * l_image = nullptr; +@@ -187,14 +177,14 @@ JPEG2000ImageIO::ReadImageInformation() + /* JPEG-2000 codestream */ + + /* get a decoder handle */ +- this->m_Internal->m_Dinfo = opj_create_decompress(CODEC_J2K); ++ this->m_Internal->m_Dinfo = opj_create_decompress(OPJ_CODEC_J2K); + if (!this->m_Internal->m_Dinfo) + { + opj_stream_destroy(cio); +- fclose(l_file); ++ // fclose(l_file); + itkExceptionMacro("JPEG2000ImageIO failed to read file: " + << this->GetFileName() << std::endl +- << "Reason: opj_create_decompress(CODEC_J2K) returns nullptr"); ++ << "Reason: opj_create_decompress(OPJ_CODEC_J2K) returns nullptr"); + } + break; + } +@@ -202,14 +192,14 @@ JPEG2000ImageIO::ReadImageInformation() + { + /* JPEG 2000 compressed image data */ + /* get a decoder handle */ +- this->m_Internal->m_Dinfo = opj_create_decompress(CODEC_JP2); ++ this->m_Internal->m_Dinfo = opj_create_decompress(OPJ_CODEC_JP2); + if (!this->m_Internal->m_Dinfo) + { + opj_stream_destroy(cio); +- fclose(l_file); ++ // fclose(l_file); + itkExceptionMacro("JPEG2000ImageIO failed to read file: " + << this->GetFileName() << std::endl +- << "Reason: opj_create_decompress(CODEC_JP2) returns nullptr"); ++ << "Reason: opj_create_decompress(OPJ_CODEC_JP2) returns nullptr"); + } + break; + } +@@ -217,20 +207,19 @@ JPEG2000ImageIO::ReadImageInformation() + { + /* JPEG 2000, JPIP */ + /* get a decoder handle */ +- this->m_Internal->m_Dinfo = opj_create_decompress(CODEC_JPT); ++ this->m_Internal->m_Dinfo = opj_create_decompress(OPJ_CODEC_JPT); + if (!this->m_Internal->m_Dinfo) + { + opj_stream_destroy(cio); +- fclose(l_file); ++ // fclose(l_file); + itkExceptionMacro("JPEG2000ImageIO failed to read file: " + << this->GetFileName() << std::endl +- << "Reason: opj_create_decompress(CODEC_JPT) returns nullptr"); ++ << "Reason: opj_create_decompress(OPJ_CODEC_JPT) returns nullptr"); + } + break; + } + default: + opj_stream_destroy(cio); +- fclose(l_file); + itkExceptionMacro("JPEG2000ImageIO failed to read file: " + << this->GetFileName() << std::endl + << "Reason: " +@@ -247,27 +236,11 @@ JPEG2000ImageIO::ReadImageInformation() + << "Reason: opj_setup_decoder returns false"); + } + +- // Image parameters - first tile +- OPJ_INT32 l_tile_x0; +- OPJ_INT32 l_tile_y0; + +- // Image parameters - tile width, height and number of tiles +- OPJ_UINT32 l_tile_width; +- OPJ_UINT32 l_tile_height; +- OPJ_UINT32 l_nb_tiles_x; +- OPJ_UINT32 l_nb_tiles_y; + + itkDebugMacro("Trying to read header now..."); + +- bResult = opj_read_header(this->m_Internal->m_Dinfo, +- &l_image, +- &l_tile_x0, +- &l_tile_y0, +- &l_tile_width, +- &l_tile_height, +- &l_nb_tiles_x, +- &l_nb_tiles_y, +- cio); ++ bResult = opj_read_header(cio, this->m_Internal->m_Dinfo, &l_image); + + if (!bResult) + { +@@ -283,14 +256,22 @@ JPEG2000ImageIO::ReadImageInformation() + << "Reason: Error whle reading image header"); + } + ++ // Image parameters - first tile ++ OPJ_INT32 l_tile_x0=l_image->x0; ++ OPJ_INT32 l_tile_y0=l_image->y0; ++ ++ // Image parameters - tile width, height and number of tiles ++ OPJ_UINT32 l_tile_width=l_image->x1; ++ OPJ_UINT32 l_tile_height=l_image->y1; ++ OPJ_UINT32 l_nb_tiles=l_image->numcomps; ++ + this->m_Internal->m_TileStartX = l_tile_x0; + this->m_Internal->m_TileStartY = l_tile_y0; + + this->m_Internal->m_TileWidth = l_tile_width; + this->m_Internal->m_TileHeight = l_tile_height; + +- this->m_Internal->m_NumberOfTilesInX = l_nb_tiles_x; +- this->m_Internal->m_NumberOfTilesInY = l_nb_tiles_y; ++ this->m_Internal->m_NumberOfTiles = l_nb_tiles; + + + itkDebugMacro("Number of Components = " << l_image->numcomps); +@@ -319,7 +300,7 @@ JPEG2000ImageIO::ReadImageInformation() + this->SetPixelType(IOPixelEnum::SCALAR); + break; + case 3: +- if (l_image->color_space != CLRSPC_SRGB) ++ if (l_image->color_space != OPJ_CLRSPC_SRGB) + { + itkWarningMacro("file does not specify color space, assuming sRGB"); + } +@@ -335,8 +316,7 @@ JPEG2000ImageIO::ReadImageInformation() + itkDebugMacro("Tile Start Y = " << this->m_Internal->m_TileStartY); + itkDebugMacro("Tile Width = " << this->m_Internal->m_TileWidth); + itkDebugMacro("Tile Height = " << this->m_Internal->m_TileHeight); +- itkDebugMacro("Number of Tiles X = " << this->m_Internal->m_NumberOfTilesInX); +- itkDebugMacro("Number of Tiles Y = " << this->m_Internal->m_NumberOfTilesInY); ++ itkDebugMacro("Number of Tiles = " << this->m_Internal->m_NumberOfTiles); + + itkDebugMacro("image->x1 = " << l_image->x1); + itkDebugMacro("image->y1 = " << l_image->y1); +@@ -349,7 +329,6 @@ JPEG2000ImageIO::ReadImageInformation() + + /* close the byte stream */ + opj_stream_destroy(cio); +- fclose(l_file); + + if (this->m_Internal->m_Dinfo) + { +@@ -368,16 +347,7 @@ JPEG2000ImageIO::Read(void * buffer) + { + itkDebugMacro("JPEG2000ImageIO::Read() Begin"); + +- FILE * l_file = fopen(this->m_FileName.c_str(), "rb"); +- +- if (!l_file) +- { +- itkExceptionMacro("JPEG2000ImageIO failed to open file for reading: " << this->GetFileName() << std::endl +- << "Reason: " +- << itksys::SystemTools::GetLastSystemError()); +- } +- +- opj_stream_t * l_stream = opj_stream_create_default_file_stream(l_file, true); ++ opj_stream_t * l_stream = opj_stream_create_default_file_stream(this->m_FileName.c_str(), true); + if (!l_stream) + { + itkExceptionMacro("JPEG2000ImageIO failed to read file: " +@@ -397,12 +367,13 @@ JPEG2000ImageIO::Read(void * buffer) + { + /* JPEG-2000 codestream */ + /* get a decoder handle */ +- this->m_Internal->m_Dinfo = opj_create_decompress(CODEC_J2K); ++ this->m_Internal->m_Dinfo = opj_create_decompress(OPJ_CODEC_J2K); + if (!this->m_Internal->m_Dinfo) + { ++ opj_stream_destroy(l_stream); + itkExceptionMacro("JPEG2000ImageIO failed to read file: " + << this->GetFileName() << std::endl +- << "Reason: opj_create_decompress(CODEC_J2K) returns nullptr"); ++ << "Reason: opj_create_decompress(OPJ_CODEC_J2K) returns nullptr"); + } + break; + } +@@ -410,12 +381,13 @@ JPEG2000ImageIO::Read(void * buffer) + { + /* JPEG 2000 compressed image data */ + /* get a decoder handle */ +- this->m_Internal->m_Dinfo = opj_create_decompress(CODEC_JP2); ++ this->m_Internal->m_Dinfo = opj_create_decompress(OPJ_CODEC_JP2); + if (!this->m_Internal->m_Dinfo) + { ++ opj_stream_destroy(l_stream); + itkExceptionMacro("JPEG2000ImageIO failed to read file: " + << this->GetFileName() << std::endl +- << "Reason: opj_create_decompress(CODEC_JP2) returns nullptr"); ++ << "Reason: opj_create_decompress(OPJ_CODEC_JP2) returns nullptr"); + } + break; + } +@@ -423,17 +395,18 @@ JPEG2000ImageIO::Read(void * buffer) + { + /* JPEG 2000, JPIP */ + /* get a decoder handle */ +- this->m_Internal->m_Dinfo = opj_create_decompress(CODEC_JPT); ++ this->m_Internal->m_Dinfo = opj_create_decompress(OPJ_CODEC_JPT); + if (!this->m_Internal->m_Dinfo) + { ++ opj_stream_destroy(l_stream); + itkExceptionMacro("JPEG2000ImageIO failed to read file: " + << this->GetFileName() << std::endl +- << "Reason: opj_create_decompress(CODEC_JPT) returns nullptr"); ++ << "Reason: opj_create_decompress(OPJ_CODEC_JPT) returns nullptr"); + } + break; + } + default: +- fclose(l_file); ++ opj_stream_destroy(l_stream); + itkExceptionMacro("JPEG2000ImageIO failed to read file: " + << this->GetFileName() << std::endl + << "Reason: " +@@ -448,29 +421,13 @@ JPEG2000ImageIO::Read(void * buffer) + << "Reason: opj_setup_decoder returns false"); + } + +- OPJ_INT32 l_tile_x0, l_tile_y0; +- +- OPJ_UINT32 l_tile_width; +- OPJ_UINT32 l_tile_height; +- OPJ_UINT32 l_nb_tiles_x; +- OPJ_UINT32 l_nb_tiles_y; +- +- bool bResult = opj_read_header(this->m_Internal->m_Dinfo, +- &l_image, +- &l_tile_x0, +- &l_tile_y0, +- &l_tile_width, +- &l_tile_height, +- &l_nb_tiles_x, +- &l_nb_tiles_y, +- l_stream); ++ bool bResult = opj_read_header(l_stream, this->m_Internal->m_Dinfo,&l_image); + + if (!bResult) + { + opj_destroy_codec(this->m_Internal->m_Dinfo); + this->m_Internal->m_Dinfo = nullptr; + opj_stream_destroy(l_stream); +- fclose(l_file); + itkExceptionMacro("JPEG2000ImageIO failed to read file: " << this->GetFileName() << std::endl + << "Reason: opj_read_header returns false"); + } +@@ -499,7 +456,7 @@ JPEG2000ImageIO::Read(void * buffer) + itkDebugMacro("p_end_x = " << p_end_x); + itkDebugMacro("p_end_y = " << p_end_y); + +- bResult = opj_set_decode_area(this->m_Internal->m_Dinfo, p_start_x, p_start_y, p_end_x, p_end_y); ++ bResult = opj_set_decode_area(this->m_Internal->m_Dinfo, l_image, p_start_x, p_start_y, p_end_x, p_end_y); + + itkDebugMacro("opj_set_decode_area() after"); + +@@ -508,7 +465,6 @@ JPEG2000ImageIO::Read(void * buffer) + opj_destroy_codec(this->m_Internal->m_Dinfo); + this->m_Internal->m_Dinfo = nullptr; + opj_stream_destroy(l_stream); +- fclose(l_file); + itkExceptionMacro("JPEG2000ImageIO failed to read file: " << this->GetFileName() << std::endl + << "Reason: opj_set_decode_area returns false"); + } +@@ -525,13 +481,13 @@ JPEG2000ImageIO::Read(void * buffer) + + OPJ_UINT32 l_max_data_size = 1000; + +- bool l_go_on = true; ++ int l_go_on = true; // should be OBJ_BOOL + + auto * l_data = (OPJ_BYTE *)malloc(1000); + + while (l_go_on) + { +- bool tileHeaderRead = opj_read_tile_header(this->m_Internal->m_Dinfo, ++ bool tileHeaderRead = opj_read_tile_header(this->m_Internal->m_Dinfo, l_stream, + &l_tile_index, + &l_data_size, + &l_current_tile_x0, +@@ -539,14 +495,12 @@ JPEG2000ImageIO::Read(void * buffer) + &l_current_tile_x1, + &l_current_tile_y1, + &l_nb_comps, +- &l_go_on, +- l_stream); ++ &l_go_on); + + if (!tileHeaderRead) + { + free(l_data); + opj_stream_destroy(l_stream); +- fclose(l_file); + opj_destroy_codec(this->m_Internal->m_Dinfo); + opj_image_destroy(l_image); + itkExceptionMacro("JPEG2000ImageIO failed to read file: " << this->GetFileName() << std::endl +@@ -571,7 +525,6 @@ JPEG2000ImageIO::Read(void * buffer) + if (!l_data) + { + opj_stream_destroy(l_stream); +- fclose(l_file); + opj_destroy_codec(this->m_Internal->m_Dinfo); + opj_image_destroy(l_image); + itkExceptionMacro("JPEG2000ImageIO failed to read file: " << this->GetFileName() << std::endl +@@ -590,7 +543,6 @@ JPEG2000ImageIO::Read(void * buffer) + { + free(l_data); + opj_stream_destroy(l_stream); +- fclose(l_file); + opj_destroy_codec(this->m_Internal->m_Dinfo); + opj_image_destroy(l_image); + itkExceptionMacro("JPEG2000ImageIO failed to read file: " << this->GetFileName() << std::endl +@@ -654,7 +606,6 @@ JPEG2000ImageIO::Read(void * buffer) + { + free(l_data); + opj_stream_destroy(l_stream); +- fclose(l_file); + opj_destroy_codec(this->m_Internal->m_Dinfo); + opj_image_destroy(l_image); + itkExceptionMacro("JPEG2000ImageIO failed to read file: " << this->GetFileName() << std::endl +@@ -666,14 +617,12 @@ JPEG2000ImageIO::Read(void * buffer) + opj_destroy_codec(this->m_Internal->m_Dinfo); + this->m_Internal->m_Dinfo = nullptr; + opj_stream_destroy(l_stream); +- fclose(l_file); + itkExceptionMacro("JPEG2000ImageIO failed to read file: " << this->GetFileName() << std::endl + << "Reason: error whle reading image"); + } + + /* close the byte stream */ + opj_stream_destroy(l_stream); +- fclose(l_file); + + if (this->m_Internal->m_Dinfo) + { +@@ -842,13 +791,13 @@ JPEG2000ImageIO::Write(const void * buffer) + + parameters.numresolution = numberOfResolutions; + +- OPJ_COLOR_SPACE color_space = CLRSPC_GRAY; ++ OPJ_COLOR_SPACE color_space = OPJ_CLRSPC_GRAY; + opj_image_cmptparm_t cmptparms[3]; + + if (this->GetNumberOfComponents() == 3) + { + +- color_space = (this->GetPixelType() == IOPixelEnum::RGB) ? CLRSPC_SRGB : CLRSPC_UNSPECIFIED; ++ color_space = (this->GetPixelType() == IOPixelEnum::RGB) ? OPJ_CLRSPC_SRGB : OPJ_CLRSPC_UNSPECIFIED; + + /* initialize image components */ + memset(&cmptparms[0], 0, 3 * sizeof(opj_image_cmptparm_t)); +@@ -866,7 +815,7 @@ JPEG2000ImageIO::Write(const void * buffer) + + if (this->GetNumberOfComponents() == 1) + { +- color_space = CLRSPC_GRAY; ++ color_space = OPJ_CLRSPC_GRAY; + + /* initialize image components */ + memset(&cmptparms[0], 0, sizeof(opj_image_cmptparm_t)); +@@ -942,32 +891,32 @@ JPEG2000ImageIO::Write(const void * buffer) + opj_codec_t * cinfo = nullptr; + if (extension == ".j2k") + { +- cinfo = opj_create_compress(CODEC_J2K); ++ cinfo = opj_create_compress(OPJ_CODEC_J2K); + if (!cinfo) + { + itkExceptionMacro("JPEG2000ImageIO failed to write file: " + << this->GetFileName() << std::endl +- << "Reason: opj_create_compress(CODEC_J2K) returns nullptr"); ++ << "Reason: opj_create_compress(OPJ_CODEC_J2K) returns nullptr"); + } + } + else if (extension == ".jp2") + { +- cinfo = opj_create_compress(CODEC_JP2); ++ cinfo = opj_create_compress(OPJ_CODEC_JP2); + if (!cinfo) + { + itkExceptionMacro("JPEG2000ImageIO failed to write file: " + << this->GetFileName() << std::endl +- << "Reason: opj_create_compress(CODEC_JP2) returns nullptr"); ++ << "Reason: opj_create_compress(OPJ_CODEC_JP2) returns nullptr"); + } + } + else if (extension == ".jpt") + { +- cinfo = opj_create_compress(CODEC_JPT); ++ cinfo = opj_create_compress(OPJ_CODEC_JPT); + if (!cinfo) + { + itkExceptionMacro("JPEG2000ImageIO failed to write file: " + << this->GetFileName() << std::endl +- << "Reason: opj_create_compress(CODEC_JPT) returns nullptr"); ++ << "Reason: opj_create_compress(OPJ_CODEC_JPT) returns nullptr"); + } + } + else +@@ -991,17 +940,9 @@ JPEG2000ImageIO::Write(const void * buffer) + << "Reason: opj_setup_encoder returns false"); + } + +- FILE * l_file = fopen(parameters.outfile, "wb"); +- if (!l_file) +- { +- itkExceptionMacro("JPEG2000ImageIO failed to open file for writing: " << this->GetFileName() << std::endl +- << "Reason: " +- << itksys::SystemTools::GetLastSystemError()); +- } +- + /* open a byte stream for writing */ + /* allocate memory for all tiles */ +- opj_stream_t * cio = opj_stream_create_default_file_stream(l_file, false); ++ opj_stream_t * cio = opj_stream_create_default_file_stream(parameters.outfile, false); + if (!cio) + { + itkExceptionMacro("JPEG2000ImageIO failed to write file: " +@@ -1019,8 +960,7 @@ JPEG2000ImageIO::Write(const void * buffer) + if (!bSuccess) + { + opj_stream_destroy(cio); +- fclose(l_file); +- itkExceptionMacro("JPEG2000ImageIO failed to write file: " << this->GetFileName() << std::endl ++ itkExceptionMacro("JPEG2000ImageIO failed to write file: " << this->GetFileName() << std::endl + << "Reason: opj_start_compress returns false"); + } + +@@ -1028,7 +968,6 @@ JPEG2000ImageIO::Write(const void * buffer) + if (!bSuccess) + { + opj_stream_destroy(cio); +- fclose(l_file); + itkExceptionMacro("JPEG2000ImageIO failed to write file: " << this->GetFileName() << std::endl + << "Reason: opj_encode returns false"); + } +@@ -1037,14 +976,12 @@ JPEG2000ImageIO::Write(const void * buffer) + if (!bSuccess) + { + opj_stream_destroy(cio); +- fclose(l_file); + itkExceptionMacro("JPEG2000ImageIO failed to write file: " << this->GetFileName() << std::endl + << "Reason: opj_end_compress returns false"); + } + + /* close and free the byte stream */ + opj_stream_destroy(cio); +- fclose(l_file); + + /* free remaining compression structures */ + opj_destroy_codec(cinfo); +diff --git a/Modules/ThirdParty/OpenJPEG/src/itk_openjpeg.h b/Modules/ThirdParty/OpenJPEG/src/itk_openjpeg.h +index 2ad0009..77a48c5 100644 +--- a/Modules/ThirdParty/OpenJPEG/src/itk_openjpeg.h ++++ b/Modules/ThirdParty/OpenJPEG/src/itk_openjpeg.h +@@ -25,6 +25,6 @@ + #ifndef itk_openjpeg_h + #define itk_openjpeg_h + +-#include ++#include + + #endif diff --git a/ports/itk/openjpeg2.patch b/ports/itk/openjpeg2.patch deleted file mode 100644 index 86631f5f99b2db..00000000000000 --- a/ports/itk/openjpeg2.patch +++ /dev/null @@ -1,58 +0,0 @@ -diff --git a/Modules/ThirdParty/GDCM/src/gdcm/Utilities/gdcmopenjpeg/CMakeLists.txt b/Modules/ThirdParty/GDCM/src/gdcm/Utilities/gdcmopenjpeg/CMakeLists.txt -index 565cc338b..c061f0721 100644 ---- a/Modules/ThirdParty/GDCM/src/gdcm/Utilities/gdcmopenjpeg/CMakeLists.txt -+++ b/Modules/ThirdParty/GDCM/src/gdcm/Utilities/gdcmopenjpeg/CMakeLists.txt -@@ -194,7 +194,7 @@ mark_as_advanced(LIBRARY_OUTPUT_PATH EXECUTABLE_OUTPUT_PATH) - # configure name mangling to allow multiple libraries to coexist - # peacefully - if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/openjpeg_mangle.h.in) --set(MANGLE_PREFIX ${OPENJPEG_LIBRARY_NAME}) -+set(MANGLE_PREFIX) - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/openjpeg_mangle.h.in - ${CMAKE_CURRENT_BINARY_DIR}/openjpeg_mangle.h - @ONLY) -diff --git a/Modules/ThirdParty/GDCM/src/gdcm/Utilities/gdcmopenjpeg/src/lib/openjp2/CMakeLists.txt b/Modules/ThirdParty/GDCM/src/gdcm/Utilities/gdcmopenjpeg/src/lib/openjp2/CMakeLists.txt -index c4adb91a2..89b731d88 100644 ---- a/Modules/ThirdParty/GDCM/src/gdcm/Utilities/gdcmopenjpeg/src/lib/openjp2/CMakeLists.txt -+++ b/Modules/ThirdParty/GDCM/src/gdcm/Utilities/gdcmopenjpeg/src/lib/openjp2/CMakeLists.txt -@@ -3,7 +3,7 @@ include_regular_expression("^.*$") - # configure name mangling to allow multiple libraries to coexist - # peacefully - if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/openjpeg_mangle.h.in) --set(MANGLE_PREFIX ${OPENJPEG_LIBRARY_NAME}) -+set(MANGLE_PREFIX) - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/openjpeg_mangle.h.in - ${CMAKE_CURRENT_BINARY_DIR}/openjpeg_mangle.h - @ONLY) -diff --git a/Modules/ThirdParty/OpenJPEG/CMakeLists.txt b/Modules/ThirdParty/OpenJPEG/CMakeLists.txt -index 3811e52f4..a41e9264e 100644 ---- a/Modules/ThirdParty/OpenJPEG/CMakeLists.txt -+++ b/Modules/ThirdParty/OpenJPEG/CMakeLists.txt -@@ -8,10 +8,10 @@ if(ITK_USE_SYSTEM_OpenJPEG) - else() - message(FATAL_ERROR "OpenJPEG target openjp2 missing!") - endif() -- set(ITKOpenJPEG_INCLUDE_DIRS -- ${ITKOpenJPEG_BINARY_DIR}/src/openjpeg -- ${ITKOpenJPEG_SOURCE_DIR}/src/openjpeg -- ) -+ # set(ITKOpenJPEG_INCLUDE_DIRS -+ # ${ITKOpenJPEG_BINARY_DIR}/src/openjpeg -+ # ${ITKOpenJPEG_SOURCE_DIR}/src/openjpeg -+ # ) - else() - set(ITKOpenJPEG_INCLUDE_DIRS - ${ITKOpenJPEG_BINARY_DIR}/src/openjpeg -diff --git a/Modules/ThirdParty/OpenJPEG/src/openjpeg/CMakeLists.txt b/Modules/ThirdParty/OpenJPEG/src/openjpeg/CMakeLists.txt -index e62e43eda..35dc89976 100644 ---- a/Modules/ThirdParty/OpenJPEG/src/openjpeg/CMakeLists.txt -+++ b/Modules/ThirdParty/OpenJPEG/src/openjpeg/CMakeLists.txt -@@ -68,7 +68,7 @@ CONFIGURE_FILE(${ITK3P_OpenJPEG_SOURCE_DIR}/opj_configure.h.in - # configure name mangling to allow multiple libraries to coexist - # peacefully - if(EXISTS ${ITK3P_OpenJPEG_SOURCE_DIR}/openjpeg_mangle.h.in) --set(MANGLE_PREFIX itk) -+#set(MANGLE_PREFIX itk) - configure_file(${ITK3P_OpenJPEG_SOURCE_DIR}/openjpeg_mangle.h.in - ${ITK3P_OpenJPEG_BINARY_DIR}/openjpeg_mangle.h - @ONLY) diff --git a/ports/itk/portfile.cmake b/ports/itk/portfile.cmake index 3604a1db86431c..12c3c5865e7837 100644 --- a/ports/itk/portfile.cmake +++ b/ports/itk/portfile.cmake @@ -1,27 +1,75 @@ vcpkg_buildpath_length_warning(37) +vcpkg_download_distfile(PYTHON_GPU_WRAPPING_PATCH + URLS https://github.com/InsightSoftwareConsortium/ITK/commit/e9b3d24f782a42f5586169e048b8d289f869d78a.diff?full_index=1 + FILENAME InsightSoftwareConsortium-ITK-python-gpu-wrapping.patch + SHA512 71526320547b0eb5d0c0e0088e92ff60ba06462b82c531c79784d766361805970d9cad550660c7c85b953ec546b32c181aeab5d9f6d4142764d6f765106982a0 +) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO InsightSoftwareConsortium/ITK REF "v${VERSION}" - SHA512 48e38864d7cd20b4ff23cfca1a29b4cbf453ce842e037ca473ce5c7e9a5b1c0bf6b12e4c544c812bff2b4bb9feca409587175b6570929c9ac172cb4402d679da + #[[ + When updating the ITK version and SHA512, remember to update the remote module versions below. + #]] + SHA512 3a98ececf258aac545f094dd3e97918c93cc82bc623ddf793c4bf0162ab06c83fbfd4d08130bdec6e617bda85dd17225488bc1394bc91b17f1232126a5d990db HEAD_REF master PATCHES - double-conversion.patch + dependencies.diff + fftw.diff openjpeg.patch - openjpeg2.patch var_libraries.patch wrapping.patch - opencl.patch use-the-lrintf-intrinsic.patch dont-build-gtest.patch - cxx17.patch # See https://github.com/InsightSoftwareConsortium/ITK/issues/4213#issuecomment-1722547712 + "${PYTHON_GPU_WRAPPING_PATCH}" +) +file(REMOVE_RECURSE + "${SOURCE_PATH}/CMake/FindOpenCL.cmake" + "${SOURCE_PATH}/Modules/ThirdParty/GDCM/src" + "${SOURCE_PATH}/Modules/ThirdParty/OpenJPEG/src/openjpeg" + "${SOURCE_PATH}/Modules/ThirdParty/VNL/src" ) +if("cuda" IN_LIST FEATURES) + vcpkg_from_github( + OUT_SOURCE_PATH RTK_SOURCE_PATH + REPO RTKConsortium/ITKCudaCommon + # Cf. Modules/Remote/CudaCommon.remote.cmake + REF 0c20c4ef10d81910c8b2ac4e8446a1544fce3b60 + SHA512 0eb1a6fe85e695345a49887cdd65103bedab72e01ae85ed03e16a8a296c6cb69a8d889a57b22dde7fcc69df4f604c274b04234c8ece306d08361fac5db029069 + HEAD_REF master + ) + file(REMOVE_RECURSE "${SOURCE_PATH}/Modules/Remote/CudaCommon") + file(RENAME "${RTK_SOURCE_PATH}" "${SOURCE_PATH}/Modules/Remote/CudaCommon") + file(COPY_FILE "${SOURCE_PATH}/Modules/Remote/CudaCommon/LICENSE" "${SOURCE_PATH}/CudaCommon LICENSE") +endif() + +if("rtk" IN_LIST FEATURES) + # (old hint, not verified) RTK + CUDA + PYTHON + dynamic library linkage will fail and needs upstream fixes. + # RTK's ITK module must be built with ITK. + vcpkg_from_github( + OUT_SOURCE_PATH RTK_SOURCE_PATH + REPO RTKConsortium/RTK + # Cf. Modules/Remote/RTK.remote.cmake + REF bfdca5b6b666b4f08f2f7d8039af11a15cc3f831 + SHA512 10a21fb4b82aa820e507e81a6b6a3c1aaee2ea1edf39364dc1c8d54e6b11b91f22d9993c0b56c0e8e20b6d549fcd6104de4e1c5e664f9ff59f5f93935fb5225a + HEAD_REF master + PATCHES + rtk/cmp0153.diff + rtk/getopt-win32.diff + ) + file(REMOVE_RECURSE "${SOURCE_PATH}/Modules/Remote/RTK") + file(RENAME "${RTK_SOURCE_PATH}" "${SOURCE_PATH}/Modules/Remote/RTK") + file(COPY_FILE "${SOURCE_PATH}/Modules/Remote/RTK/COPYRIGHT.TXT" "${SOURCE_PATH}/RTK COPYRIGHT.TXT") +endif() + vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES "vtk" Module_ITKVtkGlue - "cuda" Module_ITKCudaCommon # Requires RTK? + "cuda" Module_CudaCommon # Requires RTK? + "cuda" RTK_USE_CUDA #"cuda" CUDA_HAVE_GPU # Automatically set by FindCUDA? "cufftw" ITK_USE_CUFFTW "opencl" ITK_USE_GPU @@ -34,42 +82,19 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS ) if("cufftw" IN_LIST FEATURES) - # Alternativly set CUFFT_LIB and CUFFTW_LIB - if(WIN32) - file(TO_CMAKE_PATH "$ENV{CUDA_PATH}" CUDA_PATH) - set(CUDA_LIB_PATH "${CUDA_PATH}") - - if(VCPKG_TARGET_ARCHITECTURE STREQUAL x64) - string(APPEND CUDA_LIB_PATH "/lib/x64") - elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL x86) - string(APPEND CUDA_LIB_PATH "/lib/Win32") - message(FATAL_ERROR "CUFFTW is not supported on architecture ${VCPKG_TARGET_ARCHITECTURE}") - else() - message(FATAL_ERROR "Architecture ${VCPKG_TARGET_ARCHITECTURE} not supported !") - endif() - - list(APPEND ADDITIONAL_OPTIONS - "-DFFTW_LIB_SEARCHPATH=${CUDA_LIB_PATH}" - "-DFFTW_INCLUDE_PATH=${CUDA_PATH}/include" - "-DCUFFTW_INCLUDE_PATH=${CUDA_PATH}/include" - ) - endif() + vcpkg_find_cuda(OUT_CUDA_TOOLKIT_ROOT cuda_toolkit_root) + list(APPEND ADDITIONAL_OPTIONS + "-DCUDAToolkit_ROOT=${cuda_toolkit_root}" + ) endif() -if("rtk" IN_LIST FEATURES) - if(VCPKG_TARGET_ARCHITECTURE STREQUAL x86) - message(FATAL_ERROR "RTK is not supported on architecture ${VCPKG_TARGET_ARCHITECTURE}") - endif() - SET(BUILD_RTK ON) +if("fftw" IN_LIST FEATURES) + # Never set these options to OFF: dual use with feature 'cufftw' list(APPEND ADDITIONAL_OPTIONS - "-DModule_RTK_GIT_TAG=8099212f715231d093f7d6a1114daecf45d871ed" # RTK latest versions (11.05.2020) - ) - if("cuda" IN_LIST FEATURES) - list(APPEND ADDITIONAL_OPTIONS "-DRTK_USE_CUDA=ON") - #RTK + CUDA + PYTHON + dynamic library linkage will fail and needs upstream fixes. - endif() + -DITK_USE_FFTWD=ON + -DITK_USE_FFTWF=ON + ) endif() -file(REMOVE_RECURSE "${SOURCE_PATH}/Modules/Remote/RTK") if("opencl" IN_LIST FEATURES) list(APPEND ADDITIONAL_OPTIONS # Wrapping options required by OpenCL if build with Python Wrappers @@ -77,8 +102,8 @@ if("opencl" IN_LIST FEATURES) -DITK_WRAP_signed_long_long=ON ) endif() -if("tools" IN_LIST FEATURES) +if("tools" IN_LIST FEATURES) if("rtk" IN_LIST FEATURES) list(APPEND TOOL_NAMES rtkadmmtotalvariation rtkadmmwavelets rtkamsterdamshroud rtkbackprojections rtkbioscangeometry rtkcheckimagequality rtkconjugategradient rtkdigisensgeometry rtkdrawgeometricphantom rtkdrawshepploganphantom rtkdualenergysimplexdecomposition rtkelektasynergygeometry rtkextractphasesignal @@ -91,26 +116,57 @@ if("tools" IN_LIST FEATURES) rtkwangdisplaceddetectorweighting rtkwarpedbackprojectsequence rtkwarpedforwardprojectsequence rtkwaveletsdenoising rtkxradgeometry) endif() endif() -if("vtk" IN_LIST FEATURES) - vcpkg_find_acquire_program(PYTHON3) + +if("vtk" IN_LIST FEATURES AND EXISTS "${CURRENT_INSTALLED_DIR}/share/vtk/VTKPython-targets.cmake") + # 'vtk[python]' is built using the installed 'python3'. + # For 'find_package(vtk)', itk needs to provide the same version of python. + # Here, it is a purely *transitive* dependency via 'vtk[python]'. + include("${CURRENT_INSTALLED_DIR}/share/python3/vcpkg-port-config.cmake") + vcpkg_get_vcpkg_installed_python(PYTHON3) list(APPEND ADDITIONAL_OPTIONS - "-DPython3_EXECUTABLE:PATH=${PYTHON3}" # Required by mvtk if vtk[python] was build - ) + "-DPython3_EXECUTABLE:PATH=${PYTHON3}" + ) endif() + if("python" IN_LIST FEATURES) message(STATUS "${PORT} builds a long time (>1h) with python wrappers enabled!") - vcpkg_find_acquire_program(PYTHON3) - vcpkg_find_acquire_program(SWIG) # Swig is only required for wrapping! - get_filename_component(SWIG_DIR "${SWIG}" DIRECTORY) + vcpkg_get_vcpkg_installed_python(PYTHON3) list(APPEND ADDITIONAL_OPTIONS -DITK_WRAP_PYTHON=ON + -DITK_USE_SYSTEM_CASTXML=ON + "-DCASTXML_EXECUTABLE=${CURRENT_HOST_INSTALLED_DIR}/tools/castxml/bin/castxml${VCPKG_HOST_EXECUTABLE_SUFFIX}" -DPython3_FIND_REGISTRY=NEVER "-DPython3_EXECUTABLE:PATH=${PYTHON3}" # Required by more than one feature - "-DSWIG_EXECUTABLE=${SWIG}" - "-DSWIG_DIR=${SWIG_DIR}" - ) + ) #ITK_PYTHON_SITE_PACKAGES_SUFFIX should be set to the install dir of the site-packages within vcpkg + + vcpkg_find_acquire_program(SWIG) # Swig is only required for wrapping! + vcpkg_execute_required_process( + COMMAND "${SWIG}" -version + OUTPUT_VARIABLE swig_version + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}" + LOGNAME "swig-version-${TARGET_TRIPLET}" + ) + string(REGEX REPLACE ".*Version ([0-9.]*).*" "\\1" swig_version "${swig_version}") + set(swig_expected "4.2.0") + if(swig_version VERSION_GREATER_EQUAL swig_expected) + vcpkg_execute_required_process( + COMMAND "${SWIG}" -swiglib + OUTPUT_VARIABLE swiglib + OUTPUT_STRIP_TRAILING_WHITESPACE + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}" + LOGNAME "swiglib-${TARGET_TRIPLET}" + ) + list(APPEND ADDITIONAL_OPTIONS + -DITK_USE_SYSTEM_SWIG=ON + "-DSWIG_EXECUTABLE=${SWIG}" + "-DSWIG_DIR=${swiglib}" + ) + else() + message(WARNING "Found swig ${swig_version}, but TK needs ${swig_expected}. A binary will be downloaded.") + endif() endif() + if("opencv" IN_LIST FEATURES) message(STATUS "${PORT} includes the ITKVideoBridgeOpenCV") list(APPEND ADDITIONAL_OPTIONS @@ -118,20 +174,28 @@ if("opencv" IN_LIST FEATURES) ) endif() +if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_CRT_LINKAGE STREQUAL "static") + list(APPEND ADDITIONAL_OPTIONS + -DITK_MSVC_STATIC_RUNTIME_LIBRARY=ON + -DITK_MSVC_STATIC_CRT=ON + ) +endif() + set(USE_64BITS_IDS OFF) if (VCPKG_TARGET_ARCHITECTURE STREQUAL x64 OR VCPKG_TARGET_ARCHITECTURE STREQUAL arm64) set(USE_64BITS_IDS ON) endif() -file(REMOVE_RECURSE "${SOURCE_PATH}/CMake/FindOpenCL.cmake") vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" DISABLE_PARALLEL_CONFIGURE OPTIONS -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF - -DBUILD_PKGCONFIG_FILES=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON + -DCMAKE_DISABLE_FIND_PACKAGE_Perl=ON -DITK_DOXYGEN_HTML=OFF + -DITK_FORBID_DOWNLOADS=ON -DDO_NOT_INSTALL_ITK_TEST_DRIVER=ON -DITK_SKIP_PATH_LENGTH_CHECKS=ON -DITK_INSTALL_DATA_DIR=share/itk/data @@ -151,22 +215,12 @@ vcpkg_cmake_configure( -DITK_USE_SYSTEM_HDF5=ON # HDF5 was problematic in the past and still is. ITK still has not figured out how to do it correctly! -DITK_USE_SYSTEM_GDCM=ON -DITK_USE_SYSTEM_OpenJPEG=ON # Added by VCPKG - -DITK_USE_SYSTEM_DCMTK=ON - -DDCMTK_USE_ICU=ON - -DITK_USE_SYSTEM_ICU=ON - #-DITK_USE_SYSTEM_VXL=ON + -DITK_USE_SYSTEM_VXL=ON #-DITK_USE_SYSTEM_CASTXML=ON # needs to be added to vcpkg_find_acquire_program https://data.kitware.com/api/v1/file/hashsum/sha512/b8b6f0aff11fe89ab2fcd1949cc75f2c2378a7bc408827a004396deb5ff5a9976bffe8a597f8db1b74c886ea39eb905e610dce8f5bd7586a4d6c196d7349da8d/download -DITK_USE_SYSTEM_MINC=ON - -DITK_USE_SYSTEM_SWIG=ON - -DITK_FORBID_DOWNLOADS=OFF # This should be turned on some day, however for now ITK does download specific versions so it shouldn't spontaneously break. Remote Modules would probably break with this! - -DINSTALL_GTEST=OFF -DITK_USE_SYSTEM_GOOGLETEST=ON -DEXECUTABLE_OUTPUT_PATH=tools/${PORT} - # TODO - #-DVXL_USE_GEOTIFF=ON - -DVXL_USE_LFS=ON - -DITK_MINIMUM_COMPLIANCE_LEVEL:STRING=1 # To Display all remote modules within cmake-gui #-DModule_IOSTL=ON # example how to turn on a non-default module #-DModule_MorphologicalContourInterpolation=ON # example how to turn on a remote module @@ -181,13 +235,16 @@ vcpkg_cmake_configure( ${FEATURE_OPTIONS} ${ADDITIONAL_OPTIONS} - OPTIONS_DEBUG ${OPTIONS_DEBUG} - OPTIONS_RELEASE ${OPTIONS_RELEASE} + OPTIONS_DEBUG + -DRTK_BUILD_APPLICATIONS=OFF + + MAYBE_UNUSED_VARIABLES + EXECUTABLE_OUTPUT_PATH + ITK_USE_SYSTEM_FFTW + ITK_USE_SYSTEM_GOOGLETEST + RTK_BUILD_APPLICATIONS + RTK_USE_CUDA ) -if(BUILD_RTK) # Remote Modules are only downloaded on configure. - # TODO: In the future try to download via vcpkg_from_github and move the files. That way patching does not need this workaround - vcpkg_apply_patches(SOURCE_PATH "${SOURCE_PATH}/Modules/Remote/RTK" QUIET PATCHES rtk/already_defined.patch rtk/unresolved.patch rtk/Add-missing-include-for-Cuda.patch) -endif() vcpkg_cmake_install() vcpkg_copy_pdbs() vcpkg_cmake_config_fixup() @@ -196,21 +253,27 @@ if(TOOL_NAMES) vcpkg_copy_tools(TOOL_NAMES ${TOOL_NAMES} AUTO_CLEAN) endif() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/cmake") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/cmake") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(REMOVE "${CURRENT_PACKAGES_DIR}/include/ITK-5.3/vcl_where_root_dir.h") - -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/ITK-5.3/itk_eigen.h" "include(${SOURCE_PATH}/CMake/UseITK.cmake)" "include(UseITK)") -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/ITK-5.3/itk_eigen.h" "message(STATUS \"From ITK: Eigen3_DIR: ${CURRENT_INSTALLED_DIR}/share/eigen3\")" "") +file(REMOVE "${CURRENT_PACKAGES_DIR}/include/ITK-5.4/vcl_where_root_dir.h") if("rtk" IN_LIST FEATURES) - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/ITK-5.3/rtkConfiguration.h" "#define RTK_BINARY_DIR \"${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/Modules/Remote/RTK\"" "") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/ITK-5.3/rtkConfiguration.h" "#define RTK_DATA_ROOT \"${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/ExternalData/Modules/Remote/RTK/test\"" "") - - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/itk/Modules/RTK.cmake" "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel" "\${ITK_INSTALL_PREFIX}") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/itk/Modules/RTK.cmake" "${SOURCE_PATH}/Modules/Remote/RTK/utilities/lp_solve" "\${ITK_INSTALL_PREFIX}/include/RTK/lpsolve") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/ITK-5.4/rtkConfiguration.h" "#define RTK_BINARY_DIR \"${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/Modules/Remote/RTK\"" "") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/ITK-5.4/rtkConfiguration.h" "#define RTK_DATA_ROOT \"${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/ExternalData/Modules/Remote/RTK/test\"" "") endif() -vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") +vcpkg_list(SET file_list + "${SOURCE_PATH}/NOTICE" + "${SOURCE_PATH}/LICENSE" +) +if("cuda" IN_LIST FEATURES) + vcpkg_list(APPEND file_list + "${SOURCE_PATH}/CudaCommon LICENSE" + ) +endif() +if("rtk" IN_LIST FEATURES) + vcpkg_list(APPEND file_list + "${SOURCE_PATH}/RTK COPYRIGHT.TXT" + ) +endif() +vcpkg_install_copyright(FILE_LIST ${file_list}) diff --git a/ports/itk/rtk/Add-missing-include-for-Cuda.patch b/ports/itk/rtk/Add-missing-include-for-Cuda.patch deleted file mode 100644 index df0610eef1e2e7..00000000000000 --- a/ports/itk/rtk/Add-missing-include-for-Cuda.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/src/rtkCudaLagCorrectionImageFilter.cu b/src/rtkCudaLagCorrectionImageFilter.cu -index 8719ee48..5f8abb23 100644 ---- a/src/rtkCudaLagCorrectionImageFilter.cu -+++ b/src/rtkCudaLagCorrectionImageFilter.cu -@@ -114,7 +114,7 @@ CUDA_lag_correction(int proj_idx_in[3], // overlapping input r - cudaMalloc((void **)&d_state, state_size); - if (cudaMemcpy(d_state, h_state, state_size, cudaMemcpyHostToDevice) != cudaSuccess) - { -- std::cout << "Error allocating state" << std::endl; -+ itkGenericExceptionMacro("Error allocating state"); - } - - if (coefficients[8] <= 0.0) -diff --git a/src/rtkCudaPolynomialGainCorrectionImageFilter.cu b/src/rtkCudaPolynomialGainCorrectionImageFilter.cu -index fb7939dd..d0aacc23 100644 ---- a/src/rtkCudaPolynomialGainCorrectionImageFilter.cu -+++ b/src/rtkCudaPolynomialGainCorrectionImageFilter.cu -@@ -111,7 +111,7 @@ CUDA_gain_correction(int proj_idx_in[3], // overlapping input - cudaMalloc((void **)&d_powerlut, lut_size); - if (cudaMemcpy(d_powerlut, h_powerlut, lut_size, cudaMemcpyHostToDevice) != cudaSuccess) - { -- std::cout << "Error allocating state" << std::endl; -+ itkGenericExceptionMacro("Error allocating state"); - } - - cudaMemcpyToSymbol(cst_coef, coefficients, 2 * sizeof(float)); diff --git a/ports/itk/rtk/already_defined.patch b/ports/itk/rtk/already_defined.patch deleted file mode 100644 index 60b75e3eb96127..00000000000000 --- a/ports/itk/rtk/already_defined.patch +++ /dev/null @@ -1,100 +0,0 @@ -diff --git a/include/rtkProjectionGeometry.h b/include/rtkProjectionGeometry.h -index e5831611f..73ed2b74f 100644 ---- a/include/rtkProjectionGeometry.h -+++ b/include/rtkProjectionGeometry.h -@@ -23,6 +23,7 @@ - - #include - -+#include "RTKExport.h" - #include "rtkMacro.h" - - namespace rtk -@@ -67,25 +68,18 @@ public: - * with the i-th matrix provides the physical coordinate on - * the i-th projection. - */ -- const std::vector & -- GetMatrices() const -- { -- return this->m_Matrices; -- } -+ itkGetConstReferenceMacro(Matrices,std::vector) - - /** Get the i-th projection matrix. */ - MatrixType -- GetMatrix(const unsigned int i) const -- { -- return this->m_Matrices[i]; -- } -+ GetMatrix(const unsigned int i) const; - - /** Empty the geometry object. */ - virtual void - Clear(); - - protected: -- ProjectionGeometry() = default; -+ ProjectionGeometry(); - ~ProjectionGeometry() override = default; - - void -@@ -93,11 +87,7 @@ protected: - - /** Add projection matrix */ - virtual void -- AddMatrix(const MatrixType & m) -- { -- this->m_Matrices.push_back(m); -- this->Modified(); -- } -+ AddMatrix(const MatrixType & m); - - private: - /** Projection matrices */ -@@ -105,6 +95,9 @@ private: - }; - } // namespace rtk - --#include "rtkProjectionGeometry.hxx" -+#ifndef ITK_MANUAL_INSTANTIATION -+# include "rtkProjectionGeometry.hxx" -+#endif -+ - - #endif // rtkProjectionGeometry_h -diff --git a/include/rtkProjectionGeometry.hxx b/include/rtkProjectionGeometry.hxx -index 192265812..97dfe8c3a 100644 ---- a/include/rtkProjectionGeometry.hxx -+++ b/include/rtkProjectionGeometry.hxx -@@ -23,6 +23,8 @@ - - namespace rtk - { -+template -+ProjectionGeometry::ProjectionGeometry() = default; - - template - void -@@ -43,6 +45,21 @@ ProjectionGeometry::Clear() - this->Modified(); - } - -+template -+typename ProjectionGeometry::MatrixType -+ProjectionGeometry::GetMatrix(const unsigned int i) const -+{ -+ return this->m_Matrices[i]; -+} -+ -+template -+void -+ProjectionGeometry::AddMatrix(const typename ProjectionGeometry::MatrixType & m) -+{ -+ this->m_Matrices.push_back(m); -+ this->Modified(); -+} -+ - } // namespace rtk - - #endif // rtkProjectionGeometry_hxx diff --git a/ports/itk/rtk/cmp0153.diff b/ports/itk/rtk/cmp0153.diff new file mode 100644 index 00000000000000..74ffca1310ed35 --- /dev/null +++ b/ports/itk/rtk/cmp0153.diff @@ -0,0 +1,12 @@ +diff --git a/cmake/FindGengetopt.cmake b/cmake/FindGengetopt.cmake +index b7bbfcc..9011e41 100644 +--- a/cmake/FindGengetopt.cmake ++++ b/cmake/FindGengetopt.cmake +@@ -72,6 +72,7 @@ macro (WRAP_GGO GGO_SRCS) + set_source_files_properties(${${GGO_SRCS}} PROPERTIES GENERATED TRUE) + if(CMAKE_COMPILER_IS_GNUCXX) + find_program(DEFAULT_GCC gcc) ++ cmake_policy(SET CMP0153 OLD) + exec_program(${DEFAULT_GCC} ARGS "-dumpversion" OUTPUT_VARIABLE GCCVER) + if("${GCCVER}" VERSION_GREATER "4.5.2") + set_source_files_properties(${${GGO_SRCS}} PROPERTIES COMPILE_FLAGS "-Wno-unused-but-set-variable") diff --git a/ports/itk/rtk/getopt-win32.diff b/ports/itk/rtk/getopt-win32.diff new file mode 100644 index 00000000000000..036281871b077e --- /dev/null +++ b/ports/itk/rtk/getopt-win32.diff @@ -0,0 +1,11 @@ +diff --git a/utilities/gengetopt/CMakeLists.txt b/utilities/gengetopt/CMakeLists.txt +index e3f04b2..0f1f1b5 100755 +--- a/utilities/gengetopt/CMakeLists.txt ++++ b/utilities/gengetopt/CMakeLists.txt +@@ -69,3 +69,6 @@ ADD_EXECUTABLE(gengetopt + INCLUDE_DIRECTORIES(.) + INCLUDE_DIRECTORIES(skels) + #INCLUDE_DIRECTORIES(includes) ++if(WIN32) ++ INCLUDE_DIRECTORIES(BEFORE .) # for local getopt.h ++endif() diff --git a/ports/itk/rtk/unresolved.patch b/ports/itk/rtk/unresolved.patch deleted file mode 100644 index e2209ec7574070..00000000000000 --- a/ports/itk/rtk/unresolved.patch +++ /dev/null @@ -1,213 +0,0 @@ -diff --git a/include/rtkDCMImagXImageIO.h b/include/rtkDCMImagXImageIO.h -index 2a70ae046..69abb409e 100644 ---- a/include/rtkDCMImagXImageIO.h -+++ b/include/rtkDCMImagXImageIO.h -@@ -18,7 +18,7 @@ - - #ifndef rtkDCMImagXImageIO_h - #define rtkDCMImagXImageIO_h -- -+#include "RTKExport.h" - #include - - #include "rtkMacro.h" -@@ -32,7 +32,7 @@ namespace rtk - * - * \ingroup RTK - */ --class DCMImagXImageIO : public itk::GDCMImageIO -+class RTK_EXPORT DCMImagXImageIO : public itk::GDCMImageIO - { - public: - ITK_DISALLOW_COPY_AND_ASSIGN(DCMImagXImageIO); -diff --git a/include/rtkEdfImageIO.h b/include/rtkEdfImageIO.h -index 66499c56b..7b16fbc5a 100644 ---- a/include/rtkEdfImageIO.h -+++ b/include/rtkEdfImageIO.h -@@ -18,7 +18,7 @@ - - #ifndef rtkEdfImageIO_h - #define rtkEdfImageIO_h -- -+#include "RTKExport.h" - #include - #include - #include -@@ -36,7 +36,7 @@ namespace rtk - * - * \ingroup RTK IOFilters - */ --class EdfImageIO : public itk::ImageIOBase -+class RTK_EXPORT EdfImageIO : public itk::ImageIOBase - { - public: - ITK_DISALLOW_COPY_AND_ASSIGN(EdfImageIO); -diff --git a/include/rtkHisImageIO.h b/include/rtkHisImageIO.h -index 2ef2005dd..95449b8a6 100644 ---- a/include/rtkHisImageIO.h -+++ b/include/rtkHisImageIO.h -@@ -19,6 +19,8 @@ - #ifndef rtkHisImageIO_h - #define rtkHisImageIO_h - -+#include "RTKExport.h" -+ - // itk include - #include - #include "rtkMacro.h" -@@ -35,7 +37,7 @@ namespace rtk - * - * \ingroup RTK IOFilters - */ --class HisImageIO : public itk::ImageIOBase -+class RTK_EXPORT HisImageIO : public itk::ImageIOBase - { - public: - /** Standard class type alias. */ -diff --git a/include/rtkHncImageIO.h b/include/rtkHncImageIO.h -index 7b9539bde..dc9dca759 100644 ---- a/include/rtkHncImageIO.h -+++ b/include/rtkHncImageIO.h -@@ -19,9 +19,11 @@ - #ifndef rtkHncImageIO_h - #define rtkHncImageIO_h - -+#include "RTKExport.h" -+ - // itk include - #include --#include "itksys/SystemTools.hxx" -+//#include "itksys/SystemTools.hxx" - - #if defined(_MSC_VER) && (_MSC_VER < 1600) - // SR: taken from -@@ -43,7 +45,7 @@ namespace rtk - * - * \ingroup RTK IOFilters - */ --class HncImageIO : public itk::ImageIOBase -+class RTK_EXPORT HncImageIO : public itk::ImageIOBase - { - public: - /** Standard class type alias. */ -diff --git a/include/rtkHncImageIOFactory.h b/include/rtkHncImageIOFactory.h -index 2bca8f77e..1d5a97938 100644 ---- a/include/rtkHncImageIOFactory.h -+++ b/include/rtkHncImageIOFactory.h -@@ -38,7 +38,7 @@ namespace rtk - * - * \ingroup RTK IOFilters - */ --class HncImageIOFactory : public itk::ObjectFactoryBase -+class RTK_EXPORT HncImageIOFactory : public itk::ObjectFactoryBase - { - public: - /** Standard class type alias. */ -diff --git a/include/rtkHndImageIO.h b/include/rtkHndImageIO.h -index 5a07897cc..5f843362a 100644 ---- a/include/rtkHndImageIO.h -+++ b/include/rtkHndImageIO.h -@@ -19,6 +19,8 @@ - #ifndef rtkHndImageIO_h - #define rtkHndImageIO_h - -+#include "RTKExport.h" -+ - // itk include - #include - -@@ -43,7 +45,7 @@ namespace rtk - * - * \ingroup RTK IOFilters - */ --class HndImageIO : public itk::ImageIOBase -+class RTK_EXPORT HndImageIO : public itk::ImageIOBase - { - public: - /** Standard class type alias. */ -diff --git a/include/rtkImagXImageIO.h b/include/rtkImagXImageIO.h -index d69e9a790..d6cc8388e 100644 ---- a/include/rtkImagXImageIO.h -+++ b/include/rtkImagXImageIO.h -@@ -18,7 +18,7 @@ - - #ifndef rtkImagXImageIO_h - #define rtkImagXImageIO_h -- -+#include "RTKExport.h" - #include - #include - #include -@@ -34,7 +34,7 @@ namespace rtk - * - * \ingroup RTK - */ --class ImagXImageIO : public itk::ImageIOBase -+class RTK_EXPORT ImagXImageIO : public itk::ImageIOBase - { - public: - /** Standard class type alias. */ -diff --git a/include/rtkOraImageIO.h b/include/rtkOraImageIO.h -index ece525a42..2d5332872 100644 ---- a/include/rtkOraImageIO.h -+++ b/include/rtkOraImageIO.h -@@ -19,6 +19,8 @@ - #ifndef rtkOraImageIO_h - #define rtkOraImageIO_h - -+#include "RTKExport.h" -+ - // This is done to avoid any interference with zlib - #ifdef OF - # undef OF -@@ -41,7 +43,7 @@ namespace rtk - * - * \ingroup RTK IOFilters - */ --class OraImageIO : public itk::MetaImageIO -+class RTK_EXPORT OraImageIO : public itk::MetaImageIO - { - public: - /** Standard class type alias. */ -diff --git a/include/rtkXRadImageIO.h b/include/rtkXRadImageIO.h -index a72c934e4..0a92afa22 100644 ---- a/include/rtkXRadImageIO.h -+++ b/include/rtkXRadImageIO.h -@@ -19,6 +19,7 @@ - #ifndef rtkXRadImageIO_h - #define rtkXRadImageIO_h - -+#include "RTKExport.h" - #include - #include - #include -@@ -37,7 +38,7 @@ namespace rtk - * - * \ingroup RTK IOFilters - */ --class XRadImageIO : public itk::ImageIOBase -+class RTK_EXPORT XRadImageIO : public itk::ImageIOBase - { - public: - /** Standard class type alias. */ -diff --git a/include/rtkXimImageIO.h b/include/rtkXimImageIO.h -index ae789dbf9..741f05183 100644 ---- a/include/rtkXimImageIO.h -+++ b/include/rtkXimImageIO.h -@@ -19,6 +19,7 @@ - #ifndef rtkXimImageIO_h - #define rtkXimImageIO_h - -+#include "RTKExport.h" - #include "rtkMacro.h" - - // itk include -@@ -43,7 +44,7 @@ namespace rtk - * - * \ingroup RTK IOFilters - */ --class XimImageIO : public itk::ImageIOBase -+class RTK_EXPORT XimImageIO : public itk::ImageIOBase - { - public: - /** Standard class type alias. */ diff --git a/ports/itk/var_libraries.patch b/ports/itk/var_libraries.patch index 738fa980f131ca..3cb4e7c2eae764 100644 --- a/ports/itk/var_libraries.patch +++ b/ports/itk/var_libraries.patch @@ -16,12 +16,17 @@ diff --git a/CMake/ITKModuleAPI.cmake b/CMake/ITKModuleAPI.cmake index af64d96dc..809335e6d 100644 --- a/CMake/ITKModuleAPI.cmake +++ b/CMake/ITKModuleAPI.cmake -@@ -133,7 +133,7 @@ macro(itk_module_config ns) +@@ -133,11 +133,10 @@ macro(itk_module_config ns) endforeach() unset(_${ns}_USED_MODULES) -- foreach(v ${ns}_LIBRARIES ${ns}_INCLUDE_DIRS ${ns}_LIBRARY_DIRS -+ foreach(v ${ns}_INCLUDE_DIRS ${ns}_LIBRARY_DIRS - ${ns}_RUNTIME_LIBRARY_DIRS ${ns}_FACTORY_NAMES ${ns}_FACTORY_LIST) - if(${v}) - list(REMOVE_DUPLICATES ${v}) + foreach( + v +- ${ns}_LIBRARIES +- ${ns}_INCLUDE_DIRS +- ${ns}_LIBRARY_DIRS ++ ${ns}_INCLUDE_DIRS ++ ${ns}_LIBRARY_DIRS + ${ns}_RUNTIME_LIBRARY_DIRS + ${ns}_FACTORY_NAMES + ${ns}_FACTORY_LIST) diff --git a/ports/itk/vcpkg.json b/ports/itk/vcpkg.json index 24ace7568eb606..a474e9caf9c18a 100644 --- a/ports/itk/vcpkg.json +++ b/ports/itk/vcpkg.json @@ -1,6 +1,7 @@ { "name": "itk", - "version-string": "5.3rc02", + "version": "5.4.0", + "port-version": 1, "description": "Insight Segmentation and Registration Toolkit (ITK) is used for image processing and analysis.", "homepage": "https://github.com/InsightSoftwareConsortium/ITK", "license": "Apache-2.0", @@ -8,10 +9,6 @@ "double-conversion", "eigen3", "expat", - { - "name": "fftw3", - "default-features": false - }, "gdcm", { "name": "hdf5", @@ -20,7 +17,6 @@ "cpp" ] }, - "icu", "libjpeg-turbo", "libpng", "minc", @@ -28,7 +24,10 @@ "name": "openjpeg", "default-features": false }, - "tiff", + { + "name": "tiff", + "default-features": false + }, { "name": "vcpkg-cmake", "host": true @@ -37,6 +36,7 @@ "name": "vcpkg-cmake-config", "host": true }, + "vxl", "zlib" ], "features": { @@ -59,6 +59,17 @@ "cuda" ] }, + "fftw": { + "description": "Enable the FFTW backend", + "dependencies": [ + { + "name": "fftw3", + "features": [ + "threads" + ] + } + ] + }, "opencl": { "description": "Use OpenCL", "dependencies": [ @@ -80,11 +91,17 @@ "python": { "description": "Python functionality for ITK", "dependencies": [ - "python3" + "python3", + { + "name": "vcpkg-tool-castxml", + "host": true + } ] }, "rtk": { - "description": "Build RTK Module" + "description": "Build RTK Module", + "supports": "!x86", + "license": null }, "tbb": { "description": "Build TBB Module", diff --git a/ports/itk/wrapping.patch b/ports/itk/wrapping.patch index 1e2e531504eb23..8f11018e07a0b2 100644 --- a/ports/itk/wrapping.patch +++ b/ports/itk/wrapping.patch @@ -2,12 +2,7 @@ diff --git a/Wrapping/TypedefMacros.cmake b/Wrapping/TypedefMacros.cmake index e6f8d0bf3..6c000dba8 100644 --- a/Wrapping/TypedefMacros.cmake +++ b/Wrapping/TypedefMacros.cmake -@@ -57,13 +57,12 @@ macro(itk_wrap_module library_name) - - # WRAPPER_LIBRARY_DEPENDS. List of names of other wrapper libraries that - # define symbols used by this wrapper library. - INTERSECTION(WRAPPER_LIBRARY_DEPENDS "${ITK_MODULE_${library_name}_DEPENDS}" "${WRAP_ITK_MODULES}") - # set(WRAPPER_LIBRARY_DEPENDS ${ITK_MODULE_${library_name}_DEPENDS}) +@@ -62,8 +62,7 @@ macro(itk_wrap_module library_name) # WRAPPER_LIBRARY_LINK_LIBRARIES. List of other libraries that should # be linked to the wrapper library. diff --git a/ports/itpp/fix-build.patch b/ports/itpp/fix-build.patch new file mode 100644 index 00000000000000..282504d4189ad0 --- /dev/null +++ b/ports/itpp/fix-build.patch @@ -0,0 +1,14 @@ +diff --git a/itpp/base/mat.cpp b/itpp/base/mat.cpp +index 9f2a20e..11b0a58 100644 +--- a/itpp/base/mat.cpp ++++ b/itpp/base/mat.cpp +@@ -173,8 +173,7 @@ cmat operator*(const cmat &m1, const cmat &m2) + template<> + mat operator*(const mat &m1, const mat &m2) + { +- it_assert_debug(m1.rows() == m2.cols(), +- "Mat<>::operator*(): Wrong sizes"); ++ it_assert_debug(m1.cols() == m2.rows(), "cmat::operator*(): Wrong sizes"); + mat r(m1.rows(), m2.cols()); + double *tr = r._data(); + const double *t1; diff --git a/ports/itpp/portfile.cmake b/ports/itpp/portfile.cmake index db2ee89546a38b..ddb762856b0440 100644 --- a/ports/itpp/portfile.cmake +++ b/ports/itpp/portfile.cmake @@ -11,12 +11,14 @@ vcpkg_from_sourceforge( fix-uwp.patch fix-linux.patch rename-version.patch + fix-build.patch ) file(RENAME "${SOURCE_PATH}/VERSION" "${SOURCE_PATH}/VERSION.txt") vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS + -DCMAKE_CXX_STANDARD=11 # C++17 does not allow 'register' -DCMAKE_DISABLE_FIND_PACKAGE_LAPACK=ON -DCMAKE_DISABLE_FIND_PACKAGE_FFT=ON -DCMAKE_DISABLE_FIND_PACKAGE_BLAS=ON @@ -32,6 +34,6 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") vcpkg_copy_pdbs() -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") vcpkg_fixup_pkgconfig() diff --git a/ports/itpp/vcpkg.json b/ports/itpp/vcpkg.json index 5d3d7ce37c928e..72fb888f7ab635 100644 --- a/ports/itpp/vcpkg.json +++ b/ports/itpp/vcpkg.json @@ -1,7 +1,7 @@ { "name": "itpp", "version-semver": "4.3.1", - "port-version": 10, + "port-version": 12, "description": "IT++ is a C++ library of mathematical, signal processing and communication classes and functions. Its main use is in simulation of communication systems and for performing research in the area of communications.", "homepage": "http://itpp.sourceforge.net", "dependencies": [ diff --git a/ports/itsy-bitsy/fix-cmake-install.patch b/ports/itsy-bitsy/fix-cmake-install.patch new file mode 100644 index 00000000000000..64a53767000ae8 --- /dev/null +++ b/ports/itsy-bitsy/fix-cmake-install.patch @@ -0,0 +1,55 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c7b2e2a..9219be1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -31,6 +31,8 @@ project(itsy.bitsy + DESCRIPTION "Standard bit utilities to supplement the C and C++ standard libraries." + LANGUAGES C CXX) + ++include(CMakePackageConfigHelpers) ++include(GNUInstallDirs) + # # Pre-dependencies + # this is for all the deps we may or may not need before-hand to make things right + if(ITSY_BITSY_READTHEDOCS) +@@ -100,10 +102,7 @@ option(ITSY_BITSY_EXAMPLES "Enable build of examples" OFF) + + # # Dependencies + # ztd.idk +-FetchContent_Declare(ztd.idk +- GIT_REPOSITORY https://github.com/soasis/idk.git +- GIT_TAG main) +-FetchContent_MakeAvailable(ztd.idk) ++find_package(ztd.idk CONFIG REQUIRED) + + # # itsy.bitsy Target + # Build Target +@@ -136,6 +135,10 @@ export(TARGETS itsy.bitsy FILE "${CMAKE_CURRENT_BINARY_DIR}/cmake/itsy.bitsy-tar + + install(TARGETS itsy.bitsy + EXPORT itsy.bitsy) ++install(EXPORT itsy.bitsy ++ FILE itsy.bitsy-targets.cmake ++ DESTINATION lib/cmake/itsy.bitsy ++) + + install(DIRECTORY include/itsy + DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") +diff --git a/cmake/itsy.bitsy-config.cmake.in b/cmake/itsy.bitsy-config.cmake.in +index 9f87935..6e18425 100644 +--- a/cmake/itsy.bitsy-config.cmake.in ++++ b/cmake/itsy.bitsy-config.cmake.in +@@ -9,10 +9,13 @@ + # See https://github.com/ThePhD/itsy_bitsy#using-the-library for documentation. + + @PACKAGE_INIT@ ++include(CMakeFindDependencyMacro) ++find_dependency(ztd.idk CONFIG) ++include("${CMAKE_CURRENT_LIST_DIR}/itsy.bitsy-targets.cmake") + +-include("${CMAKE_CURRENT_LIST_DIR}/sol2-targets.cmake") + + MESSAGE(STATUS ${CMAKE_CURRENT_LIST_DIR}) ++add_library(itsy::bitsy ALIAS itsy.bitsy) + + if (TARGET sol2) + get_target_property(SOL2_INCLUDE_DIRS diff --git a/ports/itsy-bitsy/portfile.cmake b/ports/itsy-bitsy/portfile.cmake new file mode 100644 index 00000000000000..1e8839ec6161ee --- /dev/null +++ b/ports/itsy-bitsy/portfile.cmake @@ -0,0 +1,27 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ThePhD/itsy_bitsy + REF d5b6bf9509bb2dff6235452d427f0b1c349d5f8b + SHA512 06489e46ad55a7fa55ddf88290509b157cf53518a8d9532d5a56e9907e5efaa298cb8946807e497461d322f62b4bad9b16864ef0def527edc8503f7a7884b8e1 + HEAD_REF main + PATCHES fix-cmake-install.patch +) + +set(VCPKG_BUILD_TYPE release) # header-only + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DFETCHCONTENT_FULLY_DISCONNECTED=ON + -DITSY_BITSY_SINGLE=OFF +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(PACKAGE_NAME itsy.bitsy CONFIG_PATH "lib/cmake/itsy.bitsy") + +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/itsy-bitsy/vcpkg.json b/ports/itsy-bitsy/vcpkg.json new file mode 100644 index 00000000000000..b73069245373c8 --- /dev/null +++ b/ports/itsy-bitsy/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "itsy-bitsy", + "version-date": "2022-08-02", + "description": "Bit containers, sequences, and views for everyone. ", + "homepage": "https://github.com/ThePhD/itsy_bitsy", + "license": "BSL-1.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "ztd-idk" + ] +} diff --git a/ports/ixwebsocket/fix-C2065-of-errorMsg.patch b/ports/ixwebsocket/fix-C2065-of-errorMsg.patch deleted file mode 100644 index 2435866c9bd4b9..00000000000000 --- a/ports/ixwebsocket/fix-C2065-of-errorMsg.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/ixwebsocket/IXSocketMbedTLS.cpp b/ixwebsocket/IXSocketMbedTLS.cpp -index f5c0cf6..0192dc7 100644 ---- a/ixwebsocket/IXSocketMbedTLS.cpp -+++ b/ixwebsocket/IXSocketMbedTLS.cpp -@@ -49,7 +49,7 @@ namespace ix - mbedtls_pk_init(&_pkey); - } - -- bool SocketMbedTLS::loadSystemCertificates(std::string& /* errorMsg */) -+ bool SocketMbedTLS::loadSystemCertificates(std::string& errorMsg) - { - #ifdef _WIN32 - DWORD flags = CERT_STORE_READONLY_FLAG | CERT_STORE_OPEN_EXISTING_FLAG | diff --git a/ports/ixwebsocket/portfile.cmake b/ports/ixwebsocket/portfile.cmake index d0d88fff609232..52822939d05163 100644 --- a/ports/ixwebsocket/portfile.cmake +++ b/ports/ixwebsocket/portfile.cmake @@ -4,9 +4,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO machinezone/IXWebSocket REF "v${VERSION}" - SHA512 698ad96f25f53bf48906201826008bad46c657f8043d3653988716ddd9fb5dfeb52cebc002b3af76b91d0561155607a5f38bbc2c808aa67f438432207da82a35 - PATCHES - fix-C2065-of-errorMsg.patch + SHA512 9a3b118ecec2ca39094ccbd7ec0610bbc59271a14c9e7ee0ac5d5e01a86111f33b722460ee5a32da60bfa31944acaf9a442d1655233ef252f35fd168d50ab471 ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS diff --git a/ports/ixwebsocket/vcpkg.json b/ports/ixwebsocket/vcpkg.json index 678eb3fc7f59b9..af1dc25ac8a52a 100644 --- a/ports/ixwebsocket/vcpkg.json +++ b/ports/ixwebsocket/vcpkg.json @@ -1,7 +1,6 @@ { "name": "ixwebsocket", - "version-semver": "11.4.4", - "port-version": 2, + "version-semver": "11.4.5", "description": "Lightweight WebSocket Client and Server + HTTP Client and Server", "homepage": "https://github.com/machinezone/IXWebSocket", "license": "BSD-3-Clause", diff --git a/ports/jasper/check-for-atomics-support.patch b/ports/jasper/check-for-atomics-support.patch new file mode 100644 index 00000000000000..132d07f894fbf6 --- /dev/null +++ b/ports/jasper/check-for-atomics-support.patch @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8d2e9f9..110c245 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -591,6 +591,7 @@ set(JAS_HAVE_WIN32_THREADS FALSE) + if(JAS_ENABLE_MULTITHREADING_SUPPORT) + check_c_source_compiles(" + #include ++ #include + int main() { + thrd_t thread; + mtx_t mutex; diff --git a/ports/jasper/fix-library-name.patch b/ports/jasper/fix-library-name.patch index 8b4f7173a23763..2e53526a9ddba0 100644 --- a/ports/jasper/fix-library-name.patch +++ b/ports/jasper/fix-library-name.patch @@ -1,7 +1,7 @@ -diff --git a/build/jasper.pc.in b/build/jasper.pc.in +diff --git a/build/pkgconfig/jasper.pc.in b/build/pkgconfig/jasper.pc.in index a4ce38f..a9a7bc4 100644 ---- a/build/jasper.pc.in -+++ b/build/jasper.pc.in +--- a/build/pkgconfig/jasper.pc.in ++++ b/build/pkgconfig/jasper.pc.in @@ -6,7 +6,7 @@ Name: JasPer Description: Image Processing/Coding Tool Kit with JPEG-2000 Support Version: @JAS_VERSION@ diff --git a/ports/jasper/no_stdc_check.patch b/ports/jasper/no_stdc_check.patch index 7552a57da5f4ba..0c579a54084988 100644 --- a/ports/jasper/no_stdc_check.patch +++ b/ports/jasper/no_stdc_check.patch @@ -1,24 +1,24 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 840908739..c485b830c 100644 +index ba6f117..8d2e9f9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -414,7 +414,7 @@ if((DEFINED JAS_CROSSCOMPILING AND JAS_CROSSCOMPILING) OR - # will need to be set manually from the command line +@@ -424,7 +424,7 @@ if((DEFINED JAS_CROSSCOMPILING AND JAS_CROSSCOMPILING) OR # (e.g., using -DJAS_STDC_VERSION=YYYYMML) or by changing the line below. + if(NOT JAS_WASM) set(JAS_STDC_VERSION "0L" CACHE INTERNAL "The value of __STDC_VERSION__.") - if (JAS_STDC_VERSION STREQUAL "0L") + if (0) message(FATAL_ERROR "The value of __STDC_VERSION__ cannot be automatically determined " "when cross-compiling. Please set JAS_STDC_VERSION to the value " -@@ -423,8 +423,9 @@ if((DEFINED JAS_CROSSCOMPILING AND JAS_CROSSCOMPILING) OR - "appropriately.") +@@ -434,8 +434,9 @@ if(NOT JAS_WASM) endif() + endif() else() - jas_get_stdc_version(status JAS_STDC_VERSION) - if(NOT status) + #jas_get_stdc_version(status JAS_STDC_VERSION) -+ set(JAS_STDC_VERSION 0L) ++ set(JAS_STDC_VERSION 0L) + if(0) message(FATAL_ERROR "Cannot determine the value of __STDC_VERSION__.") endif() diff --git a/ports/jasper/portfile.cmake b/ports/jasper/portfile.cmake index f4761abe1e59fa..2c0a915e5917fc 100644 --- a/ports/jasper/portfile.cmake +++ b/ports/jasper/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO jasper-software/jasper - REF 402d096b39f4f618ad9e6ff2b4fc1b5eb260a2e4 # version-4.0.0 - SHA512 b2c2a2514479ec4a3d634d42d0a614951c06f6177e43a80b9a31797b7d4ad248fcdff632596806fcf811c87779990ba7c19aa2f9b91afafbc172dd85f96bb239 + REF "version-${VERSION}" + SHA512 4552e4823e08f7cb444d5835f30180ae1631b1784078769f0c1d51f40dd3bb6c8a1e960147d07312164dbb3b489561d06ee8f75112e76dbba8aacfd09c7d03e4 HEAD_REF master PATCHES no_stdc_check.patch diff --git a/ports/jasper/vcpkg.json b/ports/jasper/vcpkg.json index 7df60a535b0f86..43e3c224187072 100644 --- a/ports/jasper/vcpkg.json +++ b/ports/jasper/vcpkg.json @@ -1,7 +1,6 @@ { "name": "jasper", - "version": "4.0.0", - "port-version": 2, + "version": "4.2.4", "description": "Open source implementation of the JPEG-2000 Part-1 standard", "homepage": "https://github.com/jasper-software/jasper", "license": null, diff --git a/ports/jemalloc/portfile.cmake b/ports/jemalloc/portfile.cmake index 36f0834e1dc3aa..4db87d2ee0be13 100644 --- a/ports/jemalloc/portfile.cmake +++ b/ports/jemalloc/portfile.cmake @@ -12,14 +12,15 @@ if(VCPKG_TARGET_IS_WINDOWS) set(opts "ac_cv_search_log=none required" "--without-private-namespace") endif() -vcpkg_configure_make( +vcpkg_make_configure( + AUTORECONF SOURCE_PATH "${SOURCE_PATH}" - AUTOCONFIG - NO_WRAPPERS + DISABLE_MSVC_WRAPPERS + DISABLE_MSVC_TRANSFORMATIONS OPTIONS ${opts} ) -vcpkg_install_make() +vcpkg_make_install() if(VCPKG_TARGET_IS_WINDOWS) file(COPY "${SOURCE_PATH}/include/msvc_compat/strings.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include/jemalloc/msvc_compat") diff --git a/ports/jemalloc/vcpkg.json b/ports/jemalloc/vcpkg.json index 007e05b931c989..59c1cfe0d0b3f7 100644 --- a/ports/jemalloc/vcpkg.json +++ b/ports/jemalloc/vcpkg.json @@ -1,8 +1,14 @@ { "name": "jemalloc", "version": "5.3.0", - "port-version": 1, + "port-version": 2, "description": "jemalloc is a general purpose malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support", "homepage": "https://jemalloc.net/", - "license": "BSD-2-Clause" + "license": "BSD-2-Clause", + "dependencies": [ + { + "name": "vcpkg-make", + "host": true + } + ] } diff --git a/ports/jhasse-poly2tri/cmake.patch b/ports/jhasse-poly2tri/cmake.patch new file mode 100644 index 00000000000000..22e06054c460d1 --- /dev/null +++ b/ports/jhasse-poly2tri/cmake.patch @@ -0,0 +1,56 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1a237b9..374e7e9 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,15 +1,32 @@ + cmake_minimum_required(VERSION 3.12) + ++if(POLICY CMP0063) ++ cmake_policy(SET CMP0063 NEW) ++endif() ++ ++set(CMAKE_CXX_VISIBILITY_PRESET hidden) ++set(CMAKE_VISIBILITY_INLINES_HIDDEN TRUE) ++ + project(poly2tri LANGUAGES CXX) + set(CMAKE_CXX_STANDARD 14) + ++set(INSTALL_BIN_DIR "bin" CACHE PATH "Path where exe and dll will be installed") ++set(INSTALL_LIB_DIR "lib" CACHE PATH "Path where lib will be installed") ++set(INSTALL_INCLUDE_DIR "include/${PROJECT_NAME}" CACHE PATH "Path where headers will be installed") ++set(INSTALL_CMAKE_DIR "share/${PROJECT_NAME}" CACHE PATH "Path where cmake configs will be installed") ++ + option(P2T_BUILD_TESTS "Build tests" OFF) + option(P2T_BUILD_TESTBED "Build the testbed application" OFF) + + file(GLOB SOURCES poly2tri/common/*.cc poly2tri/sweep/*.cc) + file(GLOB HEADERS poly2tri/*.h poly2tri/common/*.h poly2tri/sweep/*.h) ++ + add_library(poly2tri ${SOURCES} ${HEADERS}) +-target_include_directories(poly2tri INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}) ++target_include_directories(${PROJECT_NAME} PUBLIC ++ $ ++ $ ++ $ ++) + + get_target_property(poly2tri_target_type poly2tri TYPE) + if(poly2tri_target_type STREQUAL SHARED_LIBRARY) +@@ -26,3 +43,17 @@ endif() + if(P2T_BUILD_TESTBED) + add_subdirectory(testbed) + endif() ++ ++install(DIRECTORY poly2tri DESTINATION include FILES_MATCHING PATTERN "*.h") ++ ++install(TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}Targets ++ RUNTIME DESTINATION "${INSTALL_BIN_DIR}" ++ LIBRARY DESTINATION "${INSTALL_LIB_DIR}" ++ ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" ++) ++ ++install (EXPORT ${PROJECT_NAME}Targets ++ FILE ${PROJECT_NAME}Config.cmake ++ NAMESPACE ${PROJECT_NAME}:: ++ DESTINATION "${INSTALL_CMAKE_DIR}" ++) diff --git a/ports/jhasse-poly2tri/portfile.cmake b/ports/jhasse-poly2tri/portfile.cmake new file mode 100644 index 00000000000000..d0ff14fe068b6b --- /dev/null +++ b/ports/jhasse-poly2tri/portfile.cmake @@ -0,0 +1,22 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO jhasse/poly2tri + REF 0171f030bd3d5c6747c29d93403546eed668a1b6 + SHA512 b55d543ae7f9b447d3e0e39b66cf1ce55a48ed7949819db01d8adc0972182519c4b6b533e704a282da45a4d64f510fd33cd81ccb52307dc0e63622e83bcf0192 + HEAD_REF master + PATCHES + cmake.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME poly2tri) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/jhasse-poly2tri/usage b/ports/jhasse-poly2tri/usage new file mode 100644 index 00000000000000..80497d276c7a6e --- /dev/null +++ b/ports/jhasse-poly2tri/usage @@ -0,0 +1,4 @@ +jhasse-poly2tri provides CMake targets: + + find_package(poly2tri CONFIG REQUIRED) + target_link_libraries(main PRIVATE poly2tri::poly2tri) diff --git a/ports/jhasse-poly2tri/vcpkg.json b/ports/jhasse-poly2tri/vcpkg.json new file mode 100644 index 00000000000000..b0017d33c0160f --- /dev/null +++ b/ports/jhasse-poly2tri/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "jhasse-poly2tri", + "version-date": "2023-12-27", + "description": "Sweep-line algorithm for constrained Delaunay triangulation", + "homepage": "https://github.com/jhasse/poly2tri", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/jigson/jigson-config.cmake.in b/ports/jigson/jigson-config.cmake.in new file mode 100644 index 00000000000000..49b40fdd8cf2be --- /dev/null +++ b/ports/jigson/jigson-config.cmake.in @@ -0,0 +1,10 @@ +if(NOT TARGET jigson::jigson) + include(CMakeFindDependencyMacro) + find_dependency(nlohmann_json CONFIG) + add_library(jigson::jigson INTERFACE IMPORTED) + set_target_properties(jigson::jigson PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include/jigson" + INTERFACE_LINK_LIBRARIES nlohmann_json::nlohmann_json + ) + +endif() diff --git a/ports/jigson/portfile.cmake b/ports/jigson/portfile.cmake new file mode 100644 index 00000000000000..d4530cfd010e9f --- /dev/null +++ b/ports/jigson/portfile.cmake @@ -0,0 +1,19 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO JoshuaSledden/Jigson + REF "${VERSION}" + SHA512 88cbd9d83d4b51b508c4d778ed5a230c6723274121e09170dff17aaaca01e1df0705f0b06e0ef395bd02aa85ad3da49fb60e1742935fb329afad713bd18b97dc + HEAD_REF master +) + +# Copy the header files +file(GLOB HEADER_FILES "${SOURCE_PATH}/src/Include/*") +file(COPY ${HEADER_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/include/jigson") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") + +configure_file("${CMAKE_CURRENT_LIST_DIR}/jigson-config.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/jigson-config.cmake" @ONLY) + +# Copy usage examples +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/jigson/usage b/ports/jigson/usage new file mode 100644 index 00000000000000..d10eaf51e29c09 --- /dev/null +++ b/ports/jigson/usage @@ -0,0 +1,4 @@ +jigson provides CMake targets: + + find_package(jigson CONFIG REQUIRED) + target_link_libraries(main PRIVATE jigson::jigson) diff --git a/ports/jigson/vcpkg.json b/ports/jigson/vcpkg.json new file mode 100644 index 00000000000000..2061b4001272b6 --- /dev/null +++ b/ports/jigson/vcpkg.json @@ -0,0 +1,14 @@ +{ + "name": "jigson", + "version": "0.1.3", + "description": "A simple C++ library designed to facilitate easy mapping from json content to a class model.", + "homepage": "https://github.com/JoshuaSledden/Jigson", + "license": "MIT", + "dependencies": [ + "nlohmann-json", + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/ports/jkqtplotter/fix-cmake.patch b/ports/jkqtplotter/fix-cmake.patch new file mode 100644 index 00000000000000..2141695f59929e --- /dev/null +++ b/ports/jkqtplotter/fix-cmake.patch @@ -0,0 +1,52 @@ +diff --git a/cmake/FindCImg.cmake b/cmake/FindCImg.cmake +index 38a929e7a..3e8424a9f 100644 +--- a/cmake/FindCImg.cmake ++++ b/cmake/FindCImg.cmake +@@ -83,10 +83,10 @@ if (CIMG_FOUND) + endif (X11_Xrandr_FOUND) + + ### PThread is required when using X11 display engine ### +- find_package (PTHREAD QUIET) +- if (PTHREAD_FOUND) +- set (CIMG_INCLUDE_DIRS ${CIMG_INCLUDE_DIRS} ${PTHREAD_INCLUDE_DIRS}) +- set (CIMG_LIBRARIES ${CIMG_LIBRARIES} ${PTHREAD_LIBRARIES}) ++ find_package (Threads QUIET) ++ if (Threads_FOUND) ++ set (CIMG_INCLUDE_DIRS ${CIMG_INCLUDE_DIRS}) ++ set (CIMG_LIBRARIES ${CIMG_LIBRARIES} Threads::Threads) + message(STATUS "FindCImg.cmake: pthread found") + else (PTHREAD_FOUND) + message(STATUS "!!! FindCIMG.cmake !!! pthread NOT found. pthread required by cimg for running X11.") +@@ -100,15 +100,15 @@ if (CIMG_FOUND) + endif (X11_FOUND) + else (UNIX OR APPLE) + if (WIN32) +- find_package(GDI QUIET) +- if (GDI_FOUND) +- set (CIMG_LIBRARIES ${CIMG_LIBRARIES} ${GDI_LIBRARIES}) ++ find_library(GDI_LIBRARY gdi32) ++ if (GDI_LIBRARY) ++ set (CIMG_LIBRARIES ${CIMG_LIBRARIES} ${GDI_LIBRARY}) + message(STATUS "FindCImg.cmake: GDI found") +- else (GDI_FOUND) ++ else (GDI_LIBRARY) + message(STATUS "!!! FindCIMG.cmake !!! GDI NOT found.") + message(WARNING "FindCImg.cmake: display disabled") + set (CIMG_DEFINITIONS ${CIMG_DEFINITIONS} -Dcimg_display=0) +- endif (GDI_FOUND) ++ endif (GDI_LIBRARY) + endif (WIN32) + endif (UNIX OR APPLE) + +diff --git a/cmake/jkqtplotter_deployqt.cmake b/cmake/jkqtplotter_deployqt.cmake +index 5a8574591..5dbc8a51d 100644 +--- a/cmake/jkqtplotter_deployqt.cmake ++++ b/cmake/jkqtplotter_deployqt.cmake +@@ -1,6 +1,6 @@ + function(jkqtplotter_deployqt TARGET_NAME) + #use windeploy +- if (WIN32) ++ if (WIN32 AND 0) + # install system runtime lib + include( InstallRequiredSystemLibraries ) + if( CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS ) diff --git a/ports/jkqtplotter/fix-cmake2.patch b/ports/jkqtplotter/fix-cmake2.patch new file mode 100644 index 00000000000000..5aa7ec3002f719 --- /dev/null +++ b/ports/jkqtplotter/fix-cmake2.patch @@ -0,0 +1,14 @@ + +diff --git a/lib/jkqtmath/CMakeLists.txt b/lib/jkqtmath/CMakeLists.txt +index 716254ac8..835b4e8cb 100644 +--- a/lib/jkqtmath/CMakeLists.txt ++++ b/lib/jkqtmath/CMakeLists.txt +@@ -110,7 +110,7 @@ endif() + if(JKQtPlotter_BUILD_STATIC_LIBS) + add_library(${lib_name} STATIC ${SOURCES} ${HEADERS}) + JKQtCommon_setDefaultLibOptions(${lib_name}) +- target_link_libraries(${libsh_name} PUBLIC JKQTCommonLib) ++ target_link_libraries(${lib_name} PUBLIC JKQTCommonLib) + set_property(TARGET ${lib_name} PROPERTY OUTPUT_NAME "${lib_name_decorated}") + write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/${lib_name}Version.cmake + VERSION ${PROJECT_VERSION} diff --git a/ports/jkqtplotter/portfile.cmake b/ports/jkqtplotter/portfile.cmake new file mode 100644 index 00000000000000..f595e8407b9658 --- /dev/null +++ b/ports/jkqtplotter/portfile.cmake @@ -0,0 +1,131 @@ +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" JKQtPlotter_BUILD_SHARED_LIBS) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" JKQtPlotter_BUILD_STATIC_LIBS) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO jkriege2/JKQtPlotter + REF a9bfcab4b96cd7bdeac30902f5d7a31b765c522b + SHA512 04b20eb66c833eac5dcd6a50c966217380b0f3a6e70092e36b80197b94d1ea2858b2b9f09aec5e02df2effab5b9b17059436589d727060bba3601ec1342278a9 + HEAD_REF master + PATCHES + fix-cmake.patch + fix-cmake2.patch +) + +vcpkg_replace_string("${SOURCE_PATH}/CMakeLists.txt" "add_subdirectory(doc)" "") + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + "examples" JKQtPlotter_BUILD_EXAMPLES + "tools" JKQtPlotter_BUILD_TOOLS +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DJKQtPlotter_BUILD_SHARED_LIBS=${JKQtPlotter_BUILD_SHARED_LIBS} + -DJKQtPlotter_BUILD_STATIC_LIBS=${JKQtPlotter_BUILD_STATIC_LIBS} + ${FEATURE_OPTIONS} + -DCMAKE_IGNORE_PATH=${CURRENT_INSTALLED_DIR}/share/cmake/Qt5 + -DCIMG_INCLUDE_DIR=${CURRENT_INSTALLED_DIR}/include + -DCMAKE_DISABLE_FIND_PACKAGE_OpenCV:BOOL=ON # only used for some examples + -DOpenCV_FOUND:BOOL=FALSE # wrong find_package call with QUITE instead of QUIET + MAYBE_UNUSED_VARIABLES + OpenCV_FOUND +) +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake) + +vcpkg_copy_pdbs() +set(tools "") +if("tools" IN_LIST FEATURES) + list(APPEND tools + jkqtmathtext_render + jkqtplotter_doc_imagegenerator + ) +endif() +if("examples" IN_LIST FEATURES) + list(APPEND tools + jkqtplot_test + jkqtptest_advplotstyling + jkqtptest_barchart + jkqtptest_boxplot + jkqtptest_contourplot + jkqtptest_datastore + jkqtptest_datastore_groupedstat + jkqtptest_datastore_iterators + jkqtptest_datastore_regression + jkqtptest_datastore_statistics + jkqtptest_datastore_statistics_2d + jkqtptest_dateaxes + jkqtptest_distributionplot + jkqtptest_errorbarstyles + jkqtptest_evalcurve + jkqtptest_filledgraphs + jkqtptest_functionplot + jkqtptest_geometric + jkqtptest_geo_arrows + jkqtptest_geo_simple + jkqtptest_imageplot + jkqtptest_imageplot_cimg + jkqtptest_imageplot_modifier + jkqtptest_imageplot_nodatastore + jkqtptest_imageplot_userpal + jkqtptest_impulsesplot + jkqtptest_jkqtfastplotter_test + jkqtptest_jkqtmathtext_simpletest + jkqtptest_jkqtmathtext_test + jkqtptest_logaxes + jkqtptest_mandelbrot + jkqtptest_parametriccurve + jkqtptest_paramscatterplot + jkqtptest_paramscatterplot_image + jkqtptest_parsedfunctionplot + jkqtptest_rgbimageplot + jkqtptest_rgbimageplot_cimg + jkqtptest_rgbimageplot_qt + jkqtptest_simpletest + jkqtptest_speed + jkqtptest_stackedbars + jkqtptest_stepplots + jkqtptest_styledboxplot + jkqtptest_styling + jkqtptest_symbols_and_errors + jkqtptest_symbols_and_styles + jkqtptest_ui + jkqtptest_user_interaction + jkqtptest_violinplot + jkqtptest_wiggleplots + jkqtptest_barchart_customdrawfunctor + jkqtptest_barchart_errorbars + jkqtptest_barchart_functorfill + jkqtptest_barchart_twocolor + jkqtptest_filledgraphs_errors + jkqtptest_geo_coordinateaxis0 + jkqtptest_multiplot + jkqtptest_paramscatterplot_customsymbol + jkqtptest_scatter + jkqtptest_scatter_customsymbol + jkqtptest_second_axis + ) +endif() + + + +if(tools) + vcpkg_copy_tools(TOOL_NAMES ${tools} AUTO_CLEAN) +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") +endif() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/doc" "${CURRENT_PACKAGES_DIR}/debug/doc") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +vcpkg_install_copyright(FILE_LIST + "${SOURCE_PATH}/LICENSE" + "${SOURCE_PATH}/lib/jkqtmathtext/resources/firaMath/LICENSE" + "${SOURCE_PATH}/lib/jkqtmathtext/resources/xits/OFL.txt" +) diff --git a/ports/jkqtplotter/vcpkg.json b/ports/jkqtplotter/vcpkg.json new file mode 100644 index 00000000000000..b393e50e0ea855 --- /dev/null +++ b/ports/jkqtplotter/vcpkg.json @@ -0,0 +1,40 @@ +{ + "name": "jkqtplotter", + "version-date": "2023-10-24", + "port-version": 1, + "description": "A Qt Plotting Library", + "license": null, + "dependencies": [ + "cimg", + { + "name": "qtbase", + "default-features": false, + "features": [ + "gui", + "jpeg", + "opengl", + "png", + "widgets" + ] + }, + "qtsvg", + { + "name": "vcpkg-cmake", + "host": true, + "default-features": false + }, + { + "name": "vcpkg-cmake-config", + "host": true, + "default-features": false + } + ], + "features": { + "examples": { + "description": "Build examples" + }, + "tools": { + "description": "Build tools" + } + } +} diff --git a/ports/joltphysics/fix-export.diff b/ports/joltphysics/fix-export.diff deleted file mode 100644 index 2dc7e3ec859e0e..00000000000000 --- a/ports/joltphysics/fix-export.diff +++ /dev/null @@ -1,77 +0,0 @@ -diff --git a/Build/CMakeLists.txt b/Build/CMakeLists.txt -index e4fddc50..655cdc80 100644 ---- a/Build/CMakeLists.txt -+++ b/Build/CMakeLists.txt -@@ -91,8 +91,8 @@ if (("${CMAKE_SYSTEM_NAME}" STREQUAL "Windows" OR "${CMAKE_SYSTEM_NAME}" STREQUA - endif() - - # Set compiler flags for various configurations -- set(CMAKE_CXX_FLAGS_DEBUG "/GS /Od /Ob0 /RTC1") -- set(CMAKE_CXX_FLAGS_RELEASE "/GS- /Gy /O2 /Oi /Ot") -+ set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /GS /Od /Ob0 /RTC1") -+ set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /GS- /Gy /O2 /Oi /Ot") - set(CMAKE_CXX_FLAGS_DISTRIBUTION "/GS- /Gy /O2 /Oi /Ot") - set(CMAKE_CXX_FLAGS_RELEASEASAN "-fsanitize=address /Od") - set(CMAKE_CXX_FLAGS_RELEASEUBSAN "-fsanitize=undefined,implicit-conversion,float-divide-by-zero,local-bounds -fno-sanitize-recover=all") -@@ -148,8 +148,8 @@ elseif ("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux" OR "${CMAKE_SYSTEM_NAME}" STREQU - endif() - - # Set compiler flags for various configurations -- set(CMAKE_CXX_FLAGS_DEBUG "") -- set(CMAKE_CXX_FLAGS_RELEASE "-O3") -+ set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}") -+ set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3") - set(CMAKE_CXX_FLAGS_DISTRIBUTION "-O3") - set(CMAKE_CXX_FLAGS_RELEASEASAN "-fsanitize=address") - set(CMAKE_CXX_FLAGS_RELEASEUBSAN "-fsanitize=undefined,implicit-conversion,float-divide-by-zero,local-bounds -fno-sanitize-recover=all") -@@ -193,7 +193,11 @@ if (IOS) - endif() - - # Install Jolt library and includes --install(TARGETS Jolt DESTINATION lib) -+install(TARGETS Jolt -+ EXPORT unofficial-joltphysics-targets -+ ARCHIVE DESTINATION lib -+ LIBRARY DESTINATION lib -+ RUNTIME DESTINATION bin) - foreach(SRC_FILE ${JOLT_PHYSICS_SRC_FILES}) - string(REPLACE ${PHYSICS_REPO_ROOT} "" RELATIVE_SRC_FILE ${SRC_FILE}) - get_filename_component(DESTINATION_PATH ${RELATIVE_SRC_FILE} DIRECTORY) -@@ -202,6 +206,17 @@ foreach(SRC_FILE ${JOLT_PHYSICS_SRC_FILES}) - endif() - endforeach() - -+install(EXPORT unofficial-joltphysics-targets -+ NAMESPACE unofficial::joltphysics:: -+ FILE unofficial-joltphysics-targets.cmake -+ DESTINATION share/unofficial-joltphysics -+) -+ -+install(FILES -+ unofficial-joltphysics-config.cmake -+ DESTINATION share/unofficial-joltphysics -+) -+ - # Check if we're the root CMakeLists.txt, if not we are included by another CMake file and we should disable everything except for the main library - if (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR) - # Ability to turn ON/OFF individual applications -diff --git a/Jolt/Jolt.cmake b/Jolt/Jolt.cmake -index 176a7578..b31b2417 100644 ---- a/Jolt/Jolt.cmake -+++ b/Jolt/Jolt.cmake -@@ -431,10 +431,13 @@ source_group(TREE ${JOLT_PHYSICS_ROOT} FILES ${JOLT_PHYSICS_SRC_FILES}) - - # Create Jolt lib - add_library(Jolt STATIC ${JOLT_PHYSICS_SRC_FILES}) --target_include_directories(Jolt PUBLIC ${PHYSICS_REPO_ROOT}) -+target_include_directories(Jolt PUBLIC -+ $ -+ $ -+) - target_precompile_headers(Jolt PRIVATE ${JOLT_PHYSICS_ROOT}/Jolt.h) - target_compile_definitions(Jolt PUBLIC "$<$:_DEBUG;JPH_PROFILE_ENABLED;JPH_DEBUG_RENDERER>") --target_compile_definitions(Jolt PUBLIC "$<$:NDEBUG;JPH_PROFILE_ENABLED;JPH_DEBUG_RENDERER>") -+target_compile_definitions(Jolt PUBLIC "$<$:NDEBUG>") - target_compile_definitions(Jolt PUBLIC "$<$:NDEBUG>") - target_compile_definitions(Jolt PUBLIC "$<$:NDEBUG;JPH_PROFILE_ENABLED;JPH_DISABLE_TEMP_ALLOCATOR;JPH_DISABLE_CUSTOM_ALLOCATOR;JPH_DEBUG_RENDERER>") - target_compile_definitions(Jolt PUBLIC "$<$:NDEBUG;JPH_PROFILE_ENABLED;JPH_DEBUG_RENDERER>") diff --git a/ports/joltphysics/portfile.cmake b/ports/joltphysics/portfile.cmake index 068b6f0b2550c3..e94d36fd7cb59a 100644 --- a/ports/joltphysics/portfile.cmake +++ b/ports/joltphysics/portfile.cmake @@ -4,18 +4,19 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO jrouwe/JoltPhysics REF "v${VERSION}" - SHA512 367e5b945e8f91a0c0c9eb699db6f49351aa39b0af9b8fd0be5f474d65b28a7244880eedad10cbd2db0e031daa28bbabb5f9fb8bf9af653dd1f86904bfde44a2 + SHA512 4e19e395d1658dbff7ec00a9c4e9a637d29343f6073c9345b7bfef146c7ab63a7f3669eb04a019b7aa557184ee012d2e8e50417ca3c6ba40d172c01699869033 HEAD_REF master - PATCHES - fix-export.diff ) -# Need to provide this library a config -# The fix-export.diff should install this -file(COPY "${CMAKE_CURRENT_LIST_DIR}/unofficial-joltphysics-config.cmake" DESTINATION "${SOURCE_PATH}/Build") - string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" USE_STATIC_CRT) +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + debugrenderer DEBUG_RENDERER_IN_DEBUG_AND_RELEASE + profiler PROFILER_IN_DEBUG_AND_RELEASE + rtti CPP_RTTI_ENABLED +) + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}/Build" OPTIONS @@ -28,6 +29,8 @@ vcpkg_cmake_configure( -DINTERPROCEDURAL_OPTIMIZATION=OFF -DUSE_STATIC_MSVC_RUNTIME_LIBRARY=${USE_STATIC_CRT} -DENABLE_ALL_WARNINGS=OFF + -DOVERRIDE_CXX_FLAGS=OFF + ${FEATURE_OPTIONS} OPTIONS_RELEASE -DGENERATE_DEBUG_SYMBOLS=OFF ) @@ -37,8 +40,6 @@ vcpkg_copy_pdbs() vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -vcpkg_cmake_config_fixup(CONFIG_PATH share/unofficial-${PORT} PACKAGE_NAME unofficial-${PORT}) -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +vcpkg_cmake_config_fixup(PACKAGE_NAME Jolt CONFIG_PATH "lib/cmake/Jolt") -file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/joltphysics/unofficial-joltphysics-config.cmake b/ports/joltphysics/unofficial-joltphysics-config.cmake deleted file mode 100644 index 00f9617280035b..00000000000000 --- a/ports/joltphysics/unofficial-joltphysics-config.cmake +++ /dev/null @@ -1,3 +0,0 @@ -include(CMakeFindDependencyMacro) -# find_dependency(xx 2.0) -include(${CMAKE_CURRENT_LIST_DIR}/unofficial-joltphysics-targets.cmake) \ No newline at end of file diff --git a/ports/joltphysics/usage b/ports/joltphysics/usage deleted file mode 100644 index 342bb11a430e0d..00000000000000 --- a/ports/joltphysics/usage +++ /dev/null @@ -1,4 +0,0 @@ - joltphysics provides CMake targets: - - find_package(unofficial-joltphysics CONFIG REQUIRED) - target_link_libraries(main PRIVATE unofficial::joltphysics::Jolt) \ No newline at end of file diff --git a/ports/joltphysics/vcpkg.json b/ports/joltphysics/vcpkg.json index 1c8fc998af1bdb..fccce5fbd96333 100644 --- a/ports/joltphysics/vcpkg.json +++ b/ports/joltphysics/vcpkg.json @@ -1,6 +1,6 @@ { "name": "joltphysics", - "version": "3.0.1", + "version": "5.2.0", "port-version": 1, "description": "A multi core friendly rigid body physics and collision detection library suitable for games and VR applications", "homepage": "https://github.com/jrouwe/JoltPhysics", @@ -14,5 +14,16 @@ "name": "vcpkg-cmake-config", "host": true } - ] + ], + "features": { + "debugrenderer": { + "description": "Enable debug renderer in Debug and Release builds" + }, + "profiler": { + "description": "Enable the profiler in Debug and Release builds" + }, + "rtti": { + "description": "Enable C++ RTTI" + } + } } diff --git a/ports/json-c/fix-build-with-clang.patch b/ports/json-c/fix-build-with-clang.patch deleted file mode 100644 index a4fad41819e8f8..00000000000000 --- a/ports/json-c/fix-build-with-clang.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 11b3970..66e9d0a 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -293,7 +293,7 @@ if ("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_C_COMPILER_ID}" STREQUAL - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wwrite-strings") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-unused-parameter") - if (NOT WIN32) -- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wstrict-prototypes") -+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-strict-prototypes") - endif() - - add_definitions(-D_GNU_SOURCE) diff --git a/ports/json-c/fix-clang-cl.patch b/ports/json-c/fix-clang-cl.patch index 85641a7d54e298..a2609d5d28cbdf 100644 --- a/ports/json-c/fix-clang-cl.patch +++ b/ports/json-c/fix-clang-cl.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 9741b45f9..11b397024 100644 +index 0aa1b64..54e7b3d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -281,7 +281,7 @@ message(STATUS "Wrote ${PROJECT_BINARY_DIR}/config.h") +@@ -295,7 +295,7 @@ message(STATUS "Wrote ${PROJECT_BINARY_DIR}/config.h") configure_file(${PROJECT_SOURCE_DIR}/cmake/json_config.h.in ${PROJECT_BINARY_DIR}/json_config.h) message(STATUS "Wrote ${PROJECT_BINARY_DIR}/json_config.h") @@ -11,10 +11,10 @@ index 9741b45f9..11b397024 100644 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ffunction-sections -fdata-sections") if ("${DISABLE_WERROR}" STREQUAL "OFF") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror") -@@ -297,7 +297,7 @@ if ("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_C_COMPILER_ID}" STREQUAL +@@ -316,7 +316,7 @@ if ("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_C_COMPILER_ID}" STREQUAL + # Remove this for 1.0 when we can bump the ABI and actually fix these warnings. + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-shorten-64-to-32") endif() - - add_definitions(-D_GNU_SOURCE) -elseif ("${CMAKE_C_COMPILER_ID}" STREQUAL "MSVC") +elseif (MSVC) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /DEBUG") diff --git a/ports/json-c/portfile.cmake b/ports/json-c/portfile.cmake index 355d83867e38e1..dccd504f701dc0 100644 --- a/ports/json-c/portfile.cmake +++ b/ports/json-c/portfile.cmake @@ -1,18 +1,22 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO json-c/json-c - REF d28ac67dde77566f53a97f22b4ea7cb36afe6582 - SHA512 30063c8e32eb82e170647363055119f2f7eab19e1c3152673b966f41ed07e0349c3d6141b215b9912f9e84c2e06677b3d7ac949f720c7ebc2c95d692dc3881fe + REF b4c371fa0cbc4dcbaccc359ce9e957a22988fb34 + SHA512 1338271a6f9ffb3b8a8d4f2ec36a374ed84b3c91f789b607693c08cbeb38c4fdd813593f530ff94e841a095ff367a3ae8c5f5e7dbcb64e8f9044f6affdf24505 HEAD_REF master PATCHES pkgconfig.patch fix-clang-cl.patch - fix-build-with-clang.patch #https://github.com/json-c/json-c/pull/783 Remove in next version ) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" JSON_BUILD_STATIC) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" JSON_BUILD_SHARED) + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_TESTING=OFF + -DBUILD_STATIC_LIBS=${JSON_BUILD_STATIC} + -DBUILD_SHARED_LIBS=${JSON_BUILD_SHARED} ) vcpkg_cmake_install() @@ -24,4 +28,4 @@ vcpkg_copy_pdbs() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # Handle copyright -configure_file("${SOURCE_PATH}/COPYING" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/json-c/vcpkg.json b/ports/json-c/vcpkg.json index f4dbf0b1a105b5..16efcbaa1299ed 100644 --- a/ports/json-c/vcpkg.json +++ b/ports/json-c/vcpkg.json @@ -1,7 +1,6 @@ { "name": "json-c", - "version-date": "2022-06-26", - "port-version": 3, + "version-date": "2023-08-12", "description": "A JSON implementation in C", "homepage": "https://github.com/json-c/json-c", "license": "MIT", diff --git a/ports/json-dto/portfile.cmake b/ports/json-dto/portfile.cmake index 133fcd706d2d2c..cb16015ac8decd 100644 --- a/ports/json-dto/portfile.cmake +++ b/ports/json-dto/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO stiffstream/json_dto - REF 9a08aaab6caee28300043c96e1ad3e6700f0f8fc # v.0.3.1 - SHA512 09ca1072a3de2cc5c5ab6eeaa1b82014dcc6139992da84558e77fe4bfa42210ff9f7fa6ee7d7e6b2d4ac15fd7ae6286a6a56d8a72cce75fc73b91755bb831864 + REF "v.${VERSION}" + SHA512 176556702dfa4092b3e1b0face065b66041346d3f9e0a96bd96fada4b8ba2a423e83d11501fc724341f831d6b3e8ce93c0fd2f4f1018b1bfb0423f70e68e8adb ) vcpkg_cmake_configure( diff --git a/ports/json-dto/vcpkg.json b/ports/json-dto/vcpkg.json index 6c91808bcb68ac..c5e40fb37aa153 100644 --- a/ports/json-dto/vcpkg.json +++ b/ports/json-dto/vcpkg.json @@ -1,6 +1,6 @@ { "name": "json-dto", - "version": "0.3.1", + "version": "0.3.4", "description": "A small header-only library for converting data between json representation and c++ structs.", "homepage": "https://github.com/Stiffstream/json_dto", "license": "BSD-3-Clause", diff --git a/ports/json-rpc-cxx/portfile.cmake b/ports/json-rpc-cxx/portfile.cmake index cd1b8f21f2127d..1a756e55b1b81d 100644 --- a/ports/json-rpc-cxx/portfile.cmake +++ b/ports/json-rpc-cxx/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO jsonrpcx/json-rpc-cxx REF "v${VERSION}" - SHA512 0b8f2b1c8ff95bee14585f6b363f6aa4bf046e3905f7a65cf2e562e5c9181a3ba882baded36fab4d3ff9ac5b2f3245eeb54260f2163491af7fba264ff547f6d8 + SHA512 fa4ee807dd29027edd86949a8632adede77c3706406e6b78a8b6e38003f80103082ef70e0b89293a608db238d6f5662669b69cf0cb3d607bcc959c8801c5f3e0 HEAD_REF master PATCHES fix-config.patch diff --git a/ports/json-rpc-cxx/vcpkg.json b/ports/json-rpc-cxx/vcpkg.json index 2030a0e2f6135c..063e87308b6a3f 100644 --- a/ports/json-rpc-cxx/vcpkg.json +++ b/ports/json-rpc-cxx/vcpkg.json @@ -1,6 +1,6 @@ { "name": "json-rpc-cxx", - "version": "0.3.1", + "version": "0.3.2", "description": "A JSON-RPC 2.0 framework implemented in C++17 using the nlohmann's json for modern C++.", "homepage": "https://github.com/jsonrpcx/json-rpc-cxx", "license": "MIT", diff --git a/ports/json-schema-validator/portfile.cmake b/ports/json-schema-validator/portfile.cmake index 00ba4701836862..7f7e1459e3a1b3 100644 --- a/ports/json-schema-validator/portfile.cmake +++ b/ports/json-schema-validator/portfile.cmake @@ -1,26 +1,34 @@ +vcpkg_download_distfile(PATCH_JSON_SCHEMA_VALIDATOR_PR_315 + URLS https://github.com/pboettch/json-schema-validator/commit/0034c113477f83c28d4380de1ee189c25b1168e6.patch + SHA512 5c165b50813b0d9937ff0eb4d4a81e2d1e77718ac3b0d02b93931c8eddb4e06e4fae1822c5cc97a5b01c995916a29d0af03fcbcd8f059cb29cfeb0e2371b15e3 + FILENAME 0034c113477f83c28d4380de1ee189c25b1168e6.patch +) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO pboettch/json-schema-validator REF "${VERSION}" - SHA512 8d7fe6775774040099aa8d8b10fa18c4ccebe4437ecf9670710a0f64443d3588ca3e1bf1bc32a800518b748aa3acd89ecc61d1568b6dd8bf54273b33c5ab5d5a + SHA512 6d207031acdb94c44f96ff6346dccaf98f2c9d3619d71e419ddabff548ea34d50e8eb103622c99ae28ecb7fddedd687b297e5ad934aa0106c58ac59fc4d65ea9 HEAD_REF master + PATCHES + "${PATCH_JSON_SCHEMA_VALIDATOR_PR_315}" ) +string(COMPARE EQUAL ${VCPKG_LIBRARY_LINKAGE} "dynamic" BUILD_SHARED_LIBS) + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS + -DJSON_VALIDATOR_INSTALL=ON -DJSON_VALIDATOR_BUILD_TESTS=OFF -DJSON_VALIDATOR_BUILD_EXAMPLES=OFF + -DJSON_VALIDATOR_SHARED_LIBS=${BUILD_SHARED_LIBS} ) vcpkg_cmake_install() - -vcpkg_cmake_config_fixup(PACKAGE_NAME nlohmann_json_schema_validator CONFIG_PATH lib/cmake/nlohmann_json_schema_validator) - vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(PACKAGE_NAME "nlohmann_json_schema_validator" CONFIG_PATH "lib/cmake/nlohmann_json_schema_validator") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) -file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") - +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/json-schema-validator/usage b/ports/json-schema-validator/usage deleted file mode 100644 index 3493d3808e8669..00000000000000 --- a/ports/json-schema-validator/usage +++ /dev/null @@ -1,4 +0,0 @@ -The package json-schema-validator provides CMake integration: - - find_package(nlohmann_json_schema_validator REQUIRED) - target_link_libraries(main PRIVATE nlohmann_json_schema_validator) diff --git a/ports/json-schema-validator/vcpkg.json b/ports/json-schema-validator/vcpkg.json index 804066ba6a4220..898c8e972e81d0 100644 --- a/ports/json-schema-validator/vcpkg.json +++ b/ports/json-schema-validator/vcpkg.json @@ -1,6 +1,7 @@ { "name": "json-schema-validator", - "version": "2.2.0", + "version": "2.3.0", + "port-version": 2, "description": "C++ library for validating JSON documents based on a JSON Schema. This validator is based on the nlohmann-json library.", "homepage": "https://github.com/pboettch/json-schema-validator", "license": "MIT", diff --git a/ports/json-spirit/vcpkg.json b/ports/json-spirit/vcpkg.json index 37f23707913274..bbc8ca621b6405 100644 --- a/ports/json-spirit/vcpkg.json +++ b/ports/json-spirit/vcpkg.json @@ -1,8 +1,8 @@ { "name": "json-spirit", "version": "4.1.0", - "port-version": 4, - "description": "json parser using boost library", + "port-version": 5, + "description": "A C++ JSON parser/generator implemented with Boost Spirit", "dependencies": [ "boost-config", "boost-integer", diff --git a/ports/json5-parser/00001-fix-build.patch b/ports/json5-parser/00001-fix-build.patch index b67f7c47ae22e3..22a6b8e2871646 100644 --- a/ports/json5-parser/00001-fix-build.patch +++ b/ports/json5-parser/00001-fix-build.patch @@ -1,8 +1,15 @@ diff --git a/json5_parser/CMakeLists.txt b/json5_parser/CMakeLists.txt -index e83fb38..c09cae4 100644 +index 3fbc6bb..e278364 100644 --- a/json5_parser/CMakeLists.txt +++ b/json5_parser/CMakeLists.txt -@@ -15,3 +15,22 @@ INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR}) +@@ -1,3 +1,6 @@ ++cmake_minimum_required(VERSION 3.5) ++project(json5-parser) ++ + SET(JSON_SPIRIT_SRCS + json5_parser_reader.cpp json5_parser_reader.h + json5_parser_value.cpp json5_parser_value.h +@@ -15,3 +18,21 @@ INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR}) ADD_LIBRARY(json5_parser STATIC ${JSON_SPIRIT_SRCS}) @@ -12,16 +19,15 @@ index e83fb38..c09cae4 100644 + +target_include_directories(json5_parser PUBLIC $) + -+install(TARGETS json5_parser EXPORT json5-parser-config ++install(TARGETS json5_parser EXPORT json5-parser-config + RUNTIME DESTINATION bin + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib +) -+install(EXPORT json5-parser-config DESTINATION share/cmake/json5-parser) ++install(EXPORT json5-parser-config DESTINATION share/json5-parser) + +file(GLOB HEADERS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} json5_parser*.h) +foreach (HEADER ${HEADERS} ) + get_filename_component(HEADER_DIR ${HEADER} DIRECTORY) + install(FILES ${HEADER} DESTINATION include/${HEADER_DIR}) +endforeach() -+ diff --git a/ports/json5-parser/portfile.cmake b/ports/json5-parser/portfile.cmake index 6d44e304b4deac..50da0c1dbe2332 100644 --- a/ports/json5-parser/portfile.cmake +++ b/ports/json5-parser/portfile.cmake @@ -6,18 +6,21 @@ vcpkg_from_github( REF 580bfe30c5ee5e06a0f536d7bddb75c07a29eda6 # 1.0.0 SHA512 25cdbc02ed2e3b05f0644c3398230ab82ede093ed6f7d8f140a9810509dd05feab1187d62fc38818725a92c47029fe3dc5ecfdbe14e1e0a2ef314e925b369d59 HEAD_REF master - PATCHES 00001-fix-build.patch + PATCHES + 00001-fix-build.patch ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}/json5_parser" + OPTIONS + -DCMAKE_CXX_STANDARD=11 # Boost v1.84.0 libraries require C++11 ) vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_cmake_config_fixup(CONFIG_PATH share/cmake/json5-parser) +vcpkg_cmake_config_fixup() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -configure_file("${SOURCE_PATH}/LICENSE.txt" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/json5-parser/vcpkg.json b/ports/json5-parser/vcpkg.json index 7d9113497d86ba..c60818ec7c65d2 100644 --- a/ports/json5-parser/vcpkg.json +++ b/ports/json5-parser/vcpkg.json @@ -1,7 +1,7 @@ { "name": "json5-parser", "version": "1.0.0", - "port-version": 5, + "port-version": 7, "description": "An enhancement of the JSON Spirit C++ library to understand json5.", "homepage": "https://github.com/Caltech-IPAC/json5_parser", "dependencies": [ diff --git a/ports/jsoncons/portfile.cmake b/ports/jsoncons/portfile.cmake index 50c086c279ca97..5eb30ddc103c20 100644 --- a/ports/jsoncons/portfile.cmake +++ b/ports/jsoncons/portfile.cmake @@ -5,7 +5,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO danielaparker/jsoncons REF v${VERSION} - SHA512 6cfe09f0464f3212017fa96e25772397cd849e91b7d08ff0b685bbee1884003d974ebc244b0cbc5f643215b0168c2e9d93496790a38fb9496b1c1ae86c610522 + SHA512 c67d4741d1b2dfa9f7d68d28b90a9acf9966bf03d54b0fb9aa36dbc64e50992f096a89bce4f6933d1af092402cf57760e0320b0b73e64642f4c68633249de52e HEAD_REF master ) diff --git a/ports/jsoncons/vcpkg.json b/ports/jsoncons/vcpkg.json index dbc95568f5b63d..5cefb49842a7b0 100644 --- a/ports/jsoncons/vcpkg.json +++ b/ports/jsoncons/vcpkg.json @@ -1,6 +1,6 @@ { "name": "jsoncons", - "version": "0.171.0", + "version": "1.1.0", "description": "A C++, header-only library for constructing JSON and JSON-like text and binary data formats, with JSON Pointer, JSON Patch, JSON Schema, JSONPath, JMESPath, CSV, MessagePack, CBOR, BSON, UBJSON", "homepage": "https://github.com/danielaparker/jsoncons", "license": "BSL-1.0", diff --git a/ports/jsoncpp/portfile.cmake b/ports/jsoncpp/portfile.cmake index aaed28616a3e45..f70f97894c363e 100644 --- a/ports/jsoncpp/portfile.cmake +++ b/ports/jsoncpp/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO open-source-parsers/jsoncpp - REF 1.9.5 - SHA512 1d06e044759b1e1a4cc4960189dd7e001a0a4389d7239a6d59295af995a553518e4e0337b4b4b817e70da5d9731a4c98655af90791b6287870b5ff8d73ad8873 + REF "${VERSION}" + SHA512 006d81f9f723dcfe875ebc2147449c07c5246bf97dd7b9eee1909decc914b051d6f3f06feb5c3dfa143d28773fb310aabb04a81dc447cc61513309df8eba8b08 HEAD_REF master ) @@ -19,6 +19,7 @@ vcpkg_cmake_configure( -DJSONCPP_WITH_POST_BUILD_UNITTEST=OFF -DJSONCPP_WITH_TESTS=OFF -DJSONCPP_WITH_EXAMPLE=OFF + -DBUILD_OBJECT_LIBS=OFF ) vcpkg_cmake_install() @@ -28,7 +29,6 @@ vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/jsoncpp) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") vcpkg_copy_pdbs() - -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) - vcpkg_fixup_pkgconfig() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/jsoncpp/vcpkg.json b/ports/jsoncpp/vcpkg.json index b7e65e6f7760a6..4ca5d1fee6d69e 100644 --- a/ports/jsoncpp/vcpkg.json +++ b/ports/jsoncpp/vcpkg.json @@ -1,9 +1,9 @@ { "name": "jsoncpp", - "version": "1.9.5", - "port-version": 1, - "description": "jsoncpp is an implementation of a JSON reader and writer in C++. JSON (JavaScript Object Notation) is a lightweight data-interchange format that it is easy to parse and redeable for human.", + "version": "1.9.6", + "description": "JsonCpp is a C++ library that allows manipulating JSON values, including serialization and deserialization to and from strings. It can also preserve existing comment in unserialization/serialization steps, making it a convenient format to store user input files.", "homepage": "https://github.com/open-source-parsers/jsoncpp", + "license": "MIT", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/jsonifier/portfile.cmake b/ports/jsonifier/portfile.cmake index 1556a53bc03da2..22d4b01a371572 100644 --- a/ports/jsonifier/portfile.cmake +++ b/ports/jsonifier/portfile.cmake @@ -2,16 +2,16 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO realtimechris/jsonifier REF "v${VERSION}" - SHA512 1e51b64a802437674d87a6a61396b2e3878fece954be8560b6ef8fc58a6180c82c3e0f7d922c77c881dd3029f83866842fa146501f961faff3aa3072dadd5e1b + SHA512 d6465426218429a1597fa66b2d8cb912bce00831d663be7b8ea406267537dd6f455c1b99c3c8551dd8165a75d9dbe42fefedbad5979eb45d01e0286f08daad96 HEAD_REF main ) +set(VCPKG_BUILD_TYPE release) # header-only + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" ) vcpkg_cmake_install() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") - vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/License.md") diff --git a/ports/jsonifier/uninstall-head.patch b/ports/jsonifier/uninstall-head.patch new file mode 100644 index 00000000000000..f00fc12b7b4ad8 --- /dev/null +++ b/ports/jsonifier/uninstall-head.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index fc4ed65..23a9738 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -63,7 +63,7 @@ set_target_properties( + OUTPUT_NAME "jsonifier" + CXX_STANDARD_REQUIRED ON + CXX_EXTENSIONS OFF +- PUBLIC_HEADER "${HEADERS}" ++ #PUBLIC_HEADER "${HEADERS}" + ) + + target_include_directories( diff --git a/ports/jsonifier/vcpkg.json b/ports/jsonifier/vcpkg.json index 6038fd9b901e13..1d9196252acfb9 100644 --- a/ports/jsonifier/vcpkg.json +++ b/ports/jsonifier/vcpkg.json @@ -1,6 +1,6 @@ { "name": "jsonifier", - "version": "0.9.9", + "version": "0.9.98", "description": "A few classes for parsing and serializing json - very rapidly.", "homepage": "https://github.com/realtimechris/jsonifier", "license": "MIT", @@ -9,10 +9,6 @@ { "name": "vcpkg-cmake", "host": true - }, - { - "name": "vcpkg-cmake-config", - "host": true } ] } diff --git a/ports/juce/0001-build-allow-setting-JUCE_PLUGINHOST_LADSPA.patch b/ports/juce/0001-build-allow-setting-JUCE_PLUGINHOST_LADSPA.patch new file mode 100644 index 00000000000000..3c714e65cf0795 --- /dev/null +++ b/ports/juce/0001-build-allow-setting-JUCE_PLUGINHOST_LADSPA.patch @@ -0,0 +1,15 @@ +diff --git a/extras/AudioPluginHost/CMakeLists.txt b/extras/AudioPluginHost/CMakeLists.txt +index 852796383..37a5306c9 100644 +--- a/extras/AudioPluginHost/CMakeLists.txt ++++ b/extras/AudioPluginHost/CMakeLists.txt +@@ -51,7 +51,7 @@ target_compile_definitions(AudioPluginHost PRIVATE + JUCE_CONTENT_SHARING=1 + JUCE_DIRECTSOUND=1 + JUCE_DISABLE_CAUTIOUS_PARAMETER_ID_CHECKING=1 +- JUCE_PLUGINHOST_LADSPA=1 ++ JUCE_PLUGINHOST_LADSPA=${JUCE_PLUGINHOST_LADSPA} + JUCE_PLUGINHOST_LV2=1 + JUCE_PLUGINHOST_VST3=1 + JUCE_PLUGINHOST_VST=0 +-- +2.34.1 diff --git a/ports/juce/0004-install-paths.patch b/ports/juce/0004-install-paths.patch new file mode 100644 index 00000000000000..c66511853a3033 --- /dev/null +++ b/ports/juce/0004-install-paths.patch @@ -0,0 +1,23 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4262a9852..a46b51f1a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -167,14 +167,14 @@ if(("${CMAKE_SOURCE_DIR}" STREQUAL "${JUCE_SOURCE_DIR}") AND (NOT JUCE_BUILD_HEL + _juce_add_lv2_manifest_helper_target() + + if(TARGET juce_lv2_helper) +- install(TARGETS juce_lv2_helper EXPORT LV2_HELPER DESTINATION "bin/JUCE-${JUCE_VERSION}") ++ install(TARGETS juce_lv2_helper EXPORT LV2_HELPER DESTINATION "${JUCE_TOOL_INSTALL_DIR}") + install(EXPORT LV2_HELPER NAMESPACE juce:: DESTINATION "${JUCE_INSTALL_DESTINATION}") + endif() + + _juce_add_vst3_manifest_helper_target() + + if(TARGET juce_vst3_helper) +- install(TARGETS juce_vst3_helper EXPORT VST3_HELPER DESTINATION "bin/JUCE-${JUCE_VERSION}") ++ install(TARGETS juce_vst3_helper EXPORT VST3_HELPER DESTINATION "${JUCE_TOOL_INSTALL_DIR}") + install(EXPORT VST3_HELPER NAMESPACE juce:: DESTINATION "${JUCE_INSTALL_DESTINATION}") + endif() + endif() +-- +2.34.1 diff --git a/ports/juce/devendor-oboe.diff b/ports/juce/devendor-oboe.diff new file mode 100644 index 00000000000000..c45949a28fba61 --- /dev/null +++ b/ports/juce/devendor-oboe.diff @@ -0,0 +1,17 @@ +diff --git a/extras/Build/CMake/JUCEModuleSupport.cmake b/extras/Build/CMake/JUCEModuleSupport.cmake +index afefe2d..2dd2ecf 100644 +--- a/extras/Build/CMake/JUCEModuleSupport.cmake ++++ b/extras/Build/CMake/JUCEModuleSupport.cmake +@@ -603,8 +603,10 @@ function(juce_add_module module_path) + endif() + + if((${module_name} STREQUAL "juce_audio_devices") AND (CMAKE_SYSTEM_NAME STREQUAL "Android")) +- add_subdirectory("${module_path}/native/oboe") +- target_link_libraries(${module_name} INTERFACE oboe) ++ find_path(JUCE_OBOE_INCLUDE_DIR NAMES oboe/Oboe.h REQUIRED) ++ target_include_directories(${module_name} INTERFACE "${JUCE_OBOE_INCLUDE_DIR}") ++ find_library(JUCE_OBOE_LIBRARY NAMES oboe REQUIRED) ++ target_link_libraries(${module_name} INTERFACE "${JUCE_OBOE_LIBRARY}" log OpenSLES) + endif() + + if((${module_name} STREQUAL "juce_opengl") AND (CMAKE_SYSTEM_NAME STREQUAL "Android")) diff --git a/ports/juce/gcc-has-builtin.diff b/ports/juce/gcc-has-builtin.diff new file mode 100644 index 00000000000000..b403964cd9b017 --- /dev/null +++ b/ports/juce/gcc-has-builtin.diff @@ -0,0 +1,12 @@ +diff --git a/modules/juce_graphics/juce_graphics_Harfbuzz.cpp b/modules/juce_graphics/juce_graphics_Harfbuzz.cpp +index a491af9..44e934a 100644 +--- a/modules/juce_graphics/juce_graphics_Harfbuzz.cpp ++++ b/modules/juce_graphics/juce_graphics_Harfbuzz.cpp +@@ -84,7 +84,6 @@ JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wdeprecated-declarations", + // -Wexpansion-to-defined on gcc 7. There's no way to turn that warning off + // locally, so we sidestep it. + #if ! defined(__has_builtin) && defined(__GNUC__) && __GNUC__ >= 5 +- #define __has_builtin(x) 1 + #endif + + #include diff --git a/ports/juce/install-extras.diff b/ports/juce/install-extras.diff new file mode 100644 index 00000000000000..ae80aef526e2fe --- /dev/null +++ b/ports/juce/install-extras.diff @@ -0,0 +1,19 @@ +diff --git a/extras/CMakeLists.txt b/extras/CMakeLists.txt +index 7f5555e..539f1cb 100644 +--- a/extras/CMakeLists.txt ++++ b/extras/CMakeLists.txt +@@ -35,5 +35,14 @@ add_subdirectory(AudioPerformanceTest) + add_subdirectory(AudioPluginHost) + add_subdirectory(BinaryBuilder) + add_subdirectory(NetworkGraphicsDemo) ++if(NOT ANDROID AND NOT IOS) + add_subdirectory(Projucer) ++endif() + add_subdirectory(UnitTestRunner) ++ ++file(GLOB tools RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/*") ++foreach(tool IN LISTS tools) ++ if(TARGET "${tool}") ++ install(TARGETS "${tool}" DESTINATION "${JUCE_TOOL_INSTALL_DIR}") ++ endif() ++endforeach() diff --git a/ports/juce/juceaide.diff b/ports/juce/juceaide.diff new file mode 100644 index 00000000000000..de39cd4d09d5fe --- /dev/null +++ b/ports/juce/juceaide.diff @@ -0,0 +1,83 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 49d85c6..76209f5 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,3 +1,5 @@ ++# Save cmake input for nested juceaide build ++get_cmake_property(vcpkg_input_vars CACHE_VARIABLES) + # ============================================================================== + # + # This file is part of the JUCE framework. +@@ -142,7 +144,10 @@ set(JUCE_INSTALL_DESTINATION "lib/cmake/JUCE-${JUCE_VERSION}" CACHE STRING + + set(JUCE_MODULE_PATH "include/JUCE-${JUCE_VERSION}/modules") + set(UTILS_INSTALL_DIR "${JUCE_INSTALL_DESTINATION}") +-set(JUCEAIDE_PATH "${JUCE_TOOL_INSTALL_DIR}/${JUCE_JUCEAIDE_NAME}") ++set(JUCEAIDE_PATH "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/tools/juce/${JUCE_JUCEAIDE_NAME}") ++if(WITH_JUCEAIDE) ++ set(JUCEAIDE_PATH "${WITH_JUCEAIDE}") ++endif() + configure_package_config_file("${JUCE_CMAKE_UTILS_DIR}/JUCEConfig.cmake.in" + "${JUCE_BINARY_DIR}/JUCEConfig.cmake" + PATH_VARS UTILS_INSTALL_DIR JUCEAIDE_PATH JUCE_MODULE_PATH +diff --git a/extras/Build/juceaide/CMakeLists.txt b/extras/Build/juceaide/CMakeLists.txt +index 651aa53..9ff0fba 100644 +--- a/extras/Build/juceaide/CMakeLists.txt ++++ b/extras/Build/juceaide/CMakeLists.txt +@@ -55,12 +55,16 @@ if(JUCE_BUILD_HELPER_TOOLS) + juce::juce_recommended_lto_flags + juce::juce_recommended_warning_flags) + +- set_target_properties(juceaide PROPERTIES +- MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") + + export(TARGETS juceaide + NAMESPACE juce_tools:: + FILE "${JUCE_BINARY_DIR}/JUCEToolsExport.cmake") ++ ++elseif(WITH_JUCEAIDE) ++ add_executable(juceaide IMPORTED GLOBAL) ++ set_target_properties(juceaide PROPERTIES IMPORTED_LOCATION "${WITH_JUCEAIDE}") ++ add_executable(juce::juceaide ALIAS juceaide) ++ + else() + message(STATUS "Configuring juceaide") + +@@ -111,13 +115,18 @@ else() + set(ENV{CMAKE_GENERATOR_PLATFORM} "${CMAKE_HOST_SYSTEM_PROCESSOR}") + endif() + ++ set(options "") ++ list(REMOVE_ITEM vcpkg_input_vars "JUCE_BUILD_EXTRAS") ++ foreach(var IN LISTS vcpkg_input_vars) ++ list(APPEND options "-D${var}=$CACHE{${var}}") ++ endforeach() + # Looks like we're bootstrapping, reinvoke CMake + execute_process(COMMAND "${CMAKE_COMMAND}" + "." + "-B${JUCE_BINARY_DIR}/tools" + "-G${CMAKE_GENERATOR}" + "-DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM}" +- "-DCMAKE_BUILD_TYPE=Debug" ++ ${options} + "-DJUCE_BUILD_HELPER_TOOLS=ON" + "-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}" + WORKING_DIRECTORY "${JUCE_SOURCE_DIR}" +@@ -133,7 +142,7 @@ else() + + execute_process(COMMAND "${CMAKE_COMMAND}" + --build "${JUCE_BINARY_DIR}/tools" +- --config Debug ++ --target juceaide + OUTPUT_VARIABLE command_output + ERROR_VARIABLE command_output + RESULT_VARIABLE result_variable) +@@ -148,7 +157,7 @@ else() + include("${JUCE_BINARY_DIR}/tools/JUCEToolsExport.cmake") + + add_executable(juceaide IMPORTED GLOBAL) +- get_target_property(imported_location juce_tools::juceaide IMPORTED_LOCATION_DEBUG) ++ get_target_property(imported_location juce_tools::juceaide IMPORTED_LOCATION_RELEASE) + set_target_properties(juceaide PROPERTIES IMPORTED_LOCATION "${imported_location}") + + add_executable(juce::juceaide ALIAS juceaide) diff --git a/ports/juce/missing-modules.diff b/ports/juce/missing-modules.diff new file mode 100644 index 00000000000000..8e2ea05fdf59c8 --- /dev/null +++ b/ports/juce/missing-modules.diff @@ -0,0 +1,20 @@ +diff --git a/extras/Build/CMake/JUCEConfig.cmake.in b/extras/Build/CMake/JUCEConfig.cmake.in +index c0c1eef..03a09ef 100644 +--- a/extras/Build/CMake/JUCEConfig.cmake.in ++++ b/extras/Build/CMake/JUCEConfig.cmake.in +@@ -39,6 +39,7 @@ include("@PACKAGE_UTILS_INSTALL_DIR@/JUCEUtils.cmake") + + set(_juce_modules + juce_analytics ++ juce_animation + juce_audio_basics + juce_audio_devices + juce_audio_formats +@@ -55,6 +56,7 @@ set(_juce_modules + juce_gui_basics + juce_gui_extra + juce_javascript ++ juce_midi_ci + juce_opengl + juce_osc + juce_product_unlocking diff --git a/ports/juce/portfile.cmake b/ports/juce/portfile.cmake new file mode 100644 index 00000000000000..dd7f250f5b6276 --- /dev/null +++ b/ports/juce/portfile.cmake @@ -0,0 +1,174 @@ +set(VCPKG_BUILD_TYPE release) # no libraries + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO juce-framework/JUCE + REF "${VERSION}" + SHA512 c1cb2f315c2b3b9c534d21b16d31e641661fbb9ad55b29a0949c038cb69cce65d35c8c669a400e33fdcedd7fc5ef578a1eba787826d525402330551c4d240fe6 + HEAD_REF master + PATCHES + 0001-build-allow-setting-JUCE_PLUGINHOST_LADSPA.patch + 0004-install-paths.patch + gcc-has-builtin.diff + devendor-oboe.diff + install-extras.diff + juceaide.diff + missing-modules.diff + prefer-cmake.diff + vcpkg-compile-definitions.diff +) +file(REMOVE_RECURSE "${SOURCE_PATH}/modules/juce_audio_devices/native/oboe") + +set(feature_compile_definitions + "curl" JUCE_USE_CURL + "fontconfig" JUCE_USE_FONTCONFIG + "freetype" JUCE_USE_FREETYPE + "jack" JUCE_JACK + "ladspa" JUCE_PLUGINHOST_LADSPA + "web-browser" JUCE_WEB_BROWSER + "xcursor" JUCE_USE_XCURSOR + "xinerama" JUCE_USE_XINERAMA + "xrandr" JUCE_USE_XRANDR + "xrender" JUCE_USE_XRENDER +) +set(enforced_definitions "") +while(feature_compile_definitions) + list(POP_FRONT feature_compile_definitions feature compile_definition) + if(NOT feature IN_LIST FEATURES) + # Enforce controlled absence of dependency + list(APPEND enforced_definitions "${compile_definition}=0") + endif() +endwhile() +list(JOIN enforced_definitions "\n " enforced_definitions) +file(WRITE "${SOURCE_PATH}/extras/Build/CMake/vcpkg-compile-definitions.cmake" " +function(vcpkg_juce_add_compile_definitions target) + target_compile_definitions(\${target} INTERFACE + ${enforced_definitions} + ) +endfunction() +") + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS +FEATURES + "extras" JUCE_BUILD_EXTRAS + "ladspa" JUCE_PLUGINHOST_LADSPA +) +# Based on https://github.com/juce-framework/JUCE/blob/master/docs/Linux%20Dependencies.md +if(VCPKG_TARGET_IS_LINUX) + message("juce currently requires the following programs from the system package manager: + libx11-dev libxcomposite-dev libxext-dev +On Ubuntu derivatives: + sudo apt install libx11-dev libxcomposite-dev libxext-dev +") + if(JUCE_OPENGL) + message("juce with opengl feature requires the following packages via the system package manager: + libglu1-mesa-dev mesa-common-dev +On Ubuntu derivatives: + sudo apt install libglu1-mesa-dev mesa-common-dev +") + endif() + + if(${JUCE_PLUGINHOST_LADSPA}) + message("juce with ladspa feature requires the following packages via the system package manager: + ladspa-sdk +On Ubuntu derivatives: + sudo apt install ladspa-sdk +") + endif() + + if(JUCE_USE_XCURSOR) + message("juce with xcursor feature requires the following packages via the system package manager: + libxcursor-dev +On Ubuntu derivatives: + sudo apt install libxcursor-dev +") + endif() + + if(JUCE_USE_XINERAMA) + message("juce with xinerama feature requires the following packages via the system package manager: + libxinerama-dev +On Ubuntu derivatives: + sudo apt install libxinerama-dev +") + endif() + + if(JUCE_USE_XRANDR) + message("juce with xrandr feature requires the following packages via the system package manager: + libxrandr-dev +On Ubuntu derivatives: + sudo apt install libxrandr-dev +") + endif() + + if(JUCE_USE_XRENDER) + message("juce with xrender feature requires the following packages via the system package manager: + libxrender-dev +On Ubuntu derivatives: + sudo apt install libxrender-dev +") + endif() + + if(JUCE_WEB_BROWSER) + message("juce with web-browser feature requires the following packages via the system package manager: + libwebkit2gtk-4.0-dev +On Ubuntu derivatives: + sudo apt install libwebkit2gtk-4.0-dev +") + endif() +endif() + +if(VCPKG_CROSSCOMPILING) + # Constructed with CURRENT_INSTALLED_DIR, for vcpkg_cmake_config_fixup. + list(APPEND FEATURE_OPTIONS "-DWITH_JUCEAIDE=${CURRENT_INSTALLED_DIR}/../${HOST_TRIPLET}/tools/${PORT}/juceaide${VCPKG_HOST_EXECUTABLE_SUFFIX}") +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DJUCE_ENABLE_MODULE_SOURCE_GROUPS=ON + -DJUCE_INSTALL_DESTINATION=share/juce + -DJUCE_TOOL_INSTALL_DIR=bin + ${FEATURE_OPTIONS} + MAYBE_UNUSED_VARIABLES + JUCE_TOOL_INSTALL_DIR + JUCE_PLUGINHOST_LADSPA +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup() +vcpkg_fixup_pkgconfig() +vcpkg_copy_pdbs() + +file(GLOB icons "${CURRENT_PACKAGES_DIR}/bin/*.ico") +if(icons) + file(REMOVE_RECURSE ${icons}) +endif() + +set(tool_names "") +file(GLOB tools "${CURRENT_PACKAGES_DIR}/bin/*") +set(name_component NAME_WE) +if(VCPKG_TARGET_EXECUTABLE_SUFFIX STREQUAL "") + set(name_component NAME) +endif() +foreach(tool IN LISTS tools) + get_filename_component(name "${tool}" ${name_component}) + list(APPEND tool_names "${name}") +endforeach() +if(tool_names) + vcpkg_copy_tools(TOOL_NAMES ${tool_names} AUTO_CLEAN) +endif() + +# Files not generated for Android or iOS +file(TOUCH "${CURRENT_PACKAGES_DIR}/share/juce/LV2_HELPER.cmake") +file(TOUCH "${CURRENT_PACKAGES_DIR}/share/juce/VST3_HELPER.cmake") + +# Catch libs which must be de-vendored, e.g. oboe. +# This is to avoid ownership conflicts. +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib" "${CURRENT_PACKAGES_DIR}/include/oboe") +if(EXISTS "${CURRENT_PACKAGES_DIR}/lib") + message(${Z_VCPKG_BACKCOMPAT_MESSAGE_LEVEL} "juce must not install files to ${CURRENT_PACKAGES_DIR}/lib.") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") +endif() + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") diff --git a/ports/juce/prefer-cmake.diff b/ports/juce/prefer-cmake.diff new file mode 100644 index 00000000000000..4395748427e032 --- /dev/null +++ b/ports/juce/prefer-cmake.diff @@ -0,0 +1,45 @@ +diff --git a/extras/Build/CMake/JUCEModuleSupport.cmake b/extras/Build/CMake/JUCEModuleSupport.cmake +index e89cc5d..afefe2d 100644 +--- a/extras/Build/CMake/JUCEModuleSupport.cmake ++++ b/extras/Build/CMake/JUCEModuleSupport.cmake +@@ -390,10 +390,40 @@ function(_juce_create_pkgconfig_target name) + return() + endif() + ++ # Prefer CMake over pkg-config ++ set(link_libs "") ++ if("alsa" IN_LIST JUCE_ARG_UNPARSED_ARGUMENTS) ++ list(REMOVE_ITEM JUCE_ARG_UNPARSED_ARGUMENTS "alsa") ++ find_package(ALSA REQUIRED) ++ list(APPEND link_libs ALSA::ALSA) ++ endif() ++ if("fontconfig" IN_LIST JUCE_ARG_UNPARSED_ARGUMENTS) ++ list(REMOVE_ITEM JUCE_ARG_UNPARSED_ARGUMENTS "fontconfig") ++ find_package(Fontconfig REQUIRED) ++ list(APPEND link_libs Fontconfig::Fontconfig) ++ endif() ++ if("freetype2" IN_LIST JUCE_ARG_UNPARSED_ARGUMENTS) ++ list(REMOVE_ITEM JUCE_ARG_UNPARSED_ARGUMENTS "freetype2") ++ find_package(Freetype REQUIRED) ++ list(APPEND link_libs Freetype::Freetype) ++ endif() ++ if("gl" IN_LIST JUCE_ARG_UNPARSED_ARGUMENTS) ++ list(REMOVE_ITEM JUCE_ARG_UNPARSED_ARGUMENTS "gl") ++ find_package(OpenGL REQUIRED) ++ list(APPEND link_libs OpenGL::GL) ++ endif() ++ if("libcurl" IN_LIST JUCE_ARG_UNPARSED_ARGUMENTS) ++ list(REMOVE_ITEM JUCE_ARG_UNPARSED_ARGUMENTS "libcurl") ++ find_package(CURL REQUIRED) ++ list(APPEND link_libs CURL::libcurl) ++ endif() ++ if(JUCE_ARG_UNPARSED_ARGUMENTS) + find_package(PkgConfig REQUIRED) + pkg_check_modules(${name} ${JUCE_ARG_UNPARSED_ARGUMENTS}) ++ endif() + + add_library(pkgconfig_${name} INTERFACE) ++ set_target_properties(pkgconfig_${name} PROPERTIES INTERFACE_LINK_LIBRARIES "${link_libs}") + add_library(juce::pkgconfig_${name} ALIAS pkgconfig_${name}) + install(TARGETS pkgconfig_${name} EXPORT JUCE) + diff --git a/ports/juce/usage b/ports/juce/usage new file mode 100644 index 00000000000000..a9567433b09277 --- /dev/null +++ b/ports/juce/usage @@ -0,0 +1,30 @@ +juce provides the following common CMake targets: + + find_package(JUCE CONFIG REQUIRED) + target_link_libraries(main PRIVATE + juce::juce_core + juce::juce_audio_basics + juce::juce_events + juce::juce_audio_devices + juce::juce_recommended_config_flags + juce::juce_recommended_lto_flags + juce::juce_recommended_warning_flags) + +See the Juce CMake API documentation and the License for details on how to create targets. Here are other available targets: + + juce::juce_graphics + juce::juce_gui_basics + juce::juce_gui_extra + juce::juce_opengl + juce::juce_analytics + juce::juce_audio_formats + juce::juce_audio_plugin_client + juce::juce_audio_processors + juce::juce_audio_utils + juce::juce_box2d + juce::juce_cryptography + juce::juce_data_structures + juce::juce_dsp + juce::juce_osc + juce::juce_product_unlocking + juce::juce_video diff --git a/ports/juce/vcpkg-compile-definitions.diff b/ports/juce/vcpkg-compile-definitions.diff new file mode 100644 index 00000000000000..6ba027856870bc --- /dev/null +++ b/ports/juce/vcpkg-compile-definitions.diff @@ -0,0 +1,27 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 76209f5..69dc639 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -167,6 +167,7 @@ install(FILES "${JUCE_BINARY_DIR}/JUCEConfigVersion.cmake" + "${JUCE_CMAKE_UTILS_DIR}/JUCECheckAtomic.cmake" + "${JUCE_CMAKE_UTILS_DIR}/JUCEHelperTargets.cmake" + "${JUCE_CMAKE_UTILS_DIR}/JUCEModuleSupport.cmake" ++ "${JUCE_CMAKE_UTILS_DIR}/vcpkg-compile-definitions.cmake" + "${JUCE_CMAKE_UTILS_DIR}/JUCEUtils.cmake" + "${JUCE_CMAKE_UTILS_DIR}/JuceLV2Defines.h.in" + "${JUCE_CMAKE_UTILS_DIR}/LaunchScreen.storyboard" +diff --git a/extras/Build/CMake/JUCEModuleSupport.cmake b/extras/Build/CMake/JUCEModuleSupport.cmake +index 2dd2ecf..635c50e 100644 +--- a/extras/Build/CMake/JUCEModuleSupport.cmake ++++ b/extras/Build/CMake/JUCEModuleSupport.cmake +@@ -96,8 +96,10 @@ endif() + + # ================================================================================================== + ++include("${CMAKE_CURRENT_LIST_DIR}/vcpkg-compile-definitions.cmake") + function(_juce_add_interface_library target) + add_library(${target} INTERFACE) ++ vcpkg_juce_add_compile_definitions(${target}) + target_sources(${target} INTERFACE ${ARGN}) + endfunction() + diff --git a/ports/juce/vcpkg.json b/ports/juce/vcpkg.json new file mode 100644 index 00000000000000..14beb51c949949 --- /dev/null +++ b/ports/juce/vcpkg.json @@ -0,0 +1,180 @@ +{ + "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json", + "name": "juce", + "version": "8.0.4", + "port-version": 1, + "description": "Open-source cross-platform C++ application framework for desktop and mobile applications, including VST, VST3, AU, AUv3, AAX and LV2 audio plug-ins and plug-in hosts", + "homepage": "https://juce.com", + "license": null, + "supports": "!uwp", + "dependencies": [ + { + "name": "juce", + "host": true, + "default-features": false, + "features": [ + "juceaide" + ] + }, + { + "name": "oboe", + "platform": "android" + }, + "opengl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "default-features": [ + { + "name": "alsa", + "platform": "linux" + }, + { + "name": "curl", + "platform": "freebsd | linux | openbsd" + }, + { + "name": "fontconfig", + "platform": "freebsd | linux | openbsd" + }, + { + "name": "xcursor", + "platform": "linux" + }, + { + "name": "xinerama", + "platform": "linux" + }, + { + "name": "xrandr", + "platform": "linux" + }, + { + "name": "xrender", + "platform": "linux" + } + ], + "features": { + "alsa": { + "description": "Enable ALSA support", + "dependencies": [ + "alsa" + ] + }, + "curl": { + "description": "Use CURL for network support", + "supports": "freebsd | linux | openbsd", + "dependencies": [ + { + "name": "curl", + "default-features": false + } + ] + }, + "extras": { + "description": "Enable JUCE extras such as Projucer, AudioPluginHost, BinaryBuilder.", + "dependencies": [ + { + "name": "juce", + "default-features": false, + "features": [ + "freetype" + ] + }, + { + "name": "juce", + "default-features": false, + "features": [ + "alsa" + ], + "platform": "linux" + }, + { + "name": "juce", + "default-features": false, + "features": [ + "curl" + ], + "platform": "freebsd | linux | openbsd" + } + ] + }, + "fontconfig": { + "description": "Enable Fontconfig support", + "dependencies": [ + "fontconfig", + { + "name": "juce", + "default-features": false, + "features": [ + "freetype" + ] + } + ] + }, + "freetype": { + "description": "Enable FreeType support", + "dependencies": [ + "freetype" + ] + }, + "jack": { + "description": "Enable JACK audio support", + "dependencies": [ + "jack2" + ] + }, + "juceaide": { + "description": "Build the juceaide tool", + "supports": "native", + "dependencies": [ + { + "name": "juce", + "default-features": false, + "features": [ + "freetype" + ] + } + ] + }, + "ladspa": { + "description": "Enable LADSPA plugin host support." + }, + "web-browser": { + "description": "Enable WebBrowser support", + "dependencies": [ + { + "name": "webview2", + "platform": "windows" + } + ] + }, + "xcursor": { + "description": "Enable XCursor support" + }, + "xinerama": { + "description": "Enable Xinerama support", + "dependencies": [ + "libxinerama" + ] + }, + "xrandr": { + "description": "Enable XRandR support", + "dependencies": [ + "libxrandr" + ] + }, + "xrender": { + "description": "Enable XRender support", + "dependencies": [ + "libxrender" + ] + } + } +} diff --git a/ports/jwt-cpp/external-json.diff b/ports/jwt-cpp/external-json.diff new file mode 100644 index 00000000000000..b96602c11c01f1 --- /dev/null +++ b/ports/jwt-cpp/external-json.diff @@ -0,0 +1,33 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5cd876f..8e3dfe6 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -66,9 +66,8 @@ if(JWT_EXTERNAL_PICOJSON) + find_package(picojson 1.3.0 REQUIRED) + endif() + +-find_package(nlohmann_json CONFIG) + +-if(NOT nlohmann_json_FOUND) ++if(0) + message(STATUS "jwt-cpp: using FetchContent for nlohmann json") + include(FetchContent) + FetchContent_Declare(nlohmann_json +@@ -121,6 +120,9 @@ endif() + + if(JWT_EXTERNAL_PICOJSON) + target_link_libraries(jwt-cpp INTERFACE picojson::picojson>) ++else() ++ find_path(PICOJSON_INCLUDE_DIR "picojson/picojson.h" REQUIRED) ++ target_include_directories(jwt-cpp INTERFACE "${PICOJSON_INCLUDE_DIR}") + endif() + + # Hunter needs relative paths so the files are placed correctly +@@ -139,7 +141,6 @@ install(EXPORT jwt-cpp-targets NAMESPACE jwt-cpp:: FILE jwt-cpp-targets.cmake + DESTINATION ${JWT_CMAKE_FILES_INSTALL_DIR}) + install(DIRECTORY ${JWT_INCLUDE_PATH}/jwt-cpp DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + if(NOT JWT_EXTERNAL_PICOJSON AND NOT JWT_DISABLE_PICOJSON) +- install(FILES ${JWT_INCLUDE_PATH}/picojson/picojson.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/picojson) + endif() + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/jwt-cpp-config.cmake ${CMAKE_CURRENT_BINARY_DIR}/jwt-cpp-config-version.cmake + DESTINATION ${JWT_CMAKE_FILES_INSTALL_DIR}) diff --git a/ports/jwt-cpp/portfile.cmake b/ports/jwt-cpp/portfile.cmake index 904acd0d139215..3d6f8a951fe5a8 100644 --- a/ports/jwt-cpp/portfile.cmake +++ b/ports/jwt-cpp/portfile.cmake @@ -1,12 +1,23 @@ +set(VCPKG_BUILD_TYPE release) # header-only + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Thalhammer/jwt-cpp - REF 4a537e969891dde542ad8b1a4a214955a83be29f # v0.6.0 - SHA512 eeeb6adb7f94b699a020b5622b9dbb6c677d92779b57bfb2298b331a5cf69d9112d0b123f0c2ca235ecd96df6d32fcf44e85e144fa414aeff8fd67e3b87576d2 + REF "v${VERSION}" + SHA512 b6fdb93e3f2f065a2eb45fe16cb076a932b8d4bfad2251bd66d2be40d8afaf5c27a9cf17aaea61d8bfa3f5ff9ed3b45f90962dc14d72704ac5b9d717c12cc79f HEAD_REF master + PATCHES + external-json.diff +) +file(REMOVE_RECURSE "${SOURCE_PATH}/include/picojson") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DJWT_BUILD_EXAMPLES=OFF + -DJWT_CMAKE_FILES_INSTALL_DIR=share/${PORT} ) -# Copy the header files -file(GLOB HEADER_FILES ${SOURCE_PATH}/include/jwt-cpp/*) -file(COPY ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/jwt-cpp) -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/jwt-cpp/vcpkg.json b/ports/jwt-cpp/vcpkg.json index 254d8564f1ffc1..77ba82e2b92e22 100644 --- a/ports/jwt-cpp/vcpkg.json +++ b/ports/jwt-cpp/vcpkg.json @@ -1,10 +1,20 @@ { "name": "jwt-cpp", - "version-semver": "0.6.0", + "version-semver": "0.7.0", + "port-version": 1, "description": "A header only library for creating and validating json web tokens in c++", "homepage": "https://github.com/Thalhammer/jwt-cpp", "license": "MIT", "dependencies": [ - "picojson" + "openssl", + "picojson", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/jxrlib/CMakeLists.txt b/ports/jxrlib/CMakeLists.txt index 3f0513f7d3924f..18c924f6fcacdb 100644 --- a/ports/jxrlib/CMakeLists.txt +++ b/ports/jxrlib/CMakeLists.txt @@ -22,7 +22,11 @@ if(NOT WIN32) add_definitions(-D__ANSI__) endif() if(NOT MSVC) - add_compile_options(-Wno-error=implicit-function-declaration -Wno-endif-labels) + add_compile_options( + -Wno-error=implicit-function-declaration + -Wno-endif-labels + -Wno-incompatible-pointer-types # https://gcc.gnu.org/gcc-14/porting_to.html#incompatible-pointer-types + ) endif() include(TestBigEndian) diff --git a/ports/jxrlib/vcpkg.json b/ports/jxrlib/vcpkg.json index 1dff5cb6e6fbdf..bad3f880162be1 100644 --- a/ports/jxrlib/vcpkg.json +++ b/ports/jxrlib/vcpkg.json @@ -1,7 +1,7 @@ { "name": "jxrlib", "version": "2019.10.9", - "port-version": 6, + "port-version": 7, "description": "Open source implementation of the jpegxr image format standard.", "homepage": "https://github.com/4creators/jxrlib", "license": "BSD-2-Clause", diff --git a/ports/kaitai-struct-cpp-stl-runtime/portfile.cmake b/ports/kaitai-struct-cpp-stl-runtime/portfile.cmake index 48c3b807968c3f..4c54b317690046 100644 --- a/ports/kaitai-struct-cpp-stl-runtime/portfile.cmake +++ b/ports/kaitai-struct-cpp-stl-runtime/portfile.cmake @@ -1,10 +1,8 @@ -vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO kaitai-io/kaitai_struct_cpp_stl_runtime - REF 0.10 - SHA512 27a0975edffe40a68784a3f5c639937fe70f634d97b7f3aae7d47db31ab4a81442c0707db562ac0775cf28012dc4172af52cc97bd02f2edecf713c57038f5b6d + REF ${VERSION} + SHA512 53b26627e281a12b6c1d217e8b439aba7dabf6fc55d3edc27e70f7757851f060f4039db3a16c48c5c60a715671b855b51e527f154df7d94547943f865c9d4b9a HEAD_REF master ) @@ -17,6 +15,7 @@ vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DSTRING_ENCODING_TYPE=${STRING_ENCODING_TYPE} + -DBUILD_TESTS=OFF ) vcpkg_cmake_install() diff --git a/ports/kaitai-struct-cpp-stl-runtime/vcpkg.json b/ports/kaitai-struct-cpp-stl-runtime/vcpkg.json index 896cb6f3e429cb..07264154c50ae8 100644 --- a/ports/kaitai-struct-cpp-stl-runtime/vcpkg.json +++ b/ports/kaitai-struct-cpp-stl-runtime/vcpkg.json @@ -1,11 +1,11 @@ { "name": "kaitai-struct-cpp-stl-runtime", - "version": "0.10", + "version": "0.10.1", + "port-version": 1, "description": "Kaitai Struct is a declarative language used for describe various binary data structures, laid out in files or in memory. This library implements Kaitai Struct API for C++ using STL", "homepage": "http://kaitai.io/", "documentation": "https://doc.kaitai.io/lang_cpp_stl.html", "license": "MIT", - "supports": "!staticcrt", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/kangaru/portfile.cmake b/ports/kangaru/portfile.cmake index a97d1dcba089ea..1ebba9cd6b4124 100644 --- a/ports/kangaru/portfile.cmake +++ b/ports/kangaru/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO gracicot/kangaru - REF v4.3.1 - SHA512 5c1c6081b266089ad4ef310f4782505db5c514adce87091dd8164a6da71fc7ef72c0992c32e9ec3c991aa7a2ca43f1d96f2f524c7198bf899876af214fea28f3 + REF "v${VERSION}" + SHA512 03835b156d6da9239e316bfad07684b7f3197798c314f7d8f707e9e225795546887867c5af7fd8ae075b7143d2f160b0185d6be16146975c868dea99c7334129 HEAD_REF master ) @@ -30,4 +30,4 @@ file(REMOVE_RECURSE ) # Put the license file where vcpkg expects it -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/kangaru/vcpkg.json b/ports/kangaru/vcpkg.json index b0b2d4d02c4ced..245f901d204923 100644 --- a/ports/kangaru/vcpkg.json +++ b/ports/kangaru/vcpkg.json @@ -1,6 +1,6 @@ { "name": "kangaru", - "version": "4.3.1", + "version": "4.3.2", "description": "A dependency injection container for C++11, C++14 and later", "homepage": "https://github.com/gracicot/kangaru", "license": "MIT", diff --git a/ports/kd-soap/Ensure-KDSoapConfig-finds-Qt-first.patch b/ports/kd-soap/Ensure-KDSoapConfig-finds-Qt-first.patch deleted file mode 100644 index e37bfd73d24753..00000000000000 --- a/ports/kd-soap/Ensure-KDSoapConfig-finds-Qt-first.patch +++ /dev/null @@ -1,26 +0,0 @@ -From cb2df4c372c115df84805043a7785f38eb4eb082 Mon Sep 17 00:00:00 2001 -From: David Faure -Date: Sun, 26 Mar 2023 17:27:02 +0200 -Subject: [PATCH] Ensure KDSoapConfig.cmake finds Qt first. - -Fixes #258 ---- - KDSoapConfig.cmake.in | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/KDSoapConfig.cmake.in b/KDSoapConfig.cmake.in -index d20649a4..f7bfa82b 100644 ---- a/KDSoapConfig.cmake.in -+++ b/KDSoapConfig.cmake.in -@@ -8,6 +8,11 @@ - - @PACKAGE_INIT@ - -+include(CMakeFindDependencyMacro) -+ -+find_dependency(Qt@Qt_VERSION_MAJOR@Core @QT_MIN_VERSION@) -+find_dependency(Qt@Qt_VERSION_MAJOR@Network @QT_MIN_VERSION@) -+ - set_and_check(KDSoap_INCLUDE_DIR "@PACKAGE_INSTALL_INCLUDE_DIR@") - - set(KDSoap_INCLUDE_DIRS "${KDSoap_INCLUDE_DIR}") diff --git a/ports/kd-soap/portfile.cmake b/ports/kd-soap/portfile.cmake deleted file mode 100644 index 93a1f488e1c7f5..00000000000000 --- a/ports/kd-soap/portfile.cmake +++ /dev/null @@ -1,37 +0,0 @@ -vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/KDAB/KDSoap/releases/download/kdsoap-${VERSION}/kdsoap-${VERSION}.tar.gz" - FILENAME "kdsoap-${VERSION}.tar.gz" - SHA512 12224f664dcae7ceb7395a7c3de48a208ae81c10f6fba4d0db233613472c6b9cdbea6375297c27b58fe7338d7db27a4447844f4e8f40a24ec1b4dd3fa38d20bb -) - -vcpkg_extract_source_archive( - SOURCE_PATH - ARCHIVE "${ARCHIVE}" - PATCHES - Ensure-KDSoapConfig-finds-Qt-first.patch -) - -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" KDSoap_STATIC) - -vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - -DKDSoap_QT6=ON - -DKDSoap_STATIC=${KDSoap_STATIC} - -DKDSoap_EXAMPLES=OFF -) - -vcpkg_cmake_install() -vcpkg_cmake_config_fixup(PACKAGE_NAME KDSoap-qt6 CONFIG_PATH lib/cmake/KDSoap-qt6) - -vcpkg_copy_tools(TOOL_NAMES kdwsdl2cpp-qt6 AUTO_CLEAN) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") -endif() - -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/doc") - -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") - -file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/kd-soap/vcpkg.json b/ports/kd-soap/vcpkg.json deleted file mode 100644 index c633915a990048..00000000000000 --- a/ports/kd-soap/vcpkg.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "kd-soap", - "version": "2.1.1", - "port-version": 1, - "description": "A Qt-based client-side and server-side SOAP component", - "homepage": "https://www.kdab.com/products/kd-soap", - "license": "MIT", - "dependencies": [ - { - "name": "qtbase", - "default-features": false - }, - { - "name": "vcpkg-cmake", - "host": true - }, - { - "name": "vcpkg-cmake-config", - "host": true - } - ] -} diff --git a/ports/kdalgorithms/portfile.cmake b/ports/kdalgorithms/portfile.cmake index 97aff2baf60f2a..7c025d68677e7f 100644 --- a/ports/kdalgorithms/portfile.cmake +++ b/ports/kdalgorithms/portfile.cmake @@ -2,12 +2,11 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KDAB/KDAlgorithms - REF 93023b7b6640a227cfa6b2e7f1b8e72d10a0b981 - SHA512 151488c5ba30fceee204278e620bbc509464cb993d4207891ba627cb4384dc585927336f263ea80bfeb46f5100fdb31edcef13482d4b7f70b79480d1b153f087 - HEAD_REF master + REF ${VERSION} + SHA512 5d877b8aa16aae870276a542554aa1b39ae2daa863e77ebaa248ca1427a92179611dd7c7cd98e88fc6a406905f404f052f9c891b8a49d64582dfc2ba857118f6 ) -file(INSTALL "${SOURCE_PATH}/src/kdalgorithms.h" "${SOURCE_PATH}/src/bits" +file(INSTALL "${SOURCE_PATH}/src/kdalgorithms.h" "${SOURCE_PATH}/src/kdalgorithms_bits" DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}") vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/kdalgorithms/vcpkg.json b/ports/kdalgorithms/vcpkg.json index a6229618637e8a..3d991ac4d12d68 100644 --- a/ports/kdalgorithms/vcpkg.json +++ b/ports/kdalgorithms/vcpkg.json @@ -1,6 +1,6 @@ { "name": "kdalgorithms", - "version-date": "2023-02-11", + "version": "1.4", "description": "KDAB's algorithm helpers for C++14 and up", "homepage": "https://github.com/KDAB/KDAlgorithms", "license": "MIT" diff --git a/ports/kdbindings/portfile.cmake b/ports/kdbindings/portfile.cmake index 4591e66d5cd048..5946d75bc1effc 100644 --- a/ports/kdbindings/portfile.cmake +++ b/ports/kdbindings/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KDAB/KDBindings - REF "v${VERSION}" - SHA512 b66403ad4eecc5e8216600d67f29260eb9981f0b93517fa1a85106a52be4b3ffcd482d1dda6cdc5993f46ffa6cd0e10513cd7ce1fec3dee72ec9d50fc5887a46 + REF "v${VERSION}" + SHA512 6316f2a8009e47d513fc85d7fa7ad135daf1495ce392aa7852601ae62a09dede022cfa05d9d990041e1abab08b577c86a5ac548128a550c0e1a4bb0a295818e9 HEAD_REF main ) @@ -21,4 +21,4 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/" ) -file(INSTALL "${SOURCE_PATH}/LICENSES/MIT.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSES/MIT.txt") diff --git a/ports/kdbindings/vcpkg.json b/ports/kdbindings/vcpkg.json index c9ebdf9f0dfd7e..8465cf21e81a67 100644 --- a/ports/kdbindings/vcpkg.json +++ b/ports/kdbindings/vcpkg.json @@ -1,6 +1,6 @@ { "name": "kdbindings", - "version": "1.0.3", + "version": "1.1.0", "description": "Reactive programming & data binding in C++", "homepage": "https://github.com/KDAB/KDBindings", "license": "MIT OR BSD-3-Clause", diff --git a/ports/kddockwidgets/dependencies.diff b/ports/kddockwidgets/dependencies.diff new file mode 100644 index 00000000000000..2d3ceb42857bd0 --- /dev/null +++ b/ports/kddockwidgets/dependencies.diff @@ -0,0 +1,38 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 02895b0..c36650f 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -566,7 +566,7 @@ endif() + + if(KDDW_FRONTEND_QT) + install( +- TARGETS kddockwidgets kdbindings ++ TARGETS kddockwidgets + EXPORT kddockwidgetsTargets + RUNTIME DESTINATION ${INSTALL_RUNTIME_DIR} + LIBRARY DESTINATION ${INSTALL_LIBRARY_DIR} +diff --git a/src/KDDockWidgetsConfig.cmake.in b/src/KDDockWidgetsConfig.cmake.in +index fbec60a..31d45e5 100644 +--- a/src/KDDockWidgetsConfig.cmake.in ++++ b/src/KDDockWidgetsConfig.cmake.in +@@ -24,5 +24,8 @@ if (NOT WIN32 AND NOT APPLE AND NOT EMSCRIPTEN AND NOT @KDDockWidgets_QT6@ AND @ + find_dependency(Qt5X11Extras REQUIRED) + endif() + ++find_dependency(KDBindings CONFIG) ++find_dependency(nlohmann_json) ++ + # Add the targets file + include("${CMAKE_CURRENT_LIST_DIR}/KDDockWidgets@KDDockWidgets_LIBRARY_QTID@Targets.cmake") +diff --git a/src/kdbindings.cmake b/src/kdbindings.cmake +index c923cd9..da7ad32 100644 +--- a/src/kdbindings.cmake ++++ b/src/kdbindings.cmake +@@ -11,5 +11,5 @@ + # Use a separate target for our kdbindings/signal.h header as it doesn't compile + # with -Wweak-vtables + +-add_library(kdbindings INTERFACE) +-target_include_directories(kdbindings SYSTEM INTERFACE $) ++find_package(KDBindings CONFIG REQUIRED GLOBAL) ++add_library(kdbindings ALIAS KDAB::KDBindings) diff --git a/ports/kddockwidgets/fix_find_package.patch b/ports/kddockwidgets/fix_find_package.patch deleted file mode 100644 index 01363a3413837f..00000000000000 --- a/ports/kddockwidgets/fix_find_package.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6c174b89a..b83bace53 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -127,8 +127,8 @@ endif() - if(${PROJECT_NAME}_QT6) - set(Qt_VERSION_MAJOR 6) - set(QT_MIN_VERSION "6.0.0") -- find_package(Qt6Widgets ${QT_MIN_VERSION} REQUIRED) -- find_package(Qt6Test ${QT_MIN_VERSION} REQUIRED) -+ find_package(Qt6 ${QT_MIN_VERSION} COMPONENTS Widgets REQUIRED) -+ find_package(Qt6 ${QT_MIN_VERSION} OPTIONAL_COMPONENTS Test) - set(${PROJECT_NAME}_LIBRARY_QTID "-qt6") - else() - set(Qt_VERSION_MAJOR 5) diff --git a/ports/kddockwidgets/portfile.cmake b/ports/kddockwidgets/portfile.cmake index 594f5fbce55874..d0048f43650336 100644 --- a/ports/kddockwidgets/portfile.cmake +++ b/ports/kddockwidgets/portfile.cmake @@ -1,21 +1,23 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KDAB/KDDockWidgets - REF 9990300006854afa4b4fa796912da067e770046a - SHA512 2207b3c021957d9be8652cad24c0b5e37b07fa02ffeeeb7dab57feaeade7973b580b853d6b69db15015b62cc1397459e27d032131292baaeb17a0633e287fa3c + REF "v${VERSION}" + SHA512 7b88f354e2aca4ac4c0f59874b6a7d6baaf77f5b54dd57b981ec7831e40acc0e2f6d3c6300af3d93c594bf34c7072c6a8a19a50c65039ccae22a9e47b90499d8 HEAD_REF master PATCHES - fix_find_package.patch + dependencies.diff +) +file(REMOVE_RECURSE + "${SOURCE_PATH}/src/3rdparty" ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" KD_STATIC) if(VCPKG_CROSSCOMPILING) - list(APPEND _qarg_OPTIONS -DQT_HOST_PATH=${CURRENT_HOST_INSTALLED_DIR}) - list(APPEND _qarg_OPTIONS -DQT_HOST_PATH_CMAKE_DIR:PATH=${CURRENT_HOST_INSTALLED_DIR}/share) - if(VCPKG_TARGET_ARCHITECTURE STREQUAL arm64 AND VCPKG_TARGET_IS_WINDOWS) # Remove if PR #16111 is merged - list(APPEND _qarg_OPTIONS -DCMAKE_CROSSCOMPILING=ON -DCMAKE_SYSTEM_PROCESSOR:STRING=ARM64 -DCMAKE_SYSTEM_NAME:STRING=Windows) - endif() + list(APPEND _qarg_OPTIONS + "-DQT_HOST_PATH=${CURRENT_HOST_INSTALLED_DIR}" + "-DQT_HOST_PATH_CMAKE_DIR:PATH=${CURRENT_HOST_INSTALLED_DIR}/share" + ) endif() vcpkg_cmake_configure( @@ -23,14 +25,19 @@ vcpkg_cmake_configure( OPTIONS ${_qarg_OPTIONS} -DKDDockWidgets_QT6=ON + -DKDDockWidgets_FRONTENDS=qtwidgets -DKDDockWidgets_STATIC=${KD_STATIC} - -DKDDockWidgets_QTQUICK=OFF -DKDDockWidgets_PYTHON_BINDINGS=OFF + -DKDDockWidgets_TESTS=OFF -DKDDockWidgets_EXAMPLES=OFF + # https://github.com/KDAB/KDDockWidgets/blob/v2.1.0/CMakeLists.txt#L301 + -DCMAKE_DISABLE_FIND_PACKAGE_spdlog=ON + -DCMAKE_DISABLE_FIND_PACKAGE_fmt=ON + -DCMAKE_REQUIRE_FIND_PACKAGE_nlohmann_json=ON ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/KDDockWidgets-qt6" PACKAGE_NAME "KDDockWidgets-qt6") +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/KDDockWidgets-qt6" PACKAGE_NAME kddockwidgets-qt6) if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") @@ -39,4 +46,8 @@ endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST + "${SOURCE_PATH}/LICENSE.txt" + "${SOURCE_PATH}/LICENSES/GPL-2.0-only.txt" + "${SOURCE_PATH}/LICENSES/GPL-3.0-only.txt" +) diff --git a/ports/kddockwidgets/vcpkg.json b/ports/kddockwidgets/vcpkg.json index 86b0771b6d534c..70545ca9668303 100644 --- a/ports/kddockwidgets/vcpkg.json +++ b/ports/kddockwidgets/vcpkg.json @@ -1,9 +1,13 @@ { "name": "kddockwidgets", - "version": "1.5.0", + "version": "2.1.0", + "port-version": 1, "description": "KDAB's Dock Widget Framework for Qt", "homepage": "https://www.kdab.com/development-resources/qt-tools/kddockwidgets/", + "license": "GPL-2.0-only OR GPL-3.0-only", "dependencies": [ + "kdbindings", + "nlohmann-json", { "name": "qtbase", "default-features": false, diff --git a/ports/kdreports/fix-cmake-config.patch b/ports/kdreports/fix-cmake-config.patch new file mode 100644 index 00000000000000..9bca8c49b6b2cc --- /dev/null +++ b/ports/kdreports/fix-cmake-config.patch @@ -0,0 +1,19 @@ +diff --git a/src/KDReportsConfig.cmake.in b/src/KDReportsConfig.cmake.in +index fa26517..49b9054 100644 +--- a/src/KDReportsConfig.cmake.in ++++ b/src/KDReportsConfig.cmake.in +@@ -9,10 +9,10 @@ + + include(CMakeFindDependencyMacro) + +-find_dependency(Qt@Qt_VERSION_MAJOR@Core @QT_MIN_VERSION@) +-find_dependency(Qt@Qt_VERSION_MAJOR@Widgets @QT_MIN_VERSION@) +-find_dependency(Qt@Qt_VERSION_MAJOR@PrintSupport @QT_MIN_VERSION@) +-find_dependency(Qt@Qt_VERSION_MAJOR@Xml @QT_MIN_VERSION@) ++find_dependency(Qt@QT_VERSION_MAJOR@Core @QT_MIN_VERSION@) ++find_dependency(Qt@QT_VERSION_MAJOR@Widgets @QT_MIN_VERSION@) ++find_dependency(Qt@QT_VERSION_MAJOR@PrintSupport @QT_MIN_VERSION@) ++find_dependency(Qt@QT_VERSION_MAJOR@Xml @QT_MIN_VERSION@) + + if (@KDChart_FOUND@) + find_dependency(KDChart) diff --git a/ports/kdreports/fix-license-text.patch b/ports/kdreports/fix-license-text.patch new file mode 100644 index 00000000000000..83062a3a5e8bee --- /dev/null +++ b/ports/kdreports/fix-license-text.patch @@ -0,0 +1,10 @@ +diff --git a/LICENSE.txt b/LICENSE.txt +index 110b884..db69306 100644 +--- a/LICENSE.txt ++++ b/LICENSE.txt +@@ -3,4 +3,4 @@ License + The KD Reports Software is © 2007 Klarälvdalens Datakonsult AB (KDAB), + and is available under the terms of the MIT license. + +-See the full license text in the LICENSES folder. ++See the full license text provided below in this file. diff --git a/ports/kdreports/portfile.cmake b/ports/kdreports/portfile.cmake new file mode 100644 index 00000000000000..dc3afdb2fca23b --- /dev/null +++ b/ports/kdreports/portfile.cmake @@ -0,0 +1,39 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO KDAB/KDReports + REF "kdreports-${VERSION}" + SHA512 f9b3785d71c68d032a0e1420ba3adae517994d257a02df69aaffcff4a8909b24d081c91b4cc9e1cc00311768f92e63b9288a99cfaac8422ebd1cae7321b3edbb + HEAD_REF master + PATCHES + "fix-cmake-config.patch" + "fix-license-text.patch" +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" KDReports_STATIC) + +vcpkg_cmake_configure( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS + -DKDReports_QT6=ON + -DKDReports_STATIC=${KDReports_STATIC} + -DKDReports_TESTS=OFF + -DKDReports_EXAMPLES=OFF + -DKDReports_DOCS=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_KDChart-qt6=ON +) +vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(PACKAGE_NAME KDReports-qt6 CONFIG_PATH lib/cmake/KDReports-qt6) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/doc") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +vcpkg_install_copyright( + FILE_LIST + "${SOURCE_PATH}/LICENSE.txt" + "${SOURCE_PATH}/LICENSES/BSD-3-Clause.txt" + "${SOURCE_PATH}/LICENSES/MIT.txt" +) + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/kdreports/usage b/ports/kdreports/usage new file mode 100644 index 00000000000000..eeb3be510045d0 --- /dev/null +++ b/ports/kdreports/usage @@ -0,0 +1,4 @@ +kdreports provides CMake targets: + + find_package(KDReports-qt6 CONFIG REQUIRED) + target_link_libraries(main PRIVATE KDReports::kdreports) diff --git a/ports/kdreports/vcpkg.json b/ports/kdreports/vcpkg.json new file mode 100644 index 00000000000000..3e954b356affee --- /dev/null +++ b/ports/kdreports/vcpkg.json @@ -0,0 +1,24 @@ +{ + "name": "kdreports", + "version": "2.3.0", + "description": "KD Reports is a Qt tool that lets you easily create printable reports by providing all of the necessary features for a variety of applications.", + "homepage": "https://github.com/KDAB/KDReports", + "license": "MIT", + "dependencies": [ + { + "name": "qtbase", + "default-features": false, + "features": [ + "widgets" + ] + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/kdsingleapplication/fix-license-text.patch b/ports/kdsingleapplication/fix-license-text.patch new file mode 100644 index 00000000000000..9607cb61993697 --- /dev/null +++ b/ports/kdsingleapplication/fix-license-text.patch @@ -0,0 +1,12 @@ +diff --git a/LICENSE.txt b/LICENSE.txt +index 12ee586..ac0144d 100644 +--- a/LICENSE.txt ++++ b/LICENSE.txt +@@ -1,6 +1,6 @@ + KDSingleApplication is (C) 2019-2023, Klarälvdalens Datakonsult AB, + and is available under the terms of the MIT license. + +-See the full license text in the LICENSES folder. ++See the full license text provided below in this file. + + Contact KDAB at to inquire about commercial licensing. diff --git a/ports/kdsingleapplication/portfile.cmake b/ports/kdsingleapplication/portfile.cmake new file mode 100644 index 00000000000000..62e5c60624a657 --- /dev/null +++ b/ports/kdsingleapplication/portfile.cmake @@ -0,0 +1,36 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO KDAB/KDSingleApplication + REF "v${VERSION}" + SHA512 12540e70014f04b20529d19bc41bf089580c8a82e407511979017020d3f1d96c60112b208d5abe1e6c4e90ed65d3b0ca9dc2f09f20c8b580c3b8a17ae9a84ae0 + HEAD_REF master + PATCHES "fix-license-text.patch" +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" KDSingleApplication_STATIC) + +vcpkg_cmake_configure( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS + -DKDSingleApplication_QT6=ON + -DKDSingleApplication_STATIC=${KDSingleApplication_STATIC} + -DKDSingleApplication_TESTS=OFF + -DKDSingleApplication_EXAMPLES=OFF + -DKDSingleApplication_DOCS=OFF +) +vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(PACKAGE_NAME KDSingleApplication-qt6 CONFIG_PATH lib/cmake/KDSingleApplication-qt6) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/doc") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +vcpkg_install_copyright( + FILE_LIST + "${SOURCE_PATH}/LICENSE.txt" + "${SOURCE_PATH}/LICENSES/BSD-3-Clause.txt" + "${SOURCE_PATH}/LICENSES/MIT.txt" +) + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/kdsingleapplication/usage b/ports/kdsingleapplication/usage new file mode 100644 index 00000000000000..b52c1f0f2bd277 --- /dev/null +++ b/ports/kdsingleapplication/usage @@ -0,0 +1,4 @@ +kdsingleapplication provides CMake targets: + + find_package(KDSingleApplication-qt6 CONFIG REQUIRED) + target_link_libraries(main PRIVATE KDAB::kdsingleapplication) diff --git a/ports/kdsingleapplication/vcpkg.json b/ports/kdsingleapplication/vcpkg.json new file mode 100644 index 00000000000000..81fc46104abced --- /dev/null +++ b/ports/kdsingleapplication/vcpkg.json @@ -0,0 +1,26 @@ +{ + "name": "kdsingleapplication", + "version": "1.1.0", + "port-version": 1, + "description": "KDSingleApplication is a helper class for single-instance policy applications.", + "homepage": "https://github.com/KDAB/KDSingleApplication", + "license": "MIT", + "dependencies": [ + { + "name": "qtbase", + "default-features": false, + "features": [ + "network", + "widgets" + ] + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/kdsoap/fix-license-text.patch b/ports/kdsoap/fix-license-text.patch new file mode 100644 index 00000000000000..7222a281a01160 --- /dev/null +++ b/ports/kdsoap/fix-license-text.patch @@ -0,0 +1,10 @@ +diff --git a/LICENSE.txt b/LICENSE.txt +index 50ea704..bf81343 100644 +--- a/LICENSE.txt ++++ b/LICENSE.txt +@@ -11,4 +11,4 @@ available under any license. + Various other freely distributable files are contained in the unittests + and are not used in the library code itself. + +-See the full license texts in the LICENSES folder. ++See the full license texts provided below in this file. diff --git a/ports/kdsoap/portfile.cmake b/ports/kdsoap/portfile.cmake new file mode 100644 index 00000000000000..ebbc752f72a124 --- /dev/null +++ b/ports/kdsoap/portfile.cmake @@ -0,0 +1,49 @@ +vcpkg_download_distfile(ARCHIVE + URLS "https://github.com/KDAB/KDSoap/releases/download/kdsoap-${VERSION}/kdsoap-${VERSION}.tar.gz" + FILENAME "kdsoap-${VERSION}.tar.gz" + SHA512 6ed5cd6a0d02a9faf6881facbd28391c553b3671512153ecd058ab53bfbe9d3f0afa3704d580e66010ddf6a3de7e578a632339f8c1ae7529c28f9d5fd7d1eb5f +) + +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" + PATCHES "fix-license-text.patch" +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" KDSoap_STATIC) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DKDSoap_QT6=ON + -DKDSoap_STATIC=${KDSoap_STATIC} + -DKDSoap_EXAMPLES=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME KDSoap-qt6 CONFIG_PATH lib/cmake/KDSoap-qt6) + +vcpkg_copy_tools(TOOL_NAMES kdwsdl2cpp-qt6 AUTO_CLEAN) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/doc") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +vcpkg_install_copyright( + FILE_LIST + "${SOURCE_PATH}/LICENSE.txt" + "${SOURCE_PATH}/LICENSES/BSD-3-Clause.txt" + "${SOURCE_PATH}/LICENSES/GPL-2.0-only.txt" + "${SOURCE_PATH}/LICENSES/LicenseRef-Microsoft.txt" + "${SOURCE_PATH}/LICENSES/LicenseRef-Novell.txt" + "${SOURCE_PATH}/LICENSES/LicenseRef-OASIS.txt" + "${SOURCE_PATH}/LICENSES/LicenseRef-SportingExchange.txt" + "${SOURCE_PATH}/LICENSES/MIT.txt" + "${SOURCE_PATH}/LICENSES/W3C.txt" +) + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/kdsoap/usage b/ports/kdsoap/usage new file mode 100644 index 00000000000000..113f7b808a4a9e --- /dev/null +++ b/ports/kdsoap/usage @@ -0,0 +1,7 @@ +kdsoap provides CMake targets: + + find_package(KDSoap-qt6 CONFIG REQUIRED) + # kdsoap library + target_link_libraries(main PRIVATE KDSoap::kdsoap) + # kdsoap-server library + target_link_libraries(main PRIVATE KDSoap::kdsoap-server) diff --git a/ports/kdsoap/vcpkg.json b/ports/kdsoap/vcpkg.json new file mode 100644 index 00000000000000..61bdcb540ca093 --- /dev/null +++ b/ports/kdsoap/vcpkg.json @@ -0,0 +1,25 @@ +{ + "name": "kdsoap", + "version": "2.2.0", + "port-version": 1, + "description": "A Qt-based client-side and server-side SOAP component", + "homepage": "https://www.kdab.com/products/kd-soap", + "license": "MIT", + "dependencies": [ + { + "name": "qtbase", + "default-features": false, + "features": [ + "network" + ] + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/kdstatemachineeditor/portfile.cmake b/ports/kdstatemachineeditor/portfile.cmake new file mode 100644 index 00000000000000..fcfc30d32d0fe0 --- /dev/null +++ b/ports/kdstatemachineeditor/portfile.cmake @@ -0,0 +1,43 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO KDAB/KDStateMachineEditor + REF v${VERSION} + SHA512 dedd7166f434689cd5acf4ee3172169d3f77182269d3187f0a7a12966467dd5c7733e3ff64cd1fd03b0f3866c2aafa37cc3f2d7b8a3f4a5d8a7592da039de7af + HEAD_REF master +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" VCPKG_BUILD_SHARED_LIBS) + +vcpkg_cmake_configure( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS + -DKDSME_QT6=ON + -DKDSME_INTERNAL_GRAPHVIZ=OFF + -DKDSME_DOCS=OFF + -DKDSME_EXAMPLES=OFF + -DBUILD_TESTING=OFF + -DBUILD_SHARED_LIBS=${VCPKG_BUILD_SHARED_LIBS} +) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(PACKAGE_NAME KDSME-qt6 CONFIG_PATH lib/cmake/KDSME-qt6) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/doc") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +vcpkg_install_copyright( + FILE_LIST + "${SOURCE_PATH}/LICENSE.txt" + "${SOURCE_PATH}/LICENSES/BSD-3-Clause.txt" + "${SOURCE_PATH}/LICENSES/GPL-3.0-or-later.txt" + "${SOURCE_PATH}/LICENSES/LicenseRef-CISST.txt" + "${SOURCE_PATH}/LICENSES/LicenseRef-Qt-Commercial.txt" + "${SOURCE_PATH}/LICENSES/GPL-3.0-only.txt" + "${SOURCE_PATH}/LICENSES/LGPL-2.1-only.txt" + "${SOURCE_PATH}/LICENSES/LicenseRef-KDAB-KDStateMachineEditor.txt" + "${SOURCE_PATH}/LICENSES/MIT.txt" +) + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/kdstatemachineeditor/usage b/ports/kdstatemachineeditor/usage new file mode 100644 index 00000000000000..46ac26996c3a50 --- /dev/null +++ b/ports/kdstatemachineeditor/usage @@ -0,0 +1,11 @@ +kdstatemachineeditor provides CMake targets: + + find_package(KDSME-qt6 CONFIG REQUIRED) + # Core library + target_link_libraries(main PRIVATE KDSME::Core) + # View library + target_link_libraries(main PRIVATE KDSME::View) + # Debug interface client library + target_link_libraries(main PRIVATE KDSME::DebugInterfaceClient) + # Debug interface server library + target_link_libraries(main PRIVATE KDSME::DebugInterfaceSource) diff --git a/ports/kdstatemachineeditor/vcpkg.json b/ports/kdstatemachineeditor/vcpkg.json new file mode 100644 index 00000000000000..a8486d983f0f94 --- /dev/null +++ b/ports/kdstatemachineeditor/vcpkg.json @@ -0,0 +1,30 @@ +{ + "name": "kdstatemachineeditor", + "version": "2.0.0", + "description": "KDStateMachineEditor is a library for visualizing and editing state charts.", + "homepage": "https://github.com/KDAB/KDStateMachineEditor", + "license": "LGPL-2.1-only", + "dependencies": [ + "graphviz", + "qt5compat", + { + "name": "qtbase", + "default-features": false, + "features": [ + "testlib", + "widgets" + ] + }, + "qtdeclarative", + "qtremoteobjects", + "qtscxml", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/kealib/hdf5_include.patch b/ports/kealib/hdf5_include.patch deleted file mode 100644 index 9c8d0547a2bdcd..00000000000000 --- a/ports/kealib/hdf5_include.patch +++ /dev/null @@ -1,65 +0,0 @@ -diff --git a/include/libkea/KEAAttributeTable.h b/include/libkea/KEAAttributeTable.h -index 3991ffb..ddc314f 100644 ---- a/include/libkea/KEAAttributeTable.h -+++ b/include/libkea/KEAAttributeTable.h -@@ -37,7 +37,7 @@ - #include - #include - --#include "H5Cpp.h" -+#include - - #include "libkea/KEACommon.h" - #include "libkea/KEAException.h" -diff --git a/include/libkea/KEAAttributeTableFile.h b/include/libkea/KEAAttributeTableFile.h -index 902f485..245e068 100644 ---- a/include/libkea/KEAAttributeTableFile.h -+++ b/include/libkea/KEAAttributeTableFile.h -@@ -35,7 +35,7 @@ - #include - #include - --#include "H5Cpp.h" -+#include - - #include "libkea/KEACommon.h" - #include "libkea/KEAException.h" -diff --git a/include/libkea/KEAAttributeTableInMem.h b/include/libkea/KEAAttributeTableInMem.h -index 7df369a..28018cc 100644 ---- a/include/libkea/KEAAttributeTableInMem.h -+++ b/include/libkea/KEAAttributeTableInMem.h -@@ -35,7 +35,7 @@ - #include - #include - --#include "H5Cpp.h" -+#include - - #include "libkea/KEACommon.h" - #include "libkea/KEAException.h" -diff --git a/include/libkea/KEACommon.h b/include/libkea/KEACommon.h -index cb8a577..a6fbfca 100644 ---- a/include/libkea/KEACommon.h -+++ b/include/libkea/KEACommon.h -@@ -38,7 +38,7 @@ - #include - #include - --#include "H5Cpp.h" -+#include - - #include - -diff --git a/include/libkea/KEAImageIO.h b/include/libkea/KEAImageIO.h -index 87a2d07..c59a7f0 100644 ---- a/include/libkea/KEAImageIO.h -+++ b/include/libkea/KEAImageIO.h -@@ -35,7 +35,7 @@ - #include - #include - --#include "H5Cpp.h" -+#include - - #include "libkea/KEACommon.h" - #include "libkea/KEAException.h" diff --git a/ports/kealib/no-kea-config-script.diff b/ports/kealib/no-kea-config-script.diff new file mode 100644 index 00000000000000..2b79093ed85f3d --- /dev/null +++ b/ports/kealib/no-kea-config-script.diff @@ -0,0 +1,14 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 90f64d6..17f2929 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -222,9 +222,7 @@ add_test(NAME test1 COMMAND src/test1) + ############################################################################### + # Installation + if(MSVC) +- install (FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_BINARY_DIR}/kea-config.bat" DESTINATION bin PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) + else() +- install (FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_BINARY_DIR}/kea-config" DESTINATION bin PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) + endif(MSVC) + install (FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_HEADER_DIR}/libkea/kea-config.h" DESTINATION include/libkea) + ############################################################################### diff --git a/ports/kealib/portfile.cmake b/ports/kealib/portfile.cmake index c6cebcae9036ba..0475ded0285486 100644 --- a/ports/kealib/portfile.cmake +++ b/ports/kealib/portfile.cmake @@ -2,9 +2,10 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ubarsc/kealib REF "kealib-${VERSION}" - SHA512 82399f1332ff2aeb6342732e9e5c897c813109fd18e77cfc8d866f06adf4faa7f080f1f3c0a3b777fb3a679912dacf4851b7ad09a338d6087dd1d26eb2d1689f + SHA512 6dc624d25c6ae0e9787a367dc359cb12e4871048852474ab8dece4fbac2c4f925ddb5d28adc7495005132f5358357737c09d62898940f33a80cbd7d1464bdfb6 HEAD_REF master - PATCHES hdf5_include.patch + PATCHES + no-kea-config-script.diff ) vcpkg_cmake_configure( @@ -16,13 +17,10 @@ vcpkg_cmake_configure( vcpkg_cmake_install() vcpkg_copy_pdbs() - -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin" "${CURRENT_PACKAGES_DIR}/bin") -endif() - -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/libkea) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/libkea PACKAGE_NAME libkea DO_NOT_DELETE_PARENT_CONFIG_PATH) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/Kealib) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(INSTALL "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/kealib/usage b/ports/kealib/usage new file mode 100644 index 00000000000000..b8a1ab4430d225 --- /dev/null +++ b/ports/kealib/usage @@ -0,0 +1,4 @@ +kealib provides CMake targets: + + find_package(Kealib CONFIG REQUIRED) + target_link_libraries(main PRIVATE Kealib::Kealib) diff --git a/ports/kealib/vcpkg.json b/ports/kealib/vcpkg.json index 49dd980eb2fad6..0a4d2f9d550215 100644 --- a/ports/kealib/vcpkg.json +++ b/ports/kealib/vcpkg.json @@ -1,8 +1,9 @@ { "name": "kealib", - "version": "1.5.2", + "version": "1.6.1", "description": "KEALib provides an implementation of the GDAL data model using HDF5.", "homepage": "https://github.com/ubarsc/kealib", + "license": "MIT", "dependencies": [ { "name": "hdf5", diff --git a/ports/keccak-tiny/portfile.cmake b/ports/keccak-tiny/portfile.cmake index 395b4b269a1edd..f117936f623530 100644 --- a/ports/keccak-tiny/portfile.cmake +++ b/ports/keccak-tiny/portfile.cmake @@ -1,4 +1,4 @@ -if(WIN32) +if(VCPKG_TARGET_IS_WINDOWS) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) endif() diff --git a/ports/keccak-tiny/vcpkg.json b/ports/keccak-tiny/vcpkg.json index 8223f5034a6832..d0bd6679742b21 100644 --- a/ports/keccak-tiny/vcpkg.json +++ b/ports/keccak-tiny/vcpkg.json @@ -1,9 +1,11 @@ { "name": "keccak-tiny", "version-date": "2014-09-08", + "port-version": 2, "description": "A tiny implementation of SHA-3, SHAKE, Keccak, and sha3sum", "homepage": "https://github.com/coruus/keccak-tiny", "license": "CC0-1.0", + "supports": "!android", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/kenlm/cmake-config.patch b/ports/kenlm/cmake-config.patch new file mode 100644 index 00000000000000..5e87e68893d653 --- /dev/null +++ b/ports/kenlm/cmake-config.patch @@ -0,0 +1,29 @@ +diff --git a/cmake/kenlmConfig.cmake.in b/cmake/kenlmConfig.cmake.in +index 592407d..86abd36 100644 +--- a/cmake/kenlmConfig.cmake.in ++++ b/cmake/kenlmConfig.cmake.in +@@ -5,6 +5,12 @@ include(CMakeFindDependencyMacro) + find_dependency(Boost) + find_dependency(Threads) + find_dependency(double-conversion CONFIG) ++if("@ENABLE_INTERPOLATE@") ++ find_dependency(Eigen3) ++ if("@OPENMP_CXX_FOUND@") ++ find_dependency(OpenMP) ++ endif() ++endif() + + # Compression libs + if (@ZLIB_FOUND@) +diff --git a/lm/interpolate/CMakeLists.txt b/lm/interpolate/CMakeLists.txt +index d23e959..26b6092 100644 +--- a/lm/interpolate/CMakeLists.txt ++++ b/lm/interpolate/CMakeLists.txt +@@ -24,6 +24,7 @@ if(ENABLE_INTERPOLATE) + + + find_package(OpenMP) ++ set(OPENMP_CXX_FOUND "${OPENMP_CXX_FOUND}" CACHE INTERNAL "For exported config") + if (OPENMP_CXX_FOUND) + target_link_libraries(kenlm_interpolate PUBLIC OpenMP::OpenMP_CXX) + endif() diff --git a/ports/kenlm/devendor.patch b/ports/kenlm/devendor.patch new file mode 100644 index 00000000000000..891620b769ec52 --- /dev/null +++ b/ports/kenlm/devendor.patch @@ -0,0 +1,42 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index fd08a48..7439ebf 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -128,7 +128,7 @@ install(EXPORT kenlmTargets + DESTINATION share/kenlm/cmake + ) + +-foreach(SUBDIR IN ITEMS util util/double-conversion util/stream lm lm/builder lm/common lm/filter lm/interpolate) ++foreach(SUBDIR IN ITEMS util util/stream lm lm/builder lm/common lm/filter lm/interpolate) + file(GLOB HEADERS ${CMAKE_CURRENT_LIST_DIR}/${SUBDIR}/*.h ${CMAKE_CURRENT_LIST_DIR}/${SUBDIR}/*.hh) + install(FILES ${HEADERS} DESTINATION include/kenlm/${SUBDIR} COMPONENT headers) + endforeach(SUBDIR) +diff --git a/cmake/kenlmConfig.cmake.in b/cmake/kenlmConfig.cmake.in +index 0fbf0c6..592407d 100644 +--- a/cmake/kenlmConfig.cmake.in ++++ b/cmake/kenlmConfig.cmake.in +@@ -4,6 +4,7 @@ include(CMakeFindDependencyMacro) + + find_dependency(Boost) + find_dependency(Threads) ++find_dependency(double-conversion CONFIG) + + # Compression libs + if (@ZLIB_FOUND@) +diff --git a/util/CMakeLists.txt b/util/CMakeLists.txt +index 7a96ef5..3318d73 100644 +--- a/util/CMakeLists.txt ++++ b/util/CMakeLists.txt +@@ -32,10 +32,11 @@ if (WIN32) + endif() + + # This directory has children that need to be processed +-add_subdirectory(double-conversion) ++find_package(double-conversion CONFIG REQUIRED) + add_subdirectory(stream) + + add_library(kenlm_util ${KENLM_UTIL_DOUBLECONVERSION_SOURCE} ${KENLM_UTIL_STREAM_SOURCE} ${KENLM_UTIL_SOURCE}) ++target_link_libraries(kenlm_util PRIVATE double-conversion::double-conversion) + # Since headers are relative to `include/kenlm` at install time, not just `include` + target_include_directories(kenlm_util PUBLIC $) + diff --git a/ports/kenlm/fix-boost-imported-targets.patch b/ports/kenlm/fix-boost-imported-targets.patch deleted file mode 100644 index f1987ca4362109..00000000000000 --- a/ports/kenlm/fix-boost-imported-targets.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff --git a/util/CMakeLists.txt b/util/CMakeLists.txt -index 7a96ef5..0708d8a 100644 ---- a/util/CMakeLists.txt -+++ b/util/CMakeLists.txt -@@ -85,7 +85,10 @@ set_target_properties(kenlm_util PROPERTIES POSITION_INDEPENDENT_CODE ON) - target_link_libraries(kenlm_util - PUBLIC - # Boost is required for building binaries and tests -- "$" -+ $ -+ $ -+ $ -+ $ - PRIVATE - Threads::Threads - ${RT}) -diff --git a/util/stream/CMakeLists.txt b/util/stream/CMakeLists.txt -index be2fe00..a7e7df5 100644 ---- a/util/stream/CMakeLists.txt -+++ b/util/stream/CMakeLists.txt -@@ -35,5 +35,11 @@ if(BUILD_TESTING) - ) - - AddTests(TESTS ${KENLM_BOOST_TESTS_LIST} -- LIBRARIES kenlm_util ${Boost_LIBRARIES} Threads::Threads) -+ LIBRARIES -+ kenlm_util -+ Boost::program_options -+ Boost::system -+ Boost::thread -+ Boost::unit_test_framework -+ Threads::Threads) - endif() diff --git a/ports/kenlm/fix-boost.patch b/ports/kenlm/fix-boost.patch index 3eded1c69c6e08..77d23d817204da 100644 --- a/ports/kenlm/fix-boost.patch +++ b/ports/kenlm/fix-boost.patch @@ -1,12 +1,25 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index bec81d4..44fd48a 100644 +index 3c6c863..fd08a48 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.1) -if (WIN32) -+if (WIN32 AND BUILD_SHARED_LIBS) ++if (0) set(Boost_USE_STATIC_LIBS OFF) # The auto-linking feature has problems with USE_STATIC_LIBS off, so we use # BOOST_ALL_NO_LIB to turn it off. +@@ -100,6 +100,12 @@ find_package(Boost 1.41.0 REQUIRED COMPONENTS + thread + unit_test_framework + ) ++set(Boost_LIBRARIES ++ Boost::program_options ++ Boost::system ++ Boost::thread ++ Boost::unit_test_framework ++) + + # Define where include files live + include_directories(${Boost_INCLUDE_DIRS}) diff --git a/ports/kenlm/portfile.cmake b/ports/kenlm/portfile.cmake index 15917d9253459d..bc57af00e8666b 100644 --- a/ports/kenlm/portfile.cmake +++ b/ports/kenlm/portfile.cmake @@ -1,4 +1,6 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH @@ -7,11 +9,14 @@ vcpkg_from_github( SHA512 04b645d09e60b65cb1e5065a1623ad01737f0dd9415cf620288ace0db10b1c424d72f304b34c52fa08684f3fecdaad9db91088134f34ed374cb1eb9d58c635b5 HEAD_REF master PATCHES + devendor.patch + cmake-config.patch fix-boost.patch - fix-boost-imported-targets.patch ) - -file(REMOVE "${SOURCE_PATH}/cmake/modules/FindEigen3.cmake") +file(REMOVE_RECURSE + "${SOURCE_PATH}/cmake/modules/FindEigen3.cmake" + "${SOURCE_PATH}/util/double-conversion" +) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES @@ -22,19 +27,20 @@ vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} - -DFORCE_STATIC=OFF #already handled by vcpkg + -DCMAKE_CXX_STANDARD=11 # 17 removes std::binary_function + -DFORCE_STATIC=OFF # handled by vcpkg -DENABLE_PYTHON=OFF # kenlm.lib(bhiksha.cc.obj) : fatal error LNK1000: Internal error during IMAGE::Pass2 -DCOMPILE_TESTS=OFF ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH share/${PORT}/cmake) +vcpkg_cmake_config_fixup(CONFIG_PATH share/kenlm/cmake) set(KENLM_TOOLS count_ngrams filter fragment kenlm_benchmark lmplz phrase_table_vocab query build_binary) if (NOT VCPKG_TARGET_IS_WINDOWS) list(APPEND KENLM_TOOLS probing_hash_table_benchmark) - if ("interpolate" IN_LIST FEATURES) - list(APPEND KENLM_TOOLS interpolate) - endif() +endif() +if ("interpolate" IN_LIST FEATURES) + list(APPEND KENLM_TOOLS interpolate) endif() vcpkg_copy_tools(TOOL_NAMES ${KENLM_TOOLS} AUTO_CLEAN) @@ -43,5 +49,4 @@ vcpkg_copy_pdbs() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -# Copyright and License -vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING" "${SOURCE_PATH}/LICENSE") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE" "${SOURCE_PATH}/COPYING" "${SOURCE_PATH}/LICENSE") diff --git a/ports/kenlm/vcpkg.json b/ports/kenlm/vcpkg.json index 4eaffd89e6077a..09dd862010df0e 100644 --- a/ports/kenlm/vcpkg.json +++ b/ports/kenlm/vcpkg.json @@ -1,8 +1,9 @@ { "name": "kenlm", "version": "20230531", + "port-version": 1, "description": "KenLM: Faster and Smaller Language Model Queries", - "license": "LGPL-2.1", + "license": null, "supports": "!(arm64 & windows)", "dependencies": [ "boost-interprocess", @@ -12,6 +13,7 @@ "boost-test", "boost-thread", "bzip2", + "double-conversion", "liblzma", { "name": "vcpkg-cmake", @@ -28,10 +30,7 @@ "description": "Build interpolation program", "supports": "!windows", "dependencies": [ - { - "name": "eigen3", - "platform": "!windows" - } + "eigen3" ] } } diff --git a/ports/kerbal/portfile.cmake b/ports/kerbal/portfile.cmake new file mode 100644 index 00000000000000..fd4971a1d59876 --- /dev/null +++ b/ports/kerbal/portfile.cmake @@ -0,0 +1,50 @@ + +set(KERBAL_SHA_CORE 9cf05d4901ba2b99d6801e75973e773e28b4ccd019a46a140ae733d14675ce9de29641a9d81c163e34cf0900ac9ab1724f8d678a6e96d4eb11c4a2ef007e9ae9) +set(KERBAL_SHA_PRETTY_PRINTER af34cc5e8dcd37aa911151c47a7a38de2709ca4e9c83ef5809f6540b1dc3b6e352317ebb806eb28b5739339756fb2e22cfe923585bc64107126a5db67e12fc96) + + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO WentsingNee/Kerbal + REF "v${VERSION}" + SHA512 "${KERBAL_SHA_CORE}" + HEAD_REF main +) + + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + "pretty-printer" WITH_PRETTY_PRINTER +) + +if (WITH_PRETTY_PRINTER) + vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH_PRETTY_PRINTER + REPO WentsingNee/KerbalPrettyPrinter + REF "v${VERSION}" + SHA512 "${KERBAL_SHA_PRETTY_PRINTER}" + HEAD_REF main + ) + file(GLOB pretty_printer_files + LIST_DIRECTORIES True + "${SOURCE_PATH_PRETTY_PRINTER}/*" + ) + foreach (e IN LISTS pretty_printer_files) + file( + COPY "${e}" + DESTINATION "${SOURCE_PATH}/pretty_printer" + ) + endforeach () +endif () + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup( + CONFIG_PATH "share/cmake/Kerbal" +) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/kerbal/vcpkg.json b/ports/kerbal/vcpkg.json new file mode 100644 index 00000000000000..43413468954405 --- /dev/null +++ b/ports/kerbal/vcpkg.json @@ -0,0 +1,22 @@ +{ + "name": "kerbal", + "version": "2024.11.1", + "description": "Kerbal C++ Template Library", + "homepage": "https://github.com/WentsingNee/Kerbal", + "license": "LGPL-3.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "pretty-printer": { + "description": "Pretty printer support for kerbal" + } + } +} diff --git a/ports/kf5kio/portfile.cmake b/ports/kf5kio/portfile.cmake index 4593c75f72dfd8..d34ff93f082a29 100644 --- a/ports/kf5kio/portfile.cmake +++ b/ports/kf5kio/portfile.cmake @@ -1,11 +1,11 @@ -if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL static) +if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "static") list(APPEND PATCHES fix_libiconv.patch) endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KDE/kio - REF v5.98.0 + REF "v${VERSION}" SHA512 6ffb44963b266f806150bc3ff9a1c3cf13f2fe7b4bda57e27d9bd9b931bfd757d50ee29f4143f6d282a25f675c8024aff16dc2f91e00ec0c7663eb8effdfee30 HEAD_REF master PATCHES @@ -26,14 +26,15 @@ vcpkg_cmake_configure( OPTIONS -DCMAKE_FIND_PACKAGE_TARGETS_GLOBAL=ON -DBUILD_TESTING=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_GSSAPI=ON -DCMAKE_DISABLE_FIND_PACKAGE_KF5DocTools=ON -DCMAKE_VERBOSE_MAKEFILE=ON -DKDE_INSTALL_QTPLUGINDIR=plugins -DKDE_INSTALL_PLUGINDIR=plugins -DKDE_INSTALL_LIBEXECDIR=bin ${FEATURE_OPTIONS} - --trace-expand - MAYBE_UNUSED_VARIABLES CMAKE_DISABLE_FIND_PACKAGE_KF5Notifications + MAYBE_UNUSED_VARIABLES + CMAKE_DISABLE_FIND_PACKAGE_KF5Notifications ) vcpkg_cmake_install() @@ -66,5 +67,3 @@ endif() file(GLOB LICENSE_FILES "${SOURCE_PATH}/LICENSES/*") vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES}) - - diff --git a/ports/kf5kio/vcpkg.json b/ports/kf5kio/vcpkg.json index 2b4cda2103a6bb..535690f92f5653 100644 --- a/ports/kf5kio/vcpkg.json +++ b/ports/kf5kio/vcpkg.json @@ -1,6 +1,7 @@ { "name": "kf5kio", "version": "5.98.0", + "port-version": 1, "description": "Network transparent access to files and data", "homepage": "https://api.kde.org/frameworks/kio/html/index.html", "license": null, @@ -47,7 +48,10 @@ "name": "libmount", "platform": "linux" }, - "qt5-base", + { + "name": "qt5-base", + "default-features": false + }, { "name": "qt5-macextras", "platform": "osx" diff --git a/ports/kf5parts/portfile.cmake b/ports/kf5parts/portfile.cmake index 1f09bc00a2ceba..57122d2a0f009f 100644 --- a/ports/kf5parts/portfile.cmake +++ b/ports/kf5parts/portfile.cmake @@ -9,11 +9,21 @@ vcpkg_from_github( # Prevent KDEClangFormat from writing to source effectively blocking parallel configure file(WRITE "${SOURCE_PATH}/.clang-format" "DisableFormat: true\nSortIncludes: false\n") +# See ECM/kde-modules/KDEInstallDirs5.cmake +# Relocate .desktop files for next ports +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + list(APPEND KDE_OPTIONS + -DKDE_INSTALL_KSERVICES5DIR="share/kservices5" + -DKDE_INSTALL_KSERVICETYPES5DIR="share/kservicetypes5" + ) +endif() + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_TESTING=OFF ${FEATURE_OPTIONS} + ${KDE_OPTIONS} ) vcpkg_cmake_install() diff --git a/ports/kf5parts/vcpkg.json b/ports/kf5parts/vcpkg.json index 2b0bea7de9abd6..101c88816e8cd4 100644 --- a/ports/kf5parts/vcpkg.json +++ b/ports/kf5parts/vcpkg.json @@ -1,6 +1,7 @@ { "name": "kf5parts", "version": "5.98.0", + "port-version": 1, "description": "Plugin framework for user interface component", "homepage": "https://api.kde.org/frameworks/kparts/html/index.html", "license": "LGPL-2.0-or-later", diff --git a/ports/kf5plotting/portfile.cmake b/ports/kf5plotting/portfile.cmake index fa6b846a1a0c16..2dc67843df6a05 100644 --- a/ports/kf5plotting/portfile.cmake +++ b/ports/kf5plotting/portfile.cmake @@ -20,7 +20,9 @@ vcpkg_cmake_config_fixup(PACKAGE_NAME KF5Plotting CONFIG_PATH lib/cmake/KF5Plott vcpkg_copy_pdbs() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/plugins" "${CURRENT_PACKAGES_DIR}/debug/plugins") +if(NOT VCPKG_BUILD_TYPE) + file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/plugins" "${CURRENT_PACKAGES_DIR}/debug/plugins") +endif() file(RENAME "${CURRENT_PACKAGES_DIR}/lib/plugins" "${CURRENT_PACKAGES_DIR}/plugins") file(GLOB LICENSE_FILES "${SOURCE_PATH}/LICENSES/*") diff --git a/ports/kf5plotting/vcpkg.json b/ports/kf5plotting/vcpkg.json index 56dcca670b5283..13d5bdba7e1611 100644 --- a/ports/kf5plotting/vcpkg.json +++ b/ports/kf5plotting/vcpkg.json @@ -1,6 +1,7 @@ { "name": "kf5plotting", "version": "5.98.0", + "port-version": 1, "description": "Lightweight plotting framework", "homepage": "https://api.kde.org/frameworks/kplotting/html/index.html", "dependencies": [ diff --git a/ports/kf5service/portfile.cmake b/ports/kf5service/portfile.cmake index 316d08c842020f..14e576dcabac3c 100644 --- a/ports/kf5service/portfile.cmake +++ b/ports/kf5service/portfile.cmake @@ -34,11 +34,21 @@ vcpkg_add_to_path(PREPEND "${BISON_DIR}") # Prevent KDEClangFormat from writing to source effectively blocking parallel configure file(WRITE "${SOURCE_PATH}/.clang-format" "DisableFormat: true\nSortIncludes: false\n") +# See ECM/kde-modules/KDEInstallDirs5.cmake +# Relocate .desktop files for next ports +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + list(APPEND KDE_OPTIONS + -DKDE_INSTALL_KSERVICES5DIR="share/kservices5" + -DKDE_INSTALL_KSERVICETYPES5DIR="share/kservicetypes5" + ) +endif() + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_TESTING=OFF -DCMAKE_DISABLE_FIND_PACKAGE_KF5DocTools=ON + ${KDE_OPTIONS} ) vcpkg_cmake_install() diff --git a/ports/kf5service/vcpkg.json b/ports/kf5service/vcpkg.json index d2855ffc1af26f..b1e9f5308a92c5 100644 --- a/ports/kf5service/vcpkg.json +++ b/ports/kf5service/vcpkg.json @@ -1,6 +1,7 @@ { "name": "kf5service", "version": "5.98.0", + "port-version": 1, "description": "Plugin framework for desktop services", "homepage": "https://api.kde.org/frameworks/kservice/html/index.html", "dependencies": [ diff --git a/ports/kf5texteditor/portfile.cmake b/ports/kf5texteditor/portfile.cmake new file mode 100644 index 00000000000000..3889db5c4e5bea --- /dev/null +++ b/ports/kf5texteditor/portfile.cmake @@ -0,0 +1,58 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO KDE/ktexteditor + REF v5.98.0 + SHA512 06aad3993cd2133b99ef9e8b510c8b89a844ce778a71351797122c6b05e31e6277d238a8563653a42aafe773457ec89842bbd6184277d471069969c177304696 + HEAD_REF master +) + +# Prevent KDEClangFormat from writing to source effectively blocking parallel configure +file(WRITE "${SOURCE_PATH}/.clang-format" "DisableFormat: true\nSortIncludes: false\n") + +# A trick for `kcoreaddons_desktop_to_json` (see KF5CoreAddonsMacros.cmake) to generate katepart.desktop +# The copied *.desktop files should be removed after vcpkg_cmake_install +if(VCPKG_TARGET_IS_WINDOWS) + if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + set(DATAROOT "bin/data") # maybe ADD_BIN_TO_PATH can work in this case... + elseif(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + set(DATAROOT "share") + endif() + if(NOT VCPKG_BUILD_TYPE) + file(COPY "${CURRENT_INSTALLED_DIR}/${DATAROOT}/kservicetypes5" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin/data") + file(GLOB TEMP_DESKTOP_FILES_DBG "${CURRENT_PACKAGES_DIR}/debug/${DATAROOT}/kservicetypes5/*") + endif() + file(COPY "${CURRENT_INSTALLED_DIR}/${DATAROOT}/kservicetypes5" DESTINATION "${CURRENT_PACKAGES_DIR}/bin/data") + file(GLOB TEMP_DESKTOP_FILES_REL "${CURRENT_PACKAGES_DIR}/${DATAROOT}/kservicetypes5/*") +else() + if(NOT VCPKG_BUILD_TYPE) + file(COPY "${CURRENT_INSTALLED_DIR}/share/kservicetypes5" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/share") + file(GLOB TEMP_DESKTOP_FILES_DBG "${CURRENT_PACKAGES_DIR}/debug/share/kservicetypes5/*") + endif() + file(COPY "${CURRENT_INSTALLED_DIR}/share/kservicetypes5" DESTINATION "${CURRENT_PACKAGES_DIR}/share") + file(GLOB TEMP_DESKTOP_FILES_REL "${CURRENT_PACKAGES_DIR}/share/kservicetypes5/*") +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTING=OFF + -DENABLE_KAUTH=OFF + -DKDE_INSTALL_PLUGINDIR=plugins + -DVCPKG_HOST_TRIPLET=${VCPKG_HOST_TRIPLET} +) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME KF5TextEditor CONFIG_PATH lib/cmake/KF5TextEditor) +vcpkg_copy_pdbs() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") +endif() + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" + ${TEMP_DESKTOP_FILES_DBG} ${TEMP_DESKTOP_FILES_REL} +) + +file(GLOB LICENSE_FILES "${SOURCE_PATH}/LICENSES/*") +vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES}) diff --git a/ports/kf5texteditor/vcpkg.json b/ports/kf5texteditor/vcpkg.json new file mode 100644 index 00000000000000..39e372f8380f30 --- /dev/null +++ b/ports/kf5texteditor/vcpkg.json @@ -0,0 +1,34 @@ +{ + "name": "kf5texteditor", + "version": "5.98.0", + "port-version": 2, + "description": "Full text editor component", + "homepage": "https://api.kde.org/frameworks/ktexteditor/html/", + "dependencies": [ + "ecm", + { + "name": "gettext", + "host": true, + "features": [ + "tools" + ] + }, + "gettext-libintl", + "kf5archive", + "kf5config", + "kf5guiaddons", + "kf5i18n", + "kf5kio", + "kf5parts", + "kf5sonnet", + "kf5syntaxhighlighting", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/kfr/portfile.cmake b/ports/kfr/portfile.cmake index fb820ef050f6f4..3446bd77450b56 100644 --- a/ports/kfr/portfile.cmake +++ b/ports/kfr/portfile.cmake @@ -3,8 +3,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO kfrlib/kfr - REF 5.0.1 - SHA512 e2d19813fd80bfc19e05576103d0500637bc30f7e7780fbe80e9ab5126a9530188965e5cb63d5de508beaceb94c6ff5c2dcf5d5f81fc5aa6122c707e0e155113 + REF "${VERSION}" + SHA512 90ae299b1d3b9cc73de665f7c5ace757978b95d1546a4b00383a1a677ecfcd56698ea80e7bf7367e3f169238fff6391ee1f2a3558cfba7cc11c762cc3fbb3292 HEAD_REF master ) @@ -13,7 +13,6 @@ vcpkg_check_features( FEATURES capi KFR_ENABLE_CAPI_BUILD dft KFR_ENABLE_DFT - dft-np KFR_ENABLE_DFT_NP ) vcpkg_cmake_configure( @@ -29,6 +28,8 @@ vcpkg_cmake_configure( ) vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/kfr/vcpkg.json b/ports/kfr/vcpkg.json index 0d6edb00aa2d5a..4fb8d8d215c96e 100644 --- a/ports/kfr/vcpkg.json +++ b/ports/kfr/vcpkg.json @@ -1,7 +1,6 @@ { "name": "kfr", - "version-semver": "5.0.1", - "port-version": 1, + "version-semver": "6.0.2", "description": "Fast, modern C++ DSP framework.", "homepage": "https://www.kfr.dev/", "license": "GPL-2.0", @@ -10,6 +9,10 @@ { "name": "vcpkg-cmake", "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } ], "features": { @@ -27,9 +30,6 @@ }, "dft": { "description": "Enable DFT and related algorithms." - }, - "dft-np": { - "description": "Enable non-power of 2 DFT." } } } diff --git a/ports/kissnet/portfile.cmake b/ports/kissnet/portfile.cmake index 0b1548dced768b..8ae1c708890a46 100644 --- a/ports/kissnet/portfile.cmake +++ b/ports/kissnet/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Ybalrid/kissnet - REF adbfe52d5147b206dd68c83da15b6e5805fe28dd # 2023-02-04 - SHA512 404eec875f64884ef6256775a63c989cf691c9a3fc5fef77a68713a63a7a1554a78d26ba063c613c9de328e92d6c685a53fff77e89b6bc42056962e282134e84 + REF 12ea4c632cc719b608876bf1894ce96eea0a1174 # 2024-01-20 + SHA512 44f169c912cfa00bcc6132dfbd62a4d3d40bb70db92ba69b21a76e32eb8b4363f17c6eb1413974af55f4fcfbafbf32cc98e6ac147e46bad8cf7c691016a30bdb HEAD_REF master ) diff --git a/ports/kissnet/vcpkg.json b/ports/kissnet/vcpkg.json index 835719eebdd3b6..af0dc0a0b73b7f 100644 --- a/ports/kissnet/vcpkg.json +++ b/ports/kissnet/vcpkg.json @@ -1,6 +1,6 @@ { "name": "kissnet", - "version-date": "2023-02-04", + "version-date": "2024-01-20", "description": "Keep It Simple Stupid NETwork - C++17 wrapping of your OS's native socket API", "homepage": "https://github.com/Ybalrid/kissnet", "license": "MIT", diff --git a/ports/krabsetw/portfile.cmake b/ports/krabsetw/portfile.cmake index d90e50b8278f10..f99dc5b73471a7 100644 --- a/ports/krabsetw/portfile.cmake +++ b/ports/krabsetw/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO microsoft/krabsetw - REF 3bc145fb55212aaf121be88c3a2f25afa2e07b42 - SHA512 e25e6525a61df367ba782701cb5f22d8262b6451368dbead2ea901f59eb1479a1364d58da20e47e2413db3cb45c6b46a992a1aeb9bff60ad137ffdb91b4aba60 + REF 550f5edfdb6464567d7a618702316183d31746e5 + SHA512 0e02e04b79d4f856962c135023b87057898cb9a05f8056e0dc2bca7c4bb6227a660097f5251134086d1334f2a8e1541b4e963667ccd4f5c5ed6d60aa32c2c968 HEAD_REF master ) diff --git a/ports/krabsetw/vcpkg.json b/ports/krabsetw/vcpkg.json index 6428581a1949d9..b5808373aa37c3 100644 --- a/ports/krabsetw/vcpkg.json +++ b/ports/krabsetw/vcpkg.json @@ -1,6 +1,6 @@ { "name": "krabsetw", - "version": "4.3.1", + "version": "4.3.2", "description": "krabsetw is a header-only C++ library that simplifies interacting with ETW.", "homepage": "https://github.com/microsoft/krabsetw", "supports": "windows & !uwp" diff --git a/ports/krb5/define-des-zeroblock.diff b/ports/krb5/define-des-zeroblock.diff new file mode 100644 index 00000000000000..7658a1ef9fe0a7 --- /dev/null +++ b/ports/krb5/define-des-zeroblock.diff @@ -0,0 +1,13 @@ +diff --git a/src/lib/crypto/builtin/des/f_aead.c b/src/lib/crypto/builtin/des/f_aead.c +index f887735..26a5474 100644 +--- a/src/lib/crypto/builtin/des/f_aead.c ++++ b/src/lib/crypto/builtin/des/f_aead.c +@@ -28,7 +28,7 @@ + + #ifdef K5_BUILTIN_DES + +-const mit_des_cblock mit_des_zeroblock /* = all zero */; ++const mit_des_cblock mit_des_zeroblock = { 0, 0, 0 }; + + void + krb5int_des_cbc_encrypt(krb5_crypto_iov *data, unsigned long num_data, diff --git a/ports/krb5/portfile.cmake b/ports/krb5/portfile.cmake new file mode 100644 index 00000000000000..d698b906d7d36e --- /dev/null +++ b/ports/krb5/portfile.cmake @@ -0,0 +1,119 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO krb5/krb5 + REF krb5-${VERSION}-final + SHA512 82ea07acbc91a0352579aeec4f20d1c6d2c3f024640eaaa046f3ec5852d5d9c84143a1e0d04a5cf146f90c3406830823845eb608907f4060d7f765dfe0fb10a8 + HEAD_REF master + PATCHES + static-deps.diff + define-des-zeroblock.diff +) + +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 + ) + + 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() + vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}/src" + AUTOCONFIG + OPTIONS + --disable-nls + --with-tls-impl=no + "CFLAGS=-fcommon \$CFLAGS" + ) + vcpkg_install_make() + + 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() +endif() + +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/var") +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}/var") + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/lib/krb5/" + "${CURRENT_PACKAGES_DIR}/lib/krb5/" + ) +endif() + +if(VCPKG_BUILD_TYPE) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +endif() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/NOTICE") diff --git a/ports/krb5/static-deps.diff b/ports/krb5/static-deps.diff new file mode 100644 index 00000000000000..54ab936c219ff8 --- /dev/null +++ b/ports/krb5/static-deps.diff @@ -0,0 +1,35 @@ +diff --git a/src/aclocal.m4 b/src/aclocal.m4 +index 3d66a87..cf3e3e6 100644 +--- a/src/aclocal.m4 ++++ b/src/aclocal.m4 +@@ -226,6 +226,7 @@ old_CFLAGS="$CFLAGS" + # On Solaris, -pthreads is added to CFLAGS, no extra explicit libraries. + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + AC_SUBST(PTHREAD_CFLAGS) ++AC_SUBST(PTHREAD_LIBS) + old_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + AC_MSG_NOTICE(rechecking with PTHREAD_... options) +diff --git a/src/build-tools/mit-krb5.pc.in b/src/build-tools/mit-krb5.pc.in +index fdc5577..745d5ec 100644 +--- a/src/build-tools/mit-krb5.pc.in ++++ b/src/build-tools/mit-krb5.pc.in +@@ -12,4 +12,4 @@ Description: An implementation of Kerberos network authentication + Version: @KRB5_VERSION@ + Cflags: -I${includedir} + Libs: -L${libdir} -lkrb5 -lk5crypto @COM_ERR_LIB@ +-Libs.private: -lkrb5support ++Libs.private: -lkrb5support @GEN_LIB@ @MACOS_FRAMEWORK@ @LIBS@ @DL_LIB@ @PTHREAD_CFLAGS@ @PTHREAD_LIBS@ +diff --git a/src/config/pre.in b/src/config/pre.in +index a0c60c7..a8432a8 100644 +--- a/src/config/pre.in ++++ b/src/config/pre.in +@@ -379,7 +379,7 @@ SUPPORT_LIB = -l$(SUPPORT_LIBNAME) + # HESIOD_LIBS is -lhesiod... + HESIOD_LIBS = @HESIOD_LIBS@ + +-KRB5_BASE_LIBS = $(KRB5_LIB) $(K5CRYPTO_LIB) $(COM_ERR_LIB) $(SUPPORT_LIB) $(GEN_LIB) $(LIBS) $(DL_LIB) ++KRB5_BASE_LIBS = $(KRB5_LIB) $(K5CRYPTO_LIB) $(COM_ERR_LIB) $(SUPPORT_LIB) $(GEN_LIB) @MACOS_FRAMEWORK@ $(LIBS) $(DL_LIB) + KDB5_LIBS = $(KDB5_LIB) $(GSSRPC_LIBS) + GSS_LIBS = $(GSS_KRB5_LIB) + # needs fixing if ever used on macOS! diff --git a/ports/krb5/vcpkg.json b/ports/krb5/vcpkg.json new file mode 100644 index 00000000000000..73dae7a9104b44 --- /dev/null +++ b/ports/krb5/vcpkg.json @@ -0,0 +1,21 @@ +{ + "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json", + "name": "krb5", + "version": "1.21.3", + "port-version": 2, + "description": [ + "Kerberos is a network authentication protocol.", + "It is designed to provide strong authentication for client/server applications by using secret-key cryptography.", + "A free implementation of this protocol is available from the Massachusetts Institute of Technology.", + "Kerberos is available in many commercial products as well." + ], + "homepage": "https://web.mit.edu/kerberos/", + "license": "MIT", + "supports": "linux | osx | (x64 & windows & !static & !uwp)", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/ports/krb5/windows_pc_files/krb5-gssapi.pc.in b/ports/krb5/windows_pc_files/krb5-gssapi.pc.in new file mode 100644 index 00000000000000..90875b5007580f --- /dev/null +++ b/ports/krb5/windows_pc_files/krb5-gssapi.pc.in @@ -0,0 +1,10 @@ +prefix=${pcfiledir}/../.. +exec_prefix=${prefix} +libdir=${prefix}/lib +includedir=${prefix}/include +vendor=MIT + +Name: krb5-gssapi +Description: Kerberos implementation of the GSSAPI +Version: @VERSION@ +Requires: mit-krb5-gssapi diff --git a/ports/krb5/windows_pc_files/krb5.pc.in b/ports/krb5/windows_pc_files/krb5.pc.in new file mode 100644 index 00000000000000..8822afc700bf85 --- /dev/null +++ b/ports/krb5/windows_pc_files/krb5.pc.in @@ -0,0 +1,14 @@ +prefix=${pcfiledir}/../.. +exec_prefix=${prefix} +libdir=${prefix}/lib +includedir=${prefix}/include +vendor=MIT + +defccname=FILE:/tmp/krb5cc_%{uid} +defktname=FILE:/etc/krb5.keytab +defcktname=FILE:${prefix}/var/krb5/user/%{euid}/client.keytab + +Name: krb5 +Description: An implementation of Kerberos network authentication +Version: @VERSION@ +Requires: mit-krb5 diff --git a/ports/krb5/windows_pc_files/mit-krb5-gssapi.pc.in b/ports/krb5/windows_pc_files/mit-krb5-gssapi.pc.in new file mode 100644 index 00000000000000..0e5dfc83082eec --- /dev/null +++ b/ports/krb5/windows_pc_files/mit-krb5-gssapi.pc.in @@ -0,0 +1,11 @@ +prefix=${pcfiledir}/../.. +exec_prefix=${prefix} +libdir=${prefix}/lib +includedir=${prefix}/include + +Name: mit-krb5-gssapi +Description: Kerberos implementation of the GSSAPI +Version: @VERSION@ +Requires.private: mit-krb5 +Cflags: -I${includedir} +Libs: -L${libdir} -lgssapi64 diff --git a/ports/krb5/windows_pc_files/mit-krb5.pc.in b/ports/krb5/windows_pc_files/mit-krb5.pc.in new file mode 100644 index 00000000000000..eb48aa7554b968 --- /dev/null +++ b/ports/krb5/windows_pc_files/mit-krb5.pc.in @@ -0,0 +1,15 @@ +prefix=${pcfiledir}/../.. +exec_prefix=${prefix} +libdir=${prefix}/lib +includedir=${prefix}/include + +defccname=FILE:/tmp/krb5cc_%{uid} +defktname=FILE:/etc/krb5.keytab +defcktname=FILE:${prefix}/var/krb5/user/%{euid}/client.keytab + +Name: mit-krb5 +Description: An implementation of Kerberos network authentication +Version: @VERSION@ +Cflags: -I${includedir} +Libs: -L${libdir} -lkrb5_64 -lkrbcc64 -lxpprof64 -lkfwlogon -lcomerr64 -lk5sprt64 +Libs.private: -lk5sprt64 diff --git a/ports/ktx/0001-Use-vcpkg-zstd.patch b/ports/ktx/0001-Use-vcpkg-zstd.patch index f74fe7e245b192..71a587bd6ed5f7 100644 --- a/ports/ktx/0001-Use-vcpkg-zstd.patch +++ b/ports/ktx/0001-Use-vcpkg-zstd.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 0653da5..1265f3d 100644 +index 9a56491..d7ca937 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -265,7 +265,6 @@ set(KTX_MAIN_SRC +@@ -345,7 +345,6 @@ set(KTX_MAIN_SRC lib/basisu/transcoder/basisu_transcoder.cpp lib/basisu/transcoder/basisu_transcoder.h lib/basisu/transcoder/basisu.h @@ -10,15 +10,15 @@ index 0653da5..1265f3d 100644 lib/checkheader.c lib/dfdutils/createdfd.c lib/dfdutils/colourspaces.c -@@ -448,7 +447,6 @@ macro(common_libktx_settings target enable_write library_type) +@@ -532,7 +531,6 @@ macro(common_libktx_settings target enable_write library_type) $ $ - $ - $ - $ -@@ -538,6 +536,11 @@ macro(common_libktx_settings target enable_write library_type) + $ + $ +@@ -627,6 +625,11 @@ macro(common_libktx_settings target enable_write library_type) target_compile_definitions(${target} PUBLIC KTX_FEATURE_KTX2) endif() @@ -46,19 +46,20 @@ index 6386ba2..537bf4f 100644 include("${CMAKE_CURRENT_LIST_DIR}/KtxTargets.cmake") diff --git a/lib/basisu/CMakeLists.txt b/lib/basisu/CMakeLists.txt -index 492233a..2663169 100644 +index 492233a..152ceb5 100644 --- a/lib/basisu/CMakeLists.txt +++ b/lib/basisu/CMakeLists.txt -@@ -146,7 +146,7 @@ set(BASISU_SRC_LIST ${COMMON_SRC_LIST} +@@ -145,9 +145,6 @@ set(BASISU_SRC_LIST ${COMMON_SRC_LIST} + transcoder/basisu_transcoder.cpp ) - if (ZSTD) +-if (ZSTD) - set(BASISU_SRC_LIST ${BASISU_SRC_LIST} zstd/zstd.c) -+ set(ZSTD_LIBRARIES "$,zstd::libzstd_shared,zstd::libzstd_static>") - endif() +-endif() if (APPLE) -@@ -165,6 +165,10 @@ else() + set(BIN_DIRECTORY "bin_osx") +@@ -165,6 +162,10 @@ else() target_compile_definitions(basisu PRIVATE BASISD_SUPPORT_KTX2_ZSTD=0) endif() @@ -70,54 +71,52 @@ index 492233a..2663169 100644 # For Non-Windows builds, let cmake try and find the system OpenCL headers/libs for us. if (OPENCL_FOUND) diff --git a/lib/basisu/webgl/encoder/CMakeLists.txt b/lib/basisu/webgl/encoder/CMakeLists.txt -index 588d91b..edd7457 100644 +index 588d91b..a337b13 100644 --- a/lib/basisu/webgl/encoder/CMakeLists.txt +++ b/lib/basisu/webgl/encoder/CMakeLists.txt -@@ -34,9 +34,7 @@ if (EMSCRIPTEN) +@@ -34,9 +34,6 @@ if (EMSCRIPTEN) ) if (KTX2_ZSTANDARD) - set(SRC_LIST ${SRC_LIST} - ../../zstd/zstd.c - ) -+ set(ZSTD_LIBRARIES "$,zstd::libzstd_shared,zstd::libzstd_static>") set(ZSTD_DEFINITION BASISD_SUPPORT_KTX2_ZSTD=1) else() set(ZSTD_DEFINITION BASISD_SUPPORT_KTX2_ZSTD=0) -@@ -56,6 +54,10 @@ if (EMSCRIPTEN) +@@ -55,6 +52,10 @@ if (EMSCRIPTEN) + target_compile_options(basis_encoder.js PRIVATE -fno-strict-aliasing -O3) target_include_directories(basis_encoder.js PRIVATE ../../transcoder) - ++ + if(ZSTD_LIBRARIES) + target_link_libraries(basis_encoder.js ${ZSTD_LIBRARIES}) + endif() -+ + set_target_properties(basis_encoder.js PROPERTIES OUTPUT_NAME "basis_encoder" - SUFFIX ".js" diff --git a/lib/basisu/webgl/transcoder/CMakeLists.txt b/lib/basisu/webgl/transcoder/CMakeLists.txt -index 372653d..3c9ed0c 100644 +index 372653d..5ebc3cf 100644 --- a/lib/basisu/webgl/transcoder/CMakeLists.txt +++ b/lib/basisu/webgl/transcoder/CMakeLists.txt -@@ -28,9 +28,7 @@ if (EMSCRIPTEN) +@@ -28,9 +28,6 @@ if (EMSCRIPTEN) endif() if (KTX2_ZSTANDARD) - set(SRC_LIST ${SRC_LIST} - ../../zstd/zstddeclib.c - ) -+ set(ZSTD_LIBRARIES "$,zstd::libzstd_shared,zstd::libzstd_static>") set(ZSTD_DEFINITION BASISD_SUPPORT_KTX2_ZSTD=1) else() set(ZSTD_DEFINITION BASISD_SUPPORT_KTX2_ZSTD=0) -@@ -45,6 +43,10 @@ if (EMSCRIPTEN) +@@ -44,6 +41,10 @@ if (EMSCRIPTEN) + target_compile_definitions(basis_transcoder.js PRIVATE NDEBUG BASISD_SUPPORT_UASTC=1 BASISD_SUPPORT_BC7=1 BASISD_SUPPORT_ATC=0 BASISD_SUPPORT_ASTC_HIGHER_OPAQUE_QUALITY=0 BASISD_SUPPORT_PVRTC2=0 BASISD_SUPPORT_FXT1=0 BASISD_SUPPORT_ETC2_EAC_RG11=0 BASISU_SUPPORT_ENCODING=0 ${KTX2_DEFINITION} ${ZSTD_DEFINITION} ) target_compile_options(basis_transcoder.js PRIVATE -O3 -fno-strict-aliasing) target_include_directories(basis_transcoder.js PRIVATE ../../transcoder) - ++ + if(ZSTD_LIBRARIES) + target_link_libraries(basis_transcoder.js ${ZSTD_LIBRARIES}) + endif() -+ + set_target_properties(basis_transcoder.js PROPERTIES OUTPUT_NAME "basis_transcoder" - SUFFIX ".js" diff --git a/ports/ktx/0004-quirks.patch b/ports/ktx/0004-quirks.patch index f0692f5c72879a..afc34236dd99f8 100644 --- a/ports/ktx/0004-quirks.patch +++ b/ports/ktx/0004-quirks.patch @@ -1,17 +1,17 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 9775c89..a4dfc2a 100644 +index 1500844..810914e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -235,7 +235,7 @@ include(cmake/mkvk.cmake) - # Global compile & link options including optimization flags - if(MSVC) - add_compile_options( /W4;/WX ) +@@ -263,7 +263,7 @@ if(MSVC) + # ";" argument separator is problematic. Can't use a GenEx `$:/WX> ) - add_compile_options( $,/Gz,/O2> ) + add_compile_options( $,,/O2> ) - elseif(${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU" - OR ${CMAKE_CXX_COMPILER_ID} MATCHES "Clang") - add_compile_options(-Wall -Wextra -Werror) -@@ -851,6 +851,7 @@ if(EMSCRIPTEN) + # Enable UTF-8 support + add_compile_options( $<$:/utf-8> ) + add_compile_options( $<$:/utf-8> ) +@@ -946,6 +946,7 @@ if(EMSCRIPTEN) endif() add_library( objUtil STATIC diff --git a/ports/ktx/0005-no-vendored-libs.patch b/ports/ktx/0005-no-vendored-libs.patch new file mode 100644 index 00000000000000..4c900225f6d368 --- /dev/null +++ b/ports/ktx/0005-no-vendored-libs.patch @@ -0,0 +1,17 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e99fb143..0f69adf7 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1071,10 +1071,10 @@ endif() + if((KTX_FEATURE_TOOLS OR KTX_FEATURE_TESTS) AND NOT TARGET fmt::fmt) + set(FMT_INSTALL OFF) + set(FMT_SYSTEM_HEADERS ON) +- add_subdirectory(other_projects/fmt) ++ find_package(fmt CONFIG REQUIRED) + endif() + if(KTX_FEATURE_TOOLS AND NOT TARGET cxxopts::cxxopts) +- add_subdirectory(other_projects/cxxopts) ++ find_package(cxxopts CONFIG REQUIRED) + endif() + + # Tools diff --git a/ports/ktx/0006-fix-ios-install.patch b/ports/ktx/0006-fix-ios-install.patch new file mode 100644 index 00000000000000..0af3fea68fb552 --- /dev/null +++ b/ports/ktx/0006-fix-ios-install.patch @@ -0,0 +1,22 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e99fb143..072ea889 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -489,7 +489,7 @@ macro(common_libktx_settings target enable_write library_type) + CXX_STANDARD_REQUIRED YES + + ) +- if(IOS) ++ if(0) + set_target_properties(${target} PROPERTIES + FRAMEWORK TRUE + ) +@@ -1145,7 +1145,7 @@ endif() + # Use of this to install KHR/khr_df.h is due to CMake's failure to + # preserve the include source folder hierarchy. + # See https://gitlab.kitware.com/cmake/cmake/-/issues/16739. +-if (IOS) ++if (0) + set_source_files_properties( + include/KHR/khr_df.h + PROPERTIES MACOSX_PACKAGE_LOCATION Headers/KHR diff --git a/ports/ktx/portfile.cmake b/ports/ktx/portfile.cmake index 854fb4cfd2a935..b379ef0fb3b376 100644 --- a/ports/ktx/portfile.cmake +++ b/ports/ktx/portfile.cmake @@ -2,13 +2,15 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KhronosGroup/KTX-Software REF "v${VERSION}" - SHA512 9ef0100a402321b00faa822eb2a50fd0d1e17fa703edacdbacf9231484d911cc254aed1fa517988537dc5b7059921a793edaeb92e8b2965d25672cd9a2589a0f + SHA512 0077315fe2b4e676e97e3a158c2c6e1f6ba426e14ad23342592cd69be28cfce64c40614e0a84d58a9634877ab334e713b94d4c962132c98bfea308e91bc8a98a HEAD_REF master PATCHES 0001-Use-vcpkg-zstd.patch 0002-Fix-versioning.patch 0003-mkversion.patch 0004-quirks.patch + 0005-no-vendored-libs.patch + 0006-fix-ios-install.patch ) file(REMOVE "${SOURCE_PATH}/other_include/zstd_errors.h") @@ -21,6 +23,9 @@ if(VCPKG_TARGET_IS_WINDOWS) # Required for "getopt" "https://repo.msys2.org/msys/x86_64/util-linux-2.35.2-3-x86_64.pkg.tar.zst" da26540881cd5734072717133307e5d1a27a60468d3656885507833b80f24088c5382eaa0234b30bdd9e8484a6638b4514623f5327f10b19eed36f12158e8edb + # Required for "dos2unix" + "https://mirror.msys2.org/msys/x86_64/dos2unix-7.5.1-1-x86_64.pkg.tar.zst" + 83d85e6ccea746ef9e8153a0d605e774dbe7efc0ee952804acfee4ffd7e3b0386a353b45ff989dd99bc3ce75968209fea3d246ad2af88bbb5c4eca12fc5a8f92 ) vcpkg_add_to_path("${MSYS_ROOT}/usr/bin") vcpkg_list(APPEND OPTIONS "-DBASH_EXECUTABLE=${MSYS_ROOT}/usr/bin/bash.exe") @@ -43,8 +48,6 @@ vcpkg_cmake_configure( -DKTX_FEATURE_STATIC_LIBRARY=${ENABLE_STATIC} ${FEATURE_OPTIONS} ${OPTIONS} - # Do not regenerate headers (needs more dependencies) - -DCMAKE_DISABLE_FIND_PACKAGE_Vulkan=1 DISABLE_PARALLEL_CONFIGURE ) diff --git a/ports/ktx/vcpkg.json b/ports/ktx/vcpkg.json index 36bfc6b05cc575..94eea841c835eb 100644 --- a/ports/ktx/vcpkg.json +++ b/ports/ktx/vcpkg.json @@ -1,6 +1,6 @@ { "name": "ktx", - "version-semver": "4.3.0-alpha3", + "version-semver": "4.3.2", "description": [ "The Khronos KTX library and tools.", "Functions for writing and reading KTX files, and instantiating OpenGL®, OpenGL ES™️ and Vulkan® textures from them." @@ -22,7 +22,11 @@ "features": { "tools": { "description": "Build tools", - "supports": "!android" + "supports": "!android & !uwp", + "dependencies": [ + "cxxopts", + "fmt" + ] }, "vulkan": { "description": "Build Vulkan support", diff --git a/ports/kubazip/fix_targets.patch b/ports/kubazip/fix_targets.patch index fc0a11e8f11120..255632eeb4f2de 100644 --- a/ports/kubazip/fix_targets.patch +++ b/ports/kubazip/fix_targets.patch @@ -1,5 +1,5 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index cf86d70..c2bc2f9 100644 +index 804df5e..5498bb9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ @@ -8,7 +8,7 @@ index cf86d70..c2bc2f9 100644 -project(zip +project(kubazip LANGUAGES C - VERSION "0.2.3") + VERSION "0.3.0") set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH}) @@ -46,11 +46,11 @@ endif() @@ -24,13 +24,7 @@ index cf86d70..c2bc2f9 100644 enable_testing() add_subdirectory(test) endif() -@@ -69,12 +69,12 @@ if (MSVC) - elseif ("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU" OR - "${CMAKE_C_COMPILER_ID}" STREQUAL "Clang" OR - "${CMAKE_C_COMPILER_ID}" STREQUAL "AppleClang") -- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Werror -pedantic") -+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -pedantic") - endif (MSVC) +@@ -74,7 +74,7 @@ endif (MSVC) #### set(CONFIG_INSTALL_DIR "lib/cmake/${PROJECT_NAME}") diff --git a/ports/kubazip/portfile.cmake b/ports/kubazip/portfile.cmake index e08713a127de4d..c22f145a1dae2f 100644 --- a/ports/kubazip/portfile.cmake +++ b/ports/kubazip/portfile.cmake @@ -3,8 +3,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO kuba--/zip - REF 42151612e8546c55485ec38cf0d57e57e51a8abd #v0.2.4 - SHA512 9cbb7bcb8095c365c4529f06c883f3aa0c1038ed3aa6a0419dafb90355abf6e5cd02f7ffd5cbb54fe3893102bb21f568d415b71500630ad203a1f911b6e52ef5 + REF "v${VERSION}" + SHA512 dd516f2e6765e49c00063bd72b49d97bc6f1254921045269b534a801e41e0728171cbf09a73713b236f40c4cf30b5473e74579b82962004b79166b38ad6a3e0d HEAD_REF master PATCHES fix_targets.patch @@ -18,4 +18,4 @@ vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/kubazip) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL "${SOURCE_PATH}/UNLICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/kubazip/vcpkg.json b/ports/kubazip/vcpkg.json index 1d296ea8e8361d..02b67e7b592423 100644 --- a/ports/kubazip/vcpkg.json +++ b/ports/kubazip/vcpkg.json @@ -1,9 +1,9 @@ { "name": "kubazip", - "version": "0.2.4", + "version": "0.3.3", "description": "A portable, simple zip library written in C", "homepage": "https://github.com/kuba--/zip", - "license": "Unlicense", + "license": "MIT", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/kuku/portfile.cmake b/ports/kuku/portfile.cmake index 72d97bfe877a3b..0cfe1ebf447481 100644 --- a/ports/kuku/portfile.cmake +++ b/ports/kuku/portfile.cmake @@ -1,11 +1,13 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO microsoft/Kuku - REF 1338c4ae2211ab4c739022ff57f48ce5a76531d5 - SHA512 6cba13b7fc8c453acbfcb4921ee3acc9c3e91d4bba0e01480ea396e17f85288d0179342090111a2e3c056b6918c7b09ec63c41116eb4021e63c54acc19631156 - HEAD_REF master + REF "v${VERSION}" + SHA512 4b0f0cae191c70d20337fb1581fa06a8fe363a942cf3a3b6be59fbef551b70446405fb1e4e5e7ec917d5519e8d2ad0ea59bd59c36dbf917e838fc1a1cd6a3bef + HEAD_REF main ) vcpkg_cmake_configure( @@ -18,5 +20,4 @@ vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/Kuku-2.1) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -# Handle copyright -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/kuku/vcpkg.json b/ports/kuku/vcpkg.json index dfdc17885e3f28..df16f989c046e6 100644 --- a/ports/kuku/vcpkg.json +++ b/ports/kuku/vcpkg.json @@ -1,9 +1,9 @@ { "name": "kuku", - "version": "2.1", - "port-version": 3, - "description": "Kuku is a simple open-source (MIT licensed) cuckoo hashing library developed by the Cryptography and Privacy Research group at Microsoft.", + "version": "2.1.0", + "description": "Kuku is a compact and convenient cuckoo hashing library written in C++.", "homepage": "https://github.com/microsoft/Kuku", + "license": "MIT", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/lapack-reference/FindLAPACK.cmake b/ports/lapack-reference/FindLAPACK.cmake index f4d25477d8dad4..fe9b3748392b02 100644 --- a/ports/lapack-reference/FindLAPACK.cmake +++ b/ports/lapack-reference/FindLAPACK.cmake @@ -1,559 +1,559 @@ -# Distributed under the OSI-approved BSD 3-Clause License. See accompanying -# file Copyright.txt or https://cmake.org/licensing for details. - -#[=======================================================================[.rst: -FindLAPACK ----------- - -Find Linear Algebra PACKage (LAPACK) library - -This module finds an installed Fortran library that implements the -LAPACK linear-algebra interface (see http://www.netlib.org/lapack/). - -The approach follows that taken for the ``autoconf`` macro file, -``acx_lapack.m4`` (distributed at -http://ac-archive.sourceforge.net/ac-archive/acx_lapack.html). - -Input Variables -^^^^^^^^^^^^^^^ - -The following variables may be set to influence this module's behavior: - -``BLA_STATIC`` - if ``ON`` use static linkage - -``BLA_VENDOR`` - If set, checks only the specified vendor, if not set checks all the - possibilities. List of vendors valid in this module: - - * ``OpenBLAS`` - * ``FLAME`` - * ``Intel10_32`` (intel mkl v10 32 bit) - * ``Intel10_64lp`` (intel mkl v10+ 64 bit, threaded code, lp64 model) - * ``Intel10_64lp_seq`` (intel mkl v10+ 64 bit, sequential code, lp64 model) - * ``Intel10_64ilp`` (intel mkl v10+ 64 bit, threaded code, ilp64 model) - * ``Intel10_64ilp_seq`` (intel mkl v10+ 64 bit, sequential code, ilp64 model) - * ``Intel10_64_dyn`` (intel mkl v10+ 64 bit, single dynamic library) - * ``Intel`` (obsolete versions of mkl 32 and 64 bit) - * ``ACML`` - * ``Apple`` - * ``NAS`` - * ``Arm`` - * ``Arm_mp`` - * ``Arm_ilp64`` - * ``Arm_ilp64_mp`` - * ``Generic`` - -``BLA_F95`` - if ``ON`` tries to find the BLAS95/LAPACK95 interfaces - -Imported targets -^^^^^^^^^^^^^^^^ - -This module defines the following :prop_tgt:`IMPORTED` target: - -``LAPACK::LAPACK`` - The libraries to use for LAPACK, if found. - -Result Variables -^^^^^^^^^^^^^^^^ - -This module defines the following variables: - -``LAPACK_FOUND`` - library implementing the LAPACK interface is found -``LAPACK_LINKER_FLAGS`` - uncached list of required linker flags (excluding ``-l`` and ``-L``). -``LAPACK_LIBRARIES`` - uncached list of libraries (using full path name) to link against - to use LAPACK -``LAPACK95_LIBRARIES`` - uncached list of libraries (using full path name) to link against - to use LAPACK95 -``LAPACK95_FOUND`` - library implementing the LAPACK95 interface is found - -.. note:: - - C, CXX or Fortran must be enabled to detect a BLAS/LAPACK library. - C or CXX must be enabled to use Intel Math Kernel Library (MKL). - - For example, to use Intel MKL libraries and/or Intel compiler: - - .. code-block:: cmake - - set(BLA_VENDOR Intel10_64lp) - find_package(LAPACK) -#]=======================================================================] - -enable_language(C) -# Check the language being used -if(NOT (CMAKE_C_COMPILER_LOADED OR CMAKE_CXX_COMPILER_LOADED OR CMAKE_Fortran_COMPILER_LOADED)) - if(LAPACK_FIND_REQUIRED) - message(FATAL_ERROR "FindLAPACK requires Fortran, C, or C++ to be enabled.") - else() - message(STATUS "Looking for LAPACK... - NOT found (Unsupported languages)") - return() - endif() -endif() - -if(CMAKE_Fortran_COMPILER_LOADED) - include(${CMAKE_ROOT}/Modules/CheckFortranFunctionExists.cmake) -else() - include(${CMAKE_ROOT}/Modules/CheckFunctionExists.cmake) -endif() -include(${CMAKE_ROOT}/Modules/CMakePushCheckState.cmake) - -cmake_push_check_state() -set(CMAKE_REQUIRED_QUIET ${LAPACK_FIND_QUIETLY}) - -set(LAPACK_FOUND FALSE) -set(LAPACK95_FOUND FALSE) - -# store original values for CMAKE_FIND_LIBRARY_SUFFIXES -set(_lapack_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES}) -if (CMAKE_SYSTEM_NAME STREQUAL "Linux") - list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES .so.3gfs .so.3 .so.4 .so.5) -endif() - -# TODO: move this stuff to a separate module - -macro(CHECK_LAPACK_LIBRARIES LIBRARIES _prefix _name _flags _list _threadlibs _addlibdir _subdirs _blas) - # This macro checks for the existence of the combination of fortran libraries - # given by _list. If the combination is found, this macro checks (using the - # Check_Fortran_Function_Exists macro) whether can link against that library - # combination using the name of a routine given by _name using the linker - # flags given by _flags. If the combination of libraries is found and passes - # the link test, LIBRARIES is set to the list of complete library paths that - # have been found. Otherwise, LIBRARIES is set to FALSE. - - # N.B. _prefix is the prefix applied to the names of all cached variables that - # are generated internally and marked advanced by this macro. - # _addlibdir is a list of additional search paths. _subdirs is a list of path - # suffixes to be used by find_library(). - - set(_libraries_work TRUE) - set(${LIBRARIES}) - set(_combined_name) - - set(_extaddlibdir "${_addlibdir}") - if(WIN32) - list(APPEND _extaddlibdir ENV LIB) - elseif(APPLE) - list(APPEND _extaddlibdir ENV DYLD_LIBRARY_PATH) - else() - list(APPEND _extaddlibdir ENV LD_LIBRARY_PATH) - endif() - list(APPEND _extaddlibdir "${CMAKE_C_IMPLICIT_LINK_DIRECTORIES}") - - foreach(_library ${_list}) - if(_library MATCHES "^-Wl,--(start|end)-group$") - # Respect linker flags like --start/end-group (required by MKL) - set(${LIBRARIES} ${${LIBRARIES}} "${_library}") - else() - set(_combined_name ${_combined_name}_${_library}) - if(_libraries_work) - find_library(${_prefix}_${_library}_LIBRARY - NAMES ${_library} - PATHS ${_extaddlibdir} - PATH_SUFFIXES ${_subdirs} - ) - #message("DEBUG: find_library(${_library}) got ${${_prefix}_${_library}_LIBRARY}") - mark_as_advanced(${_prefix}_${_library}_LIBRARY) - set(${LIBRARIES} ${${LIBRARIES}} ${${_prefix}_${_library}_LIBRARY}) - set(_libraries_work ${${_prefix}_${_library}_LIBRARY}) - endif() - endif() - endforeach() - - if(_libraries_work) - # Test this combination of libraries. - set(CMAKE_REQUIRED_LIBRARIES ${_flags} ${${LIBRARIES}} ${_blas} ${_threadlibs}) - #message("DEBUG: CMAKE_REQUIRED_LIBRARIES = ${CMAKE_REQUIRED_LIBRARIES}") - if(CMAKE_Fortran_COMPILER_LOADED) - check_fortran_function_exists("${_name}" ${_prefix}${_combined_name}_WORKS) - else() - check_function_exists("${_name}_" ${_prefix}${_combined_name}_WORKS) - endif() - set(CMAKE_REQUIRED_LIBRARIES) - set(_libraries_work ${${_prefix}${_combined_name}_WORKS}) - endif() - - if(_libraries_work) - if("${_list}${_blas}" STREQUAL "") - set(${LIBRARIES} "${LIBRARIES}-PLACEHOLDER-FOR-EMPTY-LIBRARIES") - else() - set(${LIBRARIES} ${${LIBRARIES}} ${_blas} ${_threadlibs}) - endif() - else() - set(${LIBRARIES} FALSE) - endif() - #message("DEBUG: ${LIBRARIES} = ${${LIBRARIES}}") -endmacro() - -set(LAPACK_LINKER_FLAGS) -set(LAPACK_LIBRARIES) -set(LAPACK95_LIBRARIES) - -include(CMakeFindDependencyMacro) -find_dependency(BLAS) - -if(BLAS_FOUND) - set(LAPACK_LINKER_FLAGS ${BLAS_LINKER_FLAGS}) - if(NOT $ENV{BLA_VENDOR} STREQUAL "") - set(BLA_VENDOR $ENV{BLA_VENDOR}) - else() - if(NOT BLA_VENDOR) - set(BLA_VENDOR "All") - endif() - endif() - - # LAPACK in the Intel MKL 10+ library? - if(BLA_VENDOR MATCHES "Intel" OR BLA_VENDOR STREQUAL "All") - if(NOT LAPACK_LIBRARIES) - if(CMAKE_C_COMPILER_LOADED OR CMAKE_CXX_COMPILER_LOADED) - # System-specific settings - if(NOT WIN32) - set(LAPACK_mkl_LM "-lm") - set(LAPACK_mkl_LDL "-ldl") - endif() - - if(LAPACK_FIND_QUIETLY OR NOT LAPACK_FIND_REQUIRED) - find_package(Threads) - else() - find_package(Threads REQUIRED) - endif() - - if(BLA_VENDOR MATCHES "_64ilp") - set(LAPACK_mkl_ILP_MODE "ilp64") - else() - set(LAPACK_mkl_ILP_MODE "lp64") - endif() - - set(LAPACK_SEARCH_LIBS "") - - if(BLA_F95) - set(LAPACK_mkl_SEARCH_SYMBOL "cheev_f95") - set(_LIBRARIES LAPACK95_LIBRARIES) - set(_BLAS_LIBRARIES ${BLAS95_LIBRARIES}) - - # old - list(APPEND LAPACK_SEARCH_LIBS - "mkl_lapack95") - # new >= 10.3 - list(APPEND LAPACK_SEARCH_LIBS - "mkl_intel_c") - list(APPEND LAPACK_SEARCH_LIBS - "mkl_lapack95_${LAPACK_mkl_ILP_MODE}") - else() - set(LAPACK_mkl_SEARCH_SYMBOL "cheev") - set(_LIBRARIES LAPACK_LIBRARIES) - set(_BLAS_LIBRARIES ${BLAS_LIBRARIES}) - - # old and new >= 10.3 - list(APPEND LAPACK_SEARCH_LIBS - "mkl_lapack") - endif() - - # MKL uses a multitude of partially platform-specific subdirectories: - if(BLA_VENDOR STREQUAL "Intel10_32") - set(LAPACK_mkl_ARCH_NAME "ia32") - else() - set(LAPACK_mkl_ARCH_NAME "intel64") - endif() - if(WIN32) - set(LAPACK_mkl_OS_NAME "win") - elseif(APPLE) - set(LAPACK_mkl_OS_NAME "mac") - else() - set(LAPACK_mkl_OS_NAME "lin") - endif() - if(DEFINED ENV{MKLROOT}) - file(TO_CMAKE_PATH "$ENV{MKLROOT}" LAPACK_mkl_MKLROOT) - # If MKLROOT points to the subdirectory 'mkl', use the parent directory instead - # so we can better detect other relevant libraries in 'compiler' or 'tbb': - get_filename_component(LAPACK_mkl_MKLROOT_LAST_DIR "${LAPACK_mkl_MKLROOT}" NAME) - if(LAPACK_mkl_MKLROOT_LAST_DIR STREQUAL "mkl") - get_filename_component(LAPACK_mkl_MKLROOT "${LAPACK_mkl_MKLROOT}" DIRECTORY) - endif() - endif() - set(LAPACK_mkl_LIB_PATH_SUFFIXES - "compiler/lib" "compiler/lib/${LAPACK_mkl_ARCH_NAME}_${LAPACK_mkl_OS_NAME}" - "mkl/lib" "mkl/lib/${LAPACK_mkl_ARCH_NAME}_${LAPACK_mkl_OS_NAME}" - "lib/${LAPACK_mkl_ARCH_NAME}_${LAPACK_mkl_OS_NAME}") - - # First try empty lapack libs - if(NOT ${_LIBRARIES}) - check_lapack_libraries( - ${_LIBRARIES} - LAPACK - ${LAPACK_mkl_SEARCH_SYMBOL} - "" - "" - "${CMAKE_THREAD_LIBS_INIT};${LAPACK_mkl_LM};${LAPACK_mkl_LDL}" - "${LAPACK_mkl_MKLROOT}" - "${LAPACK_mkl_LIB_PATH_SUFFIXES}" - "${_BLAS_LIBRARIES}" - ) - endif() - - # Then try the search libs - foreach(IT ${LAPACK_SEARCH_LIBS}) - string(REPLACE " " ";" SEARCH_LIBS ${IT}) - if(NOT ${_LIBRARIES}) - check_lapack_libraries( - ${_LIBRARIES} - LAPACK - ${LAPACK_mkl_SEARCH_SYMBOL} - "" - "${SEARCH_LIBS}" - "${CMAKE_THREAD_LIBS_INIT};${LAPACK_mkl_LM};${LAPACK_mkl_LDL}" - "${LAPACK_mkl_MKLROOT}" - "${LAPACK_mkl_LIB_PATH_SUFFIXES}" - "${_BLAS_LIBRARIES}" - ) - endif() - endforeach() - - unset(LAPACK_mkl_ILP_MODE) - unset(LAPACK_mkl_SEARCH_SYMBOL) - unset(LAPACK_mkl_LM) - unset(LAPACK_mkl_LDL) - unset(LAPACK_mkl_MKLROOT) - unset(LAPACK_mkl_ARCH_NAME) - unset(LAPACK_mkl_OS_NAME) - unset(LAPACK_mkl_LIB_PATH_SUFFIXES) - endif() - endif() - endif() - - # gotoblas? (http://www.tacc.utexas.edu/tacc-projects/gotoblas2) - if(BLA_VENDOR STREQUAL "Goto" OR BLA_VENDOR STREQUAL "All") - if(NOT LAPACK_LIBRARIES) - check_lapack_libraries( - LAPACK_LIBRARIES - LAPACK - cheev - "" - "goto2" - "" - "" - "" - "${BLAS_LIBRARIES}" - ) - endif() - endif() - - # OpenBLAS? (http://www.openblas.net) - if(BLA_VENDOR STREQUAL "OpenBLAS" OR BLA_VENDOR STREQUAL "All") - if(NOT LAPACK_LIBRARIES) - check_lapack_libraries( - LAPACK_LIBRARIES - LAPACK - cheev - "" - "openblas" - "" - "" - "" - "${BLAS_LIBRARIES}" - ) - endif() - endif() - - # ArmPL? (https://developer.arm.com/tools-and-software/server-and-hpc/compile/arm-compiler-for-linux/arm-performance-libraries) - if(BLA_VENDOR MATCHES "Arm" OR BLA_VENDOR STREQUAL "All") - - # Check for 64bit Integer support - if(BLA_VENDOR MATCHES "_ilp64") - set(LAPACK_armpl_LIB "armpl_ilp64") - else() - set(LAPACK_armpl_LIB "armpl_lp64") - endif() - - # Check for OpenMP support, VIA BLA_VENDOR of Arm_mp or Arm_ipl64_mp - if(BLA_VENDOR MATCHES "_mp") - set(LAPACK_armpl_LIB "${LAPACK_armpl_LIB}_mp") - endif() - - if(NOT LAPACK_LIBRARIES) - check_lapack_libraries( - LAPACK_LIBRARIES - LAPACK - cheev - "" - "${LAPACK_armpl_LIB}" - "" - "" - "" - "${BLAS_LIBRARIES}" - ) - endif() - endif() - - # FLAME's blis library? (https://github.com/flame/blis) - if(BLA_VENDOR STREQUAL "FLAME" OR BLA_VENDOR STREQUAL "All") - if(NOT LAPACK_LIBRARIES) - check_lapack_libraries( - LAPACK_LIBRARIES - LAPACK - cheev - "" - "flame" - "" - "" - "" - "${BLAS_LIBRARIES}" - ) - endif() - endif() - - # BLAS in acml library? - if(BLA_VENDOR MATCHES "ACML" OR BLA_VENDOR STREQUAL "All") - if(BLAS_LIBRARIES MATCHES ".+acml.+") - set(LAPACK_LIBRARIES ${BLAS_LIBRARIES}) - endif() - endif() - - # Apple LAPACK library? - if(BLA_VENDOR STREQUAL "Apple" OR BLA_VENDOR STREQUAL "All") - if(NOT LAPACK_LIBRARIES) - check_lapack_libraries( - LAPACK_LIBRARIES - LAPACK - cheev - "" - "Accelerate" - "" - "" - "" - "${BLAS_LIBRARIES}" - ) - endif() - endif() - - # Apple NAS (vecLib) library? - if(BLA_VENDOR STREQUAL "NAS" OR BLA_VENDOR STREQUAL "All") - if(NOT LAPACK_LIBRARIES) - check_lapack_libraries( - LAPACK_LIBRARIES - LAPACK - cheev - "" - "vecLib" - "" - "" - "" - "${BLAS_LIBRARIES}" - ) - endif() - endif() - - # Generic LAPACK library? - if(BLA_VENDOR STREQUAL "Generic" OR - BLA_VENDOR STREQUAL "ATLAS" OR - BLA_VENDOR STREQUAL "All") - if(NOT LAPACK_LIBRARIES) - check_lapack_libraries( - LAPACK_LIBRARIES - LAPACK - cheev - "" - "lapack" - "" - "" - "" - "${BLAS_LIBRARIES}" - ) - endif() - if(NOT LAPACK_LIBRARIES AND NOT WIN32) - check_lapack_libraries( - LAPACK_LIBRARIES - LAPACK - cheev - "" - "lapack;m;gfortran" - "" - "" - "" - "${BLAS_LIBRARIES}" - ) - endif() - endif() -else() - message(STATUS "LAPACK requires BLAS") -endif() - -if(BLA_F95) - if(LAPACK95_LIBRARIES) - set(LAPACK95_FOUND TRUE) - else() - set(LAPACK95_FOUND FALSE) - endif() - if(NOT LAPACK_FIND_QUIETLY) - if(LAPACK95_FOUND) - message(STATUS "A library with LAPACK95 API found.") - else() - if(LAPACK_FIND_REQUIRED) - message(FATAL_ERROR - "A required library with LAPACK95 API not found. Please specify library location." - ) - else() - message(STATUS - "A library with LAPACK95 API not found. Please specify library location." - ) - endif() - endif() - endif() - set(LAPACK_FOUND "${LAPACK95_FOUND}") - set(LAPACK_LIBRARIES "${LAPACK95_LIBRARIES}") -else() - if(LAPACK_LIBRARIES) - set(LAPACK_FOUND TRUE) - else() - set(LAPACK_FOUND FALSE) - endif() - - if(NOT LAPACK_FIND_QUIETLY) - if(LAPACK_FOUND) - message(STATUS "A library with LAPACK API found.") - else() - if(LAPACK_FIND_REQUIRED) - message(FATAL_ERROR - "A required library with LAPACK API not found. Please specify library location." - ) - else() - message(STATUS - "A library with LAPACK API not found. Please specify library location." - ) - endif() - endif() - endif() -endif() - -# On compilers that implicitly link LAPACK (such as ftn, cc, and CC on Cray HPC machines) -# we used a placeholder for empty LAPACK_LIBRARIES to get through our logic above. -if(LAPACK_LIBRARIES STREQUAL "LAPACK_LIBRARIES-PLACEHOLDER-FOR-EMPTY-LIBRARIES") - set(LAPACK_LIBRARIES "") -endif() - -if(NOT TARGET LAPACK::LAPACK) - add_library(LAPACK::LAPACK INTERFACE IMPORTED) - set(_lapack_libs "${LAPACK_LIBRARIES}") - if(_lapack_libs AND TARGET BLAS::BLAS) - # remove the ${BLAS_LIBRARIES} from the interface and replace it - # with the BLAS::BLAS target - list(REMOVE_ITEM _lapack_libs "${BLAS_LIBRARIES}") - endif() - - if(_lapack_libs) - set_target_properties(LAPACK::LAPACK PROPERTIES - INTERFACE_LINK_LIBRARIES "${_lapack_libs}" - ) - endif() - unset(_lapack_libs) -endif() - -cmake_pop_check_state() -# restore original values for CMAKE_FIND_LIBRARY_SUFFIXES -set(CMAKE_FIND_LIBRARY_SUFFIXES ${_lapack_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}) +# Distributed under the OSI-approved BSD 3-Clause License. See accompanying +# file Copyright.txt or https://cmake.org/licensing for details. + +#[=======================================================================[.rst: +FindLAPACK +---------- + +Find Linear Algebra PACKage (LAPACK) library + +This module finds an installed Fortran library that implements the +LAPACK linear-algebra interface (see http://www.netlib.org/lapack/). + +The approach follows that taken for the ``autoconf`` macro file, +``acx_lapack.m4`` (distributed at +http://ac-archive.sourceforge.net/ac-archive/acx_lapack.html). + +Input Variables +^^^^^^^^^^^^^^^ + +The following variables may be set to influence this module's behavior: + +``BLA_STATIC`` + if ``ON`` use static linkage + +``BLA_VENDOR`` + If set, checks only the specified vendor, if not set checks all the + possibilities. List of vendors valid in this module: + + * ``OpenBLAS`` + * ``FLAME`` + * ``Intel10_32`` (intel mkl v10 32 bit) + * ``Intel10_64lp`` (intel mkl v10+ 64 bit, threaded code, lp64 model) + * ``Intel10_64lp_seq`` (intel mkl v10+ 64 bit, sequential code, lp64 model) + * ``Intel10_64ilp`` (intel mkl v10+ 64 bit, threaded code, ilp64 model) + * ``Intel10_64ilp_seq`` (intel mkl v10+ 64 bit, sequential code, ilp64 model) + * ``Intel10_64_dyn`` (intel mkl v10+ 64 bit, single dynamic library) + * ``Intel`` (obsolete versions of mkl 32 and 64 bit) + * ``ACML`` + * ``Apple`` + * ``NAS`` + * ``Arm`` + * ``Arm_mp`` + * ``Arm_ilp64`` + * ``Arm_ilp64_mp`` + * ``Generic`` + +``BLA_F95`` + if ``ON`` tries to find the BLAS95/LAPACK95 interfaces + +Imported targets +^^^^^^^^^^^^^^^^ + +This module defines the following :prop_tgt:`IMPORTED` target: + +``LAPACK::LAPACK`` + The libraries to use for LAPACK, if found. + +Result Variables +^^^^^^^^^^^^^^^^ + +This module defines the following variables: + +``LAPACK_FOUND`` + library implementing the LAPACK interface is found +``LAPACK_LINKER_FLAGS`` + uncached list of required linker flags (excluding ``-l`` and ``-L``). +``LAPACK_LIBRARIES`` + uncached list of libraries (using full path name) to link against + to use LAPACK +``LAPACK95_LIBRARIES`` + uncached list of libraries (using full path name) to link against + to use LAPACK95 +``LAPACK95_FOUND`` + library implementing the LAPACK95 interface is found + +.. note:: + + C, CXX or Fortran must be enabled to detect a BLAS/LAPACK library. + C or CXX must be enabled to use Intel Math Kernel Library (MKL). + + For example, to use Intel MKL libraries and/or Intel compiler: + + .. code-block:: cmake + + set(BLA_VENDOR Intel10_64lp) + find_package(LAPACK) +#]=======================================================================] + +enable_language(C) +# Check the language being used +if(NOT (CMAKE_C_COMPILER_LOADED OR CMAKE_CXX_COMPILER_LOADED OR CMAKE_Fortran_COMPILER_LOADED)) + if(LAPACK_FIND_REQUIRED) + message(FATAL_ERROR "FindLAPACK requires Fortran, C, or C++ to be enabled.") + else() + message(STATUS "Looking for LAPACK... - NOT found (Unsupported languages)") + return() + endif() +endif() + +if(CMAKE_Fortran_COMPILER_LOADED) + include(${CMAKE_ROOT}/Modules/CheckFortranFunctionExists.cmake) +else() + include(${CMAKE_ROOT}/Modules/CheckFunctionExists.cmake) +endif() +include(${CMAKE_ROOT}/Modules/CMakePushCheckState.cmake) + +cmake_push_check_state() +set(CMAKE_REQUIRED_QUIET ${LAPACK_FIND_QUIETLY}) + +set(LAPACK_FOUND FALSE) +set(LAPACK95_FOUND FALSE) + +# store original values for CMAKE_FIND_LIBRARY_SUFFIXES +set(_lapack_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES}) +if (CMAKE_SYSTEM_NAME STREQUAL "Linux") + list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES .so.3gfs .so.3 .so.4 .so.5) +endif() + +# TODO: move this stuff to a separate module + +macro(CHECK_LAPACK_LIBRARIES LIBRARIES _prefix _name _flags _list _threadlibs _addlibdir _subdirs _blas) + # This macro checks for the existence of the combination of fortran libraries + # given by _list. If the combination is found, this macro checks (using the + # Check_Fortran_Function_Exists macro) whether can link against that library + # combination using the name of a routine given by _name using the linker + # flags given by _flags. If the combination of libraries is found and passes + # the link test, LIBRARIES is set to the list of complete library paths that + # have been found. Otherwise, LIBRARIES is set to FALSE. + + # N.B. _prefix is the prefix applied to the names of all cached variables that + # are generated internally and marked advanced by this macro. + # _addlibdir is a list of additional search paths. _subdirs is a list of path + # suffixes to be used by find_library(). + + set(_libraries_work TRUE) + set(${LIBRARIES}) + set(_combined_name) + + set(_extaddlibdir "${_addlibdir}") + if(WIN32) + list(APPEND _extaddlibdir ENV LIB) + elseif(APPLE) + list(APPEND _extaddlibdir ENV DYLD_LIBRARY_PATH) + else() + list(APPEND _extaddlibdir ENV LD_LIBRARY_PATH) + endif() + list(APPEND _extaddlibdir "${CMAKE_C_IMPLICIT_LINK_DIRECTORIES}") + + foreach(_library ${_list}) + if(_library MATCHES "^-Wl,--(start|end)-group$") + # Respect linker flags like --start/end-group (required by MKL) + set(${LIBRARIES} ${${LIBRARIES}} "${_library}") + else() + set(_combined_name ${_combined_name}_${_library}) + if(_libraries_work) + find_library(${_prefix}_${_library}_LIBRARY + NAMES ${_library} + PATHS ${_extaddlibdir} + PATH_SUFFIXES ${_subdirs} + ) + #message("DEBUG: find_library(${_library}) got ${${_prefix}_${_library}_LIBRARY}") + mark_as_advanced(${_prefix}_${_library}_LIBRARY) + set(${LIBRARIES} ${${LIBRARIES}} ${${_prefix}_${_library}_LIBRARY}) + set(_libraries_work ${${_prefix}_${_library}_LIBRARY}) + endif() + endif() + endforeach() + + if(_libraries_work) + # Test this combination of libraries. + set(CMAKE_REQUIRED_LIBRARIES ${_flags} ${${LIBRARIES}} ${_blas} ${_threadlibs}) + #message("DEBUG: CMAKE_REQUIRED_LIBRARIES = ${CMAKE_REQUIRED_LIBRARIES}") + if(CMAKE_Fortran_COMPILER_LOADED) + check_fortran_function_exists("${_name}" ${_prefix}${_combined_name}_WORKS) + else() + check_function_exists("${_name}_" ${_prefix}${_combined_name}_WORKS) + endif() + set(CMAKE_REQUIRED_LIBRARIES) + set(_libraries_work ${${_prefix}${_combined_name}_WORKS}) + endif() + + if(_libraries_work) + if("${_list}${_blas}" STREQUAL "") + set(${LIBRARIES} "${LIBRARIES}-PLACEHOLDER-FOR-EMPTY-LIBRARIES") + else() + set(${LIBRARIES} ${${LIBRARIES}} ${_blas} ${_threadlibs}) + endif() + else() + set(${LIBRARIES} FALSE) + endif() + #message("DEBUG: ${LIBRARIES} = ${${LIBRARIES}}") +endmacro() + +set(LAPACK_LINKER_FLAGS) +set(LAPACK_LIBRARIES) +set(LAPACK95_LIBRARIES) + +include(CMakeFindDependencyMacro) +find_dependency(BLAS) + +if(BLAS_FOUND) + set(LAPACK_LINKER_FLAGS ${BLAS_LINKER_FLAGS}) + if(NOT $ENV{BLA_VENDOR} STREQUAL "") + set(BLA_VENDOR $ENV{BLA_VENDOR}) + else() + if(NOT BLA_VENDOR) + set(BLA_VENDOR "All") + endif() + endif() + + # LAPACK in the Intel MKL 10+ library? + if(BLA_VENDOR MATCHES "Intel" OR BLA_VENDOR STREQUAL "All") + if(NOT LAPACK_LIBRARIES) + if(CMAKE_C_COMPILER_LOADED OR CMAKE_CXX_COMPILER_LOADED) + # System-specific settings + if(NOT WIN32) + set(LAPACK_mkl_LM "-lm") + set(LAPACK_mkl_LDL "-ldl") + endif() + + if(LAPACK_FIND_QUIETLY OR NOT LAPACK_FIND_REQUIRED) + find_package(Threads) + else() + find_package(Threads REQUIRED) + endif() + + if(BLA_VENDOR MATCHES "_64ilp") + set(LAPACK_mkl_ILP_MODE "ilp64") + else() + set(LAPACK_mkl_ILP_MODE "lp64") + endif() + + set(LAPACK_SEARCH_LIBS "") + + if(BLA_F95) + set(LAPACK_mkl_SEARCH_SYMBOL "cheev_f95") + set(_LIBRARIES LAPACK95_LIBRARIES) + set(_BLAS_LIBRARIES ${BLAS95_LIBRARIES}) + + # old + list(APPEND LAPACK_SEARCH_LIBS + "mkl_lapack95") + # new >= 10.3 + list(APPEND LAPACK_SEARCH_LIBS + "mkl_intel_c") + list(APPEND LAPACK_SEARCH_LIBS + "mkl_lapack95_${LAPACK_mkl_ILP_MODE}") + else() + set(LAPACK_mkl_SEARCH_SYMBOL "cheev") + set(_LIBRARIES LAPACK_LIBRARIES) + set(_BLAS_LIBRARIES ${BLAS_LIBRARIES}) + + # old and new >= 10.3 + list(APPEND LAPACK_SEARCH_LIBS + "mkl_lapack") + endif() + + # MKL uses a multitude of partially platform-specific subdirectories: + if(BLA_VENDOR STREQUAL "Intel10_32") + set(LAPACK_mkl_ARCH_NAME "ia32") + else() + set(LAPACK_mkl_ARCH_NAME "intel64") + endif() + if(WIN32) + set(LAPACK_mkl_OS_NAME "win") + elseif(APPLE) + set(LAPACK_mkl_OS_NAME "mac") + else() + set(LAPACK_mkl_OS_NAME "lin") + endif() + if(DEFINED ENV{MKLROOT}) + file(TO_CMAKE_PATH "$ENV{MKLROOT}" LAPACK_mkl_MKLROOT) + # If MKLROOT points to the subdirectory 'mkl', use the parent directory instead + # so we can better detect other relevant libraries in 'compiler' or 'tbb': + get_filename_component(LAPACK_mkl_MKLROOT_LAST_DIR "${LAPACK_mkl_MKLROOT}" NAME) + if(LAPACK_mkl_MKLROOT_LAST_DIR STREQUAL "mkl") + get_filename_component(LAPACK_mkl_MKLROOT "${LAPACK_mkl_MKLROOT}" DIRECTORY) + endif() + endif() + set(LAPACK_mkl_LIB_PATH_SUFFIXES + "compiler/lib" "compiler/lib/${LAPACK_mkl_ARCH_NAME}_${LAPACK_mkl_OS_NAME}" + "mkl/lib" "mkl/lib/${LAPACK_mkl_ARCH_NAME}_${LAPACK_mkl_OS_NAME}" + "lib/${LAPACK_mkl_ARCH_NAME}_${LAPACK_mkl_OS_NAME}") + + # First try empty lapack libs + if(NOT ${_LIBRARIES}) + check_lapack_libraries( + ${_LIBRARIES} + LAPACK + ${LAPACK_mkl_SEARCH_SYMBOL} + "" + "" + "${CMAKE_THREAD_LIBS_INIT};${LAPACK_mkl_LM};${LAPACK_mkl_LDL}" + "${LAPACK_mkl_MKLROOT}" + "${LAPACK_mkl_LIB_PATH_SUFFIXES}" + "${_BLAS_LIBRARIES}" + ) + endif() + + # Then try the search libs + foreach(IT ${LAPACK_SEARCH_LIBS}) + string(REPLACE " " ";" SEARCH_LIBS ${IT}) + if(NOT ${_LIBRARIES}) + check_lapack_libraries( + ${_LIBRARIES} + LAPACK + ${LAPACK_mkl_SEARCH_SYMBOL} + "" + "${SEARCH_LIBS}" + "${CMAKE_THREAD_LIBS_INIT};${LAPACK_mkl_LM};${LAPACK_mkl_LDL}" + "${LAPACK_mkl_MKLROOT}" + "${LAPACK_mkl_LIB_PATH_SUFFIXES}" + "${_BLAS_LIBRARIES}" + ) + endif() + endforeach() + + unset(LAPACK_mkl_ILP_MODE) + unset(LAPACK_mkl_SEARCH_SYMBOL) + unset(LAPACK_mkl_LM) + unset(LAPACK_mkl_LDL) + unset(LAPACK_mkl_MKLROOT) + unset(LAPACK_mkl_ARCH_NAME) + unset(LAPACK_mkl_OS_NAME) + unset(LAPACK_mkl_LIB_PATH_SUFFIXES) + endif() + endif() + endif() + + # gotoblas? (http://www.tacc.utexas.edu/tacc-projects/gotoblas2) + if(BLA_VENDOR STREQUAL "Goto" OR BLA_VENDOR STREQUAL "All") + if(NOT LAPACK_LIBRARIES) + check_lapack_libraries( + LAPACK_LIBRARIES + LAPACK + cheev + "" + "goto2" + "" + "" + "" + "${BLAS_LIBRARIES}" + ) + endif() + endif() + + # OpenBLAS? (http://www.openblas.net) + if(BLA_VENDOR STREQUAL "OpenBLAS" OR BLA_VENDOR STREQUAL "All") + if(NOT LAPACK_LIBRARIES) + check_lapack_libraries( + LAPACK_LIBRARIES + LAPACK + cheev + "" + "openblas" + "" + "" + "" + "${BLAS_LIBRARIES}" + ) + endif() + endif() + + # ArmPL? (https://developer.arm.com/tools-and-software/server-and-hpc/compile/arm-compiler-for-linux/arm-performance-libraries) + if(BLA_VENDOR MATCHES "Arm" OR BLA_VENDOR STREQUAL "All") + + # Check for 64bit Integer support + if(BLA_VENDOR MATCHES "_ilp64") + set(LAPACK_armpl_LIB "armpl_ilp64") + else() + set(LAPACK_armpl_LIB "armpl_lp64") + endif() + + # Check for OpenMP support, VIA BLA_VENDOR of Arm_mp or Arm_ipl64_mp + if(BLA_VENDOR MATCHES "_mp") + set(LAPACK_armpl_LIB "${LAPACK_armpl_LIB}_mp") + endif() + + if(NOT LAPACK_LIBRARIES) + check_lapack_libraries( + LAPACK_LIBRARIES + LAPACK + cheev + "" + "${LAPACK_armpl_LIB}" + "" + "" + "" + "${BLAS_LIBRARIES}" + ) + endif() + endif() + + # FLAME's blis library? (https://github.com/flame/blis) + if(BLA_VENDOR STREQUAL "FLAME" OR BLA_VENDOR STREQUAL "All") + if(NOT LAPACK_LIBRARIES) + check_lapack_libraries( + LAPACK_LIBRARIES + LAPACK + cheev + "" + "flame" + "" + "" + "" + "${BLAS_LIBRARIES}" + ) + endif() + endif() + + # BLAS in acml library? + if(BLA_VENDOR MATCHES "ACML" OR BLA_VENDOR STREQUAL "All") + if(BLAS_LIBRARIES MATCHES ".+acml.+") + set(LAPACK_LIBRARIES ${BLAS_LIBRARIES}) + endif() + endif() + + # Apple LAPACK library? + if(BLA_VENDOR STREQUAL "Apple" OR BLA_VENDOR STREQUAL "All") + if(NOT LAPACK_LIBRARIES) + check_lapack_libraries( + LAPACK_LIBRARIES + LAPACK + cheev + "" + "Accelerate" + "" + "" + "" + "${BLAS_LIBRARIES}" + ) + endif() + endif() + + # Apple NAS (vecLib) library? + if(BLA_VENDOR STREQUAL "NAS" OR BLA_VENDOR STREQUAL "All") + if(NOT LAPACK_LIBRARIES) + check_lapack_libraries( + LAPACK_LIBRARIES + LAPACK + cheev + "" + "vecLib" + "" + "" + "" + "${BLAS_LIBRARIES}" + ) + endif() + endif() + + # Generic LAPACK library? + if(BLA_VENDOR STREQUAL "Generic" OR + BLA_VENDOR STREQUAL "ATLAS" OR + BLA_VENDOR STREQUAL "All") + if(NOT LAPACK_LIBRARIES) + check_lapack_libraries( + LAPACK_LIBRARIES + LAPACK + cheev + "" + "lapack" + "" + "" + "" + "${BLAS_LIBRARIES}" + ) + endif() + if(NOT LAPACK_LIBRARIES AND NOT WIN32) + check_lapack_libraries( + LAPACK_LIBRARIES + LAPACK + cheev + "" + "lapack;m;gfortran" + "" + "" + "" + "${BLAS_LIBRARIES}" + ) + endif() + endif() +else() + message(STATUS "LAPACK requires BLAS") +endif() + +if(BLA_F95) + if(LAPACK95_LIBRARIES) + set(LAPACK95_FOUND TRUE) + else() + set(LAPACK95_FOUND FALSE) + endif() + if(NOT LAPACK_FIND_QUIETLY) + if(LAPACK95_FOUND) + message(STATUS "A library with LAPACK95 API found.") + else() + if(LAPACK_FIND_REQUIRED) + message(FATAL_ERROR + "A required library with LAPACK95 API not found. Please specify library location." + ) + else() + message(STATUS + "A library with LAPACK95 API not found. Please specify library location." + ) + endif() + endif() + endif() + set(LAPACK_FOUND "${LAPACK95_FOUND}") + set(LAPACK_LIBRARIES "${LAPACK95_LIBRARIES}") +else() + if(LAPACK_LIBRARIES) + set(LAPACK_FOUND TRUE) + else() + set(LAPACK_FOUND FALSE) + endif() + + if(NOT LAPACK_FIND_QUIETLY) + if(LAPACK_FOUND) + message(STATUS "A library with LAPACK API found.") + else() + if(LAPACK_FIND_REQUIRED) + message(FATAL_ERROR + "A required library with LAPACK API not found. Please specify library location." + ) + else() + message(STATUS + "A library with LAPACK API not found. Please specify library location." + ) + endif() + endif() + endif() +endif() + +# On compilers that implicitly link LAPACK (such as ftn, cc, and CC on Cray HPC machines) +# we used a placeholder for empty LAPACK_LIBRARIES to get through our logic above. +if(LAPACK_LIBRARIES STREQUAL "LAPACK_LIBRARIES-PLACEHOLDER-FOR-EMPTY-LIBRARIES") + set(LAPACK_LIBRARIES "") +endif() + +if(NOT TARGET LAPACK::LAPACK) + add_library(LAPACK::LAPACK INTERFACE IMPORTED) + set(_lapack_libs "${LAPACK_LIBRARIES}") + if(_lapack_libs AND TARGET BLAS::BLAS) + # remove the ${BLAS_LIBRARIES} from the interface and replace it + # with the BLAS::BLAS target + list(REMOVE_ITEM _lapack_libs "${BLAS_LIBRARIES}") + endif() + + if(_lapack_libs) + set_target_properties(LAPACK::LAPACK PROPERTIES + INTERFACE_LINK_LIBRARIES "${_lapack_libs}" + ) + endif() + unset(_lapack_libs) +endif() + +cmake_pop_check_state() +# restore original values for CMAKE_FIND_LIBRARY_SUFFIXES +set(CMAKE_FIND_LIBRARY_SUFFIXES ${_lapack_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}) diff --git a/ports/lapack-reference/fix_prefix.patch b/ports/lapack-reference/fix_prefix.patch new file mode 100644 index 00000000000000..d0fdcdeb276279 --- /dev/null +++ b/ports/lapack-reference/fix_prefix.patch @@ -0,0 +1,17 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c99d71a..7333110 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -10,6 +10,12 @@ set( + ${LAPACK_MAJOR_VERSION}.${LAPACK_MINOR_VERSION}.${LAPACK_PATCH_VERSION} + ) + ++if(WIN32) ++ set(CMAKE_STATIC_LIBRARY_PREFIX "") ++ set(CMAKE_SHARED_LIBRARY_PREFIX "lib") ++ set(CMAKE_IMPORT_LIBRARY_PREFIX "") ++endif() ++ + # Add the CMake directory for custom CMake modules + set(CMAKE_MODULE_PATH "${LAPACK_SOURCE_DIR}/CMAKE" ${CMAKE_MODULE_PATH}) + diff --git a/ports/lapack-reference/portfile.cmake b/ports/lapack-reference/portfile.cmake index 2f569f8035cdc7..093f7f8c21be63 100644 --- a/ports/lapack-reference/portfile.cmake +++ b/ports/lapack-reference/portfile.cmake @@ -1,146 +1,154 @@ -#TODO: Features to add: -# USE_XBLAS??? extended precision blas. needs xblas -# LAPACKE should be its own PORT -# USE_OPTIMIZED_LAPACK (Probably not what we want. Does a find_package(LAPACK): probably for LAPACKE only builds _> own port?) -# LAPACKE Builds LAPACKE -# LAPACKE_WITH_TMG Build LAPACKE with tmglib routines -if(EXISTS "${CURRENT_INSTALLED_DIR}/share/clapack/copyright") - message(FATAL_ERROR "Can't build ${PORT} if clapack is installed. Please remove clapack:${TARGET_TRIPLET}, and try to install ${PORT}:${TARGET_TRIPLET} again.") -endif() - -vcpkg_minimum_required(VERSION 2022-10-12) # for ${VERSION} - -include(vcpkg_find_fortran) -SET(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) -set(VCPKG_POLICY_ALLOW_OBSOLETE_MSVCRT enabled) - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO "Reference-LAPACK/lapack" - REF "v${VERSION}" - SHA512 fc3258b9d91a833149a68a89c5589b5113e90a8f9f41c3a73fbfccb1ecddd92d9462802c0f870f1c3dab392623452de4ef512727f5874ffdcba6a4845f78fc9a - HEAD_REF master - PATCHES - cmake-config.patch - lapacke.patch -) - -if(NOT VCPKG_TARGET_IS_WINDOWS) - set(ENV{FFLAGS} "$ENV{FFLAGS} -fPIC") -endif() - -set(CBLAS OFF) -if("cblas" IN_LIST FEATURES) - set(CBLAS ON) - if("noblas" IN_LIST FEATURES) - message(FATAL_ERROR "Cannot built feature 'cblas' together with feature 'noblas'. cblas requires blas!") - endif() -endif() - -set(USE_OPTIMIZED_BLAS OFF) -if("noblas" IN_LIST FEATURES) - set(USE_OPTIMIZED_BLAS ON) - set(pcfile "${CURRENT_INSTALLED_DIR}/lib/pkgconfig/openblas.pc") - if(EXISTS "${pcfile}") - file(CREATE_LINK "${pcfile}" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/blas.pc" COPY_ON_ERROR) - endif() - set(pcfile "${CURRENT_INSTALLED_DIR}/debug/lib/pkgconfig/openblas.pc") - if(EXISTS "${pcfile}") - file(CREATE_LINK "${pcfile}" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/blas.pc" COPY_ON_ERROR) - endif() -endif() - -set(VCPKG_CRT_LINKAGE_BACKUP ${VCPKG_CRT_LINKAGE}) -vcpkg_find_fortran(FORTRAN_CMAKE) -if(VCPKG_USE_INTERNAL_Fortran) - if(VCPKG_CRT_LINKAGE_BACKUP STREQUAL "static") - # If openblas has been built with static crt linkage we cannot use it with gfortran! - set(USE_OPTIMIZED_BLAS OFF) - #Cannot use openblas from vcpkg if we are building with gfortran here. - if("noblas" IN_LIST FEATURES) - message(FATAL_ERROR "Feature 'noblas' cannot be used without supplying an external fortran compiler") - endif() - endif() -endif() - -vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - "-DUSE_OPTIMIZED_BLAS=${USE_OPTIMIZED_BLAS}" - "-DCMAKE_REQUIRE_FIND_PACKAGE_BLAS=${USE_OPTIMIZED_BLAS}" - "-DCBLAS=${CBLAS}" - ${FORTRAN_CMAKE} - MAYBE_UNUSED_VARIABLES - CMAKE_REQUIRE_FIND_PACKAGE_BLAS -) - -vcpkg_cmake_install() - -vcpkg_cmake_config_fixup(PACKAGE_NAME lapack-${VERSION} CONFIG_PATH lib/cmake/lapack-${VERSION}) #Should the target path be lapack and not lapack-reference? - -set(pcfile "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/lapack.pc") -if(EXISTS "${pcfile}") - file(READ "${pcfile}" _contents) - set(_contents "prefix=${CURRENT_INSTALLED_DIR}\n${_contents}") - file(WRITE "${pcfile}" "${_contents}") -endif() -set(pcfile "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/lapack.pc") -if(EXISTS "${pcfile}") - file(READ "${pcfile}" _contents) - set(_contents "prefix=${CURRENT_INSTALLED_DIR}/debug\n${_contents}") - file(WRITE "${pcfile}" "${_contents}") -endif() -if(NOT USE_OPTIMIZED_BLAS AND NOT (VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "static")) - set(pcfile "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/blas.pc") - if(EXISTS "${pcfile}") - file(READ "${pcfile}" _contents) - set(_contents "prefix=${CURRENT_INSTALLED_DIR}\n${_contents}") - file(WRITE "${pcfile}" "${_contents}") - endif() - set(pcfile "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/blas.pc") - if(EXISTS "${pcfile}") - file(READ "${pcfile}" _contents) - set(_contents "prefix=${CURRENT_INSTALLED_DIR}/debug\n${_contents}") - file(WRITE "${pcfile}" "${_contents}") - endif() -endif() -if("cblas" IN_LIST FEATURES) - set(pcfile "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/cblas.pc") - if(EXISTS "${pcfile}") - file(READ "${pcfile}" _contents) - set(_contents "prefix=${CURRENT_INSTALLED_DIR}\n${_contents}") - file(WRITE "${pcfile}" "${_contents}") - endif() - set(pcfile "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/cblas.pc") - if(EXISTS "${pcfile}") - file(READ "${pcfile}" _contents) - set(_contents "prefix=${CURRENT_INSTALLED_DIR}/debug\n${_contents}") - file(WRITE "${pcfile}" "${_contents}") - endif() -endif() -vcpkg_fixup_pkgconfig() - -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") - -if(VCPKG_TARGET_IS_WINDOWS) - if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/liblapack.lib") - file(RENAME "${CURRENT_PACKAGES_DIR}/lib/liblapack.lib" "${CURRENT_PACKAGES_DIR}/lib/lapack.lib") - endif() - if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/liblapack.lib") - file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/liblapack.lib" "${CURRENT_PACKAGES_DIR}/debug/lib/lapack.lib") - endif() - if(NOT USE_OPTIMIZED_BLAS) - if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/libblas.lib") - file(RENAME "${CURRENT_PACKAGES_DIR}/lib/libblas.lib" "${CURRENT_PACKAGES_DIR}/lib/blas.lib") - endif() - if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/libblas.lib") - file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/libblas.lib" "${CURRENT_PACKAGES_DIR}/debug/lib/blas.lib") - endif() - endif() -endif() - -file(COPY "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/lapack") -file(COPY "${CMAKE_CURRENT_LIST_DIR}/FindLAPACK.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/lapack") - -file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +#TODO: Features to add: +# USE_XBLAS??? extended precision blas. needs xblas +# LAPACKE should be its own PORT +# USE_OPTIMIZED_LAPACK (Probably not what we want. Does a find_package(LAPACK): probably for LAPACKE only builds _> own port?) +# LAPACKE Builds LAPACKE +# LAPACKE_WITH_TMG Build LAPACKE with tmglib routines +if(EXISTS "${CURRENT_INSTALLED_DIR}/share/clapack/copyright") + message(FATAL_ERROR "Can't build ${PORT} if clapack is installed. Please remove clapack:${TARGET_TRIPLET}, and try to install ${PORT}:${TARGET_TRIPLET} again.") +endif() + +vcpkg_minimum_required(VERSION 2022-10-12) # for ${VERSION} + +include(vcpkg_find_fortran) +SET(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) +set(VCPKG_POLICY_ALLOW_OBSOLETE_MSVCRT enabled) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO "Reference-LAPACK/lapack" + REF "v${VERSION}" + SHA512 fc3258b9d91a833149a68a89c5589b5113e90a8f9f41c3a73fbfccb1ecddd92d9462802c0f870f1c3dab392623452de4ef512727f5874ffdcba6a4845f78fc9a + HEAD_REF master + PATCHES + cmake-config.patch + lapacke.patch + fix_prefix.patch +) + +if(NOT VCPKG_TARGET_IS_WINDOWS) + set(ENV{FFLAGS} "$ENV{FFLAGS} -fPIC") # should come from toolchain +endif() + +set(CBLAS OFF) +if("cblas" IN_LIST FEATURES) + set(CBLAS ON) + if("noblas" IN_LIST FEATURES) + message(FATAL_ERROR "Cannot built feature 'cblas' together with feature 'noblas'. cblas requires blas!") + endif() +endif() + +set(USE_OPTIMIZED_BLAS OFF) +if("noblas" IN_LIST FEATURES) + set(USE_OPTIMIZED_BLAS ON) +endif() + +set(VCPKG_CRT_LINKAGE_BACKUP ${VCPKG_CRT_LINKAGE}) +vcpkg_find_fortran(FORTRAN_CMAKE) +if(VCPKG_USE_INTERNAL_Fortran) + if(VCPKG_CRT_LINKAGE_BACKUP STREQUAL "static") + # If openblas has been built with static crt linkage we cannot use it with gfortran! + set(USE_OPTIMIZED_BLAS OFF) + #Cannot use openblas from vcpkg if we are building with gfortran here. + if("noblas" IN_LIST FEATURES) + message(FATAL_ERROR "Feature 'noblas' cannot be used without supplying an external fortran compiler") + endif() + endif() +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + "-DUSE_OPTIMIZED_BLAS=${USE_OPTIMIZED_BLAS}" + "-DCMAKE_REQUIRE_FIND_PACKAGE_BLAS=${USE_OPTIMIZED_BLAS}" + "-DCBLAS=${CBLAS}" + "-DTEST_FORTRAN_COMPILER=OFF" + ${FORTRAN_CMAKE} + MAYBE_UNUSED_VARIABLES + CMAKE_REQUIRE_FIND_PACKAGE_BLAS +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(PACKAGE_NAME ${PORT} CONFIG_PATH lib/cmake/lapack-${VERSION}) #Should the target path be lapack and not lapack-reference? + +set(pcfile "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/lapack.pc") +if(EXISTS "${pcfile}") + file(READ "${pcfile}" _contents) + file(WRITE "${pcfile}" "prefix=${CURRENT_INSTALLED_DIR}\n${_contents}") +endif() +set(pcfile "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/lapack.pc") +if(EXISTS "${pcfile}") + file(READ "${pcfile}" _contents) + file(WRITE "${pcfile}" "prefix=${CURRENT_INSTALLED_DIR}/debug\n${_contents}") +endif() + +if(NOT USE_OPTIMIZED_BLAS AND NOT (VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "static")) + set(pcfile "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/blas.pc") + if(EXISTS "${pcfile}") + file(READ "${pcfile}" _contents) + file(WRITE "${pcfile}" "prefix=${CURRENT_INSTALLED_DIR}\n${_contents}") + endif() + set(pcfile "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/blas.pc") + if(EXISTS "${pcfile}") + file(READ "${pcfile}" _contents) + file(WRITE "${pcfile}" "prefix=${CURRENT_INSTALLED_DIR}/debug\n${_contents}") + endif() +endif() +if("cblas" IN_LIST FEATURES) + set(pcfile "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/cblas.pc") + if(EXISTS "${pcfile}") + file(READ "${pcfile}" _contents) + file(WRITE "${pcfile}" "prefix=${CURRENT_INSTALLED_DIR}\n${_contents}") + endif() + set(pcfile "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/cblas.pc") + if(EXISTS "${pcfile}") + file(READ "${pcfile}" _contents) + file(WRITE "${pcfile}" "prefix=${CURRENT_INSTALLED_DIR}/debug\n${_contents}") + endif() +endif() +vcpkg_fixup_pkgconfig() + +file(RENAME "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/lapack.pc" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/lapack-reference.pc") +if(NOT VCPKG_BUILD_TYPE) + file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/lapack.pc" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/lapack-reference.pc") +endif() + +if(NOT "noblas" IN_LIST FEATURES) + file(RENAME "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/blas.pc" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/blas-reference.pc") + if(NOT VCPKG_BUILD_TYPE) + file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/blas.pc" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/blas-reference.pc") + endif() + if("cblas" IN_LIST FEATURES) + file(RENAME "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/cblas.pc" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/cblas-reference.pc") + if(NOT VCPKG_BUILD_TYPE) + file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/cblas.pc" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/cblas-reference.pc") + endif() + endif() +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +if(VCPKG_TARGET_IS_WINDOWS) + if(NOT USE_OPTIMIZED_BLAS) + if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/libblas.lib") + file(RENAME "${CURRENT_PACKAGES_DIR}/lib/libblas.lib" "${CURRENT_PACKAGES_DIR}/lib/blas.lib") + endif() + if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/libblas.lib") + file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/libblas.lib" "${CURRENT_PACKAGES_DIR}/debug/lib/blas.lib") + endif() + endif() +endif() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + set(BLA_STATIC ON) +else() + set(BLA_STATIC OFF) +endif() +set(BLA_VENDOR Generic) + +configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/wrapper/vcpkg-cmake-wrapper.cmake" @ONLY) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/FindLAPACK.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/lapack-reference/vcpkg-cmake-wrapper.cmake b/ports/lapack-reference/vcpkg-cmake-wrapper.cmake deleted file mode 100644 index b3a7128fff0150..00000000000000 --- a/ports/lapack-reference/vcpkg-cmake-wrapper.cmake +++ /dev/null @@ -1,11 +0,0 @@ -message(STATUS "Using VCPKG FindLAPACK from package 'lapack-reference'") -set(LAPACK_PREV_MODULE_PATH ${CMAKE_MODULE_PATH}) -list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) - -list(REMOVE_ITEM ARGS "NO_MODULE") -list(REMOVE_ITEM ARGS "CONFIG") -list(REMOVE_ITEM ARGS "MODULE") - -_find_package(${ARGS}) - -set(CMAKE_MODULE_PATH ${LAPACK_PREV_MODULE_PATH}) diff --git a/ports/lapack-reference/vcpkg-cmake-wrapper.cmake.in b/ports/lapack-reference/vcpkg-cmake-wrapper.cmake.in new file mode 100644 index 00000000000000..e9d6743f29ec0b --- /dev/null +++ b/ports/lapack-reference/vcpkg-cmake-wrapper.cmake.in @@ -0,0 +1,31 @@ +message(STATUS "Using VCPKG FindLAPACK from package 'lapack-reference'") +set(LAPACK_PREV_MODULE_PATH "${CMAKE_MODULE_PATH}") +list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}") + +list(REMOVE_ITEM ARGS "NO_MODULE") +list(REMOVE_ITEM ARGS "CONFIG") +list(REMOVE_ITEM ARGS "MODULE") + +if(@USE_OPTIMIZED_BLAS@) + find_package(BLAS) +endif() + +# BLA_VENDOR and BLA_STATIC are documented at: +# * https://cmake.org/cmake/help/latest/module/FindBLAS.html +# * https://cmake.org/cmake/help/latest/module/FindLAPACK.html + +set(BLA_VENDOR @BLA_VENDOR@) +set(BLA_STATIC @BLA_STATIC@) +_find_package(${ARGS}) +unset(BLA_VENDOR) +unset(BLA_STATIC) + +if(@CBLAS@) + include(SelectLibraryConfigurations) + find_library(CBLAS_LIBRARY_RELEASE NAMES libcblas cblas PATHS "${CURRENT_PACKAGES_DIR}/lib" NO_DEFAULT_PATH) + find_library(CBLAS_LIBRARY_DEBUG NAMES libcblas cblas PATHS "${CURRENT_PACKAGES_DIR}/debug/lib" NO_DEFAULT_PATH) + select_library_configurations(CBLAS) + set(LAPACK_LIBRARIES ${LAPACK_LIBRARIES} ${CBLAS_LIBRARIES}) +endif() + +set(CMAKE_MODULE_PATH "${LAPACK_PREV_MODULE_PATH}") diff --git a/ports/lapack-reference/vcpkg.json b/ports/lapack-reference/vcpkg.json index e073cf664dac5a..684be12305a098 100644 --- a/ports/lapack-reference/vcpkg.json +++ b/ports/lapack-reference/vcpkg.json @@ -1,9 +1,9 @@ { "name": "lapack-reference", "version": "3.11.0", - "port-version": 1, + "port-version": 6, "description": "LAPACK - Linear Algebra PACKage", - "homepage": "http://www.netlib.org/lapack/", + "homepage": "https://netlib.org/lapack/", "license": "BSD-3-Clause-Open-MPI", "dependencies": [ { @@ -41,6 +41,7 @@ }, "noblas": { "description": "Use external optimized BLAS", + "supports": "!windows | !static", "dependencies": [ "blas" ] diff --git a/ports/lapack/CMakeLists.txt b/ports/lapack/CMakeLists.txt deleted file mode 100644 index ddd7883b1632eb..00000000000000 --- a/ports/lapack/CMakeLists.txt +++ /dev/null @@ -1,4 +0,0 @@ -cmake_minimum_required(VERSION 3.17) - -project(Find_LAPACK_external) -find_package(LAPACK REQUIRED) diff --git a/ports/lapack/lapack.pc.in b/ports/lapack/lapack.pc.in new file mode 100644 index 00000000000000..055123058520b5 --- /dev/null +++ b/ports/lapack/lapack.pc.in @@ -0,0 +1,9 @@ +prefix=${pcfiledir}/../.. +libdir=${prefix}/lib + +Name: LAPACK +Description: Implementation of LAPACK +Version: +Requires: @requires@ +Libs: @libs@ +Cflags: @cflags@ diff --git a/ports/lapack/portfile.cmake b/ports/lapack/portfile.cmake index ea9381244793a8..e3feaf7460c908 100644 --- a/ports/lapack/portfile.cmake +++ b/ports/lapack/portfile.cmake @@ -1,5 +1,42 @@ -SET(VCPKG_POLICY_EMPTY_PACKAGE enabled) - -# Make sure LAPACK can be found -vcpkg_cmake_configure(SOURCE_PATH "${CURRENT_PORT_DIR}" - OPTIONS "-DCMAKE_PREFIX_PATH=${CURRENT_PACKAGES_DIR}") +SET(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + set(BLA_STATIC ON) +else() + set(BLA_STATIC OFF) +endif() + +# See explanation of which lapack implementation is chosen in portfile.cmake in the blas port + +set(BLA_VENDOR Generic) +set(installed_wrapper "${CURRENT_INSTALLED_DIR}/share/lapack/vcpkg-cmake-wrapper.cmake") +set(installed_module "${CURRENT_INSTALLED_DIR}/share/lapack/FindLAPACK.cmake") +if(VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_IOS) + # Use Apple's accelerate framework where available + set(BLA_VENDOR Apple) + configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake.in" "${CURRENT_PACKAGES_DIR}/share/lapack/vcpkg-cmake-wrapper.cmake" @ONLY) + set(libs "-framework Accelerate") + set(cflags "-framework Accelerate") + configure_file("${CMAKE_CURRENT_LIST_DIR}/lapack.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/lapack.pc" @ONLY) + if(NOT VCPKG_BUILD_TYPE) + configure_file("${CMAKE_CURRENT_LIST_DIR}/lapack.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/lapack.pc" @ONLY) + endif() + unset(installed_module) +elseif(VCPKG_TARGET_IS_UWP OR (VCPKG_TARGET_IS_WINDOWS AND VCPKG_TARGET_ARCHITECTURE MATCHES "arm")) + configure_file("${CURRENT_INSTALLED_DIR}/share/clapack/wrapper/vcpkg-cmake-wrapper.cmake" "${CURRENT_PACKAGES_DIR}/share/lapack/vcpkg-cmake-wrapper.cmake" COPYONLY) + configure_file("${CURRENT_INSTALLED_DIR}/share/clapack/FindLAPACK.cmake" "${CURRENT_PACKAGES_DIR}/share/lapack/FindLAPACK.cmake" COPYONLY) + set(libs "-llapack -llibf2c") + configure_file("${CMAKE_CURRENT_LIST_DIR}/lapack.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/lapack.pc" @ONLY) + if(NOT VCPKG_BUILD_TYPE) + set(libs "-llapack -llibf2c") + configure_file("${CMAKE_CURRENT_LIST_DIR}/lapack.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/lapack.pc" @ONLY) + endif() +else() + configure_file("${CURRENT_INSTALLED_DIR}/share/lapack-reference/wrapper/vcpkg-cmake-wrapper.cmake" "${CURRENT_PACKAGES_DIR}/share/lapack/vcpkg-cmake-wrapper.cmake" COPYONLY) + configure_file("${CURRENT_INSTALLED_DIR}/share/lapack-reference/FindLAPACK.cmake" "${CURRENT_PACKAGES_DIR}/share/lapack/FindLAPACK.cmake" COPYONLY) + set(requires "lapack-reference") + configure_file("${CMAKE_CURRENT_LIST_DIR}/lapack.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/lapack.pc" @ONLY) + if(NOT VCPKG_BUILD_TYPE) + configure_file("${CMAKE_CURRENT_LIST_DIR}/lapack.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/lapack.pc" @ONLY) + endif() +endif() diff --git a/ports/lapack/vcpkg-cmake-wrapper.cmake.in b/ports/lapack/vcpkg-cmake-wrapper.cmake.in new file mode 100644 index 00000000000000..64d7d984b31c12 --- /dev/null +++ b/ports/lapack/vcpkg-cmake-wrapper.cmake.in @@ -0,0 +1,15 @@ +# BLA_VENDOR and BLA_STATIC are documented at: +# * https://cmake.org/cmake/help/latest/module/FindBLAS.html +# * https://cmake.org/cmake/help/latest/module/FindLAPACK.html + +_find_package(BLAS) # Find BLAS before setting BLA_VENDOR (Will set/unset BLA_VENDOR itself) +set(BLA_VENDOR @BLA_VENDOR@) +if(APPLE AND "@BLA_STATIC@" AND CMAKE_VERSION VERSION_LESS "3.17.0") + # avoid `-Wl,--(start|end)-group` and wrong lib suffix + set(BLA_STATIC 0) +else() + set(BLA_STATIC @BLA_STATIC@) +endif() +_find_package(${ARGS}) +unset(BLA_VENDOR) +unset(BLA_STATIC) diff --git a/ports/lapack/vcpkg.json b/ports/lapack/vcpkg.json index 5112e419d3b1e3..adf945d8c1e92e 100644 --- a/ports/lapack/vcpkg.json +++ b/ports/lapack/vcpkg.json @@ -1,17 +1,19 @@ { + "$comment": "Keep the platform expressions in sync with the wrappers installed by the portfiles!", "name": "lapack", - "version-date": "2022-02-22", + "version-date": "2023-06-10", "port-version": 2, "description": "Metapackage for packages which provide LAPACK", "license": null, + "supports": "!android", "dependencies": [ { "name": "clapack", - "platform": "(arm & windows) | uwp" + "platform": "uwp | (arm & windows)" }, { "name": "lapack-reference", - "platform": "!((arm & windows) | uwp)" + "platform": "!osx & !ios & !uwp & !(arm & windows)" }, { "name": "vcpkg-cmake", diff --git a/ports/lastools/build-tools.diff b/ports/lastools/build-tools.diff new file mode 100644 index 00000000000000..9fe07c636e67fe --- /dev/null +++ b/ports/lastools/build-tools.diff @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6a0ea6e..9e119c5 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -16,7 +16,10 @@ if (BUILD_SHARED_LIBS AND UNIX AND NOT APPLE) + endif() + + add_subdirectory(LASlib/src) ++option(BUILD_TOOLS "" OFF) ++if(BUILD_TOOLS) + add_subdirectory(src) ++endif() + if (EXISTS src_full) + add_subdirectory(src_full) + endif() diff --git a/ports/lastools/fix_install_paths_lastools.patch b/ports/lastools/fix_install_paths_lastools.patch index 8021ed480f03aa..9f5d97355f6a48 100644 --- a/ports/lastools/fix_install_paths_lastools.patch +++ b/ports/lastools/fix_install_paths_lastools.patch @@ -1,26 +1,23 @@ -diff --git a/LASlib/src/CMakeLists.txt b/LASlib/src/CMakeLists.txt -index 1b170bf..408628c 100644 ---- a/LASlib/src/CMakeLists.txt -+++ b/LASlib/src/CMakeLists.txt -@@ -99,17 +99,9 @@ if(MSVC) - ) - endif() - -+install(TARGETS LASlib EXPORT laslib-targets -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) - install(FILES ${LAS_INCLUDES} DESTINATION include/LASlib) - --if (MSVC) -- foreach( OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES} ) -- install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../lib/${OUTPUTCONFIG} DESTINATION lib/LASlib) -- endforeach( OUTPUTCONFIG CMAKE_CONFIGURATION_TYPES ) --else() -- install(TARGETS LASlib EXPORT laslib-targets -- ARCHIVE DESTINATION lib/LASlib -- LIBRARY DESTINATION lib/LASlib -- RUNTIME DESTINATION lib/LASlib) -- install(EXPORT laslib-targets DESTINATION lib/cmake/LASlib) -- install(FILES ${CMAKE_SOURCE_DIR}/LASlib/src/laslib-config.cmake DESTINATION lib/cmake/LASlib) --endif(MSVC) -+install(EXPORT laslib-targets DESTINATION share/lastools/LASlib) -+install(FILES ${CMAKE_SOURCE_DIR}/LASlib/src/laslib-config.cmake DESTINATION share/lastools/LASlib) +diff --git a/LASlib/src/CMakeLists.txt b/LASlib/src/CMakeLists.txt +index 51dca48..97a25c4 100644 +--- a/LASlib/src/CMakeLists.txt ++++ b/LASlib/src/CMakeLists.txt +@@ -104,15 +104,13 @@ endif() + + install(FILES ${LAS_INCLUDES} DESTINATION include/LASlib) + +-if (MSVC) ++if (0) + foreach( OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES} ) + install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../lib/${OUTPUTCONFIG} DESTINATION lib/LASlib) + endforeach( OUTPUTCONFIG CMAKE_CONFIGURATION_TYPES ) + else() + install(TARGETS LASlib EXPORT laslib-targets +- ARCHIVE DESTINATION lib/LASlib +- LIBRARY DESTINATION lib/LASlib +- RUNTIME DESTINATION lib/LASlib) ++ ) + install(EXPORT laslib-targets DESTINATION lib/cmake/LASlib) + install(FILES ${CMAKE_SOURCE_DIR}/LASlib/src/laslib-config.cmake DESTINATION lib/cmake/LASlib) +-endif(MSVC) ++endif(0) diff --git a/ports/lastools/insecure-fprintf.diff b/ports/lastools/insecure-fprintf.diff new file mode 100644 index 00000000000000..d4fa536f494856 --- /dev/null +++ b/ports/lastools/insecure-fprintf.diff @@ -0,0 +1,28 @@ +diff --git a/LASzip/src/lasmessage.cpp b/LASzip/src/lasmessage.cpp +index c39d13a..e7d70cd 100644 +--- a/LASzip/src/lasmessage.cpp ++++ b/LASzip/src/lasmessage.cpp +@@ -139,8 +139,8 @@ void las_default_message_handler(LAS_MESSAGE_TYPE type, const char* msg, void* u + if (!prefix.empty()) + { + format_message(message, (unsigned)prefix.size()); +- fprintf(stderr, prefix.c_str()); +- fprintf(stderr, message.c_str()); ++ fputs(prefix.c_str(), stderr); ++ fputs(message.c_str(), stderr); + } + else + { +diff --git a/src/geoprojectionconverter.cpp b/src/geoprojectionconverter.cpp +index 1e3298d..6a80699 100644 +--- a/src/geoprojectionconverter.cpp ++++ b/src/geoprojectionconverter.cpp +@@ -4366,7 +4366,7 @@ bool GeoProjectionConverter::set_VerticalCSTypeGeoKey(short value, char* descrip + // this is where the name ends + line[run] = '\0'; + } +- if (description) sprintf(description, name); ++ if (description) sprintf(description, "%s", name); + run++; + // skip two commas + while (line[run] != ',') run++; diff --git a/ports/lastools/portfile.cmake b/ports/lastools/portfile.cmake index 6004591d1811ca..ebd16f215eba1d 100644 --- a/ports/lastools/portfile.cmake +++ b/ports/lastools/portfile.cmake @@ -1,33 +1,37 @@ -if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - message(FATAL_ERROR "${PORT} doesn't currently support UWP.") -endif() - -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO LAStools/LAStools - REF 2bbbfa918df01b7f364d176610e9785bceb4d5de - SHA512 3744aa9e50150261cc3a52272a4cdeafdb4f678a6f6a986a9549c2efead6b4c69bc3d9a6f9f302140ce363d6da965e47b63c0310364307e9caa82c86f75a509f + REF "v${VERSION}" + SHA512 cb150562b09c5a79df1e2c730481ceda340f235e1efb7824564d1f95a9981eada087af06bc3907a777a55d315a1521fb8a09249f2aeefd9e40e6c783b9c7a11c HEAD_REF master PATCHES - "fix_install_paths_lastools.patch" - "fix_include_directories_lastools.patch" + fix_install_paths_lastools.patch + fix_include_directories_lastools.patch + build-tools.diff + insecure-fprintf.diff + signed-char.diff +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS options + FEATURES + tools BUILD_TOOLS ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${options} + OPTIONS_DEBUG + -DBUILD_TOOLS=OFF ) - vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/LASlib PACKAGE_NAME laslib) -vcpkg_cmake_config_fixup(PACKAGE_NAME LASlib CONFIG_PATH share/lastools/LASlib) +if(BUILD_TOOLS) + vcpkg_copy_tools(TOOL_NAMES las2las64 las2txt64 lascopcindex64 lasdiff64 lasindex64 lasinfo64 lasmerge64 lasprecision64 laszip64 txt2las64 AUTO_CLEAN) +endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") -endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -# Handle copyright -vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt" "${SOURCE_PATH}/COPYING.txt") diff --git a/ports/lastools/signed-char.diff b/ports/lastools/signed-char.diff new file mode 100644 index 00000000000000..f0006ac6a562e6 --- /dev/null +++ b/ports/lastools/signed-char.diff @@ -0,0 +1,13 @@ +diff --git a/src/las2txt.cpp b/src/las2txt.cpp +index 7c8a841..196ec65 100644 +--- a/src/las2txt.cpp ++++ b/src/las2txt.cpp +@@ -570,7 +570,7 @@ enum extended_flags{HSV = -1, HSL = -2, HSV255 = -3, HSL255 = -4}; + static void parse_extended_flags(char *parse_string) + { + const char *extended_flags[] = {"(HSV)", "(HSL)", "(hsv)", "(hsl)"}; +- const char replacement_codes[] = {HSV255, HSL255, HSV, HSL}; ++ const signed char replacement_codes[] = {HSV255, HSL255, HSV, HSL}; + I32 nflags = (I32)(sizeof(extended_flags) / sizeof(char*)); + + for (I32 i = 0; i < nflags; i++) diff --git a/ports/lastools/vcpkg.json b/ports/lastools/vcpkg.json index f82307dc1f3f7f..b3ae07c911d416 100644 --- a/ports/lastools/vcpkg.json +++ b/ports/lastools/vcpkg.json @@ -1,7 +1,6 @@ { "name": "lastools", - "version": "2.0.2+20230206", - "port-version": 1, + "version": "2.0.3", "description": "LAStools: award-winning software for efficient LiDAR processing (with LASzip)", "homepage": "https://github.com/LAStools/LAStools", "supports": "!uwp", @@ -14,5 +13,10 @@ "name": "vcpkg-cmake-config", "host": true } - ] + ], + "features": { + "tools": { + "description": "Build tools" + } + } } diff --git a/ports/laszip/compiler-options.diff b/ports/laszip/compiler-options.diff new file mode 100644 index 00000000000000..af6220ec3a9657 --- /dev/null +++ b/ports/laszip/compiler-options.diff @@ -0,0 +1,33 @@ +diff --git a/cmake/unix_compiler_options.cmake b/cmake/unix_compiler_options.cmake +index 0a6550f..65a9f4c 100644 +--- a/cmake/unix_compiler_options.cmake ++++ b/cmake/unix_compiler_options.cmake +@@ -1,4 +1,4 @@ +-set(LASZIP_COMMON_CXX_FLAGS "-Wextra -Wall -Wno-unused-parameter -Wno-unused-variable -Wpointer-arith -Wcast-qual -Wredundant-decls -Wno-long-long -Wno-unknown-pragmas -isystem /usr/local/include" ++set(LASZIP_COMMON_CXX_FLAGS "-Wextra -Wall -Wno-unused-parameter -Wno-unused-variable -Wpointer-arith -Wcast-qual -Wredundant-decls -Wno-long-long -Wno-unknown-pragmas" + ) + + if (${CMAKE_CXX_COMPILER_ID} MATCHES "GNU") +diff --git a/cmake/win32_compiler_options.cmake b/cmake/win32_compiler_options.cmake +index 95049b8..d252d83 100644 +--- a/cmake/win32_compiler_options.cmake ++++ b/cmake/win32_compiler_options.cmake +@@ -45,8 +45,6 @@ if (MSVC) + include(ProcessorCount) + ProcessorCount(N) + if(NOT N EQUAL 0) +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /MP${N}") +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP${N}") + endif() + endif() + +@@ -77,9 +75,6 @@ add_definitions(-DWIN32_LEAN_AND_MEAN) + # message(STATUS "Setting PDAL build type - ${CMAKE_BUILD_TYPE}") + #endif() + +-set(CMAKE_INCLUDE_PATH "c:/OSGeo4W64/include;$ENV{CMAKE_INCLUDE_PATH}") +-set(CMAKE_LIBRARY_PATH "c:/OSGeo4W64/lib;$ENV{CMAKE_LIBRARY_PATH}") +-set(CMAKE_PREFIX_PATH "c:/OSGeo4W64/cmake;$ENV{CMAKE_LIBRARY_PATH}") + + #ABELL - WHY? + set(PDAL_PLATFORM_WIN32 1) diff --git a/ports/laszip/format-string.diff b/ports/laszip/format-string.diff new file mode 100644 index 00000000000000..891378b7bea568 --- /dev/null +++ b/ports/laszip/format-string.diff @@ -0,0 +1,15 @@ +diff --git a/src/lasmessage.cpp b/src/lasmessage.cpp +index c39d13a..a1e2d0d 100644 +--- a/src/lasmessage.cpp ++++ b/src/lasmessage.cpp +@@ -139,8 +139,8 @@ void las_default_message_handler(LAS_MESSAGE_TYPE type, const char* msg, void* u + if (!prefix.empty()) + { + format_message(message, (unsigned)prefix.size()); +- fprintf(stderr, prefix.c_str()); +- fprintf(stderr, message.c_str()); ++ fprintf(stderr, "%s", prefix.c_str()); ++ fprintf(stderr, "%s", message.c_str()); + } + else + { diff --git a/ports/laszip/portfile.cmake b/ports/laszip/portfile.cmake index de6508db06038b..f73774ae5b0404 100644 --- a/ports/laszip/portfile.cmake +++ b/ports/laszip/portfile.cmake @@ -1,9 +1,12 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO LASzip/LASzip - REF 1ab671e42ff1f086e29d5b7e300a5026e7b8d69b # 3.4.3 - SHA512 7ec20d6999b16e6a74a64d1dc3e9f1b1b4510acd306d30ccae34a543ca0dc52e1d1d989279fafdda321616ba1e0ceb59a093d8c61ba5a586b760efa0d00a0184 + REF ${VERSION} + SHA512 163204a4d0bb4b4371a1a63eb8ba9477dc504d7e171ec3d75c3120ace7ab682df517b4583efd951c8c7ac1be03bde8c8c327586e36c8884cbf7e98ec1e1c27bf HEAD_REF master + PATCHES + compiler-options.diff + format-string.diff ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" LASZIP_BUILD_STATIC) @@ -16,10 +19,9 @@ vcpkg_cmake_configure( vcpkg_cmake_install() -# Handle copyright -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/laszip" RENAME copyright) - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # Remove laszip_api3 dll since it doesn't export functions properly during build. file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin/laszip_api3.dll") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin/laszip_api3.dll") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/laszip/vcpkg.json b/ports/laszip/vcpkg.json index 40e5268176411a..6a42814a9da780 100644 --- a/ports/laszip/vcpkg.json +++ b/ports/laszip/vcpkg.json @@ -1,9 +1,9 @@ { "name": "laszip", - "version": "3.4.3", - "port-version": 1, + "version": "3.4.4", "description": "LASzip - free and lossless LiDAR compression", "homepage": "https://laszip.org/", + "license": "Apache-2.0", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/launch-darkly-server/portfile.cmake b/ports/launch-darkly-server/portfile.cmake index e0cf49badb7c40..ca8b508b5ffadf 100644 --- a/ports/launch-darkly-server/portfile.cmake +++ b/ports/launch-darkly-server/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO launchdarkly/c-server-sdk - REF a79f743bda933af3c45ab6ca5c6448df4b815667 # 2.8.6 - SHA512 5f5982def5d2e9272751f35cbc0891ef967ae189d56da996e00410205ab0d57c196b66f7be0ba918ee6f82a584e5d75257e77f03c9b644c3174c35ea015802f7 + REF 66c24c874d623338636083f81ed258bc5101f504 # 2.9.3 + SHA512 38dd411da0cae016f781efc467a9c230236160e3db737550809f5c7b799c2946deec191d6abcf2f677d6452ad0c273c864e9a78674f6c547d1fd8a88d9d73bcc HEAD_REF master PATCHES findPCRE.patch @@ -37,6 +37,8 @@ vcpkg_from_github( REF fa1d96ec293d2968791603548125e3274bd6b472 SHA512 fd7dfbed4ac10e2c482da1cd460dabf0a53965e6fa17fab97156becb8214e435ee3605b2748705141380e254de7c32ab42da5e42cd6e4494f7ecaafb3b9e19f0 HEAD_REF master + PATCHES + ${SOURCE_PATH}/patches/sha1.patch ) vcpkg_from_github( diff --git a/ports/launch-darkly-server/vcpkg.json b/ports/launch-darkly-server/vcpkg.json index fa420d6c3d2577..7dae80eb25c252 100644 --- a/ports/launch-darkly-server/vcpkg.json +++ b/ports/launch-darkly-server/vcpkg.json @@ -1,7 +1,6 @@ { "name": "launch-darkly-server", - "version": "2.8.6", - "port-version": 1, + "version": "2.9.3", "description": "LaunchDarkly server-side SDK for C/C++", "homepage": "https://github.com/launchdarkly/c-server-sdk", "license": "Apache-2.0", diff --git a/ports/lcms/CMakeLists.txt b/ports/lcms/CMakeLists.txt deleted file mode 100644 index fa36d43233495c..00000000000000 --- a/ports/lcms/CMakeLists.txt +++ /dev/null @@ -1,55 +0,0 @@ -cmake_minimum_required(VERSION 3.5) - -project(little-cms) - -file(GLOB SRCS src/*.c) - -add_library(lcms2 ${SRCS} src/lcms2.def) - -if(BUILD_SHARED_LIBS) - target_compile_definitions(lcms2 PRIVATE CMS_DLL_BUILD) - target_compile_definitions(lcms2 PUBLIC CMS_DLL) -endif() -target_compile_definitions(lcms2 PRIVATE UNICODE _UNICODE) -target_compile_definitions(lcms2 PUBLIC CMS_NO_REGISTER_KEYWORD) - -target_include_directories(lcms2 PUBLIC $ $) -set_target_properties(lcms2 PROPERTIES PUBLIC_HEADER "${CMAKE_CURRENT_LIST_DIR}/include/lcms2.h;${CMAKE_CURRENT_LIST_DIR}/include/lcms2_plugin.h") - -# Generate pkg-config file -SET(PACKAGE "lcms2") -# Read VERSION from file configure -file(READ "${CMAKE_CURRENT_LIST_DIR}/configure" lcms2_configure) -string(REGEX MATCH "PACKAGE_VERSION='(([0-9]+)\\.([0-9]+))'" _ ${lcms2_configure}) -set(VERSION "${CMAKE_MATCH_1}") -SET(prefix "${CMAKE_INSTALL_PREFIX}") -SET(exec_prefix "\${prefix}") -SET(libdir "\${exec_prefix}/${CMAKE_INSTALL_LIBDIR}") -SET(includedir "\${prefix}/include") -CONFIGURE_FILE(lcms2.pc.in "${PROJECT_BINARY_DIR}/lcms2.pc" @ONLY) - -install(TARGETS lcms2 - EXPORT lcms2Config - RUNTIME DESTINATION "bin" - LIBRARY DESTINATION "lib" - ARCHIVE DESTINATION "lib" - PUBLIC_HEADER DESTINATION "include" -) - -INSTALL(FILES ${PROJECT_BINARY_DIR}/lcms2.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) - -install(EXPORT lcms2Config - DESTINATION "share/lcms2" - NAMESPACE lcms2:: -) - -# Backwards compatibility for previous vcpkg users -add_library(lcms INTERFACE) -target_link_libraries(lcms INTERFACE lcms2) - - -install(TARGETS lcms EXPORT lcms-targets) -install(EXPORT lcms-targets - DESTINATION "share/lcms" - NAMESPACE lcms:: -) diff --git a/ports/lcms/fix-shared-library.patch b/ports/lcms/fix-shared-library.patch index 4b8a4c7fedd273..ea8113b519063c 100644 --- a/ports/lcms/fix-shared-library.patch +++ b/ports/lcms/fix-shared-library.patch @@ -1,12 +1,12 @@ diff --git a/include/lcms2.h b/include/lcms2.h -index fd4ac7c..a99bdd2 100644 +index 7c72047..6306027 100644 --- a/include/lcms2.h +++ b/include/lcms2.h -@@ -227,6 +227,7 @@ typedef int cmsBool; +@@ -230,6 +230,7 @@ typedef int cmsBool; // Calling convention -- this is hardly platform and compiler dependent +#define CMS_DLL - #ifdef CMS_IS_WINDOWS_ + #if defined(CMS_IS_WINDOWS_) && !defined(__GNUC__) # if defined(CMS_DLL) || defined(CMS_DLL_BUILD) # ifdef __BORLANDC__ diff --git a/ports/lcms/lcms-config.cmake b/ports/lcms/lcms-config.cmake new file mode 100644 index 00000000000000..525d268a8c05b6 --- /dev/null +++ b/ports/lcms/lcms-config.cmake @@ -0,0 +1,11 @@ +if(NOT TARGET lcms::lcms) + include(CMakeFindDependencyMacro) + find_dependency(lcms2 CONFIG) + + # Create imported target lcms::lcms + add_library(lcms::lcms INTERFACE IMPORTED) + + set_target_properties(lcms::lcms PROPERTIES + INTERFACE_LINK_LIBRARIES "lcms2::lcms2" + ) +endif() diff --git a/ports/lcms/lcms2-config.cmake b/ports/lcms/lcms2-config.cmake new file mode 100644 index 00000000000000..593ac71a448dbe --- /dev/null +++ b/ports/lcms/lcms2-config.cmake @@ -0,0 +1,25 @@ +if(NOT TARGET lcms2::lcms2) + get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) + get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) + get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) + + add_library(lcms2::lcms2 UNKNOWN IMPORTED) + + set_target_properties(lcms2::lcms2 PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" + ) + + find_library(LCMS2_LIBRARY_DEBUG NAMES lcms2 PATHS "${_IMPORT_PREFIX}/debug" PATH_SUFFIXES lib NO_DEFAULT_PATH) + if(EXISTS "${LCMS2_LIBRARY_DEBUG}") + set_property(TARGET lcms2::lcms2 APPEND PROPERTY IMPORTED_CONFIGURATIONS "Debug") + set_target_properties(lcms2::lcms2 PROPERTIES IMPORTED_LOCATION_DEBUG "${LCMS2_LIBRARY_DEBUG}") + endif() + + find_library(LCMS2_LIBRARY_RELEASE NAMES lcms2 PATHS "${_IMPORT_PREFIX}/" PATH_SUFFIXES lib NO_DEFAULT_PATH) + if(EXISTS "${LCMS2_LIBRARY_RELEASE}") + set_property(TARGET lcms2::lcms2 APPEND PROPERTY IMPORTED_CONFIGURATIONS "Release") + set_target_properties(lcms2::lcms2 PROPERTIES IMPORTED_LOCATION_RELEASE "${LCMS2_LIBRARY_RELEASE}") + endif() + + unset(_IMPORT_PREFIX) +endif() diff --git a/ports/lcms/portfile.cmake b/ports/lcms/portfile.cmake index 59da3111d43b95..08051bf9113482 100644 --- a/ports/lcms/portfile.cmake +++ b/ports/lcms/portfile.cmake @@ -1,36 +1,61 @@ -vcpkg_minimum_required(VERSION 2022-10-12) # for ${VERSION} - if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) set(SHARED_LIBRARY_PATCH "fix-shared-library.patch") endif() +vcpkg_download_distfile(ADD_MISSING_EXPORT_PATCH + URLS https://github.com/mm2/Little-CMS/commit/f7b3c637c20508655f8b49935a4b556d52937b69.diff?full_index=1 + FILENAME Add-missing-export.patch + SHA512 4a78f55c07fe5cef5fb9174d466672371283301df89e2825fc47d9fd4c526b291dce11d3896401a3284f4e2093e285c9e5ccbe0011e132576d189e70f66a1325 +) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mm2/Little-CMS REF "lcms${VERSION}" - SHA512 fc45f2ce0bf752313369786b65b92443ef6d9ed7e264e22cfe2a4732b370f6bb6e5573b646d0e8edf1b0bf9b9bc5137c98aed5929ba75acdf157d2764bd838fa + SHA512 c0d857123a0168cb76b5944a20c9e3de1cbe74e2b509fb72a54f74543e9c173474f09d50c495b0a0a295a3c2b47c5fa54a330d057e1a59b5a7e36d3f5a7f81b2 HEAD_REF master PATCHES - remove_library_directive.patch ${SHARED_LIBRARY_PATCH} - remove-register.patch + ${ADD_MISSING_EXPORT_PATCH} ) -file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") - -vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}") -vcpkg_cmake_install() +if("fastfloat" IN_LIST FEATURES) + list(APPEND OPTIONS -Dfastfloat=true) +else() + list(APPEND OPTIONS -Dfastfloat=false) +endif() +if("threaded" IN_LIST FEATURES) + list(APPEND OPTIONS -Dthreaded=true) +else() + list(APPEND OPTIONS -Dthreaded=false) +endif() +if("tools" IN_LIST FEATURES) + list(APPEND OPTIONS -Dutils=true) +else() + list(APPEND OPTIONS -Dutils=false) +endif() -vcpkg_copy_pdbs() -vcpkg_cmake_config_fixup(PACKAGE_NAME lcms2) -vcpkg_cmake_config_fixup() # provides old PACKAGE_NAME lcms +vcpkg_configure_meson( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${OPTIONS} + -Dsamples=false +) +vcpkg_install_meson() vcpkg_fixup_pkgconfig() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(WRITE "${CURRENT_PACKAGES_DIR}/share/lcms/lcms-config.cmake" [[ -include(CMakeFindDependencyMacro) -find_dependency(lcms2 CONFIG) -include(${CMAKE_CURRENT_LIST_DIR}/lcms-targets.cmake) -]]) - -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) + +if("tools" IN_LIST FEATURES) + vcpkg_copy_tools( + TOOL_NAMES jpgicc linkicc psicc tificc transicc + AUTO_CLEAN + ) +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/man") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/lcms-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/lcms2-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/lcms2") file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/lcms/remove-register.patch b/ports/lcms/remove-register.patch deleted file mode 100644 index ae2f3bd73e1a98..00000000000000 --- a/ports/lcms/remove-register.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/include/lcms2.h b/include/lcms2.h -index fd4ac7c..b5532a9 100644 ---- a/include/lcms2.h -+++ b/include/lcms2.h -@@ -152,7 +152,7 @@ typedef double cmsFloat64Number; - #endif - - // Handle "register" keyword --#if defined(CMS_NO_REGISTER_KEYWORD) -+#if __cplusplus >= 201703L || defined(CMS_NO_REGISTER_KEYWORD) - # define CMSREGISTER - #else - # define CMSREGISTER register diff --git a/ports/lcms/remove_library_directive.patch b/ports/lcms/remove_library_directive.patch deleted file mode 100644 index 0ecd52cc311333..00000000000000 --- a/ports/lcms/remove_library_directive.patch +++ /dev/null @@ -1,10 +0,0 @@ -diff --git a/src/lcms2.def b/src/lcms2.def -index f3e4779..9bf2a4f 100644 ---- a/src/lcms2.def -+++ b/src/lcms2.def -@@ -1,5 +1,3 @@ --LIBRARY LCMS2.DLL -- - EXPORTS - - _cms15Fixed16toDouble = _cms15Fixed16toDouble diff --git a/ports/lcms/vcpkg.json b/ports/lcms/vcpkg.json index 1712ca154d1867..c485b4830111b3 100644 --- a/ports/lcms/vcpkg.json +++ b/ports/lcms/vcpkg.json @@ -1,17 +1,34 @@ { "name": "lcms", - "version": "2.14", + "version": "2.16", "description": "Little CMS.", "homepage": "https://github.com/mm2/Little-CMS", "license": "MIT", "dependencies": [ { - "name": "vcpkg-cmake", + "name": "vcpkg-tool-meson", "host": true + } + ], + "features": { + "fastfloat": { + "description": "Build the fast float plugin", + "supports": "!(x86 & windows)", + "license": "GPL-3.0-or-later" }, - { - "name": "vcpkg-cmake-config", - "host": true + "threaded": { + "description": "Build the multi threaded plugin", + "license": "GPL-3.0-or-later" + }, + "tools": { + "description": "Build the utilities", + "dependencies": [ + "libjpeg-turbo", + { + "name": "tiff", + "default-features": false + } + ] } - ] + } } diff --git a/ports/lely-core/portfile.cmake b/ports/lely-core/portfile.cmake new file mode 100644 index 00000000000000..3cbe56561cd3ec --- /dev/null +++ b/ports/lely-core/portfile.cmake @@ -0,0 +1,28 @@ +if(VCPKG_TARGET_IS_LINUX) + message("${PORT} currently requires the following tools and libraries from the system package manager:\n autoconf\n automake\n libtool\n \nThese can be installed on Ubuntu systems via apt-get install autoconf automake libtool") +endif() + +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.com/ + OUT_SOURCE_PATH SOURCE_PATH + REPO lely_industries/lely-core + REF "v${VERSION}" + SHA512 0beab1b5cbc987065c230c8dd5ac2aa16971712478ecb6ad25b3018fc80016f59305e87423fedca8561af5eba782107b418162cc03c568c559417747a64f8a46 + HEAD_REF master +) + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + OPTIONS + "--disable-cython" + "--disable-python" + "--disable-unit-tests" + "--disable-tools" +) +vcpkg_install_make() + +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/lely-core/vcpkg.json b/ports/lely-core/vcpkg.json new file mode 100644 index 00000000000000..3bbb83e8c21e81 --- /dev/null +++ b/ports/lely-core/vcpkg.json @@ -0,0 +1,8 @@ +{ + "name": "lely-core", + "version": "2.3.5", + "description": "The Lely core libraries are a collection of C and C++ libraries and tools, providing hih-performance I/O and sensor/actuator control for robotics and IoT applications", + "homepage": "https://gitlab.com/lely_industries/lely-core", + "license": "Apache-2.0", + "supports": "linux" +} diff --git a/ports/lensfun/fix_build.patch b/ports/lensfun/fix_build.patch new file mode 100644 index 00000000000000..000cba86f10f31 --- /dev/null +++ b/ports/lensfun/fix_build.patch @@ -0,0 +1,22 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 087928c..d1664ce 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -102,7 +102,7 @@ IF(BUILD_FOR_SSE2) + ENDIF() + ENDIF() + +-IF(WIN32) ++IF(0) + INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/libs/getopt) + # base path for searching for glib on windows + IF(NOT GLIB2_BASE_DIR) +@@ -205,7 +205,7 @@ IF(BUILD_DOC) + ADD_SUBDIRECTORY(docs) + ENDIF() + +-IF(WIN32 AND NOT BUILD_STATIC) ++IF(0) + FIND_FILE(GLIB2_DLL + NAMES glib-2.0-0.dll glib-2.dll glib-2-vs9.dll + PATHS "${GLIB2_BASE_DIR}/bin" diff --git a/ports/lensfun/portfile.cmake b/ports/lensfun/portfile.cmake new file mode 100644 index 00000000000000..766c7a2011025f --- /dev/null +++ b/ports/lensfun/portfile.cmake @@ -0,0 +1,66 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO lensfun/lensfun + REF "v${VERSION}" + SHA512 4db9a08d51ba50c7c2ff528d380bb28e34698b2bb5c40e5f3deeaa5544c888ac7e0f638bbc3f33a4f75dbb67e0425ca36ce6d8cd1d8c043a4173a2df47de08c6 + HEAD_REF master + PATCHES fix_build.patch +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" LENSFUN_STATIC_LIB) +string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" LENSFUN_STATIC_CRT) + +set(LENSFUN_EXTRA_OPTS "") +if("python" IN_LIST FEATURES) + find_file(INITIAL_PYTHON3 + NAMES "python3${VCPKG_HOST_EXECUTABLE_SUFFIX}" "python${VCPKG_HOST_EXECUTABLE_SUFFIX}" + PATHS "${CURRENT_HOST_INSTALLED_DIR}/tools/python3" + NO_DEFAULT_PATH + REQUIRED + ) + x_vcpkg_get_python_packages(OUT_PYTHON_VAR PYTHON3 + PYTHON_EXECUTABLE "${INITIAL_PYTHON3}" + PYTHON_VERSION "3" + PACKAGES setuptools + ) +else() + set(PYTHON3 "false") +endif() + +if(VCPKG_TARGET_IS_WINDOWS) + list(APPEND LENSFUN_EXTRA_OPTS -DPLATFORM_WINDOWS=ON) +endif() + +if(NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + list(APPEND LENSFUN_EXTRA_OPTS -DBUILD_FOR_SSE=OFF -DBUILD_FOR_SSE2=OFF) +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${LENSFUN_EXTRA_OPTS} + -DBUILD_STATIC=${LENSFUN_STATIC_LIB} + -DBUILD_WITH_MSVC_STATIC_RUNTIME=${LENSFUN_STATIC_CRT} + -DBUILD_TESTS=OFF + -DBUILD_DOC=OFF + -DBUILD_LENSTOOL=OFF + -DINSTALL_HELPER_SCRIPTS=OFF + "-DPYTHON=${PYTHON3}" +) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" +) + +file(READ "${SOURCE_PATH}/README.md" license_comment) +string(REGEX REPLACE "^.*\n(LICENSE\n)---+\n(.*)" "\\1\\2" license_comment "${license_comment}") +string(REGEX REPLACE "[^\n]+\n---+.*\$" "" license_comment "${license_comment}") +vcpkg_install_copyright( + COMMENT "${license_comment}" + FILE_LIST "${SOURCE_PATH}/docs/gpl-3.0.txt" "${SOURCE_PATH}/docs/lgpl-3.0.txt" +) diff --git a/ports/lensfun/vcpkg.json b/ports/lensfun/vcpkg.json new file mode 100644 index 00000000000000..36e7715143d5a8 --- /dev/null +++ b/ports/lensfun/vcpkg.json @@ -0,0 +1,30 @@ +{ + "name": "lensfun", + "version": "0.3.4", + "port-version": 2, + "description": "Provide a open source database of photographic lenses and their characteristics", + "homepage": "https://lensfun.github.io/", + "license": null, + "supports": "!arm", + "dependencies": [ + "glib", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "python": { + "description": "Build python module", + "supports": "native & !windows", + "dependencies": [ + "python3", + "vcpkg-get-python-packages" + ] + } + } +} diff --git a/ports/leptonica/fix-build-and-pkgconfig.patch b/ports/leptonica/fix-build-and-pkgconfig.patch deleted file mode 100644 index 71565592a6f2c3..00000000000000 --- a/ports/leptonica/fix-build-and-pkgconfig.patch +++ /dev/null @@ -1,147 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 3e09f53..61ce7b4 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -70,19 +70,19 @@ if(NOT SW_BUILD) - endif() - find_package(JPEG) - if(JPEG_FOUND) -- set(libs_private "${libs_private} -ljpeg") -+ set(pkgs_private "${pkgs_private} libjpeg") - endif() - find_package(PNG) - if(PNG_FOUND) -- set(libs_private "${libs_private} -lpng") -+ set(pkgs_private "${pkgs_private} libpng") - endif() - find_package(TIFF) - if(TIFF_FOUND) -- set(libs_private "${libs_private} -ltiff") -+ set(pkgs_private "${pkgs_private} libtiff-4") - endif() - find_package(ZLIB) - if(ZLIB_FOUND) -- set(libs_private "${libs_private} -lz") -+ set(pkgs_private "${pkgs_private} zlib") - endif() - find_package(PkgConfig QUIET) - if(LIBWEBP_SUPPORT) -@@ -118,30 +118,16 @@ if(NOT SW_BUILD) - endif() - endif() - if(WEBP) -- set(libs_private "${libs_private} -lwebp") -+ set(pkgs_private "${pkgs_private} libwebp") - endif(WEBP) - if(WEBPMUX) -- set(libs_private "${libs_private} -lwebpmux") -+ set(pkgs_private "${pkgs_private} libwebpmux") - endif(WEBPMUX) - endif(LIBWEBP_SUPPORT) - if(OPENJPEG_SUPPORT) -- find_package(OpenJPEG) -- # we need absolute path in some cases on Windows -- find_library(JP2K_LIBRARY NAMES openjp2) -- if(OpenJPEG_FOUND AND JP2K_LIBRARY) -- set(JP2K_FOUND TRUE) -- set(JP2K_INCLUDE_DIRS ${OPENJPEG_INCLUDE_DIRS}) -- get_filename_component(JP2K_HEADER_DIR "${JP2K_INCLUDE_DIRS}" NAME) -- else() -- if(PKG_CONFIG_FOUND) -- pkg_check_modules(JP2K libopenjp2>=2.0 QUIET) -- endif(PKG_CONFIG_FOUND) -- endif() -- if(JP2K_FOUND) -- set(JP2K_LIBRARIES ${JP2K_LIBRARY}) -- set(libs_private "${libs_private} -lopenjp2") -- message(STATUS "FOUND OpenJPEG: ${JP2K_LIBRARIES}") -- endif() -+ find_package(PkgConfig REQUIRED) -+ pkg_check_modules(JP2K libopenjp2>=2.0 REQUIRED) -+ set(pkgs_private "${pkgs_private} libopenjp2") - endif(OPENJPEG_SUPPORT) - else() # SW_BUILD=ON - find_package(SW REQUIRED) -@@ -158,8 +144,7 @@ else() # SW_BUILD=ON - -DHAVE_LIBWEBP=1 - -DHAVE_LIBWEBP_ANIM=1 - -DHAVE_LIBZ=1 -- -DHAVE_LIBJP2K=1 -- -DLIBJP2K_HEADER="openjpeg.h") -+ -DHAVE_LIBJP2K=1) - endif() - - set(libs_private "${libs_private} -lm") -@@ -299,7 +284,10 @@ get_target_property(leptonica_NAME leptonica NAME) - set(leptonica_VERSION ${VERSION_PLAIN}) - get_target_property(leptonica_OUTPUT_NAME leptonica OUTPUT_NAME) - --configure_file(lept.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/lept.pc @ONLY) -+configure_file(lept.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/lept.pc.in @ONLY) -+# to resolve generator expression in OUTPUT_NAME -+file(GENERATE OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lept.pc INPUT ${CMAKE_CURRENT_BINARY_DIR}/lept.pc.in) -+ - configure_file( - ${CMAKE_CURRENT_SOURCE_DIR}/cmake/templates/LeptonicaConfig-version.cmake.in - ${CMAKE_CURRENT_BINARY_DIR}/LeptonicaConfig-version.cmake @ONLY) -diff --git a/cmake/Configure.cmake b/cmake/Configure.cmake -index b75cf19..4941187 100644 ---- a/cmake/Configure.cmake -+++ b/cmake/Configure.cmake -@@ -96,7 +96,6 @@ endif() - - if (JP2K_FOUND) - set(HAVE_LIBJP2K 1) -- set(LIBJP2K_HEADER <${JP2K_HEADER_DIR}/openjpeg.h>) - endif() - - if (PNG_FOUND) -@@ -122,7 +121,6 @@ file(APPEND ${AUTOCONFIG_SRC} " - - /* Define to 1 if you have libopenjp2. */ - #cmakedefine HAVE_LIBJP2K 1 --#cmakedefine LIBJP2K_HEADER <${JP2K_HEADER_DIR}/openjpeg.h> - - /* Define to 1 if you have jpeg. */ - #cmakedefine HAVE_LIBJPEG 1 -diff --git a/lept.pc.cmake b/lept.pc.cmake -index 9140d50..3e19307 100644 ---- a/lept.pc.cmake -+++ b/lept.pc.cmake -@@ -6,6 +6,7 @@ includedir=${prefix}/include - Name: @leptonica_NAME@ - Description: An open source C library for efficient image processing and image analysis operations - Version: @leptonica_VERSION@ -+Requires.private: @pkgs_private@ - Libs: -L${libdir} -l@leptonica_OUTPUT_NAME@ - Libs.private: @libs_private@ - Cflags: -I${includedir} -I${includedir}/leptonica -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index e2c2f15..3d7e852 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -19,13 +19,8 @@ string(REPLACE "-O3" "-O2" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}") - add_library (leptonica ${src} ${hdr}) - set_target_properties (leptonica PROPERTIES VERSION 6.0.0) - set_target_properties (leptonica PROPERTIES SOVERSION 6) --if (WIN32) --set_target_properties (leptonica PROPERTIES OUTPUT_NAME leptonica-${VERSION_PLAIN}) --set_target_properties (leptonica PROPERTIES DEBUG_OUTPUT_NAME leptonica-${VERSION_PLAIN}d) --else() --set_target_properties (leptonica PROPERTIES OUTPUT_NAME leptonica) --set_target_properties (leptonica PROPERTIES DEBUG_OUTPUT_NAME leptonica) --endif() -+ -+set_target_properties (leptonica PROPERTIES OUTPUT_NAME leptonica$<$:-${VERSION_PLAIN}$<$:d>>) - - if (BUILD_SHARED_LIBS) - target_compile_definitions (leptonica PRIVATE -DLIBLEPT_EXPORTS) -@@ -41,7 +36,7 @@ if (JPEG_LIBRARIES) - endif() - if (JP2K_FOUND) - target_include_directories (leptonica PUBLIC ${JP2K_INCLUDE_DIRS}) -- target_link_libraries (leptonica ${JP2K_LIBRARIES}) -+ target_link_libraries (leptonica ${JP2K_LINK_LIBRARIES}) - endif() - if (PNG_LIBRARIES) - target_include_directories (leptonica PUBLIC ${PNG_INCLUDE_DIRS}) diff --git a/ports/leptonica/fix-pc-and-config.patch b/ports/leptonica/fix-pc-and-config.patch new file mode 100644 index 00000000000000..7471ffc4043066 --- /dev/null +++ b/ports/leptonica/fix-pc-and-config.patch @@ -0,0 +1,61 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 58c70f4..93b983d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -358,7 +358,7 @@ configure_file(lept.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/lept.pc.in @ONLY) + # to resolve generator expression in OUTPUT_NAME + file( + GENERATE +- OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lept_$.pc ++ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lept.pc + INPUT ${CMAKE_CURRENT_BINARY_DIR}/lept.pc.in) + + configure_file( +@@ -368,7 +368,7 @@ configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/cmake/templates/LeptonicaConfig.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/LeptonicaConfig.cmake @ONLY) + +-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/lept_$.pc ++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/lept.pc + DESTINATION lib/pkgconfig) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/LeptonicaConfig.cmake + ${CMAKE_CURRENT_BINARY_DIR}/LeptonicaConfig-version.cmake +diff --git a/cmake/Configure.cmake b/cmake/Configure.cmake +index da41b1b..a2d163a 100644 +--- a/cmake/Configure.cmake ++++ b/cmake/Configure.cmake +@@ -94,7 +94,7 @@ if (JPEG_FOUND) + set(HAVE_LIBJPEG 1) + endif() + +-if (OPENJPEG_SUPPORT) ++if (OpenJPEG_FOUND) + set(HAVE_LIBJP2K 1) + endif() + +@@ -106,7 +106,7 @@ if (TIFF_FOUND) + set(HAVE_LIBTIFF 1) + endif() + +-if (LIBWEBP_SUPPORT) ++if (WebP_FOUND) + set(HAVE_LIBWEBP 1) + set(HAVE_LIBWEBP_ANIM 1) + endif() +diff --git a/cmake/templates/LeptonicaConfig.cmake.in b/cmake/templates/LeptonicaConfig.cmake.in +index cee3a0f..8602931 100644 +--- a/cmake/templates/LeptonicaConfig.cmake.in ++++ b/cmake/templates/LeptonicaConfig.cmake.in +@@ -21,10 +21,10 @@ + # =================================================================================== + + include(CMakeFindDependencyMacro) +-if (@OPENJPEG_SUPPORT@) ++if (@ENABLE_OPENJPEG@) + find_dependency(OpenJPEG CONFIG) + endif() +-if (@LIBWEBP_SUPPORT@) ++if (@ENABLE_WEBP@) + find_dependency(WebP @MINIMUM_WEBPMUX_VERSION@ CONFIG) + endif() + diff --git a/ports/leptonica/portfile.cmake b/ports/leptonica/portfile.cmake index dba232cb5244fa..d7cb8c27f20044 100644 --- a/ports/leptonica/portfile.cmake +++ b/ports/leptonica/portfile.cmake @@ -1,13 +1,11 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO DanBloomberg/leptonica - REF b667978e86c4bf74f7fdd75f833127d2de327550 # 1.83.1 - SHA512 fe4ea74aea024a4e522a5f985e51c5b110b5b4a3b3086e6fa7204129caf09b842f85041c386ee9bf2e878034ac2ebd2506396063771b677e931296ec6d76490b + REF "${VERSION}" + SHA512 49e387eae37fda02242ff093c6effa92f59e0761640c71a5c79f0c02923486dc96472ff99a17763cbecc6396966cbc5c0d7f5c8fd3a61f9a65a34339f930735a HEAD_REF master PATCHES - fix-build-and-pkgconfig.patch # See https://github.com/DanBloomberg/leptonica/pull/664 and https://github.com/DanBloomberg/leptonica/pull/662 - private.patch # See https://github.com/DanBloomberg/leptonica/pull/666 - webp.patch # See https://github.com/DanBloomberg/leptonica/pull/667 + fix-pc-and-config.patch ) vcpkg_find_acquire_program(PKGCONFIG) @@ -16,7 +14,7 @@ vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DSW_BUILD=OFF - -DPKG_CONFIG_EXECUTABLE=${PKGCONFIG} + "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" -DCMAKE_REQUIRE_FIND_PACKAGE_GIF=TRUE -DCMAKE_REQUIRE_FIND_PACKAGE_JPEG=TRUE -DCMAKE_REQUIRE_FIND_PACKAGE_PNG=TRUE @@ -34,4 +32,4 @@ vcpkg_copy_pdbs() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL "${SOURCE_PATH}/leptonica-license.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/leptonica-license.txt") diff --git a/ports/leptonica/private.patch b/ports/leptonica/private.patch deleted file mode 100644 index 2d367b94849088..00000000000000 --- a/ports/leptonica/private.patch +++ /dev/null @@ -1,65 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 3d7e852..1fab56c 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -27,36 +27,36 @@ if (BUILD_SHARED_LIBS) - endif() - - if (GIF_LIBRARIES) -- target_include_directories (leptonica PUBLIC ${GIF_INCLUDE_DIR}) -- target_link_libraries (leptonica ${GIF_LIBRARIES}) -+ target_include_directories (leptonica PRIVATE ${GIF_INCLUDE_DIR}) -+ target_link_libraries (leptonica PRIVATE ${GIF_LIBRARIES}) - endif() - if (JPEG_LIBRARIES) -- target_include_directories (leptonica PUBLIC ${JPEG_INCLUDE_DIR}) -- target_link_libraries (leptonica ${JPEG_LIBRARIES}) -+ target_include_directories (leptonica PRIVATE ${JPEG_INCLUDE_DIR}) -+ target_link_libraries (leptonica PRIVATE ${JPEG_LIBRARIES}) - endif() - if (JP2K_FOUND) -- target_include_directories (leptonica PUBLIC ${JP2K_INCLUDE_DIRS}) -- target_link_libraries (leptonica ${JP2K_LINK_LIBRARIES}) -+ target_include_directories (leptonica PRIVATE ${JP2K_INCLUDE_DIRS}) -+ target_link_libraries (leptonica PRIVATE ${JP2K_LINK_LIBRARIES}) - endif() - if (PNG_LIBRARIES) -- target_include_directories (leptonica PUBLIC ${PNG_INCLUDE_DIRS}) -- target_link_libraries (leptonica ${PNG_LIBRARIES}) -+ target_include_directories (leptonica PRIVATE ${PNG_INCLUDE_DIRS}) -+ target_link_libraries (leptonica PRIVATE ${PNG_LIBRARIES}) - endif() - if (TIFF_LIBRARIES) -- target_include_directories (leptonica PUBLIC ${TIFF_INCLUDE_DIR}) -- target_link_libraries (leptonica ${TIFF_LIBRARIES}) -+ target_include_directories (leptonica PRIVATE ${TIFF_INCLUDE_DIR}) -+ target_link_libraries (leptonica PRIVATE ${TIFF_LIBRARIES}) - endif() - if (WEBP_FOUND) -- target_include_directories (leptonica PUBLIC ${WEBP_INCLUDE_DIRS}) -- target_link_libraries (leptonica ${WEBP_LIBRARIES}) -+ target_include_directories (leptonica PRIVATE ${WEBP_INCLUDE_DIRS}) -+ target_link_libraries (leptonica PRIVATE ${WEBP_LIBRARIES}) - endif() - if (ZLIB_LIBRARIES) -- target_include_directories (leptonica PUBLIC ${ZLIB_INCLUDE_DIRS}) -- target_link_libraries (leptonica ${ZLIB_LIBRARIES}) -+ target_include_directories (leptonica PRIVATE ${ZLIB_INCLUDE_DIRS}) -+ target_link_libraries (leptonica PRIVATE ${ZLIB_LIBRARIES}) - endif() - - if (UNIX) -- target_link_libraries (leptonica m) -+ target_link_libraries (leptonica PRIVATE m) - set(lib ${CMAKE_SHARED_LIBRARY_PREFIX}) - set(dll ${CMAKE_SHARED_LIBRARY_SUFFIX}) - set(old_target ${lib}lept${dll}) -@@ -72,7 +72,7 @@ endif() - if (NOT SW_BUILD) - export(TARGETS leptonica FILE ${CMAKE_BINARY_DIR}/LeptonicaTargets.cmake) - else() -- target_link_libraries (leptonica -+ target_link_libraries (leptonica PRIVATE - org.sw.demo.gif - org.sw.demo.jpeg - org.sw.demo.glennrp.png diff --git a/ports/leptonica/vcpkg.json b/ports/leptonica/vcpkg.json index 03d99c174c82df..48f90ad214ba62 100644 --- a/ports/leptonica/vcpkg.json +++ b/ports/leptonica/vcpkg.json @@ -1,6 +1,6 @@ { "name": "leptonica", - "version": "1.83.1", + "version": "1.85.0", "description": "An open source library containing software that is broadly useful for image processing and image analysis applications", "homepage": "https://github.com/DanBloomberg/leptonica", "license": null, diff --git a/ports/leptonica/webp.patch b/ports/leptonica/webp.patch deleted file mode 100644 index cf8d081d1c612e..00000000000000 --- a/ports/leptonica/webp.patch +++ /dev/null @@ -1,70 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 7330046..464e0fe 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -84,45 +84,12 @@ if(NOT SW_BUILD) - if(ZLIB_FOUND) - set(pkgs_private "${pkgs_private} zlib") - endif() -- find_package(PkgConfig QUIET) - if(LIBWEBP_SUPPORT) -- if(PKG_CONFIG_FOUND) -- pkg_check_modules(WEBP libwebp QUIET) -- pkg_check_modules(WEBPMUX libwebpmux>=${MINIMUM_WEBPMUX_VERSION} QUIET) -- endif(PKG_CONFIG_FOUND) -- if(NOT WEBP) -- find_path(WEBP_INCLUDE_DIR /webp/decode.h) -- find_library(WEBP_LIBRARY NAMES webp) -- if(WEBP_INCLUDE_DIR AND WEBP_LIBRARY) -- set(WEBP 1) -- set(WEBP_FOUND TRUE) -- set(WEBP_LIBRARIES ${WEBP_LIBRARY}) -- set(WEBP_INCLUDE_DIRS ${WEBP_INCLUDE_DIR}) -- endif() -- endif() -- if(NOT WEBPMUX) -- find_path(WEBPMUX_INCLUDE_DIR /webp/mux.h) -- # TODO: check minimal required version -- if(NOT WEBPMUX_INCLUDE_DIR) -- message(STATUS "Can not find: /webp/mux.h") -- endif() -- if(NOT "${WEBPMUX_INCLUDE_DIR}" STREQUAL "${WEBP_INCLUDE_DIR}") -- set(WEBP_INCLUDE_DIRS ${WEBP_INCLUDE_DIRS} ${WEBPMUX_INCLUDE_DIR}) -- endif() -- find_library(WEBPMUX_LIBRARY NAMES webpmux) -- if(WEBPMUX_INCLUDE_DIR AND WEBPMUX_LIBRARY) -- set(WEBPMUX 1) -- set(HAVE_LIBWEBP_ANIM 1) -- set(WEBPMUX_FOUND TRUE) -- set(WEBP_LIBRARIES ${WEBP_LIBRARIES} ${WEBPMUX_LIBRARY}) -- endif() -- endif() -- if(WEBP) -- set(pkgs_private "${pkgs_private} libwebp") -- endif(WEBP) -- if(WEBPMUX) -- set(pkgs_private "${pkgs_private} libwebpmux") -- endif(WEBPMUX) -+ find_package(PkgConfig REQUIRED) -+ pkg_check_modules(WEBP libwebp REQUIRED) -+ pkg_check_modules(WEBPMUX libwebpmux>=${MINIMUM_WEBPMUX_VERSION} REQUIRED) -+ set(pkgs_private "${pkgs_private} libwebp") -+ set(pkgs_private "${pkgs_private} libwebpmux") - endif(LIBWEBP_SUPPORT) - if(OPENJPEG_SUPPORT) - find_package(PkgConfig REQUIRED) -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 1fab56c..790ca2a 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -48,7 +48,9 @@ if (TIFF_LIBRARIES) - endif() - if (WEBP_FOUND) - target_include_directories (leptonica PRIVATE ${WEBP_INCLUDE_DIRS}) -- target_link_libraries (leptonica PRIVATE ${WEBP_LIBRARIES}) -+ target_link_libraries (leptonica PRIVATE ${WEBP_LINK_LIBRARIES}) -+ target_include_directories (leptonica PRIVATE ${WEBPMUX_INCLUDE_DIRS}) -+ target_link_libraries (leptonica PRIVATE ${WEBPMUX_LINK_LIBRARIES}) - endif() - if (ZLIB_LIBRARIES) - target_include_directories (leptonica PRIVATE ${ZLIB_INCLUDE_DIRS}) diff --git a/ports/lerc/create_package.patch b/ports/lerc/create_package.patch index 559c44439c975a..86e24ec17ccab7 100644 --- a/ports/lerc/create_package.patch +++ b/ports/lerc/create_package.patch @@ -1,9 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index e90fcdd..17c79e8 100644 +index ab733f5..a52dc59 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -26,12 +26,19 @@ add_library(LercLib ${SOURCES}) - endif() +@@ -38,11 +38,18 @@ endif() install( TARGETS Lerc @@ -20,5 +19,5 @@ index e90fcdd..17c79e8 100644 + DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/unofficial-lerc" +) - # Configure and install pkgconfig file - configure_file(Lerc.pc.in ${CMAKE_CURRENT_BINARY_DIR}/Lerc.pc @ONLY) + # Handle both absolute paths (e.g. NixOS) and relative for a relocatable package + if(IS_ABSOLUTE "${CMAKE_INSTALL_INCLUDEDIR}") diff --git a/ports/lerc/cxx-linkage-pkgconfig.patch b/ports/lerc/cxx-linkage-pkgconfig.patch new file mode 100644 index 00000000000000..3ee1de47ac7801 --- /dev/null +++ b/ports/lerc/cxx-linkage-pkgconfig.patch @@ -0,0 +1,31 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a52dc59..caacfa8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -64,6 +64,16 @@ else() + endif() + + # Configure and install pkgconfig file ++set(FAKE_CXX_LINKAGE "") ++foreach(lib IN LISTS CMAKE_CXX_IMPLICIT_LINK_LIBRARIES) ++ if(lib IN_LIST CMAKE_C_IMPLICIT_LINK_LIBRARIES) ++ continue() ++ elseif(EXISTS "${lib}") ++ string(APPEND FAKE_CXX_LINKAGE " ${CMAKE_LINK_LIBRARY_FILE_FLAG}${lib}") ++ else() ++ string(APPEND FAKE_CXX_LINKAGE " ${CMAKE_LINK_LIBRARY_FLAG}${lib}") ++ endif() ++endforeach() + configure_file(Lerc.pc.in ${CMAKE_CURRENT_BINARY_DIR}/Lerc.pc @ONLY) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/Lerc.pc + DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) +diff --git a/Lerc.pc.in b/Lerc.pc.in +index ab20d1a..4d2a967 100644 +--- a/Lerc.pc.in ++++ b/Lerc.pc.in +@@ -9,4 +9,4 @@ URL: @PROJECT_HOMEPAGE_URL@ + Version: @PROJECT_VERSION@ + Cflags: -I${includedir} + Cflags.private: -DLERC_STATIC +-Libs: -L${libdir} -lLerc ++Libs: -L${libdir} -lLerc @FAKE_CXX_LINKAGE@ diff --git a/ports/lerc/fix-climits-include.patch b/ports/lerc/fix-climits-include.patch new file mode 100644 index 00000000000000..84bebc31f79fa2 --- /dev/null +++ b/ports/lerc/fix-climits-include.patch @@ -0,0 +1,12 @@ +diff --git a/src/LercLib/fpl_Compression.cpp b/src/LercLib/fpl_Compression.cpp +index bea9483..2e18e3e 100644 +--- a/src/LercLib/fpl_Compression.cpp ++++ b/src/LercLib/fpl_Compression.cpp +@@ -27,6 +27,7 @@ Original coding 2021 Yuriy Yakimenko + #include + #include + #include ++#include + + USING_NAMESPACE_LERC + diff --git a/ports/lerc/include_algorithm_for_std_min.patch b/ports/lerc/include_algorithm_for_std_min.patch deleted file mode 100644 index 43f9903976adea..00000000000000 --- a/ports/lerc/include_algorithm_for_std_min.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/src/LercLib/fpl_EsriHuffman.cpp b/src/LercLib/fpl_EsriHuffman.cpp -index b72bd44..2f6ae7f 100644 ---- a/src/LercLib/fpl_EsriHuffman.cpp -+++ b/src/LercLib/fpl_EsriHuffman.cpp -@@ -28,6 +28,7 @@ Original coding 2021 Yuriy Yakimenko - #include - #include - #include -+#include - - USING_NAMESPACE_LERC - -diff --git a/src/LercLib/fpl_Lerc2Ext.cpp b/src/LercLib/fpl_Lerc2Ext.cpp -index 64b5c06..1d39c98 100644 ---- a/src/LercLib/fpl_Lerc2Ext.cpp -+++ b/src/LercLib/fpl_Lerc2Ext.cpp -@@ -28,6 +28,7 @@ Original coding 2021 Yuriy Yakimenko - #include - #include - #include -+#include - - USING_NAMESPACE_LERC - diff --git a/ports/lerc/portfile.cmake b/ports/lerc/portfile.cmake index f980b545eeafae..b8e6a8ee9f2b17 100644 --- a/ports/lerc/portfile.cmake +++ b/ports/lerc/portfile.cmake @@ -1,12 +1,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Esri/lerc - REF v4.0.0 - SHA512 36fe453b6e732f6bed554d1c1c5cd4668aec63593d6de11f12b659c7b9cbc059ac9aaacc6cea483b3257d522f1b07e13c299914d08b1f8aeb0bb2cde42ba47cf + REF "js_v${VERSION}" + SHA512 061558d3b29e2d0968d1169ac422795faa6e70dd3425945194c1c87f4522422e186878b0235a5fc42f037c47c54964bf070b7644f8d652f33dc19f692a6ba0af HEAD_REF master PATCHES - "create_package.patch" - "include_algorithm_for_std_min.patch" + create_package.patch + cxx-linkage-pkgconfig.patch + fix-climits-include.patch ) vcpkg_cmake_configure( diff --git a/ports/lerc/vcpkg.json b/ports/lerc/vcpkg.json index 45dc3ee0c59d7e..34eadc65a7ca57 100644 --- a/ports/lerc/vcpkg.json +++ b/ports/lerc/vcpkg.json @@ -1,7 +1,6 @@ { "name": "lerc", - "version": "4.0", - "port-version": 1, + "version": "4.0.4", "description": "An open-source image or raster format which supports rapid encoding and decoding for any pixel type", "homepage": "https://github.com/Esri/lerc", "license": "Apache-2.0", diff --git a/ports/lest/portfile.cmake b/ports/lest/portfile.cmake index 2737d3695289b1..8b87ecd80d3110 100644 --- a/ports/lest/portfile.cmake +++ b/ports/lest/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO martinmoene/lest - REF v1.35.1 - SHA512 06b786cbca37cb4d20737d040176bf34398090d566310b88558b788804d8b832c682f1814f5c68ef11192243dbde5643e73b78be4fb1407b831bcde43adb002c + REF "v${VERSION}" + SHA512 c45501b3876031205aa9a8e5264d61e545ecf827ce33b2f20fdc635345b6a4780a94334d2ddddce1bc708a8849cdba8dc3a73b045de81d6b32083be9036a7ff6 ) file(INSTALL ${SOURCE_PATH}/include/ DESTINATION ${CURRENT_PACKAGES_DIR}/include) diff --git a/ports/lest/vcpkg.json b/ports/lest/vcpkg.json index cd46d0193a3e3b..439e77b8ac4a85 100644 --- a/ports/lest/vcpkg.json +++ b/ports/lest/vcpkg.json @@ -1,7 +1,6 @@ { "name": "lest", - "version": "1.35.1", - "port-version": 3, + "version": "1.35.2", "description": "A modern, C++11-native, single-file header-only, tiny framework for unit-tests, TDD and BDD (includes C++98 variant)", "homepage": "https://github.com/martinmoene/lest" } diff --git a/ports/level-zero/portfile.cmake b/ports/level-zero/portfile.cmake new file mode 100644 index 00000000000000..19dd4c07da61f6 --- /dev/null +++ b/ports/level-zero/portfile.cmake @@ -0,0 +1,23 @@ +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO oneapi-src/level-zero + REF "v${VERSION}" + SHA512 09743eb45f37ffb824dfe837064e5d5a94563f1c45febe54578ca5e220a83a1c07bb06b83c0ea65e688d3dcac44eebb7dd9d3920c23993c6f789329d7fb90c08 + HEAD_REF master +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DSYSTEM_SPDLOG=ON +) + +vcpkg_cmake_install() +vcpkg_fixup_pkgconfig() +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/level-zero/vcpkg.json b/ports/level-zero/vcpkg.json new file mode 100644 index 00000000000000..117cb960ddecfc --- /dev/null +++ b/ports/level-zero/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "level-zero", + "version": "1.20.1", + "description": "oneAPI Level Zero Specification Headers and Loader.", + "homepage": "https://github.com/oneapi-src/level-zero", + "license": "MIT", + "supports": "x64 & !static & (linux | (windows & !uwp))", + "dependencies": [ + "spdlog", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/lfreist-hwinfo/portfile.cmake b/ports/lfreist-hwinfo/portfile.cmake new file mode 100644 index 00000000000000..8929177251ea74 --- /dev/null +++ b/ports/lfreist-hwinfo/portfile.cmake @@ -0,0 +1,31 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO lfreist/hwinfo + REF 46690dd36727b868c5bb7a7316bb2ee52a898349 + SHA512 31ac0f2c405a817893146f4f8899ea05d831393bd1776c12257675385be25990cb77251d644fefb8ea0d179940ff782ede9036ea42a3f3050c36a66d978f0da6 + HEAD_REF main +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" HWINFO_BUILD_SHARED) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" HWINFO_BUILD_STATIC) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_EXAMPLES=OFF + -DBUILD_TESTING=OFF + -DHWINFO_SHARED=${HWINFO_BUILD_SHARED} + -DHWINFO_STATIC=${HWINFO_BUILD_STATIC} + ) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup( + PACKAGE_NAME lfreist-hwinfo + CONFIG_PATH "lib/cmake/hwinfo" +) +vcpkg_copy_pdbs() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/lfreist-hwinfo/usage b/ports/lfreist-hwinfo/usage new file mode 100644 index 00000000000000..ef561fee1c0b2a --- /dev/null +++ b/ports/lfreist-hwinfo/usage @@ -0,0 +1,4 @@ +lfreist-hwinfo provides CMake targets : + + find_package(lfreist-hwinfo CONFIG REQUIRED) + target_link_libraries(main PRIVATE lfreist-hwinfo::hwinfo) diff --git a/ports/lfreist-hwinfo/vcpkg.json b/ports/lfreist-hwinfo/vcpkg.json new file mode 100644 index 00000000000000..62c2ad50792e58 --- /dev/null +++ b/ports/lfreist-hwinfo/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "lfreist-hwinfo", + "version-date": "2024-09-01", + "description": "hwinfo provides an easy-to-use and modern C++ API for retrieving hardware information of your systems components such as CPU, RAM, GPU, Disks, Mainboard, ...", + "homepage": "https://github.com/lfreist/hwinfo", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/lib3mf/lib3mf_vcpkg.patch b/ports/lib3mf/lib3mf_vcpkg.patch new file mode 100644 index 00000000000000..494c9974a0802f --- /dev/null +++ b/ports/lib3mf/lib3mf_vcpkg.patch @@ -0,0 +1,95 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index aaca07d..a893ee1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -116,13 +116,6 @@ add_library(${PROJECT_NAME} SHARED ${SRCS_COMMON} ${HDRS_COMMON} + SOURCE_GROUP("Source Files\\Autogenerated" FILES ${ACT_GENERATED_SOURCE}) + + +-file(GLOB +- LIBS_INCLUDE +- LIST_DIRECTORIES true +- ${CMAKE_CURRENT_SOURCE_DIR}/Libraries/*/Include +-) +-list(FILTER LIBS_INCLUDE EXCLUDE REGEX "zlib|libzip|libressl") +-target_include_directories(${PROJECT_NAME} PRIVATE ${LIBS_INCLUDE}) + + # allow FASTFLOAT_ALLOWS_LEADING_PLUS + add_definitions(-DFASTFLOAT_ALLOWS_LEADING_PLUS=1) +@@ -170,20 +163,33 @@ if (USE_INCLUDED_LIBZIP) + endif() + + else() +- find_package(PkgConfig REQUIRED) +- pkg_check_modules(LIBZIP REQUIRED libzip) +- target_link_libraries(${PROJECT_NAME} ${LIBZIP_LIBRARIES}) ++ find_package(LIBZIP REQUIRED) ++ target_link_libraries(${PROJECT_NAME} PRIVATE libzip::zip) + endif() + + + if (USE_INCLUDED_ZLIB) + target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/Libraries/zlib/Include) + else() +- find_package(PkgConfig REQUIRED) +- pkg_check_modules(ZLIB REQUIRED zlib) +- target_link_libraries(${PROJECT_NAME} ${ZLIB_LIBRARIES}) ++ find_package(ZLIB REQUIRED) ++ target_link_libraries(${PROJECT_NAME} PRIVATE ZLIB::ZLIB) + endif() + ++#devendor base64 ++# Include the directory for header files ++find_path(CPP_BASE64_INCLUDE_DIRS "cpp-base64/base64.cpp") ++include_directories("${CPP_BASE64_INCLUDE_DIRS}/cpp-base64") ++set(BASE64_SRC ++ ${CPP_BASE64_INCLUDE_DIRS}/cpp-base64/base64.h ++ ${CPP_BASE64_INCLUDE_DIRS}/cpp-base64/base64.cpp) ++message("BASE64_SRC" ${BASE64_SRC}) ++# Append BASE64_SRC to the target ++target_sources(${PROJECT_NAME} PRIVATE ${BASE64_SRC}) ++ ++#devendor FastFloat ++find_package(FastFloat CONFIG REQUIRED) ++target_link_libraries(${PROJECT_NAME} PRIVATE FastFloat::fast_float) ++ + set_target_properties(${PROJECT_NAME} PROPERTIES PREFIX "" IMPORT_PREFIX "" ) + # This makes sure symbols are exported + target_compile_options(${PROJECT_NAME} PRIVATE "-D__LIB3MF_EXPORTS") +diff --git a/Include/Common/NMR_StringUtils.h b/Include/Common/NMR_StringUtils.h +index 4cafe3a..b32bc76 100644 +--- a/Include/Common/NMR_StringUtils.h ++++ b/Include/Common/NMR_StringUtils.h +@@ -37,7 +37,7 @@ and Exception-safe + #include "Common/NMR_Types.h" + #include "Common/NMR_Local.h" + +-#include ++#include + + #include + #include +diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt +index 2d94b2c..4f2a96b 100644 +--- a/Source/CMakeLists.txt ++++ b/Source/CMakeLists.txt +@@ -12,7 +12,6 @@ if (USE_INCLUDED_ZLIB) + file(GLOB ZLIB_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "Libraries/zlib/Source/*.c") + endif() + +-file (GLOB CPPBASE64_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "Libraries/cpp-base64/Source/*.cpp") + + # sources + set(SRCS_PLATFORM +diff --git a/cmake/lib3mfConfig.cmake b/cmake/lib3mfConfig.cmake +index f1305b8..b7755c3 100644 +--- a/cmake/lib3mfConfig.cmake ++++ b/cmake/lib3mfConfig.cmake +@@ -1,4 +1,7 @@ + # lib3mfConfig.cmake ++include(CMakeFindDependencyMacro) ++find_dependency(libzip) ++find_dependency(ZLIB) + + if(VCPKG_TOOLCHAIN) + message("Lib3MF - VCPKG Tool Chain") diff --git a/ports/lib3mf/portfile.cmake b/ports/lib3mf/portfile.cmake new file mode 100644 index 00000000000000..e996f296c835a0 --- /dev/null +++ b/ports/lib3mf/portfile.cmake @@ -0,0 +1,31 @@ +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO 3MFConsortium/lib3mf + REF "v${VERSION}" + SHA512 875529759aff6128b32291d0719b95a75a72a3b19f98711b12c9b1076727b231668b3b14604e69bb1fec79b4725fd098f030b7e965072e566bfb061f3086279c + PATCHES + lib3mf_vcpkg.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DUSE_INCLUDED_ZLIB=OFF + -DUSE_INCLUDED_LIBZIP=OFF + -DUSE_INCLUDED_SSL=OFF + -DBUILD_FOR_CODECOVERAGE=OFF + -DLIB3MF_TESTS=OFF +) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/lib3mf) +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/lib3mf/usage b/ports/lib3mf/usage new file mode 100644 index 00000000000000..bae4461e54ff71 --- /dev/null +++ b/ports/lib3mf/usage @@ -0,0 +1,7 @@ +lib3mf provides CMake targets: + + find_package(lib3mf CONFIG REQUIRED) + target_link_libraries(target_name PRIVATE lib3mf::lib3mf) + +For examples and use cases, kindly check +https://github.com/3MFConsortium/lib3mf/tree/develop/SDK/CPackExamples diff --git a/ports/lib3mf/vcpkg.json b/ports/lib3mf/vcpkg.json new file mode 100644 index 00000000000000..7dccc02596771f --- /dev/null +++ b/ports/lib3mf/vcpkg.json @@ -0,0 +1,22 @@ +{ + "name": "lib3mf", + "version": "2.3.2", + "description": "lib3mf is an implementation of the 3D Manufacturing Format file standard", + "homepage": "https://github.com/3MFConsortium/lib3mf", + "license": "BSD-2-Clause", + "supports": "(windows & (x86 | x64) & !static & !staticcrt) | (linux & x64) | (osx & (x64 | arm64))", + "dependencies": [ + "cpp-base64", + "fast-float", + "libzip", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "zlib" + ] +} diff --git a/ports/libadwaita/vcpkg.json b/ports/libadwaita/vcpkg.json index 8f1f5d229dc1d8..473d97fd854345 100644 --- a/ports/libadwaita/vcpkg.json +++ b/ports/libadwaita/vcpkg.json @@ -1,7 +1,7 @@ { "name": "libadwaita", "version": "1.3.2", - "port-version": 1, + "port-version": 2, "description": "Building blocks for modern GNOME applications", "homepage": "https://gnome.pages.gitlab.gnome.org/libadwaita", "license": "LGPL-2.1-or-later", @@ -15,6 +15,10 @@ { "name": "sassc", "host": true + }, + { + "name": "vcpkg-tool-meson", + "host": true } ] } diff --git a/ports/libaec/cmake-config.patch b/ports/libaec/cmake-config.patch new file mode 100644 index 00000000000000..acc932235c7491 --- /dev/null +++ b/ports/libaec/cmake-config.patch @@ -0,0 +1,206 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 26ccf18..a885024 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -6,6 +6,8 @@ set(CMAKE_C_VISIBILITY_PRESET hidden) + set(CMAKE_POSITION_INDEPENDENT_CODE ON) + include(CTest) + ++include(CMakePackageConfigHelpers) ++ + include(TestBigEndian) + test_big_endian(WORDS_BIGENDIAN) + +@@ -67,12 +69,12 @@ endif() + set(libaec_CONFIG_IN ${CMAKE_CURRENT_SOURCE_DIR}/cmake/libaec-config.cmake.in) + set(libaec_CONFIG_OUT ${CMAKE_CURRENT_BINARY_DIR}/cmake/libaec-config.cmake) + configure_file(${libaec_CONFIG_IN} ${libaec_CONFIG_OUT} @ONLY) +-set(libaec_CONFIG_VERSION_IN ${CMAKE_CURRENT_SOURCE_DIR}/cmake/libaec-config-version.cmake.in) +-set(libaec_CONFIG_VERSION_OUT ${CMAKE_CURRENT_BINARY_DIR}/cmake/libaec-config-version.cmake) +-configure_file(${libaec_CONFIG_VERSION_IN} ${libaec_CONFIG_VERSION_OUT} @ONLY) + install(FILES ${libaec_CONFIG_OUT} + DESTINATION cmake) +-install(FILES ${libaec_CONFIG_VERSION_OUT} ++write_basic_package_version_file( ++ ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake ++ COMPATIBILITY SameMajorVersion) ++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake + DESTINATION cmake) + + # Cpack configuration mainly for Windows installer +diff --git a/cmake/libaec-config-version.cmake.in b/cmake/libaec-config-version.cmake.in +deleted file mode 100644 +index d32ef96..0000000 +--- a/cmake/libaec-config-version.cmake.in ++++ /dev/null +@@ -1,15 +0,0 @@ +-set(PACKAGE_VERSION_MAJOR @PROJECT_VERSION_MAJOR@) +-set(PACKAGE_VERSION_MINOR @PROJECT_VERSION_MINOR@) +-set(PACKAGE_VERSION_PATCH @PROJECT_VERSION_PATCH@) +-set(PACKAGE_VERSION @PROJECT_VERSION@) +- +-# Check whether the requested PACKAGE_FIND_VERSION is compatible +-if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION OR +- PACKAGE_VERSION_MAJOR GREATER PACKAGE_FIND_VERSION_MAJOR) +- set(PACKAGE_VERSION_COMPATIBLE FALSE) +-else() +- set(PACKAGE_VERSION_COMPATIBLE TRUE) +- if(PACKAGE_VERSION VERSION_EQUAL PACKAGE_FIND_VERSION) +- set(PACKAGE_VERSION_EXACT TRUE) +- endif() +-endif() +diff --git a/cmake/libaec-config.cmake.in b/cmake/libaec-config.cmake.in +index ce5d4cc..2fffad9 100644 +--- a/cmake/libaec-config.cmake.in ++++ b/cmake/libaec-config.cmake.in +@@ -38,64 +38,3 @@ else () + find_library(libaec_LIBRARY NAMES aec DOC "AEC library") + find_library(SZIP_LIBRARY NAMES sz szip DOC "SZIP compatible version of the AEC library") + endif () +- +-# Check version here +-if (libaec_INCLUDE_DIR AND libaec_LIBRARY) +- set(libaec_VERSION "@PROJECT_VERSION@") +- set(SZIP_VERSION "2.0.1") +-endif () +- +-include(FindPackageHandleStandardArgs) +-set(${CMAKE_FIND_PACKAGE_NAME}_CONFIG "${CMAKE_CURRENT_LIST_FILE}") +-find_package_handle_standard_args(libaec +- FOUND_VAR libaec_FOUND +- REQUIRED_VARS libaec_LIBRARY libaec_INCLUDE_DIR SZIP_LIBRARY SZIP_INCLUDE_DIR +- VERSION_VAR libaec_VERSION +- CONFIG_MODE +-) +- +-if (libaec_FOUND) +- if (libaec_USE_STATIC_LIBS) +- add_library(libaec::aec STATIC IMPORTED) +- else () +- add_library(libaec::aec SHARED IMPORTED) +- target_compile_definitions(libaec::aec INTERFACE LIBAEC_SHARED) +- if (MSVC) +- set_target_properties(libaec::aec PROPERTIES +- IMPORTED_IMPLIB "${libaec_LIBRARY}" +- ) +- endif () +- endif () +- set_target_properties(libaec::aec PROPERTIES +- IMPORTED_LOCATION "${libaec_LIBRARY}" +- INTERFACE_INCLUDE_DIRECTORIES "${libaec_INCLUDE_DIR}" +- ) +- +- # SZIP +- if (libaec_USE_STATIC_LIBS) +- add_library(libaec::sz STATIC IMPORTED) +- else () +- add_library(libaec::sz SHARED IMPORTED) +- target_compile_definitions(libaec::sz INTERFACE LIBAEC_SHARED) +- if (MSVC) +- set_target_properties(libaec::sz PROPERTIES +- IMPORTED_IMPLIB "${SZIP_LIBRARY}" +- ) +- endif () +- endif () +- set_target_properties(libaec::sz PROPERTIES +- IMPORTED_LOCATION "${SZIP_LIBRARY}" +- INTERFACE_INCLUDE_DIRECTORIES "${SZIP_INCLUDE_DIR}" +- ) +- +- # Set SZIP variables. +- set(SZIP_FOUND TRUE) +- set(SZIP_LIBRARIES "${SZIP_LIBRARY}") +-endif () +- +-mark_as_advanced( +- libaec_LIBRARY +- libaec_INCLUDE_DIR +- SZIP_LIBRARY +- SZIP_INCLUDE_DIR +-) +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index f9c3031..dea7574 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -11,12 +11,17 @@ target_include_directories(aec + "$" + "$") + ++# Handle visibility of symbols. Compatible with gnulib's gl_VISIBILITY ++include(CheckCCompilerFlag) ++check_c_compiler_flag(-fvisibility=hidden COMPILER_HAS_HIDDEN_VISIBILITY) ++ + # Create both static and shared aec library. + add_library(aec_static STATIC "$") + target_link_libraries(aec_static PUBLIC aec) + set_target_properties(aec_static + PROPERTIES + OUTPUT_NAME $,aec-static,aec>) ++target_compile_definitions(aec_static PRIVATE LIBAEC_BUILD) + + add_library(aec_shared SHARED "$") + target_link_libraries(aec_shared PUBLIC aec) +@@ -26,19 +31,19 @@ set_target_properties(aec_shared + SOVERSION 0 + OUTPUT_NAME aec + PUBLIC_HEADER ${CMAKE_CURRENT_BINARY_DIR}/../include/libaec.h) ++target_compile_definitions(aec_shared PRIVATE LIBAEC_BUILD LIBAEC_SHARED) + + # Wrapper for compatibility with szip + add_library(sz OBJECT sz_compat.c) + target_link_libraries(sz PUBLIC aec) + +-set(libaec_COMPILE_DEFINITIONS "LIBAEC_BUILD;LIBAEC_SHARED") +- + # Create both static and shared szip library. + add_library(sz_static STATIC "$" "$") + set_target_properties(sz_static + PROPERTIES + OUTPUT_NAME $,szip-static,sz>) + target_link_libraries(sz_static PUBLIC sz) ++target_compile_definitions(sz_static PRIVATE LIBAEC_BUILD) + + add_library(sz_shared SHARED "$" "$") + target_link_libraries(sz_shared PUBLIC sz) +@@ -48,17 +53,19 @@ set_target_properties(sz_shared + SOVERSION 2 + OUTPUT_NAME $,szip,sz> + PUBLIC_HEADER ../include/szlib.h) ++target_compile_definitions(sz_shared PRIVATE LIBAEC_BUILD LIBAEC_SHARED) ++ ++if(COMPILER_HAS_HIDDEN_VISIBILITY) ++ target_compile_definitions(aec_static PUBLIC HAVE_VISIBILITY) ++ target_compile_definitions(aec_shared PUBLIC HAVE_VISIBILITY) ++ target_compile_definitions(sz_static PUBLIC HAVE_VISIBILITY) ++ target_compile_definitions(sz_shared PUBLIC HAVE_VISIBILITY) ++endif() + + # Simple executable for testing and benchmarking. + add_executable(graec graec.c) + target_link_libraries(graec aec) + +-# Handle visibility of symbols. Compatible with gnulib's gl_VISIBILITY +-include(CheckCCompilerFlag) +-check_c_compiler_flag(-fvisibility=hidden COMPILER_HAS_HIDDEN_VISIBILITY) +-set(libaec_COMPILE_DEFINITIONS +- "${libaec_COMPILE_DEFINITIONS};HAVE_VISIBILITY=$") +- + include(GNUInstallDirs) + if(UNIX) + # The shell scripts for benchmarking are supported on unix only +@@ -71,8 +78,11 @@ if(UNIX) + DEPENDS graec utime) + endif() + +-set_target_properties(aec sz +- PROPERTIES +- COMPILE_DEFINITIONS "${libaec_COMPILE_DEFINITIONS}") ++install(TARGETS aec aec_static aec_shared sz sz_static sz_shared ++ EXPORT ${PROJECT_NAME}Targets) + +-install(TARGETS aec_static aec_shared sz_static sz_shared) ++install( ++ EXPORT ${PROJECT_NAME}Targets ++ FILE ${PROJECT_NAME}-targets.cmake ++ NAMESPACE ${PROJECT_NAME}:: ++ DESTINATION cmake) diff --git a/ports/libaec/portfile.cmake b/ports/libaec/portfile.cmake new file mode 100644 index 00000000000000..b33e008ccdd390 --- /dev/null +++ b/ports/libaec/portfile.cmake @@ -0,0 +1,28 @@ +vcpkg_from_gitlab( + OUT_SOURCE_PATH SOURCE_PATH + GITLAB_URL https://gitlab.dkrz.de + REPO k202009/libaec + REF v1.1.3 + SHA512 6f317d08ad7d003bc6664da147321eb87c924978f32bd28780a8ebf015e251019046b0cb16b78e776cd1957a7701215667f64686efb8e5c6bae7c08528cede56 + PATCHES + cmake-config.patch + static-shared.patch) + +string(COMPARE EQUAL ${VCPKG_LIBRARY_LINKAGE} "dynamic" AEC_BUILD_SHARED) +string(COMPARE EQUAL ${VCPKG_LIBRARY_LINKAGE} "static" AEC_BUILD_STATIC) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DAEC_BUILD_SHARED=${AEC_BUILD_SHARED} + -DAEC_BUILD_STATIC=${AEC_BUILD_STATIC} + -DBUILD_TESTING=OFF) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_cmake_config_fixup(CONFIG_PATH "cmake") diff --git a/ports/libaec/static-shared.patch b/ports/libaec/static-shared.patch new file mode 100644 index 00000000000000..e10d4f7a187649 --- /dev/null +++ b/ports/libaec/static-shared.patch @@ -0,0 +1,109 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index dea7574..2df037e 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -1,3 +1,6 @@ ++option(AEC_BUILD_SHARED "Enable build of shared library" ON) ++option(AEC_BUILD_STATIC "Enable build of static library" ON) ++ + # Main library aec + add_library(aec OBJECT + encode.c +@@ -15,14 +18,20 @@ target_include_directories(aec + include(CheckCCompilerFlag) + check_c_compiler_flag(-fvisibility=hidden COMPILER_HAS_HIDDEN_VISIBILITY) + ++target_compile_definitions(aec PRIVATE LIBAEC_BUILD LIBAEC_SHARED) ++if(COMPILER_HAS_HIDDEN_VISIBILITY) ++ target_compile_definitions(aec PUBLIC HAVE_VISIBILITY) ++endif() +-# Create both static and shared aec library. ++if (AEC_BUILD_STATIC) + add_library(aec_static STATIC "$") + target_link_libraries(aec_static PUBLIC aec) + set_target_properties(aec_static + PROPERTIES + OUTPUT_NAME $,aec-static,aec>) + target_compile_definitions(aec_static PRIVATE LIBAEC_BUILD) ++endif() + ++if (AEC_BUILD_SHARED) + add_library(aec_shared SHARED "$") + target_link_libraries(aec_shared PUBLIC aec) + set_target_properties(aec_shared +@@ -29,22 +37,31 @@ set_target_properties(aec_shared + PROPERTIES + VERSION 0.1.3 + SOVERSION 0 +- OUTPUT_NAME aec +- PUBLIC_HEADER ${CMAKE_CURRENT_BINARY_DIR}/../include/libaec.h) +-target_compile_definitions(aec_shared PRIVATE LIBAEC_BUILD LIBAEC_SHARED) ++ OUTPUT_NAME aec) ++target_compile_definitions(aec_shared PRIVATE LIBAEC_BUILD PUBLIC LIBAEC_SHARED) ++endif() ++ ++set_target_properties(aec PROPERTIES PUBLIC_HEADER "${CMAKE_CURRENT_BINARY_DIR}/../include/libaec.h") + + # Wrapper for compatibility with szip + add_library(sz OBJECT sz_compat.c) + target_link_libraries(sz PUBLIC aec) ++target_compile_definitions(sz PRIVATE LIBAEC_BUILD LIBAEC_SHARED) ++if(COMPILER_HAS_HIDDEN_VISIBILITY) ++ target_compile_definitions(sz PUBLIC HAVE_VISIBILITY) ++endif() + + # Create both static and shared szip library. ++if (AEC_BUILD_STATIC) + add_library(sz_static STATIC "$" "$") + set_target_properties(sz_static + PROPERTIES + OUTPUT_NAME $,szip-static,sz>) + target_link_libraries(sz_static PUBLIC sz) + target_compile_definitions(sz_static PRIVATE LIBAEC_BUILD) ++endif() + ++if (AEC_BUILD_SHARED) + add_library(sz_shared SHARED "$" "$") + target_link_libraries(sz_shared PUBLIC sz) + set_target_properties(sz_shared +@@ -51,16 +69,11 @@ set_target_properties(sz_shared + PROPERTIES + VERSION 2.0.1 + SOVERSION 2 +- OUTPUT_NAME $,szip,sz> +- PUBLIC_HEADER ../include/szlib.h) +-target_compile_definitions(sz_shared PRIVATE LIBAEC_BUILD LIBAEC_SHARED) ++ OUTPUT_NAME $,szip,sz>) ++target_compile_definitions(sz_shared PUBLIC LIBAEC_SHARED) +- +-if(COMPILER_HAS_HIDDEN_VISIBILITY) +- target_compile_definitions(aec_static PUBLIC HAVE_VISIBILITY) +- target_compile_definitions(aec_shared PUBLIC HAVE_VISIBILITY) +- target_compile_definitions(sz_static PUBLIC HAVE_VISIBILITY) +- target_compile_definitions(sz_shared PUBLIC HAVE_VISIBILITY) +-endif() ++endif() ++ ++set_target_properties(sz PROPERTIES PUBLIC_HEADER "../include/szlib.h") + + # Simple executable for testing and benchmarking. + add_executable(graec graec.c) +@@ -78,7 +93,16 @@ if(UNIX) + DEPENDS graec utime) + endif() + +-install(TARGETS aec aec_static aec_shared sz sz_static sz_shared ++set(TARGETS_EXPORT) ++if (AEC_BUILD_STATIC) ++ set(TARGETS_EXPORT aec_static sz_static) ++endif() ++if (AEC_BUILD_SHARED) ++ set(TARGETS_EXPORT ${TARGETS_EXPORT} aec_shared sz_shared) ++endif() ++ ++install(TARGETS aec sz ${TARGETS_EXPORT} +- EXPORT ${PROJECT_NAME}Targets) ++ EXPORT ${PROJECT_NAME}Targets ++ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + + install( diff --git a/ports/libaec/vcpkg.json b/ports/libaec/vcpkg.json new file mode 100644 index 00000000000000..048e23cced8fce --- /dev/null +++ b/ports/libaec/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "libaec", + "version": "1.1.3", + "description": "Adaptive Entropy Coding library", + "homepage": "https://gitlab.dkrz.de/k202009/libaec", + "license": "BSD-2-Clause", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/libaes-siv/CMakeLists.txt b/ports/libaes-siv/CMakeLists.txt new file mode 100644 index 00000000000000..0e3f20a159e7dc --- /dev/null +++ b/ports/libaes-siv/CMakeLists.txt @@ -0,0 +1,74 @@ +cmake_minimum_required(VERSION 3.19) +set(no_lib_project_name "aes_siv") +project(libaes-siv LANGUAGES C) +set(PROJECT_VERSION "${VERSION}") + +set(Header_Files "${no_lib_project_name}.h") +set(Source_Files "${no_lib_project_name}.c") + +add_library("${PROJECT_NAME}" "${Header_Files}" "${Source_Files}") + +include(GNUInstallDirs) +target_include_directories( + "${PROJECT_NAME}" + PUBLIC + "$" + "$" + "$" +) +target_compile_features("${PROJECT_NAME}" PRIVATE c_std_99) +set(config_file "${CMAKE_BINARY_DIR}/include/${no_lib_project_name}_config.h") +configure_file("${CMAKE_CURRENT_SOURCE_DIR}/config.h.in" "${config_file}") +if(CMAKE_C_COMPILER_ID STREQUAL "GNU") + set(CMAKE_C_FLAGS_DEBUG "-Wall -Wextra -Wstrict-prototypes -Wconversion -Og -ggdb3 -ftree-vectorize") + set(CMAKE_C_FLAGS_RELEASE "-Wall -Wextra -Wstrict-prototypes -Wconversion -O3 -fomit-frame-pointer -funroll-loops -ftree-vectorize -DNDEBUG") + set(CMAKE_C_FLAGS_RELWITHDEBINFO "-Wall -Wextra -Wstrict-prototypes -Wconversion -ggdb3 -O3 -funroll-loops -ftree-vectorize -DNDEBUG") + set(CMAKE_C_FLAGS_MINSIZEREL "-Wall -Wextra -Wstrict-prototypes -Wconversion -Os -fomit-frame-pointer -ftree-vectorize -DNDEBUG") +endif(CMAKE_C_COMPILER_ID STREQUAL "GNU") + +if(CMAKE_C_COMPILER_ID STREQUAL Clang OR CMAKE_C_COMPILER_ID STREQUAL AppleClang) + set(CMAKE_C_FLAGS_DEBUG "-Wall -Wextra -Wstrict-prototypes -Wconversion -O0 -ggdb3 -ftree-vectorize") + set(CMAKE_C_FLAGS_RELEASE "-Wall -Wextra -Wstrict-prototypes -Wconversion -O3 -fomit-frame-pointer -funroll-loops -ftree-vectorize -DNDEBUG") + set(CMAKE_C_FLAGS_RELWITHDEBINFO "-Wall -Wextra -Wstrict-prototypes -Wconversion -ggdb3 -O3 -funroll-loops -ftree-vectorize -DNDEBUG") + set(CMAKE_C_FLAGS_MINSIZEREL "-Wall -Wextra -Wstrict-prototypes -Wconversion -Os -fomit-frame-pointer -ftree-vectorize -DNDEBUG") +endif(CMAKE_C_COMPILER_ID STREQUAL Clang OR CMAKE_C_COMPILER_ID STREQUAL AppleClang) + +find_package(OpenSSL REQUIRED COMPONENTS Crypto) +target_link_libraries("${PROJECT_NAME}" PRIVATE OpenSSL::Crypto) + +install( + TARGETS "${PROJECT_NAME}" + EXPORT "unofficial-${PROJECT_NAME}Config" + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" + PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" +) +set(cmake_config_file "${CMAKE_CURRENT_BINARY_DIR}/unofficial-${PROJECT_NAME}-config.cmake") +file(CONFIGURE + OUTPUT "${cmake_config_file}" + CONTENT [[ +include(CMakeFindDependencyMacro) +find_dependency(OpenSSL) +include("${CMAKE_CURRENT_LIST_DIR}/unofficial-@PROJECT_NAME@Targets.cmake") +]] + @ONLY +) + +include(CMakePackageConfigHelpers) +set(VERSION_FILE_PATH "${CMAKE_CURRENT_BINARY_DIR}/unofficial-${PROJECT_NAME}ConfigVersion.cmake") +write_basic_package_version_file( + "${VERSION_FILE_PATH}" + VERSION "${PROJECT_VERSION}" + COMPATIBILITY SameMajorVersion +) +install(FILES "${cmake_config_file}" "${VERSION_FILE_PATH}" DESTINATION "share/unofficial-${PROJECT_NAME}") +install(FILES ${Header_Files} "${config_file}" + DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") + +install( + EXPORT "unofficial-${PROJECT_NAME}Config" + FILE "unofficial-${PROJECT_NAME}Targets.cmake" + NAMESPACE "unofficial::${PROJECT_NAME}::" + DESTINATION "share/unofficial-${PROJECT_NAME}") + diff --git a/ports/libaes-siv/header_rename.patch b/ports/libaes-siv/header_rename.patch new file mode 100644 index 00000000000000..db8ba13614ad7d --- /dev/null +++ b/ports/libaes-siv/header_rename.patch @@ -0,0 +1,39 @@ +diff --git a/aes_siv.c b/aes_siv.c +index 00a510d..2b31ed3 100644 +--- a/aes_siv.c ++++ b/aes_siv.c +@@ -5,7 +5,7 @@ + #define _POSIX_C_SOURCE 200112L + #define _ISOC99_SOURCE 1 + +-#include "config.h" ++#include "aes_siv_config.h" + #include "aes_siv.h" + + #include +diff --git a/bench.c b/bench.c +index ea5a29b..61cb485 100644 +--- a/bench.c ++++ b/bench.c +@@ -2,7 +2,7 @@ + * SPDX-License-Identifier: Apache-2.0 + */ + +-#include "config.h" ++#include "aes_siv_config.h" + #include "aes_siv.h" + + #define _POSIX_C_SOURCE 200112L +diff --git a/tests.c b/tests.c +index 996cc58..9ff9637 100644 +--- a/tests.c ++++ b/tests.c +@@ -5,7 +5,7 @@ + #define _POSIX_C_SOURCE 200112L + #define _ISOC99_SOURCE 1 + +-#include "config.h" ++#include "aes_siv_config.h" + #include "aes_siv.h" + + #undef NDEBUG diff --git a/ports/libaes-siv/portfile.cmake b/ports/libaes-siv/portfile.cmake new file mode 100644 index 00000000000000..5b625dae5a3657 --- /dev/null +++ b/ports/libaes-siv/portfile.cmake @@ -0,0 +1,34 @@ +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO dfoxfranke/libaes_siv + REF 9681279cfaa6e6399bb7ca3afbbc27fc2e19df4b + SHA512 96441420339bd11f37f4feff29f9306afa60e5b07ac7e7b879778c0e6964f8f679ffb7c1deca43ca054b7851e4e7bf5fca548dc60c92469fe9d3235cb5a37776 + HEAD_REF master + PATCHES + header_rename.patch +) + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" + DESTINATION "${SOURCE_PATH}") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + "-DVERSION=${VERSION}" +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-${PORT}) + +# Handle copyright +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/libaes-siv/usage b/ports/libaes-siv/usage new file mode 100644 index 00000000000000..9d08d6cd603296 --- /dev/null +++ b/ports/libaes-siv/usage @@ -0,0 +1,3 @@ +libaes-siv provides CMake targets: + find_package(unofficial-libaes-siv CONFIG REQUIRED) + target_link_libraries(main PRIVATE unofficial::libaes-siv::libaes-siv) diff --git a/ports/libaes-siv/vcpkg.json b/ports/libaes-siv/vcpkg.json new file mode 100644 index 00000000000000..f1dc46551a116f --- /dev/null +++ b/ports/libaes-siv/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "libaes-siv", + "version-date": "2020-10-15", + "description": "An RFC5297-compliant C implementation of AES-SIV.", + "homepage": "https://github.com/dfoxfranke/libaes_siv", + "license": "Apache-2.0", + "dependencies": [ + "openssl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/libaio/CMakeLists.txt b/ports/libaio/CMakeLists.txt new file mode 100644 index 00000000000000..6c64ec036b3793 --- /dev/null +++ b/ports/libaio/CMakeLists.txt @@ -0,0 +1,13 @@ +cmake_minimum_required(VERSION 3.20) +project(libaio C) +include(GNUInstallDirs) +file(GLOB SRC_FILES src/*.c) +add_library(aio ${SRC_FILES}) +target_include_directories(aio PUBLIC "${PROJECT_SOURCE_DIR}/src") +install(TARGETS aio) +install(FILES src/libaio.h DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") +set(PKG_CONFIG_FILE_NAME "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc") +configure_file("${CMAKE_CURRENT_SOURCE_DIR}/pkgconfig.pc.in" "${PKG_CONFIG_FILE_NAME}" @ONLY) +install(FILES "${PKG_CONFIG_FILE_NAME}" + DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig" +) diff --git a/ports/libaio/pkgconfig.pc.in b/ports/libaio/pkgconfig.pc.in new file mode 100644 index 00000000000000..66079c57b485d3 --- /dev/null +++ b/ports/libaio/pkgconfig.pc.in @@ -0,0 +1,9 @@ +prefix=@CMAKE_INSTALL_PREFIX@ +includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@ +libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@ + +Name: libaio +Description: The Linux-native asynchronous I/O facility +Version: @VERSION@ +Cflags: -I${includedir} +Libs: -L${libdir} -laio diff --git a/ports/libaio/portfile.cmake b/ports/libaio/portfile.cmake new file mode 100644 index 00000000000000..d6f39608fc6629 --- /dev/null +++ b/ports/libaio/portfile.cmake @@ -0,0 +1,23 @@ +vcpkg_download_distfile(ARCHIVE + URLS "https://pagure.io/libaio/archive/libaio-${VERSION}/libaio-libaio-${VERSION}.tar.gz" + FILENAME "libaio-${VERSION}.tar.gz" + SHA512 8058c927de0b5f7079fc232d2be23272537694bf271488af1dc0330b58afc307931792ab138512c5e00aa3ea921935a6d862f575fb0cc2bf323de63d8df208cd +) +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" +) + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/pkgconfig.pc.in" DESTINATION "${SOURCE_PATH}") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DVERSION=${VERSION} +) +vcpkg_cmake_install() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/libaio/vcpkg.json b/ports/libaio/vcpkg.json new file mode 100644 index 00000000000000..c4a59485e4c6a5 --- /dev/null +++ b/ports/libaio/vcpkg.json @@ -0,0 +1,14 @@ +{ + "name": "libaio", + "version": "0.3.113", + "description": "The Linux-native asynchronous I/O facility", + "homepage": "https://pagure.io/libaio", + "license": "LGPL-2.1", + "supports": "linux", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/ports/libalkimia/dll_names.diff b/ports/libalkimia/dll_names.diff deleted file mode 100644 index 3fb5a3a3649dae..00000000000000 --- a/ports/libalkimia/dll_names.diff +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 643ffcf3d7b4ce59285343f92a1407927c111881..382d3c6ed244e24dec9f144c02e0c3459e8369a9 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -156,10 +156,12 @@ install( - - generate_export_header(alkimia BASE_NAME alk EXPORT_FILE_NAME alkimia/alk_export.h) - --if(WIN32) -- set_target_properties(alkimia PROPERTIES SUFFIX "-${ALKIMIA_LIB_SOVERSION}${CMAKE_SHARED_LIBRARY_SUFFIX}") --else() -- set_target_properties(alkimia PROPERTIES VERSION ${ALKIMIA_LIB_VERSION} SOVERSION ${ALKIMIA_LIB_SOVERSION}) -+if(BUILD_SHARED_LIBS) -+ if(WIN32) -+ set_target_properties(alkimia PROPERTIES SUFFIX "-${ALKIMIA_LIB_SOVERSION}${CMAKE_SHARED_LIBRARY_SUFFIX}") -+ else() -+ set_target_properties(alkimia PROPERTIES VERSION ${ALKIMIA_LIB_VERSION} SOVERSION ${ALKIMIA_LIB_SOVERSION}) -+ endif() - endif() - set_target_properties(alkimia PROPERTIES OUTPUT_NAME alkimia${ALKIMIA_LIB_SUFFIX}) - set(INCLUDE_INSTALL_DIR include/alkimia/${ALKIMIA_INCLUDE_SUFFIX}) diff --git a/ports/libalkimia/fix_explicit_shared_lib.diff b/ports/libalkimia/fix_explicit_shared_lib.diff deleted file mode 100644 index 598ee3d60fb028..00000000000000 --- a/ports/libalkimia/fix_explicit_shared_lib.diff +++ /dev/null @@ -1,70 +0,0 @@ -diff --git a/qml/CMakeLists.txt b/qml/CMakeLists.txt -index f74449b591bafd4ad0c41627139a08e29028ab21..a317307a438542e4cf26d50643057b5e9b649594 100644 ---- a/qml/CMakeLists.txt -+++ b/qml/CMakeLists.txt -@@ -22,7 +22,7 @@ else() - endif() - - configure_file(qmldir ${IMPORTS_DIR}/qmldir) --add_library(qmlalkimia SHARED qmlalkimiaplugin.cpp) -+add_library(qmlalkimia qmlalkimiaplugin.cpp) - target_link_libraries(qmlalkimia ${LIBS} alkimia) - - install(TARGETS qmlalkimia -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index e57c94adf6c3785e5c646c7c95b586392737d686..b467849c7ff25d2ce424b30591cfe9a1e9357a46 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -103,7 +103,7 @@ endforeach() - add_definitions(-DKNSRC_DIR="${CMAKE_CURRENT_SOURCE_DIR}") - - ki18n_wrap_ui(alkimia_LIB_SRCS ${alkimia_UI} ) --add_library(alkimia SHARED ${alkimia_LIB_SRCS} ${alkimia_INTERNAL_SRCS} ${alkimia_LIB_HEADERS} ${alkimia_LIB_PRIVATE_HEADERS}) -+add_library(alkimia ${alkimia_LIB_SRCS} ${alkimia_INTERNAL_SRCS} ${alkimia_LIB_HEADERS} ${alkimia_LIB_PRIVATE_HEADERS}) - - kde_target_enable_exceptions(alkimia PUBLIC) - if(BUILD_QT4) -@@ -164,7 +164,13 @@ endif() - set_target_properties(alkimia PROPERTIES OUTPUT_NAME alkimia${ALKIMIA_LIB_SUFFIX}) - set(INCLUDE_INSTALL_DIR include/alkimia/${ALKIMIA_INCLUDE_SUFFIX}) - --install(TARGETS alkimia -+if(${BUILD_SHARED_LIBS}) -+ set(alkimia_export_targets alkimia) -+else() -+ set(alkimia_export_targets alkimia alkimia-internal) -+endif() -+ -+install(TARGETS ${alkimia_export_targets} - EXPORT alkimiaTargets - ${INSTALL_TARGETS_DEFAULT_ARGS} - ) -@@ -228,7 +234,7 @@ configure_package_config_file( - - ########### install files ############### - --export(TARGETS alkimia -+export(TARGETS ${alkimia_export_targets} - FILE "${CMAKE_CURRENT_BINARY_DIR}/LibAlkimia${ALKIMIA_PATH_SUFFIX}Targets.cmake" - NAMESPACE Alkimia:: - ) -diff --git a/src/LibAlkimiaConfig.cmake.in b/src/LibAlkimiaConfig.cmake.in -index a8893c6fe347ce2d2fe1e0a2854a206e0e41901c..8dcfdf8c13f4306a349052d1c4194e65725a50b4 100644 ---- a/src/LibAlkimiaConfig.cmake.in -+++ b/src/LibAlkimiaConfig.cmake.in -@@ -12,6 +12,15 @@ else() - endif() - find_dependency(@MP_CMAKE_MODULE@) - -+if (NOT @BUILD_SHARED_LIBS@) -+ find_dependency(KF5Completion) -+ find_dependency(KF5I18n) -+ find_dependency(KF5NewStuff) -+ find_dependency(KF5IconThemes) -+ find_dependency(KF5TextWidgets) -+ find_dependency(KF5KIO) -+endif() -+ - include("${CMAKE_CURRENT_LIST_DIR}/LibAlkimia@ALKIMIA_PATH_SUFFIX@Targets.cmake") - - set_and_check(LIBALKIMIA_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@") diff --git a/ports/libalkimia/portfile.cmake b/ports/libalkimia/portfile.cmake index a9ba9230e609ff..c45555c991a4b4 100644 --- a/ports/libalkimia/portfile.cmake +++ b/ports/libalkimia/portfile.cmake @@ -1,12 +1,9 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KDE/alkimia - REF 595186bee8409f30e5db091fffa245fc53ad92e8 - SHA512 509082e22bc0a2ce0586e1167df14fd42ac85321315c1ee2914f60e695d1e2e8beae4fc93d16d0053edb520fc391a3dbe30777638285b295e761ad70512688ca + REF "v${VERSION}" + SHA512 ec7867e439178d6ed104c388c60bfe0bad223a9e35f4d9e05f2a7b3b2b2badac74b9a872f7922f58bb2b7a1127da742c430eff7caca71388085abdd1ad12cb1d HEAD_REF master - PATCHES - fix_explicit_shared_lib.diff - dll_names.diff # https://invent.kde.org/office/alkimia/-/commit/0ff901025a747ab31ab7efba9f8899b06774f60a ) # Prevent KDEClangFormat from writing to source effectively blocking parallel configure diff --git a/ports/libalkimia/vcpkg.json b/ports/libalkimia/vcpkg.json index 9e8bcd7b8d604e..69e3ce0cfee710 100644 --- a/ports/libalkimia/vcpkg.json +++ b/ports/libalkimia/vcpkg.json @@ -1,7 +1,6 @@ { "name": "libalkimia", - "version": "8.1.70", - "port-version": 2, + "version": "8.1.72", "description": "Common functionality for finance applications.", "homepage": "https://community.kde.org/Alkimia/libalkimia", "license": "LGPL-2.1-or-later", diff --git a/ports/libarchive/fix-buildsystem.patch b/ports/libarchive/fix-buildsystem.patch index 4aa19738a86d53..4ae72167d68cdc 100644 --- a/ports/libarchive/fix-buildsystem.patch +++ b/ports/libarchive/fix-buildsystem.patch @@ -38,15 +38,6 @@ index b2634da6..0d846877 100644 IF(ZLIB_WINAPI) ADD_DEFINITIONS(-DZLIB_WINAPI) ELSE(ZLIB_WINAPI) -@@ -487,8 +474,6 @@ IF(LIBLZMA_FOUND) - SET(HAVE_LIBLZMA 1) - SET(HAVE_LZMA_H 1) - CMAKE_PUSH_CHECK_STATE() -- SET(CMAKE_REQUIRED_INCLUDES ${LIBLZMA_INCLUDE_DIR}) -- SET(CMAKE_REQUIRED_LIBRARIES ${LIBLZMA_LIBRARIES}) - INCLUDE_DIRECTORIES(${LIBLZMA_INCLUDE_DIRS}) - LIST(APPEND ADDITIONAL_LIBS ${LIBLZMA_LIBRARIES}) - # Test if a macro is needed for the library. @@ -1356,7 +1341,7 @@ CHECK_FUNCTION_EXISTS_GLIBC(localtime_r HAVE_LOCALTIME_R) CHECK_FUNCTION_EXISTS_GLIBC(lstat HAVE_LSTAT) CHECK_FUNCTION_EXISTS_GLIBC(lutimes HAVE_LUTIMES) @@ -56,7 +47,7 @@ index b2634da6..0d846877 100644 CHECK_FUNCTION_EXISTS_GLIBC(mkdir HAVE_MKDIR) CHECK_FUNCTION_EXISTS_GLIBC(mkfifo HAVE_MKFIFO) CHECK_FUNCTION_EXISTS_GLIBC(mknod HAVE_MKNOD) -@@ -1388,11 +1373,11 @@ CHECK_FUNCTION_EXISTS_GLIBC(utime HAVE_UTIME) +@@ -1388,10 +1373,10 @@ CHECK_FUNCTION_EXISTS_GLIBC(utime HAVE_UTIME) CHECK_FUNCTION_EXISTS_GLIBC(utimes HAVE_UTIMES) CHECK_FUNCTION_EXISTS_GLIBC(utimensat HAVE_UTIMENSAT) CHECK_FUNCTION_EXISTS_GLIBC(vfork HAVE_VFORK) @@ -70,7 +61,6 @@ index b2634da6..0d846877 100644 +set(HAVE_WCSCPY 1) +set(HAVE_WCSLEN 1) +set(HAVE_WCTOMB 1) - CHECK_FUNCTION_EXISTS_GLIBC(_ctime64_s HAVE__CTIME64_S) CHECK_FUNCTION_EXISTS_GLIBC(_fseeki64 HAVE__FSEEKI64) CHECK_FUNCTION_EXISTS_GLIBC(_get_timezone HAVE__GET_TIMEZONE) @@ -1405,10 +1390,10 @@ CHECK_FUNCTION_EXISTS(cygwin_conv_path HAVE_CYGWIN_CONV_PATH) @@ -88,24 +78,6 @@ index b2634da6..0d846877 100644 CMAKE_POP_CHECK_STATE() # Restore the state of the variables -@@ -1449,6 +1434,9 @@ CHECK_C_SOURCE_COMPILES( - "#include \nint main() { return major(256); }" - MAJOR_IN_SYSMACROS) - -+CMAKE_PUSH_CHECK_STATE() -+SET(CMAKE_REQUIRED_INCLUDES ${LIBLZMA_INCLUDE_DIR}) -+SET(CMAKE_REQUIRED_LIBRARIES ${LIBLZMA_LIBRARIES}) - IF(ENABLE_LZMA) - CHECK_C_SOURCE_COMPILES( - "#include \n#if LZMA_VERSION < 50020000\n#error unsupported\n#endif\nint main(void){lzma_stream_encoder_mt(0, 0); return 0;}" -@@ -1456,6 +1444,7 @@ CHECK_C_SOURCE_COMPILES( - ELSE() - SET(HAVE_LZMA_STREAM_ENCODER_MT 0) - ENDIF(ENABLE_LZMA) -+CMAKE_POP_CHECK_STATE() - - IF(HAVE_STRERROR_R) - SET(HAVE_DECL_STRERROR_R 1) @@ -2018,7 +2007,7 @@ INCLUDE(CreatePkgConfigFile) # # Register installation of PDF documents. @@ -116,42 +88,23 @@ index b2634da6..0d846877 100644 # On Windows platform, It's better that we install PDF documents # on one's computer. diff --git a/libarchive/CMakeLists.txt b/libarchive/CMakeLists.txt -index 9389bbc9..c34a42b2 100644 +index f7fdfb68a..98d287e8c 100644 --- a/libarchive/CMakeLists.txt +++ b/libarchive/CMakeLists.txt -@@ -236,28 +236,22 @@ ELSEIF(ARCHIVE_ACL_SUNOS) - ENDIF() - - # Libarchive is a shared library --ADD_LIBRARY(archive SHARED ${libarchive_SOURCES} ${include_HEADERS}) -+ADD_LIBRARY(archive ${libarchive_SOURCES} ${include_HEADERS}) - TARGET_INCLUDE_DIRECTORIES(archive PUBLIC .) - TARGET_LINK_LIBRARIES(archive ${ADDITIONAL_LIBS}) --SET_TARGET_PROPERTIES(archive PROPERTIES SOVERSION ${SOVERSION}) -- --# archive_static is a static library --ADD_LIBRARY(archive_static STATIC ${libarchive_SOURCES} ${include_HEADERS}) --TARGET_LINK_LIBRARIES(archive_static ${ADDITIONAL_LIBS}) --SET_TARGET_PROPERTIES(archive_static PROPERTIES COMPILE_DEFINITIONS -+IF(BUILD_SHARED_LIBS) -+ SET_TARGET_PROPERTIES(archive PROPERTIES SOVERSION ${SOVERSION}) -+ELSE() -+ SET_TARGET_PROPERTIES(archive PROPERTIES COMPILE_DEFINITIONS - LIBARCHIVE_STATIC) --# On Posix systems, libarchive.so and libarchive.a can co-exist. --IF(NOT WIN32 OR CYGWIN) -- SET_TARGET_PROPERTIES(archive_static PROPERTIES OUTPUT_NAME archive) --ENDIF(NOT WIN32 OR CYGWIN) -+ENDIF() - - IF(ENABLE_INSTALL) - # How to install the libraries -- INSTALL(TARGETS archive archive_static -+ INSTALL(TARGETS archive - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib) -- INSTALL_MAN(${libarchive_MANS}) +@@ -267,11 +267,12 @@ IF(ENABLE_INSTALL) + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) ++ ELSE() ++ INSTALL(TARGETS archive_static ++ RUNTIME DESTINATION bin ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib) + ENDIF(BUILD_SHARED_LIBS) +- INSTALL(TARGETS archive_static +- RUNTIME DESTINATION bin +- LIBRARY DESTINATION lib +- ARCHIVE DESTINATION lib) + INSTALL_MAN(${libarchive_MANS}) INSTALL(FILES ${include_HEADERS} DESTINATION include) ENDIF() - diff --git a/ports/libarchive/fix-deps.patch b/ports/libarchive/fix-deps.patch index 18315bf1ee85bd..bc148475fa474c 100644 --- a/ports/libarchive/fix-deps.patch +++ b/ports/libarchive/fix-deps.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 3539519..95b44ba 100644 +index dc61b28..7dcdefd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -407,6 +407,8 @@ IF(DEFINED __GNUWIN32PATH AND EXISTS "${__GNUWIN32PATH}") +@@ -446,6 +446,8 @@ IF(DEFINED __GNUWIN32PATH AND EXISTS "${__GNUWIN32PATH}") ENDIF(DEFINED __GNUWIN32PATH AND EXISTS "${__GNUWIN32PATH}") SET(ADDITIONAL_LIBS "") @@ -11,7 +11,7 @@ index 3539519..95b44ba 100644 # # Find ZLIB # -@@ -420,6 +422,7 @@ IF(ZLIB_FOUND) +@@ -462,6 +464,7 @@ IF(ZLIB_FOUND) SET(HAVE_ZLIB_H 1) INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR}) LIST(APPEND ADDITIONAL_LIBS ${ZLIB_LIBRARIES}) @@ -19,7 +19,7 @@ index 3539519..95b44ba 100644 IF(WIN32 AND NOT CYGWIN) SET(ZLIB_WINAPI OFF) # skip following test, it crashes with weird message box IF(ZLIB_WINAPI) -@@ -452,6 +455,7 @@ IF(BZIP2_FOUND) +@@ -494,6 +497,7 @@ IF(BZIP2_FOUND) SET(HAVE_BZLIB_H 1) INCLUDE_DIRECTORIES(${BZIP2_INCLUDE_DIR}) LIST(APPEND ADDITIONAL_LIBS ${BZIP2_LIBRARIES}) @@ -27,17 +27,16 @@ index 3539519..95b44ba 100644 # Test if a macro is needed for the library. TRY_MACRO_FOR_LIBRARY( "${BZIP2_INCLUDE_DIR}" "${BZIP2_LIBRARIES}" -@@ -480,6 +484,9 @@ ENDIF() +@@ -522,6 +526,8 @@ ENDIF() IF(LIBLZMA_FOUND) SET(HAVE_LIBLZMA 1) SET(HAVE_LZMA_H 1) + LIST(APPEND ADDITIONAL_LIBS LibLZMA::LibLZMA) + STRING(APPEND LIBSREQUIRED " liblzma") -+elseif(0) CMAKE_PUSH_CHECK_STATE() - INCLUDE_DIRECTORIES(${LIBLZMA_INCLUDE_DIRS}) - LIST(APPEND ADDITIONAL_LIBS ${LIBLZMA_LIBRARIES}) -@@ -521,6 +528,7 @@ IF(LZO2_FOUND) + SET(CMAKE_REQUIRED_INCLUDES ${LIBLZMA_INCLUDE_DIR}) + SET(CMAKE_REQUIRED_LIBRARIES ${LIBLZMA_LIBRARIES}) +@@ -569,6 +575,7 @@ IF(LZO2_FOUND) SET(HAVE_LZO_LZO1X_H 1) INCLUDE_DIRECTORIES(${LZO2_INCLUDE_DIR}) LIST(APPEND ADDITIONAL_LIBS ${LZO2_LIBRARY}) @@ -45,15 +44,15 @@ index 3539519..95b44ba 100644 # # TODO: test for static library. # -@@ -548,6 +556,7 @@ IF(LIBB2_FOUND) - SET(HAVE_BLAKE2_H 1) +@@ -597,6 +604,7 @@ IF(LIBB2_FOUND) SET(ARCHIVE_BLAKE2 FALSE) LIST(APPEND ADDITIONAL_LIBS ${LIBB2_LIBRARY}) + INCLUDE_DIRECTORIES(${LIBB2_INCLUDE_DIR}) + LIST(APPEND LIBARCHIVE_LIBS_PRIVATE ${LIBB2_LIBRARY}) CMAKE_PUSH_CHECK_STATE() SET(CMAKE_REQUIRED_LIBRARIES ${LIBB2_LIBRARY}) SET(CMAKE_REQUIRED_INCLUDES ${LIBB2_INCLUDE_DIR}) -@@ -560,6 +569,8 @@ ENDIF(LIBB2_FOUND) +@@ -609,6 +617,8 @@ ENDIF(LIBB2_FOUND) # Find LZ4 # IF(ENABLE_LZ4) @@ -62,7 +61,7 @@ index 3539519..95b44ba 100644 IF (LZ4_INCLUDE_DIR) # Already in cache, be silent SET(LZ4_FIND_QUIETLY TRUE) -@@ -575,6 +586,10 @@ ENDIF(ENABLE_LZ4) +@@ -624,6 +634,10 @@ ENDIF(ENABLE_LZ4) IF(LZ4_FOUND) SET(HAVE_LIBLZ4 1) SET(HAVE_LZ4_H 1) @@ -73,7 +72,7 @@ index 3539519..95b44ba 100644 CMAKE_PUSH_CHECK_STATE() # Save the state of the variables SET(CMAKE_REQUIRED_INCLUDES ${LZ4_INCLUDE_DIR}) CHECK_INCLUDE_FILES("lz4hc.h" HAVE_LZ4HC_H) -@@ -591,6 +606,8 @@ MARK_AS_ADVANCED(CLEAR LZ4_LIBRARY) +@@ -640,6 +654,8 @@ MARK_AS_ADVANCED(CLEAR LZ4_LIBRARY) # Find Zstd # IF(ENABLE_ZSTD) @@ -82,31 +81,27 @@ index 3539519..95b44ba 100644 IF (ZSTD_INCLUDE_DIR) # Already in cache, be silent SET(ZSTD_FIND_QUIETLY TRUE) -@@ -610,6 +627,15 @@ ELSE(ENABLE_ZSTD) +@@ -659,6 +675,11 @@ ELSE(ENABLE_ZSTD) ENDIF(ENABLE_ZSTD) IF(ZSTD_FOUND) SET(HAVE_ZSTD_H 1) + SET(HAVE_LIBZSTD 1) -+ SET(HAVE_LIBZSTD_COMPRESSOR 1) -+ IF(TARGET zstd::libzstd_shared) -+ LIST(APPEND ADDITIONAL_LIBS zstd::libzstd_shared) -+ ELSE() -+ LIST(APPEND ADDITIONAL_LIBS zstd::libzstd_static) -+ ENDIF(TARGET zstd::libzstd_shared) ++ SET(HAVE_ZSTD_compressStream 1) ++ LIST(APPEND ADDITIONAL_LIBS zstd::libzstd) + STRING(APPEND LIBSREQUIRED " libzstd") +elseif(0) INCLUDE_DIRECTORIES(${ZSTD_INCLUDE_DIR}) LIST(APPEND ADDITIONAL_LIBS ${ZSTD_LIBRARY}) CMAKE_PUSH_CHECK_STATE() -@@ -718,6 +744,7 @@ IF(ENABLE_CNG) - LA_CHECK_INCLUDE_FILE("Bcrypt.h" HAVE_BCRYPT_H) +@@ -768,6 +789,7 @@ IF(ENABLE_CNG) + LA_CHECK_INCLUDE_FILE("bcrypt.h" HAVE_BCRYPT_H) IF(HAVE_BCRYPT_H) - LIST(APPEND ADDITIONAL_LIBS "Bcrypt") -+ LIST(APPEND LIBARCHIVE_LIBS_PRIVATE "Bcrypt") + LIST(APPEND ADDITIONAL_LIBS "bcrypt") ++ LIST(APPEND LIBARCHIVE_LIBS_PRIVATE "bcrypt") ENDIF(HAVE_BCRYPT_H) ELSE(ENABLE_CNG) UNSET(HAVE_BCRYPT_H CACHE) -@@ -749,6 +776,7 @@ IF(ENABLE_MBEDTLS) +@@ -799,6 +821,7 @@ IF(ENABLE_MBEDTLS) IF(MBEDTLS_FOUND) SET(HAVE_LIBMBEDCRYPTO 1) LIST(APPEND ADDITIONAL_LIBS ${MBEDCRYPTO_LIBRARY}) @@ -114,7 +109,7 @@ index 3539519..95b44ba 100644 INCLUDE_DIRECTORIES(${MBEDTLS_INCLUDE_DIRS}) LIST(APPEND CMAKE_REQUIRED_INCLUDES ${MBEDTLS_INCLUDE_DIRS}) -@@ -769,6 +797,7 @@ IF(ENABLE_NETTLE) +@@ -819,6 +842,7 @@ IF(ENABLE_NETTLE) IF(NETTLE_FOUND) SET(HAVE_LIBNETTLE 1) LIST(APPEND ADDITIONAL_LIBS ${NETTLE_LIBRARIES}) @@ -122,7 +117,7 @@ index 3539519..95b44ba 100644 INCLUDE_DIRECTORIES(${NETTLE_INCLUDE_DIR}) LIST(APPEND CMAKE_REQUIRED_INCLUDES ${NETTLE_INCLUDE_DIR}) -@@ -792,8 +821,8 @@ IF(ENABLE_OPENSSL AND NOT CMAKE_SYSTEM_NAME MATCHES "Darwin") +@@ -842,8 +866,8 @@ IF(ENABLE_OPENSSL AND NOT CMAKE_SYSTEM_NAME MATCHES "Darwin") FIND_PACKAGE(OpenSSL) IF(OPENSSL_FOUND) SET(HAVE_LIBCRYPTO 1) @@ -130,10 +125,10 @@ index 3539519..95b44ba 100644 - LIST(APPEND ADDITIONAL_LIBS ${OPENSSL_CRYPTO_LIBRARY}) + LIST(APPEND ADDITIONAL_LIBS OpenSSL::Crypto) + STRING(APPEND LIBSREQUIRED " libcrypto") - ENDIF(OPENSSL_FOUND) - ELSE() - SET(OPENSSL_FOUND FALSE) # Override cached value -@@ -807,6 +836,7 @@ IF(NOT OPENSSL_FOUND) + SET(CMAKE_REQUIRED_LIBRARIES ${OPENSSL_CRYPTO_LIBRARY}) + SET(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR}) + LA_CHECK_INCLUDE_FILE("openssl/evp.h" HAVE_OPENSSL_EVP_H) +@@ -861,6 +885,7 @@ IF(NOT OPENSSL_FOUND) SET(CMAKE_REQUIRED_LIBRARIES "md") FIND_LIBRARY(LIBMD_LIBRARY NAMES md) LIST(APPEND ADDITIONAL_LIBS ${LIBMD_LIBRARY}) @@ -141,7 +136,7 @@ index 3539519..95b44ba 100644 CMAKE_POP_CHECK_STATE() # Restore the state of the variables ENDIF(LIBMD_FOUND) ENDIF(NOT OPENSSL_FOUND) -@@ -912,7 +942,8 @@ main(int argc, char **argv) +@@ -974,7 +999,8 @@ main(int argc, char **argv) IF ("${IMPLEMENTATION}" MATCHES "^OPENSSL$" AND OPENSSL_FOUND) INCLUDE_DIRECTORIES(${OPENSSL_INCLUDE_DIR}) LIST(APPEND ADDITIONAL_LIBS ${OPENSSL_LIBRARIES}) @@ -151,7 +146,7 @@ index 3539519..95b44ba 100644 ENDIF ("${IMPLEMENTATION}" MATCHES "^OPENSSL$" AND OPENSSL_FOUND) ENDIF (ARCHIVE_CRYPTO_${ALGORITHM}_${IMPLEMENTATION}) ENDIF(NOT ARCHIVE_CRYPTO_${ALGORITHM}) -@@ -1086,6 +1117,7 @@ IF(ENABLE_ICONV) +@@ -1148,6 +1174,7 @@ IF(ENABLE_ICONV) CHECK_ICONV("libiconv" "") IF (HAVE_ICONV) LIST(APPEND ADDITIONAL_LIBS ${LIBICONV_PATH}) @@ -159,7 +154,7 @@ index 3539519..95b44ba 100644 ENDIF(HAVE_ICONV) ENDIF(NOT HAVE_ICONV AND LIBICONV_PATH) ENDIF(ICONV_INCLUDE_DIR) -@@ -1119,6 +1151,7 @@ IF(ENABLE_ICONV) +@@ -1181,6 +1208,7 @@ IF(ENABLE_ICONV) ENDIF(WIN32 AND NOT CYGWIN) IF(HAVE_LOCALE_CHARSET) LIST(APPEND ADDITIONAL_LIBS ${LIBCHARSET_PATH}) @@ -167,7 +162,7 @@ index 3539519..95b44ba 100644 ENDIF(HAVE_LOCALE_CHARSET) ENDIF(LIBCHARSET_PATH) ENDIF(LIBICONV_PATH) -@@ -1152,6 +1185,7 @@ IF(LIBXML2_FOUND) +@@ -1214,6 +1242,7 @@ IF(LIBXML2_FOUND) CMAKE_PUSH_CHECK_STATE() # Save the state of the variables INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR}) LIST(APPEND ADDITIONAL_LIBS ${LIBXML2_LIBRARIES}) @@ -175,7 +170,7 @@ index 3539519..95b44ba 100644 SET(HAVE_LIBXML2 1) # libxml2's include files use iconv.h SET(CMAKE_REQUIRED_INCLUDES ${ICONV_INCLUDE_DIR} ${LIBXML2_INCLUDE_DIR}) -@@ -1181,6 +1215,7 @@ ELSE(LIBXML2_FOUND) +@@ -1243,6 +1272,7 @@ ELSE(LIBXML2_FOUND) CMAKE_PUSH_CHECK_STATE() # Save the state of the variables INCLUDE_DIRECTORIES(${EXPAT_INCLUDE_DIR}) LIST(APPEND ADDITIONAL_LIBS ${EXPAT_LIBRARIES}) @@ -183,7 +178,7 @@ index 3539519..95b44ba 100644 SET(HAVE_LIBEXPAT 1) LA_CHECK_INCLUDE_FILE("expat.h" HAVE_EXPAT_H) CMAKE_POP_CHECK_STATE() # Restore the state of the variables -@@ -1211,6 +1246,7 @@ IF(POSIX_REGEX_LIB MATCHES "^(AUTO|LIBC|LIBREGEX)$") +@@ -1273,6 +1303,7 @@ IF(POSIX_REGEX_LIB MATCHES "^(AUTO|LIBC|LIBREGEX)$") CHECK_FUNCTION_EXISTS_GLIBC(regcomp HAVE_REGCOMP_LIBREGEX) IF(HAVE_REGCOMP_LIBREGEX) LIST(APPEND ADDITIONAL_LIBS ${REGEX_LIBRARY}) @@ -191,7 +186,7 @@ index 3539519..95b44ba 100644 # # If regex.h is not found, retry looking for regex.h at # REGEX_INCLUDE_DIR -@@ -1260,6 +1296,7 @@ IF(NOT FOUND_POSIX_REGEX_LIB AND POSIX_REGEX_LIB MATCHES "^(AUTO|LIBPCREPOSIX)$" +@@ -1322,6 +1353,7 @@ IF(NOT FOUND_POSIX_REGEX_LIB AND POSIX_REGEX_LIB MATCHES "^(AUTO|LIBPCREPOSIX)$" IF(PCREPOSIX_FOUND) INCLUDE_DIRECTORIES(${PCRE_INCLUDE_DIR}) LIST(APPEND ADDITIONAL_LIBS ${PCREPOSIX_LIBRARIES}) @@ -199,7 +194,7 @@ index 3539519..95b44ba 100644 # Test if a macro is needed for the library. TRY_MACRO_FOR_LIBRARY( "${PCRE_INCLUDE_DIR}" "${PCREPOSIX_LIBRARIES}" -@@ -1271,6 +1308,7 @@ IF(NOT FOUND_POSIX_REGEX_LIB AND POSIX_REGEX_LIB MATCHES "^(AUTO|LIBPCREPOSIX)$" +@@ -1333,6 +1365,7 @@ IF(NOT FOUND_POSIX_REGEX_LIB AND POSIX_REGEX_LIB MATCHES "^(AUTO|LIBPCREPOSIX)$" ELSEIF(NOT WITHOUT_PCRE_STATIC AND NOT PCRE_STATIC AND PCRE_FOUND) # Determine if pcre static libraries are to be used. LIST(APPEND ADDITIONAL_LIBS ${PCRE_LIBRARIES}) @@ -207,7 +202,7 @@ index 3539519..95b44ba 100644 SET(TMP_LIBRARIES ${PCREPOSIX_LIBRARIES} ${PCRE_LIBRARIES}) MESSAGE(STATUS "trying again with -lpcre included") TRY_MACRO_FOR_LIBRARY( -@@ -1286,6 +1324,7 @@ IF(NOT FOUND_POSIX_REGEX_LIB AND POSIX_REGEX_LIB MATCHES "^(AUTO|LIBPCREPOSIX)$" +@@ -1348,6 +1381,7 @@ IF(NOT FOUND_POSIX_REGEX_LIB AND POSIX_REGEX_LIB MATCHES "^(AUTO|LIBPCREPOSIX)$" # ___chkstk_ms. MESSAGE(STATUS "Visual Studio build detected, trying again with -lgcc included") LIST(APPEND ADDITIONAL_LIBS ${LIBGCC_LIBRARIES}) @@ -215,7 +210,7 @@ index 3539519..95b44ba 100644 SET(TMP_LIBRARIES ${PCREPOSIX_LIBRARIES} ${PCRE_LIBRARIES} ${LIBGCC_LIBRARIES}) TRY_MACRO_FOR_LIBRARY( "${PCRE_INCLUDE_DIR}" "${TMP_LIBRARIES}" -@@ -1805,6 +1844,7 @@ IF(ENABLE_ACL) +@@ -1919,6 +1953,7 @@ IF(ENABLE_ACL) SET(CMAKE_REQUIRED_LIBRARIES "acl") FIND_LIBRARY(ACL_LIBRARY NAMES acl) LIST(APPEND ADDITIONAL_LIBS ${ACL_LIBRARY}) @@ -223,7 +218,7 @@ index 3539519..95b44ba 100644 ENDIF(HAVE_LIBACL) CHECK_TYPE_EXISTS(acl_t "sys/types.h;sys/acl.h" HAVE_ACL_T) -@@ -1944,6 +1984,7 @@ int main(void) { return ACL_SYNCHRONIZE; }" HAVE_DECL_ACL_SYNCHRONIZE) +@@ -2058,6 +2093,7 @@ int main(void) { return ACL_SYNCHRONIZE; }" HAVE_DECL_ACL_SYNCHRONIZE) SET(CMAKE_REQUIRED_LIBRARIES "richacl") FIND_LIBRARY(RICHACL_LIBRARY NAMES richacl) LIST(APPEND ADDITIONAL_LIBS ${RICHACL_LIBRARY}) diff --git a/ports/libarchive/portfile.cmake b/ports/libarchive/portfile.cmake index 3a6224c70d4706..ae0a2419f3eccf 100644 --- a/ports/libarchive/portfile.cmake +++ b/ports/libarchive/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libarchive/libarchive REF "v${VERSION}" - SHA512 07339d54e8e82c0a13c69590e1653a5734fcd06ca3d01b2087a09c3d55e29e5ed4e16c5ef7ca44258f049c7b2de6245315be2c8b043f8db68515750649daafbe + SHA512 95c6232d178b26daa0eeba43d64ea4235aa96fa279c85fff715ac5e6cc73b2e65f276770f91c3538cb8ca989380555169497628d73e120bfa52e12f657049ff0 HEAD_REF master PATCHES disable-warnings.patch @@ -51,10 +51,12 @@ vcpkg_cmake_configure( -DENABLE_ZLIB=ON -DENABLE_PCREPOSIX=OFF -DPOSIX_REGEX_LIB=NONE + -DENABLE_MBEDTLS=OFF -DENABLE_NETTLE=OFF -DENABLE_EXPAT=OFF -DENABLE_LibGCC=OFF -DENABLE_CNG=OFF + -DENABLE_UNZIP=OFF -DENABLE_TAR=OFF -DENABLE_CPIO=OFF -DENABLE_CAT=OFF @@ -80,7 +82,11 @@ vcpkg_copy_pdbs() configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-cmake-wrapper.cmake" @ONLY) -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/share/man" +) foreach(header "include/archive.h" "include/archive_entry.h") vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/${header}" "(!defined LIBARCHIVE_STATIC)" "0") diff --git a/ports/libarchive/usage b/ports/libarchive/usage index ff8a1fb0b6d509..75ccb94e90fc25 100644 --- a/ports/libarchive/usage +++ b/ports/libarchive/usage @@ -1,8 +1,9 @@ -The package libarchive is compatible with the CMake Find Module: +libarchive is compatible with the CMake Find Module: - find_package(LibArchive REQUIRED) - target_include_directories(main PRIVATE ${LibArchive_INCLUDE_DIRS}) - target_link_libraries(main PRIVATE ${LibArchive_LIBRARIES}) + find_package(LibArchive REQUIRED) + target_link_libraries(main PRIVATE LibArchive::LibArchive) # since CMake 3.17 - find_package(LibArchive REQUIRED) - target_link_libraries(main PRIVATE LibArchive::LibArchive) # CMake >= 3.17 +libarchive provides pkg-config modules: + + # library that can create and read several streaming archive formats + libarchive diff --git a/ports/libarchive/vcpkg-cmake-wrapper.cmake.in b/ports/libarchive/vcpkg-cmake-wrapper.cmake.in index 12c9c57eca9672..e23a0936b7c12c 100644 --- a/ports/libarchive/vcpkg-cmake-wrapper.cmake.in +++ b/ports/libarchive/vcpkg-cmake-wrapper.cmake.in @@ -15,23 +15,23 @@ if(LibArchive_FOUND AND "@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static") set(z_vcpkg_libarchive_libs "") find_package(ZLIB ${z_vcpkg_libarchive_args}) list(APPEND z_vcpkg_libarchive_libs ZLIB::ZLIB) - if(@ENABLE_BZip2@) + if("@ENABLE_BZip2@") find_package(BZip2 ${z_vcpkg_libarchive_args}) list(APPEND z_vcpkg_libarchive_libs BZip2::BZip2) endif() - if(@ENABLE_LIBXML2@) + if("@ENABLE_LIBXML2@") find_package(LibXml2 ${z_vcpkg_libarchive_args}) list(APPEND z_vcpkg_libarchive_libs LibXml2::LibXml2) endif() - if(@ENABLE_LZ4@) + if("@ENABLE_LZ4@") find_package(lz4 CONFIG ${z_vcpkg_libarchive_args}) list(APPEND z_vcpkg_libarchive_libs lz4::lz4) endif() - if(@ENABLE_LZMA@) + if("@ENABLE_LZMA@") find_package(LibLZMA ${z_vcpkg_libarchive_args}) list(APPEND z_vcpkg_libarchive_libs LibLZMA::LibLZMA) endif() - if(@ENABLE_LZO@) + if("@ENABLE_LZO@") include(SelectLibraryConfigurations) find_library(Z_VCPKG_LZO_LIBRARY_DEBUG NAMES lzo2d lzo2 NAMES_PER_DIR PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib" NO_DEFAULT_PATH) find_library(Z_VCPKG_LZO_LIBRARY_RELEASE NAMES lzo2 NAMES_PER_DIR PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib" NO_DEFAULT_PATH) @@ -42,15 +42,11 @@ if(LibArchive_FOUND AND "@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static") set(LibArchive_FOUND FALSE) endif() endif() - if(@ENABLE_ZSTD@) + if("@ENABLE_ZSTD@") find_package(zstd ${z_vcpkg_libarchive_args}) - if(TARGET zstd::libzstd_shared) - list(APPEND z_vcpkg_libarchive_libs zstd::libzstd_shared) - else(TARGET zstd::libzstd_shared) - list(APPEND z_vcpkg_libarchive_libs zstd::libzstd_static) - endif(TARGET zstd::libzstd_shared) + list(APPEND z_vcpkg_libarchive_libs zstd::libzstd) endif() - if(@WRAPPER_ENABLE_OPENSSL@) + if("@WRAPPER_ENABLE_OPENSSL@") find_package(OpenSSL ${z_vcpkg_libarchive_args}) list(APPEND z_vcpkg_libarchive_libs OpenSSL::Crypto) endif() diff --git a/ports/libarchive/vcpkg.json b/ports/libarchive/vcpkg.json index 122222690e784a..80432f209589b6 100644 --- a/ports/libarchive/vcpkg.json +++ b/ports/libarchive/vcpkg.json @@ -1,6 +1,7 @@ { "name": "libarchive", - "version": "3.6.2", + "version": "3.7.7", + "port-version": 2, "description": "Library for reading and writing streaming archives", "homepage": "https://www.libarchive.org", "license": null, @@ -64,19 +65,6 @@ "lzo" ] }, - "openssl": { - "description": "Deprecated. Use feature crypto instead.", - "dependencies": [ - { - "name": "libarchive", - "default-features": false, - "features": [ - "crypto" - ], - "platform": "!osx" - } - ] - }, "zstd": { "description": "Zstd support", "dependencies": [ diff --git a/ports/libass/CMakeLists.txt b/ports/libass/CMakeLists.txt index f4f0aa29999b20..44cd3c256de48f 100644 --- a/ports/libass/CMakeLists.txt +++ b/ports/libass/CMakeLists.txt @@ -1,9 +1,7 @@ cmake_minimum_required(VERSION 3.9) project(libass C) -set(LIBASS_VERSION 0.17.1) - -include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) +include_directories(${CMAKE_CURRENT_SOURCE_DIR}/libass ${CMAKE_CURRENT_BINARY_DIR}) set(CONFIG_FREETYPE 1) set(CONFIG_FRIBIDI 1) diff --git a/ports/libass/portfile.cmake b/ports/libass/portfile.cmake index 0ea90c7fd9f41c..605242e76d34c2 100644 --- a/ports/libass/portfile.cmake +++ b/ports/libass/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libass/libass - REF 0.17.1 - SHA512 8bc83347c87c47577cd52230b3698c34301250e9a23f190a565c913defcd47a05695a4f7d9cd2e9a6ad0cfc6341e8ea2d6d779b1d714b2d6144466d2dea53951 + REF ${VERSION} + SHA512 f58bcb51c993d1725f30e026281fcc9139b6a2207159eac8510a983ba7f85e85b3bb78e24a0d074615f6ec12dbe4b18b1c07f2ba68cd9626470a31a99ff2c714 HEAD_REF master ) @@ -20,6 +20,7 @@ get_filename_component(PKGCONFIG_EXE_PATH ${PKGCONFIG} DIRECTORY) vcpkg_add_to_path(${PKGCONFIG_EXE_PATH}) vcpkg_cmake_configure( + OPTIONS -DLIBASS_VERSION=${VERSION} SOURCE_PATH ${SOURCE_PATH} ) diff --git a/ports/libass/vcpkg.json b/ports/libass/vcpkg.json index 56aac58a6e2819..ac8b71bca080e6 100644 --- a/ports/libass/vcpkg.json +++ b/ports/libass/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libass", - "version": "0.17.1", + "version": "0.17.3", "description": "libass is a portable subtitle renderer for the ASS/SSA (Advanced Substation Alpha/Substation Alpha) subtitle format", "homepage": "https://github.com/libass/libass", "license": "ISC", diff --git a/ports/libassert/portfile.cmake b/ports/libassert/portfile.cmake new file mode 100644 index 00000000000000..fbe6deaadc8223 --- /dev/null +++ b/ports/libassert/portfile.cmake @@ -0,0 +1,30 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO jeremy-rifkin/libassert + REF "v${VERSION}" + SHA512 142d0234aa7e96ac1e59ddc777be0b688170c3f4bb0c068589d949097f33c0e736e1fba6417519f88f8fb09201f25197286a82779b6e740575da57f3369f5f12 + HEAD_REF main +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DLIBASSERT_USE_EXTERNAL_CPPTRACE=ON + -DLIBASSERT_USE_EXTERNAL_MAGIC_ENUM=ON + -DLIBASSERT_BUILD_SHARED=${BUILD_SHARED} +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup( + PACKAGE_NAME libassert + CONFIG_PATH lib/cmake/libassert +) +vcpkg_copy_pdbs() + +file(APPEND "${CURRENT_PACKAGES_DIR}/share/libassert/libassert-config.cmake" "find_dependency(magic_enum)") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/libassert/vcpkg.json b/ports/libassert/vcpkg.json new file mode 100644 index 00000000000000..b0c794994f1eae --- /dev/null +++ b/ports/libassert/vcpkg.json @@ -0,0 +1,20 @@ +{ + "name": "libassert", + "version": "2.1.4", + "description": "The most over-engineered C++ assertion library", + "homepage": "https://github.com/jeremy-rifkin/libassert", + "license": "MIT", + "supports": "!uwp", + "dependencies": [ + "cpptrace", + "magic-enum", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/libassuan/portfile.cmake b/ports/libassuan/portfile.cmake index c840ee2e4fd085..49256d5b4de8c8 100644 --- a/ports/libassuan/portfile.cmake +++ b/ports/libassuan/portfile.cmake @@ -4,32 +4,35 @@ vcpkg_download_distfile(tarball "https://mirrors.dotsrc.org/gcrypt/libassuan/libassuan-${VERSION}.tar.bz2" "https://www.mirrorservice.org/sites/ftp.gnupg.org/gcrypt/libassuan/libassuan-${VERSION}.tar.bz2" FILENAME "libassuan-${VERSION}.tar.bz2" - SHA512 dcca942d222a2c226a7e34ba7988ee0c3c55bd6032166eb472caf2053db89aeeea7a40e93d8c2887c7ee73c5f838e8b0725e8cfb595accc1606646559362f7ee + SHA512 6914a02c20053bae0fc4c29c5c40655f1cec711983d57fa85e46df34e90b10e33d31256dd50ae7c7faa8d8d750a529bf9072da0cda3bdd77ebfedbc0e26e5e16 ) vcpkg_extract_source_archive( SOURCE_PATH ARCHIVE "${tarball}" PATCHES cross-tools.patch + upstream-69069bc.diff ) if(VCPKG_CROSSCOMPILING) set(ENV{HOST_TOOLS_PREFIX} "${CURRENT_HOST_INSTALLED_DIR}/manual-tools/${PORT}") endif() -vcpkg_configure_make( +set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/libgpg-error/aclocal/\"") +vcpkg_make_configure( SOURCE_PATH "${SOURCE_PATH}" - AUTOCONFIG + AUTORECONF OPTIONS --disable-doc - "GPG_ERROR_CONFIG=no" OPTIONS_RELEASE + "GPG_ERROR_CONFIG=${CURRENT_INSTALLED_DIR}/tools/libgpg-error/bin/gpgrt-config gpg-error" "GPGRT_CONFIG=${CURRENT_INSTALLED_DIR}/tools/libgpg-error/bin/gpgrt-config" OPTIONS_DEBUG + "GPG_ERROR_CONFIG=${CURRENT_INSTALLED_DIR}/tools/libgpg-error/debug/bin/gpgrt-config gpg-error" "GPGRT_CONFIG=${CURRENT_INSTALLED_DIR}/tools/libgpg-error/debug/bin/gpgrt-config" ) -vcpkg_install_make() +vcpkg_make_install() vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() @@ -52,4 +55,5 @@ if(NOT VCPKG_CROSSCOMPILING) endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(INSTALL "${SOURCE_PATH}/COPYING.LIB" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING.LIB") diff --git a/ports/libassuan/upstream-69069bc.diff b/ports/libassuan/upstream-69069bc.diff new file mode 100644 index 00000000000000..07a249a399ea66 --- /dev/null +++ b/ports/libassuan/upstream-69069bc.diff @@ -0,0 +1,14 @@ +diff --git a/src/assuan-defs.h b/src/assuan-defs.h +index faf9aae..5052e8e 100644 +--- a/src/assuan-defs.h ++++ b/src/assuan-defs.h +@@ -431,9 +431,6 @@ char *stpcpy (char *dest, const char *src); + #define clearenv _assuan_clearenv + int setenv (const char *name, const char *value, int replace); + #endif +-#ifndef HAVE_PUTC_UNLOCKED +-int putc_unlocked (int c, FILE *stream); +-#endif + + + #define DIM(v) (sizeof(v)/sizeof((v)[0])) diff --git a/ports/libassuan/vcpkg.json b/ports/libassuan/vcpkg.json index 75249750f4dd5d..f9905a01fde951 100644 --- a/ports/libassuan/vcpkg.json +++ b/ports/libassuan/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libassuan", - "version": "2.5.6", + "version": "3.0.1", "description": "A library implementing the so-called Assuan protocol", "homepage": "https://gnupg.org/software/libassuan/index.html", "license": "LGPL-2.1-or-later", @@ -10,6 +10,10 @@ "name": "libassuan", "host": true }, - "libgpg-error" + "libgpg-error", + { + "name": "vcpkg-make", + "host": true + } ] } diff --git a/ports/libatomic-ops/portfile.cmake b/ports/libatomic-ops/portfile.cmake index e18f9f38c64b54..45be0c270f90a3 100644 --- a/ports/libatomic-ops/portfile.cmake +++ b/ports/libatomic-ops/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ivmai/libatomic_ops REF "v${VERSION}" - SHA512 2b33aaaef0b4ed995044ba818b6acfedf1a70efea419338eece90b3cb453d7dba6ca55cd7fb36dce6143ede511284e75b6e17cd773d8da8f32d7888cb029dfd1 + SHA512 6b0ab1c01600346413184f66eaff1f707d1bc46fad9fd52ac855f2c66a55097dfad620c68b898459527142c1eb7ba50fde34498f962f24cec83268500c5bcccb HEAD_REF master ) diff --git a/ports/libatomic-ops/vcpkg.json b/ports/libatomic-ops/vcpkg.json index e5f0099baf9164..b85015f8f222ad 100644 --- a/ports/libatomic-ops/vcpkg.json +++ b/ports/libatomic-ops/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libatomic-ops", - "version": "7.8.0", + "version": "7.8.2", "description": "The atomic_ops project (Atomic memory update operations portable implementation)", "homepage": "https://github.com/ivmai/libatomic_ops", "license": "MIT OR GPL-2.0-or-later", diff --git a/ports/libavif/dependencies.diff b/ports/libavif/dependencies.diff new file mode 100644 index 00000000000000..a543d14a5ddcea --- /dev/null +++ b/ports/libavif/dependencies.diff @@ -0,0 +1,52 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a28e6c3..aaeb5d2 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -248,6 +248,7 @@ if(AVIF_LIBYUV_ENABLED) + target_compile_definitions(avif_obj PRIVATE -DAVIF_LIBYUV_ENABLED=1) + avif_target_link_library(yuv::yuv) + set(AVIF_PKG_CONFIG_EXTRA_LIBS_PRIVATE "${AVIF_PKG_CONFIG_EXTRA_LIBS_PRIVATE} -lyuv") ++ set(AVIF_PKG_CONFIG_EXTRA_REQUIRES_PRIVATE "${AVIF_PKG_CONFIG_EXTRA_REQUIRES_PRIVATE} libjpeg") + set(AVIF_LIB_USE_CXX ON) + endif(AVIF_LIBYUV_ENABLED) + +@@ -849,13 +850,38 @@ if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL) + + # Enable CMake configs in VCPKG mode + if(BUILD_SHARED_LIBS OR VCPKG_TARGET_TRIPLET) +- install(EXPORT ${PROJECT_NAME}-config DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}) ++ install(EXPORT ${PROJECT_NAME}-config DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} FILE ${PROJECT_NAME}-targets.cmake) ++ if(NOT BUILD_SHARED_LIBS) ++ target_include_directories(avif_static PUBLIC $) ++ set(avif_static_link_libs yuv) ++ set(avif_find_dependencies "find_dependency(libyuv CONFIG)\n") ++ if(AVIF_CODEC_AOM_ENABLED) ++ find_package(aom CONFIG REQUIRED) ++ list(APPEND avif_static_link_libs unofficial::aom) ++ string(APPEND avif_find_dependencies "find_dependency(aom CONFIG)\n") ++ endif() ++ if(AVIF_CODEC_DAV1D_ENABLED) ++ list(APPEND avif_static_link_libs ${DAV1D_LIBRARIES} ${CMAKE_DL_LIBS}) ++ endif() ++ if(UNIX OR MINGW) ++ list(APPEND avif_static_link_libs Threads::Threads m) ++ string(APPEND avif_find_dependencies "set(THREADS_PREFER_PTHREAD_FLAG ON)\nfind_dependency(Threads)\n") ++ endif() ++ target_link_libraries(avif_static INTERFACE ${avif_static_link_libs}) ++ endif() ++ file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake" ++"# Generated by vcpkg ++include(CMakeFindDependencyMacro) ++${avif_find_dependencies} ++include(\"\${CMAKE_CURRENT_LIST_DIR}/${PROJECT_NAME}-targets.cmake\") ++") + + include(CMakePackageConfigHelpers) + write_basic_package_version_file( + ${PROJECT_NAME}-config-version.cmake VERSION ${PROJECT_VERSION} COMPATIBILITY SameMajorVersion + ) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake ++ ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} + ) + endif() diff --git a/ports/libavif/disable-source-utf8.patch b/ports/libavif/disable-source-utf8.patch index 486a473c7265ad..3cb92be7a9e8f3 100644 --- a/ports/libavif/disable-source-utf8.patch +++ b/ports/libavif/disable-source-utf8.patch @@ -1,15 +1,15 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6d9431c..29d7d60 100644 +index baf5964..a28e6c3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -161,8 +161,8 @@ elseif(CMAKE_C_COMPILER_ID MATCHES "MSVC") - # A C4556 warning will be generated on violation. - # Commonly used /utf-8 flag assumes UTF-8 for both source and console, which is usually not the case. - # Warnings can be suppressed but there will still be random characters printed to the console. -- /source-charset:utf-8 -- /execution-charset:us-ascii -+ #/source-charset:utf-8 -+ #/execution-charset:us-ascii - ) - else() - message(FATAL_ERROR "libavif: Unknown compiler, bailing out") +@@ -296,8 +296,8 @@ if(MSVC) + # A C4556 warning will be generated on violation. + # Commonly used /utf-8 flag assumes UTF-8 for both source and console, which is usually not the case. + # Warnings can be suppressed but there will still be random characters printed to the console. +- /source-charset:utf-8 +- /execution-charset:us-ascii ++ #/source-charset:utf-8 ++ #/execution-charset:us-ascii + > + ) + endif() diff --git a/ports/libavif/find-dependency.patch b/ports/libavif/find-dependency.patch deleted file mode 100644 index 42498eaf9f5e37..00000000000000 --- a/ports/libavif/find-dependency.patch +++ /dev/null @@ -1,51 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 46c6059..c0c047a 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -660,7 +660,7 @@ endif() - if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL) - install( - TARGETS avif -- EXPORT ${PROJECT_NAME}-config -+ EXPORT ${PROJECT_NAME}-targets - RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" - ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" - LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" -@@ -668,7 +668,7 @@ if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL) - - # Enable CMake configs in VCPKG mode - if(BUILD_SHARED_LIBS OR VCPKG_TARGET_TRIPLET) -- install(EXPORT ${PROJECT_NAME}-config DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}) -+ install(EXPORT ${PROJECT_NAME}-targets DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}) - - include(CMakePackageConfigHelpers) - write_basic_package_version_file( -@@ -677,6 +677,28 @@ if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake - DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} - ) -+ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake.in "@PACKAGE_INIT@\n") -+ if(UNIX AND NOT BUILD_SHARED_LIBS) -+ file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake.in " -+ include(CMakeFindDependencyMacro) -+ set(CMAKE_THREAD_PREFER_PTHREADS ON) -+ set(THREADS_PREFER_PTHREAD_FLAG ON) -+ find_dependency(Threads) -+ ") -+ endif() -+ file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake.in "include(\${CMAKE_CURRENT_LIST_DIR}/${PROJECT_NAME}-targets.cmake)") -+ -+ # Install CMake configuration export file. -+ configure_package_config_file( -+ ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake.in -+ ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake -+ INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} -+ NO_SET_AND_CHECK_MACRO NO_CHECK_REQUIRED_COMPONENTS_MACRO -+ ) -+ install( -+ FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake -+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} -+ ) - endif() - - # Handle both relative and absolute paths (e.g. NixOS) for a relocatable package diff --git a/ports/libavif/portfile.cmake b/ports/libavif/portfile.cmake index 8c38ecce5f110a..58611565c00b7f 100644 --- a/ports/libavif/portfile.cmake +++ b/ports/libavif/portfile.cmake @@ -2,39 +2,36 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO AOMediaCodec/libavif REF "v${VERSION}" - SHA512 f7c35e40f9214314afeae69d5da6ab345e6dbd025e737a920ea4270452cdf7ff7010d7af5cc18d27e93b217114eb6b613cd349703d0e1bb7814dbeb84a9fd70f + SHA512 ba72b8d02b098f361643a073361fccafd22eaac14e46dd06378d5e7acd9853538c5d166473e1de0b020de62dac25be83e42bd57ba51f675d11e2ddf155fbfa21 HEAD_REF master PATCHES + dependencies.diff disable-source-utf8.patch - find-dependency.patch # from https://github.com/AOMediaCodec/libavif/pull/1339 ) +file(REMOVE_RECURSE "${SOURCE_PATH}/third_party") -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - FEATURES - aom AVIF_CODEC_AOM -) +set(FEATURE_OPTIONS "") +if("aom" IN_LIST FEATURES) + list(APPEND FEATURE_OPTIONS "-DAVIF_CODEC_AOM=SYSTEM") +endif() +if("dav1d" IN_LIST FEATURES) + list(APPEND FEATURE_OPTIONS "-DAVIF_CODEC_DAV1D=SYSTEM") +endif() + +vcpkg_find_acquire_program(PKGCONFIG) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DAVIF_BUILD_APPS=OFF - -DCMAKE_REQUIRE_FIND_PACKAGE_libyuv=ON ${FEATURE_OPTIONS} + "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" ) - vcpkg_cmake_install() - vcpkg_copy_pdbs() - -# Move cmake configs -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) - -# Fix pkg-config files vcpkg_fixup_pkgconfig() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) -# Remove duplicate files file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") -# Handle copyright vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/libavif/vcpkg.json b/ports/libavif/vcpkg.json index a48eb6e711f924..e2212eeef1a049 100644 --- a/ports/libavif/vcpkg.json +++ b/ports/libavif/vcpkg.json @@ -1,6 +1,7 @@ { "name": "libavif", - "version-semver": "1.0.1", + "version-semver": "1.1.1", + "port-version": 1, "description": "Library for encoding and decoding AVIF files", "homepage": "https://github.com/AOMediaCodec/libavif", "license": "BSD-2-Clause AND Apache-2.0", @@ -21,6 +22,12 @@ "dependencies": [ "aom" ] + }, + "dav1d": { + "description": "dav1d decoder library", + "dependencies": [ + "dav1d" + ] } } } diff --git a/ports/libb2/portfile.cmake b/ports/libb2/portfile.cmake index 452218f2804874..f387a69b5dc14d 100644 --- a/ports/libb2/portfile.cmake +++ b/ports/libb2/portfile.cmake @@ -6,24 +6,17 @@ vcpkg_from_github( HEAD_REF master ) -set(OPTIONS) -if(CMAKE_HOST_WIN32) - set(OPTIONS --disable-native) # requires cpuid -endif() - -vcpkg_configure_make( - AUTOCONFIG - SOURCE_PATH ${SOURCE_PATH} +vcpkg_make_configure( + AUTORECONF + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - ax_cv_check_cflags___O3=no # see https://github.com/microsoft/vcpkg/pull/17912#issuecomment-840514179 - ${OPTIONS} + --disable-native # toolchain may supply -march=native + ax_cv_check_cflags___O3=no # vcpkg provides actual flag ) -vcpkg_install_make() +vcpkg_make_install() vcpkg_fixup_pkgconfig() - - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - vcpkg_copy_pdbs() -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/libb2/vcpkg.json b/ports/libb2/vcpkg.json index e8ef8ec0578ee2..9b3ca94fe2da8b 100644 --- a/ports/libb2/vcpkg.json +++ b/ports/libb2/vcpkg.json @@ -1,8 +1,13 @@ { "name": "libb2", "version": "0.98.1", - "port-version": 6, + "port-version": 7, "description": "C library providing BLAKE2b, BLAKE2s, BLAKE2bp, BLAKE2sp", "homepage": "https://github.com/BLAKE2/libb2", - "supports": "!windows" + "dependencies": [ + { + "name": "vcpkg-make", + "host": true + } + ] } diff --git a/ports/libbacktrace/portfile.cmake b/ports/libbacktrace/portfile.cmake index 1931568fc7f294..247cff145c0ad1 100644 --- a/ports/libbacktrace/portfile.cmake +++ b/ports/libbacktrace/portfile.cmake @@ -5,15 +5,15 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ianlancetaylor/libbacktrace - REF 4f57c999716847e45505b3df170150876b545088 - SHA512 1df2c9d3c119a2ec7b8b8940bff7ba6d28fe99587f565066ae25c216021431d3c26c8b336c38dd0490165244c66d68f9cba20dfc7836042b62f9d588946be4b5 + REF 1db85642e3fca189cf4e076f840a45d6934b2456 + SHA512 a7f7a1233f551326e4ae1ba91db0fb905cf2737c20284c9aaf26cfe448b2a54efeaaa678e3abccbe0856c2a19019412208da7c1a82d319a58fe4d66d0a952aa0 ) vcpkg_configure_make( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG ) - vcpkg_install_make() vcpkg_fixup_pkgconfig() -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/libbacktrace/vcpkg.json b/ports/libbacktrace/vcpkg.json index 4136d4f6b87108..3f9bcf97be4e58 100644 --- a/ports/libbacktrace/vcpkg.json +++ b/ports/libbacktrace/vcpkg.json @@ -1,8 +1,8 @@ { "name": "libbacktrace", - "version-date": "2021-03-14", - "port-version": 1, + "version-date": "2024-11-30", "description": "The libbacktrace library may be linked into a program or library and used to produce symbolic backtraces.", "homepage": "https://github.com/ianlancetaylor/libbacktrace", + "license": "BSD-3-Clause", "supports": "!windows" } diff --git a/ports/libbson/disable-dynamic-when-static.patch b/ports/libbson/disable-dynamic-when-static.patch deleted file mode 100644 index 4bf375b05c17e7..00000000000000 --- a/ports/libbson/disable-dynamic-when-static.patch +++ /dev/null @@ -1,44 +0,0 @@ -diff --git a/src/libbson/CMakeLists.txt b/src/libbson/CMakeLists.txt -index 61e926747..6b4c5a911 100644 ---- a/src/libbson/CMakeLists.txt -+++ b/src/libbson/CMakeLists.txt -@@ -205,6 +205,7 @@ set (HEADERS_FORWARDING - ${PROJECT_SOURCE_DIR}/src/bson/forwarding/bson.h - ) - -+if(NOT MONGOC_ENABLE_STATIC_BUILD) - add_library (bson_shared SHARED ${SOURCES} ${HEADERS} ${HEADERS_FORWARDING}) - if (MSVC AND MSVC_VERSION VERSION_LESS 1900) - message (STATUS "Disabling warning C4756 for VS 2013 and older") -@@ -282,6 +283,7 @@ if (WIN32) - # must be handled specially since we can't resolve them - set (BSON_SYSTEM_LIBRARIES ${BSON_SYSTEM_LIBRARIES} ws2_32) - endif () -+endif() - - if (MONGOC_ENABLE_STATIC_BUILD) - add_library (bson_static STATIC ${SOURCES} ${HEADERS} ${HEADERS_FORWARDING}) -@@ -367,7 +369,7 @@ set (BSON_HEADER_INSTALL_DIR - ) - - if (MONGOC_ENABLE_STATIC_INSTALL) -- set (TARGETS_TO_INSTALL bson_shared bson_static) -+ set (TARGETS_TO_INSTALL bson_static) - else () - set (TARGETS_TO_INSTALL bson_shared) - endif () -@@ -418,12 +420,14 @@ configure_file ( - ${CMAKE_CURRENT_BINARY_DIR}/src/libbson-1.0.pc - @ONLY) - -+if(NOT MONGOC_ENABLE_STATIC_INSTALL) - install ( - FILES - ${CMAKE_CURRENT_BINARY_DIR}/src/libbson-1.0.pc - DESTINATION - ${CMAKE_INSTALL_LIBDIR}/pkgconfig - ) -+endif() - - if (MONGOC_ENABLE_STATIC_INSTALL) - configure_file ( diff --git a/ports/libbson/fix-include-directory.patch b/ports/libbson/fix-include-directory.patch index 02a35320dcbb91..398644f90ccdab 100644 --- a/ports/libbson/fix-include-directory.patch +++ b/ports/libbson/fix-include-directory.patch @@ -1,33 +1,13 @@ diff --git a/src/libbson/CMakeLists.txt b/src/libbson/CMakeLists.txt -index 88de79a..c3cfd7e 100644 +index e3eaca4..ef3644b 100644 --- a/src/libbson/CMakeLists.txt +++ b/src/libbson/CMakeLists.txt -@@ -347,7 +347,7 @@ if (ENABLE_EXAMPLES) - endif () # ENABLE_EXAMPLES +@@ -302,7 +302,7 @@ endif () # ENABLE_EXAMPLES + # 8888888 888 888 88888P' "Y888 "Y888888 888 888 set (BSON_HEADER_INSTALL_DIR - "${CMAKE_INSTALL_INCLUDEDIR}/libbson-${BSON_API_VERSION}" + "${CMAKE_INSTALL_INCLUDEDIR}" ) - - if (MONGOC_ENABLE_STATIC_INSTALL) -diff --git a/src/libbson/src/libbson-1.0.pc.in b/src/libbson/src/libbson-1.0.pc.in -index b65abbc..33346f3 100644 ---- a/src/libbson/src/libbson-1.0.pc.in -+++ b/src/libbson/src/libbson-1.0.pc.in -@@ -7,4 +7,4 @@ Name: libbson - Description: The libbson BSON serialization library. - Version: @VERSION@ - Libs: -L${libdir} -lbson-@BSON_API_VERSION@ --Cflags: -I${includedir}/libbson-@BSON_API_VERSION@ -+Cflags: -I${includedir} -diff --git a/src/libbson/src/libbson-static-1.0.pc.in b/src/libbson/src/libbson-static-1.0.pc.in -index 6ee58d0..e03a95b 100644 ---- a/src/libbson/src/libbson-static-1.0.pc.in -+++ b/src/libbson/src/libbson-static-1.0.pc.in -@@ -7,4 +7,4 @@ Name: libbson static archive - Description: The libbson BSON serialization library. - Version: @VERSION@ - Libs: -L${libdir} -lbson-static-@BSON_API_VERSION@ @LIBBSON_LIBRARIES@ --Cflags: -I${includedir}/libbson-@BSON_API_VERSION@ -DBSON_STATIC -+Cflags: -I${includedir} -DBSON_STATIC + function(install_export_target target) + # Tell pkg-config where the headers are going: diff --git a/ports/libbson/fix-missing-header.patch b/ports/libbson/fix-missing-header.patch deleted file mode 100644 index eee0e1907bb244..00000000000000 --- a/ports/libbson/fix-missing-header.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/src/libbson/CMakeLists.txt b/src/libbson/CMakeLists.txt -index 61e926747..715b304c0 100644 ---- a/src/libbson/CMakeLists.txt -+++ b/src/libbson/CMakeLists.txt -@@ -181,6 +181,7 @@ set (HEADERS - ${PROJECT_SOURCE_DIR}/src/bson/bson-compat.h - ${PROJECT_SOURCE_DIR}/src/bson/bson-context.h - ${PROJECT_SOURCE_DIR}/src/bson/bson-decimal128.h -+ ${PROJECT_SOURCE_DIR}/src/bson/bson-dsl.h # mongo-c-driver build time only - ${PROJECT_SOURCE_DIR}/src/bson/bson-endian.h - ${PROJECT_SOURCE_DIR}/src/bson/bson-error.h - ${PROJECT_SOURCE_DIR}/src/bson/bson.h diff --git a/ports/libbson/portfile.cmake b/ports/libbson/portfile.cmake index 38341d152ec0a6..35301400e30011 100644 --- a/ports/libbson/portfile.cmake +++ b/ports/libbson/portfile.cmake @@ -1,29 +1,28 @@ -# This port needs to be updated at the same time as mongo-c-driver - -vcpkg_minimum_required(VERSION 2022-10-12) # for ${VERSION} - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mongodb/mongo-c-driver REF "${VERSION}" - SHA512 242416638bf6722ccda67ecc15cf78f8531f1a4ae0e89fd66cde74221d7b98b859442f5b70628802972961e69156fd7afcc916d7a83cc134d5723eb0b6e15cc9 + SHA512 8624966472603d5a20b2b01488660897b3ba9910fb69a41996852836bd5d4eb7e2c7fcfba3bdfcb01715ed83d08c7f9e93f98b59d1fe88f67f1a5a7de9b0a42e HEAD_REF master PATCHES - disable-dynamic-when-static.patch fix-include-directory.patch # vcpkg legacy decision - fix-missing-header.patch # for building mongo-c-driver ) file(WRITE "${SOURCE_PATH}/VERSION_CURRENT" "${VERSION}") # Cannot use string(COMPARE EQUAL ...) set(ENABLE_STATIC OFF) +set(ENABLE_SHARED OFF) if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") set(ENABLE_STATIC ON) +else() + set(ENABLE_SHARED ON) endif() vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" + DISABLE_PARALLEL_CONFIGURE # because it writes the file VERSION_CURRENT in the source directory OPTIONS + "-DBUILD_VERSION=${VERSION}" -DENABLE_BSON=ON -DENABLE_EXAMPLES=OFF -DENABLE_ICU=OFF @@ -33,10 +32,15 @@ vcpkg_cmake_configure( -DENABLE_SRV=OFF -DENABLE_SSL=OFF -DENABLE_STATIC=${ENABLE_STATIC} + -DENABLE_SHARED=${ENABLE_SHARED} -DENABLE_TESTS=OFF -DENABLE_UNINSTALL=OFF -DENABLE_ZLIB=SYSTEM -DENABLE_ZSTD=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_Python=ON + -DCMAKE_DISABLE_FIND_PACKAGE_Python3=ON + MAYBE_UNUSED_VARIABLES + ENABLE_ICU ) vcpkg_cmake_install() vcpkg_copy_pdbs() diff --git a/ports/libbson/vcpkg.json b/ports/libbson/vcpkg.json index ba4d23c8a9676c..2adb777f71993f 100644 --- a/ports/libbson/vcpkg.json +++ b/ports/libbson/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libbson", - "version": "1.24.3", + "version": "1.29.2", "description": "libbson is a library providing useful routines related to building, parsing, and iterating BSON documents.", "homepage": "https://github.com/mongodb/mongo-c-driver/tree/master/src/libbson", "license": null, diff --git a/ports/libcaer/fix-libusb.diff b/ports/libcaer/fix-libusb.diff index d95120ccffc2d5..926f77fb1c76b6 100644 --- a/ports/libcaer/fix-libusb.diff +++ b/ports/libcaer/fix-libusb.diff @@ -1,17 +1,62 @@ diff --git a/cmakemod/libcaerConfig.cmake.in b/cmakemod/libcaerConfig.cmake.in -index cdf9f88..475d543 100644 +index cdf9f88..f0a17ba 100644 --- a/cmakemod/libcaerConfig.cmake.in +++ b/cmakemod/libcaerConfig.cmake.in -@@ -21,6 +21,12 @@ +@@ -21,6 +21,10 @@ CMAKE_POLICY(PUSH) CMAKE_POLICY(VERSION 3.10) +include(CMakeFindDependencyMacro) -+if(NOT "@CC_MSVC@") -+ find_dependency(PkgConfig) -+ pkg_check_modules(libusb REQUIRED IMPORTED_TARGET libusb-1.0) -+endif() ++find_dependency(PkgConfig) ++pkg_check_modules(libusb REQUIRED IMPORTED_TARGET libusb-1.0) + INCLUDE(@PACKAGE_export_destination@/libcaer-exports.cmake) SET(libcaer_INCLUDE_DIRS @PACKAGE_include_dirs@) +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3ce94a6..f03d7ae 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -52,16 +52,12 @@ MESSAGE(STATUS "Base libraries: ${BASE_LIBS}") + INCLUDE(FindPkgConfig) + + # Required: basic USB devices support +-IF(CC_MSVC) +- FIND_PACKAGE(libusb CONFIG REQUIRED) +-ELSE() +- PKG_CHECK_MODULES( +- libusb +- REQUIRED +- IMPORTED_TARGET +- libusb-1.0>=1.0.17) +- SET(LIBCAER_PKGCONFIG_REQUIRES_PRIVATE "libusb-1.0 >= 1.0.17") +-ENDIF() ++PKG_CHECK_MODULES( ++ libusb ++ REQUIRED ++ IMPORTED_TARGET ++ libusb-1.0>=1.0.17) ++SET(LIBCAER_PKGCONFIG_REQUIRES_PRIVATE "libusb-1.0 >= 1.0.17") + + # Optional: serial devices support + IF(ENABLE_SERIALDEV) +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 0ef4ac7..6f70a26 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -49,12 +49,11 @@ ENDIF() + + IF(CC_MSVC) + LIST(APPEND LIBCAER_SOURCES ../thirdparty/simple-stdatomic/stdatomic.c) +- INCLUDE_DIRECTORIES(${LIBUSB_INCLUDE_DIRS}) +- LIST(APPEND LIBCAER_LINK_LIBRARIES_PRIVATE ${LIBUSB_LIBRARIES}) +-ELSE() +- LIST(APPEND LIBCAER_LINK_LIBRARIES_PRIVATE PkgConfig::libusb) + ENDIF() + ++LIST(APPEND LIBCAER_LINK_LIBRARIES_PRIVATE PkgConfig::libusb) ++ ++ + # Set full RPATH + SET(CMAKE_INSTALL_RPATH ${USER_LOCAL_PREFIX}/${CMAKE_INSTALL_LIBDIR}) + diff --git a/ports/libcaer/vcpkg.json b/ports/libcaer/vcpkg.json index 8b1a588522cbe2..58d88c9c3b9549 100644 --- a/ports/libcaer/vcpkg.json +++ b/ports/libcaer/vcpkg.json @@ -1,6 +1,7 @@ { "name": "libcaer", "version": "3.3.15", + "port-version": 1, "description": "Minimal C library to access, configure and get data from neuromorphic sensors and processors.", "homepage": "https://gitlab.com/inivation/dv/libcaer", "license": "BSD-2-Clause AND Apache-2.0", diff --git a/ports/libcap/configure b/ports/libcap/configure index 4e7cfe6daab593..a4749cd8d3c981 100755 --- a/ports/libcap/configure +++ b/ports/libcap/configure @@ -19,8 +19,9 @@ cat > Makefile.vcpkg < ++ $ ++ $ ++) ++set_target_properties(cbor PROPERTIES EXPORT_NAME libcbor) + + # Explicitly link math.h if necessary + check_function_exists(ldexp LDEXP_AVAILABLE) +@@ -19,7 +24,6 @@ endif() + + include(GenerateExportHeader) + generate_export_header(cbor EXPORT_FILE_NAME ${CMAKE_CURRENT_BINARY_DIR}/cbor/cbor_export.h) +-target_include_directories(cbor PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/cbor/cbor_export.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/cbor) + + if (NOT ${CBOR_VERSION_MAJOR} EQUAL 0) +@@ -37,6 +41,7 @@ configure_file(libcbor.pc.in libcbor.pc @ONLY) + + # http://www.cmake.org/Wiki/CMake:Install_Commands + install(TARGETS cbor ++ EXPORT libcborTargets + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) +@@ -68,3 +73,6 @@ install( + DESTINATION + ${CMAKE_INSTALL_LIBDIR}/cmake/libcbor + ) ++install(EXPORT libcborTargets ++ NAMESPACE libcbor:: ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libcbor) +diff --git a/src/libcborConfig.cmake.in b/src/libcborConfig.cmake.in +index 565bed3..ef99a74 100644 +--- a/src/libcborConfig.cmake.in ++++ b/src/libcborConfig.cmake.in +@@ -2,7 +2,11 @@ set(CBOR_VERSION @CBOR_VERSION@) + + @PACKAGE_INIT@ + ++include("${CMAKE_CURRENT_LIST_DIR}/libcborTargets.cmake") ++ ++# legacy + set_and_check(CBOR_INCLUDE_DIR "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@") + set_and_check(CBOR_INCLUDE_DIRS "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@") ++set(CBOR_LIBRARIES "libcbor::libcbor") + + check_required_components(libcbor) diff --git a/ports/libcbor/portfile.cmake b/ports/libcbor/portfile.cmake index 40deddffa31063..0edcc3a273c1cb 100644 --- a/ports/libcbor/portfile.cmake +++ b/ports/libcbor/portfile.cmake @@ -2,29 +2,26 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO PJK/libcbor REF "v${VERSION}" - SHA512 23c6177443778d4b4833ec7ed0d0e639a0d4863372e3a38d772fdce2673eae6d5cb2a31a2a021d1a699082ea53494977c907fd0e94149b97cb23a4b6d039228a + SHA512 c14aaa55c0c82e09b9eb2cc6847951d1bac8a081a247776c507d5450367da5717b1056bad09fb0f0178311de8754e8f89c060e0fc0f400fafdc42de441421e66 HEAD_REF master + PATCHES cmake-config.diff ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DWITH_TESTS=OFF - -DWITH_EXAMPLES=OFF - -DVCPKG_VERBOSE=ON + -DCMAKE_POLICY_DEFAULT_CMP0054=NEW -DSANITIZE=OFF - -DCBOR_CUSTOM_ALLOC=ON + -DWITH_EXAMPLES=OFF + -DWITH_TESTS=OFF ) vcpkg_cmake_build() vcpkg_cmake_install() - -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") vcpkg_copy_pdbs() vcpkg_fixup_pkgconfig() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") -# Add Cmake Packagefile -file(COPY "${CMAKE_CURRENT_LIST_DIR}/LibCborConfig.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -# Handle copyright vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") diff --git a/ports/libcbor/vcpkg.json b/ports/libcbor/vcpkg.json index 580477314f5f39..808a94f4f7fc74 100644 --- a/ports/libcbor/vcpkg.json +++ b/ports/libcbor/vcpkg.json @@ -1,6 +1,7 @@ { "name": "libcbor", - "version": "0.10.2", + "version": "0.11.0", + "port-version": 1, "description": "libcbor is a C library for parsing and generating CBOR, the general-purpose schema-less binary data format", "homepage": "https://github.com/PJK/libcbor", "license": "MIT", @@ -8,6 +9,10 @@ { "name": "vcpkg-cmake", "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } ] } diff --git a/ports/libcerf/001-fix-static-build.patch b/ports/libcerf/001-fix-static-build.patch deleted file mode 100644 index ffaeaedfbf4e90..00000000000000 --- a/ports/libcerf/001-fix-static-build.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index f79581f..4fc9457 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -56,6 +56,8 @@ if(MSVC) - # set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin/$) - if(BUILD_SHARED_LIBS) - set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) -+ else() -+ set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MTd") - endif() - else() - add_compile_options(-O2 -Wno-sign-compare -fno-omit-frame-pointer) diff --git a/ports/libcerf/begin-end-decls.diff b/ports/libcerf/begin-end-decls.diff new file mode 100644 index 00000000000000..151d056b925e1b --- /dev/null +++ b/ports/libcerf/begin-end-decls.diff @@ -0,0 +1,44 @@ +diff --git a/lib/cerf.h b/lib/cerf.h +index 28576ab..c9bc6dd 100644 +--- a/lib/cerf.h ++++ b/lib/cerf.h +@@ -55,25 +55,23 @@ + typedef double _Complex _cerf_cmplx; + # endif + +-# undef __BEGIN_DECLS +-# undef __END_DECLS + # ifdef CERF_AS_CPP + # ifndef __cplusplus + impossible_case + # endif +-# define __BEGIN_DECLS +-# define __END_DECLS ++# define LIBCERF_BEGIN_DECLS ++# define LIBCERF_END_DECLS + # else + # ifdef __cplusplus // this include file called from C++ while library is compiled as C +-# define __BEGIN_DECLS extern "C" { +-# define __END_DECLS } ++# define LIBCERF_BEGIN_DECLS extern "C" { ++# define LIBCERF_END_DECLS } + # else +-# define __BEGIN_DECLS +-# define __END_DECLS ++# define LIBCERF_BEGIN_DECLS ++# define LIBCERF_END_DECLS + # endif + # endif + +-__BEGIN_DECLS ++LIBCERF_BEGIN_DECLS + + #if _WIN32 + #define EXPORT __declspec(dllexport) +@@ -111,5 +109,5 @@ EXPORT double voigt(double x, double sigma, double gamma); + // compute the full width at half maximum of the Voigt function + EXPORT double voigt_hwhm(double sigma, double gamma); + +-__END_DECLS ++LIBCERF_END_DECLS + #endif /* __CERF_H__ */ diff --git a/ports/libcerf/cxx-flags.diff b/ports/libcerf/cxx-flags.diff new file mode 100644 index 00000000000000..f571764d53f5a6 --- /dev/null +++ b/ports/libcerf/cxx-flags.diff @@ -0,0 +1,22 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e33ce56..f037190 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -45,16 +45,12 @@ if(MSVC) + message(FATAL_ERROR "Under MSVC, only CERF_CPP=ON is supported") + endif() + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP") # parallel compilation +- set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS}") + set(MS_NOWARN "/wd4018 /wd4068 /wd4101 /wd4244 /wd4267 /wd4305 /wd4715 /wd4996") + set(MS_D "-D_CRT_SECURE_NO_WARNINGS -D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING") +- set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS} ${MS_NOWARN} ${MS_D}") ++ set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${MS_NOWARN} ${MS_D}") + set(CTEST_CONFIGURATION_TYPE "${JOB_BUILD_CONFIGURATION}") + if(BUILD_SHARED_LIBS) + set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) +- else() +- # required for post-build validation under vcpkg: +- set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MTd") # multithreaded, debug + endif() + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) + set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) diff --git a/ports/libcerf/fix-source.diff b/ports/libcerf/fix-source.diff new file mode 100644 index 00000000000000..9b6f82cb5bcdcb --- /dev/null +++ b/ports/libcerf/fix-source.diff @@ -0,0 +1,26 @@ +diff --git a/lib/width.c b/lib/width.c +index 37c3afa..b4b6bda 100644 +--- a/lib/width.c ++++ b/lib/width.c +@@ -47,7 +47,7 @@ using std::isnan; + * Olivero & Longbothum [1977] + * Journal of Quantitative Spectroscopy and Radiative Transfer. 17:233 + */ +-double hwhm0(double sigma, double gamma) ++static double hwhm0(double sigma, double gamma) + { + return .5*(1.06868*gamma+sqrt(0.86743*gamma*gamma+4*2*log(2)*sigma*sigma)); + } +diff --git a/test/widthtest.c b/test/widthtest.c +index b395d34..a44b83f 100644 +--- a/test/widthtest.c ++++ b/test/widthtest.c +@@ -28,7 +28,7 @@ + #include "testtool.h" + + // excellent approximation [Olivero & Longbothum, 1977], used as starting value in voigt_hwhm +-double hwhm0(double sigma, double gamma) ++static double hwhm0(double sigma, double gamma) + { + return .5*(1.06868*gamma+sqrt(0.86743*gamma*gamma+4*2*log(2)*sigma*sigma)); + } diff --git a/ports/libcerf/install-dirs.diff b/ports/libcerf/install-dirs.diff new file mode 100644 index 00000000000000..81e4c766c32564 --- /dev/null +++ b/ports/libcerf/install-dirs.diff @@ -0,0 +1,13 @@ +diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt +index 0a54d5d..e69a984 100644 +--- a/lib/CMakeLists.txt ++++ b/lib/CMakeLists.txt +@@ -38,7 +38,7 @@ target_include_directories(${lib} INTERFACE + install( + TARGETS ${lib} + EXPORT ${intf} +- RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + COMPONENT Libraries) diff --git a/ports/libcerf/portfile.cmake b/ports/libcerf/portfile.cmake index d3b5280fc73104..671562e625cdce 100644 --- a/ports/libcerf/portfile.cmake +++ b/ports/libcerf/portfile.cmake @@ -1,37 +1,32 @@ -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - set(BUILD_SHARED_LIBS ON) -else() - set(BUILD_SHARED_LIBS OFF) -endif() - -vcpkg_download_distfile(ARCHIVE - URLS "https://jugit.fz-juelich.de/mlz/libcerf/uploads/924b8d245ad3461107ec630734dfc781/libcerf-1.13.tgz" - FILENAME "libcerf-1.13.tgz" - SHA512 4df711d3e9fd00de99959c3253a9565d1dc2c41f75a5800ced9c52f89cbd13185fbdca3ad75de788fd16c044082738ab345b7fb6a8820ac588edafe1812944aa +vcpkg_from_gitlab( + OUT_SOURCE_PATH SOURCE_PATH + GITLAB_URL https://jugit.fz-juelich.de + REPO mlz/libcerf + REF "v${VERSION}" + SHA512 0e78a18c498705d5efa26e504932192c4d49485cc3f971235c86c4dc6ca7498063f33e188a55f4c939e25d0d2a2f215b22ef11d3776d80a4a7486ea62fad1d73 + PATCHES + cxx-flags.diff + fix-source.diff + begin-end-decls.diff + install-dirs.diff ) -vcpkg_extract_source_archive( - SOURCE_PATH - ARCHIVE ${ARCHIVE} - PATCHES 001-fix-static-build.patch -) - -if(VCPKG_TARGET_IS_UWP) - set(configure_opts WINDOWS_USE_MSBUILD) -endif() - vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - ${configure_opts} OPTIONS -DCERF_CPP=ON -DLIB_MAN=OFF - -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} + -DLIB_RUN=OFF ) vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/cerf PACKAGE_NAME cerf) +vcpkg_fixup_pkgconfig() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/cerf.h" "dllexport" "dllimport") +endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/libcerf" RENAME copyright) - -vcpkg_fixup_pkgconfig() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/libcerf/vcpkg.json b/ports/libcerf/vcpkg.json index eed2bb6ccd9906..de42e09c4be8e0 100644 --- a/ports/libcerf/vcpkg.json +++ b/ports/libcerf/vcpkg.json @@ -1,13 +1,16 @@ { "name": "libcerf", - "version": "1.13", - "port-version": 4, + "version": "2.4", "description": "A self-contained numeric library that provides an efficient and accurate implementation of complex error functions, along with Dawson, Faddeeva, and Voigt functions.", "homepage": "https://jugit.fz-juelich.de/mlz/libcerf", "dependencies": [ { "name": "vcpkg-cmake", "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } ] } diff --git a/ports/libcgroup/portfile.cmake b/ports/libcgroup/portfile.cmake new file mode 100644 index 00000000000000..c0680199f283a5 --- /dev/null +++ b/ports/libcgroup/portfile.cmake @@ -0,0 +1,42 @@ +vcpkg_download_distfile(PATCH_FIX_SYSTEMD_HEADER_INSTALLATION + URLS https://github.com/t43rr7/libcgroup/commit/592dcdcf243576bd2517d3da9bc18990de08e37e.patch?full_index=1 + SHA512 0977e0b32119d1938ce2af6687ff31f6349aa6189307041d1249967e688ed9d84bc133ef270eb3d474a81644dd2152213c8605c6bd9a585c880fef0e026170fa + FILENAME 0000-fix-systemd-header-installation.patch +) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO libcgroup/libcgroup + SHA512 29fb7f5c795080cafc27ab99f2f3d7683933515840226564e047605e41a76f7ca31b48c8c9e8e1963eb808e3fc82206ea6ad550c80dcfb745b5cb7425e2875a9 + REF "v${VERSION}" + HEAD_REF master + PATCHES + "${PATCH_FIX_SYSTEMD_HEADER_INSTALLATION}" +) + +message(STATUS "${PORT} currently requires the following libraries from the system package manager:\n" + "\t- \n" + "\t- \n" + "\t- \n\n" + "It can be installed with your package manager" +) + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + OPTIONS + --enable-tools=no + --enable-python=no + --enable-tests=no + --enable-samples=no + --enable-systemd=no + --enable-pam=no +) + +vcpkg_install_make() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/libcgroup/vcpkg.json b/ports/libcgroup/vcpkg.json new file mode 100644 index 00000000000000..be3958822cf3b9 --- /dev/null +++ b/ports/libcgroup/vcpkg.json @@ -0,0 +1,8 @@ +{ + "name": "libcgroup", + "version": "3.1.0", + "description": "Library for working with cgroup", + "homepage": "https://github.com/libcgroup/libcgroup", + "license": "LGPL-2.1-only", + "supports": "linux" +} diff --git a/ports/libconfig/portfile.cmake b/ports/libconfig/portfile.cmake index d4022d721edd8a..f9362db4580478 100644 --- a/ports/libconfig/portfile.cmake +++ b/ports/libconfig/portfile.cmake @@ -6,6 +6,7 @@ vcpkg_from_github( HEAD_REF master PATCHES libconfig++-cmake-export.diff + static-build.diff ) vcpkg_cmake_configure( diff --git a/ports/libconfig/static-build.diff b/ports/libconfig/static-build.diff new file mode 100644 index 00000000000000..1b1a0f420ce141 --- /dev/null +++ b/ports/libconfig/static-build.diff @@ -0,0 +1,34 @@ +diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt +index 233c89f..8164b41 100644 +--- a/lib/CMakeLists.txt ++++ b/lib/CMakeLists.txt +@@ -25,7 +25,6 @@ set(libinc_cpp + libconfig.hh) + + set(libsrc_cpp +- ${libsrc} + libconfigcpp.cc) + + if(MSVC) +@@ -55,8 +54,10 @@ set_target_properties(${libname}++ + #check_symbol_exists(freelocale "locale.h" HAVE_FREELOCALE) + + if(BUILD_SHARED_LIBS) ++ target_sources(${libname}++ PRIVATE ${libsrc}) + target_compile_definitions(${libname}++ PRIVATE LIBCONFIG_STATIC) + else() ++ target_link_libraries(${libname}++ PRIVATE ${libname}) + target_compile_definitions(${libname} PUBLIC LIBCONFIG_STATIC) + target_compile_definitions(${libname}++ PUBLIC LIBCONFIGXX_STATIC) + endif() +@@ -91,8 +92,8 @@ if(MSVC) + endif() + + if(WIN32) +- target_link_libraries(${libname} shlwapi) +- target_link_libraries(${libname}++ shlwapi) ++ target_link_libraries(${libname} PRIVATE shlwapi) ++ target_link_libraries(${libname}++ PRIVATE shlwapi) + endif() + + target_include_directories(${libname} diff --git a/ports/libconfig/vcpkg.json b/ports/libconfig/vcpkg.json index 794e91f4642103..fba3d05e5d2c01 100644 --- a/ports/libconfig/vcpkg.json +++ b/ports/libconfig/vcpkg.json @@ -1,7 +1,7 @@ { "name": "libconfig", "version": "1.7.3", - "port-version": 4, + "port-version": 5, "description": "C/C++ library for processing configuration files", "homepage": "https://github.com/hyperrealm/libconfig", "dependencies": [ diff --git a/ports/libconfuse/CMakeLists.txt b/ports/libconfuse/CMakeLists.txt deleted file mode 100644 index 651dab2f068e13..00000000000000 --- a/ports/libconfuse/CMakeLists.txt +++ /dev/null @@ -1,139 +0,0 @@ -cmake_minimum_required(VERSION 3.14) - -set(ac_init_line_re "AC_INIT\\(([^,]+), ([^,]+), ([^,]+), ([^)]+)\\)") -file(STRINGS - ${CMAKE_CURRENT_LIST_DIR}/configure.ac - ac_init_line - REGEX ${ac_init_line_re} -) - -string(REGEX REPLACE "${ac_init_line_re}" "\\1" PACKAGE_NAME ${ac_init_line}) -string(REGEX REPLACE "${ac_init_line_re}" "\\2" PACKAGE_VERSION ${ac_init_line}) -string(REGEX REPLACE "${ac_init_line_re}" "\\3" PACKAGE_BUGREPORT ${ac_init_line}) -string(REGEX REPLACE "${ac_init_line_re}" "\\4" PACKAGE ${ac_init_line}) - -set(PACKAGE_TARNAME ${PACKAGE}) -set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}") - -string(REGEX REPLACE "([0-9]+.[0-9]+.[0-9]+).*" "\\1" SEMANTIC_VERSION ${PACKAGE_VERSION}) - -project(libconfuse VERSION ${SEMANTIC_VERSION} LANGUAGES C) - -include(CheckFunctionExists) -include(CheckIncludeFile) -include(GNUInstallDirs) - -find_package(FLEX REQUIRED) -find_package(Gettext QUIET) -find_package(Intl QUIET) - -set(CMAKE_DISABLE_SOURCE_CHANGES ON) -set(CMAKE_DISABLE_IN_SOURCE_BUILD ON) - -if (GETTEXT_FOUND) - set(ENABLE_NLS 1) -endif () - -# libconfig.pc.in -set(prefix ${CMAKE_INSTALL_PREFIX}) -set(exec_prefix ${prefix}) -set(libdir ${prefix}/${CMAKE_INSTALL_LIBDIR}) -set(includedir ${prefix}/${CMAKE_INSTALL_INCLUDEDIR}) -set(VERSION ${PROJECT_VERSION}) - -if (Intl_FOUND AND Intl_LIBRARIES) - set(LTLIBINTL ${Intl_LIBRARIES}) -endif () - -configure_file(libconfuse.pc.in ${CMAKE_CURRENT_BINARY_DIR}/libconfuse.pc @ONLY) - -check_function_exists(dcgettext HAVE_DCGETTEXT) -check_function_exists(fmemopen HAVE_FMEMOPEN) -check_function_exists(funopen HAVE_FUNOPEN) -check_function_exists(gettext HAVE_GETTEXT) -check_function_exists(iconv HAVE_ICONV) -check_function_exists(strcasecmp HAVE_STRCASECMP) -check_function_exists(strdup HAVE_STRDUP) -check_function_exists(_strdup HAVE__STRDUP) -check_function_exists(strndup HAVE_STRNDUP) -check_function_exists(setenv HAVE_SETENV) -check_function_exists(unsetenv HAVE_UNSETENV) -check_function_exists(_putenv HAVE__PUTENV) - -if (MSVC) - check_function_exists(_fileno HAVE__FILENO) - check_function_exists(_isatty HAVE__ISATTY) - check_function_exists(_stricmp HAVE_STRCASECMP) -endif () - -check_include_file(stdlib.h HAVE_STDLIB_H) -check_include_file(string.h HAVE_STRING_H) - -check_include_file(strings.h HAVE_STRINGS_H) -check_include_file(sys/stat.h HAVE_SYS_STAT_H) -check_include_file(sys/types.h HAVE_SYS_TYPES_H) -check_include_file(unistd.h HAVE_UNISTD_H) -check_include_file(windows.h HAVE_WINDOWS_H) - -configure_file(config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h) - -flex_target( - CONFUSE - src/lexer.l - ${CMAKE_CURRENT_BINARY_DIR}/lexer.c - COMPILE_FLAGS -Pcfg_yy -) - -set(libconfuse_sources - src/confuse.c - ${FLEX_CONFUSE_OUTPUTS} -) - -if (NOT HAVE_FMEMOPEN) - list(APPEND libconfuse_sources src/fmemopen.c) -endif () - -add_library(libconfuse ${libconfuse_sources}) - -if (BUILD_SHARED_LIBS) - if (WIN32) - target_compile_definitions(libconfuse PRIVATE BUILDING_DLL) - endif () -else () - target_compile_definitions(libconfuse PUBLIC BUILDING_STATIC) -endif () - -string(COMPARE EQUAL "${CMAKE_C_COMPILER_ID}" "GNU" USING_GNUC) - -target_compile_definitions(libconfuse - PUBLIC - $ - PRIVATE - $<$:_CRT_SECURE_NO_WARNINGS> - $<$:_CRT_NONSTDC_NO_DEPRECATE> - $<$:strcasecmp=_stricmp> - $<$:_GNU_SOURCE> -) - -target_include_directories(libconfuse - PUBLIC - $ - $ - $ -) - -set_target_properties(libconfuse PROPERTIES PUBLIC_HEADER src/confuse.h) - -install(TARGETS libconfuse EXPORT unofficial-libconfuse-config) - -install( - EXPORT unofficial-libconfuse-config - NAMESPACE unofficial::libconfuse:: - DESTINATION share/unofficial-libconfuse - PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ -) - -install( - FILES ${CMAKE_CURRENT_BINARY_DIR}/libconfuse.pc - DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig -) diff --git a/ports/libconfuse/config.h.in b/ports/libconfuse/config.h.in deleted file mode 100644 index 3a43264bd1bc00..00000000000000 --- a/ports/libconfuse/config.h.in +++ /dev/null @@ -1,99 +0,0 @@ -/* Define if translation of program messages to the user's native - language is requested. */ -#cmakedefine ENABLE_NLS - -/* Define if you have the header file. */ -#cmakedefine HAVE_STDLIB_H - -/* Define if you have the header file. */ -#cmakedefine HAVE_STRING_H - -/* Define if you have the header file. */ -#cmakedefine HAVE_STRINGS_H - -/* Define if you have the header file. */ -#cmakedefine HAVE_SYS_STAT_H - -/* Define if you have the header file. */ -#cmakedefine HAVE_SYS_TYPES_H - -/* Define if you have the header file. */ -#cmakedefine HAVE_UNISTD_H - -/* Define if you have the header file. */ -#cmakedefine HAVE_WINDOWS_H - -/* Define if you have the ANSI C header files. */ -#define STDC_HEADERS 1 - -/* Define if you have the `_fileno' function. */ -#cmakedefine HAVE__FILENO - -/* Define if you have the `_isatty' function. */ -#cmakedefine HAVE__ISATTY - -/* Define if the GNU dcgettext() function is already present or preinstalled. */ -#cmakedefine HAVE_DCGETTEXT - -/* Define if you have the `fmemopen' function. */ -#cmakedefine HAVE_FMEMOPEN - -/* Define if you have the `funopen' function. */ -#cmakedefine HAVE_FUNOPEN - -/* Define if the GNU gettext() function is already present or preinstalled. */ -#cmakedefine HAVE_GETTEXT - -/* Define if you have the iconv() function. */ -#cmakedefine HAVE_ICONV - -/* Define if you have the `strcasecmp' function. */ -#cmakedefine HAVE_STRCASECMP - -/* Define if you have the `strdup' function. */ -#cmakedefine HAVE_STRDUP - -/* Define if you have the `_strdup' function. */ -#cmakedefine HAVE__STRDUP - -/* Define if you have the strndup function */ -#cmakedefine HAVE_STRNDUP - -/* Define if you have the `setenv' function. */ -#cmakedefine HAVE_SETENV - -/* Define if you have the `unsetenv' function. */ -#cmakedefine HAVE_UNSETENV - -/* Define if you have the `_putenv' function. */ -#cmakedefine HAVE__PUTENV - -/* Define if `lex' declares `yytext' as a `char *' by default, not a - `char[]'. */ -/*#undef YYTEXT_POINTER*/ - -/* Define to empty if `const' does not conform to ANSI C. */ -/*#undef const*/ - -/* Name of package */ -#define PACKAGE "@PACKAGE@" - -/* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "@PACKAGE_BUGREPORT@" - -/* Define to the full name of this package. */ -#define PACKAGE_NAME "@PACKAGE_NAME@" - -/* Define to the full name and version of this package. */ -#define PACKAGE_STRING "@PACKAGE_STRING@" - -/* Define to the one symbol short name of this package. */ -#define PACKAGE_TARNAME "@PACKAGE_TARNAME@" - -/* Define to the version of this package. */ -#define PACKAGE_VERSION "@PACKAGE_VERSION@" - -/* Version number of package */ -#define VERSION "@PACKAGE_VERSION@" - -#define LOCALEDIR "@CMAKE_INSTALL_LOCALEDIR@" diff --git a/ports/libconfuse/portfile.cmake b/ports/libconfuse/portfile.cmake index 30c291ecc09258..5b4a432dea9151 100644 --- a/ports/libconfuse/portfile.cmake +++ b/ports/libconfuse/portfile.cmake @@ -1,39 +1,36 @@ -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO martinh/libconfuse - REF 67e1207c8de440525a3fdde1448a586791ebc052 - SHA512 15d4eb0640fe74cc90910820715a70b2f944d2ed9753cca3be90f0ac6840beeda6a370b0624588d81ed2def2f8463e404473721351a685af711cf1d59efb870a - HEAD_REF master +# Don't change to vcpkg_from_github: The raw repo lacks gettext macros. +vcpkg_download_distfile(ARCHIVE + URLS "https://github.com/libconfuse/libconfuse/releases/download/v${VERSION}/confuse-${VERSION}.tar.xz" + FILENAME "libconfuse-confuse-${VERSION}.tar.xz" + SHA512 93cc62d98166199315f65a2f6f540a9c0d33592b69a2c6a57fd17f132aecc6ece39b9813b96c9a49ae2b66a99b7eba1188a9ce9e360e1c5fb4b973619e7088a0 +) +vcpkg_extract_source_archive(SOURCE_PATH + ARCHIVE "${ARCHIVE}" ) - -file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -file(COPY "${CMAKE_CURRENT_LIST_DIR}/config.h.in" DESTINATION "${SOURCE_PATH}") vcpkg_find_acquire_program(FLEX) get_filename_component(FLEX_DIR "${FLEX}" DIRECTORY) vcpkg_add_to_path("${FLEX_DIR}") -vcpkg_cmake_configure( +set(ENV{AUTOPOINT} true) # true, the program + +vcpkg_configure_make( SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + OPTIONS + --disable-examples + --disable-nls ) - -vcpkg_cmake_install() - +vcpkg_install_make() vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - vcpkg_replace_string( - "${CURRENT_PACKAGES_DIR}/include/confuse.h" - "ifdef BUILDING_STATIC" - "if 1 // ifdef BUILDING_STATIC" - ) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/confuse.h" "ifdef BUILDING_STATIC" "if 1") endif() -vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-${PORT}) +file(INSTALL "${CURRENT_PORT_DIR}/unofficial-libconfuse-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/unofficial-libconfuse") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") -# Handle copyright -configure_file("${SOURCE_PATH}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) - -vcpkg_fixup_pkgconfig() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/libconfuse/unofficial-libconfuse-config.cmake b/ports/libconfuse/unofficial-libconfuse-config.cmake new file mode 100644 index 00000000000000..b5e70d0cccfb22 --- /dev/null +++ b/ports/libconfuse/unofficial-libconfuse-config.cmake @@ -0,0 +1,21 @@ +if(NOT TARGET unofficial::libconfuse::libconfuse) + add_library(unofficial::libconfuse::libconfuse UNKNOWN IMPORTED) + get_filename_component(z_vcpkg_libconfuse_prefix "${CMAKE_CURRENT_LIST_DIR}" PATH) + get_filename_component(z_vcpkg_libconfuse_prefix "${z_vcpkg_libconfuse_prefix}" PATH) + find_library(Z_VCPKG_libconfuse_LIBRARY_RELEASE NAMES confuse PATHS "${z_vcpkg_libconfuse_prefix}/lib" NO_DEFAULT_PATH REQUIRED) + set_target_properties(unofficial::libconfuse::libconfuse PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${z_vcpkg_libconfuse_prefix}/include" + IMPORTED_CONFIGURATIONS RELEASE + IMPORTED_LOCATION_RELEASE "${Z_VCPKG_libconfuse_LIBRARY_RELEASE}" + IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C" + ) + if("@VCPKG_BUILD_TYPE@" STREQUAL "") + find_library(Z_VCPKG_libconfuse_LIBRARY_DEBUG NAMES libconfuse PATHS "${z_vcpkg_libconfuse_prefix}/debug/lib" NO_DEFAULT_PATH REQUIRED) + set_property(TARGET unofficial::libconfuse::libconfuse APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG) + set_target_properties(unofficial::libconfuse::libconfuse PROPERTIES + IMPORTED_LOCATION_DEBUG "${Z_VCPKG_libconfuse_LIBRARY_DEBUG}" + IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "C" + ) + endif() + unset(z_vcpkg_libconfuse_prefix) +endif() diff --git a/ports/libconfuse/vcpkg.json b/ports/libconfuse/vcpkg.json index a193aa2c04f7d7..0a78c5593a4a91 100644 --- a/ports/libconfuse/vcpkg.json +++ b/ports/libconfuse/vcpkg.json @@ -1,17 +1,7 @@ { "name": "libconfuse", - "version-date": "2019-07-14", - "port-version": 4, + "version": "3.3", "description": "Small configuration file parser library for C", - "homepage": "https://github.com/martinh/libconfuse", - "dependencies": [ - { - "name": "vcpkg-cmake", - "host": true - }, - { - "name": "vcpkg-cmake-config", - "host": true - } - ] + "homepage": "https://github.com/libconfuse/libconfuse", + "license": "ISC" } diff --git a/ports/libcopp/portfile.cmake b/ports/libcopp/portfile.cmake index 9fe462a4286d2c..078c53ba116a7d 100644 --- a/ports/libcopp/portfile.cmake +++ b/ports/libcopp/portfile.cmake @@ -16,10 +16,20 @@ vcpkg_from_github( HEAD_REF main ) +vcpkg_list(SET options) +if(VCPKG_TARGET_IS_ANDROID) + vcpkg_list(APPEND options + -DCMAKE_CXX_EXTENSIONS=OFF + -DCOMPILER_OPTION_CURRENT_MAX_CXX_STANDARD=20 + ) +endif() + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" DISABLE_PARALLEL_CONFIGURE - OPTIONS "-DATFRAMEWORK_CMAKE_TOOLSET_DIR=${ATFRAMEWORK_CMAKE_TOOLSET}" + OPTIONS + ${options} + "-DATFRAMEWORK_CMAKE_TOOLSET_DIR=${ATFRAMEWORK_CMAKE_TOOLSET}" ) vcpkg_cmake_install() diff --git a/ports/libcopp/vcpkg.json b/ports/libcopp/vcpkg.json index a4f4067193843c..6d0c0dcba90a44 100644 --- a/ports/libcopp/vcpkg.json +++ b/ports/libcopp/vcpkg.json @@ -1,6 +1,7 @@ { "name": "libcopp", "version": "2.2.0", + "port-version": 1, "maintainers": "owent ", "description": "A cross-platfrom coroutine library for C++", "homepage": "https://github.com/owent/libcopp", diff --git a/ports/libcoro/0001-allow-shared-lib.patch b/ports/libcoro/0001-allow-shared-lib.patch deleted file mode 100644 index 47de8119bc6873..00000000000000 --- a/ports/libcoro/0001-allow-shared-lib.patch +++ /dev/null @@ -1,9 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -92,4 +92,4 @@ - endif() - --add_library(${PROJECT_NAME} STATIC ${LIBCORO_SOURCE_FILES}) -+add_library(${PROJECT_NAME} ${LIBCORO_SOURCE_FILES}) - set_target_properties(${PROJECT_NAME} PROPERTIES LINKER_LANGUAGE CXX PREFIX "") diff --git a/ports/libcoro/0002-disable-git-config.patch b/ports/libcoro/0002-disable-git-config.patch deleted file mode 100644 index f25833ae0427c7..00000000000000 --- a/ports/libcoro/0002-disable-git-config.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -7,9 +7,9 @@ - - # Set the githooks directory to auto format and update the readme. --message("${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR} -> git config --local core.hooksPath .githooks") --execute_process( -- COMMAND git config --local core.hooksPath .githooks -- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} --) -+#message("${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR} -> git config --local core.hooksPath .githooks") -+#execute_process( -+# COMMAND git config --local core.hooksPath .githooks -+# WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} -+#) - - option(LIBCORO_EXTERNAL_DEPENDENCIES "Use Cmake find_package to resolve dependencies instead of embedded libraries, Default=OFF." OFF) diff --git a/ports/libcoro/portfile.cmake b/ports/libcoro/portfile.cmake index e48f240e97b6b0..cebaa8fcaa549e 100644 --- a/ports/libcoro/portfile.cmake +++ b/ports/libcoro/portfile.cmake @@ -2,20 +2,18 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO jbaldwin/libcoro REF "v${VERSION}" - SHA512 9554fcaf721188e2475933fb8fe6b35f879479af9acb8b011545d66e588a98811f69100a4392e62c3c8bf05e8177760778c44ed4357d40d0a6349833a93fb8e8 + SHA512 7d79737b4d347d6e829362e936089c1dc6b81505ca363728db19b47e22a798b442b17f15a68296bf98b016c8dedea9142b8a3b6a5ec6190cd3f2eac7ffe614b4 HEAD_REF master - PATCHES - 0001-allow-shared-lib.patch - 0002-disable-git-config.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES networking LIBCORO_FEATURE_NETWORKING - ssl LIBCORO_FEATURE_SSL - threading LIBCORO_FEATURE_THREADING + tls LIBCORO_FEATURE_TLS ) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED_LIBS) + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS @@ -23,6 +21,7 @@ vcpkg_cmake_configure( -DLIBCORO_EXTERNAL_DEPENDENCIES=ON -DLIBCORO_BUILD_TESTS=OFF -DLIBCORO_BUILD_EXAMPLES=OFF + -DLIBCORO_BUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} ) vcpkg_cmake_install() @@ -32,3 +31,5 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") vcpkg_fixup_pkgconfig() + +vcpkg_copy_pdbs() diff --git a/ports/libcoro/vcpkg.json b/ports/libcoro/vcpkg.json index e6a9891b064e4d..7975552c291852 100644 --- a/ports/libcoro/vcpkg.json +++ b/ports/libcoro/vcpkg.json @@ -1,30 +1,24 @@ { "name": "libcoro", - "version": "0.9", + "version": "0.12.1", "description": "C++20 coroutine library", "homepage": "https://github.com/jbaldwin/libcoro", "license": "Apache-2.0", - "supports": "!windows", "dependencies": [ - "tl-expected", { "name": "vcpkg-cmake", "host": true } ], - "default-features": [ - "networking", - "ssl", - "threading" - ], "features": { "networking": { "description": "Include networking features.", + "supports": "linux", "dependencies": [ "c-ares" ] }, - "ssl": { + "tls": { "description": "Include SSL features.", "dependencies": [ { @@ -36,9 +30,6 @@ }, "openssl" ] - }, - "threading": { - "description": "Include multithreading features." } } } diff --git a/ports/libcred/disable_tests.patch b/ports/libcred/disable_tests.patch new file mode 100644 index 00000000000000..33d82cdb9c00b4 --- /dev/null +++ b/ports/libcred/disable_tests.patch @@ -0,0 +1,17 @@ +diff --git a/meson.build b/meson.build +index 4de2473..d49a42a 100644 +--- a/meson.build ++++ b/meson.build +@@ -56,8 +56,8 @@ endif + + install_headers('include/libcred.hpp') + +-executable('ex1', ['example/ex1.cpp'], link_with: credhelperlib, include_directories: ['include']) +-executable('ex2', ['example/ex2.cpp'], link_with: credhelperlib, include_directories: ['include']) ++#executable('ex1', ['example/ex1.cpp'], link_with: credhelperlib, include_directories: ['include']) ++#executable('ex2', ['example/ex2.cpp'], link_with: credhelperlib, include_directories: ['include']) + +-testexe = executable('testexe', ['test/test.cpp'], link_with: credhelperlib, include_directories: ['include']) +-test('test1', testexe) ++#testexe = executable('testexe', ['test/test.cpp'], link_with: credhelperlib, include_directories: ['include']) ++#test('test1', testexe) diff --git a/ports/libcred/portfile.cmake b/ports/libcred/portfile.cmake new file mode 100644 index 00000000000000..deb8ad3fc915b2 --- /dev/null +++ b/ports/libcred/portfile.cmake @@ -0,0 +1,21 @@ +if (VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO mamba-org/libcred + REF ${VERSION} + SHA512 77470b552cafc2506f9f1be56a2cd7aa412a4b568120037bf730273b5cc7c4dbabebb0abb6b192e3aef69912c6b5721d9e80b0cae0059f4fe814a5c0a8f3dcfb + HEAD_REF main + PATCHES + disable_tests.patch +) + +vcpkg_configure_meson(SOURCE_PATH "${SOURCE_PATH}") +vcpkg_install_meson() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") + +vcpkg_fixup_pkgconfig() +vcpkg_copy_pdbs() diff --git a/ports/libcred/vcpkg.json b/ports/libcred/vcpkg.json new file mode 100644 index 00000000000000..2865593a770200 --- /dev/null +++ b/ports/libcred/vcpkg.json @@ -0,0 +1,22 @@ +{ + "name": "libcred", + "version": "1.0.0", + "description": "a cross-platform credentials helper library", + "homepage": "https://github.com/mamba-org/libcred", + "license": "MIT", + "supports": "!osx & !uwp & !arm & !(windows & staticcrt) & !android", + "dependencies": [ + { + "name": "glib", + "platform": "linux" + }, + { + "name": "libsecret", + "platform": "linux" + }, + { + "name": "vcpkg-tool-meson", + "host": true + } + ] +} diff --git a/ports/libcroco/CMakeLists.txt b/ports/libcroco/CMakeLists.txt deleted file mode 100644 index 20d7872683ac33..00000000000000 --- a/ports/libcroco/CMakeLists.txt +++ /dev/null @@ -1,118 +0,0 @@ -cmake_minimum_required(VERSION 3.11) -project(libcroco C) - -find_package(PkgConfig REQUIRED) -set(libcroco_pc_requires glib-2.0 libxml-2.0) -pkg_check_modules(LIBCROCO_LINK_PUBLIC ${libcroco_pc_requires} IMPORTED_TARGET REQUIRED) - -file(GLOB SOURCES - src/cr-utils.c - src/cr-utils.h - src/cr-input.c - src/cr-input.h - src/cr-enc-handler.c - src/cr-enc-handler.h - src/cr-num.c - src/cr-num.h - src/cr-rgb.c - src/cr-rgb.h - src/cr-token.c - src/cr-token.h - src/cr-tknzr.c - src/cr-tknzr.h - src/cr-term.c - src/cr-term.h - src/cr-attr-sel.c - src/cr-attr-sel.h - src/cr-pseudo.c - src/cr-pseudo.h - src/cr-additional-sel.c - src/cr-additional-sel.h - src/cr-simple-sel.c - src/cr-simple-sel.h - src/cr-selector.c - src/cr-selector.h - src/cr-doc-handler.c - src/cr-doc-handler.h - src/cr-parser.c - src/cr-parser.h - src/cr-declaration.c - src/cr-declaration.h - src/cr-statement.c - src/cr-statement.h - src/cr-stylesheet.c - src/cr-stylesheet.h - src/cr-cascade.c - src/cr-cascade.h - src/cr-om-parser.c - src/cr-om-parser.h - src/cr-style.c - src/cr-style.h - src/cr-sel-eng.c - src/cr-sel-eng.h - src/cr-fonts.c - src/cr-fonts.h - src/cr-prop-list.c - src/cr-prop-list.h - src/cr-parsing-location.c - src/cr-parsing-location.h - src/cr-string.c - src/cr-string.h - src/libcroco.def -) - -add_library(croco-0.6 ${SOURCES}) -target_link_libraries(croco-0.6 PRIVATE PkgConfig::LIBCROCO_LINK_PUBLIC) - -install(TARGETS croco-0.6 - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib -) - -install(FILES - src/libcroco.h - src/cr-additional-sel.h - src/cr-attr-sel.h - src/cr-cascade.h - src/cr-declaration.h - src/cr-doc-handler.h - src/cr-enc-handler.h - src/cr-input.h - src/cr-num.h - src/cr-om-parser.h - src/cr-parser.h - src/cr-pseudo.h - src/cr-rgb.h - src/cr-selector.h - src/cr-simple-sel.h - src/cr-statement.h - src/cr-stylesheet.h - src/cr-term.h - src/cr-tknzr.h - src/cr-token.h - src/cr-utils.h - src/cr-fonts.h - src/cr-sel-eng.h - src/cr-style.h - src/cr-prop-list.h - src/cr-parsing-location.h - src/cr-string.h - src/libcroco-config.h - DESTINATION include/libcroco-0.6/libcroco -) - -string(REGEX MATCH "^([0-9]*)[.]([0-9]*)[.].*" unused "${VERSION}" ) -set(LIBCROCO_MAJOR_VERSION "${CMAKE_MATCH_1}") -set(LIBCROCO_MINOR_VERSION "${CMAKE_MATCH_2}") - -set(prefix "${CMAKE_INSTALL_PREFIX}") -set(exec_prefix "\${prefix}") -set(libdir "\${prefix}/lib") -set(includedir "\${prefix}/include") - -configure_file("${CMAKE_CURRENT_SOURCE_DIR}/libcroco.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/libcroco.pc" @ONLY) -install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libcroco.pc" - DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig" - RENAME "libcroco-${LIBCROCO_MAJOR_VERSION}.${LIBCROCO_MINOR_VERSION}.pc" -) diff --git a/ports/libcroco/portfile.cmake b/ports/libcroco/portfile.cmake index 170201b129b499..806461548ab5ff 100644 --- a/ports/libcroco/portfile.cmake +++ b/ports/libcroco/portfile.cmake @@ -1,6 +1,7 @@ vcpkg_download_distfile(ARCHIVE - URLS "https://download.gnome.org/sources/libcroco/0.6/libcroco-0.6.13.tar.xz" - FILENAME "libcroco-0.6.13.tar.xz" + URLS "https://download.gnome.org/sources/libcroco/0.6/libcroco-${VERSION}.tar.xz" + "https://www.mirrorservice.org/sites/ftp.gnome.org/pub/GNOME/sources/libcroco/0.6/libcroco-${VERSION}.tar.xz" + FILENAME "libcroco-${VERSION}.tar.xz" SHA512 038a3ac9d160a8cf86a8a88c34367e154ef26ede289c93349332b7bc449a5199b51ea3611cebf3a2416ae23b9e45ecf8f9c6b24ea6d16a5519b796d3c7e272d4 ) @@ -9,24 +10,28 @@ vcpkg_extract_source_archive( ARCHIVE "${ARCHIVE}" ) -file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -configure_file("${SOURCE_PATH}/config.h.win32" "${SOURCE_PATH}/src/config.h" COPYONLY) -file(READ "${SOURCE_PATH}/src/libcroco.symbols" SYMBOLS) -string(REGEX REPLACE ";[^\n]*\n" "" DEF "EXPORTS\n${SYMBOLS}") -file(WRITE "${SOURCE_PATH}/src/libcroco.def" "${DEF}") +set(OPTIONS "") +if(VCPKG_TARGET_IS_OSX) + list(APPEND OPTIONS "--disable-Bsymbolic") +endif() -vcpkg_find_acquire_program(PKGCONFIG) -vcpkg_cmake_configure( +vcpkg_configure_make( + USE_WRAPPERS SOURCE_PATH "${SOURCE_PATH}" OPTIONS - "-DVERSION=${VERSION}" - "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" + ${OPTIONS} ) -vcpkg_cmake_install() -vcpkg_copy_pdbs() + +vcpkg_install_make() + vcpkg_fixup_pkgconfig() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/libcroco/bin/croco-0.6-config" + "${CURRENT_PACKAGES_DIR}/libcroco/debug/bin") + +vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() file(COPY "${CURRENT_PORT_DIR}/unofficial-libcroco-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/unofficial-libcroco") file(COPY "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/libcroco/vcpkg.json b/ports/libcroco/vcpkg.json index a92872f944978b..4c003e52039339 100644 --- a/ports/libcroco/vcpkg.json +++ b/ports/libcroco/vcpkg.json @@ -1,7 +1,7 @@ { "name": "libcroco", "version": "0.6.13", - "port-version": 6, + "port-version": 7, "description": "A standalone css2 parsing and manipulation library", "license": "LGPL-2.0-only", "dependencies": [ diff --git a/ports/libdatachannel/dependencies.diff b/ports/libdatachannel/dependencies.diff new file mode 100644 index 00000000000000..01ea420c1b92a6 --- /dev/null +++ b/ports/libdatachannel/dependencies.diff @@ -0,0 +1,63 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8a61757..b35e4b1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -234,7 +234,7 @@ set(THREADS_PREFER_PTHREAD_FLAG TRUE) + find_package(Threads REQUIRED) + + if(USE_SYSTEM_PLOG) +- find_package(plog REQUIRED) ++ find_package(plog CONFIG REQUIRED) + else() + set(CMAKE_POLICY_DEFAULT_CMP0048 NEW) + add_subdirectory(deps/plog EXCLUDE_FROM_ALL) +@@ -245,7 +245,8 @@ if(SCTP_DEBUG) + endif() + + if(USE_SYSTEM_USRSCTP) +- find_package(Usrsctp REQUIRED) ++ find_package(unofficial-usrsctp CONFIG REQUIRED) ++ add_library(Usrsctp::Usrsctp ALIAS unofficial::usrsctp::usrsctp) + else() + option(sctp_build_shared_lib OFF) + option(sctp_build_programs OFF) +@@ -331,7 +332,7 @@ else() + target_compile_definitions(datachannel PUBLIC RTC_ENABLE_MEDIA=1) + target_compile_definitions(datachannel-static PUBLIC RTC_ENABLE_MEDIA=1) + if(USE_SYSTEM_SRTP) +- find_package(libSRTP REQUIRED) ++ find_package(libSRTP CONFIG REQUIRED) + if(NOT TARGET libSRTP::srtp2) + add_library(libSRTP::srtp2 UNKNOWN IMPORTED) + set_target_properties(libSRTP::srtp2 PROPERTIES +@@ -475,8 +476,9 @@ install( + ) + + # Export config ++configure_file(cmake/LibDataChannelConfig.cmake ${CMAKE_CURRENT_BINARY_DIR}/cmake/LibDataChannelConfig.cmake @ONLY) + install( +- FILES ${CMAKE_CURRENT_SOURCE_DIR}/cmake/LibDataChannelConfig.cmake ++ FILES ${CMAKE_CURRENT_BINARY_DIR}/cmake/LibDataChannelConfig.cmake + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/LibDataChannel + ) + +diff --git a/cmake/LibDataChannelConfig.cmake b/cmake/LibDataChannelConfig.cmake +index cb2b884..d0b77ca 100644 +--- a/cmake/LibDataChannelConfig.cmake ++++ b/cmake/LibDataChannelConfig.cmake +@@ -1,2 +1,15 @@ ++if(NOT "@BUILD_SHARED_LIBS@") ++ include(CMakeFindDependencyMacro) ++ set(THREADS_PREFER_PTHREAD_FLAG ON) ++ find_dependency(Threads) ++ find_dependency(plog CONFIG) ++ find_dependency(unofficial-usrsctp CONFIG) ++ if(NOT "@NO_MEDIA@") ++ find_dependency(libSRTP CONFIG) ++ endif() ++ find_dependency(OpenSSL) ++ find_dependency(LibJuice) ++endif() ++ + include("${CMAKE_CURRENT_LIST_DIR}/LibDataChannelTargets.cmake") + diff --git a/ports/libdatachannel/fix-for-vcpkg.patch b/ports/libdatachannel/fix-for-vcpkg.patch deleted file mode 100644 index 6511bb13596ef0..00000000000000 --- a/ports/libdatachannel/fix-for-vcpkg.patch +++ /dev/null @@ -1,266 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 634f242..c8e2f1e 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -28,7 +28,6 @@ endif() - - list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/Modules) - set(CMAKE_POSITION_INDEPENDENT_CODE ON) --set(BUILD_SHARED_LIBS OFF) # to force usrsctp to be built static - - if(WIN32) - add_definitions(-DWIN32_LEAN_AND_MEAN) -@@ -202,12 +201,14 @@ set(CMAKE_THREAD_PREFER_PTHREAD TRUE) - set(THREADS_PREFER_PTHREAD_FLAG TRUE) - find_package(Threads REQUIRED) - --set(CMAKE_POLICY_DEFAULT_CMP0048 NEW) --add_subdirectory(deps/plog EXCLUDE_FROM_ALL) -+find_library(USRSCTP_LIBRARY usrsctp REQUIRED) -+find_path(PLOG_INCLUDE_DIRS "plog/Appenders/AndroidAppender.h") - - if(SCTP_DEBUG) - add_definitions(-DSCTP_DEBUG) - endif() -+ -+if(0) - option(sctp_build_shared_lib OFF) - option(sctp_build_programs OFF) - option(sctp_inet OFF) -@@ -221,7 +222,9 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "GNU") - target_compile_options(usrsctp PRIVATE -Wno-error=format-truncation) - endif() - add_library(Usrsctp::Usrsctp ALIAS usrsctp) -+endif() - -+if(BUILD_SHARED_LIBS) - add_library(datachannel SHARED - ${LIBDATACHANNEL_SOURCES} - ${LIBDATACHANNEL_HEADERS} -@@ -234,7 +237,8 @@ set_target_properties(datachannel PROPERTIES - CXX_VISIBILITY_PRESET default) - target_compile_definitions(datachannel PRIVATE RTC_EXPORTS) - --add_library(datachannel-static STATIC EXCLUDE_FROM_ALL -+elseif(BUILD_STATIC_LIBS) -+add_library(datachannel-static STATIC - ${LIBDATACHANNEL_SOURCES} - ${LIBDATACHANNEL_HEADERS} - ${LIBDATACHANNEL_IMPL_SOURCES} -@@ -244,42 +248,63 @@ set_target_properties(datachannel-static PROPERTIES - CXX_STANDARD 17) - target_compile_definitions(datachannel-static PRIVATE RTC_EXPORTS) - target_compile_definitions(datachannel-static PUBLIC RTC_STATIC) -+endif() - -+if(BUILD_SHARED_LIBS) - target_include_directories(datachannel PUBLIC - $ - $) - target_include_directories(datachannel PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include/rtc) - target_include_directories(datachannel PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src) -+target_include_directories(datachannel PRIVATE ${PLOG_INCLUDE_DIRS}) - target_link_libraries(datachannel PRIVATE Threads::Threads) --target_link_libraries(datachannel PRIVATE Usrsctp::Usrsctp plog::plog) -+target_link_libraries(datachannel PRIVATE ${USRSCTP_LIBRARY}) - -+elseif(BUILD_STATIC_LIBS) - target_include_directories(datachannel-static PUBLIC - $ - $) - target_include_directories(datachannel-static PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include/rtc) - target_include_directories(datachannel-static PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src) -+target_include_directories(datachannel-static PRIVATE ${PLOG_INCLUDE_DIRS}) - target_link_libraries(datachannel-static PRIVATE Threads::Threads) --target_link_libraries(datachannel-static PRIVATE Usrsctp::Usrsctp plog::plog) -+target_link_libraries(datachannel-static PRIVATE ${USRSCTP_LIBRARY}) -+endif() - - if(WIN32) -+ if(BUILD_SHARED_LIBS) - target_link_libraries(datachannel PUBLIC ws2_32) # winsock2 -+ elseif(BUILD_STATIC_LIBS) - target_link_libraries(datachannel-static PUBLIC ws2_32) # winsock2 -+ endif() - endif() - - if (NO_WEBSOCKET) -+ if(BUILD_SHARED_LIBS) - target_compile_definitions(datachannel PUBLIC RTC_ENABLE_WEBSOCKET=0) -+ elseif(BUILD_STATIC_LIBS) - target_compile_definitions(datachannel-static PUBLIC RTC_ENABLE_WEBSOCKET=0) -+ endif() - else() -+ if(BUILD_SHARED_LIBS) - target_compile_definitions(datachannel PUBLIC RTC_ENABLE_WEBSOCKET=1) -+ elseif(BUILD_STATIC_LIBS) - target_compile_definitions(datachannel-static PUBLIC RTC_ENABLE_WEBSOCKET=1) -+ endif() - endif() - - if(NO_MEDIA) -+ if(BUILD_SHARED_LIBS) - target_compile_definitions(datachannel PUBLIC RTC_ENABLE_MEDIA=0) -+ elseif(BUILD_STATIC_LIBS) - target_compile_definitions(datachannel-static PUBLIC RTC_ENABLE_MEDIA=0) -+ endif() - else() -+ if(BUILD_SHARED_LIBS) - target_compile_definitions(datachannel PUBLIC RTC_ENABLE_MEDIA=1) -+ elseif(BUILD_STATIC_LIBS) - target_compile_definitions(datachannel-static PUBLIC RTC_ENABLE_MEDIA=1) -+ endif() - if(USE_SYSTEM_SRTP) - find_package(libSRTP REQUIRED) - if(NOT TARGET libSRTP::srtp2) -@@ -289,10 +314,16 @@ else() - IMPORTED_LINK_INTERFACE_LANGUAGES C - IMPORTED_LOCATION ${SRTP_LIBRARIES}) - endif() -+ if(BUILD_SHARED_LIBS) - target_compile_definitions(datachannel PRIVATE RTC_SYSTEM_SRTP=1) -+ elseif(BUILD_STATIC_LIBS) - target_compile_definitions(datachannel-static PRIVATE RTC_SYSTEM_SRTP=1) -+ endif() -+ if(BUILD_SHARED_LIBS) - target_link_libraries(datachannel PRIVATE libSRTP::srtp2) -+ elseif(BUILD_STATIC_LIBS) - target_link_libraries(datachannel-static PRIVATE libSRTP::srtp2) -+ endif() - else() - add_subdirectory(deps/libsrtp EXCLUDE_FROM_ALL) - target_compile_definitions(datachannel PRIVATE RTC_SYSTEM_SRTP=0) -@@ -312,15 +343,24 @@ if (USE_GNUTLS) - IMPORTED_LINK_INTERFACE_LANGUAGES C - IMPORTED_LOCATION "${GNUTLS_LIBRARIES}") - endif() -+ if(BUILD_SHARED_LIBS) - target_compile_definitions(datachannel PRIVATE USE_GNUTLS=1) -+ elseif(BUILD_STATIC_LIBS) - target_compile_definitions(datachannel-static PRIVATE USE_GNUTLS=1) -+ endif() -+ if(BUILD_SHARED_LIBS) - target_link_libraries(datachannel PRIVATE GnuTLS::GnuTLS) -+ elseif(BUILD_STATIC_LIBS) - target_link_libraries(datachannel-static PRIVATE GnuTLS::GnuTLS) -+ endif() - if (NOT NO_WEBSOCKET) - # Needed for SHA1, it should be present as GnuTLS cryptography backend - find_package(Nettle REQUIRED) -+ if(BUILD_SHARED_LIBS) - target_link_libraries(datachannel PRIVATE Nettle::Nettle) -+ elseif(BUILD_STATIC_LIBS) - target_link_libraries(datachannel-static PRIVATE Nettle::Nettle) -+ endif() - endif() - else() - if(APPLE) -@@ -340,27 +380,48 @@ else() - endif() - endif() - find_package(OpenSSL REQUIRED) -+ if(BUILD_SHARED_LIBS) - target_compile_definitions(datachannel PRIVATE USE_GNUTLS=0) -+ elseif(BUILD_STATIC_LIBS) - target_compile_definitions(datachannel-static PRIVATE USE_GNUTLS=0) -+ endif() -+ if(BUILD_SHARED_LIBS) - target_link_libraries(datachannel PRIVATE OpenSSL::SSL) -+ elseif(BUILD_STATIC_LIBS) - target_link_libraries(datachannel-static PRIVATE OpenSSL::SSL) -+ endif() - endif() - - if (USE_NICE) - find_package(LibNice REQUIRED) -+ if(BUILD_SHARED_LIBS) - target_compile_definitions(datachannel PRIVATE USE_NICE=1) -+ elseif(BUILD_STATIC_LIBS) - target_compile_definitions(datachannel-static PRIVATE USE_NICE=1) -+ endif() -+ if(BUILD_SHARED_LIBS) - target_link_libraries(datachannel PRIVATE LibNice::LibNice) -+ elseif(BUILD_STATIC_LIBS) - target_link_libraries(datachannel-static PRIVATE LibNice::LibNice) -+ endif() - else() -+ if(BUILD_SHARED_LIBS) - target_compile_definitions(datachannel PRIVATE USE_NICE=0) -+ elseif(BUILD_STATIC_LIBS) - target_compile_definitions(datachannel-static PRIVATE USE_NICE=0) -+ endif() - if(USE_SYSTEM_JUICE) - find_package(LibJuice REQUIRED) -+ if(BUILD_SHARED_LIBS) - target_compile_definitions(datachannel PRIVATE RTC_SYSTEM_JUICE=1) -+ elseif(BUILD_STATIC_LIBS) - target_compile_definitions(datachannel-static PRIVATE RTC_SYSTEM_JUICE=1) -+ endif() -+ if(BUILD_SHARED_LIBS) - target_link_libraries(datachannel PRIVATE LibJuice::LibJuice) -+ elseif(BUILD_STATIC_LIBS) - target_link_libraries(datachannel-static PRIVATE LibJuice::LibJuice) -+ endif() - else() - add_subdirectory(deps/libjuice EXCLUDE_FROM_ALL) - target_compile_definitions(datachannel PRIVATE RTC_SYSTEM_JUICE=0) -@@ -371,36 +432,58 @@ else() - endif() - - if(CAPI_STDCALL) -+ if(BUILD_SHARED_LIBS) - target_compile_definitions(datachannel PUBLIC CAPI_STDCALL) -+ elseif(BUILD_STATIC_LIBS) - target_compile_definitions(datachannel-static PUBLIC CAPI_STDCALL) -+ endif() - endif() - -+if(BUILD_SHARED_LIBS) - set_target_properties(datachannel PROPERTIES EXPORT_NAME LibDataChannel) - add_library(LibDataChannel::LibDataChannel ALIAS datachannel) -- -+elseif(BUILD_STATIC_LIBS) - set_target_properties(datachannel-static PROPERTIES EXPORT_NAME LibDataChannelStatic) - add_library(LibDataChannel::LibDataChannelStatic ALIAS datachannel-static) -+endif() - - if(NOT MSVC) -+ if(BUILD_SHARED_LIBS) - target_compile_options(datachannel PRIVATE -Wall -Wextra) -+ elseif(BUILD_STATIC_LIBS) - target_compile_options(datachannel-static PRIVATE -Wall -Wextra) -+ endif() - endif() - - if(WARNINGS_AS_ERRORS) - if(MSVC) -+ if(BUILD_SHARED_LIBS) - target_compile_options(datachannel PRIVATE /WX) -+ elseif(BUILD_STATIC_LIBS) - target_compile_options(datachannel-static PRIVATE /WX) -+ endif() - else() -+ if(BUILD_SHARED_LIBS) - target_compile_options(datachannel PRIVATE -Werror) -+ elseif(BUILD_STATIC_LIBS) - target_compile_options(datachannel-static PRIVATE -Werror) -+ endif() - endif() - endif() - -+if(BUILD_SHARED_LIBS) - install(TARGETS datachannel EXPORT LibDataChannelTargets - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib - ) -+elseif(BUILD_STATIC_LIBS) -+install(TARGETS datachannel-static EXPORT LibDataChannelTargets -+ RUNTIME DESTINATION bin -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib -+) -+endif() - - install(FILES ${LIBDATACHANNEL_HEADERS} - DESTINATION include/rtc diff --git a/ports/libdatachannel/library-linkage.diff b/ports/libdatachannel/library-linkage.diff new file mode 100644 index 00000000000000..655c0320dce22b --- /dev/null +++ b/ports/libdatachannel/library-linkage.diff @@ -0,0 +1,30 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b35e4b1..b052d02 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -48,7 +48,6 @@ endif() + + list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/Modules) + set(CMAKE_POSITION_INDEPENDENT_CODE ON) +-set(BUILD_SHARED_LIBS OFF) # to force usrsctp to be built static + + if(WIN32) + add_definitions(-DWIN32_LEAN_AND_MEAN) +@@ -457,11 +456,17 @@ if(WARNINGS_AS_ERRORS) + endif() + endif() + ++if(BUILD_SHARED_LIBS) + install(TARGETS datachannel EXPORT LibDataChannelTargets + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + ) ++else() ++ set_target_properties(datachannel PROPERTIES EXCLUDE_FROM_ALL 1) ++ set_target_properties(datachannel-static PROPERTIES EXCLUDE_FROM_ALL 0) ++ install(TARGETS datachannel-static EXPORT LibDataChannelTargets) ++endif() + + install(FILES ${LIBDATACHANNEL_HEADERS} + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/rtc diff --git a/ports/libdatachannel/portfile.cmake b/ports/libdatachannel/portfile.cmake index 13c9603031052c..ab1db9c674db5d 100644 --- a/ports/libdatachannel/portfile.cmake +++ b/ports/libdatachannel/portfile.cmake @@ -1,54 +1,40 @@ -set(PATCHES fix-for-vcpkg.patch) - -if(VCPKG_TARGET_IS_UWP) - list(APPEND PATCHES uwp-warnings.patch) -endif() - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO paullouisageneau/libdatachannel REF "v${VERSION}" - SHA512 bcf58026612e2ae670911945f9f74660b513cbd38c9bae13e7b8acd41e545b5760ab4713c67b956e0bb8c0449491a5ab8e3f8d05e2468ff6540fc99e2540a105 + SHA512 fd0d66bb932e29abc01e9f1a8b16ccb79012a7e3901e2e0f882f56ab2f090260945e1556c85ad07ef897b8c70fcdd44cdeead9955a9bca7afe1dda8900c473cc HEAD_REF master - PATCHES - ${PATCHES} + PATCHES + dependencies.diff + library-linkage.diff + uwp-warnings.patch ) -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC) -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED) - vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES stdcall CAPI_STDCALL INVERTED_FEATURES - ws NO_WEBSOCKET - srtp NO_MEDIA + ws NO_WEBSOCKET + srtp NO_MEDIA ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} - -DUSE_SYSTEM_SRTP=ON - -DUSE_SYSTEM_JUICE=ON + -DPREFER_SYSTEM_LIB=ON -DNO_EXAMPLES=ON -DNO_TESTS=ON - -DBUILD_STATIC_LIBS=${BUILD_STATIC} - -DBUILD_SHARED_LIBS=${BUILD_SHARED} ) vcpkg_cmake_install() - -vcpkg_cmake_config_fixup(PACKAGE_NAME LibDataChannel CONFIG_PATH lib/cmake/LibDataChannel) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/LibDataChannel) vcpkg_fixup_pkgconfig() -file(READ "${CURRENT_PACKAGES_DIR}/share/LibDataChannel/LibDataChannelConfig.cmake" DATACHANNEL_CONFIG) -file(WRITE "${CURRENT_PACKAGES_DIR}/share/LibDataChannel/LibDataChannelConfig.cmake" " -include(CMakeFindDependencyMacro) -find_dependency(Threads) -find_dependency(OpenSSL) -find_dependency(LibJuice) -${DATACHANNEL_CONFIG}") +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/rtc/common.hpp" "#ifdef RTC_STATIC" "#if 1") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/rtc/rtc.h" "#ifdef RTC_STATIC" "#if 1") +endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") diff --git a/ports/libdatachannel/uwp-warnings.patch b/ports/libdatachannel/uwp-warnings.patch index 6885dee0f626ea..23d23dd3141a85 100644 --- a/ports/libdatachannel/uwp-warnings.patch +++ b/ports/libdatachannel/uwp-warnings.patch @@ -1,17 +1,15 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index c8e2f1e..1dfcd62 100644 +index 1b5190b..763b49e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -471,6 +471,12 @@ if(WARNINGS_AS_ERRORS) - endif() +@@ -315,6 +315,10 @@ target_link_libraries(datachannel-static PRIVATE Usrsctp::Usrsctp plog::plog) + if(WIN32) + target_link_libraries(datachannel PUBLIC ws2_32) # winsock2 + target_link_libraries(datachannel-static PUBLIC ws2_32) # winsock2 ++ if(CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") ++ target_compile_options(datachannel PRIVATE /wd4996) ++ target_compile_options(datachannel-static PRIVATE /wd4996) ++ endif() endif() -+if(BUILD_SHARED_LIBS) -+ target_compile_options(datachannel PRIVATE /wd4996) -+elseif(BUILD_STATIC_LIBS) -+ target_compile_options(datachannel-static PRIVATE /wd4996) -+endif() -+ - if(BUILD_SHARED_LIBS) - install(TARGETS datachannel EXPORT LibDataChannelTargets - RUNTIME DESTINATION bin + if (NO_WEBSOCKET) diff --git a/ports/libdatachannel/vcpkg.json b/ports/libdatachannel/vcpkg.json index 12f67a87d1ea3a..71d55e0f4dad2b 100644 --- a/ports/libdatachannel/vcpkg.json +++ b/ports/libdatachannel/vcpkg.json @@ -1,13 +1,14 @@ { "name": "libdatachannel", - "version-semver": "0.18.6", - "port-version": 2, + "version-semver": "0.21.2", + "port-version": 1, "description": "libdatachannel is a standalone implementation of WebRTC Data Channels, WebRTC Media Transport, and WebSockets in C++17 with C bindings for POSIX platforms (including GNU/Linux, Android, and Apple macOS) and Microsoft Windows.", "homepage": "https://github.com/paullouisageneau/libdatachannel", "license": "MPL-2.0", "supports": "!xbox", "dependencies": [ "libjuice", + "nlohmann-json", "openssl", "plog", "usrsctp", diff --git a/ports/libdc1394/portfile.cmake b/ports/libdc1394/portfile.cmake index 64856f91f44bdf..e22c3bb771815d 100644 --- a/ports/libdc1394/portfile.cmake +++ b/ports/libdc1394/portfile.cmake @@ -1,11 +1,9 @@ -set(LIBDC1394_VER "2.2.6") - vcpkg_from_sourceforge( OUT_SOURCE_PATH SOURCE_PATH REPO libdc1394/libdc1394-2 - REF "${LIBDC1394_VER}" - FILENAME "libdc1394-${LIBDC1394_VER}.tar.gz" - SHA512 2d60ed1054da67d8518e870193b60c1d79778858f48cc6487e252de00cc57a08548515d41914a37d0227d29e158d68892c290f83930ffd95f4a483dce5aa3d25 + REF "${VERSION}" + FILENAME "libdc1394-${VERSION}.tar.gz" + SHA512 0d0b1861612f7c69753af7109ef226ea4e550353222e02663dfaac3fa8f456b94c2dd2579cac840047a42bac97692da436f10be3def1fa29109de05c1e871257 PATCHES fix-macosx.patch ) diff --git a/ports/libdc1394/vcpkg.json b/ports/libdc1394/vcpkg.json index 34ff812baabf62..575b58fb0edcdd 100644 --- a/ports/libdc1394/vcpkg.json +++ b/ports/libdc1394/vcpkg.json @@ -1,7 +1,6 @@ { "name": "libdc1394", - "version": "2.2.6", - "port-version": 1, + "version": "2.2.7", "description": "libdc1394 is a library that provides a complete high level application programming interface (API) for developers who wish to control IEEE 1394 based cameras that conform to the 1394-based Digital Camera Specifications (also known as the IIDC or DCAM Specifications).", "homepage": "https://damien.douxchamps.net/ieee1394/libdc1394", "supports": "!windows", diff --git a/ports/libde265/fix-lib-version.patch b/ports/libde265/fix-lib-version.patch deleted file mode 100644 index 98e5a16e38de07..00000000000000 --- a/ports/libde265/fix-lib-version.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff --git a/libde265/CMakeLists.txt b/libde265/CMakeLists.txt -index 2856f90..ccbc8b6 100644 ---- a/libde265/CMakeLists.txt -+++ b/libde265/CMakeLists.txt -@@ -147,5 +147,6 @@ else() - set(includedir "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}") - endif() - -+set(VERSION ${PROJECT_VERSION}) # so that the replacement in libde265.pc will work with both autotools and CMake - configure_file(../libde265.pc.in ${CMAKE_CURRENT_BINARY_DIR}/libde265.pc @ONLY) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libde265.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) diff --git a/ports/libde265/portfile.cmake b/ports/libde265/portfile.cmake index 856d2176fc0621..7d52d0d830fc62 100644 --- a/ports/libde265/portfile.cmake +++ b/ports/libde265/portfile.cmake @@ -2,23 +2,16 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO strukturag/libde265 REF "v${VERSION}" - SHA512 aa744c521fb15e68940956f70997ab969094aee1c129d404ee9a52f318248353bb8d53250b575b4040402645e44701086b78143f1e1122b61a925e9b6cd07566 + SHA512 df380f1ea6345e20ed1f907df3c7cdaaac44358a6746e29e16699005783ce96524d30fec7bba457c9f9773a6373250aaaf0b9cd41224057b269798117964b8b5 HEAD_REF master PATCHES fix-interface-include.patch - fix-lib-version.patch -) - -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - INVERTED_FEATURES - sse DISABLE_SSE ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DCMAKE_DISABLE_FIND_PACKAGE_SDL=ON - ${FEATURE_OPTIONS} + -DENABLE_SDL=OFF ) vcpkg_cmake_install() diff --git a/ports/libde265/vcpkg.json b/ports/libde265/vcpkg.json index d11d6fa0d4861a..4cafa870925dcb 100644 --- a/ports/libde265/vcpkg.json +++ b/ports/libde265/vcpkg.json @@ -1,11 +1,10 @@ { "name": "libde265", - "version": "1.0.11", - "port-version": 2, + "version": "1.0.15", "description": "Open h.265 video codec implementation.", "homepage": "https://www.libde265.org/", "license": "LGPL-3.0-only", - "supports": "!uwp & !xbox & !(arm & windows)", + "supports": "!uwp & !xbox", "dependencies": [ { "name": "vcpkg-cmake", @@ -15,11 +14,5 @@ "name": "vcpkg-cmake-config", "host": true } - ], - "features": { - "sse": { - "description": "Enable SSE optimizations", - "supports": "x86 | x64" - } - } + ] } diff --git a/ports/libdeflate/portfile.cmake b/ports/libdeflate/portfile.cmake index db7e8ca8ca33c0..d8f63abe9c7658 100644 --- a/ports/libdeflate/portfile.cmake +++ b/ports/libdeflate/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ebiggers/libdeflate REF "v${VERSION}" - SHA512 fe57542a0d28ad61d70bef9b544bb6805f9f30930b16432712b3b1caab041f1f4e64315a4306a0635b96c2632239c5af0e45a3915581d0b89975729fc2e95613 + SHA512 c1effb9c5ee8d65bc12ae3d0669a4a394acace13cc146300ed24a7f12a0ec058f66729e1ffbae268711bdcc4151143752ab2d56a099dd6394b2735e8e2f1b671 HEAD_REF master PATCHES remove_wrong_c_flags_modification.diff @@ -32,6 +32,17 @@ vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/libdeflate") vcpkg_fixup_pkgconfig() +if(VCPKG_TARGET_IS_WINDOWS) + if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/libdeflate.h" "defined(LIBDEFLATE_DLL)" "1") + elseif(NOT VCPKG_TARGET_IS_MINGW) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libdeflate.pc" " -ldeflate" " -ldeflatestatic") + if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libdeflate.pc" " -ldeflate" " -ldeflatestatic") + endif() + endif() +endif() + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/libdeflate/usage b/ports/libdeflate/usage index 0c41e9570abd23..c7a57452f4ce27 100644 --- a/ports/libdeflate/usage +++ b/ports/libdeflate/usage @@ -1,4 +1,4 @@ -The package zstd provides CMake targets: +libdeflate provides CMake targets: find_package(libdeflate CONFIG REQUIRED) target_link_libraries(main PRIVATE $,libdeflate::libdeflate_shared,libdeflate::libdeflate_static>) diff --git a/ports/libdeflate/vcpkg.json b/ports/libdeflate/vcpkg.json index 60f273db36aacb..bb18d66d299d87 100644 --- a/ports/libdeflate/vcpkg.json +++ b/ports/libdeflate/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libdeflate", - "version": "1.19", + "version": "1.23", "description": "libdeflate is a library for fast, whole-buffer DEFLATE-based compression and decompression.", "homepage": "https://github.com/ebiggers/libdeflate", "license": "MIT", diff --git a/ports/libdisasm/vcpkg.json b/ports/libdisasm/vcpkg.json index 0a51bb37ef0b51..d5a6f418c568b3 100644 --- a/ports/libdisasm/vcpkg.json +++ b/ports/libdisasm/vcpkg.json @@ -1,9 +1,10 @@ { "name": "libdisasm", "version": "0.23", - "port-version": 10, + "port-version": 11, "description": "x86 Disassembler Library.", "homepage": "https://sourceforge.net/projects/bastard", + "license": "ClArtistic", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/libdivide/portfile.cmake b/ports/libdivide/portfile.cmake index 7a082e92cbb667..ed326d6d34c88d 100644 --- a/ports/libdivide/portfile.cmake +++ b/ports/libdivide/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ridiculousfish/libdivide - REF 5.0 - SHA512 89581efab63a0668405196d4d8188e03f3b87027e9014ef7238e1d79fe369d8abbca0e44b00cf02b00be29c272feb34c9b9290313596adbef9b46ae0715c29dd + REF "v${VERSION}" + SHA512 1c94dabca83984ef8190ba91b328e5e994a9bc41b4f4b6800d7417db3312283576759ba3039741a4f045adab6f0391b82ba93523b802bb6a37bc3fd693a80e05 HEAD_REF master PATCHES no-werror.patch diff --git a/ports/libdivide/vcpkg.json b/ports/libdivide/vcpkg.json index a379f7eca4d3d9..2cf56e454a24f2 100644 --- a/ports/libdivide/vcpkg.json +++ b/ports/libdivide/vcpkg.json @@ -1,7 +1,6 @@ { "name": "libdivide", - "version": "5.0", - "port-version": 1, + "version": "5.1", "description": "libdivide.h is a header-only C/C++ library for optimizing integer division.", "homepage": "https://github.com/ridiculousfish/libdivide", "dependencies": [ diff --git a/ports/libdmx/portfile.cmake b/ports/libdmx/portfile.cmake index 82801b1d305d9c..94824562208118 100644 --- a/ports/libdmx/portfile.cmake +++ b/ports/libdmx/portfile.cmake @@ -6,8 +6,8 @@ vcpkg_from_gitlab( GITLAB_URL https://gitlab.freedesktop.org/xorg OUT_SOURCE_PATH SOURCE_PATH REPO lib/libdmx - REF 6056db9a2fa8ad1ea55f8b8e2cbf5972408d612f - SHA512 f7b0a3fb26bc68e5dd27a0afa98ed29fed31956fd07f89b57171d7f9d9a0a87185876551dbf312b8d90a66fa50de06992cf9eb386fa98dd8133946de3c37e274 + REF "libdmx-${VERSION}" + SHA512 2c634f57a7229e2d10b3ce700fe20d53a1578b9eb6d575eab9f0a9f228410dd6a17aa2a3d60503c0c0a14029d8a4ca8db6061b966108272ac8e8052bd3750300 HEAD_REF master ) set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/xorg/aclocal/\"") diff --git a/ports/libdmx/vcpkg.json b/ports/libdmx/vcpkg.json index c54eeb4c6c07de..dc7174fb534bfa 100644 --- a/ports/libdmx/vcpkg.json +++ b/ports/libdmx/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libdmx", - "version": "1.1.4", + "version": "1.1.5", "description": "X Window System DMX (Distributed Multihead X) extension library", "homepage": "https://gitlab.freedesktop.org/xorg/lib/libdmx", "license": "MIT", diff --git a/ports/libdshowcapture/portfile.cmake b/ports/libdshowcapture/portfile.cmake index 79633e0f7fab1a..c33902a0f06a19 100644 --- a/ports/libdshowcapture/portfile.cmake +++ b/ports/libdshowcapture/portfile.cmake @@ -13,12 +13,16 @@ vcpkg_cmake_configure( vcpkg_cmake_build(TARGET libdshowcapture) # Copy files -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/libdshowcapture" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/libdshowcapture.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") + if(NOT VCPKG_BUILD_TYPE) + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/libdshowcapture.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") + endif() file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/libdshowcapture.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/bin") endif() -file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/libdshowcapture.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") +if(NOT VCPKG_BUILD_TYPE) + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/libdshowcapture.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") +endif() file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/libdshowcapture.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") file(INSTALL "${SOURCE_PATH}/dshowcapture.hpp" DESTINATION "${CURRENT_PACKAGES_DIR}/include") diff --git a/ports/libdshowcapture/vcpkg.json b/ports/libdshowcapture/vcpkg.json index 643b10dc840fda..4d1214a3400dae 100644 --- a/ports/libdshowcapture/vcpkg.json +++ b/ports/libdshowcapture/vcpkg.json @@ -1,7 +1,7 @@ { "name": "libdshowcapture", "version": "0.6.0", - "port-version": 3, + "port-version": 4, "description": "Free and Open Source C++11 Library for capturing DirectShow video/audio devices on windows.", "supports": "windows & !uwp", "dependencies": [ diff --git a/ports/libdvdcss/portfile.cmake b/ports/libdvdcss/portfile.cmake new file mode 100644 index 00000000000000..b6fa8a51a64076 --- /dev/null +++ b/ports/libdvdcss/portfile.cmake @@ -0,0 +1,33 @@ +vcpkg_from_gitlab( + OUT_SOURCE_PATH SOURCE_PATH + GITLAB_URL https://code.videolan.org/ + REPO videolan/libdvdcss + REF ${VERSION} + SHA512 b4265ea7c31ca863569b6b20caf158d7ecf9ef6ca8ea3fb372ab7a730e2cb0fdfc2331e6b7aba102faa7751301e063f466dc5dc50a467dd659e008ee7c73383a + HEAD_REF master +) +file(WRITE "${SOURCE_PATH}/ChangeLog" "Cf. https://code.videolan.org/videolan/libdvdcss/-/commits/${VERSION}/") # not in git + +set(cppflags "") +if(VCPKG_TARGET_IS_WINDOWS) + # PATH_MAX from msvc/libdvdcss.vcxproj + set(cppflags "CPPFLAGS=\$CPPFLAGS -DPATH_MAX=2048 -DWIN32_LEAN_AND_MEAN") +endif() + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + OPTIONS + --disable-doc + ${cppflags} +) +vcpkg_install_make() +vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" +) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/libdvdcss/vcpkg.json b/ports/libdvdcss/vcpkg.json new file mode 100644 index 00000000000000..d5500ed85c763a --- /dev/null +++ b/ports/libdvdcss/vcpkg.json @@ -0,0 +1,8 @@ +{ + "name": "libdvdcss", + "version-semver": "1.4.3", + "description": "Accessing DVDs like a block device library", + "homepage": "https://www.videolan.org/developers/libdvdcss.html", + "license": "GPL-2.0-or-later", + "supports": "!uwp & !xbox" +} diff --git a/ports/libdvdnav/msvc.diff b/ports/libdvdnav/msvc.diff new file mode 100644 index 00000000000000..314871a53269a8 --- /dev/null +++ b/ports/libdvdnav/msvc.diff @@ -0,0 +1,73 @@ +diff --git a/msvc/config.h b/msvc/config.h +index 25f68fb..c3f00f1 100644 +--- a/msvc/config.h ++++ b/msvc/config.h +@@ -28,7 +28,8 @@ + #define inline __inline + /* #undef size_t */ + +-#define ssize_t __int64 ++#include ++typedef SSIZE_T ssize_t; + + #ifndef PATH_MAX + #define PATH_MAX MAX_PATH +@@ -43,14 +44,6 @@ + #define S_ISCHR(m) 0 + + /* Fallback types (very x86-centric, sorry) */ +-typedef unsigned char uint8_t; +-typedef signed char int8_t; +-typedef unsigned short uint16_t; +-typedef signed short int16_t; +-typedef unsigned int uint32_t; +-typedef signed int int32_t; +-typedef unsigned __int64 uint64_t; +-typedef signed __int64 int64_t; +-typedef unsigned int uintptr_t; ++#include + + #endif /* LIBDVNAV_CONFIG_H */ +diff --git a/msvc/include/sys/time.h b/msvc/include/sys/time.h +index 843e252..8014739 100644 +--- a/msvc/include/sys/time.h ++++ b/msvc/include/sys/time.h +@@ -26,3 +26,4 @@ + */ + + #include ++#include +diff --git a/src/dvdnav_internal.h b/src/dvdnav_internal.h +index 495f032..a0aaeaf 100644 +--- a/src/dvdnav_internal.h ++++ b/src/dvdnav_internal.h +@@ -39,6 +39,7 @@ typedef CRITICAL_SECTION pthread_mutex_t; + #ifndef HAVE_GETTIMEOFDAY + /* replacement gettimeofday implementation */ + #include ++#include + static inline int _private_gettimeofday( struct timeval *tv, void *tz ) + { + struct timeb t; +@@ -232,7 +233,7 @@ int64_t dvdnav_convert_time(dvd_time_t *time); + #define printerrf(format, args...) \ + do { if (this) snprintf(this->err_str, MAX_ERR_LEN, format, ## args); } while (0) + #else +-#ifdef _MSC_VER ++#if 0 + #define printerrf(str) \ + do { if (this) snprintf(this->err_str, MAX_ERR_LEN, str); } while (0) + #else +diff --git a/src/read_cache.c b/src/read_cache.c +index 1b2862d..abc786a 100644 +--- a/src/read_cache.c ++++ b/src/read_cache.c +@@ -87,7 +87,7 @@ struct read_cache_s { + # if READ_CACHE_TRACE + # define dprintf(fmt, ...) fprintf(MSG_OUT, "libdvdnav: %s: "fmt, __func__ , __VA_ARGS__) + # else +-#ifdef _MSC_VER ++#if 0 + # define dprintf(fmt, str) /* Nowt */ + #else + # define dprintf(fmt, ...) /* Nowt */ diff --git a/ports/libdvdnav/no-undefined.diff b/ports/libdvdnav/no-undefined.diff new file mode 100644 index 00000000000000..8505c6b6529981 --- /dev/null +++ b/ports/libdvdnav/no-undefined.diff @@ -0,0 +1,12 @@ +diff --git a/configure.ac b/configure.ac +index 595378b..516f26e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -118,6 +118,7 @@ dnl + dnl This should be after all checks + dnl --------------------------------------------- + AS_CASE([$host_os], ++ [*mingw32*], LDFLAGS="-no-undefined $LDFLAGS", + [os2*], [LDFLAGS="$LDFLAGS -no-undefined"]) + + dnl --------------------------------------------- diff --git a/ports/libdvdnav/portfile.cmake b/ports/libdvdnav/portfile.cmake new file mode 100644 index 00000000000000..be7a8961a3a7c6 --- /dev/null +++ b/ports/libdvdnav/portfile.cmake @@ -0,0 +1,43 @@ +vcpkg_from_gitlab( + OUT_SOURCE_PATH SOURCE_PATH + GITLAB_URL https://code.videolan.org/ + REPO videolan/libdvdnav + REF ${VERSION} + SHA512 080814c30f193176393bf6d4496a1e815b3b288cd102201ba177a13a46f733e1e0b5e05d6ca169e902c669d6f3567926c97e5a20a6712ed5620dcb10c3c3a022 + HEAD_REF master + PATCHES + msvc.diff + no-undefined.diff +) +file(REMOVE_RECURSE "${SOURCE_PATH}/msvc/include/inttypes.h") + +vcpkg_find_acquire_program(PKGCONFIG) +cmake_path(GET PKGCONFIG PARENT_PATH pkgconfig_dir) +vcpkg_add_to_path("${pkgconfig_dir}") + +set(cppflags "") +if(VCPKG_TARGET_IS_WINDOWS) + # PATH_MAX from msvc/libdvdcss.vcxproj + set(cppflags "CPPFLAGS=\$CPPFLAGS -DPATH_MAX=2048 -DWIN32_LEAN_AND_MEAN") + if(NOT VCPKG_TARGET_IS_MINGW) + cmake_path(RELATIVE_PATH SOURCE_PATH BASE_DIRECTORY "${CURRENT_BUILDTREES_DIR}" OUTPUT_VARIABLE sources) + string(APPEND cppflags " -I../${sources}/msvc/include -D_CRT_SECURE_NO_WARNINGS") + endif() +endif() + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + OPTIONS + ${cppflags} +) +vcpkg_install_make() +vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" +) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/libdvdnav/vcpkg.json b/ports/libdvdnav/vcpkg.json new file mode 100644 index 00000000000000..b89bb8398fb92a --- /dev/null +++ b/ports/libdvdnav/vcpkg.json @@ -0,0 +1,11 @@ +{ + "name": "libdvdnav", + "version-semver": "6.1.1", + "description": "Library to navigate DVD disks", + "homepage": "https://www.videolan.org/developers/libdvdnav.html", + "license": "GPL-2.0-or-later", + "supports": "!uwp & !xbox", + "dependencies": [ + "libdvdread" + ] +} diff --git a/ports/libdvdread/msvc.diff b/ports/libdvdread/msvc.diff new file mode 100644 index 00000000000000..566bfe38b9e782 --- /dev/null +++ b/ports/libdvdread/msvc.diff @@ -0,0 +1,55 @@ +diff --git a/msvc/config.h b/msvc/config.h +index 4e9b60e..2f1e615 100644 +--- a/msvc/config.h ++++ b/msvc/config.h +@@ -28,7 +28,6 @@ + #define inline __inline + /* #undef size_t */ + +-#define ssize_t __int64 + + #ifndef PATH_MAX + #define PATH_MAX MAX_PATH +@@ -43,14 +42,6 @@ + #define S_ISCHR(m) 0 + + /* Fallback types (very x86-centric, sorry) */ +-typedef unsigned char uint8_t; +-typedef signed char int8_t; +-typedef unsigned short uint16_t; +-typedef signed short int16_t; +-typedef unsigned int uint32_t; +-typedef signed int int32_t; +-typedef unsigned __int64 uint64_t; +-typedef signed __int64 int64_t; +-typedef unsigned int uintptr_t; ++#include + + #endif /* LIBDVDREAD_CONFIG_H */ +diff --git a/src/dvd_reader.c b/src/dvd_reader.c +index c4d9641..b3b0158 100644 +--- a/src/dvd_reader.c ++++ b/src/dvd_reader.c +@@ -60,6 +60,7 @@ + + #if defined(_WIN32) + # include ++# include + # include "msvc/contrib/win32_cs.h" + #endif + +diff --git a/src/dvdread/dvd_reader.h b/src/dvdread/dvd_reader.h +index 5681e0e..6c1cee6 100644 +--- a/src/dvdread/dvd_reader.h ++++ b/src/dvdread/dvd_reader.h +@@ -24,7 +24,9 @@ + #define LIBDVDREAD_DVD_READER_H + + #ifdef _MSC_VER +-#include ++#include ++typedef SSIZE_T ssize_t; ++#include + + #include + #include diff --git a/ports/libdvdread/no-undefined.diff b/ports/libdvdread/no-undefined.diff new file mode 100644 index 00000000000000..f43db8d469e3b8 --- /dev/null +++ b/ports/libdvdread/no-undefined.diff @@ -0,0 +1,12 @@ +diff --git a/configure.ac b/configure.ac +index a60ef0c..eeb6715 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -63,6 +63,7 @@ AS_CASE([$host], + [*mingw32* | *cygwin*], [AC_CHECK_FUNCS(gettimeofday)]) + + AS_CASE([$host], ++ [*mingw32*], LDFLAGS="-no-undefined $LDFLAGS", + [*-os2-*], LDFLAGS="-no-undefined -Zbin-files $LDFLAGS") + + AS_CASE([$host], diff --git a/ports/libdvdread/portfile.cmake b/ports/libdvdread/portfile.cmake new file mode 100644 index 00000000000000..e394c4c47b159f --- /dev/null +++ b/ports/libdvdread/portfile.cmake @@ -0,0 +1,47 @@ +vcpkg_from_gitlab( + OUT_SOURCE_PATH SOURCE_PATH + GITLAB_URL https://code.videolan.org/ + REPO videolan/libdvdread + REF ${VERSION} + SHA512 9eb6d551489ab1d214c56461eebafd6ecba7de8dcc60aecb7e22f82c019fd3d045fc09af66507c2e14bc53e099aec8e87620dfd988fe047a7bfa5e5d1d2c46bd + HEAD_REF master + PATCHES + msvc.diff + no-undefined.diff +) +file(REMOVE_RECURSE "${SOURCE_PATH}/msvc/include/inttypes.h") +file(TOUCH "${SOURCE_PATH}/msvc/include/strings.h") +file(WRITE "${SOURCE_PATH}/ChangeLog" "Cf. https://code.videolan.org/videolan/libdvdread/-/commits/${VERSION}/") # not in git + +vcpkg_find_acquire_program(PKGCONFIG) +cmake_path(GET PKGCONFIG PARENT_PATH pkgconfig_dir) +vcpkg_add_to_path("${pkgconfig_dir}") + +set(cppflags "") +if(VCPKG_TARGET_IS_WINDOWS) + # PATH_MAX from msvc/libdvdcss.vcxproj + set(cppflags "CPPFLAGS=\$CPPFLAGS -DPATH_MAX=2048 -DWIN32_LEAN_AND_MEAN") + if(NOT VCPKG_TARGET_IS_MINGW) + cmake_path(RELATIVE_PATH SOURCE_PATH BASE_DIRECTORY "${CURRENT_BUILDTREES_DIR}" OUTPUT_VARIABLE sources) + string(APPEND cppflags " -I../${sources}/msvc/include -D_CRT_SECURE_NO_WARNINGS") + endif() +endif() + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + OPTIONS + --disable-apidoc + --with-libdvdcss + ${cppflags} +) +vcpkg_install_make() +vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" +) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/libdvdread/vcpkg.json b/ports/libdvdread/vcpkg.json new file mode 100644 index 00000000000000..d361ae86d03653 --- /dev/null +++ b/ports/libdvdread/vcpkg.json @@ -0,0 +1,11 @@ +{ + "name": "libdvdread", + "version-semver": "6.1.3", + "description": "Library to read DVD disks", + "homepage": "https://www.videolan.org/developers/libdvdnav.html", + "license": "GPL-2.0-or-later", + "supports": "!uwp & !xbox", + "dependencies": [ + "libdvdcss" + ] +} diff --git a/ports/libdwarf/dependencies.diff b/ports/libdwarf/dependencies.diff new file mode 100644 index 00000000000000..4d03ed02d7dc31 --- /dev/null +++ b/ports/libdwarf/dependencies.diff @@ -0,0 +1,45 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 133523b4..0c754c6d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -188,7 +188,7 @@ if (ENABLE_DECOMPRESSION) + #message(STATUS "In ENABLE_DECOMPRESSION setup: TRUE") + # Zlib and ZSTD need to be found otherwise disable it + if(NOT TARGET ZLIB::ZLIB) +- find_package(ZLIB) ++ find_package(ZLIB REQUIRED) + else() + # Presumably in this case, the target has been found externally but set this flag just in case + set(ZLIB_FOUND TRUE) +@@ -203,7 +203,7 @@ if (ENABLE_DECOMPRESSION) + TARGET ZSTD::ZSTD + ) + ) +- find_package(zstd) ++ find_package(zstd CONFIG REQUIRED) + else() + # Presumably in this case, the target has been found externally but set this flag just in case + set(zstd_FOUND TRUE) +diff --git a/src/lib/libdwarf/cmake/libdwarfConfig.cmake.in b/src/lib/libdwarf/cmake/libdwarfConfig.cmake.in +index 567bcf3..888b801 100644 +--- a/src/lib/libdwarf/cmake/libdwarfConfig.cmake.in ++++ b/src/lib/libdwarf/cmake/libdwarfConfig.cmake.in +@@ -7,7 +7,7 @@ if(LIBDWARF_BUILT_WITH_ZLIB_AND_ZSTD) + find_dependency(ZLIB) + set(CMAKE_MODULE_PATH_OLD "${CMAKE_MODULE_PATH}") + set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${CMAKE_CURRENT_LIST_DIR}") +- find_dependency(zstd) ++ find_dependency(zstd CONFIG) + set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH_OLD}") + unset(CMAKE_MODULE_PATH_OLD) + endif() +diff --git a/src/lib/libdwarf/libdwarf.pc.in b/src/lib/libdwarf/libdwarf.pc.in +index 1d78dbb..3bb9178 100644 +--- a/src/lib/libdwarf/libdwarf.pc.in ++++ b/src/lib/libdwarf/libdwarf.pc.in +@@ -9,4 +9,5 @@ Description: DWARF debug symbols library + Version: @PROJECT_VERSION@ + Libs: -L${libdir} -ldwarf + Cflags: -I${includedir} ++Requires.private: zlib libzstd + diff --git a/ports/libdwarf/dwarfdump-conf.diff b/ports/libdwarf/dwarfdump-conf.diff new file mode 100644 index 00000000000000..a076f029ff5964 --- /dev/null +++ b/ports/libdwarf/dwarfdump-conf.diff @@ -0,0 +1,19 @@ +diff --git a/src/bin/dwarfdump/CMakeLists.txt b/src/bin/dwarfdump/CMakeLists.txt +index 6e3761d..5124f29 100644 +--- a/src/bin/dwarfdump/CMakeLists.txt ++++ b/src/bin/dwarfdump/CMakeLists.txt +@@ -62,7 +62,7 @@ add_executable(dwarfdump ${SOURCES} ${HEADERS} ${CONFIGURATION_FILES}) + set_folder(dwarfdump src/bin/dwarfdump) + + target_compile_definitions(dwarfdump PRIVATE +- "CONFPREFIX=${CMAKE_INSTALL_PREFIX}/lib" ${DW_LIBDWARF_STATIC}) ++ "CONFPREFIX=${CMAKE_INSTALL_DATAROOTDIR}/libdwarf" ${DW_LIBDWARF_STATIC}) + target_compile_options(dwarfdump PRIVATE ${DW_FWALL}) + + target_link_libraries(dwarfdump PRIVATE dwarf) +@@ -72,4 +72,4 @@ install(TARGETS dwarfdump DESTINATION + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + +-install(FILES dwarfdump.conf DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/dwarfdump) ++install(FILES dwarfdump.conf DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/libdwarf) diff --git a/ports/libdwarf/include-dir.diff b/ports/libdwarf/include-dir.diff new file mode 100644 index 00000000000000..749cfe67d0d327 --- /dev/null +++ b/ports/libdwarf/include-dir.diff @@ -0,0 +1,44 @@ +diff --git a/src/lib/libdwarf/CMakeLists.txt b/src/lib/libdwarf/CMakeLists.txt +index 0278755..19f1673 100644 +--- a/src/lib/libdwarf/CMakeLists.txt ++++ b/src/lib/libdwarf/CMakeLists.txt +@@ -103,7 +103,7 @@ msvc_posix(dwarf) + target_compile_definitions(dwarf PUBLIC ${DEFS}) + target_include_directories(dwarf PUBLIC + $ +- $ ++ $ + ) + if(ZLIB_FOUND AND zstd_FOUND) + target_link_libraries(dwarf PRIVATE ZLIB::ZLIB ${ZSTD_LIB} ) +@@ -114,7 +114,7 @@ install(TARGETS dwarf + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" +- PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" ++ PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/libdwarf" + ) + + configure_file(libdwarf.pc.in libdwarf.pc @ONLY) +@@ -130,7 +130,7 @@ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libdwarfConfig.cmake" "${CMAKE_CURREN + install(TARGETS dwarf EXPORT libdwarfTargets + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" +- PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") ++ PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/libdwarf") + install(EXPORT libdwarfTargets + FILE libdwarf-targets.cmake + NAMESPACE libdwarf:: +diff --git a/src/lib/libdwarf/libdwarf.pc.in b/src/lib/libdwarf/libdwarf.pc.in +index 3bb9178..4a094d1 100644 +--- a/src/lib/libdwarf/libdwarf.pc.in ++++ b/src/lib/libdwarf/libdwarf.pc.in +@@ -2,7 +2,7 @@ + prefix=@CMAKE_INSTALL_PREFIX@ + exec_prefix="${prefix}" + libdir="${prefix}/lib" +-includedir="${prefix}/include" ++includedir="${prefix}/include/libdwarf" + + Name: libdwarf + Description: DWARF debug symbols library diff --git a/ports/libdwarf/msvc-runtime.diff b/ports/libdwarf/msvc-runtime.diff new file mode 100644 index 00000000000000..3232921a88d034 --- /dev/null +++ b/ports/libdwarf/msvc-runtime.diff @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 28076ee..f9795dd 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -19,6 +19,8 @@ endmacro() + set(LIBDWARF_CRT "MD" CACHE STRING "Either MT or MD, specifies whether to use the static or dynamic MSVCRT.") + + if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") ++ set(LIBDWARF_CRT ignore) ++elseif(0) + # Use CMAKE_MSVC_RUNTIME in versions 3.15 and up + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15") + cmake_policy(SET CMP0091 NEW) diff --git a/ports/libdwarf/off_t.diff b/ports/libdwarf/off_t.diff new file mode 100644 index 00000000000000..f7338a83166bd4 --- /dev/null +++ b/ports/libdwarf/off_t.diff @@ -0,0 +1,16 @@ +diff --git a/src/lib/libdwarf/libdwarf_private.h b/src/lib/libdwarf/libdwarf_private.h +index b37ae994..7fa89256 100644 +--- a/src/lib/libdwarf/libdwarf_private.h ++++ b/src/lib/libdwarf/libdwarf_private.h +@@ -26,11 +26,7 @@ + #ifdef _MSC_VER /* Macro to select VS compiler */ + #include + typedef SSIZE_T ssize_t; +-#ifdef _WIN64 +-typedef long long off_t; +-#else + typedef long off_t; +-#endif + #endif /* _MSC_VER */ + + #ifndef TRUE diff --git a/ports/libdwarf/portfile.cmake b/ports/libdwarf/portfile.cmake new file mode 100644 index 00000000000000..5c33d984a201cc --- /dev/null +++ b/ports/libdwarf/portfile.cmake @@ -0,0 +1,55 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO davea42/libdwarf-code + REF "v${VERSION}" + SHA512 598237db755c595bae2c998d99ea73d7a835b802cee5feaa7c8f99521fc0bf8c7bd56131c5421c80290d2f1237f9a51b5e3fb29c483c5271c45cd9640592360f + HEAD_REF main + PATCHES + include-dir.diff # avoid dwarf.h conflict with elfutils + dependencies.diff + msvc-runtime.diff + off_t.diff + dwarfdump-conf.diff # no absolute paths +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_NON_SHARED) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_NON_SHARED=${BUILD_NON_SHARED} + -DBUILD_SHARED=${BUILD_SHARED} + OPTIONS_DEBUG + -DBUILD_DWARFDUMP=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/libdwarf") +vcpkg_fixup_pkgconfig() +vcpkg_copy_pdbs() +vcpkg_copy_tools(TOOL_NAMES dwarfdump AUTO_CLEAN) + +if(BUILD_SHARED) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/libdwarf/libdwarf.h" "ifndef LIBDWARF_STATIC" "if 1") +endif() + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/share/libdwarf/Findzstd.cmake" +) + +file(COPY_FILE "${SOURCE_PATH}/src/lib/libdwarf/COPYING" "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/libdwarf COPYING") +file(COPY_FILE "${SOURCE_PATH}/src/bin/dwarfdump/COPYING" "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/dwarfdump COPYING") +file(COPY_FILE "${SOURCE_PATH}/src/bin/dwarfgen/COPYING" "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/dwarfgen COPYING") +vcpkg_install_copyright(FILE_LIST + "${SOURCE_PATH}/COPYING" + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/libdwarf COPYING" + "${SOURCE_PATH}/src/lib/libdwarf/LIBDWARFCOPYRIGHT" + "${SOURCE_PATH}/src/lib/libdwarf/LGPL.txt" + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/dwarfdump COPYING" + "${SOURCE_PATH}/src/bin/dwarfdump/DWARFDUMPCOPYRIGHT" + "${SOURCE_PATH}/src/bin/dwarfdump/GPL.txt" + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/dwarfgen COPYING" +) diff --git a/ports/libdwarf/vcpkg.json b/ports/libdwarf/vcpkg.json new file mode 100644 index 00000000000000..9ec0e2f5f97a98 --- /dev/null +++ b/ports/libdwarf/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "libdwarf", + "version": "0.11.1", + "description": "A library for reading DWARF2 and later DWARF.", + "homepage": "https://github.com/davea42/libdwarf-code", + "license": null, + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "zlib", + "zstd" + ] +} diff --git a/ports/libe57format/portfile.cmake b/ports/libe57format/portfile.cmake index ec47b23d6ca950..2a5a75d84a8b4b 100644 --- a/ports/libe57format/portfile.cmake +++ b/ports/libe57format/portfile.cmake @@ -2,21 +2,27 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO asmaloney/libE57Format REF "v${VERSION}" - SHA512 5458e35b319f41290594daefe5de18476ff1c4ed94712d881ed907b72a9c7a470e4d091d68cc1d6115838843e682ed158fc8c7a9fa68eef6c2cf421cda361f7e + SHA512 3c69766fbd4b048db760835181fdb928add08b5914c00f3927739a36797aa4417b0607654100c578e1c8778605b617bc2a29d342d26931bdb87924ca58080dcd HEAD_REF master - PATCHES - prevent_warning_as_errors.diff # see https://github.com/asmaloney/libE57Format/issues/232 ) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" E57_BUILD_SHARED) + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DE57_BUILD_TEST=OFF + -DE57_BUILD_SHARED=${E57_BUILD_SHARED} + -DE57_RELEASE_LTO=OFF ) vcpkg_cmake_install() vcpkg_cmake_config_fixup(PACKAGE_NAME E57Format CONFIG_PATH "lib/cmake/E57Format") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/libe57format RENAME copyright) -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" +) + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") diff --git a/ports/libe57format/prevent_warning_as_errors.diff b/ports/libe57format/prevent_warning_as_errors.diff deleted file mode 100644 index aa32bf22b1c923..00000000000000 --- a/ports/libe57format/prevent_warning_as_errors.diff +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/cmake/CompilerWarnings.cmake b/cmake/CompilerWarnings.cmake -index 9a9e507..eb1a1c5 100644 ---- a/cmake/CompilerWarnings.cmake -+++ b/cmake/CompilerWarnings.cmake -@@ -86,6 +86,8 @@ endif() - - # Treat warnings as errors - function( set_warning_as_error ) -+ return() -+ - message( STATUS "[${PROJECT_NAME}] Treating warnings as errors") - - if ( CMAKE_VERSION VERSION_GREATER_EQUAL "3.24" ) diff --git a/ports/libe57format/usage b/ports/libe57format/usage new file mode 100644 index 00000000000000..97bf3fe40f37a5 --- /dev/null +++ b/ports/libe57format/usage @@ -0,0 +1,4 @@ +libe57format provides CMake targets: + + find_package(E57Format CONFIG REQUIRED) + target_link_libraries(main PRIVATE E57Format) diff --git a/ports/libe57format/vcpkg.json b/ports/libe57format/vcpkg.json index b0c08548e1ba46..89615c6c43a8cf 100644 --- a/ports/libe57format/vcpkg.json +++ b/ports/libe57format/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libe57format", - "version": "3.0.0", + "version": "3.2.0", "description": "A library to provide read & write support for the E57 file format.", "homepage": "https://github.com/asmaloney/libE57Format", "license": "BSL-1.0", diff --git a/ports/libedit/portfile.cmake b/ports/libedit/portfile.cmake new file mode 100644 index 00000000000000..c6fa61aa347bbb --- /dev/null +++ b/ports/libedit/portfile.cmake @@ -0,0 +1,37 @@ +message( +"libedit currently requires the following programs from the system package manager: + autoconf autoheader aclocal automake libtoolize +On Debian and Ubuntu derivatives: + sudo apt install autoconf libtool +On recent Red Hat and Fedora derivatives: + sudo dnf install autoconf libtool +On Arch Linux and derivatives: + sudo pacman -S autoconf automake libtool +On Alpine: + apk add autoconf automake libtool" +) + +string(REPLACE "-" "" REF_SHORT_VERSION_DATE ${VERSION}) +vcpkg_download_distfile(ARCHIVE + URLS "https://thrysoee.dk/editline/libedit-${REF_SHORT_VERSION_DATE}-3.1.tar.gz" + FILENAME "libedit-${REF_SHORT_VERSION_DATE}-3.1.tar.gz" + SHA512 b11d64947f9484bb2320b0fbcfdc94466993af1dfa0d853853b73c222e95d6c1e78d88d0c305929b95bf7a85009129475c9fef0ac8595b43d75543d85052a4ff +) + +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" +) + +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") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/libedit/vcpkg.json b/ports/libedit/vcpkg.json new file mode 100644 index 00000000000000..f5133042710fa6 --- /dev/null +++ b/ports/libedit/vcpkg.json @@ -0,0 +1,8 @@ +{ + "name": "libedit", + "version-date": "2024-08-08", + "description": "A command line editor library that provides generic line editing, history, and tokenization functions, similar to those found in GNU Readline.", + "homepage": "https://thrysoee.dk/editline/", + "license": "BSD-4-Clause-UC", + "supports": "(!windows | mingw) & !android" +} diff --git a/ports/libenvpp/portfile.cmake b/ports/libenvpp/portfile.cmake index 5000d6cfb8b37e..0f20a149de89a5 100644 --- a/ports/libenvpp/portfile.cmake +++ b/ports/libenvpp/portfile.cmake @@ -4,7 +4,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ph3at/libenvpp REF v${VERSION} - SHA512 0b4ed6496efc54165e8e161510146146cfefb90c303a913bab6a6749ae4292823c19f34734d417a2bd4d44d8d05a68c60acd852c03487f40ba6126eeb3db16bd + SHA512 1c5d0575d9f1668c68d23aa4163eba18a90173ac7601d8b8f142d9826e3971ad9d0a1d880d6d3f8a80ed964b4fca2e28590d130fdce542d85e04413687b3b0ae HEAD_REF main PATCHES fix-dependencies.patch diff --git a/ports/libenvpp/vcpkg.json b/ports/libenvpp/vcpkg.json index 1225008c5b4f7b..17076fd942e89d 100644 --- a/ports/libenvpp/vcpkg.json +++ b/ports/libenvpp/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libenvpp", - "version": "1.3.0", + "version": "1.4.1", "description": "A modern C++ library for type-safe environment variable parsing ", "homepage": "https://github.com/ph3at/libenvpp", "license": "Apache-2.0", diff --git a/ports/liberasurecode/fix-build.patch b/ports/liberasurecode/fix-build.patch new file mode 100644 index 00000000000000..0677673639826d --- /dev/null +++ b/ports/liberasurecode/fix-build.patch @@ -0,0 +1,38 @@ +diff --git a/Makefile.am b/Makefile.am +index 6135f2a..e68974f 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -8,7 +8,7 @@ INCLUDE = -I$(abs_top_builddir)/include \ + -I$(abs_top_builddir)/include/xor_codes + + AM_CPPFLAGS = $(CPPFLAGS) $(INCLUDE) +-AM_CPPFLAGS += -Werror -Wall ++AM_CPPFLAGS += -Wall + + AM_CFLAGS = -fPIC $(AM_CPPFLAGS) @GCOV_FLAGS@ -L/usr/local/lib + +diff --git a/erasurecode.pc.in b/erasurecode.pc.in +index 148c382..5a8578f 100644 +--- a/erasurecode.pc.in ++++ b/erasurecode.pc.in +@@ -11,5 +11,6 @@ Version: @LIBERASURECODE_VERSION@ + Requires: + Conflicts: + Libs: -L${libdir} -lerasurecode -ldl +-Libs.private: @ERASURECODE_STATIC_LIBS@ -lz ++Libs.private: -lXorcode -lnullcode -lerasurecode_rs_vand ++Requires.private: zlib + Cflags: -I${includedir}/ -I${includedir}/liberasurecode +diff --git a/src/Makefile.am b/src/Makefile.am +index 693809e..097954d 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -32,7 +32,7 @@ liberasurecode_la_SOURCES = \ + backends/shss/shss.c \ + backends/phazrio/libphazr.c + +-liberasurecode_la_CPPFLAGS = -Werror @GCOV_FLAGS@ ++liberasurecode_la_CPPFLAGS = @GCOV_FLAGS@ + liberasurecode_la_LIBADD = \ + builtin/null_code/libnullcode.la \ + builtin/xor_codes/libXorcode.la \ diff --git a/ports/liberasurecode/portfile.cmake b/ports/liberasurecode/portfile.cmake new file mode 100644 index 00000000000000..072afb3f0b2585 --- /dev/null +++ b/ports/liberasurecode/portfile.cmake @@ -0,0 +1,23 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO openstack/liberasurecode + REF "${VERSION}" + SHA512 9815e159e6b9aa44e47fb0ec1eec04321c48e160ec617511720569e445d8085848124e7385ab2be54615e0c2f4a37a44ae5d2de460a7d6ea36782dfe08c2e53a + HEAD_REF master + PATCHES + fix-build.patch +) + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + OPTIONS + "--disable-werror" +) + +vcpkg_install_make() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/liberasurecode/vcpkg.json b/ports/liberasurecode/vcpkg.json new file mode 100644 index 00000000000000..a8b8c579a972f9 --- /dev/null +++ b/ports/liberasurecode/vcpkg.json @@ -0,0 +1,11 @@ +{ + "name": "liberasurecode", + "version": "1.6.4", + "description": "Erasure Code API library written in C with pluggable Erasure Code backends. Mirror of code maintained at opendev.org.", + "homepage": "https://github.com/openstack/liberasurecode", + "license": "BSD-2-Clause", + "supports": "!android & !windows", + "dependencies": [ + "zlib" + ] +} diff --git a/ports/libev/0000-event-fix-undefined-struct-timeval.patch b/ports/libev/0000-event-fix-undefined-struct-timeval.patch new file mode 100644 index 00000000000000..3ffce5f16d232f --- /dev/null +++ b/ports/libev/0000-event-fix-undefined-struct-timeval.patch @@ -0,0 +1,14 @@ +diff --git a/event.c b/event.c +index 5586cd3..a67ca54 100644 +--- a/event.c ++++ b/event.c +@@ -40,6 +40,9 @@ + #include + #include + #include ++#ifdef _WIN32 ++#include ++#endif + + #ifdef EV_EVENT_H + # include EV_EVENT_H diff --git a/ports/libev/portfile.cmake b/ports/libev/portfile.cmake index 2a44f859c11f24..d93a57dda9da2c 100644 --- a/ports/libev/portfile.cmake +++ b/ports/libev/portfile.cmake @@ -7,11 +7,19 @@ vcpkg_download_distfile(ARCHIVE vcpkg_extract_source_archive( SOURCE_PATH ARCHIVE "${ARCHIVE}" + PATCHES "0000-event-fix-undefined-struct-timeval.patch" ) +set(LIBEV_LINK_FLAGS "") + +if(VCPKG_TARGET_IS_WINDOWS) + list(APPEND LIBEV_LINK_FLAGS "LDFLAGS=-no-undefined -lws2_32 \$LDFLAGS") +endif() + vcpkg_configure_make( SOURCE_PATH "${SOURCE_PATH}" AUTOCONFIG + OPTIONS ${LIBEV_LINK_FLAGS} ) vcpkg_install_make() diff --git a/ports/libev/vcpkg.json b/ports/libev/vcpkg.json index 930e6d9fe7c661..3c39dc394ffac1 100644 --- a/ports/libev/vcpkg.json +++ b/ports/libev/vcpkg.json @@ -1,9 +1,8 @@ { "name": "libev", "version": "4.33", - "port-version": 2, + "port-version": 3, "description": "libev is a high-performance event loop/event model with lots of features.", "homepage": "http://software.schmorp.de/pkg/libev.html", - "license": "BSD-2-Clause OR GPL-2.0-or-later", - "supports": "!windows" + "license": "BSD-2-Clause OR GPL-2.0-or-later" } diff --git a/ports/libevent/portfile.cmake b/ports/libevent/portfile.cmake index d33234dd00832c..59b8a7e689b8a3 100644 --- a/ports/libevent/portfile.cmake +++ b/ports/libevent/portfile.cmake @@ -66,6 +66,7 @@ endif() vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/share/libevent/LibeventTargets-${_target_suffix}.cmake "${CURRENT_PACKAGES_DIR}" "${CURRENT_INSTALLED_DIR}" + IGNORE_UNCHANGED ) vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/share/libevent/LibeventConfig.cmake "${SOURCE_PATH}/include;${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/include" "") vcpkg_fixup_pkgconfig() diff --git a/ports/libevent/vcpkg.json b/ports/libevent/vcpkg.json index 9b2f2a2ed406ad..7fd1419ba567c0 100644 --- a/ports/libevent/vcpkg.json +++ b/ports/libevent/vcpkg.json @@ -1,6 +1,7 @@ { "name": "libevent", "version": "2.1.12+20230128", + "port-version": 1, "description": "An event notification library", "homepage": "https://github.com/libevent/libevent", "license": "BSD-3-Clause", diff --git a/ports/libeventheader-decode/portfile.cmake b/ports/libeventheader-decode/portfile.cmake index cfd4f684488c6d..d6086334c430c9 100644 --- a/ports/libeventheader-decode/portfile.cmake +++ b/ports/libeventheader-decode/portfile.cmake @@ -4,19 +4,31 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO "microsoft/LinuxTracepoints" REF "v${VERSION}" - SHA512 3ef4881b66c8990afe3aab844f4e5b9dcc98b67f954027ffe60f2b868a0501f04d6bb0747021b4ffff2e984987028d641975215b7ab32d0fd710171385f0f030 + SHA512 baf27c967b2fa1fb8e8684951fd8e12e40fe9c23f5052a2d77c63eceab6ddfc112537422b97c37cfb0e479361fa8aedea6d8d7edfae91810f1ed696060fcb822 HEAD_REF main) +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + tools BUILD_TOOLS +) + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}/libeventheader-decode-cpp" OPTIONS + ${FEATURE_OPTIONS} -DBUILD_SAMPLES=OFF - -DBUILD_TOOLS=OFF) +) vcpkg_cmake_install() vcpkg_copy_pdbs() vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") +if (BUILD_TOOLS) + vcpkg_copy_tools( + TOOL_NAMES perf-decode + AUTO_CLEAN) +endif() + vcpkg_cmake_config_fixup( PACKAGE_NAME eventheader-decode CONFIG_PATH lib/cmake/eventheader-decode) diff --git a/ports/libeventheader-decode/vcpkg.json b/ports/libeventheader-decode/vcpkg.json index a4215bc43322f5..a65da1ee9b8034 100644 --- a/ports/libeventheader-decode/vcpkg.json +++ b/ports/libeventheader-decode/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libeventheader-decode", - "version": "1.2.1", + "version": "1.4.0", "description": "C++ classes for decoding EventHeader-encoded Linux Tracepoints", "homepage": "https://github.com/microsoft/LinuxTracepoints/", "license": "MIT", @@ -8,11 +8,11 @@ "dependencies": [ { "name": "libeventheader-tracepoint", - "version>=": "1.2.1" + "version>=": "1.4.0" }, { "name": "libtracepoint-decode", - "version>=": "1.2.1" + "version>=": "1.4.0" }, { "name": "vcpkg-cmake", @@ -22,5 +22,10 @@ "name": "vcpkg-cmake-config", "host": true } - ] + ], + "features": { + "tools": { + "description": "Build user tools: perf-decode" + } + } } diff --git a/ports/libeventheader-tracepoint/portfile.cmake b/ports/libeventheader-tracepoint/portfile.cmake index 7eaceed698d72f..1bac3b75a3dd5a 100644 --- a/ports/libeventheader-tracepoint/portfile.cmake +++ b/ports/libeventheader-tracepoint/portfile.cmake @@ -6,14 +6,14 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO "microsoft/LinuxTracepoints" REF "v${VERSION}" - SHA512 3ef4881b66c8990afe3aab844f4e5b9dcc98b67f954027ffe60f2b868a0501f04d6bb0747021b4ffff2e984987028d641975215b7ab32d0fd710171385f0f030 + SHA512 baf27c967b2fa1fb8e8684951fd8e12e40fe9c23f5052a2d77c63eceab6ddfc112537422b97c37cfb0e479361fa8aedea6d8d7edfae91810f1ed696060fcb822 HEAD_REF main) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}/libeventheader-tracepoint" OPTIONS -DBUILD_SAMPLES=OFF - -DBUILD_TOOLS=OFF) +) vcpkg_cmake_install() vcpkg_copy_pdbs() diff --git a/ports/libeventheader-tracepoint/vcpkg.json b/ports/libeventheader-tracepoint/vcpkg.json index d1256054025269..eaf8c7e0176ec3 100644 --- a/ports/libeventheader-tracepoint/vcpkg.json +++ b/ports/libeventheader-tracepoint/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libeventheader-tracepoint", - "version": "1.2.1", + "version": "1.4.0", "description": "C/C++ interface for generating EventHeader-encoded Linux Tracepoints", "homepage": "https://github.com/microsoft/LinuxTracepoints/", "license": "MIT", @@ -8,7 +8,7 @@ "dependencies": [ { "name": "libtracepoint", - "version>=": "1.2.1" + "version>=": "1.4.0" }, { "name": "vcpkg-cmake", diff --git a/ports/libexif/CMakeLists.txt b/ports/libexif/CMakeLists.txt deleted file mode 100644 index be7e4ed752419f..00000000000000 --- a/ports/libexif/CMakeLists.txt +++ /dev/null @@ -1,158 +0,0 @@ -cmake_minimum_required(VERSION 3.0) -project(libexif LANGUAGES C) - -set(PACKAGE "libexif") - -option(ENABLE_NLS "Enable NLS" OFF) - -set(HEADERS - libexif/_stdint.h - libexif/exif.h - libexif/exif-byte-order.h - libexif/exif-content.h - libexif/exif-data.h - libexif/exif-data-type.h - libexif/exif-entry.h - libexif/exif-format.h - libexif/exif-gps-ifd.h - libexif/exif-ifd.h - libexif/exif-loader.h - libexif/exif-log.h - libexif/exif-mem.h - libexif/exif-mnote-data.h - libexif/exif-mnote-data-priv.h - libexif/exif-system.h - libexif/exif-tag.h - libexif/exif-utils.h -) - -set(SOURCES - libexif/exif-byte-order.c - libexif/exif-content.c - libexif/exif-data.c - libexif/exif-entry.c - libexif/exif-format.c - libexif/exif-gps-ifd.c - libexif/exif-ifd.c - libexif/exif-loader.c - libexif/exif-log.c - libexif/exif-mem.c - libexif/exif-mnote-data.c - libexif/exif-tag.c - libexif/exif-utils.c -) - -set(HEADERS_APPLE - libexif/apple/exif-mnote-data-apple.h - libexif/apple/mnote-apple-entry.h - libexif/apple/mnote-apple-tag.h -) - -set(SOURCES_APPLE - libexif/apple/exif-mnote-data-apple.c - libexif/apple/mnote-apple-entry.c - libexif/apple/mnote-apple-tag.c -) - -set(HEADERS_CANON - libexif/canon/exif-mnote-data-canon.h - libexif/canon/mnote-canon-entry.h - libexif/canon/mnote-canon-tag.h -) - -set(SOURCES_CANON - libexif/canon/exif-mnote-data-canon.c - libexif/canon/mnote-canon-entry.c - libexif/canon/mnote-canon-tag.c -) - -set(HEADERS_FUJI - libexif/fuji/exif-mnote-data-fuji.h - libexif/fuji/mnote-fuji-entry.h - libexif/fuji/mnote-fuji-tag.h -) - -set(SOURCES_FUJI - libexif/fuji/exif-mnote-data-fuji.c - libexif/fuji/mnote-fuji-entry.c - libexif/fuji/mnote-fuji-tag.c -) - -set(HEADERS_OLYMPUS - libexif/olympus/exif-mnote-data-olympus.h - libexif/olympus/mnote-olympus-entry.h - libexif/olympus/mnote-olympus-tag.h -) - -set(SOURCES_OLYMPUS - libexif/olympus/exif-mnote-data-olympus.c - libexif/olympus/mnote-olympus-entry.c - libexif/olympus/mnote-olympus-tag.c -) - -set(HEADERS_PENTAX - libexif/pentax/exif-mnote-data-pentax.h - libexif/pentax/mnote-pentax-entry.h - libexif/pentax/mnote-pentax-tag.h -) - -set(SOURCES_PENTAX - libexif/pentax/exif-mnote-data-pentax.c - libexif/pentax/mnote-pentax-entry.c - libexif/pentax/mnote-pentax-tag.c -) - -if(MSVC) - set(SOURCES_MSVC "libexif.def") -endif() - -add_library(libexif - ${SOURCES} - ${SOURCES_APPLE} - ${SOURCES_CANON} - ${SOURCES_FUJI} - ${SOURCES_OLYMPUS} - ${SOURCES_PENTAX} - ${SOURCES_MSVC} -) - -target_include_directories(libexif PRIVATE .) -target_include_directories(libexif PRIVATE ${CMAKE_BINARY_DIR}) -target_compile_definitions(libexif PRIVATE -D_CRT_SECURE_NO_WARNINGS) -target_compile_definitions(libexif PRIVATE -DGETTEXT_PACKAGE="${PACKAGE}") - -include(CheckFunctionExists) -include(CheckIncludeFile) - -check_function_exists(dcgettext HAVE_DCGETTEXT) -check_function_exists(gettext HAVE_DCGETTEXT) -check_function_exists(iconv HAVE_DCGETTEXT) -check_function_exists(localtime_r HAVE_DCGETTEXT) - -check_include_file(dlfcn.h HAVE_DLFCN_H) -check_include_file(inttypes.h HAVE_INTTYPES_H) -check_include_file(memory.h HAVE_MEMORY_H) -check_include_file(stdint.h HAVE_STDINT_H) -check_include_file(stdlib.h HAVE_STDLIB_H) -check_include_file(strings.h HAVE_STRINGS_H) -check_include_file(string.h HAVE_STRING_H) -check_include_file(sys/stat.h HAVE_SYS_STAT_H) -check_include_file(sys/stat.h HAVE_SYS_STAT_H) -check_include_file(sys/types.h HAVE_SYS_TYPES_H) -check_include_file(unistd.h HAVE_UNISTD_H) - -configure_file(config.h.cmake config.h) - -install( - TARGETS libexif - RUNTIME DESTINATION bin - ARCHIVE DESTINATION lib - LIBRARY DESTINATION lib -) - -install(FILES ${HEADERS} DESTINATION include/libexif) -install(FILES ${HEADERS_APPLE} DESTINATION include/libexif/apple) -install(FILES ${HEADERS_CANON} DESTINATION include/libexif/canon) -install(FILES ${HEADERS_FUJI} DESTINATION include/libexif/fuji) -install(FILES ${HEADERS_OLYMPUS} DESTINATION include/libexif/olympus) -install(FILES ${HEADERS_PENTAX} DESTINATION include/libexif/pentax) diff --git a/ports/libexif/add-missing-_stdint-h.patch b/ports/libexif/add-missing-_stdint-h.patch deleted file mode 100644 index 1c4c95d1c29a32..00000000000000 --- a/ports/libexif/add-missing-_stdint-h.patch +++ /dev/null @@ -1,7 +0,0 @@ -diff --git a/libexif/_stdint.h b/libexif/_stdint.h -new file mode 100644 -index 0000000..9a6118b ---- /dev/null -+++ b/libexif/_stdint.h -@@ -0,0 +1 @@ -+#include diff --git a/ports/libexif/config.h.cmake b/ports/libexif/config.h.cmake deleted file mode 100644 index 4dfbdb1b004d6c..00000000000000 --- a/ports/libexif/config.h.cmake +++ /dev/null @@ -1,96 +0,0 @@ -/* config.h.in. Generated from configure.ac by autoheader. */ - -/* Define to 1 if translation of program messages to the user's native - language is requested. */ -#cmakedefine ENABLE_NLS - -/* Define if the GNU dcgettext() function is already present or preinstalled. - */ -#cmakedefine HAVE_DCGETTEXT - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_DLFCN_H - -/* Define if the GNU gettext() function is already present or preinstalled. */ -#cmakedefine HAVE_GETTEXT - -/* Define if you have the iconv() function. */ -#cmakedefine HAVE_ICONV - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_INTTYPES_H - -/* Define to 1 if you have the `localtime_r' function. */ -#cmakedefine HAVE_LOCALTIME_R - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_MEMORY_H - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_STDINT_H - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_STDLIB_H - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_STRINGS_H - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_STRING_H - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_SYS_STAT_H - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_SYS_TYPES_H - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_UNISTD_H - -/* Define as const if the declaration of iconv() needs const. */ -#cmakedefine ICONV_CONST - -/* Define to the sub-directory in which libtool stores uninstalled libraries. - */ -#cmakedefine LT_OBJDIR - -/* Name of package */ -#cmakedefine PACKAGE - -/* Define to the address where bug reports for this package should be sent. */ -#cmakedefine PACKAGE_BUGREPORT - -/* Define to the full name of this package. */ -#cmakedefine PACKAGE_NAME - -/* Define to the full name and version of this package. */ -#cmakedefine PACKAGE_STRING - -/* Define to the one symbol short name of this package. */ -#cmakedefine PACKAGE_TARNAME - -/* Define to the home page for this package. */ -#cmakedefine PACKAGE_URL - -/* Define to the version of this package. */ -#cmakedefine PACKAGE_VERSION - -/* Define to 1 if you have the ANSI C header files. */ -#cmakedefine STDC_HEADERS - -/* Version number of package */ -#cmakedefine VERSION - -/* Define to empty if `const' does not conform to ANSI C. */ -#cmakedefine const - -/* Define to `__inline__' or `__inline' if that's what the C compiler - calls it, or to nothing if 'inline' is not supported under any name. */ -#ifndef __cplusplus -#cmakedefine inline -#endif - -#ifdef _MSC_VER -#include -typedef SSIZE_T ssize_t; -#endif \ No newline at end of file diff --git a/ports/libexif/fix-ssize.patch b/ports/libexif/fix-ssize.patch new file mode 100644 index 00000000000000..afcd87cf723aa0 --- /dev/null +++ b/ports/libexif/fix-ssize.patch @@ -0,0 +1,16 @@ +diff --git a/libexif/exif-loader.c b/libexif/exif-loader.c +index ad4ae96..8a24ef6 100644 +--- a/libexif/exif-loader.c ++++ b/libexif/exif-loader.c +@@ -19,6 +19,11 @@ + */ + + #include ++#ifdef _WIN32 ++#include ++#define ssize_t ptrdiff_t ++#endif ++ + + #include + #include diff --git a/ports/libexif/libexif.def b/ports/libexif/libexif.def deleted file mode 100644 index 7013674a8f2823..00000000000000 --- a/ports/libexif/libexif.def +++ /dev/null @@ -1,136 +0,0 @@ -EXPORTS - exif_array_set_byte_order - exif_byte_order_get_name - exif_content_add_entry - exif_content_dump - exif_content_fix - exif_content_foreach_entry - exif_content_free - exif_content_get_entry - exif_content_get_ifd - exif_content_log - exif_content_new - exif_content_new_mem - exif_content_ref - exif_content_remove_entry - exif_content_unref - exif_data_dump - exif_data_fix - exif_data_foreach_content - exif_data_free - exif_data_get_byte_order - exif_data_get_data_type - exif_data_get_log - exif_data_get_mnote_data - exif_data_load_data - exif_data_log - exif_data_new - exif_data_new_from_data - exif_data_new_from_file - exif_data_new_mem - exif_data_option_get_description - exif_data_option_get_name - exif_data_ref - exif_data_save_data - exif_data_set_byte_order - exif_data_set_data_type - exif_data_set_option - exif_data_unref - exif_data_unset_option - exif_entry_dump - exif_entry_fix - exif_entry_free - exif_entry_get_value - exif_entry_initialize - exif_entry_new - exif_entry_new_mem - exif_entry_ref - exif_entry_unref - exif_format_get_name - exif_format_get_size - exif_get_gps_tag_info - exif_get_long - exif_get_rational - exif_get_short - exif_get_slong - exif_get_srational - exif_get_sshort - exif_ifd_get_name - exif_loader_get_buf - exif_loader_get_data - exif_loader_log - exif_loader_new - exif_loader_new_mem - exif_loader_ref - exif_loader_reset - exif_loader_unref - exif_loader_write - exif_loader_write_file - exif_log - exif_log_code_get_message - exif_log_code_get_title - exif_log_free - exif_log_new - exif_log_new_mem - exif_log_ref - exif_log_set_func - exif_log_unref - exif_logv - exif_mem_alloc - exif_mem_free - exif_mem_new - exif_mem_new_default - exif_mem_realloc - exif_mem_ref - exif_mem_unref - exif_mnote_data_apple_new - exif_mnote_data_canon_new - exif_mnote_data_construct - exif_mnote_data_count - exif_mnote_data_get_description - exif_mnote_data_get_id - exif_mnote_data_get_name - exif_mnote_data_get_title - exif_mnote_data_get_value - exif_mnote_data_load - exif_mnote_data_log - exif_mnote_data_olympus_new - exif_mnote_data_pentax_new - exif_mnote_data_ref - exif_mnote_data_save - exif_mnote_data_set_byte_order - exif_mnote_data_set_offset - exif_mnote_data_unref - exif_set_long - exif_set_rational - exif_set_short - exif_set_slong - exif_set_srational - exif_set_sshort - exif_tag_from_name - exif_tag_get_description - exif_tag_get_description_in_ifd - exif_tag_get_name - exif_tag_get_name_in_ifd - exif_tag_get_support_level_in_ifd - exif_tag_get_title - exif_tag_get_title_in_ifd - exif_tag_table_count - exif_tag_table_get_name - exif_tag_table_get_tag - mnote_apple_entry_get_value - mnote_apple_tag_get_description - mnote_apple_tag_get_name - mnote_apple_tag_get_title - mnote_canon_entry_get_value - mnote_canon_tag_get_description - mnote_canon_tag_get_name - mnote_canon_tag_get_title - mnote_olympus_entry_get_value - mnote_olympus_tag_get_description - mnote_olympus_tag_get_name - mnote_olympus_tag_get_title - mnote_pentax_entry_get_value - mnote_pentax_tag_get_description - mnote_pentax_tag_get_name - mnote_pentax_tag_get_title \ No newline at end of file diff --git a/ports/libexif/portfile.cmake b/ports/libexif/portfile.cmake index 83fc06ec89bcbe..320c1ac05f336e 100644 --- a/ports/libexif/portfile.cmake +++ b/ports/libexif/portfile.cmake @@ -1,24 +1,33 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libexif/libexif - REF v0.6.24 + REF "v${VERSION}" SHA512 eac1b5220ca0e02370837a0d78a6d38e91c5afa0956d4196b26a8d2a8a2c5dea18d58c0e473285f278653c3863923241651b7dff4d007cc46385eb29ea188330 HEAD_REF master PATCHES - add-missing-_stdint-h.patch + fix-ssize.patch ) -file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -file(COPY "${CMAKE_CURRENT_LIST_DIR}/config.h.cmake" DESTINATION "${SOURCE_PATH}") -file(COPY "${CMAKE_CURRENT_LIST_DIR}/libexif.def" DESTINATION "${SOURCE_PATH}") +vcpkg_list(SET options) +if("nls" IN_LIST FEATURES) + vcpkg_list(APPEND options "--enable-nls") +else() + vcpkg_list(APPEND options "--disable-nls") +endif() -vcpkg_cmake_configure( +vcpkg_configure_make( SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + OPTIONS + ${options} + --enable-internal-docs=no + --enable-ship-binaries=no ) -vcpkg_cmake_install() -vcpkg_copy_pdbs() +vcpkg_install_make() +vcpkg_fixup_pkgconfig() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/unofficial-libexif-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/unofficial-${PORT}") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/libexif/unofficial-libexif-config.cmake b/ports/libexif/unofficial-libexif-config.cmake new file mode 100644 index 00000000000000..f446bdd169dda7 --- /dev/null +++ b/ports/libexif/unofficial-libexif-config.cmake @@ -0,0 +1,30 @@ + +if(NOT TARGET unofficial::libexif::libexif) + add_library(unofficial::libexif::libexif UNKNOWN IMPORTED) + get_filename_component(z_vcpkg_LIBEXIF_root "${CMAKE_CURRENT_LIST_FILE}" PATH) + get_filename_component(z_vcpkg_LIBEXIF_ROOT "${z_vcpkg_LIBEXIF_root}" PATH) + get_filename_component(z_VCPKG_LIBEXIF_ROOT "${z_vcpkg_LIBEXIF_ROOT}" PATH) + set_target_properties(unofficial::libexif::libexif PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${z_VCPKG_LIBEXIF_ROOT}/include" + ) + find_library(Z_VCPKG_LIBEXIF_LIBRARY_RELEASE NAMES exif PATHS "${z_VCPKG_LIBEXIF_ROOT}/lib" NO_DEFAULT_PATH REQUIRED) + find_library(Z_VCPKG_LIBEXIF_LIBRARY_DEBUG NAMES exif PATHS "${z_VCPKG_LIBEXIF_ROOT}/debug/lib" NO_DEFAULT_PATH) + + if(EXISTS "${Z_VCPKG_LIBEXIF_LIBRARY_RELEASE}") + set_property(TARGET unofficial::libexif::libexif APPEND PROPERTY IMPORTED_CONFIGURATIONS "Release") + set_target_properties(unofficial::libexif::libexif PROPERTIES + IMPORTED_LOCATION_RELEASE "${Z_VCPKG_LIBEXIF_LIBRARY_RELEASE}" + ) + endif() + + if(EXISTS "${Z_VCPKG_LIBEXIF_LIBRARY_DEBUG}") + set_property(TARGET unofficial::libexif::libexif APPEND PROPERTY IMPORTED_CONFIGURATIONS "Debug") + set_target_properties(unofficial::libexif::libexif PROPERTIES + IMPORTED_LOCATION_DEBUG "${Z_VCPKG_LIBEXIF_LIBRARY_DEBUG}" + ) + endif() + + unset(z_vcpkg_LIBEXIF_root) + unset(z_vcpkg_LIBEXIF_ROOT) + unset(z_VCPKG_LIBEXIF_ROOT) +endif() diff --git a/ports/libexif/vcpkg.json b/ports/libexif/vcpkg.json index 77c7c25aeddd85..1823547a8d62fd 100644 --- a/ports/libexif/vcpkg.json +++ b/ports/libexif/vcpkg.json @@ -1,14 +1,35 @@ { "name": "libexif", "version": "0.6.24", + "port-version": 3, "description": "a library for parsing, editing, and saving EXIF data", "homepage": "https://libexif.github.io/", "license": "LGPL-2.1-or-later", "supports": "!uwp", "dependencies": [ + { + "$comment": "Needs gettext m4 files and autopoint during autoreconf. No runtime dependency.", + "name": "gettext", + "host": true + }, { "name": "vcpkg-cmake", "host": true } - ] + ], + "features": { + "nls": { + "description": "Enable native language support.", + "dependencies": [ + { + "name": "gettext", + "host": true, + "features": [ + "tools" + ] + }, + "gettext-libintl" + ] + } + } } diff --git a/ports/libfabric/add_additional_includes.patch b/ports/libfabric/add_additional_includes.patch deleted file mode 100644 index 80c49d44d93a01..00000000000000 --- a/ports/libfabric/add_additional_includes.patch +++ /dev/null @@ -1,58 +0,0 @@ -diff --git a/libfabric.vcxproj b/libfabric.vcxproj -index c1e1792..3acbc81 100644 ---- a/libfabric.vcxproj -+++ b/libfabric.vcxproj -@@ -187,7 +187,7 @@ - Disabled - WIN32;_WINSOCKAPI_=;_CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;_WINDOWS;_USRDLL;LIBFABRIC_EXPORTS;HAVE_CONFIG_H;ENABLE_DEBUG;%(PreprocessorDefinitions) - true -- $(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include; -+ $(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include;$(AdditionalIncludeDirectories); - CompileAsC - 4127;4200;4204;4221;4115;4201;4100 - true -@@ -215,7 +215,7 @@ - Disabled - WIN32;_WINSOCKAPI_=;_CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;_WINDOWS;_USRDLL;LIBFABRIC_EXPORTS;HAVE_CONFIG_H;ENABLE_DEBUG;%(PreprocessorDefinitions) - true -- $(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include -+ $(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include;$(AdditionalIncludeDirectories); - CompileAsC - 4127;4200;94;4204;4221;869 - true -@@ -239,7 +239,7 @@ - true - WIN32;_WINSOCKAPI_=;_CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;_WINDOWS;_USRDLL;LIBFABRIC_EXPORTS;HAVE_CONFIG_H;%(PreprocessorDefinitions) - true -- $(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include -+ $(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include;$(AdditionalIncludeDirectories); - 4127;4200;4204;4221;4115;4201;4100 - true - false -@@ -265,7 +265,7 @@ - true - WIN32;_WINSOCKAPI_=;_CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;_WINDOWS;_USRDLL;LIBFABRIC_EXPORTS;HAVE_CONFIG_H;%(PreprocessorDefinitions) - true -- $(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include; -+ $(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include;$(AdditionalIncludeDirectories); - 4127;4200;4204;4221;4115;4201;4100 - true - false -@@ -285,7 +285,7 @@ - true - true - WIN32;_WINSOCKAPI_=;_CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;_WINDOWS;_USRDLL;LIBFABRIC_EXPORTS;HAVE_CONFIG_H;%(PreprocessorDefinitions) -- $(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include; -+ $(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include;$(AdditionalIncludeDirectories); - 4127;4200;4204;4221;4115;4201;4100 - true - true -@@ -307,7 +307,7 @@ - true - WIN32;_WINSOCKAPI_=;_CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;_WINDOWS;_USRDLL;LIBFABRIC_EXPORTS;HAVE_CONFIG_H;%(PreprocessorDefinitions) - true -- $(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include; -+ $(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include;$(AdditionalIncludeDirectories); - 4127;4200;94;4204;4221;869 - true - false diff --git a/ports/libfabric/portfile.cmake b/ports/libfabric/portfile.cmake index b87a10ba75405d..aeaa34225e11d8 100644 --- a/ports/libfabric/portfile.cmake +++ b/ports/libfabric/portfile.cmake @@ -1,28 +1,36 @@ -vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) +endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ofiwg/libfabric - REF bcb41c462e1e38559c94096ac06e2f578b466882 # v1.13.2 + REF v${VERSION} + SHA512 8242d1eec22a066b65cb99f5b96da44ce19c1dcb3db15238495b28147e8bcee70f6c0eaf5f72e1dc9e004809114a5f96ee696b9e5fc8bd9c07177b9916e35d05 HEAD_REF master - SHA512 b3ea464a402aa5b470ba5478350e23682488f785a3b2cb34df02f23d1663f097285f6795ab287db40b2a544c8e3969358a23165664e1fc39542038d726212e6c - PATCHES - add_additional_includes.patch ) -set(LIBFABRIC_RELEASE_CONFIGURATION "Release-v142") -set(LIBFABRIC_DEBUG_CONFIGURATION "Debug-v142") +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_msbuild_install( + SOURCE_PATH "${SOURCE_PATH}" + PROJECT_SUBPATH libfabric.vcxproj + RELEASE_CONFIGURATION Release-v142 + DEBUG_CONFIGURATION Debug-v142 + OPTIONS + "/p:SolutionDir=${SOURCE_PATH}" + ) + file(COPY "${SOURCE_PATH}/include/" DESTINATION "${CURRENT_PACKAGES_DIR}/include/libfabric") -vcpkg_msbuild_install( - SOURCE_PATH "${SOURCE_PATH}" - PROJECT_SUBPATH libfabric.vcxproj - PLATFORM "x64" - RELEASE_CONFIGURATION ${LIBFABRIC_RELEASE_CONFIGURATION} - DEBUG_CONFIGURATION ${LIBFABRIC_DEBUG_CONFIGURATION} - OPTIONS - /p:SolutionDir=${SOURCE_PATH} -) - -file(COPY "${SOURCE_PATH}/include/" DESTINATION "${CURRENT_PACKAGES_DIR}/include/libfabric") +else() + vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + OPTIONS + --with-uring=no + ) + vcpkg_install_make() + vcpkg_fixup_pkgconfig() + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +endif() vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/libfabric/vcpkg.json b/ports/libfabric/vcpkg.json index 3478c994c60d8e..006eff89c91d54 100644 --- a/ports/libfabric/vcpkg.json +++ b/ports/libfabric/vcpkg.json @@ -1,10 +1,10 @@ { "name": "libfabric", - "version-semver": "1.13.2", - "port-version": 2, - "description": "The OpenFabrics Interfaces Working Group (OFIWG) and the Libfabric open-source community are pleased to announce the release of version v1.6.2 of libfabric. See NEWS.md for the list of features and enhancements that have been added since the last release.", - "homepage": "https://github.com/ofiwg/libfabric", - "supports": "windows & !uwp & x64 & !static", + "version-semver": "1.22.0", + "description": "Libfabric, aka Open Fabrics Interfaces (OFI), defines a communication API for high-performance parallel and distributed applications.", + "homepage": "https://ofiwg.github.io/libfabric/", + "license": "BSD-2-Clause OR GPL-2.0-only", + "supports": "freebsd | linux | osx | (windows & x64 & !mingw & !uwp & !(static & staticcrt))", "dependencies": [ { "name": "networkdirect-sdk", diff --git a/ports/libffi/fix_undefind_func.patch b/ports/libffi/fix_undefind_func.patch deleted file mode 100644 index de20045408ef97..00000000000000 --- a/ports/libffi/fix_undefind_func.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/include/ffi_common.h b/include/ffi_common.h -index 2bd31b0..c53a794 100644 ---- a/include/ffi_common.h -+++ b/include/ffi_common.h -@@ -128,6 +128,10 @@ void *ffi_data_to_code_pointer (void *data) FFI_HIDDEN; - static trampoline. */ - int ffi_tramp_is_present (void *closure) FFI_HIDDEN; - -+/* Return a file descriptor of a temporary zero-sized file in a -+ writable and executable filesystem. */ -+int open_temp_exec_file(void) FFI_HIDDEN; -+ - /* Extended cif, used in callback from assembly routine */ - typedef struct - { -diff --git a/src/tramp.c b/src/tramp.c -index b9d273a..90efb07 100644 ---- a/src/tramp.c -+++ b/src/tramp.c -@@ -39,6 +39,8 @@ - #ifdef __linux__ - #define _GNU_SOURCE 1 - #endif -+#include -+#include - #include - #include - #include diff --git a/ports/libffi/portfile.cmake b/ports/libffi/portfile.cmake index f37cf125a3a232..03c1074ac3b5f4 100644 --- a/ports/libffi/portfile.cmake +++ b/ports/libffi/portfile.cmake @@ -1,23 +1,22 @@ vcpkg_download_distfile(ARCHIVE URLS "https://github.com/libffi/libffi/releases/download/v${VERSION}/libffi-${VERSION}.tar.gz" FILENAME "libffi-${VERSION}.tar.gz" - SHA512 88680aeb0fa0dc0319e5cd2ba45b4b5a340bc9b4bcf20b1e0613b39cd898f177a3863aa94034d8e23a7f6f44d858a53dcd36d1bb8dee13b751ef814224061889 + SHA512 033d2600e879b83c6bce0eb80f69c5f32aa775bf2e962c9d39fbd21226fa19d1e79173d8eaa0d0157014d54509ea73315ad86842356fc3a303c0831c94c6ab39 ) vcpkg_extract_source_archive( SOURCE_PATH ARCHIVE "${ARCHIVE}" PATCHES dll-bindir.diff - fix_undefind_func.patch ) vcpkg_list(SET options) if(VCPKG_TARGET_IS_WINDOWS) - set(extra_cflags "-DFFI_BUILDING") + set(linkage_flag "-DFFI_STATIC_BUILD") if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - string(APPEND extra_cflags " -DFFI_BUILDING_DLL") + set(linkage_flag "-DFFI_BUILDING_DLL") endif() - vcpkg_list(APPEND options "CFLAGS=\${CFLAGS} ${extra_cflags}") + vcpkg_list(APPEND options "CFLAGS=\${CFLAGS} ${linkage_flag}") endif() set(ccas_options "") @@ -42,9 +41,14 @@ vcpkg_add_to_path("${ccas_dir}") cmake_path(GET ccas FILENAME ccas_command) vcpkg_list(APPEND options "CCAS=${ccas_command}${ccas_options}") +set(configure_triplets DETERMINE_BUILD_TRIPLET) +if(VCPKG_TARGET_IS_EMSCRIPTEN) + set(configure_triplets BUILD_TRIPLET "--host=wasm32-unknown-emscripten --build=\$(\$SHELL \"${SOURCE_PATH}/config.guess\")") +endif() + vcpkg_configure_make( SOURCE_PATH "${SOURCE_PATH}" - DETERMINE_BUILD_TRIPLET + ${configure_triplets} USE_WRAPPERS OPTIONS --enable-portable-binary @@ -58,7 +62,7 @@ vcpkg_copy_pdbs() vcpkg_fixup_pkgconfig() if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/ffi.h" "!defined FFI_BUILDING" "0") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/ffi.h" "defined(FFI_STATIC_BUILD)" "1") endif() file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/libffi/vcpkg.json b/ports/libffi/vcpkg.json index 5c8fcc9abdb51b..649a5be3ab99aa 100644 --- a/ports/libffi/vcpkg.json +++ b/ports/libffi/vcpkg.json @@ -1,7 +1,6 @@ { "name": "libffi", - "version": "3.4.4", - "port-version": 6, + "version": "3.4.6", "description": "Portable, high level programming interface to various calling conventions", "homepage": "https://github.com/libffi/libffi", "license": "MIT", diff --git a/ports/libfido2/dependencies.diff b/ports/libfido2/dependencies.diff new file mode 100644 index 00000000000000..7ab6cf50185b0f --- /dev/null +++ b/ports/libfido2/dependencies.diff @@ -0,0 +1,56 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c41de28..2c5b0f3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -168,7 +168,13 @@ if(UNIX) + endif() + + +-if(MSVC) ++find_package(libcbor CONFIG REQUIRED) ++set(CBOR_LIBRARIES libcbor::libcbor) ++find_package(ZLIB REQUIRED) ++set(ZLIB_LIBRARIES ZLIB::ZLIB) ++find_package(OpenSSL REQUIRED) ++set(CRYPTO_LIBRARIES OpenSSL::Crypto) ++if(0) + if((NOT CBOR_INCLUDE_DIRS) OR (NOT CBOR_LIBRARY_DIRS) OR + (NOT CRYPTO_INCLUDE_DIRS) OR (NOT CRYPTO_LIBRARY_DIRS) OR + (NOT ZLIB_INCLUDE_DIRS) OR (NOT ZLIB_LIBRARY_DIRS)) +@@ -191,6 +197,7 @@ if(MSVC) + set(CRYPTO_LIBRARIES crypto) + endif() + ++elseif(MSVC) + set(MSVC_DISABLED_WARNINGS_LIST + "C4152" # nonstandard extension used: function/data pointer + # conversion in expression; +@@ -216,7 +223,7 @@ if(MSVC) + add_definitions(-DUSE_WINHELLO) + endif() + set(NFC_LINUX OFF) +-else() ++elseif(0) + include(FindPkgConfig) + pkg_search_module(CBOR libcbor) + pkg_search_module(CRYPTO libcrypto) +@@ -239,6 +246,7 @@ else() + set(CRYPTO_LIBRARIES "crypto") + endif() + ++elseif(1) + if(CMAKE_SYSTEM_NAME STREQUAL "Linux") + pkg_search_module(UDEV libudev REQUIRED) + set(UDEV_NAME "udev") +diff --git a/src/libfido2.pc.in b/src/libfido2.pc.in +index 03d0606..1a299ae 100644 +--- a/src/libfido2.pc.in ++++ b/src/libfido2.pc.in +@@ -7,6 +7,6 @@ Name: @PROJECT_NAME@ + Description: A FIDO2 library + URL: https://github.com/yubico/libfido2 + Version: @FIDO_VERSION@ +-Requires: libcrypto ++Requires.private: libcrypto libcbor zlib + Libs: -L${libdir} -lfido2 + Cflags: -I${includedir} diff --git a/ports/libfido2/fix_cmakelists.patch b/ports/libfido2/fix_cmakelists.patch deleted file mode 100644 index 2796d3cb17eaea..00000000000000 --- a/ports/libfido2/fix_cmakelists.patch +++ /dev/null @@ -1,56 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6fa341a..8124d80 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -169,27 +169,20 @@ endif() - - - if(MSVC) -- if((NOT CBOR_INCLUDE_DIRS) OR (NOT CBOR_LIBRARY_DIRS) OR -- (NOT CRYPTO_INCLUDE_DIRS) OR (NOT CRYPTO_LIBRARY_DIRS) OR -- (NOT ZLIB_INCLUDE_DIRS) OR (NOT ZLIB_LIBRARY_DIRS)) -- message(FATAL_ERROR "please define " -- "{CBOR,CRYPTO,ZLIB}_{INCLUDE,LIBRARY}_DIRS when " -- "building under msvc") -- endif() -- if(BUILD_TESTS AND BUILD_SHARED_LIBS AND -- ((NOT CBOR_BIN_DIRS) OR (NOT ZLIB_BIN_DIRS) OR (NOT CRYPTO_BIN_DIRS))) -- message(FATAL_ERROR "please define {CBOR,CRYPTO,ZLIB}_BIN_DIRS " -- "when building tests") -- endif() -- if(NOT CBOR_LIBRARIES) -- set(CBOR_LIBRARIES cbor) -- endif() -- if(NOT ZLIB_LIBRARIES) -- set(ZLIB_LIBRARIES zlib1) -- endif() -- if(NOT CRYPTO_LIBRARIES) -- set(CRYPTO_LIBRARIES crypto) -- endif() -+ find_package(PkgConfig) -+ -+ find_package(LIBCBOR REQUIRED) -+ find_package(OpenSSL REQUIRED) -+ find_package(ZLIB REQUIRED) -+ -+ # Handling of different Packagenames in VCPKG -+ set(CBOR_INCLUDE_DIRS ${LIBCBOR_INCLUDE_DIR}) -+ set(CRYPTO_INCLUDE_DIRS ${OPENSSL_INCLUDE_DIRS}) -+ set(CBOR_LIBRARY_DIRS ${LIBCBOR_LIBRARY_DIRS}) -+ set(CRYPTO_LIBRARY_DIRS ${OPENSSL_LIBRARY_DIRS}) -+ set(CBOR_LIBRARIES ${LIBCBOR_LIBRARIES}) -+ set(CRYPTO_LIBRARIES ${OPENSSL_LIBRARIES}) -+ add_definitions("-D_CRT_SECURE_NO_WARNINGS" "-D_CRT_NONSTDC_NO_DEPRECATE") - - set(MSVC_DISABLED_WARNINGS_LIST - "C4152" # nonstandard extension used: function/data pointer -@@ -469,6 +462,9 @@ message(STATUS "USE_PCSC: ${USE_PCSC}") - message(STATUS "USE_WINHELLO: ${USE_WINHELLO}") - message(STATUS "NFC_LINUX: ${NFC_LINUX}") - -+set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /wd4996") -+set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /wd4996") -+ - if(BUILD_TESTS) - enable_testing() - endif() diff --git a/ports/libfido2/flags.diff b/ports/libfido2/flags.diff new file mode 100644 index 00000000000000..7dd1f024a3b698 --- /dev/null +++ b/ports/libfido2/flags.diff @@ -0,0 +1,31 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2c5b0f3..b8178fa 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -219,6 +219,10 @@ elseif(MSVC) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -MP -W4 -WX ${MSVC_DISABLED_WARNINGS_STR}") + set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /Od /Z7 /guard:cf /sdl /RTCcsu") + set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /Zi /guard:cf /sdl") ++ add_definitions("-D_CRT_SECURE_NO_WARNINGS" "-D_CRT_NONSTDC_NO_DEPRECATE") ++ string(REPLACE " -WX" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") ++ string(REPLACE " /sdl" "" CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}") ++ string(REPLACE " /sdl" "" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}") + if(USE_WINHELLO) + add_definitions(-DUSE_WINHELLO) + endif() +@@ -303,7 +307,6 @@ elseif(1) + + add_compile_options(-Wall) + add_compile_options(-Wextra) +- add_compile_options(-Werror) + add_compile_options(-Wshadow) + add_compile_options(-Wcast-qual) + add_compile_options(-Wwrite-strings) +@@ -311,7 +314,6 @@ elseif(1) + add_compile_options(-Wbad-function-cast) + add_compile_options(-Wimplicit-fallthrough) + add_compile_options(-pedantic) +- add_compile_options(-pedantic-errors) + + set(EXTRA_CFLAGS "-Wconversion -Wsign-conversion") + diff --git a/ports/libfido2/portfile.cmake b/ports/libfido2/portfile.cmake index cc1010684663af..f865b7e43f9f4a 100644 --- a/ports/libfido2/portfile.cmake +++ b/ports/libfido2/portfile.cmake @@ -1,28 +1,43 @@ +if(VCPKG_TARGET_IS_LINUX) + message( +"${PORT} currently requires the following libraries from the system package manager: + libudev-dev +These can be installed on Ubuntu systems via: + sudo apt install libudev-dev" + ) +endif() + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Yubico/libfido2 REF ${VERSION} - SHA512 90f8452cee4c9cc72241478e697c5c692ccff5ab27752f2f296c3623ee297d1f80a85a359b4d0656c67790084c116aac921894e762eb52d3a79056e5014c03e7 - HEAD_REF master + SHA512 97932ca1a9f8d1bb3cb4b4a8d56ef70085d19ad2bd27c67944fa17ed033bfa45d28d7ad3fa318723e79b17ef5a882ac4f999ad8a6b9965c58665d99c4da7b5ee + HEAD_REF main PATCHES - "fix_cmakelists.patch" + dependencies.diff + flags.diff ) -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" LIBFIDO2_BUILD_STATIC) -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" LIBFIDO2_BUILD_SHARED) +vcpkg_find_acquire_program(PKGCONFIG) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC_LIBS) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_EXAMPLES=OFF -DBUILD_MANPAGES=OFF - -DBUILD_STATIC_LIBS=${LIBFIDO2_BUILD_STATIC} - -DBUILD_SHARED_LIBS=${LIBFIDO2_BUILD_SHARED} + -DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS} + -DBUILD_TESTS=OFF -DBUILD_TOOLS=OFF - ) + "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" + MAYBE_UNUSED_VARIABLES + PKG_CONFIG_EXECUTABLE +) vcpkg_cmake_install() vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/libfido2/vcpkg.json b/ports/libfido2/vcpkg.json index 6b7e9f8e8b72a9..00094c2c4473ca 100644 --- a/ports/libfido2/vcpkg.json +++ b/ports/libfido2/vcpkg.json @@ -1,10 +1,11 @@ { "name": "libfido2", - "version": "1.13.0", + "version": "1.15.0", + "port-version": 1, "description": "Provides library functionality to communicate with a FIDO device over USB, and to verify attestation and assertion signatures.", "homepage": "https://developers.yubico.com/libfido2/", "license": "BSD-2-Clause", - "supports": "!uwp & (x86 | x64) & windows", + "supports": "!android & !uwp", "dependencies": [ "libcbor", "openssl", diff --git a/ports/libfork/portfile.cmake b/ports/libfork/portfile.cmake new file mode 100644 index 00000000000000..b2df3fe603b9c9 --- /dev/null +++ b/ports/libfork/portfile.cmake @@ -0,0 +1,24 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO conorwilliams/libfork + REF "v${VERSION}" + SHA512 38a8a6fe0f360f1caa123b227996490f192f8b58340ecb5d91922c15d7ca9b364031716e139a3ab0d89cd7cdf3bfb22fcf75272e76a40513c55adaf00ff6454d + HEAD_REF main +) + +vcpkg_find_acquire_program(PKGCONFIG) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(PACKAGE_NAME "libfork") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") + +configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" COPYONLY) diff --git a/ports/libfork/usage b/ports/libfork/usage new file mode 100644 index 00000000000000..06d186ab6471f1 --- /dev/null +++ b/ports/libfork/usage @@ -0,0 +1,4 @@ +libfork provides CMake targets: + + find_package(libfork CONFIG REQUIRED) + target_link_libraries(main PRIVATE libfork::libfork) diff --git a/ports/libfork/vcpkg.json b/ports/libfork/vcpkg.json new file mode 100644 index 00000000000000..9860564c89b745 --- /dev/null +++ b/ports/libfork/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "libfork", + "version": "3.8.0", + "description": "A bleeding-edge, lock-free, wait-free, continuation-stealing fork-join library built on C++20's coroutines.", + "homepage": "https://github.com/conorwilliams/libfork", + "license": "MPL-2.0", + "dependencies": [ + "hwloc", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/libfreenect2/fix-dependency-libusb.patch b/ports/libfreenect2/fix-dependency-libusb.patch index a5de8f3bee1940..f8f21044902924 100644 --- a/ports/libfreenect2/fix-dependency-libusb.patch +++ b/ports/libfreenect2/fix-dependency-libusb.patch @@ -1,31 +1,31 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1e0d192..aedc576 100644 +index 3648fb5..43c3d28 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -90,7 +90,7 @@ SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib) +@@ -91,7 +91,7 @@ SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib) # dependencies FIND_PACKAGE(PkgConfig) # try find PKGConfig as it will be used if found -FIND_PACKAGE(LibUSB REQUIRED) -+FIND_PACKAGE(libusb CONFIG REQUIRED) ++pkg_check_modules(libusb REQUIRED IMPORTED_TARGET libusb-1.0) # Add includes INCLUDE_DIRECTORIES( -@@ -98,7 +98,7 @@ INCLUDE_DIRECTORIES( +@@ -99,7 +99,7 @@ INCLUDE_DIRECTORIES( "${MY_DIR}/include/internal" ${PROJECT_BINARY_DIR} # for generated headers ${LIBFREENECT2_THREADING_INCLUDE_DIR} - ${LibUSB_INCLUDE_DIRS} -+ ${LIBUSB_INCLUDE_DIRS} ++ ${libusb_INCLUDE_DIRS} ) SET(RESOURCES_INC_FILE "${PROJECT_BINARY_DIR}/resources.inc.h") -@@ -154,7 +154,7 @@ SET(SOURCES +@@ -157,7 +157,7 @@ SET(SOURCES ) SET(LIBRARIES - ${LibUSB_LIBRARIES} -+ ${LIBUSB_LIBRARIES} ++ PkgConfig::libusb ${LIBFREENECT2_THREADING_LIBRARIES} ) diff --git a/ports/libfreenect2/portfile.cmake b/ports/libfreenect2/portfile.cmake index 770dd0faa69861..efc6c9980d8c35 100644 --- a/ports/libfreenect2/portfile.cmake +++ b/ports/libfreenect2/portfile.cmake @@ -21,13 +21,26 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS openni2 BUILD_OPENNI2_DRIVER ) +vcpkg_find_acquire_program(PKGCONFIG) + +if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + set(path_suffix "/debug") +endif() +if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + set(path_suffix "") +endif() +vcpkg_backup_env_variables(VARS PKG_CONFIG_PATH) +vcpkg_host_path_list(PREPEND ENV{PKG_CONFIG_PATH} "${CURRENT_INSTALLED_DIR}${path_suffix}/lib/pkgconfig") + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS + "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" -DENABLE_CUDA=OFF -DBUILD_EXAMPLES=OFF ${FEATURE_OPTIONS} ) +vcpkg_restore_env_variables(VARS PKG_CONFIG_PATH) vcpkg_cmake_install() diff --git a/ports/libfreenect2/vcpkg.json b/ports/libfreenect2/vcpkg.json index 59e75a596f55c3..c8f3262c248a68 100644 --- a/ports/libfreenect2/vcpkg.json +++ b/ports/libfreenect2/vcpkg.json @@ -1,9 +1,10 @@ { "name": "libfreenect2", "version": "0.2.1", + "port-version": 2, "description": "Open source drivers for the Kinect for Windows v2 device", "homepage": "https://github.com/OpenKinect/libfreenect2", - "license": "GPL-2.0-only", + "license": "GPL-2.0-only OR Apache-2.0", "supports": "!xbox", "dependencies": [ "libjpeg-turbo", diff --git a/ports/libfs/portfile.cmake b/ports/libfs/portfile.cmake index 75b3c6db41baa4..4e09efaf693f95 100644 --- a/ports/libfs/portfile.cmake +++ b/ports/libfs/portfile.cmake @@ -7,8 +7,8 @@ vcpkg_from_gitlab( GITLAB_URL https://gitlab.freedesktop.org/xorg OUT_SOURCE_PATH SOURCE_PATH REPO lib/libfs - REF 02de7390e58f00a3701f656a2b205dc6c8dafb58 # 1.0.8 - SHA512 7395434c20cebc45213122c12dc272773d100ade606d6fb2cacf94e2d102c9869124a89dbd0ddf2fa9128e8b238cf2f52b89d356b296e8d95ff352be48a4bc54 + REF "libFS-${VERSION}" + SHA512 8d21f82fb335b3ff2f09875a118e90ab1425ce3456ee5d9cbd319491c8def5b8318860d427e1bbb74eae8fbc8f6f199375d4765b2e409ea91a82ecb852a7bab4 HEAD_REF master ) diff --git a/ports/libfs/vcpkg.json b/ports/libfs/vcpkg.json index 8cbaa03cc30fa9..1ed0a56f5ac0a6 100644 --- a/ports/libfs/vcpkg.json +++ b/ports/libfs/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libfs", - "version": "1.0.8", + "version": "1.0.9", "description": "X Font Service client library", "homepage": "https://gitlab.freedesktop.org/xorg/lib/libfs", "license": null, diff --git a/ports/libftdi1/cmake-version.diff b/ports/libftdi1/cmake-version.diff new file mode 100644 index 00000000000000..6ab7a74bcbde39 --- /dev/null +++ b/ports/libftdi1/cmake-version.diff @@ -0,0 +1,19 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5aecafc..4158267 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,4 +1,5 @@ + # Project ++cmake_minimum_required(VERSION 3.5) + project(libftdi1 C) + set(MAJOR_VERSION 1) + set(MINOR_VERSION 5) +@@ -11,8 +12,6 @@ set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake) + if("${CMAKE_BUILD_TYPE}" STREQUAL "") + set(CMAKE_BUILD_TYPE RelWithDebInfo) + endif("${CMAKE_BUILD_TYPE}" STREQUAL "") +-set(CMAKE_COLOR_MAKEFILE ON) +-cmake_minimum_required(VERSION 2.6 FATAL_ERROR) + + add_definitions(-Wall) + diff --git a/ports/libftdi1/disable-config-script.diff b/ports/libftdi1/disable-config-script.diff new file mode 100644 index 00000000000000..d573d92c966f02 --- /dev/null +++ b/ports/libftdi1/disable-config-script.diff @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4158267..61828d3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -170,6 +170,7 @@ install(FILES ${CMAKE_BINARY_DIR}/libftdi1.pc ${CMAKE_BINARY_DIR}/libftdipp1.pc + DESTINATION lib${LIB_SUFFIX}/pkgconfig) + + if (UNIX OR MINGW) ++elseif (0) + configure_file ( libftdi1-config.in ${CMAKE_CURRENT_BINARY_DIR}/libftdi1-config @ONLY ) + install ( PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/libftdi1-config + DESTINATION bin ) diff --git a/ports/libftdi1/libconfuse-fix.patch b/ports/libftdi1/libconfuse-fix.patch deleted file mode 100644 index b50bb0a3c00dff..00000000000000 --- a/ports/libftdi1/libconfuse-fix.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/cmake/FindConfuse.cmake b/cmake/FindConfuse.cmake -index f6af7d5..e24d72f 100755 ---- a/cmake/FindConfuse.cmake -+++ b/cmake/FindConfuse.cmake -@@ -46,7 +46,7 @@ find_path ( CONFUSE_INCLUDE_DIR - set ( CONFUSE_INCLUDE_DIRS ${CONFUSE_INCLUDE_DIR} ) - - find_library ( CONFUSE_LIBRARY -- NAMES confuse -+ NAMES libconfuse - ) - - set ( CONFUSE_LIBRARIES ${CONFUSE_LIBRARY} ) diff --git a/ports/libftdi1/libdir.diff b/ports/libftdi1/libdir.diff new file mode 100644 index 00000000000000..eac596c8368b9e --- /dev/null +++ b/ports/libftdi1/libdir.diff @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index fa5b3bf..5963df0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -166,6 +166,7 @@ endif(${UNIX}) + if(${WIN32}) + set(libdir ${CMAKE_INSTALL_PREFIX}/bin) + endif(${WIN32}) ++set(libdir ${CMAKE_INSTALL_PREFIX}/lib) + + configure_file(${CMAKE_SOURCE_DIR}/libftdi1.pc.in ${CMAKE_BINARY_DIR}/libftdi1.pc @ONLY) + configure_file(${CMAKE_SOURCE_DIR}/libftdipp1.pc.in ${CMAKE_BINARY_DIR}/libftdipp1.pc @ONLY) diff --git a/ports/libftdi1/libftdipp1.diff b/ports/libftdi1/libftdipp1.diff new file mode 100644 index 00000000000000..93aaadb3ea2796 --- /dev/null +++ b/ports/libftdi1/libftdipp1.diff @@ -0,0 +1,39 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4158267..64ad5b3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -135,7 +135,7 @@ endif () + + add_subdirectory(src) + if ( FTDIPP ) +- project(libftdipp1 C CXX) ++ enable_language(CXX) + add_subdirectory(ftdipp) + endif () + if ( PYTHON_BINDINGS ) +@@ -192,6 +192,7 @@ list ( APPEND LIBFTDI_STATIC_LIBRARIES ${LIBUSB_LIBRARIES} ) + if ( FTDIPP ) + set ( LIBFTDIPP_LIBRARY ftdipp1 ) + set ( LIBFTDIPP_LIBRARIES ${LIBFTDIPP_LIBRARY} ) ++ list ( APPEND LIBFTDI_INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ) + list ( APPEND LIBFTDIPP_LIBRARIES ${LIBUSB_LIBRARIES} ) + endif () + set ( LIBFTDI_LIBRARY_DIRS ${libdir} ) +@@ -203,6 +204,7 @@ set ( LIBFTDI_ROOT_DIR ${prefix} ) + set ( LIBFTDI_VERSION_STRING ${VERSION_STRING} ) + set ( LIBFTDI_VERSION_MAJOR ${MAJOR_VERSION} ) + set ( LIBFTDI_VERSION_MINOR ${MINOR_VERSION} ) ++set ( LIBFTDIPP_LIBRARIES ${LIBFTDIPP_LIBRARY} ${LIBFTDI_LIBRARIES}) + + set ( LIBFTDI_USE_FILE ${CMAKE_INSTALL_PREFIX}/${LIBFTDI_CMAKE_CONFIG_DIR}/UseLibFTDI1.cmake ) + +diff --git a/libftdipp1.pc.in b/libftdipp1.pc.in +index 8158f38..b4fff0a 100644 +--- a/libftdipp1.pc.in ++++ b/libftdipp1.pc.in +@@ -8,4 +8,4 @@ Description: C++ wrapper for libftdi1 + Requires: libftdi1 + Version: @VERSION@ + Libs: -L${libdir} -lftdipp1 +-Cflags: -I${includedir} ++Cflags: -I${includedir} -I${prefix}/include diff --git a/ports/libftdi1/libusb-fix.patch b/ports/libftdi1/libusb-fix.patch deleted file mode 100644 index 98dae3dea07414..00000000000000 --- a/ports/libftdi1/libusb-fix.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/cmake/FindUSB1.cmake b/cmake/FindUSB1.cmake -index b90e297..6cc97a0 100755 ---- a/cmake/FindUSB1.cmake -+++ b/cmake/FindUSB1.cmake -@@ -26,7 +26,7 @@ else (LIBUSB_INCLUDE_DIR AND LIBUSB_LIBRARIES) - PATH_SUFFIXES libusb-1.0 - PATHS ${PC_LIBUSB_INCLUDEDIR} ${PC_LIBUSB_INCLUDE_DIRS}) - -- FIND_LIBRARY(LIBUSB_LIBRARIES NAMES usb-1.0 -+ FIND_LIBRARY(LIBUSB_LIBRARIES NAMES usb-1.0 libusb-1.0 - PATHS ${PC_LIBUSB_LIBDIR} ${PC_LIBUSB_LIBRARY_DIRS}) - - include(FindPackageHandleStandardArgs) diff --git a/ports/libftdi1/libusb.diff b/ports/libftdi1/libusb.diff new file mode 100644 index 00000000000000..186a79db851ab9 --- /dev/null +++ b/ports/libftdi1/libusb.diff @@ -0,0 +1,16 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b5c812c..7fb66f7 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -24,7 +24,10 @@ if(${CMAKE_BUILD_TYPE} STREQUAL Debug) + endif(${CMAKE_BUILD_TYPE} STREQUAL Debug) + + # find libusb +-find_package ( USB1 REQUIRED ) ++find_package(PkgConfig REQUIRED) ++pkg_check_modules(LIBUSB REQUIRED libusb-1.0) ++set(LIBUSB_INCLUDE_DIR "${LIBUSB_INCLUDE_DIRS}") ++set(LIBUSB_LIBRARIES "${LIBUSB_LINK_LIBRARIES}") + include_directories ( ${LIBUSB_INCLUDE_DIR} ) + + # Find Boost diff --git a/ports/libftdi1/linkage.diff b/ports/libftdi1/linkage.diff new file mode 100644 index 00000000000000..5bc19ef5252075 --- /dev/null +++ b/ports/libftdi1/linkage.diff @@ -0,0 +1,49 @@ +diff --git a/ftdipp/CMakeLists.txt b/ftdipp/CMakeLists.txt +index fac5bcc..8a20a04 100644 +--- a/ftdipp/CMakeLists.txt ++++ b/ftdipp/CMakeLists.txt +@@ -11,6 +11,11 @@ include_directories(BEFORE ${CMAKE_CURRENT_BINARY_DIR} + + include_directories(${Boost_INCLUDE_DIRS}) + ++if(WIN32) ++ set(BUILD_SHARED_LIBS OFF) ++ set(STATICLIBS ON) ++endif() ++if(BUILD_SHARED_LIBS) + # Shared library + add_library(ftdipp1 SHARED ${cpp_sources}) + +@@ -28,6 +33,7 @@ install ( TARGETS ftdipp1 + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX} + ) ++endif() + + # Static library + if ( STATICLIBS ) +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 17b3617..087fba8 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -19,8 +19,12 @@ configure_file(ftdi_version_i.h.in "${CMAKE_CURRENT_BINARY_DIR}/ftdi_version_i.h + + # Targets + set(c_sources ${CMAKE_CURRENT_SOURCE_DIR}/ftdi.c ${CMAKE_CURRENT_SOURCE_DIR}/ftdi_stream.c CACHE INTERNAL "List of c sources" ) ++if(WIN32) ++ set(c_sources ${CMAKE_CURRENT_SOURCE_DIR}/ftdi.c ${CMAKE_CURRENT_SOURCE_DIR}/exports.def CACHE INTERNAL "List of c sources" ) ++endif() + set(c_headers ${CMAKE_CURRENT_SOURCE_DIR}/ftdi.h CACHE INTERNAL "List of c headers" ) + ++if(BUILD_SHARED_LIBS) + add_library(ftdi1 SHARED ${c_sources}) + + math(EXPR VERSION_FIXUP "${MAJOR_VERSION} + 1") # Compatibility with previous releases +@@ -37,6 +41,7 @@ install ( TARGETS ftdi1 + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX} + ) ++endif() + + if ( STATICLIBS ) + add_library(ftdi1-static STATIC ${c_sources}) diff --git a/ports/libftdi1/portfile.cmake b/ports/libftdi1/portfile.cmake index c51808805900d6..fabdcd41090c45 100644 --- a/ports/libftdi1/portfile.cmake +++ b/ports/libftdi1/portfile.cmake @@ -6,44 +6,74 @@ vcpkg_download_distfile(ARCHIVE vcpkg_extract_source_archive( SOURCE_PATH - ARCHIVE ${ARCHIVE} + ARCHIVE "${ARCHIVE}" SOURCE_BASE 1.5 PATCHES - libusb-fix.patch - libconfuse-fix.patch - win32.patch + cmake-version.diff + disable-config-script.diff + linkage.diff + libdir.diff + libftdipp1.diff + libusb.diff ) file(COPY "${CMAKE_CURRENT_LIST_DIR}/exports.def" DESTINATION "${SOURCE_PATH}/src") +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" STATICLIBS) + +vcpkg_check_features(OUT_FEATURE_OPTIONS options + FEATURES + cpp FTDIPP +) + +vcpkg_find_acquire_program(PKGCONFIG) + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS + ${options} -DBUILD_TESTS=OFF + -DCMAKE_CXX_STANDARD=11 -DDOCUMENTATION=OFF -DEXAMPLES=OFF - -DPYTHON_BINDINGS=OFF - -DLINK_PYTHON_LIBRARY=OFF - -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=ON - -DCMAKE_DISABLE_FIND_PACKAGE_Boost=ON - -DCMAKE_DISABLE_FIND_PACKAGE_Libintl=ON - -DCMAKE_DISABLE_FIND_PACKAGE_PythonLibs=ON - -DCMAKE_DISABLE_FIND_PACKAGE_PythonInterp=ON -DFTDI_EEPROM=OFF + -DLIB_SUFFIX= + "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" + -DPYTHON_BINDINGS=OFF + -DSTATICLIBS=${STATICLIBS} ) vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() +if(NOT VCPKG_BUILD_TYPE) + file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/cmake/libftdi1/LibFTDI1Config.cmake" "${CURRENT_PACKAGES_DIR}/debug/lib/cmake/libftdi1/LibFTDI1Config-debug.cmake") +endif() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/libftdi1) - -vcpkg_fixup_pkgconfig() +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/LibFTDI1Config.cmake" "/lib/cmake/${PORT}/" "/share/${PORT}/") +if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/LibFTDI1Config-debug.cmake" "/debug/lib/cmake/${PORT}/" "/share/${PORT}/") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/LibFTDI1Config-debug.cmake" "{_IMPORT_PREFIX}" "{VCPKG_IMPORT_PREFIX}") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/LibFTDI1Config-debug.cmake" "{VCPKG_IMPORT_PREFIX}/debug/include/" "{VCPKG_IMPORT_PREFIX}/include/") + file(READ "${CURRENT_PACKAGES_DIR}/share/${PORT}/LibFTDI1Config.cmake" release_config) + file(WRITE "${CURRENT_PACKAGES_DIR}/share/${PORT}/LibFTDI1Config.cmake" " +if(NOT DEFINED CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE MATCHES \"^[Dd][Ee][Bb][Uu][Gg]\$\") + include(\"\${CMAKE_CURRENT_LIST_DIR}/LibFTDI1Config-debug.cmake\") + return() +endif() +${release_config}" + ) +endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") - -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") +if(NOT "cpp" IN_LIST FEATURES) + file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libftdipp1.pc" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libftdipp1.pc") endif() -vcpkg_copy_pdbs() +set(file_list "${SOURCE_PATH}/COPYING.LIB") +if("cpp" IN_LIST FEATURES) + set(file_list "${SOURCE_PATH}/LICENSE" "${SOURCE_PATH}/COPYING.LIB" "${SOURCE_PATH}/COPYING.GPL") +endif() -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST ${file_list}) diff --git a/ports/libftdi1/vcpkg.json b/ports/libftdi1/vcpkg.json index 982f2b5e96902d..89d77cf2bdc646 100644 --- a/ports/libftdi1/vcpkg.json +++ b/ports/libftdi1/vcpkg.json @@ -1,11 +1,15 @@ { "name": "libftdi1", "version": "1.5", - "port-version": 4, + "port-version": 5, "description": "FTDI USB driver with bitbang mode", + "homepage": "https://www.intra2net.com/en/developer/libftdi/", + "license": "LGPL-2.1-only AND MIT", "dependencies": [ - "libconfuse", - "libusb", + { + "name": "libusb", + "default-features": false + }, { "name": "vcpkg-cmake", "host": true @@ -14,5 +18,14 @@ "name": "vcpkg-cmake-config", "host": true } - ] + ], + "features": { + "cpp": { + "description": "C++ bindings", + "license": "GPL-2.0-only WITH eCos-exception-2.0", + "dependencies": [ + "boost-smart-ptr" + ] + } + } } diff --git a/ports/libftdi1/win32.patch b/ports/libftdi1/win32.patch deleted file mode 100644 index 7cea44d4fd8ac1..00000000000000 --- a/ports/libftdi1/win32.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 17b3617..f9a8e59 100755 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -18,9 +18,14 @@ message(STATUS "Detected git snapshot version: ${SNAPSHOT_VERSION}") - configure_file(ftdi_version_i.h.in "${CMAKE_CURRENT_BINARY_DIR}/ftdi_version_i.h" @ONLY) - - # Targets -+if(WIN32) -+set(c_sources ${CMAKE_CURRENT_SOURCE_DIR}/ftdi.c ${CMAKE_CURRENT_SOURCE_DIR}/exports.def CACHE INTERNAL "List of c sources" ) -+else() - set(c_sources ${CMAKE_CURRENT_SOURCE_DIR}/ftdi.c ${CMAKE_CURRENT_SOURCE_DIR}/ftdi_stream.c CACHE INTERNAL "List of c sources" ) -+endif() - set(c_headers ${CMAKE_CURRENT_SOURCE_DIR}/ftdi.h CACHE INTERNAL "List of c headers" ) - -+if(BUILD_SHARED_LIBS) - add_library(ftdi1 SHARED ${c_sources}) - - math(EXPR VERSION_FIXUP "${MAJOR_VERSION} + 1") # Compatibility with previous releases -@@ -38,7 +43,7 @@ install ( TARGETS ftdi1 - ARCHIVE DESTINATION lib${LIB_SUFFIX} - ) - --if ( STATICLIBS ) -+else() - add_library(ftdi1-static STATIC ${c_sources}) - target_link_libraries(ftdi1-static ${LIBUSB_LIBRARIES}) - set_target_properties(ftdi1-static PROPERTIES OUTPUT_NAME "ftdi1") diff --git a/ports/libfuse/portfile.cmake b/ports/libfuse/portfile.cmake new file mode 100644 index 00000000000000..2f7cdf1b96ddaf --- /dev/null +++ b/ports/libfuse/portfile.cmake @@ -0,0 +1,21 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO libfuse/libfuse + REF "fuse-${VERSION}" + SHA512 e82581eec24f464bab7a2e2c18fa6b738e6f9f3f0a065c74a18727549159595d69e98772af87fa31fe1e632a6808cc40a788ad3d0330aba4937d4326b8bd5862 + HEAD_REF master +) + +vcpkg_configure_meson( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -Dutils=false +) + +vcpkg_install_meson() + +vcpkg_copy_pdbs() + +vcpkg_fixup_pkgconfig() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") \ No newline at end of file diff --git a/ports/libfuse/vcpkg.json b/ports/libfuse/vcpkg.json new file mode 100644 index 00000000000000..508019e201789e --- /dev/null +++ b/ports/libfuse/vcpkg.json @@ -0,0 +1,14 @@ +{ + "name": "libfuse", + "version": "3.16.2", + "description": "The reference implementation of the Linux FUSE (Filesystem in Userspace) interface", + "homepage": "https://github.com/libfuse/libfuse", + "license": "LGPL-2.1 AND GPL-2.0", + "supports": "linux", + "dependencies": [ + { + "name": "vcpkg-tool-meson", + "host": true + } + ] +} diff --git a/ports/libgcrypt/cross-tools.patch b/ports/libgcrypt/cross-tools.patch index fa65294e091a34..ab3555bf82af02 100644 --- a/ports/libgcrypt/cross-tools.patch +++ b/ports/libgcrypt/cross-tools.patch @@ -1,5 +1,5 @@ diff --git a/cipher/Makefile.am b/cipher/Makefile.am -index 264b3d3..254d946 100644 +index ea9014c..8aeedb7 100644 --- a/cipher/Makefile.am +++ b/cipher/Makefile.am @@ -19,6 +19,13 @@ @@ -16,14 +16,14 @@ index 264b3d3..254d946 100644 # Need to include ../src in addition to top_srcdir because gcrypt.h is # a built header. AM_CPPFLAGS = -I../src -I$(top_srcdir)/src -I../mpi -I$(top_srcdir)/mpi -@@ -144,8 +151,8 @@ EXTRA_libcipher_la_SOURCES = \ - blake2b-amd64-avx2.S blake2s-amd64-avx.S +@@ -160,8 +167,8 @@ EXTRA_libcipher_la_SOURCES = \ + blake2s-amd64-avx.S blake2s-amd64-avx512.S gost28147.lo: gost-sb.h --gost-sb.h: gost-s-box -- ./gost-s-box $@ -+gost-sb.h: $(HOST_TOOLS_PREFIX)/gost-s-box -+ $(HOST_TOOLS_PREFIX)/gost-s-box $@ +-gost-sb.h: gost-s-box$(EXEEXT_FOR_BUILD) +- ./gost-s-box$(EXEEXT_FOR_BUILD) $@ ++gost-sb.h: $(HOST_TOOLS_PREFIX)/gost-s-box$(EXEEXT_FOR_BUILD) ++ $(HOST_TOOLS_PREFIX)/gost-s-box$(EXEEXT_FOR_BUILD) $@ - gost-s-box: gost-s-box.c + gost-s-box$(EXEEXT_FOR_BUILD): gost-s-box.c $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) \ diff --git a/ports/libgcrypt/portfile.cmake b/ports/libgcrypt/portfile.cmake index 37e7271d5fbf2b..b292c871d9cc8b 100644 --- a/ports/libgcrypt/portfile.cmake +++ b/ports/libgcrypt/portfile.cmake @@ -4,38 +4,41 @@ vcpkg_download_distfile(tarball "https://mirrors.dotsrc.org/gcrypt/libgcrypt/libgcrypt-${VERSION}.tar.bz2" "https://www.mirrorservice.org/sites/ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-${VERSION}.tar.bz2" FILENAME "libgcrypt-${VERSION}.tar.bz2" - SHA512 3a850baddfe8ffe8b3e96dc54af3fbb9e1dab204db1f06b9b90b8fbbfb7fb7276260cd1e61ba4dde5a662a2385385007478834e62e95f785d2e3d32652adb29e + SHA512 8e093e69e3c45d30838625ca008e995556f0d5b272de1c003d44ef94633bcc0d0ef5d95e8725eb531bfafb4490ac273488633e0c801200d4666194f86c3e270e +) +vcpkg_download_distfile(osx_asm_patch + URLS "https://github.com/gpg/libgcrypt/commit/bb0895bbb7c6d2b9502cbbf03da14d4ecf27a183.patch?full_index=1" + FILENAME "libgcrypt-1.11.0-bb0895b.diff" + SHA512 dc9a0f0c13b08bdc6e28b966c61f5a8695bc58a7bf5ea5a8376f3b293bde729f485342eabbc84e78ab37afaf12ba1ac4385f0baff0f5f4b31bc1d3b764893522 ) vcpkg_extract_source_archive( SOURCE_PATH ARCHIVE "${tarball}" PATCHES cross-tools.patch - upstream-fa21ddc1.patch + "${osx_asm_patch}" ) if(VCPKG_CROSSCOMPILING) set(ENV{HOST_TOOLS_PREFIX} "${CURRENT_HOST_INSTALLED_DIR}/manual-tools/${PORT}") endif() -vcpkg_list(APPEND VCPKG_CMAKE_CONFIGURE_OPTIONS "-DVCPKG_LANGUAGES=ASM;C") -vcpkg_cmake_get_vars(cmake_vars_file) -include("${cmake_vars_file}") - -vcpkg_configure_make( - AUTOCONFIG +set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/libgpg-error/aclocal/\"") +vcpkg_make_configure( SOURCE_PATH "${SOURCE_PATH}" + AUTORECONF + LANGUAGES C ASM OPTIONS --disable-doc - "AS=${VCPKG_DETECTED_CMAKE_ASM_COMPILER}" - "GPG_ERROR_CONFIG=no" OPTIONS_RELEASE + "GPG_ERROR_CONFIG=${CURRENT_INSTALLED_DIR}/tools/libgpg-error/bin/gpgrt-config gpg-error" "GPGRT_CONFIG=${CURRENT_INSTALLED_DIR}/tools/libgpg-error/bin/gpgrt-config" OPTIONS_DEBUG + "GPG_ERROR_CONFIG=${CURRENT_INSTALLED_DIR}/tools/libgpg-error/debug/bin/gpgrt-config gpg-error" "GPGRT_CONFIG=${CURRENT_INSTALLED_DIR}/tools/libgpg-error/debug/bin/gpgrt-config" ) -vcpkg_install_make(OPTIONS "CCAS=${VCPKG_DETECTED_CMAKE_ASM_COMPILER}") +vcpkg_make_install() vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() diff --git a/ports/libgcrypt/upstream-fa21ddc1.patch b/ports/libgcrypt/upstream-fa21ddc1.patch deleted file mode 100644 index b70408defa2845..00000000000000 --- a/ports/libgcrypt/upstream-fa21ddc1.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/random/rndgetentropy.c b/random/rndgetentropy.c -index 513da0b95..a6f3c4ab1 100644 ---- a/random/rndgetentropy.c -+++ b/random/rndgetentropy.c -@@ -81,6 +81,7 @@ _gcry_rndgetentropy_gather_random (void (*add)(const void*, size_t, - do - { - _gcry_pre_syscall (); -+#ifdef GRND_RANDOM - if (fips_mode ()) - { - /* DRBG chaining defined in SP 800-90A (rev 1) specify -@@ -98,6 +99,7 @@ _gcry_rndgetentropy_gather_random (void (*add)(const void*, size_t, - ret = getrandom (buffer, nbytes, GRND_RANDOM); - } - else -+#endif - { - nbytes = length < sizeof (buffer) ? length : sizeof (buffer); - ret = getentropy (buffer, nbytes); diff --git a/ports/libgcrypt/vcpkg.json b/ports/libgcrypt/vcpkg.json index 522c600be4a35d..a5600b42c94a5c 100644 --- a/ports/libgcrypt/vcpkg.json +++ b/ports/libgcrypt/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libgcrypt", - "version": "1.10.2", + "version": "1.11.0", "description": "A general purpose cryptographic library", "homepage": "https://gnupg.org/software/libgcrypt/index.html", "license": null, @@ -12,7 +12,7 @@ }, "libgpg-error", { - "name": "vcpkg-cmake-get-vars", + "name": "vcpkg-make", "host": true } ] diff --git a/ports/libgd/vcpkg.json b/ports/libgd/vcpkg.json index ae37ffa3b41cde..eb0eb79251c0e3 100644 --- a/ports/libgd/vcpkg.json +++ b/ports/libgd/vcpkg.json @@ -1,7 +1,7 @@ { "name": "libgd", "version-semver": "2.3.3", - "port-version": 2, + "port-version": 3, "description": "Open source code library for the dynamic creation of images by programmers.", "homepage": "https://github.com/libgd/libgd", "license": "GD", @@ -48,7 +48,10 @@ "tiff": { "description": "Support for TIFF", "dependencies": [ - "tiff" + { + "name": "tiff", + "default-features": false + } ] }, "tools": { diff --git a/ports/libgeotiff/cmakelists.patch b/ports/libgeotiff/cmakelists.patch index d2790e17d2bbfc..8f41fcba88a3f7 100644 --- a/ports/libgeotiff/cmakelists.patch +++ b/ports/libgeotiff/cmakelists.patch @@ -15,7 +15,7 @@ index 47a2b00..3809ba3 100644 set (PROJECT_ROOT_DIR "..") endif () +else() -+ set (INSTALL_CMAKE_DIR "share/${PROJECT_NAME}") ++ set (INSTALL_CMAKE_DIR "share/geotiff") + set (PROJECT_ROOT_DIR "../..") +endif() diff --git a/ports/libgeotiff/portfile.cmake b/ports/libgeotiff/portfile.cmake index efd2184b53189b..07486256c3feef 100644 --- a/ports/libgeotiff/portfile.cmake +++ b/ports/libgeotiff/portfile.cmake @@ -1,13 +1,11 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO OSGeo/libgeotiff - REF 1.7.1 - SHA512 3c71a19f02a46a86d546777e2afe6bd715098779845967a5253ca949e0cacc0117c697cabd099611247e85e15cf1813733ae0ef445b136d7001f34667a4c8dd6 + REF ${VERSION} + SHA512 4cbe221ae72e1ebe8e0cf7036c2bca019633f82cab125dd5b78e524e80d2c05cbfced89f5dc35c7d6d8d1253cc0aaad751150353f773813a037d53ddaa3427f7 HEAD_REF master PATCHES cmakelists.patch - skip-doc-install.patch - public-dependencies.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS @@ -19,11 +17,12 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}/libgeotiff" OPTIONS - -DGEOTIFF_BIN_SUBDIR=bin -DWITH_TIFF=1 -DHAVE_TIFFOPEN=1 -DHAVE_TIFFMERGEFIELDINFO=1 -DCMAKE_MACOSX_BUNDLE=0 + -DCMAKE_INSTALL_MANDIR=share/unused + -DCMAKE_INSTALL_DOCDIR=share/unused ${FEATURE_OPTIONS} ) @@ -34,15 +33,19 @@ if(WITH_UTILITIES) endif() vcpkg_copy_pdbs() -vcpkg_cmake_config_fixup(PACKAGE_NAME GeoTIFF) +vcpkg_cmake_config_fixup(PACKAGE_NAME geotiff) +vcpkg_fixup_pkgconfig() if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/GeoTIFF/geotiff-config.cmake" "if (GeoTIFF_USE_STATIC_LIBS)" "if (1)") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin" "${CURRENT_PACKAGES_DIR}/bin") endif() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") - -file(INSTALL "${SOURCE_PATH}/libgeotiff/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/share/unused" +) file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/libgeotiff/LICENSE") diff --git a/ports/libgeotiff/public-dependencies.patch b/ports/libgeotiff/public-dependencies.patch deleted file mode 100644 index c2729732a3919d..00000000000000 --- a/ports/libgeotiff/public-dependencies.patch +++ /dev/null @@ -1,47 +0,0 @@ -diff --git a/libgeotiff/CMakeLists.txt b/libgeotiff/CMakeLists.txt -index 1840258..fcf2dd0 100644 ---- a/libgeotiff/CMakeLists.txt -+++ b/libgeotiff/CMakeLists.txt -@@ -311,17 +311,18 @@ endif() - SET_TARGET_PROPERTIES(${GEOTIFF_LIBRARY_TARGET} PROPERTIES - OUTPUT_NAME ${GEOTIFF_LIB_NAME}) - --set(CONFIG_DEPENDENCIES "") -+set(CONFIG_PUBLIC_DEPENDENCIES "") -+set(CONFIG_PRIVATE_DEPENDENCIES "") - if(TARGET TIFF::TIFF) - set(TIFF_LIBRARIES TIFF::TIFF) -- string(APPEND CONFIG_DEPENDENCIES " find_dependency(TIFF)\n") -+ string(APPEND CONFIG_PUBLIC_DEPENDENCIES "find_dependency(TIFF)\n") - endif() - target_link_libraries(${GEOTIFF_LIBRARY_TARGET} PUBLIC - ${TIFF_LIBRARIES}) - - if(TARGET PROJ::proj) - set(PROJ_LIBRARIES PROJ::proj) -- string(APPEND CONFIG_DEPENDENCIES " find_dependency(PROJ CONFIG)\n") -+ string(APPEND CONFIG_PRIVATE_DEPENDENCIES " find_dependency(PROJ CONFIG)\n") - endif() - target_link_libraries(${GEOTIFF_LIBRARY_TARGET} PRIVATE - ${PROJ_LIBRARIES}) -diff --git a/libgeotiff/cmake/project-config.cmake.in b/libgeotiff/cmake/project-config.cmake.in -index 3690489..87de991 100644 ---- a/libgeotiff/cmake/project-config.cmake.in -+++ b/libgeotiff/cmake/project-config.cmake.in -@@ -22,13 +22,14 @@ set (@PROJECT_NAME@_BINARY_DIRS "${_ROOT}/bin") - unset (_ROOT) - unset (_DIR) - -+include(CMakeFindDependencyMacro) -+@CONFIG_PUBLIC_DEPENDENCIES@ - set (@PROJECT_NAME@_LIBRARIES @GEOTIFF_LIBRARY_TARGET@) - if("@BUILD_SHARED_LIBS@") - set (@PROJECT_NAME@_SHARED_LIBRARIES ${@PROJECT_NAME@_LIBRARIES}) - else() - set (@PROJECT_NAME@_STATIC_LIBRARIES ${@PROJECT_NAME@_LIBRARIES}) -- include(CMakeFindDependencyMacro) --@CONFIG_DEPENDENCIES@ -+@CONFIG_PRIVATE_DEPENDENCIES@ - endif() - - if(NOT @PROJECT_NAME@_FIND_QUIETLY) diff --git a/ports/libgeotiff/skip-doc-install.patch b/ports/libgeotiff/skip-doc-install.patch deleted file mode 100644 index bef3fc8605e6b2..00000000000000 --- a/ports/libgeotiff/skip-doc-install.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/libgeotiff/CMakeLists.txt b/libgeotiff/CMakeLists.txt -index 54779a5..30ff29f 100644 ---- a/libgeotiff/CMakeLists.txt -+++ b/libgeotiff/CMakeLists.txt -@@ -262,6 +262,7 @@ SET(GEOTIFF_BIN_DIR ${GEOTIFF_BIN_SUBDIR}) - SET(GEOTIFF_LIB_DIR ${GEOTIFF_LIB_SUBDIR}) - SET(GEOTIFF_INCLUDE_DIR ${GEOTIFF_INCLUDE_SUBDIR}) - -+if(0) - # Install doc files - INSTALL(FILES - AUTHORS ChangeLog COPYING INSTALL LICENSE README README_BIN README.WIN -@@ -269,6 +270,7 @@ INSTALL(FILES - - # Install man pages - INSTALL(FILES ${GEOTIFF_MAN_PAGES} DESTINATION share/man/man1) -+endif() - - - # Install header files for development distribution diff --git a/ports/libgeotiff/usage b/ports/libgeotiff/usage index df014cb55f1bb2..87ef4d8d7b5e1a 100644 --- a/ports/libgeotiff/usage +++ b/ports/libgeotiff/usage @@ -1,5 +1,10 @@ -The package libgeotiff provides a CMake config file: +libgeotiff provides a CMake config file: - find_package(GeoTIFF CONFIG REQUIRED) - target_include_directories(main PRIVATE ${GEOTIFF_INCLUDE_DIR}) - target_link_libraries(main PRIVATE ${GEOTIFF_LIBRARIES}) + find_package(GeoTIFF CONFIG REQUIRED) + target_include_directories(main PRIVATE ${GEOTIFF_INCLUDE_DIR}) + target_link_libraries(main PRIVATE ${GEOTIFF_LIBRARIES}) + +libgeotiff provides pkg-config modules: + + # GeoTIFF file format library + libgeotiff diff --git a/ports/libgeotiff/vcpkg.json b/ports/libgeotiff/vcpkg.json index 5305df2f043b7a..7b3f114dd9587f 100644 --- a/ports/libgeotiff/vcpkg.json +++ b/ports/libgeotiff/vcpkg.json @@ -1,7 +1,7 @@ { "name": "libgeotiff", - "version": "1.7.1", - "port-version": 3, + "version": "1.7.3", + "port-version": 1, "description": "Libgeotiff is an open source library on top of libtiff for reading and writing GeoTIFF information tags.", "homepage": "https://github.com/OSGeo/libgeotiff", "license": "MIT", diff --git a/ports/libgig/0001-msvc-fix-ssize_t.patch b/ports/libgig/0001-msvc-fix-ssize_t.patch deleted file mode 100644 index d2edce0e7be6be..00000000000000 --- a/ports/libgig/0001-msvc-fix-ssize_t.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/src/Serialization.h b/src/Serialization.h -index cccfc54..91a8fa4 100644 ---- a/src/Serialization.h -+++ b/src/Serialization.h -@@ -40,6 +40,11 @@ - #include - #include - -+#ifdef _MSC_VER -+#include -+using ssize_t = SSIZE_T; -+#endif -+ - #ifndef __has_extension - # define __has_extension(x) 0 - #endif diff --git a/ports/libgig/0002-cmake-fixes.patch b/ports/libgig/0002-cmake-fixes.patch deleted file mode 100644 index 19982f251c6e80..00000000000000 --- a/ports/libgig/0002-cmake-fixes.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index ae66913..893e3ea 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,9 +1,9 @@ --cmake_minimum_required(VERSION 3.0) -+cmake_minimum_required(VERSION 3.1) - project(libgig) - --if(NOT MSVC) -- message(FATAL_ERROR "Please use configure and make, this cmake file is currently only to generate msvc solution files") --endif() -+#To force the compiler to use C++ 11 -+set(CMAKE_CXX_STANDARD 11) -+set(CMAKE_CXX_STANDARD_REQUIRED TRUE) - - - #configuration options diff --git a/ports/libgig/0003-fix-usage.patch b/ports/libgig/0003-fix-usage.patch deleted file mode 100644 index 0b2c040bced3de..00000000000000 --- a/ports/libgig/0003-fix-usage.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 893e3ea..2eef641 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -128,12 +128,11 @@ install(TARGETS libgig EXPORT libgig-config - ARCHIVE DESTINATION lib - RUNTIME DESTINATION bin - PUBLIC_HEADER DESTINATION include/libgig) --install(EXPORT libgig-config NAMESPACE libgig:: DESTINATION share/libgig) - --install(TARGETS libakai EXPORT libakai-config -+install(TARGETS libakai EXPORT libgig-config - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib - RUNTIME DESTINATION bin - PUBLIC_HEADER DESTINATION include/libgig) --install(EXPORT libakai-config NAMESPACE libgig:: DESTINATION share/libgig) -+install(EXPORT libgig-config NAMESPACE libgig:: DESTINATION share/libgig) - diff --git a/ports/libgig/portfile.cmake b/ports/libgig/portfile.cmake index 57f2748f878009..28504a0c9a8b33 100644 --- a/ports/libgig/portfile.cmake +++ b/ports/libgig/portfile.cmake @@ -1,23 +1,19 @@ vcpkg_download_distfile(ARCHIVE - URLS "https://download.linuxsampler.org/packages/libgig-4.3.0.tar.bz2" - FILENAME "libgig-4.3.0.tar.bz2" - SHA512 683c09b1d17acf69020c631452b7dfb25ac54c3701db5e97471d4e7973e9a06267667bf19bfe4eb00d2964223e8446f248d93b4cf29c062dec2588758b4dfba2 + URLS "https://download.linuxsampler.org/packages/libgig-${VERSION}.tar.bz2" + FILENAME "libgig-${VERSION}.tar.bz2" + SHA512 7844d31acba4bd2f2a499511c3f45ec0a883336193a1422d6d0cd1a8d0c2e97f9f89230176969e5a80b483890914d424eb778338afd583197fdea8bee3c08627 ) vcpkg_extract_source_archive( SOURCE_PATH ARCHIVE "${ARCHIVE}" - PATCHES - 0001-msvc-fix-ssize_t.patch - 0002-cmake-fixes.patch - 0003-fix-usage.patch ) string(COMPARE EQUAL ${VCPKG_LIBRARY_LINKAGE} dynamic LIBGIG_BUILD_SHARED) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - extra-tools LIBGIG_BUILD_TOOLS + tools LIBGIG_BUILD_TOOLS tests LIBGIG_ENABLE_TESTING ) diff --git a/ports/libgig/vcpkg.json b/ports/libgig/vcpkg.json index 917fb405e9817f..637ec6e972c722 100644 --- a/ports/libgig/vcpkg.json +++ b/ports/libgig/vcpkg.json @@ -1,8 +1,9 @@ { "name": "libgig", - "version": "4.3.0", + "version": "4.4.1", "description": "C++ library for loading Gigasampler files and DLS Level 1/2 files", "homepage": "https://www.linuxsampler.org/libgig/", + "license": "GPL-2.0-or-later", "supports": "windows & !uwp", "dependencies": [ { diff --git a/ports/libgit2/dependencies.diff b/ports/libgit2/dependencies.diff index 1e046208e8cdb4..092db7241c1320 100644 --- a/ports/libgit2/dependencies.diff +++ b/ports/libgit2/dependencies.diff @@ -24,18 +24,20 @@ index 2a3a91b..523fa72 100644 list(APPEND LIBGIT2_SYSTEM_LIBS ${PCRE_LIBRARIES}) list(APPEND LIBGIT2_PC_REQUIRES "libpcre") diff --git a/cmake/SelectSSH.cmake b/cmake/SelectSSH.cmake -index 23dfc97..f481527 100644 +index 079857f50..a2e2bd212 100644 --- a/cmake/SelectSSH.cmake +++ b/cmake/SelectSSH.cmake -@@ -1,6 +1,10 @@ - # Optional external dependency: libssh2 - if(USE_SSH) +@@ -4,7 +4,11 @@ if(USE_SSH STREQUAL "exec") + + add_feature_info(SSH ON "using OpenSSH exec support") + elseif(USE_SSH STREQUAL ON OR USE_SSH STREQUAL "libssh2") - find_pkglibraries(LIBSSH2 libssh2) + find_package(PkgConfig REQUIRED) + pkg_check_modules(LIBSSH2 REQUIRED libssh2) + set(LIBSSH2_LIBRARIES "${LIBSSH2_LINK_LIBRARIES}") + set(LIBSSH2_LDFLAGS "") + list(APPEND LIBGIT2_PC_REQUIRES "libssh2") + if(NOT LIBSSH2_FOUND) find_package(LibSSH2) - set(LIBSSH2_INCLUDE_DIRS ${LIBSSH2_INCLUDE_DIR}) + diff --git a/ports/libgit2/fix-arm64-windows.patch b/ports/libgit2/fix-arm64-windows.patch new file mode 100644 index 00000000000000..65d8ad393f1ee7 --- /dev/null +++ b/ports/libgit2/fix-arm64-windows.patch @@ -0,0 +1,17 @@ +diff --git a/src/libgit2/CMakeLists.txt b/src/libgit2/CMakeLists.txt +index f2a9943..3ce01b7 100644 +--- a/src/libgit2/CMakeLists.txt ++++ b/src/libgit2/CMakeLists.txt +@@ -65,12 +65,6 @@ set_target_properties(libgit2package PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${PROJE + set_target_properties(libgit2package PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}) + set_target_properties(libgit2package PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}) + +-# Workaround for Cmake bug #0011240 (see http://public.kitware.com/Bug/view.php?id=11240) +-# Win64+MSVC+static libs = linker error +-if(MSVC AND GIT_ARCH_64 AND NOT BUILD_SHARED_LIBS) +- set_target_properties(libgit2package PROPERTIES STATIC_LIBRARY_FLAGS "/MACHINE:x64") +-endif() +- + ide_split_sources(libgit2package) + + if(SONAME) diff --git a/ports/libgit2/mingw-winhttp.diff b/ports/libgit2/mingw-winhttp.diff index 80f24aeef58b07..419375f08d717c 100644 --- a/ports/libgit2/mingw-winhttp.diff +++ b/ports/libgit2/mingw-winhttp.diff @@ -1,8 +1,8 @@ -diff --git a/cmake/SelectWinHTTP.cmake b/cmake/SelectWinHTTP.cmake -index 96e0bdb..31c3a56 100644 ---- a/cmake/SelectWinHTTP.cmake -+++ b/cmake/SelectWinHTTP.cmake -@@ -3,7 +3,7 @@ if(WIN32 AND USE_WINHTTP) +diff --git a/cmake/SelectHTTPSBackend.cmake b/cmake/SelectHTTPSBackend.cmake +index d293001f5..108b8767c 100644 +--- a/cmake/SelectHTTPSBackend.cmake ++++ b/cmake/SelectHTTPSBackend.cmake +@@ -120,7 +120,7 @@ if(USE_HTTPS) # Since MinGW does not come with headers or an import library for winhttp, # we have to include a private header and generate our own import library diff --git a/ports/libgit2/portfile.cmake b/ports/libgit2/portfile.cmake index 54e33d1472f540..fe6fc836ab6775 100644 --- a/ports/libgit2/portfile.cmake +++ b/ports/libgit2/portfile.cmake @@ -1,15 +1,16 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libgit2/libgit2 - REF v1.6.4 - SHA512 fd73df91710f19b0d6c3765c37c7f529233196da91cf4d58028a8d3840244f11df44abafabd74a8ed1cbe4826d1afd6ff9f01316d183ace0924c65e7cf0eb8d5 - HEAD_REF maint/v1.6 + REF v1.8.0 + SHA512 e5634267bd9c6a594c9a954d09c657e7b8aadf213609bf7dd83b99863d0d0c7109a5277617dd508abc2da54ea3f12c2af1908d1aeb73c000e94056e2f3653144 + HEAD_REF main PATCHES c-standard.diff # for 'inline' in system headers cli-include-dirs.diff dependencies.diff mingw-winhttp.diff unofficial-config-export.diff + fix-arm64-windows.patch ) file(REMOVE_RECURSE "${SOURCE_PATH}/cmake/FindPCRE.cmake" @@ -25,6 +26,7 @@ string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" STATIC_CRT) set(REGEX_BACKEND OFF) set(USE_HTTPS OFF) +set(USE_SSH OFF) function(set_regex_backend VALUE) if(REGEX_BACKEND) @@ -53,6 +55,11 @@ foreach(GIT2_FEATURE ${FEATURES}) set_tls_backend("SecureTransport") elseif(GIT2_FEATURE STREQUAL "mbedtls") set_tls_backend("mbedTLS") + elseif(GIT2_FEATURE STREQUAL "ssh") + set(USE_SSH ON) + message(STATUS "This version of `libgit2` uses the default (`libssh2`) backend. To use the newer backend which utilizes the `ssh` CLI from a local install of OpenSSH instead, create an overlay port of this with USE_SSH set to 'exec' and the `libssh2` dependency removed.") + message(STATUS "This recipe is at ${CMAKE_CURRENT_LIST_DIR}") + message(STATUS "See the overlay ports documentation at https://learn.microsoft.com/vcpkg/concepts/overlay-ports") endif() endforeach() @@ -64,8 +71,7 @@ vcpkg_find_acquire_program(PKGCONFIG) vcpkg_check_features( OUT_FEATURE_OPTIONS GIT2_FEATURES - FEATURES - ssh USE_SSH + FEATURES tools BUILD_CLI ) @@ -76,6 +82,7 @@ vcpkg_cmake_configure( -DUSE_HTTP_PARSER=system -DUSE_HTTPS=${USE_HTTPS} -DREGEX_BACKEND=${REGEX_BACKEND} + -DUSE_SSH=${USE_SSH} -DSTATIC_CRT=${STATIC_CRT} "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" -DCMAKE_DISABLE_FIND_PACKAGE_GSSAPI:BOOL=ON diff --git a/ports/libgit2/vcpkg.json b/ports/libgit2/vcpkg.json index c179d4d39513d9..ccaea6853cf884 100644 --- a/ports/libgit2/vcpkg.json +++ b/ports/libgit2/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libgit2", - "version-semver": "1.6.4", + "version-semver": "1.8.0", "port-version": 1, "description": "A C library implementing the Git core methods with a solid API", "homepage": "https://github.com/libgit2/libgit2", diff --git a/ports/libgnutls/ccasflags.patch b/ports/libgnutls/ccasflags.patch new file mode 100644 index 00000000000000..f7a40717545d86 --- /dev/null +++ b/ports/libgnutls/ccasflags.patch @@ -0,0 +1,23 @@ +diff --git a/configure.ac b/configure.ac +index d6f283a..77e5a56 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -40,6 +40,8 @@ AC_PROG_CC + gl_EARLY + ggl_EARLY + unistring_EARLY ++# Override AM_PROG_AS default ++test "${CCASFLAGS+set}" = set || CCASFLAGS="$CPPFLAGS $CFLAGS" + AM_PROG_AS + AM_PROG_AR + AC_PROG_CXX +@@ -243,7 +245,8 @@ if test "$hw_accel" = aarch64; then + AARCH64_CCASFLAGS="-Wa,-march=all" + AC_MSG_CHECKING([whether the compiler supports -Wa,-march=all]) + : > conftest.s +- if "$CCAS" "$AARCH64_CCASFLAGS" -c conftest.s >/dev/null 2>&1; then ++ # As in Makefiles ++ if "$CCAS" "$AARCH64_CCASFLAGS" $CCASFLAGS -c conftest.s >/dev/null 2>&1; then + AC_MSG_RESULT(yes) + else + AC_MSG_RESULT(no) diff --git a/ports/libgnutls/compression-libs.diff b/ports/libgnutls/compression-libs.diff new file mode 100644 index 00000000000000..1d4ea8b39c2cf1 --- /dev/null +++ b/ports/libgnutls/compression-libs.diff @@ -0,0 +1,21 @@ +diff --git a/configure.ac b/configure.ac +index 95ec4c1..67fa771 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1157,6 +1157,8 @@ if test x$ac_brotli != xno; then + fi + else + AC_MSG_RESULT(no) ++ with_libbrotlienc=no ++ with_libbrotlidec=no + fi + AM_CONDITIONAL(HAVE_LIBBROTLI, test "$with_libbrotlienc" != "no" && test "$with_libbrotlidec" != "no") + +@@ -1202,6 +1204,7 @@ if test x$ac_zstd != xno; then + fi + else + AC_MSG_RESULT(no) ++ with_libzstd=no + fi + AM_CONDITIONAL(HAVE_LIBZSTD, test "$with_libzstd" != "no") + diff --git a/ports/libgnutls/portfile.cmake b/ports/libgnutls/portfile.cmake index 58daad08804631..7120e661310235 100644 --- a/ports/libgnutls/portfile.cmake +++ b/ports/libgnutls/portfile.cmake @@ -5,13 +5,15 @@ vcpkg_download_distfile(tarball "https://mirrors.dotsrc.org/gcrypt/gnutls/v${GNUTLS_BRANCH}/gnutls-${VERSION}.tar.xz" "https://www.mirrorservice.org/sites/ftp.gnupg.org/gcrypt/gnutls/v${GNUTLS_BRANCH}/gnutls-${VERSION}.tar.xz" FILENAME "gnutls-${VERSION}.tar.xz" - SHA512 22e78db86b835843df897d14ad633d8a553c0f9b1389daa0c2f864869c6b9ca889028d434f9552237dc4f1b37c978fbe0cce166e3768e5d4e8850ff69a6fc872 + SHA512 429cea78e227d838105791b28a18270c3d2418bfb951c322771e6323d5f712204d63d66a6606ce9604a92d236a8dd07d651232c717264472d27eb6de26ddc733 ) vcpkg_extract_source_archive(SOURCE_PATH ARCHIVE "${tarball}" SOURCE_BASE "v${VERSION}" PATCHES + ccasflags.patch use-gmp-pkgconfig.patch + compression-libs.diff ) vcpkg_list(SET options) @@ -30,14 +32,8 @@ if(VCPKG_TARGET_IS_WINDOWS) vcpkg_list(APPEND options "LIBS=\$LIBS -liconv -lcharset") # for libunistring endif() -if(VCPKG_CROSSCOMPILING) - vcpkg_cmake_get_vars(cmake_vars_file) - include("${cmake_vars_file}") - set(ccas "${VCPKG_DETECTED_CMAKE_C_COMPILER}") - cmake_path(GET ccas PARENT_PATH ccas_dir) - vcpkg_add_to_path("${ccas_dir}") - cmake_path(GET ccas FILENAME ccas_command) - vcpkg_list(APPEND options "CCAS=${ccas_command}") +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_list(APPEND options "ac_cv_dlopen_soname_works=no") # ensure vcpkg libs endif() set(ENV{GTKDOCIZE} true) # true, the program @@ -57,6 +53,7 @@ vcpkg_configure_make( --with-tpm=no --with-tpm2=no --with-zstd=no + --with-zlib=yes ${options} YACC=false # false, the program - not used here OPTIONS_DEBUG diff --git a/ports/libgnutls/use-gmp-pkgconfig.patch b/ports/libgnutls/use-gmp-pkgconfig.patch index 573a51698bffc5..60d2e718125c72 100644 --- a/ports/libgnutls/use-gmp-pkgconfig.patch +++ b/ports/libgnutls/use-gmp-pkgconfig.patch @@ -1,8 +1,8 @@ diff --git a/m4/hooks.m4 b/m4/hooks.m4 -index e1248c7..4656c3a 100644 +index e026dd1..cf6064c 100644 --- a/m4/hooks.m4 +++ b/m4/hooks.m4 -@@ -91,13 +91,14 @@ AC_MSG_ERROR([[ +@@ -91,6 +91,7 @@ AC_MSG_ERROR([[ mini_nettle=$withval, mini_nettle=no) @@ -10,11 +10,3 @@ index e1248c7..4656c3a 100644 AC_ARG_VAR(GMP_CFLAGS, [C compiler flags for gmp]) AC_ARG_VAR(GMP_LIBS, [linker flags for gmp]) if test "$mini_nettle" != no;then - GMP_CFLAGS="" - GMP_LIBS="" - else -- if test x$GMP_LIBS = x; then -+ if test "x$GMP_LIBS" = "x"; then - AC_CHECK_LIB(gmp, __gmpz_cmp, [GMP_LIBS="-lgmp"], [AC_MSG_ERROR([[ - *** - *** gmp was not found. diff --git a/ports/libgnutls/vcpkg.json b/ports/libgnutls/vcpkg.json index 17f86699f3498b..7ec0ba63cdc348 100644 --- a/ports/libgnutls/vcpkg.json +++ b/ports/libgnutls/vcpkg.json @@ -1,7 +1,6 @@ { "name": "libgnutls", - "version": "3.8.1", - "port-version": 1, + "version": "3.8.7.1", "description": "A secure communications library implementing the SSL, TLS and DTLS protocols.", "homepage": "https://www.gnutls.org/", "license": null, @@ -12,11 +11,6 @@ "libtasn1", "libunistring", "nettle", - { - "name": "vcpkg-cmake-get-vars", - "host": true, - "platform": "!native" - }, "zlib" ], "features": { diff --git a/ports/libgpg-error/android.diff b/ports/libgpg-error/android.diff new file mode 100644 index 00000000000000..81389098a76661 --- /dev/null +++ b/ports/libgpg-error/android.diff @@ -0,0 +1,12 @@ +diff --git a/configure.ac b/configure.ac +index ce369af..95cbba2 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -633,6 +633,7 @@ if test x"$gl_use_threads" = xno; then + AC_MSG_NOTICE([generated src/lock-obj-pub.native.h for $host]) + elif test x$cross_compiling = xyes; then + case $host in ++ *-*-linux-android* | \ + *-*-gnu* | *-*-linux-gnu* | *-*-linux-musl*) + AC_CHECK_TOOL(OBJDUMP, [objdump]) + if test -n "$OBJDUMP"; then diff --git a/ports/libgpg-error/mingw.diff b/ports/libgpg-error/mingw.diff new file mode 100644 index 00000000000000..b1f25c89c2474e --- /dev/null +++ b/ports/libgpg-error/mingw.diff @@ -0,0 +1,15 @@ +diff --git a/configure.ac b/configure.ac +index 4de263a..9aa0f69 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -200,6 +200,10 @@ esac + AX_CC_FOR_BUILD + + AH_BOTTOM([ ++#if defined(__MINGW32__) && !defined(_WIN32_WINNT) ++#define _WIN32_WINNT 0x0600 /* for STARTUPINFOEX */ ++#endif ++ + /* Force using of NLS for W32 even if no libintl has been found. This is + okay because we have our own gettext implementation for W32. */ + #if defined(HAVE_W32_SYSTEM) && !defined(ENABLE_NLS) diff --git a/ports/libgpg-error/portfile.cmake b/ports/libgpg-error/portfile.cmake index 9c85d1191d25ef..4530f7b7451867 100644 --- a/ports/libgpg-error/portfile.cmake +++ b/ports/libgpg-error/portfile.cmake @@ -4,15 +4,18 @@ vcpkg_download_distfile(tarball "https://mirrors.dotsrc.org/gcrypt/libgpg-error/libgpg-error-${VERSION}.tar.bz2" "https://www.mirrorservice.org/sites/ftp.gnupg.org/gcrypt/libgpg-error/libgpg-error-${VERSION}.tar.bz2" FILENAME "libgpg-error-${VERSION}.tar.bz2" - SHA512 bbb4b15dae75856ee5b1253568674b56ad155524ae29a075cb5b0a7e74c4af685131775c3ea2226fff2f84ef80855e77aa661645d002b490a795c7ae57b66a30 + SHA512 4489f615c6a0389577a7d1fd7d3917517bb2fe032abd9a6d87dfdbd165dabcf53f8780645934020bf27517b67a064297475888d5b368176cf06bc22f1e735e2b ) vcpkg_extract_source_archive( SOURCE_PATH ARCHIVE "${tarball}" PATCHES + android.diff cross-tools.patch gpgrt-config.patch + mingw.diff pkgconfig-libintl.patch + win32-nls.diff ) vcpkg_list(SET options) @@ -27,13 +30,17 @@ if(VCPKG_CROSSCOMPILING) set(ENV{HOST_TOOLS_PREFIX} "${CURRENT_HOST_INSTALLED_DIR}/manual-tools/${PORT}") endif() +if(VCPKG_TARGET_IS_EMSCRIPTEN) + vcpkg_list(APPEND options "--disable-threads") +endif() + vcpkg_configure_make( AUTOCONFIG SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${options} - --disable-tests --disable-doc + --disable-tests ) vcpkg_install_make() diff --git a/ports/libgpg-error/vcpkg.json b/ports/libgpg-error/vcpkg.json index eb5a83e664f6fc..f2c13e5a295965 100644 --- a/ports/libgpg-error/vcpkg.json +++ b/ports/libgpg-error/vcpkg.json @@ -1,8 +1,8 @@ { "name": "libgpg-error", - "version": "1.47", - "description": "A common dependency of all GnuPG components", - "homepage": "https://gnupg.org/software/libgpg-error/index.html", + "version": "1.51", + "description": "A runtime library for GnuPG and other software which likes to use it.", + "homepage": "https://gnupg.org/software/libgpg-error/", "license": "LGPL-2.1-or-later", "supports": "!windows | mingw", "dependencies": [ diff --git a/ports/libgpg-error/win32-nls.diff b/ports/libgpg-error/win32-nls.diff new file mode 100644 index 00000000000000..82f6546f292c9f --- /dev/null +++ b/ports/libgpg-error/win32-nls.diff @@ -0,0 +1,25 @@ +diff --git a/Makefile.am b/Makefile.am +index 0f07509..65e058a 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -105,6 +105,7 @@ gen-ChangeLog: + + if HAVE_W32_SYSTEM + install-data-hook: ++install-data-hook-orig: + set -e; \ + for i in $$(sed -e '/^#/d' -e 's/#.*//' $(top_srcdir)/po/LINGUAS); do \ + $(MKDIR_P) "$(DESTDIR)$(localedir)/$$i/LC_MESSAGES" || true; \ +diff --git a/configure.ac b/configure.ac +index 9aa0f69..ce369af 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -207,7 +207,7 @@ AH_BOTTOM([ + /* Force using of NLS for W32 even if no libintl has been found. This is + okay because we have our own gettext implementation for W32. */ + #if defined(HAVE_W32_SYSTEM) && !defined(ENABLE_NLS) +-#define ENABLE_NLS 1 ++/* keep NLS controlled by libgpg-error[nls] */ + #endif + + /* Connect the generic estream-printf.c to our framework. */ diff --git a/ports/libgpiod/portfile.cmake b/ports/libgpiod/portfile.cmake index 1e55e1f3da506e..188a206a4f0faa 100644 --- a/ports/libgpiod/portfile.cmake +++ b/ports/libgpiod/portfile.cmake @@ -1,7 +1,7 @@ vcpkg_download_distfile(ARCHIVE - URLS https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/snapshot/libgpiod-9068bb08dc3bf183eee6de2577ad266fe6b8f434.tar.gz + URLS https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/snapshot/libgpiod-${VERSION}.tar.gz FILENAME libgpiod-${VERSION}.tar.gz - SHA512 3c569471007d12d94cb74377187dfe8b979de08f3747dca6348a4212ffb6d5f699af1d1135c25c70bcd17d533b09499fd0f1b3c5deac7d0a2d1bbf31092033c3 + SHA512 57ddb73faa1852c86886ec6b9b0e07c48200a8c01347bf9bc31ce5611de907140d20cabba63f33230bbfac558acae23676935ecf12b3c69ed9230a04cf252eb4 ) vcpkg_extract_source_archive(SOURCE_PATH diff --git a/ports/libgpiod/vcpkg.json b/ports/libgpiod/vcpkg.json index e58002eeca660d..4c72521d057ec7 100644 --- a/ports/libgpiod/vcpkg.json +++ b/ports/libgpiod/vcpkg.json @@ -1,7 +1,6 @@ { "name": "libgpiod", - "version": "2.0.2", - "port-version": 1, + "version": "2.1.3", "description": "C library and tools for interacting with the linux GPIO character device", "homepage": "https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git", "license": "LGPL-2.1-or-later", diff --git a/ports/libgpod/configure.ac.patch b/ports/libgpod/configure.ac.patch deleted file mode 100644 index 53ca42c2db5316..00000000000000 --- a/ports/libgpod/configure.ac.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/configure.ac b/configure.ac -index a52ac3a78..ac5cf03f4 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -42,7 +42,7 @@ AC_CHECK_FUNCS([localtime_r]) - AC_CHECK_MEMBERS([struct tm.tm_gmtoff],,,[#include ]) - dnl sqlite3 is needed for newer ipod models (nano5g), and libplist is needed - dnl by libgpod sqlite code --PKG_CHECK_MODULES(LIBGPOD, glib-2.0 >= 2.8.0 gobject-2.0 sqlite3 libplist >= 1.0) -+PKG_CHECK_MODULES(LIBGPOD, glib-2.0 >= 2.8.0 gmodule-2.0 gobject-2.0 sqlite3 libplist >= 1.0) - - dnl ************************************************** - dnl we've copied gchecksum from glib 2.16. Only use the diff --git a/ports/libgpod/portfile.cmake b/ports/libgpod/portfile.cmake deleted file mode 100644 index b5ff21b533f472..00000000000000 --- a/ports/libgpod/portfile.cmake +++ /dev/null @@ -1,38 +0,0 @@ -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO fadingred/libgpod - REF 4a8a33ef4bc58eee1baca6793618365f75a5c3fa - SHA512 b7a120c1106c1205e8de2808de5ac4ff1cf189943017939a5ea4eded4e1ceef44557587e69a8591cc5249f8c8dbf0cbdcce1dd309d33a0e9207b0560abe3ae39 - HEAD_REF master - PATCHES configure.ac.patch -) - -vcpkg_execute_required_process( - COMMAND intltoolize --force --copy --automake - WORKING_DIRECTORY "${SOURCE_PATH}" - LOGNAME intltoolize-${TARGET_TRIPLET} -) -vcpkg_execute_required_process( - COMMAND gtkdocize --copy - WORKING_DIRECTORY "${SOURCE_PATH}" - LOGNAME gtkdocize-${TARGET_TRIPLET} -) -vcpkg_configure_make( - SOURCE_PATH ${SOURCE_PATH} - AUTOCONFIG - OPTIONS - --without-hal - --disable-gdk-pixbuf - --disable-pygobject - --disable-more-warnings - --disable-libxml - --disable-gtk-doc-html -) -vcpkg_install_make() -vcpkg_fixup_pkgconfig() - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - -# Handle copyright -file(COPY ${SOURCE_PATH}/README DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/libgpod/vcpkg.json b/ports/libgpod/vcpkg.json deleted file mode 100644 index 550993c5705e51..00000000000000 --- a/ports/libgpod/vcpkg.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "libgpod", - "version-date": "2019-08-29", - "port-version": 4, - "description": "libgpod is a library meant to abstract access to an iPod content.", - "homepage": "https://github.com/fadingred/libgpod", - "supports": "!windows & !osx", - "dependencies": [ - "glib", - "libplist", - "sqlite3" - ] -} diff --git a/ports/libgwenhywfar/control-openssl.diff b/ports/libgwenhywfar/control-openssl.diff new file mode 100644 index 00000000000000..191293c0defa9d --- /dev/null +++ b/ports/libgwenhywfar/control-openssl.diff @@ -0,0 +1,20 @@ +diff --git a/configure.ac b/configure.ac +index 4e43f5c..7ce9511 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -709,7 +709,14 @@ PKG_CHECK_MODULES([LIBGNUTLS], [gnutls >= 2.9.8]) + # + # check for OpenSSL + # +-PKG_CHECK_MODULES([OPENSSL], [openssl], [ssl_available=yes], [ssl_available=no]) ++AC_ARG_WITH(openssl, [ --with-openssl=yes enable OpenSSL in gct-tool], ++ [with_openssl="$withval"], ++ [with_openssl="no"]) ++if test "x$with_openssl" = "xyes"; then ++ PKG_CHECK_MODULES([OPENSSL], [openssl], [ssl_available=yes], [AC_MSG_ERROR([unable to find OpenSSL (pkg-config)])]) ++else ++ ssl_available=no ++fi + if test "$ssl_available" = "yes"; then + AC_DEFINE_UNQUOTED(HAVE_OPENSSL, 1, [Defined if OpenSSL is available]) + fi diff --git a/ports/libgwenhywfar/pkgconfig.diff b/ports/libgwenhywfar/pkgconfig.diff new file mode 100644 index 00000000000000..c07b5558740f42 --- /dev/null +++ b/ports/libgwenhywfar/pkgconfig.diff @@ -0,0 +1,11 @@ +diff --git a/gwenhywfar.pc.in b/gwenhywfar.pc.in +index d4c61d8..72a4ef4 100644 +--- a/gwenhywfar.pc.in ++++ b/gwenhywfar.pc.in +@@ -31,3 +31,6 @@ Version: @VERSION@ + Libs: @gwenhywfar_ldflags@ @gwenhywfar_libs@ + Cflags: -I@gwenhywfar_headerdir@ + ++Libs.private: @all_libraries@ ++@WITH_LIBXML2_CODE_FALSE@Requires.private: libgcrypt, gnutls ++@WITH_LIBXML2_CODE_TRUE@Requires.private: libgcrypt, gnutls, libxml-2.0 diff --git a/ports/libgwenhywfar/portfile.cmake b/ports/libgwenhywfar/portfile.cmake index a0ffa609e2ab14..a824c30637fc3f 100644 --- a/ports/libgwenhywfar/portfile.cmake +++ b/ports/libgwenhywfar/portfile.cmake @@ -1,13 +1,24 @@ vcpkg_download_distfile(ARCHIVE - URLS "https://www.aquamaniac.de/rdm/attachments/download/364/gwenhywfar-${VERSION}.tar.gz" + URLS "https://www.aquamaniac.de/rdm/attachments/download/529/gwenhywfar-5.12.0.tar.gz" FILENAME "gwenhywfar-${VERSION}.tar.gz" - SHA512 9875d677f49fc0a46f371fd1954d15d99c7d5994e90b16f1be7a5b8a1cbcd74ae9733e4541afd6d8251a2ba1a0a37c28e0f248952b7c917313fbf5b38b1d8d11 + SHA512 0075eb626f0022ecd4ffdd59de7f0817d2def685e1d2cfbca9a32faa4b8d4d213bea631f24c5385da0b8c7743fd6d1887a46f08afa371195d911409ec7655791 +) + +vcpkg_download_distfile(osx_patch + URLS "https://www.aquamaniac.de/rdm/projects/gwenhywfar/repository/revisions/55d4b7b526df30e4003c92e2f504f480c01021f0/diff?format=diff" + FILENAME "gwenhywfar-5.12.0-55d4b7b.diff" + SHA512 87fa9ff3e9027c5a6839f800990b420a824efbd115ed67eeaef3c909b14c59c0b9bae41c539d400166862c0353ad730313ee4f9366928c333883d41429912731 ) vcpkg_extract_source_archive( SOURCE_PATH ARCHIVE "${ARCHIVE}" SOURCE_BASE "${VERSION}" + PATCHES + control-openssl.diff + pkgconfig.diff + static-link-order.diff + ${osx_patch} ) vcpkg_list(SET options) @@ -24,50 +35,54 @@ endif() list(JOIN FEATURES_GUI " " GUIS) vcpkg_list(APPEND options "--with-guis=${GUIS}") -if(VCPKG_TARGET_IS_OSX) - vcpkg_list(APPEND options "LDFLAGS=\$LDFLAGS -framework CoreFoundation -framework Security") +if ("openssl" IN_LIST FEATURES) + vcpkg_list(APPEND options "--with-openssl=yes") endif() -vcpkg_configure_make( +set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/libgpg-error/aclocal/\" -I \"${CURRENT_INSTALLED_DIR}/share/libgcrypt/aclocal/\" -I \"${CURRENT_HOST_INSTALLED_DIR}/share/gettext/aclocal/\"") +set(ENV{AUTOPOINT} true) +vcpkg_make_configure( SOURCE_PATH "${SOURCE_PATH}" + AUTORECONF OPTIONS --disable-binreloc + --disable-network-checks + --disable-nls ${options} OPTIONS_RELEASE "--with-qt5-qmake=${CURRENT_HOST_INSTALLED_DIR}/tools/qt5/bin/qmake" "--with-qt5-moc=${CURRENT_HOST_INSTALLED_DIR}/tools/qt5/bin/moc" "--with-qt5-uic=${CURRENT_HOST_INSTALLED_DIR}/tools/qt5/bin/uic" - "GPG_ERROR_CONFIG=${CURRENT_INSTALLED_DIR}/tools/libgpg-error/bin/gpgrt-config" - "gpg_error_config_args=gpg-error" + "GPG_ERROR_CONFIG=${CURRENT_INSTALLED_DIR}/tools/libgpg-error/bin/gpgrt-config gpg-error" + "GPGRT_CONFIG=${CURRENT_INSTALLED_DIR}/tools/libgpg-error/bin/gpgrt-config" "LIBGCRYPT_CONFIG=${CURRENT_INSTALLED_DIR}/tools/libgcrypt/bin/libgcrypt-config" OPTIONS_DEBUG "--with-qt5-qmake=${CURRENT_HOST_INSTALLED_DIR}/tools/qt5/debug/bin/qmake" "--with-qt5-moc=${CURRENT_HOST_INSTALLED_DIR}/tools/qt5/debug/bin/moc" "--with-qt5-uic=${CURRENT_HOST_INSTALLED_DIR}/tools/qt5/debug/bin/uic" - "GPG_ERROR_CONFIG=${CURRENT_INSTALLED_DIR}/tools/libgpg-error/debug/bin/gpgrt-config" - "gpg_error_config_args=gpg-error" + "GPG_ERROR_CONFIG=${CURRENT_INSTALLED_DIR}/tools/libgpg-error/debug/bin/gpgrt-config gpg-error" + "GPGRT_CONFIG=${CURRENT_INSTALLED_DIR}/tools/libgpg-error/debug/bin/gpgrt-config" "LIBGCRYPT_CONFIG=${CURRENT_INSTALLED_DIR}/tools/libgcrypt/debug/bin/libgcrypt-config" ) -vcpkg_install_make() +vcpkg_make_install() vcpkg_copy_pdbs() vcpkg_fixup_pkgconfig() -string(REGEX MATCH "^([0-9]*[.][0-9]*)" MAJOR_MINOR "${VERSION}") -foreach(GUI IN LISTS FEATURES_GUI) - vcpkg_cmake_config_fixup(PACKAGE_NAME gwengui-${GUI} CONFIG_PATH lib/cmake/gwengui-${GUI}-${MAJOR_MINOR} DO_NOT_DELETE_PARENT_CONFIG_PATH) -endforeach() -vcpkg_cmake_config_fixup(PACKAGE_NAME gwenhywfar CONFIG_PATH lib/cmake/gwenhywfar-${MAJOR_MINOR}) - -if ("tools" IN_LIST FEATURES) - vcpkg_copy_tools(SEARCH_DIR "${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin" TOOL_NAMES gct-tool gsa mklistdoc typemaker typemaker2 xmlmerge AUTO_CLEAN) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + string(REGEX MATCH "^([0-9]*[.][0-9]*)" MAJOR_MINOR "${VERSION}") + foreach(GUI IN LISTS FEATURES_GUI) + vcpkg_cmake_config_fixup(PACKAGE_NAME gwengui-${GUI} CONFIG_PATH lib/cmake/gwengui-${GUI}-${MAJOR_MINOR} DO_NOT_DELETE_PARENT_CONFIG_PATH) + endforeach() + vcpkg_cmake_config_fixup(PACKAGE_NAME gwenhywfar CONFIG_PATH lib/cmake/gwenhywfar-${MAJOR_MINOR}) +else() + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/cmake" "${CURRENT_PACKAGES_DIR}/debug/lib/cmake") endif() -# the `dir` variable is not used in the script -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/libgwenhywfar/bin/gwenhywfar-config" "dir=\"${CURRENT_INSTALLED_DIR}\"" "") -if(NOT VCPKG_BUILD_TYPE) - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/libgwenhywfar/debug/bin/gwenhywfar-config" "dir=\"${CURRENT_INSTALLED_DIR}/debug\"" "") -endif() +vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin/gwenhywfar-config" [[dir="[^"]*"]] [[dir=""]] REGEX) # unused abs path +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/libgwenhywfar/static-link-order.diff b/ports/libgwenhywfar/static-link-order.diff new file mode 100644 index 00000000000000..2cd0b46420d049 --- /dev/null +++ b/ports/libgwenhywfar/static-link-order.diff @@ -0,0 +1,17 @@ +diff --git a/tools/gwenbuild/Makefile.am b/tools/gwenbuild/Makefile.am +index 14aa0e2..eb60988 100644 +--- a/tools/gwenbuild/Makefile.am ++++ b/tools/gwenbuild/Makefile.am +@@ -28,11 +28,11 @@ noinst_HEADERS=\ + + + gwbuild_LDADD = \ +- $(top_builddir)/src/$(gwenhywfar_internal_libname) \ + types/libgwb_types.la \ + parser/libgwb_parser.la \ + tools/libgwb_tools.la \ + builders/libgwb_builders.la \ + buildctx/libgwb_build.la \ ++ $(top_builddir)/src/$(gwenhywfar_internal_libname) \ + $(PROG_LIBRARIES) + diff --git a/ports/libgwenhywfar/vcpkg.json b/ports/libgwenhywfar/vcpkg.json index 4e0a1ca8802384..88bfb4ad469a55 100644 --- a/ports/libgwenhywfar/vcpkg.json +++ b/ports/libgwenhywfar/vcpkg.json @@ -1,21 +1,23 @@ { "name": "libgwenhywfar", - "version-semver": "5.6.0", - "port-version": 4, + "version-semver": "5.12.0", "description": "A helper library for networking and security applications and libraries", "homepage": "https://www.aquamaniac.de/rdm/", - "supports": "!windows", + "supports": "!windows | mingw", "dependencies": [ - "libgcrypt", { - "name": "libgnutls", - "features": [ - "openssl" - ] + "name": "gettext", + "host": true }, + "libgcrypt", + "libgnutls", { "name": "vcpkg-cmake-config", "host": true + }, + { + "name": "vcpkg-make", + "host": true } ], "default-features": [ @@ -24,7 +26,7 @@ ], "features": { "cpp": { - "description": "C++ bindings" + "description": "A C++ binding for the C module GWEN_GUI" }, "libxml2": { "description": "Enables libXML2-depending functionality", @@ -35,17 +37,22 @@ } ] }, + "openssl": { + "description": "OpenSSL support in gct-tool", + "supports": "!arm64", + "dependencies": [ + "openssl" + ] + }, "qt5": { "description": "Qt bindings", + "supports": "!(osx & static)", "dependencies": [ { "name": "qt5-base", "default-features": false } ] - }, - "tools": { - "description": "Some helper tools provided by Gwenhywfar and useful for applications using it" } } } diff --git a/ports/libgxps/portfile.cmake b/ports/libgxps/portfile.cmake index 234ccffb5a95a7..a485f487c6230e 100644 --- a/ports/libgxps/portfile.cmake +++ b/ports/libgxps/portfile.cmake @@ -1,3 +1,5 @@ +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) + set(LIBGXPS_VERSION 0.3.2) string(SUBSTRING ${LIBGXPS_VERSION} 0 3 MAJOR_MINOR) # e.g. 0.3 diff --git a/ports/libgxps/vcpkg.json b/ports/libgxps/vcpkg.json index acebb6e8eacb7f..a32fde1e6c76f3 100644 --- a/ports/libgxps/vcpkg.json +++ b/ports/libgxps/vcpkg.json @@ -1,7 +1,7 @@ { "name": "libgxps", "version": "0.3.2", - "port-version": 2, + "port-version": 4, "description": "libgxps is a GObject based library for handling and rendering XPS documents.", "homepage": "https://wiki.gnome.org/Projects/libgxps", "dependencies": [ @@ -12,7 +12,10 @@ "libjpeg-turbo", "libpng", "libxslt", - "tiff", + { + "name": "tiff", + "default-features": false + }, { "name": "vcpkg-tool-meson", "host": true diff --git a/ports/libharu/portfile.cmake b/ports/libharu/portfile.cmake index db1752498d330f..1286df49c5e90e 100644 --- a/ports/libharu/portfile.cmake +++ b/ports/libharu/portfile.cmake @@ -41,21 +41,24 @@ file(REMOVE_RECURSE ) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(READ "${CURRENT_PACKAGES_DIR}/include/hpdf.h" _contents) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - string(REPLACE "#ifdef HPDF_DLL\n" "#if 1\n" _contents "${_contents}") -else() - string(REPLACE "#ifdef HPDF_DLL\n" "#if 0\n" _contents "${_contents}") -endif() -file(WRITE "${CURRENT_PACKAGES_DIR}/include/hpdf.h" "${_contents}") -file(READ "${CURRENT_PACKAGES_DIR}/include/hpdf_types.h" _contents) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - string(REPLACE "#ifdef HPDF_DLL\n" "#if 1\n" _contents "${_contents}") -else() - string(REPLACE "#ifdef HPDF_DLL\n" "#if 0\n" _contents "${_contents}") +if(VCPKG_TARGET_IS_WINDOWS) + file(READ "${CURRENT_PACKAGES_DIR}/include/hpdf.h" _contents) + if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + string(REPLACE "#ifdef HPDF_DLL\n" "#if 1\n" _contents "${_contents}") + else() + string(REPLACE "#ifdef HPDF_DLL\n" "#if 0\n" _contents "${_contents}") + endif() + file(WRITE "${CURRENT_PACKAGES_DIR}/include/hpdf.h" "${_contents}") + + file(READ "${CURRENT_PACKAGES_DIR}/include/hpdf_types.h" _contents) + if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + string(REPLACE "#ifdef HPDF_DLL\n" "#if 1\n" _contents "${_contents}") + else() + string(REPLACE "#ifdef HPDF_DLL\n" "#if 0\n" _contents "${_contents}") + endif() + file(WRITE "${CURRENT_PACKAGES_DIR}/include/hpdf_types.h" "${_contents}") endif() -file(WRITE "${CURRENT_PACKAGES_DIR}/include/hpdf_types.h" "${_contents}") vcpkg_copy_pdbs() file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/libharu/vcpkg.json b/ports/libharu/vcpkg.json index 9e18fc42c4e118..de62c89fce9dca 100644 --- a/ports/libharu/vcpkg.json +++ b/ports/libharu/vcpkg.json @@ -1,6 +1,7 @@ { "name": "libharu", "version": "2.4.4", + "port-version": 1, "description": "libharu - free PDF library", "homepage": "https://github.com/libharu/libharu", "license": "Zlib", diff --git a/ports/libhdfs3/vcpkg.json b/ports/libhdfs3/vcpkg.json index 6a92fadf695388..0a8e190085ddc8 100644 --- a/ports/libhdfs3/vcpkg.json +++ b/ports/libhdfs3/vcpkg.json @@ -1,12 +1,16 @@ { "name": "libhdfs3", "version-date": "2019-11-05", - "port-version": 5, + "port-version": 6, "description": "Native Hadoop RPC protocol and HDFS data transfer protocol implementation", "homepage": "https://github.com/erikmuttersbach/libhdfs3", "supports": "!windows", "dependencies": [ - "boost", + "boost-atomic", + "boost-chrono", + "boost-iostreams", + "boost-system", + "boost-thread", { "name": "libuuid", "platform": "!windows & !osx" diff --git a/ports/libheif/fix-gcc8.patch b/ports/libheif/fix-gcc8.patch new file mode 100644 index 00000000000000..9efd35d687063c --- /dev/null +++ b/ports/libheif/fix-gcc8.patch @@ -0,0 +1,33 @@ +diff --git a/libheif/bitstream.cc b/libheif/bitstream.cc +index 9063718..f459fcc 100644 +--- a/libheif/bitstream.cc ++++ b/libheif/bitstream.cc +@@ -25,6 +25,12 @@ + #include + #include + ++#if ((defined(__GNUC__) && !defined(__clang__) && !defined(__INTEL_COMPILER) && !defined(__PGI)) && __GNUC__ < 9) || (defined(__clang__) && __clang_major__ < 10) ++#include ++#else ++#include ++#endif ++ + #define MAX_UVLC_LEADING_ZEROS 20 + + #define AVOID_FUZZER_FALSE_POSITIVE 0 +diff --git a/libheif/codecs/uncompressed/decoder_abstract.cc b/libheif/codecs/uncompressed/decoder_abstract.cc +index bbe4692..3c9aacd 100644 +--- a/libheif/codecs/uncompressed/decoder_abstract.cc ++++ b/libheif/codecs/uncompressed/decoder_abstract.cc +@@ -35,6 +35,11 @@ + #include "unc_codec.h" + #include "decoder_abstract.h" + ++#if ((defined(__GNUC__) && !defined(__clang__) && !defined(__INTEL_COMPILER) && !defined(__PGI)) && __GNUC__ < 9) || (defined(__clang__) && __clang_major__ < 10) ++#include ++#else ++#include ++#endif + + AbstractDecoder::AbstractDecoder(uint32_t width, uint32_t height, const std::shared_ptr cmpd, const std::shared_ptr uncC) : + m_width(width), diff --git a/ports/libheif/portfile.cmake b/ports/libheif/portfile.cmake index dc081bf1c98bab..70a83e429542d8 100644 --- a/ports/libheif/portfile.cmake +++ b/ports/libheif/portfile.cmake @@ -1,11 +1,17 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO strukturag/libheif + REPO strukturag/libheif REF "v${VERSION}" - SHA512 a4dbb0b1bcd6957841ce218f931a2d836e58d0b60323753020c684e97e4920f7802316f8979d1276904cd2e5809dc8e0dcf85ff9474d5f70e59380c290716fe7 + SHA512 ff6aedef3e848efed8dd274cb8bfd84fc9d08591ce1d4cba7a88f11625dc875eb5f53d7d14bab01693859f1518ae54f958b66ea7d86f3a1791eb07c05a3b0358 HEAD_REF master PATCHES gdk-pixbuf.patch + fix-gcc8.patch +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + hevc WITH_X265 ) vcpkg_cmake_configure( @@ -13,23 +19,24 @@ vcpkg_cmake_configure( OPTIONS -DWITH_EXAMPLES=OFF -DWITH_DAV1D=OFF - -DPKG_CONFIG_USE_CMAKE_PREFIX_PATH=ON + -DBUILD_TESTING=OFF + ${FEATURE_OPTIONS} ) vcpkg_cmake_install() vcpkg_copy_pdbs() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/libheif/) # libheif's pc file assumes libstdc++, which isn't always true. -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libheif.pc" " -lstdc++" "") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libheif.pc" " -lstdc++" "" IGNORE_UNCHANGED) if(NOT VCPKG_BUILD_TYPE) - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libheif.pc" " -lstdc++" "") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libheif.pc" " -lstdc++" "" IGNORE_UNCHANGED) endif() vcpkg_fixup_pkgconfig() if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/libheif/heif.h" "defined(_MSC_VER) && !defined(LIBHEIF_STATIC_BUILD)" "defined(_WIN32)") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/libheif/heif.h" "!defined(LIBHEIF_STATIC_BUILD)" "1") else() - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/libheif/heif.h" "defined(_MSC_VER) && !defined(LIBHEIF_STATIC_BUILD)" "0") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/libheif/heif.h" "!defined(LIBHEIF_STATIC_BUILD)" "0") endif() vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/libheif/heif.h" "#ifdef LIBHEIF_EXPORTS" "#if 0") diff --git a/ports/libheif/vcpkg.json b/ports/libheif/vcpkg.json index f0287217dcb3ae..5380d55837df12 100644 --- a/ports/libheif/vcpkg.json +++ b/ports/libheif/vcpkg.json @@ -1,7 +1,8 @@ { "name": "libheif", - "version": "1.17.1", - "description": "Open h.265 video codec implementation.", + "version": "1.19.5", + "port-version": 2, + "description": "libheif is an HEIF and AVIF file format decoder and encoder.", "homepage": "http://www.libheif.org/", "license": "LGPL-3.0-only", "supports": "!xbox", @@ -18,7 +19,18 @@ { "name": "vcpkg-cmake-config", "host": true - }, - "x265" - ] + } + ], + "default-features": [ + "hevc" + ], + "features": { + "hevc": { + "description": "HEVC encoding via x265", + "license": "GPL-2.0-or-later", + "dependencies": [ + "x265" + ] + } + } } diff --git a/ports/libhsplasma/portfile.cmake b/ports/libhsplasma/portfile.cmake index 9a45aa559f8324..f602a54523515a 100644 --- a/ports/libhsplasma/portfile.cmake +++ b/ports/libhsplasma/portfile.cmake @@ -1,8 +1,10 @@ +string(REGEX REPLACE "-" "." REF_DOT_VERSION_DATE ${VERSION}) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO H-uru/libhsplasma - REF 448ad712015c0b8a293af7bd56ab623dd2e6e131 # 2023.05.08 - SHA512 c08e7708f1a6e392075cc6eccbbf2ac932ce77d789ecb192e6805e478fe32f412c4b964494bdcc8574ed18c47b16c02e99b98994a63478ea6768ccedea6a3417 + REF "${REF_DOT_VERSION_DATE}" + SHA512 2edf124fe583e053c078f58d94110ed2285e1f02a34cc7607dfc79f8ab587e173e5782af5d4e2846613d7d6b3e1a27a319fdf138c7546c1c6257b5c8422c2f5a HEAD_REF master ) diff --git a/ports/libhsplasma/vcpkg.json b/ports/libhsplasma/vcpkg.json index 9b8acabb217ca5..fb1ef825974e6e 100644 --- a/ports/libhsplasma/vcpkg.json +++ b/ports/libhsplasma/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libhsplasma", - "version-date": "2023-05-08", + "version-date": "2024-03-07", "description": "Cross-platform Plasma data and network library", "homepage": "https://github.com/H-uru/libhsplasma", "license": "GPL-3.0-or-later", diff --git a/ports/libhv/portfile.cmake b/ports/libhv/portfile.cmake index 13471aabfa5fe0..39f7bf1a64aace 100644 --- a/ports/libhv/portfile.cmake +++ b/ports/libhv/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ithewei/libhv - REF v${VERSION} #v1.3.0 - SHA512 7d8f552947eb464a8dd644515b9543a7961631e427033de4e1f51f1e9d2b9ca1801553a478b0a20935b50dbc274632e38a6f0438732efed9fcbf0738738ddac5 + REF "v${VERSION}" + SHA512 06d3629cb4312610b2d7df279cd210a87bf76f92e606a2e8abcbd1f1a82bce060fd0984858859aa33d304b606e30349b0dca3eadaf26f452dd29eb1d52edce1d HEAD_REF master ) @@ -30,4 +30,4 @@ vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/libhv) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/libhv/vcpkg.json b/ports/libhv/vcpkg.json index 221571b989be13..e377ac58d780a0 100644 --- a/ports/libhv/vcpkg.json +++ b/ports/libhv/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libhv", - "version": "1.3.1", + "version": "1.3.3", "description": "Libhv is a C/C++ network library similar to libevent/libuv.", "homepage": "https://github.com/ithewei/libhv", "license": "BSD-3-Clause", diff --git a/ports/libical/portfile.cmake b/ports/libical/portfile.cmake index bfb357c20bb3f6..9dc13c0b38463c 100644 --- a/ports/libical/portfile.cmake +++ b/ports/libical/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libical/libical REF "v${VERSION}" - SHA512 11fbb4aba7503a3264b0efa30ad56aa923d31ec193bdb0b87b92bc88db9019fa670c8c9ee7998caa3a870e706446a58ead475f31bd703f0d2cb7aabf0f6a3aa7 + SHA512 32e5cac219801b40d8691deae6efae6fdaa64ca0968a72af5b27647958d44d79626c26c4e3675cfb284c2f1039c237c61ba2dd6030e9b1ea6a9d69296424240d ) vcpkg_find_acquire_program(PERL) @@ -39,4 +39,4 @@ 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) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/libical/vcpkg.json b/ports/libical/vcpkg.json index 52dacb74deb429..938347ae030f94 100644 --- a/ports/libical/vcpkg.json +++ b/ports/libical/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libical", - "version": "3.0.17", + "version": "3.0.19", "description": "Reference implementation of the iCalendar data type and serialization format", "homepage": "https://github.com/libical/libical", "license": "MPL-2.0", diff --git a/ports/libice/fix_build.patch b/ports/libice/fix_build.patch index 3d936ac2efe71a..2812b12a1a6b21 100644 --- a/ports/libice/fix_build.patch +++ b/ports/libice/fix_build.patch @@ -1,5 +1,5 @@ diff --git a/src/error.c b/src/error.c -index 055452ec3..0ce530a96 100644 +index 055452e..0ce530a 100644 --- a/src/error.c +++ b/src/error.c @@ -32,7 +32,11 @@ Author: Ralph Mor, X Consortium @@ -15,14 +15,13 @@ index 055452ec3..0ce530a96 100644 void diff --git a/src/iceauth.c b/src/iceauth.c -index 147efc76c..ea6d1a67b 100644 +index 5a4d400..4549f0e 100644 --- a/src/iceauth.c +++ b/src/iceauth.c -@@ -38,8 +38,12 @@ Author: Ralph Mor, X Consortium - #ifdef HAVE_LIBBSD - #include /* for arc4random_buf() */ +@@ -39,7 +39,12 @@ Author: Ralph Mor, X Consortium + #include /* for arc4random_buf() */ #endif -- + +#ifdef HAVE_UNISTD_H #include +#elif _MSC_VER diff --git a/ports/libice/portfile.cmake b/ports/libice/portfile.cmake index 3c8470d0132435..397070ae74cb05 100644 --- a/ports/libice/portfile.cmake +++ b/ports/libice/portfile.cmake @@ -7,8 +7,8 @@ vcpkg_from_gitlab( GITLAB_URL https://gitlab.freedesktop.org/xorg OUT_SOURCE_PATH SOURCE_PATH REPO lib/libice - REF 8e6a14c63d6b73cde87cb331439f2a4d19cba5b9 # 1.0.10 - SHA512 ad79cfbc3b1d51fb1f019bc088999ac8a64062a71667dbb4ffb62fe6d1b7dba7665944f64be6dcd27de08cc77e91512de97231db1e4ac018088727e90113d040 + REF be1888a46e446dfcaa62ac0a97d96bb77b6816d4 # 1.1.1 + SHA512 0892ee9210302e787297763bcf0c7788bcd5f5572d5fd86472e8104dc291e7e190effc0100bbca98c6b048b445bd9e8bdf490287e1dbf2a64693aa1895950610 HEAD_REF master PATCHES fix_build.patch replace_macros.patch diff --git a/ports/libice/replace_macros.patch b/ports/libice/replace_macros.patch index dcae31cf972cf7..ac50880b5d9cd8 100644 --- a/ports/libice/replace_macros.patch +++ b/ports/libice/replace_macros.patch @@ -1,5 +1,5 @@ diff --git a/include/X11/ICE/ICElib.h b/include/X11/ICE/ICElib.h -index 402cbc8bd..506c18baf 100644 +index 402cbc8..506c18b 100644 --- a/include/X11/ICE/ICElib.h +++ b/include/X11/ICE/ICElib.h @@ -32,8 +32,8 @@ Author: Ralph Mor, X Consortium diff --git a/ports/libice/vcpkg.json b/ports/libice/vcpkg.json index 3286ea25bb56ec..3d45982d180461 100644 --- a/ports/libice/vcpkg.json +++ b/ports/libice/vcpkg.json @@ -1,7 +1,6 @@ { "name": "libice", - "version": "1.0.10", - "port-version": 1, + "version": "1.1.1", "description": "Inter-Client Exchange Library", "homepage": "https://gitlab.freedesktop.org/xorg/lib/libice", "license": "MIT-open-group", diff --git a/ports/libiconv/0005-iOS-missing-symbol-fix.patch b/ports/libiconv/0005-iOS-missing-symbol-fix.patch new file mode 100644 index 00000000000000..24acc2295420b7 --- /dev/null +++ b/ports/libiconv/0005-iOS-missing-symbol-fix.patch @@ -0,0 +1,51 @@ +From 2a1216b603b5eb592c5f313df9e79a81997ad13c Mon Sep 17 00:00:00 2001 +From: Cosmin Mihai +Date: Mon, 11 Nov 2024 22:43:30 +0200 +Subject: [PATCH] iOS missing symbol fix + +--- + build-aux/install-reloc | 1 + + srclib/relocwrapper.c | 1 + + srcm4/gnulib-comp.m4 | 2 ++ + 3 files changed, 4 insertions(+) + +diff --git a/build-aux/install-reloc b/build-aux/install-reloc +index 63aeb9a..570b211 100755 +--- a/build-aux/install-reloc ++++ b/build-aux/install-reloc +@@ -236,6 +236,7 @@ func_create_wrapper () + "$srcdir"/allocator.c \ + "$srcdir"/readlink.c \ + "$srcdir"/stat.c \ ++ "$srcdir"/stat-time.c \ + "$srcdir"/canonicalize-lgpl.c \ + "$srcdir"/malloc/scratch_buffer_dupfree.c \ + "$srcdir"/malloc/scratch_buffer_grow.c \ +diff --git a/srclib/relocwrapper.c b/srclib/relocwrapper.c +index ff0ad41..0304e12 100644 +--- a/srclib/relocwrapper.c ++++ b/srclib/relocwrapper.c +@@ -44,6 +44,7 @@ + -> realloc-posix + -> free-posix + -> pathmax ++ -> stat-time + -> mempcpy + -> rawmemchr + -> readlink +diff --git a/srcm4/gnulib-comp.m4 b/srcm4/gnulib-comp.m4 +index b511e8a..832a8e7 100644 +--- a/srcm4/gnulib-comp.m4 ++++ b/srcm4/gnulib-comp.m4 +@@ -730,6 +730,8 @@ AC_DEFUN([gl_FILE_LIST], [ + lib/stat-w32.c + lib/stat-w32.h + lib/stat.c ++ lib/stat-time.h ++ lib/stat-time.c + lib/stdalign.in.h + lib/stdbool.in.h + lib/stddef.in.h +-- +2.39.5 (Apple Git-154) + diff --git a/ports/libiconv/portfile.cmake b/ports/libiconv/portfile.cmake index b834b2aadf2497..0f5c268e43cf70 100644 --- a/ports/libiconv/portfile.cmake +++ b/ports/libiconv/portfile.cmake @@ -1,4 +1,4 @@ -if(NOT VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_ANDROID) +if(NOT VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_ANDROID AND NOT VCPKG_TARGET_IS_IOS AND NOT VCPKG_TARGET_IS_FREEBSD AND NOT VCPKG_TARGET_IS_OPENBSD) set(VCPKG_POLICY_EMPTY_PACKAGE enabled) file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/share/iconv") file(COPY "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/iconv") @@ -19,6 +19,7 @@ vcpkg_extract_source_archive(SOURCE_PATH 0003-Add-export.patch 0004-ModuleFileName.patch clang-fortify.patch # ported from https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=522aea1093a598246346b3e1c426505c344fe19a + 0005-iOS-missing-symbol-fix.patch ) vcpkg_list(SET OPTIONS) @@ -50,19 +51,10 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/${PORT}") # share contains un # Please keep, the default usage is broken file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -file(READ "${SOURCE_PATH}/COPYING.LIB" copying_lib) -file(READ "${SOURCE_PATH}/COPYING" copying_tool) -file(WRITE "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" " + +# Handle copyright +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING.LIB" "${SOURCE_PATH}/COPYING" COMMENT " The libiconv and libcharset libraries and their header files are under LGPL, see COPYING.LIB below. -The iconv program and the documentation are under GPL, see COPYING below. - -# COPYING.LIB - -${copying_lib} - -# COPYING - -${copying_tool} -") +The iconv program and the documentation are under GPL, see COPYING below.") diff --git a/ports/libiconv/vcpkg.json b/ports/libiconv/vcpkg.json index 0ed97096b0ae3a..b80eb4153cd2ee 100644 --- a/ports/libiconv/vcpkg.json +++ b/ports/libiconv/vcpkg.json @@ -1,7 +1,7 @@ { "name": "libiconv", "version": "1.17", - "port-version": 1, + "port-version": 5, "description": "GNU Unicode text conversion", "homepage": "https://www.gnu.org/software/libiconv/", "license": null diff --git a/ports/libics/portfile.cmake b/ports/libics/portfile.cmake index 1a8350bc14f508..54be57d8e4a567 100644 --- a/ports/libics/portfile.cmake +++ b/ports/libics/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO svi-opensource/libics REF "${VERSION}" - SHA512 290d6d7bd3f5611d0b46aa6406ef10449ee768bc14d0b34f0bb365ca46f98b7fd4065c94fd9594e357427a4d0644f2724a1f773c7f3b43adc3db2389b94ee88e + SHA512 0eba280c1174cbd0e1fe6da1502345720793df2f3f6ec31fe0043d79a31d7b79cac5d7da726891faacedc91056e6337a3a694e50d0baafa08314a2867ff3e62f HEAD_REF master PATCHES fix-integral-include.patch ) diff --git a/ports/libics/vcpkg.json b/ports/libics/vcpkg.json index 444c9aa0ae2b7d..c70580f33c13ed 100644 --- a/ports/libics/vcpkg.json +++ b/ports/libics/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libics", - "version": "1.6.6", + "version": "1.6.8", "description": "Reference library for ICS (Image Cytometry Standard), an open standard for writing images of any dimensionality and data type to file, together with associated information regarding the recording equipment or recorded subject.", "homepage": "https://github.com/svi-opensource/libics", "dependencies": [ diff --git a/ports/libidn2/disable-subdirs.patch b/ports/libidn2/disable-subdirs.patch index 1bed25a31ef18a..212b54643f8e4f 100644 --- a/ports/libidn2/disable-subdirs.patch +++ b/ports/libidn2/disable-subdirs.patch @@ -6,8 +6,16 @@ index 3c8179c..f37158c 100644 DISTCHECK_CONFIGURE_FLAGS ?= --enable-gtk-doc --enable-gtk-doc-pdf --disable-gcc-warnings --SUBDIRS = gl unistring lib src examples tests fuzz po -+SUBDIRS = gl unistring lib src po +-SUBDIRS = gl unistring lib src examples fuzz po ++SUBDIRS = gl unistring lib src po ACLOCAL_AMFLAGS = -I m4 -I gl/m4 -I unistring/m4 EXTRA_DIST = gl/m4/gnulib-cache.m4 +@@ -23,7 +23,6 @@ if ENABLE_DOC + SUBDIRS += doc + endif + +-SUBDIRS += tests + + EXTRA_DIST += cfg.mk maint.mk CONTRIBUTING.md README.md + EXTRA_DIST += COPYING COPYING.LESSERv3 COPYING.unicode COPYINGv2 diff --git a/ports/libidn2/fix-msvc.patch b/ports/libidn2/fix-msvc.patch deleted file mode 100644 index ce01175063a7ee..00000000000000 --- a/ports/libidn2/fix-msvc.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/lib/idn2.h.in b/lib/idn2.h.in -index 703477e..0c37b2e 100644 ---- a/lib/idn2.h.in -+++ b/lib/idn2.h.in -@@ -104,8 +104,6 @@ extern "C" - */ - # if GCC_VERSION_AT_LEAST(3,1) - # define G_GNUC_DEPRECATED __attribute__((deprecated)) --# elif defined(_MSC_VER) --# define G_GNUC_DEPRECATED __declspec(deprecated) - # else - # define G_GNUC_DEPRECATED /* empty */ - # endif diff --git a/ports/libidn2/fix-static-into-shared-linking.patch b/ports/libidn2/fix-static-into-shared-linking.patch deleted file mode 100644 index e9df074d553711..00000000000000 --- a/ports/libidn2/fix-static-into-shared-linking.patch +++ /dev/null @@ -1,30 +0,0 @@ ---- a/lib/puny_decode.c -+++ b/lib/puny_decode.c -@@ -242,12 +242,3 @@ - /* cannot overflow because out <= old value of *output_length */ - return punycode_success; - } -- --/* Create a compatibility symbol if supported. Hidden references make -- the target symbol hidden, hence the alias. */ --#ifdef HAVE_SYMVER_ALIAS_SUPPORT --__typeof__ (_idn2_punycode_decode_internal) _idn2_punycode_decode -- __attribute__((visibility ("default"), -- alias ("_idn2_punycode_decode_internal"))); --__asm__ (".symver _idn2_punycode_decode, _idn2_punycode_decode@IDN2_0.0.0"); --#endif ---- a/lib/puny_encode.c -+++ b/lib/puny_encode.c -@@ -243,12 +243,3 @@ - *output_length = out; - return punycode_success; - } -- --/* Create a compatibility symbol if supported. Hidden references make -- the target symbol hidden, hence the alias. */ --#ifdef HAVE_SYMVER_ALIAS_SUPPORT --__typeof__ (_idn2_punycode_encode_internal) _idn2_punycode_encode -- __attribute__((visibility ("default"), -- alias ("_idn2_punycode_encode_internal"))); --__asm__ (".symver _idn2_punycode_encode, _idn2_punycode_encode@IDN2_0.0.0"); --#endif diff --git a/ports/libidn2/portfile.cmake b/ports/libidn2/portfile.cmake index 0fa9a5ddb614fe..8a42c5d337a8b8 100644 --- a/ports/libidn2/portfile.cmake +++ b/ports/libidn2/portfile.cmake @@ -1,27 +1,17 @@ -vcpkg_minimum_required(VERSION 2022-10-12) # for ${VERSION} - set(IDN2_FILENAME "libidn2-${VERSION}.tar.gz") vcpkg_download_distfile(ARCHIVE - URLS "https://ftp.gnu.org/gnu/libidn/${IDN2_FILENAME}" "https://www.mirrorservice.org/sites/ftp.gnu.org/gnu/libidn/${IDN2_FILENAME}" + URLS "https://ftp.gnu.org/gnu/libidn/${IDN2_FILENAME}" + "https://www.mirrorservice.org/sites/ftp.gnu.org/gnu/libidn/${IDN2_FILENAME}" FILENAME "${IDN2_FILENAME}" - SHA512 a6e90ccef56cfd0b37e3333ab3594bb3cec7ca42a138ca8c4f4ce142da208fa792f6c78ca00c01001c2bc02831abcbaf1cf9bcc346a5290fd7b30708f5a462f3 + SHA512 eab5702bc0baed45492f8dde43a4d2ea3560ad80645e5f9e0cfa8d3b57bccd7fd782d04638e000ba07924a5d9f85e760095b55189188c4017b94705bef9b4a66 ) -vcpkg_list(SET patches) -if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") - # Fix linking static libidn2 into shared library - # https://gitlab.com/libidn/libidn2/-/issues/80 - vcpkg_list(APPEND patches "fix-static-into-shared-linking.patch") -endif() - vcpkg_extract_source_archive(SOURCE_PATH ARCHIVE "${ARCHIVE}" SOURCE_BASE "v${VERSION}" PATCHES - ${patches} disable-subdirs.patch - fix-msvc.patch fix-uwp.patch ) @@ -38,11 +28,10 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") endif() set(ENV{GTKDOCIZE} true) -vcpkg_configure_make( +vcpkg_make_configure( SOURCE_PATH "${SOURCE_PATH}" - AUTOCONFIG + AUTORECONF COPY_SOURCE # include dir order problem - USE_WRAPPERS OPTIONS ${options} --disable-gtk-doc @@ -57,7 +46,7 @@ vcpkg_configure_make( "CFLAGS=\$CFLAGS -I${CURRENT_INSTALLED_DIR}/include" ) -vcpkg_install_make() +vcpkg_make_install() vcpkg_fixup_pkgconfig() vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin") @@ -71,6 +60,10 @@ file(REMOVE_RECURSE ) vcpkg_install_copyright( + COMMENT [[ +The installed C library libidn2 is dual-licensed under LGPLv3+|GPLv2+, +while the rest of the package is GPLv3+. +]] FILE_LIST "${SOURCE_PATH}/COPYING" "${SOURCE_PATH}/COPYING.LESSERv3" diff --git a/ports/libidn2/vcpkg.json b/ports/libidn2/vcpkg.json index f0c5add11ff9b6..7bc3d0b2245b06 100644 --- a/ports/libidn2/vcpkg.json +++ b/ports/libidn2/vcpkg.json @@ -1,26 +1,30 @@ { "name": "libidn2", - "version": "2.3.4", - "port-version": 3, + "version": "2.3.7", + "port-version": 2, "description": "GNU Libidn is an implementation of the Stringprep, Punycode and IDNA 2003 specifications. Libidn's purpose is to encode and decode internationalized domain names.", "homepage": "https://www.gnu.org/software/libidn/", "license": null, "dependencies": [ "libiconv", - "libunistring" + "libunistring", + { + "name": "vcpkg-make", + "host": true + } ], "features": { "nls": { "description": "Enable native language support", "dependencies": [ - "gettext", { "name": "gettext", "host": true, "features": [ "tools" ] - } + }, + "gettext-libintl" ] } } diff --git a/ports/libigl/dependencies.patch b/ports/libigl/dependencies.patch index 19091e5c96f8ba..b7c3fbdb1f0da9 100644 --- a/ports/libigl/dependencies.patch +++ b/ports/libigl/dependencies.patch @@ -1,29 +1,3 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 232bc03..8143963 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -64,7 +64,7 @@ set(MATLAB_ADDITIONAL_VERSIONS - set(LIBIGL_DEFAULT_MATLAB ${LIBIGL_TOPLEVEL_PROJECT}) - set(LIBIGL_DEFAULT_MOSEK ${LIBIGL_TOPLEVEL_PROJECT}) - if(LIBIGL_TOPLEVEL_PROJECT) -- if(NOT WIN32) -+ if(0) - find_package(GMP QUIET) - find_package(MPFR QUIET) - if(NOT (TARGET gmp::gmp AND TARGET mpfr::mpfr)) -diff --git a/cmake/igl/libigl-config.cmake.in b/cmake/igl/libigl-config.cmake.in -index 359e314..6e04af6 100644 ---- a/cmake/igl/libigl-config.cmake.in -+++ b/cmake/igl/libigl-config.cmake.in -@@ -1,3 +1,8 @@ - @PACKAGE_INIT@ - -+include(CMakeFindDependencyMacro) -+find_dependency(Eigen3) -+find_dependency(Threads) -+include("${CMAKE_CURRENT_LIST_DIR}/LibiglConfigTargets.cmake") -+ - check_required_components(Libigl) diff --git a/cmake/igl/modules/copyleft/cgal.cmake b/cmake/igl/modules/copyleft/cgal.cmake index f6abe8c..7ee7d84 100644 --- a/cmake/igl/modules/copyleft/cgal.cmake @@ -74,10 +48,10 @@ index 6f22319..de85066 100644 # 5. Unit tests diff --git a/cmake/igl/modules/glfw.cmake b/cmake/igl/modules/glfw.cmake -index 151338e..f42d22a 100644 +index 79c2126..6d06775 100644 --- a/cmake/igl/modules/glfw.cmake +++ b/cmake/igl/modules/glfw.cmake -@@ -14,10 +14,10 @@ file(GLOB SRC_FILES "${libigl_SOURCE_DIR}/include/igl/opengl/glfw/*.cpp") +@@ -14,12 +14,12 @@ file(GLOB SRC_FILES "${libigl_SOURCE_DIR}/include/igl/opengl/glfw/*.cpp") igl_target_sources(igl_glfw ${INC_FILES} ${SRC_FILES}) # 4. Dependencies @@ -90,8 +64,10 @@ index 151338e..f42d22a 100644 - glfw::glfw + $ ) + + # 5. Unit tests diff --git a/cmake/igl/modules/imgui.cmake b/cmake/igl/modules/imgui.cmake -index d7ffb9d..f331854 100644 +index d7ffb9d..6152756 100644 --- a/cmake/igl/modules/imgui.cmake +++ b/cmake/igl/modules/imgui.cmake @@ -14,14 +14,12 @@ file(GLOB SRC_FILES "${libigl_SOURCE_DIR}/include/igl/opengl/glfw/imgui/*.cpp") @@ -108,8 +84,9 @@ index d7ffb9d..f331854 100644 igl::core igl::glfw imgui::imgui - imguizmo::imguizmo +- imguizmo::imguizmo - igl::imgui_fonts ++ imguizmo::imguizmo ) diff --git a/cmake/igl/modules/opengl.cmake b/cmake/igl/modules/opengl.cmake index 4580c03..dfadb38 100644 @@ -124,19 +101,6 @@ index 4580c03..dfadb38 100644 find_package(OpenGL REQUIRED OPTIONAL_COMPONENTS OpenGL) target_link_libraries(igl_opengl ${IGL_SCOPE} igl::core -diff --git a/cmake/igl/modules/png.cmake b/cmake/igl/modules/png.cmake -index b267deb..8d8decc 100644 ---- a/cmake/igl/modules/png.cmake -+++ b/cmake/igl/modules/png.cmake -@@ -14,7 +14,7 @@ file(GLOB SRC_FILES "${libigl_SOURCE_DIR}/include/igl/png/*.cpp") - igl_target_sources(igl_png ${INC_FILES} ${SRC_FILES}) - - # 4. Dependencies --include(stb) -+find_package(Stb REQUIRED) - igl_include(opengl) - target_link_libraries(igl_png ${IGL_SCOPE} - igl::core diff --git a/cmake/igl/modules/xml.cmake b/cmake/igl/modules/xml.cmake index 3763b77..31ab979 100644 --- a/cmake/igl/modules/xml.cmake diff --git a/ports/libigl/install-extra-targets.patch b/ports/libigl/install-extra-targets.patch index f68ffe60d29965..040243382ad6b4 100644 --- a/ports/libigl/install-extra-targets.patch +++ b/ports/libigl/install-extra-targets.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 8143963..784ac50 100644 +index 4a98749..bc121a5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -157,7 +157,7 @@ if(LIBIGL_INSTALL) +@@ -166,7 +166,7 @@ if(LIBIGL_INSTALL) set(version_config_file "${CMAKE_CURRENT_BINARY_DIR}/LibiglConfigVersion.cmake") set(export_dest_dir "${CMAKE_INSTALL_LIBDIR}/cmake/igl") @@ -12,12 +12,12 @@ index 8143963..784ac50 100644 DESTINATION ${export_dest_dir} NAMESPACE igl${suffix}:: diff --git a/cmake/igl/libigl-config.cmake.in b/cmake/igl/libigl-config.cmake.in -index 629896d..0b05692 100644 +index d3ff19f..60e50c7 100644 --- a/cmake/igl/libigl-config.cmake.in +++ b/cmake/igl/libigl-config.cmake.in -@@ -4,5 +4,30 @@ include(CMakeFindDependencyMacro) - find_dependency(Eigen3) - find_dependency(Threads) +@@ -4,4 +4,27 @@ include(CMakeFindDependencyMacro) + find_dependency(Eigen3 REQUIRED) + find_dependency(Threads REQUIRED) include("${CMAKE_CURRENT_LIST_DIR}/LibiglConfigTargets.cmake") +if(TARGET igl::igl_embree) + find_dependency(embree 3) @@ -33,9 +33,6 @@ index 629896d..0b05692 100644 + find_dependency(OpenGL) + find_dependency(glad) +endif() -+if(TARGET igl::igl_png) -+ find_dependency(Stb) -+endif() +if(TARGET igl::igl_xml) + find_dependency(tinyxml2) +endif() @@ -44,7 +41,7 @@ index 629896d..0b05692 100644 +if(TARGET igl_copyleft::igl_copyleft_cgal) + find_dependency(CGAL) +endif() - ++ check_required_components(Libigl) diff --git a/cmake/igl/modules/copyleft/cgal.cmake b/cmake/igl/modules/copyleft/cgal.cmake index 7ee7d84..d06c6ee 100644 @@ -99,10 +96,10 @@ index 137d30b..597c26b 100644 # 4. Install target & headers diff --git a/cmake/igl/modules/embree.cmake b/cmake/igl/modules/embree.cmake -index de85066..052fc76 100644 +index de85066..c54949c 100644 --- a/cmake/igl/modules/embree.cmake +++ b/cmake/igl/modules/embree.cmake -@@ -20,6 +20,9 @@ target_link_libraries(igl_embree ${IGL_SCOPE} +@@ -20,6 +20,8 @@ target_link_libraries(igl_embree ${IGL_SCOPE} $ ) @@ -111,47 +108,42 @@ index de85066..052fc76 100644 # 5. Unit tests file(GLOB SRC_FILES "${libigl_SOURCE_DIR}/tests/include/igl/embree/*.cpp") igl_add_test(igl_embree ${SRC_FILES}) -+ diff --git a/cmake/igl/modules/glfw.cmake b/cmake/igl/modules/glfw.cmake -index f42d22a..e9930d8 100644 +index 6d06775..7126a23 100644 --- a/cmake/igl/modules/glfw.cmake +++ b/cmake/igl/modules/glfw.cmake -@@ -21,3 +21,5 @@ target_link_libraries(igl_glfw ${IGL_SCOPE} - igl::opengl +@@ -22,6 +22,9 @@ target_link_libraries(igl_glfw ${IGL_SCOPE} $ ) + + +igl_install(igl_glfw ${INC_FILES} ${SRC_FILES}) ++ + # 5. Unit tests + if(LIBIGL_GLFW_TESTS) + file(GLOB SRC_FILES "${libigl_SOURCE_DIR}/tests/include/igl/opengl/glfw/*.cpp") diff --git a/cmake/igl/modules/imgui.cmake b/cmake/igl/modules/imgui.cmake -index f331854..7ff9738 100644 +index 6152756..34359c6 100644 --- a/cmake/igl/modules/imgui.cmake +++ b/cmake/igl/modules/imgui.cmake -@@ -23,3 +23,5 @@ target_link_libraries(igl_imgui ${IGL_SCOPE} +@@ -23,3 +23,6 @@ target_link_libraries(igl_imgui ${IGL_SCOPE} imgui::imgui imguizmo::imguizmo ) + +igl_install(igl_imgui ${INC_FILES} ${SRC_FILES}) ++ diff --git a/cmake/igl/modules/opengl.cmake b/cmake/igl/modules/opengl.cmake -index dfadb38..185494b 100644 +index dfadb38..d3deaba 100644 --- a/cmake/igl/modules/opengl.cmake +++ b/cmake/igl/modules/opengl.cmake -@@ -22,3 +22,5 @@ target_link_libraries(igl_opengl ${IGL_SCOPE} +@@ -22,3 +22,6 @@ target_link_libraries(igl_opengl ${IGL_SCOPE} # Link against OpenGL::OpenGL if available, or fallback to OpenGL::GL $,OpenGL::OpenGL,OpenGL::GL> ) + +igl_install(igl_opengl ${INC_FILES} ${SRC_FILES}) -diff --git a/cmake/igl/modules/png.cmake b/cmake/igl/modules/png.cmake -index 8d8decc..293da91 100644 ---- a/cmake/igl/modules/png.cmake -+++ b/cmake/igl/modules/png.cmake -@@ -21,3 +21,5 @@ target_link_libraries(igl_png ${IGL_SCOPE} - igl::opengl - stb::stb - ) + -+igl_install(igl_png ${INC_FILES} ${SRC_FILES}) diff --git a/cmake/igl/modules/xml.cmake b/cmake/igl/modules/xml.cmake index 31ab979..815ea62 100644 --- a/cmake/igl/modules/xml.cmake @@ -162,3 +154,17 @@ index 31ab979..815ea62 100644 ) + +igl_install(igl_xml ${INC_FILES} ${SRC_FILES}) + +diff --git a/cmake/igl/modules/stb.cmake b/cmake/igl/modules/stb.cmake +index 20607ec..5bc3211 100644 +--- a/cmake/igl/modules/stb.cmake ++++ b/cmake/igl/modules/stb.cmake +@@ -21,7 +21,7 @@ endif() + igl_target_sources(igl_stb ${INC_FILES} ${SRC_FILES}) + + # 4. Dependencies +-include(stb) ++find_package(Stb REQUIRED) + target_link_libraries(igl_stb ${IGL_SCOPE} + igl::core + stb::stb diff --git a/ports/libigl/portfile.cmake b/ports/libigl/portfile.cmake index 14cdc319318c3b..27c53e1412e526 100644 --- a/ports/libigl/portfile.cmake +++ b/ports/libigl/portfile.cmake @@ -1,12 +1,11 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libigl/libigl - REF 66b3ef2253e765d0ce0db74cec91bd706e5ba176 #2.4.0 - SHA512 7014ffdaa160bfa2509fc283cb7176d7994a37f51509c7374659292efad076c8fb594f9f6990bab1aa5562d1f66e93403ea35a5bf2a924436560a2d4669ffcfd + REF "v${VERSION}" + SHA512 39b92ec4c2479a3c0a8e99b2890643c9d76a7e5b61b485c1a3a5f5abff1da4e62b67b879dbcf6e18a43f98172fc9f87f0a6c92b99e2a1900e6f1d2e809899b11 HEAD_REF master PATCHES dependencies.patch - upstream_fixes.patch install-extra-targets.patch ) file(REMOVE @@ -27,6 +26,7 @@ file(REMOVE "${SOURCE_PATH}/cmake/recipes/external/mpfr.cmake" "${SOURCE_PATH}/cmake/recipes/external/stb.cmake" "${SOURCE_PATH}/cmake/recipes/external/tinyxml2.cmake" + "${SOURCE_PATH}/cmake/recipes/external/spectra.cmake" ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS @@ -36,7 +36,6 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS glfw LIBIGL_GLFW imgui LIBIGL_IMGUI opengl LIBIGL_OPENGL - png LIBIGL_PNG xml LIBIGL_XML # Features removed: missing binary libs / separate ports comiso LIBIGL_COPYLEFT_COMISO @@ -58,6 +57,7 @@ vcpkg_cmake_configure( -DLIBIGL_RESTRICTED_MOSEK=OFF -DLIBIGL_USE_STATIC_LIBRARY=OFF -DHUNTER_ENABLED=OFF + -DLIBIGL_SPECTRA=OFF ${ADDITIONAL_OPTIONS} ) diff --git a/ports/libigl/upstream_fixes.patch b/ports/libigl/upstream_fixes.patch deleted file mode 100644 index 5840b8075ca33e..00000000000000 --- a/ports/libigl/upstream_fixes.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git "a/include/igl/average_from_edges_onto_vertices.cpp" "b/include/igl/average_from_edges_onto_vertices.cpp" -index 12c54c58..ed2951c1 100644 ---- "a/include/igl/average_from_edges_onto_vertices.cpp" -+++ "b/include/igl/average_from_edges_onto_vertices.cpp" -@@ -62,7 +62,7 @@ igl::average_from_edges_onto_vertices( - - #ifdef IGL_STATIC_LIBRARY - // Explicit template instantiation --template void igl::average_from_edges_onto_vertices, Eigen::Matrix, Eigen::Matrix, Eigen::PartialReduxExpr, Eigen::internal::member_norm, 1>, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase, Eigen::internal::member_norm, 1> > const&, Eigen::PlainObjectBase >&); -+template void igl::average_from_edges_onto_vertices, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&); - template void igl::average_from_edges_onto_vertices, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&); - template void igl::average_from_edges_onto_vertices, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&); --#endif -+#endif diff --git a/ports/libigl/vcpkg.json b/ports/libigl/vcpkg.json index 2c4a7d5ac79895..ddc0e4ef3a0ffa 100644 --- a/ports/libigl/vcpkg.json +++ b/ports/libigl/vcpkg.json @@ -1,12 +1,13 @@ { "name": "libigl", - "version": "2.4.0", - "port-version": 4, + "version": "2.5.0", + "port-version": 2, "description": "libigl is a simple C++ geometry processing library. We have a wide functionality including construction of sparse discrete differential geometry operators and finite-elements matrices such as the cotangent Laplacian and diagonalized mass matrix, simple facet and edge-based topology data structures, mesh-viewing utilities for OpenGL and GLSL, and many core functions for matrix manipulation which make Eigen feel a lot more like MATLAB.", "homepage": "https://github.com/libigl/libigl", "license": null, "dependencies": [ "eigen3", + "stb", { "name": "vcpkg-cmake", "host": true @@ -77,19 +78,6 @@ "opengl" ] }, - "png": { - "description": "Install PNG support", - "dependencies": [ - { - "name": "libigl", - "default-features": false, - "features": [ - "opengl" - ] - }, - "stb" - ] - }, "xml": { "description": "Build with libxml", "dependencies": [ diff --git a/ports/libirecovery/CMakeLists.txt b/ports/libirecovery/CMakeLists.txt index 7e8a728ac3100c..5345b32980e965 100644 --- a/ports/libirecovery/CMakeLists.txt +++ b/ports/libirecovery/CMakeLists.txt @@ -41,9 +41,9 @@ target_link_libraries(libirecovery unofficial::libimobiledevice-glue::libimobiledevice-glue ) if(NOT WIN32 AND NOT APPLE) - find_package(libusb CONFIG REQUIRED) - target_include_directories(libirecovery PRIVATE ${LIBUSB_INCLUDE_DIRS}) - target_link_libraries(libirecovery PRIVATE ${LIBUSB_LIBRARIES}) + find_package(PkgConfig REQUIRED) + pkg_check_modules(libusb REQUIRED IMPORTED_TARGET libusb-1.0) + target_link_libraries(libirecovery PRIVATE PkgConfig::libusb) endif() set_target_properties(libirecovery PROPERTIES OUTPUT_NAME irecovery-1.0) @@ -111,9 +111,9 @@ if(BUILD_TOOLS) target_link_libraries(irecovery PRIVATE "-framework IOKit" "-framework CoreFoundation") endif() if(NOT WIN32 AND NOT APPLE) - find_package(libusb CONFIG REQUIRED) - target_include_directories(irecovery PRIVATE ${LIBUSB_INCLUDE_DIRS}) - target_link_libraries(irecovery PRIVATE ${LIBUSB_LIBRARIES}) + find_package(PkgConfig REQUIRED) + pkg_check_modules(libusb REQUIRED IMPORTED_TARGET libusb-1.0) + target_link_libraries(irecovery PRIVATE PkgConfig::libusb) endif() find_package(PkgConfig REQUIRED) pkg_check_modules(readline REQUIRED IMPORTED_TARGET readline) diff --git a/ports/libirecovery/portfile.cmake b/ports/libirecovery/portfile.cmake index 0f7e0f238b8782..2ef67eda46d0e3 100644 --- a/ports/libirecovery/portfile.cmake +++ b/ports/libirecovery/portfile.cmake @@ -50,6 +50,10 @@ file(READ "${CURRENT_PACKAGES_DIR}/share/unofficial-${PORT}/unofficial-${PORT}-c file(WRITE "${CURRENT_PACKAGES_DIR}/share/unofficial-${PORT}/unofficial-${PORT}-config.cmake" "include(CMakeFindDependencyMacro) find_dependency(unofficial-libimobiledevice-glue CONFIG) +if(NOT WIN32 AND NOT APPLE) + find_package(PkgConfig REQUIRED) + pkg_check_modules(libusb REQUIRED IMPORTED_TARGET libusb-1.0) +endif() ${cmake_config} ") diff --git a/ports/libirecovery/vcpkg.json b/ports/libirecovery/vcpkg.json index 21265f5f162c07..ac8b919579f444 100644 --- a/ports/libirecovery/vcpkg.json +++ b/ports/libirecovery/vcpkg.json @@ -1,7 +1,7 @@ { "name": "libirecovery", "version-date": "2023-05-13", - "port-version": 1, + "port-version": 2, "description": "Library and utility to talk to iBoot/iBSS via USB on Mac OS X, Windows, and Linux", "homepage": "https://libimobiledevice.org/", "license": "LGPL-2.1-or-later", diff --git a/ports/libjpeg-turbo/add-options-for-exes-docs-headers.patch b/ports/libjpeg-turbo/add-options-for-exes-docs-headers.patch index 8d7aeca0eea01e..01721f146c1c97 100644 --- a/ports/libjpeg-turbo/add-options-for-exes-docs-headers.patch +++ b/ports/libjpeg-turbo/add-options-for-exes-docs-headers.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index efd101a..9c1c69f 100644 +index ff9c9c27..d3fbad30 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -222,6 +222,12 @@ option(ENABLE_SHARED "Build shared libraries" TRUE) +@@ -224,6 +224,12 @@ option(ENABLE_SHARED "Build shared libraries" TRUE) boolean_number(ENABLE_SHARED) option(ENABLE_STATIC "Build static libraries" TRUE) boolean_number(ENABLE_STATIC) @@ -12,34 +12,39 @@ index efd101a..9c1c69f 100644 +boolean_number(INSTALL_DOCS) +option(INSTALL_HEADERS "Install header files" TRUE) +boolean_number(INSTALL_HEADERS) - option(REQUIRE_SIMD "Generate a fatal error if SIMD extensions are not available for this platform (default is to fall back to a non-SIMD build)" FALSE) - boolean_number(REQUIRE_SIMD) - option(WITH_ARITH_DEC "Include arithmetic decoding support when emulating the libjpeg v6b API/ABI" TRUE) -@@ -690,6 +696,7 @@ if(WITH_TURBOJPEG) + option(REQUIRE_SIMD + "Generate a fatal error if SIMD extensions are not available for this platform (default is to fall back to a non-SIMD build)" + FALSE) +@@ -734,6 +740,7 @@ if(WITH_TURBOJPEG) LINK_FLAGS "${TJMAPFLAG}${TJMAPFILE}") endif() + if(ENABLE_EXECUTABLES) - add_executable(tjunittest tjunittest.c tjutil.c md5/md5.c md5/md5hl.c) + add_executable(tjunittest src/tjunittest.c src/tjutil.c src/md5/md5.c + src/md5/md5hl.c) target_link_libraries(tjunittest turbojpeg) +@@ -752,9 +759,11 @@ if(WITH_TURBOJPEG) -@@ -701,6 +708,7 @@ if(WITH_TURBOJPEG) - - add_executable(tjexample tjexample.c) - target_link_libraries(tjexample turbojpeg) + add_executable(tjtran src/tjtran.c) + target_link_libraries(tjtran turbojpeg) +- ++ endif() ++ if(INSTALL_DOCS) + add_custom_target(tjdoc COMMAND doxygen -s ../doc/doxygen.config + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src) + endif() endif() if(ENABLE_STATIC) -@@ -721,6 +729,7 @@ if(WITH_TURBOJPEG) +@@ -776,6 +785,7 @@ if(WITH_TURBOJPEG) set_target_properties(turbojpeg-static PROPERTIES OUTPUT_NAME turbojpeg) endif() + if(ENABLE_EXECUTABLES) - add_executable(tjunittest-static tjunittest.c tjutil.c md5/md5.c - md5/md5hl.c) + add_executable(tjunittest-static src/tjunittest.c src/tjutil.c + src/md5/md5.c src/md5/md5hl.c) target_link_libraries(tjunittest-static turbojpeg-static) -@@ -730,6 +739,7 @@ if(WITH_TURBOJPEG) +@@ -785,6 +795,7 @@ if(WITH_TURBOJPEG) if(UNIX) target_link_libraries(tjbench-static m) endif() @@ -47,148 +52,167 @@ index efd101a..9c1c69f 100644 endif() endif() -@@ -748,13 +758,15 @@ if(ENABLE_STATIC) - add_library(cjpeg16-static OBJECT rdgif.c rdppm.c) +@@ -803,12 +814,14 @@ if(ENABLE_STATIC) + add_library(cjpeg16-static OBJECT src/rdppm.c) set_property(TARGET cjpeg16-static PROPERTY COMPILE_FLAGS "-DBITS_IN_JSAMPLE=16 -DGIF_SUPPORTED -DPPM_SUPPORTED") + if(ENABLE_EXECUTABLES) - add_executable(cjpeg-static cjpeg.c cdjpeg.c rdbmp.c rdgif.c rdppm.c - rdswitch.c rdtarga.c $ + add_executable(cjpeg-static src/cjpeg.c src/cdjpeg.c src/rdbmp.c src/rdgif.c + src/rdppm.c src/rdswitch.c src/rdtarga.c $ $) set_property(TARGET cjpeg-static PROPERTY COMPILE_FLAGS ${CDJPEG_COMPILE_FLAGS}) target_link_libraries(cjpeg-static jpeg-static) -- + endif() -+ + # Compile a separate version of these source files with 12-bit and 16-bit # data precision. - add_library(djpeg12-static OBJECT rdcolmap.c wrgif.c wrppm.c) -@@ -763,6 +775,7 @@ if(ENABLE_STATIC) - add_library(djpeg16-static OBJECT wrppm.c) +@@ -818,6 +831,7 @@ if(ENABLE_STATIC) + add_library(djpeg16-static OBJECT src/wrppm.c) set_property(TARGET djpeg16-static PROPERTY COMPILE_FLAGS "-DBITS_IN_JSAMPLE=16 -DPPM_SUPPORTED") + if(ENABLE_EXECUTABLES) - add_executable(djpeg-static djpeg.c cdjpeg.c rdcolmap.c rdswitch.c wrbmp.c - wrgif.c wrppm.c wrtarga.c $ - $) -@@ -776,11 +789,14 @@ if(ENABLE_STATIC) + add_executable(djpeg-static src/djpeg.c src/cdjpeg.c src/rdcolmap.c + src/rdswitch.c src/wrbmp.c src/wrgif.c src/wrppm.c src/wrtarga.c + $ $) +@@ -832,11 +846,14 @@ if(ENABLE_STATIC) - add_executable(example-static example.c) + add_executable(example-static src/example.c) target_link_libraries(example-static jpeg-static) + endif() endif() +if(ENABLE_EXECUTABLES) - add_executable(rdjpgcom rdjpgcom.c) + add_executable(rdjpgcom src/rdjpgcom.c) - add_executable(wrjpgcom wrjpgcom.c) + add_executable(wrjpgcom src/wrjpgcom.c) +endif() ############################################################################### -@@ -1687,8 +1703,10 @@ if(WITH_TURBOJPEG) - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) +@@ -1971,9 +1988,11 @@ if(WITH_TURBOJPEG) + INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT lib + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT lib +- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT bin) ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT bin) + if(ENABLE_EXECUTABLES) install(TARGETS tjbench - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT bin) + endif() - if(NOT CMAKE_VERSION VERSION_LESS "3.1" AND MSVC AND + if(NOT CMAKE_VERSION VERSION_LESS "3.1" AND MSVC_LIKE AND CMAKE_C_LINKER_SUPPORTS_PDB) install(FILES "$" -@@ -1699,7 +1717,7 @@ if(WITH_TURBOJPEG) +@@ -1984,7 +2003,7 @@ if(WITH_TURBOJPEG) install(TARGETS turbojpeg-static EXPORT ${CMAKE_PROJECT_NAME}Targets INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT lib) - if(NOT ENABLE_SHARED) + if(NOT ENABLE_SHARED AND ENABLE_EXECUTABLES) if(GENERATOR_IS_MULTI_CONFIG) set(DIR "${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}") else() -@@ -1709,15 +1727,17 @@ if(WITH_TURBOJPEG) - DESTINATION ${CMAKE_INSTALL_BINDIR} RENAME tjbench${EXE}) +@@ -1994,15 +2013,17 @@ if(WITH_TURBOJPEG) + DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT bin RENAME tjbench${EXE}) endif() endif() + if(INSTALL_HEADERS) - install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/turbojpeg.h - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/turbojpeg.h + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} COMPONENT include) + endif() endif() if(ENABLE_STATIC) install(TARGETS jpeg-static EXPORT ${CMAKE_PROJECT_NAME}Targets INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT lib) - if(NOT ENABLE_SHARED) + if(NOT ENABLE_SHARED AND ENABLE_EXECUTABLES) if(GENERATOR_IS_MULTI_CONFIG) set(DIR "${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}") else() -@@ -1732,8 +1752,11 @@ if(ENABLE_STATIC) +@@ -2017,9 +2038,12 @@ if(ENABLE_STATIC) endif() endif() +if(ENABLE_EXECUTABLES) - install(TARGETS rdjpgcom wrjpgcom RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + install(TARGETS rdjpgcom wrjpgcom + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT bin) +endif() +if(INSTALL_DOCS) install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/README.ijg - ${CMAKE_CURRENT_SOURCE_DIR}/README.md ${CMAKE_CURRENT_SOURCE_DIR}/example.c - ${CMAKE_CURRENT_SOURCE_DIR}/tjexample.c -@@ -1745,8 +1768,9 @@ if(WITH_JAVA) - install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/java/TJExample.java - DESTINATION ${CMAKE_INSTALL_DOCDIR}) + ${CMAKE_CURRENT_SOURCE_DIR}/README.md + ${CMAKE_CURRENT_SOURCE_DIR}/src/example.c +@@ -2038,8 +2062,9 @@ if(WITH_JAVA) + ${CMAKE_CURRENT_SOURCE_DIR}/java/TJTran.java + DESTINATION ${CMAKE_INSTALL_DOCDIR} COMPONENT doc) endif() +endif() -if(UNIX OR MINGW) +if((UNIX OR MINGW) AND INSTALL_DOCS) - install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/cjpeg.1 - ${CMAKE_CURRENT_SOURCE_DIR}/djpeg.1 ${CMAKE_CURRENT_SOURCE_DIR}/jpegtran.1 - ${CMAKE_CURRENT_SOURCE_DIR}/rdjpgcom.1 -@@ -1767,11 +1791,12 @@ install(EXPORT ${CMAKE_PROJECT_NAME}Targets - NAMESPACE ${CMAKE_PROJECT_NAME}:: - DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${CMAKE_PROJECT_NAME}) + install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/doc/cjpeg.1 + ${CMAKE_CURRENT_SOURCE_DIR}/doc/djpeg.1 + ${CMAKE_CURRENT_SOURCE_DIR}/doc/jpegtran.1 +@@ -2063,12 +2088,13 @@ install(EXPORT ${CMAKE_PROJECT_NAME}Targets + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${CMAKE_PROJECT_NAME} + COMPONENT lib) +if(INSTALL_HEADERS) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/jconfig.h - ${CMAKE_CURRENT_SOURCE_DIR}/jerror.h ${CMAKE_CURRENT_SOURCE_DIR}/jmorecfg.h - ${CMAKE_CURRENT_SOURCE_DIR}/jpeglib.h - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + ${CMAKE_CURRENT_SOURCE_DIR}/src/jerror.h + ${CMAKE_CURRENT_SOURCE_DIR}/src/jmorecfg.h + ${CMAKE_CURRENT_SOURCE_DIR}/src/jpeglib.h + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} COMPONENT include) - +endif() include(cmakescripts/BuildPackages.cmake) configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmakescripts/cmake_uninstall.cmake.in" + diff --git a/sharedlib/CMakeLists.txt b/sharedlib/CMakeLists.txt -index 8e94256..8a16497 100644 +index eaed9e95..74d53696 100644 --- a/sharedlib/CMakeLists.txt +++ b/sharedlib/CMakeLists.txt -@@ -76,11 +76,13 @@ set_property(TARGET cjpeg12 PROPERTY COMPILE_FLAGS - add_library(cjpeg16 OBJECT ../rdgif.c ../rdppm.c) +@@ -94,12 +94,13 @@ set_property(TARGET cjpeg12 PROPERTY COMPILE_FLAGS + add_library(cjpeg16 OBJECT ../src/rdppm.c) set_property(TARGET cjpeg16 PROPERTY COMPILE_FLAGS "-DBITS_IN_JSAMPLE=16 -DGIF_SUPPORTED -DPPM_SUPPORTED") +if(ENABLE_EXECUTABLES) - add_executable(cjpeg ../cjpeg.c ../cdjpeg.c ../rdbmp.c ../rdgif.c ../rdppm.c - ../rdswitch.c ../rdtarga.c $ - $) + add_executable(cjpeg ../src/cjpeg.c ../src/cdjpeg.c ../src/rdbmp.c + ../src/rdgif.c ../src/rdppm.c ../src/rdswitch.c ../src/rdtarga.c + $ $) set_property(TARGET cjpeg PROPERTY COMPILE_FLAGS ${CDJPEG_COMPILE_FLAGS}) target_link_libraries(cjpeg jpeg) +- +endif() - # Compile a separate version of these source files with 12-bit and 16-bit data # precision. -@@ -111,8 +113,10 @@ install(TARGETS jpeg EXPORT ${CMAKE_PROJECT_NAME}Targets - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + add_library(djpeg12 OBJECT ../src/rdcolmap.c ../src/wrgif.c ../src/wrppm.c) +@@ -108,6 +109,7 @@ set_property(TARGET djpeg12 PROPERTY COMPILE_FLAGS + add_library(djpeg16 OBJECT ../src/wrppm.c) + set_property(TARGET djpeg16 PROPERTY COMPILE_FLAGS + "-DBITS_IN_JSAMPLE=16 -DPPM_SUPPORTED") ++if(ENABLE_EXECUTABLES) + add_executable(djpeg ../src/djpeg.c ../src/cdjpeg.c ../src/rdcolmap.c + ../src/rdswitch.c ../src/wrbmp.c ../src/wrgif.c ../src/wrppm.c + ../src/wrtarga.c $ $) +@@ -124,14 +126,16 @@ target_link_libraries(example jpeg) + + add_executable(jcstest ../src/jcstest.c) + target_link_libraries(jcstest jpeg) +- ++endif() + install(TARGETS jpeg EXPORT ${CMAKE_PROJECT_NAME}Targets + INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT lib + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT lib + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT bin) +if(ENABLE_EXECUTABLES) install(TARGETS cjpeg djpeg jpegtran - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT bin) +endif() - if(NOT CMAKE_VERSION VERSION_LESS "3.1" AND MSVC AND + if(NOT CMAKE_VERSION VERSION_LESS "3.1" AND MSVC_LIKE AND CMAKE_C_LINKER_SUPPORTS_PDB) install(FILES "$" diff --git a/ports/libjpeg-turbo/portfile.cmake b/ports/libjpeg-turbo/portfile.cmake index e6dad47e3a8ce2..617cb4a3d3721f 100644 --- a/ports/libjpeg-turbo/portfile.cmake +++ b/ports/libjpeg-turbo/portfile.cmake @@ -1,12 +1,14 @@ if(EXISTS "${CURRENT_INSTALLED_DIR}/share/mozjpeg/copyright") message(FATAL_ERROR "Can't build ${PORT} if mozjpeg is installed. Please remove mozjpeg:${TARGET_TRIPLET}, and try to install ${PORT}:${TARGET_TRIPLET} again.") endif() - +if(EXISTS "${CURRENT_INSTALLED_DIR}/share/ijg-libjpeg/copyright") + message(FATAL_ERROR "Can't build ${PORT} if ijg-libjpeg is installed. Please remove ijg-libjpeg:${TARGET_TRIPLET}, and try to install ${PORT}:${TARGET_TRIPLET} again.") +endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libjpeg-turbo/libjpeg-turbo REF "${VERSION}" - SHA512 6f9f384bb3bf5476935b313576c03f11d3e22bf727aa135eb840a2c9b994890e6712e23f25996b91ee901e8242b41100fb8c3cb4905ffb72776edf14b2c05a12 + SHA512 5712d318e222f1ffcd2f748b0f2c32b3859253a4ed4e13ae134f4445e0ca06efc258c7653b6924b39815ae078f6a9177e098c89684d2c886161a0a4118122e8d HEAD_REF master PATCHES add-options-for-exes-docs-headers.patch @@ -76,15 +78,15 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") if (EXISTS "${CURRENT_PACKAGES_DIR}/share/${PORT}/libjpeg-turboTargets-debug.cmake") vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/libjpeg-turboTargets-debug.cmake" - "jpeg-static${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" "jpeg${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}") + "jpeg-static${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" "jpeg${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" IGNORE_UNCHANGED) vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/libjpeg-turboTargets-debug.cmake" - "turbojpeg-static${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" "turbojpeg${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}") + "turbojpeg-static${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" "turbojpeg${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" IGNORE_UNCHANGED) endif() if (EXISTS "${CURRENT_PACKAGES_DIR}/share/${PORT}/libjpeg-turboTargets-release.cmake") vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/libjpeg-turboTargets-release.cmake" - "jpeg-static${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" "jpeg${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}") + "jpeg-static${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" "jpeg${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" IGNORE_UNCHANGED) vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/libjpeg-turboTargets-release.cmake" - "turbojpeg-static${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" "turbojpeg${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}") + "turbojpeg-static${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" "turbojpeg${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" IGNORE_UNCHANGED) endif() endif() diff --git a/ports/libjpeg-turbo/usage b/ports/libjpeg-turbo/usage index 6d70f46ff96850..fd8720a89740cc 100644 --- a/ports/libjpeg-turbo/usage +++ b/ports/libjpeg-turbo/usage @@ -1,7 +1,7 @@ libjpeg-turbo is compatible with built-in implementation-agnostic CMake targets: find_package(JPEG REQUIRED) - target_include_directories(main PRIVATE JPEG::JPEG) + target_link_libraries(main PRIVATE JPEG::JPEG) libjpeg-turbo provides CMake targets for the TurboJPEG C API: diff --git a/ports/libjpeg-turbo/vcpkg.json b/ports/libjpeg-turbo/vcpkg.json index 77578ea905b013..adc1239b7a6644 100644 --- a/ports/libjpeg-turbo/vcpkg.json +++ b/ports/libjpeg-turbo/vcpkg.json @@ -1,6 +1,7 @@ { "name": "libjpeg-turbo", - "version": "3.0.1", + "version": "3.1.0", + "port-version": 1, "description": "libjpeg-turbo is a JPEG image codec that uses SIMD instructions (MMX, SSE2, NEON, AltiVec) to accelerate baseline JPEG compression and decompression on x86, x86-64, ARM, and PowerPC systems.", "homepage": "https://github.com/libjpeg-turbo/libjpeg-turbo", "license": "BSD-3-Clause", diff --git a/ports/libjpeg-turbo/workaround_cmake_system_processor.patch b/ports/libjpeg-turbo/workaround_cmake_system_processor.patch index 492df1ecc5189f..9abe2ce49e88cc 100644 --- a/ports/libjpeg-turbo/workaround_cmake_system_processor.patch +++ b/ports/libjpeg-turbo/workaround_cmake_system_processor.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 3730326..0c2b87c 100644 +index d3fbad30..9cf01cf5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -66,7 +66,7 @@ include(cmakescripts/PackageInfo.cmake) +@@ -89,7 +89,7 @@ include(cmakescripts/PackageInfo.cmake) # Detect CPU type and whether we're building 64-bit or 32-bit code math(EXPR BITS "${CMAKE_SIZEOF_VOID_P} * 8") diff --git a/ports/libjuice/dependencies.diff b/ports/libjuice/dependencies.diff new file mode 100644 index 00000000000000..f6f7b9509158b7 --- /dev/null +++ b/ports/libjuice/dependencies.diff @@ -0,0 +1,44 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5712462..dd6c669 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -120,11 +120,14 @@ if(WIN32) + endif() + + if (USE_NETTLE) +- find_package(Nettle REQUIRED) ++ find_path(NETTLE_INCLUDE_PATH "nettle/hmac.h" REQUIRED) ++ find_library(NETTLE_LIBRARY_PATH NAMES nettle libnettle NAMES_PER_DIR REQUIRED) ++ target_include_directories(juice PRIVATE ${NETTLE_INCLUDE_PATH}) ++ target_include_directories(juice-static PRIVATE ${NETTLE_INCLUDE_PATH}) + target_compile_definitions(juice PRIVATE USE_NETTLE=1) +- target_link_libraries(juice PRIVATE Nettle::Nettle) ++ target_link_libraries(juice PRIVATE ${NETTLE_LIBRARY_PATH}) + target_compile_definitions(juice-static PRIVATE USE_NETTLE=1) +- target_link_libraries(juice-static PRIVATE Nettle::Nettle) ++ target_link_libraries(juice-static PRIVATE ${NETTLE_LIBRARY_PATH}) + else() + target_compile_definitions(juice PRIVATE USE_NETTLE=0) + target_compile_definitions(juice-static PRIVATE USE_NETTLE=0) +@@ -137,8 +140,6 @@ endif() + + if(APPLE) + # This seems to be necessary on MacOS +- target_include_directories(juice PRIVATE /usr/local/include) +- target_include_directories(juice-static PRIVATE /usr/local/include) + endif() + + set_target_properties(juice PROPERTIES EXPORT_NAME LibJuice) +diff --git a/cmake/LibJuiceConfig.cmake.in b/cmake/LibJuiceConfig.cmake.in +index 247e53f..f049d9a 100644 +--- a/cmake/LibJuiceConfig.cmake.in ++++ b/cmake/LibJuiceConfig.cmake.in +@@ -1,4 +1,8 @@ + @PACKAGE_INIT@ + ++include(CMakeFindDependencyMacro) ++set(THREADS_PREFER_PTHREAD_FLAG ON) ++find_dependency(Threads) ++ + include("${CMAKE_CURRENT_LIST_DIR}/LibJuiceTargets.cmake") + diff --git a/ports/libjuice/fix-for-vcpkg.patch b/ports/libjuice/fix-for-vcpkg.patch deleted file mode 100644 index 97d0acf542bbe5..00000000000000 --- a/ports/libjuice/fix-for-vcpkg.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 3e2a2dc..011a4ca 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -66,7 +66,7 @@ set(TESTS_SOURCES - set(THREADS_PREFER_PTHREAD_FLAG ON) - find_package(Threads REQUIRED) - --add_library(juice SHARED ${LIBJUICE_SOURCES}) -+add_library(juice ${LIBJUICE_SOURCES}) - set_target_properties(juice PROPERTIES VERSION ${PROJECT_VERSION}) - target_include_directories(juice PUBLIC - $ -@@ -96,11 +96,15 @@ if(WIN32) - endif() - - if (USE_NETTLE) -- find_package(Nettle REQUIRED) -+ find_path(NETTLE_INCLUDE_PATH "nettle/hmac.h" REQUIRED) -+ find_library(NETTLE_LIBRARY_PATH NAMES nettle libnettle REQUIRED) -+ target_include_directories(juice PRIVATE ${NETTLE_INCLUDE_PATH}) -+ target_include_directories(juice-static PRIVATE ${NETTLE_INCLUDE_PATH}) -+ - target_compile_definitions(juice PRIVATE USE_NETTLE=1) -- target_link_libraries(juice PRIVATE Nettle::Nettle) -+ target_link_libraries(juice PRIVATE ${NETTLE_LIBRARY_PATH}) - target_compile_definitions(juice-static PRIVATE USE_NETTLE=1) -- target_link_libraries(juice-static PRIVATE Nettle::Nettle) -+ target_link_libraries(juice-static PRIVATE ${NETTLE_LIBRARY_PATH}) - else() - target_compile_definitions(juice PRIVATE USE_NETTLE=0) - target_compile_definitions(juice-static PRIVATE USE_NETTLE=0) diff --git a/ports/libjuice/portfile.cmake b/ports/libjuice/portfile.cmake index c1e3c7726a7fca..1c65a3534b112d 100644 --- a/ports/libjuice/portfile.cmake +++ b/ports/libjuice/portfile.cmake @@ -1,11 +1,11 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO paullouisageneau/libjuice - REF "v${VERSION}" - SHA512 187901d6d8e1210210667b0bca274ce9507d46cc5f3fe81e812fb7c16dc2739359a5d331ce03a9a3958252c4ea942a75ca29a624f486abb23c19dd10c71127bc + REF "v${VERSION}" + SHA512 ae68b0589e4ef822d707ff9d147dcf918eccbb38d73edfcb8665d5c263ad1063c12c828933d6884accf9553d3bbe4bf2e57379c2c8b66ea9a51cfbd11b2217b7 HEAD_REF master PATCHES - fix-for-vcpkg.patch + dependencies.diff ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS @@ -21,10 +21,13 @@ vcpkg_cmake_configure( ) vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/LibJuice) +vcpkg_fixup_pkgconfig() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/juice/juice.h" "#ifndef JUICE_STATIC" "#if 0") +endif() -vcpkg_cmake_config_fixup(PACKAGE_NAME LibJuice CONFIG_PATH lib/cmake/LibJuice) -vcpkg_fixup_pkgconfig() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/libjuice/vcpkg.json b/ports/libjuice/vcpkg.json index 4758d98615c76d..5f202e28e684e2 100644 --- a/ports/libjuice/vcpkg.json +++ b/ports/libjuice/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libjuice", - "version": "1.3.1", + "version": "1.5.8", "description": "The library is a simplified implementation of the Interactive Connectivity Establishment (ICE) protocol in C for POSIX platforms (including Linux and Apple macOS) and Microsoft Windows.", "homepage": "https://github.com/paullouisageneau/libjuice", "license": "LGPL-2.1-only", diff --git a/ports/libjxl/fix-dependencies.patch b/ports/libjxl/fix-dependencies.patch index eeca99927e94d2..d0c6ad2abf96c2 100644 --- a/ports/libjxl/fix-dependencies.patch +++ b/ports/libjxl/fix-dependencies.patch @@ -1,8 +1,20 @@ diff --git a/third_party/CMakeLists.txt b/third_party/CMakeLists.txt -index 8ee9864..b8a22a5 100644 +index ea22103e..c6dbbe9f 100644 --- a/third_party/CMakeLists.txt +++ b/third_party/CMakeLists.txt -@@ -47,7 +47,11 @@ endif() +@@ -31,8 +31,9 @@ if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/highway/CMakeLists.txt" AND + configure_file("${CMAKE_CURRENT_SOURCE_DIR}/highway/LICENSE" + ${PROJECT_BINARY_DIR}/LICENSE.highway COPYONLY) + else() +- find_package(HWY 1.0.7) +- if (NOT HWY_FOUND) ++ find_package(HWY NAMES hwy REQUIRED) ++ add_library(hwy ALIAS hwy::hwy) ++ if (NOT TARGET hwy::hwy) + message(FATAL_ERROR + "Highway library (hwy) not found. Install libhwy-dev or download it " + "to third_party/highway from https://github.com/google/highway . " +@@ -48,7 +49,11 @@ endif() # brotli if (NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/brotli/c/include/brotli/decode.h" OR JPEGXL_FORCE_SYSTEM_BROTLI) @@ -15,11 +27,11 @@ index 8ee9864..b8a22a5 100644 if (NOT Brotli_FOUND) message(FATAL_ERROR "Brotli not found, install brotli-dev or download brotli source code to" -@@ -111,7 +120,8 @@ if (JPEGXL_ENABLE_SKCMS OR JPEGXL_ENABLE_PLUGINS) +@@ -106,7 +111,8 @@ if (JPEGXL_ENABLE_SKCMS) endif () - if (JPEGXL_ENABLE_VIEWERS OR NOT JPEGXL_ENABLE_SKCMS) + if (JPEGXL_ENABLE_VIEWERS OR NOT JPEGXL_ENABLE_SKCMS OR JPEGXL_ENABLE_PLUGINS) if( NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/lcms/.git" OR JPEGXL_FORCE_SYSTEM_LCMS2 ) -- find_package(LCMS2 2.13) +- find_package(LCMS2 2.12) + find_package(LCMS2 NAMES lcms2 REQUIRED) + add_library(lcms2 ALIAS lcms2::lcms2) if ( NOT LCMS2_FOUND ) diff --git a/ports/libjxl/portfile.cmake b/ports/libjxl/portfile.cmake index e5219990a2eb96..c8ce55e6132c37 100644 --- a/ports/libjxl/portfile.cmake +++ b/ports/libjxl/portfile.cmake @@ -2,11 +2,10 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libjxl/libjxl REF "v${VERSION}" - SHA512 769f102c46755d11a705ce47ae9e2ef49627ae708f416693bf1293aeeb713934baf4466e45b9c70b04ec1fc8b4a00d5ca7688c8ca03f0a91c9a15252c522a887 + SHA512 0cfd81d9d3b783f96bd04f244d73ffbc12186c89993d46064a2751bef0a446a5e86be05add5c10f60d4482d39333d9bf3f9a866d6eb84f8fa0d4e8b5828fd74c HEAD_REF main PATCHES fix-dependencies.patch - trim-shared-build.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS @@ -28,6 +27,7 @@ vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS "-DJPEGXL_VERSION=${JPEGXL_VERSION}" + -DJPEGXL_FORCE_SYSTEM_HWY=ON -DJPEGXL_FORCE_SYSTEM_BROTLI=ON -DJPEGXL_FORCE_SYSTEM_HWY=ON -DJPEGXL_FORCE_SYSTEM_LCMS2=ON @@ -45,6 +45,7 @@ vcpkg_cmake_configure( -DJPEGXL_ENABLE_TCMALLOC=OFF -DBUILD_TESTING=OFF -DCMAKE_FIND_PACKAGE_TARGETS_GLOBAL=ON + -DJPEGXL_BUNDLE_LIBPNG=OFF MAYBE_UNUSED_VARIABLES CMAKE_DISABLE_FIND_PACKAGE_GIF CMAKE_DISABLE_FIND_PACKAGE_JPEG @@ -57,7 +58,11 @@ vcpkg_copy_pdbs() vcpkg_fixup_pkgconfig() if(JPEGXL_ENABLE_TOOLS) - vcpkg_copy_tools(TOOL_NAMES cjxl djxl cjpeg_hdr jxlinfo AUTO_CLEAN) + vcpkg_copy_tools(TOOL_NAMES cjxl djxl jxlinfo AUTO_CLEAN) +endif() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/jxl/jxl_export.h" "ifdef JXL_STATIC_DEFINE" "if 1") endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/libjxl/trim-shared-build.patch b/ports/libjxl/trim-shared-build.patch deleted file mode 100644 index e9620b5c160278..00000000000000 --- a/ports/libjxl/trim-shared-build.patch +++ /dev/null @@ -1,37 +0,0 @@ -diff --git a/lib/jxl.cmake b/lib/jxl.cmake -index a8a96e1..a42b6f0 100644 ---- a/lib/jxl.cmake -+++ b/lib/jxl.cmake -@@ -556,8 +556,13 @@ if (NOT WIN32 OR MINGW) - set_target_properties(jxl-static PROPERTIES OUTPUT_NAME "jxl") - set_target_properties(jxl_dec-static PROPERTIES OUTPUT_NAME "jxl_dec") - endif() -+if(BUILD_SHARED_LIBS) -+ set_target_properties(jxl-static PROPERTIES EXCLUDE_FROM_ALL 1) -+ set_target_properties(jxl_dec-static PROPERTIES EXCLUDE_FROM_ALL 1) -+else() - install(TARGETS jxl-static DESTINATION ${CMAKE_INSTALL_LIBDIR}) - install(TARGETS jxl_dec-static DESTINATION ${CMAKE_INSTALL_LIBDIR}) -+endif() - - if (BUILD_SHARED_LIBS) - -diff --git a/lib/jxl_threads.cmake b/lib/jxl_threads.cmake -index 006e71e..b8ce66b 100644 ---- a/lib/jxl_threads.cmake -+++ b/lib/jxl_threads.cmake -@@ -43,10 +43,14 @@ set_target_properties(${_target} PROPERTIES - if (NOT WIN32 OR MINGW) - set_target_properties(${_target} PROPERTIES OUTPUT_NAME "jxl_threads") - endif() -+if(BUILD_SHARED_LIBS AND _target MATCHES "-static") -+ set_target_properties(${_target} PROPERTIES EXCLUDE_FROM_ALL 1) -+else() - install(TARGETS ${_target} - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) -+endif() - - endfunction() - diff --git a/ports/libjxl/vcpkg.json b/ports/libjxl/vcpkg.json index 4ce6ff6d42b453..e984d0b0f5b390 100644 --- a/ports/libjxl/vcpkg.json +++ b/ports/libjxl/vcpkg.json @@ -1,7 +1,6 @@ { "name": "libjxl", - "version-semver": "0.8.2", - "port-version": 1, + "version-semver": "0.11.1", "description": "JPEG XL image format reference implementation", "homepage": "https://github.com/libjxl/libjxl", "license": "BSD-3-Clause", diff --git a/ports/libkeyfinder/portfile.cmake b/ports/libkeyfinder/portfile.cmake index c6239987bd717e..cb4bafee3fff39 100644 --- a/ports/libkeyfinder/portfile.cmake +++ b/ports/libkeyfinder/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mixxxdj/libkeyfinder - REF v2.2.6 - SHA512 c1b771cebfb925db521a344e28fd1d3bc6e6e921e45dcc81f90926e5b2020fea201a4bc05a65177d3559208a45746fd7784eb6f37352bb10ab7d7b820b40c0b6 + REF ${VERSION} + SHA512 31d86715172b62dd72b122a8d480db4598731b87ca58522ad797116acfcbc53b8ecf8fe7eb2b129857b5044b27d32dda9e03927e0a27f8edcdc5d6ce607a76eb HEAD_REF main ) diff --git a/ports/libkeyfinder/vcpkg.json b/ports/libkeyfinder/vcpkg.json index cb2f71d494bd05..3a902307e73d63 100644 --- a/ports/libkeyfinder/vcpkg.json +++ b/ports/libkeyfinder/vcpkg.json @@ -1,7 +1,6 @@ { "name": "libkeyfinder", - "version": "2.2.6", - "port-version": 1, + "version": "2.2.8", "description": "Musical key detection for digital audio", "homepage": "https://github.com/mixxxdj/libkeyfinder", "license": "GPL-3.0-or-later", diff --git a/ports/liblas/force-cpp11.patch b/ports/liblas/force-cpp11.patch new file mode 100644 index 00000000000000..d5f44a839cbfbb --- /dev/null +++ b/ports/liblas/force-cpp11.patch @@ -0,0 +1,27 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9732bcb..5af9ac2 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -66,6 +66,8 @@ set(WITH_ENDIANAWARE FALSE CACHE BOOL "Choose whether or not libLAS should do ru + ############################################################################### + # CMake settings + ++set(CMAKE_CXX_STANDARD 11) # Boost v1.84.0 libraries require C++11 ++ + set(CMAKE_COLOR_MAKEFILE ON) + + # Allow advanced users to generate Makefiles printing detailed commands +@@ -149,12 +151,7 @@ else() + " -Wextra -Wall -Wno-unused-parameter -Wno-unused-variable -Wpointer-arith -Wcast-align -Wcast-qual -Wfloat-equal -Wredundant-decls -Wno-long-long") + + if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) +- + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${LIBLAS_COMMON_CXX_FLAGS}") +- if (CMAKE_COMPILER_IS_GNUCXX) +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++98 -ansi") +- endif() +- + elseif("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" OR "${CMAKE_CXX_COMPILER}" MATCHES "clang") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${LIBLAS_COMMON_CXX_FLAGS}") + endif() + diff --git a/ports/liblas/portfile.cmake b/ports/liblas/portfile.cmake index 66811f4236538b..a987af9e53e3ba 100644 --- a/ports/liblas/portfile.cmake +++ b/ports/liblas/portfile.cmake @@ -18,6 +18,7 @@ vcpkg_extract_source_archive( fix-crosscompiling.diff misc-fixes.patch remove_unnecessary_boost_dependency.diff + force-cpp11.patch ) file(REMOVE_RECURSE "${SOURCE_PATH}/cmake/modules") @@ -56,7 +57,7 @@ file(REMOVE_RECURSE if(WITH_UTILITIES) set(tools lasinfo lasblock las2las las2txt txt2las ts2las) - if(NOT WIN32) + if(NOT VCPKG_TARGET_IS_WINDOWS) list(APPEND tools las2col las2pg) endif() vcpkg_copy_tools(TOOL_NAMES ${tools} AUTO_CLEAN) diff --git a/ports/liblas/vcpkg.json b/ports/liblas/vcpkg.json index 3dfcea005f848b..bb135a43691f6b 100644 --- a/ports/liblas/vcpkg.json +++ b/ports/liblas/vcpkg.json @@ -1,7 +1,7 @@ { "name": "liblas", "version": "1.8.1", - "port-version": 13, + "port-version": 15, "description": "A C/C++ library for reading and writing the very common LAS LiDAR format.", "license": null, "supports": "!arm & !staticcrt", diff --git a/ports/libleidenalg/portfile.cmake b/ports/libleidenalg/portfile.cmake index 8e1e7a07f1cbcd..919d7edc052341 100644 --- a/ports/libleidenalg/portfile.cmake +++ b/ports/libleidenalg/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO vtraag/libleidenalg REF "${VERSION}" - SHA512 a3077592b68cb6fd9bc24127898a64576982b608ff3c123e8b1c7ea1b8da2dfb302123fba64cbf93c16b9310ab42199ddc8de5efa5b6606dd49ee47f074f7f2f + SHA512 254b5454086683af3655c7e0e18cca8c24ceb899e0614940ab84a50fb2eea57d1b6409eb19a92976758b4d3066c86b643512356eb38d33311c80ff701381c433 HEAD_REF main ) @@ -10,7 +10,7 @@ vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}") vcpkg_cmake_install() -vcpkg_cmake_config_fixup() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/libleidenalg/vcpkg.json b/ports/libleidenalg/vcpkg.json index 569c63f14a967a..bfda3170388c4c 100644 --- a/ports/libleidenalg/vcpkg.json +++ b/ports/libleidenalg/vcpkg.json @@ -1,7 +1,6 @@ { "name": "libleidenalg", - "version": "0.10.0", - "port-version": 1, + "version": "0.11.1", "maintainers": "Andrew Robbins ", "description": "Leiden is a general algorithm for methods of community detection in large networks.", "homepage": "https://github.com/vtraag/libleidenalg", diff --git a/ports/liblemon/vcpkg.json b/ports/liblemon/vcpkg.json index 7232279f5aca8c..bcc8b89def6e62 100644 --- a/ports/liblemon/vcpkg.json +++ b/ports/liblemon/vcpkg.json @@ -1,9 +1,10 @@ { "name": "liblemon", "version-date": "2019-06-13", - "port-version": 8, + "port-version": 9, "description": "Library for Efficient Modeling and Optimization in Networks", "homepage": "https://lemon.cs.elte.hu/trac/lemon", + "supports": "!uwp", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/liblo/portfile.cmake b/ports/liblo/portfile.cmake index a44864e5f7574f..68a54d709e3044 100644 --- a/ports/liblo/portfile.cmake +++ b/ports/liblo/portfile.cmake @@ -1,14 +1,14 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO radarsat1/liblo - REF 840ed69b1d669a1ce587eb592746e3dff6985d76 # 0.31 - SHA512 c84ab8ac874595df29fd121fff6ddaa670bcc31e7ca4e5cc0f35092032c9f648cd890bc7eea0152af87b842f8cc7804505ac84a13bac8a5d40e43039efa4aa2d + REF c1a51bca21e8535ce77a9daf256f2e74c1a7e80f # 0.32 + SHA512 baf7f11b5e03b01e1f01e6ff8984bc0cf1bb8f70df0dfe8d5f472dd06185997a93cf60e8fae0c54430c0c8f444084e926d41ca4e5291a191ebe4d8564d1854ad HEAD_REF master ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}/cmake" - OPTIONS -DTHREADING=1 + OPTIONS -DTHREADING=1 -DWITH_STATIC=ON -DWITH_TESTS=OFF ) vcpkg_cmake_install() @@ -16,7 +16,7 @@ vcpkg_cmake_install() # Install needed files into package directory vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/liblo) -vcpkg_copy_tools(TOOL_NAMES oscsend oscdump AUTO_CLEAN) +vcpkg_copy_tools(TOOL_NAMES oscsend oscdump oscsendfile AUTO_CLEAN) # Remove unnecessary files file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/liblo/vcpkg.json b/ports/liblo/vcpkg.json index ec59f54208f9c6..478b6553640fc8 100644 --- a/ports/liblo/vcpkg.json +++ b/ports/liblo/vcpkg.json @@ -1,7 +1,6 @@ { "name": "liblo", - "version": "0.31", - "port-version": 4, + "version": "0.32", "description": "liblo is an implementation of the Open Sound Control protocol for POSIX systems", "homepage": "https://github.com/radarsat1/liblo", "dependencies": [ diff --git a/ports/liblsquic/portfile.cmake b/ports/liblsquic/portfile.cmake index 922610fa1f7769..f2568e94e00f23 100644 --- a/ports/liblsquic/portfile.cmake +++ b/ports/liblsquic/portfile.cmake @@ -1,4 +1,4 @@ -if(WIN32) +if(VCPKG_TARGET_IS_WINDOWS) # The lib uses CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS, at least until # https://github.com/litespeedtech/lsquic/pull/371 or similar is merged vcpkg_check_linkage(ONLY_STATIC_LIBRARY) diff --git a/ports/liblsquic/vcpkg.json b/ports/liblsquic/vcpkg.json index 7c9e6f1834a3d1..ec900322bec374 100644 --- a/ports/liblsquic/vcpkg.json +++ b/ports/liblsquic/vcpkg.json @@ -1,6 +1,7 @@ { "name": "liblsquic", "version": "3.3.2", + "port-version": 1, "description": "An implementation of the QUIC and HTTP/3 protocols.", "homepage": "https://github.com/litespeedtech/lsquic", "license": "MIT AND BSD-3-Clause", diff --git a/ports/liblzf/0001-add-extern-c.patch b/ports/liblzf/0001-add-extern-c.patch new file mode 100644 index 00000000000000..903705a40884d1 --- /dev/null +++ b/ports/liblzf/0001-add-extern-c.patch @@ -0,0 +1,23 @@ +--- a/lzf.h ++++ b/lzf.h +@@ -48,6 +48,10 @@ + + #define LZF_VERSION 0x0105 /* 1.5, API version */ + ++#ifdef __cplusplus ++extern "C" { ++#endif ++ + /* + * Compress in_len bytes stored at the memory block starting at + * in_data and write the result to out_data, up to a maximum length +@@ -96,5 +100,9 @@ unsigned int + lzf_decompress (const void *const in_data, unsigned int in_len, + void *out_data, unsigned int out_len); + ++#ifdef __cplusplus ++} ++#endif ++ + #endif + diff --git a/ports/liblzf/0002-fix-macro-expansion-ub.patch b/ports/liblzf/0002-fix-macro-expansion-ub.patch new file mode 100644 index 00000000000000..018c4e68101512 --- /dev/null +++ b/ports/liblzf/0002-fix-macro-expansion-ub.patch @@ -0,0 +1,15 @@ +--- a/lzfP.h ++++ b/lzfP.h +@@ -79,7 +79,11 @@ + * Unconditionally aligning does not cost very much, so do it if unsure + */ + #ifndef STRICT_ALIGN +-# define STRICT_ALIGN !(defined(__i386) || defined (__amd64)) ++# if !(defined(__i386) || defined (__amd64)) ++# define STRICT_ALIGN 1 ++# else ++# define STRICT_ALIGN 0 ++# endif + #endif + + /* diff --git a/ports/liblzf/CMakeLists.txt b/ports/liblzf/CMakeLists.txt new file mode 100644 index 00000000000000..91292e29fd7b33 --- /dev/null +++ b/ports/liblzf/CMakeLists.txt @@ -0,0 +1,46 @@ +# Based on http://cvs.schmorp.de/liblzf/Makefile.in?view=markup +cmake_minimum_required(VERSION 3.15) +project(liblzf LANGUAGES C) + +## Build ## + +add_library(liblzf + lzf_c.c + lzf_d.c + liblzf.def +) +set_target_properties(liblzf PROPERTIES OUTPUT_NAME lzf) +target_include_directories(liblzf INTERFACE $) +if(MINGW) + target_compile_definitions(liblzf PRIVATE "_int64=long long") +endif() + +## Install ## + +include(GNUInstallDirs) +install(TARGETS liblzf + EXPORT unofficial-liblzf-targets + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} +) +install(FILES lzf.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + +## Write config ## + +set(LIBLZF_SHARE_DIR share/unofficial-liblzf) +install(EXPORT unofficial-liblzf-targets + FILE unofficial-liblzf-config.cmake + NAMESPACE unofficial::liblzf:: + DESTINATION ${LIBLZF_SHARE_DIR} +) +include(CMakePackageConfigHelpers) +write_basic_package_version_file( + "${CMAKE_CURRENT_BINARY_DIR}/unofficial-liblzf-config-version.cmake" + VERSION ${VERSION} + COMPATIBILITY SameMajorVersion +) +install(FILES + "${CMAKE_CURRENT_BINARY_DIR}/unofficial-liblzf-config-version.cmake" + DESTINATION ${LIBLZF_SHARE_DIR} +) diff --git a/ports/liblzf/liblzf.def b/ports/liblzf/liblzf.def new file mode 100644 index 00000000000000..2d8efa48df7f72 --- /dev/null +++ b/ports/liblzf/liblzf.def @@ -0,0 +1,3 @@ +EXPORTS + lzf_compress + lzf_decompress diff --git a/ports/liblzf/portfile.cmake b/ports/liblzf/portfile.cmake new file mode 100644 index 00000000000000..9841c2bc283cdd --- /dev/null +++ b/ports/liblzf/portfile.cmake @@ -0,0 +1,31 @@ +vcpkg_download_distfile(ARCHIVE + URLS "http://dist.schmorp.de/liblzf/liblzf-${VERSION}.tar.gz" + FILENAME "liblzf-${VERSION}.tar.gz" + SHA512 701f70245a11e7cf3412b14ed26bf7b1464512d5b0cf3f913e70ebfdfe20574b8ebbae5a78f4b56ac0034d54830380309cac3057ca00a8028edbde3d091141f5 +) + +vcpkg_extract_source_archive(SOURCE_PATH + ARCHIVE "${ARCHIVE}" + PATCHES + 0001-add-extern-c.patch + 0002-fix-macro-expansion-ub.patch +) + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/liblzf.def" DESTINATION "${SOURCE_PATH}") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DVERSION=${VERSION} +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(PACKAGE_NAME "unofficial-liblzf") + +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/liblzf/vcpkg.json b/ports/liblzf/vcpkg.json new file mode 100644 index 00000000000000..b7a6fd40d67200 --- /dev/null +++ b/ports/liblzf/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "liblzf", + "version": "3.6", + "port-version": 1, + "description": "LZF is an extremely fast compression algorithm. It is ideal for applications where you want to save some space but not at the cost of speed.", + "homepage": "http://software.schmorp.de/pkg/liblzf.html", + "license": "BSD-2-Clause OR GPL-2.0-or-later", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/liblzma/add_support_ios.patch b/ports/liblzma/add_support_ios.patch deleted file mode 100644 index 79741639b60a2b..00000000000000 --- a/ports/liblzma/add_support_ios.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 52439b3..0b5e371 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -574,6 +574,7 @@ if(HAVE_GETOPT_LONG) - - install(TARGETS xzdec - RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" -+ BUNDLE DESTINATION "${CMAKE_INSTALL_BINDIR}" - COMPONENT xzdec) - - if(UNIX) -@@ -701,6 +702,7 @@ if(NOT MSVC AND HAVE_GETOPT_LONG) - - install(TARGETS xz - RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" -+ BUNDLE DESTINATION "${CMAKE_INSTALL_BINDIR}" - COMPONENT xz) - - if(UNIX) diff --git a/ports/liblzma/build-tools.patch b/ports/liblzma/build-tools.patch index 759345ef23afee..12926a93589d22 100644 --- a/ports/liblzma/build-tools.patch +++ b/ports/liblzma/build-tools.patch @@ -1,20 +1,19 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 03b8301..820d08e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -584,6 +584,7 @@ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/liblzma-config.cmake" - COMPONENT liblzma_Development) - +@@ -1484,7 +1484,7 @@ function(my_install_man COMPONENT SRC_FILE LINK_NAMES) + endif() + endfunction() +- +if(BUILD_TOOLS) ############################################################################# - # getopt_long + # libgnu (getopt_long) ############################################################################# -@@ -793,6 +794,7 @@ if(NOT MSVC AND HAVE_GETOPT_LONG) - endforeach() - endif() +@@ -1982,6 +1982,7 @@ if(UNIX) + my_install_man(scripts_Documentation src/scripts/xzless.1 "${XZLESS_LINKS}") endif() -+endif() ++endif() ############################################################################# + # Documentation diff --git a/ports/liblzma/fix_config_include.patch b/ports/liblzma/fix_config_include.patch deleted file mode 100644 index 91dc4c13ba5435..00000000000000 --- a/ports/liblzma/fix_config_include.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 34c6aca00..7b3708ab2 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -413,6 +413,7 @@ if(WIN32) - if(BUILD_SHARED_LIBS) - # Add the Windows resource file for liblzma.dll. - target_sources(liblzma PRIVATE src/liblzma/liblzma_w32res.rc) -+ target_include_directories(liblzma PRIVATE windows/vs2019) - - set_target_properties(liblzma PROPERTIES - LINK_DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/src/common/common_w32res.rc" diff --git a/ports/liblzma/portfile.cmake b/ports/liblzma/portfile.cmake index 0fdc38dfff9a5d..fb3f4664408da9 100644 --- a/ports/liblzma/portfile.cmake +++ b/ports/liblzma/portfile.cmake @@ -2,12 +2,9 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO tukaani-project/xz REF "v${VERSION}" - SHA512 c28461123562564e030f3f733f078bc4c840e87598d9f4b718d4bca639120d8133f969c45d7bdc62f33f081d789ec0f14a1791fb7da18515682bfe3c0c7362e0 + SHA512 0f814f4282c87cb74a8383199c1e55ec1bf49519daaf07f7b376cb644770b75cc9257c809b661405fcfd6cda28c54d799c67eb9e169665c35b1b87529468085e HEAD_REF master PATCHES - fix_config_include.patch - win_output_name.patch # Fix output name on Windows. Autotool build does not generate lib prefixed libraries on windows. - add_support_ios.patch # add install bundle info for support ios build-tools.patch ) @@ -29,10 +26,12 @@ vcpkg_cmake_configure( -DCREATE_XZ_SYMLINKS=OFF -DCREATE_LZMA_SYMLINKS=OFF -DCMAKE_MSVC_DEBUG_INFORMATION_FORMAT= # using flags from (vcpkg) toolchain + -DENABLE_NLS=OFF # nls is not supported by this port, yet MAYBE_UNUSED_VARIABLES CMAKE_MSVC_DEBUG_INFORMATION_FORMAT CREATE_XZ_SYMLINKS CREATE_LZMA_SYMLINKS + ENABLE_NLS ) vcpkg_cmake_install() vcpkg_copy_pdbs() @@ -41,7 +40,7 @@ set(exec_prefix "\${prefix}") set(libdir "\${prefix}/lib") set(includedir "\${prefix}/include") set(PACKAGE_URL https://tukaani.org/xz/) -set(PACKAGE_VERSION 5.4.3) +set(PACKAGE_VERSION "${VERSION}") if(NOT VCPKG_TARGET_IS_WINDOWS) set(PTHREAD_CFLAGS -pthread) endif() @@ -67,7 +66,7 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/man" ) -set(TOOLS xz xzdec) +set(TOOLS xz xzdec lzmadec lzmainfo) foreach(_tool IN LISTS TOOLS) if(NOT EXISTS "${CURRENT_PACKAGES_DIR}/bin/${_tool}${VCPKG_TARGET_EXECUTABLE_SUFFIX}") list(REMOVE_ITEM TOOLS ${_tool}) diff --git a/ports/liblzma/vcpkg.json b/ports/liblzma/vcpkg.json index e9168357cc7c16..8ec52b80548a7c 100644 --- a/ports/liblzma/vcpkg.json +++ b/ports/liblzma/vcpkg.json @@ -1,6 +1,6 @@ { "name": "liblzma", - "version": "5.4.4", + "version": "5.6.3", "description": "Compression library with an API similar to that of zlib.", "homepage": "https://tukaani.org/xz/", "license": null, @@ -16,8 +16,7 @@ ], "features": { "tools": { - "description": "Build tools", - "supports": "!windows, mingw" + "description": "Build tools" } } } diff --git a/ports/liblzma/win_output_name.patch b/ports/liblzma/win_output_name.patch deleted file mode 100644 index 9a845bdbaef1d2..00000000000000 --- a/ports/liblzma/win_output_name.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 0c6d4b7..62a824a 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -868,8 +868,11 @@ set_target_properties(liblzma PROPERTIES - - # It's liblzma.so or liblzma.dll, not libliblzma.so or lzma.dll. - # Avoid the name lzma.dll because it would conflict with LZMA SDK. -- PREFIX "" -+ OUTPUT_NAME lzma - ) -+if(WIN32 AND NOT MINGW) -+ set_target_properties(liblzma PROPERTIES RUNTIME_OUTPUT_NAME liblzma) -+endif() - - # Create liblzma-config-version.cmake. - # diff --git a/ports/libmagic/0002-Change-zlib-lib-name-to-match-CMake-output.patch b/ports/libmagic/0002-Change-zlib-lib-name-to-match-CMake-output.patch index 5e070cc07fe0bf..e70c202d916bf3 100644 --- a/ports/libmagic/0002-Change-zlib-lib-name-to-match-CMake-output.patch +++ b/ports/libmagic/0002-Change-zlib-lib-name-to-match-CMake-output.patch @@ -16,7 +16,7 @@ index b05c334..dd4063c 100644 dnl Checks for libraries if test "$enable_zlib" != "no"; then - AC_CHECK_LIB(z, gzopen) -+ AC_SEARCH_LIBS(gzopen, [z zlib zlibd], have_zlib = "yes", have_zlib = "no") ++ AC_SEARCH_LIBS(gzopen, [z zlib zlibd], have_zlib="yes", have_zlib="no") fi if test "$enable_bzlib" != "no"; then AC_CHECK_LIB(bz2, BZ2_bzCompressInit) diff --git a/ports/libmagic/0003-Fix-WIN32-macro-checks.patch b/ports/libmagic/0003-Fix-WIN32-macro-checks.patch index eb0f7ebdaf5276..7b88b1f98f9cb6 100644 --- a/ports/libmagic/0003-Fix-WIN32-macro-checks.patch +++ b/ports/libmagic/0003-Fix-WIN32-macro-checks.patch @@ -1,14 +1,5 @@ -From 2fffeb273ea46c1e91536f3d660982de785c8d49 Mon Sep 17 00:00:00 2001 -From: Long Nguyen -Date: Sat, 8 May 2021 20:52:59 +0700 -Subject: [PATCH 03/14] Fix WIN32 macro checks - ---- - src/file.h | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - diff --git a/src/file.h b/src/file.h -index 299ac0c..2c365a6 100644 +index a67e8ff..9115c5b 100644 --- a/src/file.h +++ b/src/file.h @@ -82,7 +82,7 @@ @@ -20,7 +11,7 @@ index 299ac0c..2c365a6 100644 #include #endif /* Do this here and now, because struct stat gets re-defined on solaris */ -@@ -95,7 +95,7 @@ +@@ -99,7 +99,7 @@ #define MAGIC "/etc/magic" #endif @@ -29,15 +20,12 @@ index 299ac0c..2c365a6 100644 #define PATHSEP ';' #else #define PATHSEP ':' -@@ -103,7 +103,7 @@ +@@ -108,7 +108,7 @@ + #define file_private static - #define private static - --#if HAVE_VISIBILITY && !defined(WIN32) -+#if HAVE_VISIBILITY && !defined(_WIN32) - #define public __attribute__ ((__visibility__("default"))) - #ifndef protected - #define protected __attribute__ ((__visibility__("hidden"))) --- -2.29.2.windows.2 - + #if HAVE_VISIBILITY +-# if defined(WIN32) ++# if defined(_WIN32) + # define file_public __declspec(dllexport) + # ifndef file_protected + # define file_protected diff --git a/ports/libmagic/0005-Include-dirent.h-for-S_ISREG-and-S_ISDIR.patch b/ports/libmagic/0005-Include-dirent.h-for-S_ISREG-and-S_ISDIR.patch index 76cbc1222c8bd0..afcb658d889019 100644 --- a/ports/libmagic/0005-Include-dirent.h-for-S_ISREG-and-S_ISDIR.patch +++ b/ports/libmagic/0005-Include-dirent.h-for-S_ISREG-and-S_ISDIR.patch @@ -11,14 +11,15 @@ diff --git a/src/file.h b/src/file.h index 0332506..4aa9f60 100644 --- a/src/file.h +++ b/src/file.h -@@ -88,6 +88,7 @@ +@@ -88,7 +88,8 @@ /* Do this here and now, because struct stat gets re-defined on solaris */ #include #include +#include - - #define ENABLE_CONDITIONALS - + #include + #if defined(HAVE_XLOCALE_H) + #include + #endif -- 2.29.2.windows.2 diff --git a/ports/libmagic/0006-Remove-Wrap-POSIX-headers.patch b/ports/libmagic/0006-Remove-Wrap-POSIX-headers.patch index 56efac2481577b..169561d243724a 100644 --- a/ports/libmagic/0006-Remove-Wrap-POSIX-headers.patch +++ b/ports/libmagic/0006-Remove-Wrap-POSIX-headers.patch @@ -161,7 +161,7 @@ index 3ab52d1..fc48d84 100644 --- a/src/pread.c +++ b/src/pread.c @@ -3,7 +3,9 @@ - FILE_RCSID("@(#)$File: pread.c,v 1.2 2013/04/02 16:23:07 christos Exp $") + FILE_RCSID("@(#)$File: pread.c,v 1.5 2022/09/24 20:30:13 christos Exp $") #endif /* lint */ #include +#ifdef HAVE_UNISTD_H diff --git a/ports/libmagic/0009-No-fcntl-in-magic.c.patch b/ports/libmagic/0009-No-fcntl-in-magic.c.patch deleted file mode 100644 index 47bf16165ef8f4..00000000000000 --- a/ports/libmagic/0009-No-fcntl-in-magic.c.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 6d10bef865b69764f6e0ddd2b0f6a84e484cdb37 Mon Sep 17 00:00:00 2001 -From: Long Nguyen -Date: Sun, 9 May 2021 13:25:14 +0700 -Subject: [PATCH 09/14] No fcntl in magic.c - ---- - src/magic.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/magic.c b/src/magic.c -index e9aeafa..382bd96 100644 ---- a/src/magic.c -+++ b/src/magic.c -@@ -462,7 +462,7 @@ file_or_fd(struct magic_set *ms, const char *inname, int fd) - rv = 0; - goto done; - } --#if O_CLOEXEC == 0 -+#if O_CLOEXEC == 0 && !defined(_WIN32) - (void)fcntl(fd, F_SETFD, FD_CLOEXEC); - #endif - } --- -2.29.2.windows.2 - diff --git a/ports/libmagic/0010-Properly-check-for-the-presence-of-bitmasks.patch b/ports/libmagic/0010-Properly-check-for-the-presence-of-bitmasks.patch index f0d8738e465e51..e241f5e49c09d6 100644 --- a/ports/libmagic/0010-Properly-check-for-the-presence-of-bitmasks.patch +++ b/ports/libmagic/0010-Properly-check-for-the-presence-of-bitmasks.patch @@ -17,7 +17,7 @@ index 5204f20..7244841 100644 #undef HAVE_MAJOR -#ifdef S_IFLNK +#if S_IFLNK != 0 - private int + file_private int bad_link(struct magic_set *ms, int err, char *buf) { @@ -108,7 +108,7 @@ file_fsmagic(struct magic_set *ms, const char *fn, struct stat *sb) diff --git a/ports/libmagic/0011-Remove-pipe-related-functions-in-funcs.c.patch b/ports/libmagic/0011-Remove-pipe-related-functions-in-funcs.c.patch index ae2720ca3617f4..13c24faaca0b48 100644 --- a/ports/libmagic/0011-Remove-pipe-related-functions-in-funcs.c.patch +++ b/ports/libmagic/0011-Remove-pipe-related-functions-in-funcs.c.patch @@ -11,21 +11,19 @@ diff --git a/src/funcs.c b/src/funcs.c index b926625..b585486 100644 --- a/src/funcs.c +++ b/src/funcs.c -@@ -809,6 +809,7 @@ file_print_guid(char *str, size_t len, const uint64_t *guid) - g->data4[6], g->data4[7]); +@@ -888,5 +888,6 @@ } +#ifndef _WIN32 - protected int + file_protected int file_pipe_closexec(int *fds) { -@@ -827,6 +828,7 @@ protected int - file_clear_closexec(int fd) { - return fcntl(fd, F_SETFD, 0); +@@ -914,5 +915,6 @@ + #endif } +#endif - protected char * + file_protected char * file_strtrim(char *str) -- 2.29.2.windows.2 diff --git a/ports/libmagic/0014-Define-POSIX-macros-if-missing.patch b/ports/libmagic/0014-Define-POSIX-macros-if-missing.patch deleted file mode 100644 index 09ac7a11926e47..00000000000000 --- a/ports/libmagic/0014-Define-POSIX-macros-if-missing.patch +++ /dev/null @@ -1,38 +0,0 @@ -From fa0e11f36bb0e322250e1e488ced9f2bf166874f Mon Sep 17 00:00:00 2001 -From: Long Nguyen -Date: Fri, 14 May 2021 18:11:39 +0700 -Subject: [PATCH 14/14] Define POSIX macros if missing - ---- - src/file.h | 15 +++++++++++++++ - 1 file changed, 15 insertions(+) - -diff --git a/src/file.h b/src/file.h -index ccfe0da..98cd37b 100644 ---- a/src/file.h -+++ b/src/file.h -@@ -100,6 +100,21 @@ - #include - #include - -+#if !defined(S_IFBLK) -+#define S_IFBLK 0 -+#define S_ISBLK(mode) (((mode) & S_IFMT) == S_IFBLK) -+#endif -+ -+#if !defined(S_IFLNK) -+#define S_IFLNK 0 -+#define S_ISLNK(mode) (((mode) & S_IFMT) == S_IFLNK) -+#endif -+ -+#if !defined(S_IFSOCK) -+#define S_IFSOCK 0 -+#define S_ISSOCK(mode) (((mode) & S_IFMT) == S_IFSOCK) -+#endif -+ - #define ENABLE_CONDITIONALS - - #ifndef MAGIC --- -2.29.2.windows.2 - diff --git a/ports/libmagic/0015-MSYS2-Remove-ioctl-call.patch b/ports/libmagic/0015-MSYS2-Remove-ioctl-call.patch index da8ef79df29a4c..13fe3cf0c55080 100644 --- a/ports/libmagic/0015-MSYS2-Remove-ioctl-call.patch +++ b/ports/libmagic/0015-MSYS2-Remove-ioctl-call.patch @@ -7,20 +7,20 @@ diff --git a/src/compress.c b/src/compress.c index 33ce2bc..f172eda 100644 --- a/src/compress.c +++ b/src/compress.c -@@ -378,7 +378,7 @@ +@@ -407,7 +407,7 @@ sread(int fd, void *buf, size_t n, int canbepipe __attribute__((__unused__))) { ssize_t rv; --#ifdef FIONREAD +-#if defined(FIONREAD) && !defined(__MINGW32__) +#if defined(FIONREAD) && !defined(__MINGW32__) && !defined(WIN32) int t = 0; #endif size_t rn = n; -@@ -386,7 +386,7 @@ +@@ -418,7 +418,7 @@ if (fd == STDIN_FILENO) goto nocheck; --#ifdef FIONREAD +-#if defined(FIONREAD) && !defined(__MINGW32__) +#if defined(FIONREAD) && !defined(__MINGW32__) && !defined(WIN32) if (canbepipe && (ioctl(fd, FIONREAD, &t) == -1 || t == 0)) { #ifdef FD_ZERO diff --git a/ports/libmagic/0016-Fix-file_famagic-function.patch b/ports/libmagic/0016-Fix-file_famagic-function.patch index b3acf638c53805..5eaba925a589f4 100644 --- a/ports/libmagic/0016-Fix-file_famagic-function.patch +++ b/ports/libmagic/0016-Fix-file_famagic-function.patch @@ -2,13 +2,13 @@ diff --git a/src/fsmagic.c b/src/fsmagic.c index 7244841..2c553c1 100644 --- a/src/fsmagic.c +++ b/src/fsmagic.c -@@ -66,7 +66,7 @@ FILE_RCSID("@(#)$File: fsmagic.c,v 1.81 2019/07/16 13:30:32 christos Exp $") +@@ -66,7 +66,7 @@ # define major(dev) (((dev) >> 8) & 0xff) # define minor(dev) ((dev) & 0xff) #endif #undef HAVE_MAJOR -#if S_IFLNK != 0 +#if S_IFLNK != 0 && ! defined(_WIN32) - private int + file_private int bad_link(struct magic_set *ms, int err, char *buf) { @@ -108,7 +108,7 @@ file_fsmagic(struct magic_set *ms, const char *fn, struct stat *sb) diff --git a/ports/libmagic/0017-Change-bzlib-name-to-match-CMake-output.patch b/ports/libmagic/0017-Change-bzlib-name-to-match-CMake-output.patch new file mode 100644 index 00000000000000..ba26f6cbcb7f75 --- /dev/null +++ b/ports/libmagic/0017-Change-bzlib-name-to-match-CMake-output.patch @@ -0,0 +1,27 @@ +diff --git a/configure.ac b/configure.ac +index 8b54efda..d043fb06 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -191,7 +191,7 @@ if test "$enable_zlib" != "no"; then + AC_SEARCH_LIBS(gzopen, [z zlib zlibd], have_zlib="yes", have_zlib="no") + fi + if test "$enable_bzlib" != "no"; then +- AC_CHECK_LIB(bz2, BZ2_bzCompressInit) ++ AC_SEARCH_LIBS(BZ2_bzCompressInit, [bz2 bz2d], have_bzlib="yes", have_bzlib="no") + fi + if test "$enable_xzlib" != "no"; then + AC_CHECK_LIB(lzma, lzma_stream_decoder) +@@ -222,11 +222,11 @@ if test "$ac_cv_header_zlib_h$have_zlib" = "yesyes"; then + AC_DEFINE([ZLIBSUPPORT], 1, [Enable zlib compression support]) + fi + if test "$enable_bzlib" = "yes"; then +- if test "$ac_cv_header_bzlib_h$ac_cv_lib_bz2_BZ2_bzCompressInit" != "yesyes"; then ++ if test "$ac_cv_header_bzlib_h$have_bzlib" != "yesyes"; then + AC_MSG_ERROR([bzlib support requested but not found]) + fi + fi +-if test "$ac_cv_header_bzlib_h$ac_cv_lib_bz2_BZ2_bzCompressInit" = "yesyes"; then ++if test "$ac_cv_header_bzlib_h$have_bzlib" = "yesyes"; then + AC_DEFINE([BZLIBSUPPORT], 1, [Enable bzlib compression support]) + fi + if test "$enable_xzlib" = "yes"; then diff --git a/ports/libmagic/portfile.cmake b/ports/libmagic/portfile.cmake index 902be26aafe152..910051a7368a18 100644 --- a/ports/libmagic/portfile.cmake +++ b/ports/libmagic/portfile.cmake @@ -8,22 +8,21 @@ if(VCPKG_TARGET_IS_WINDOWS) "0006-Remove-Wrap-POSIX-headers.patch" "0007-Substitute-unistd-macros-for-MSVC.patch" "0008-Add-FILENO-defines.patch" - "0009-No-fcntl-in-magic.c.patch" "0010-Properly-check-for-the-presence-of-bitmasks.patch" "0011-Remove-pipe-related-functions-in-funcs.c.patch" "0012-Convert-MSYS2-paths-to-Windows-paths.patch" "0013-Check-for-backslash-in-argv-0-on-Windows.patch" - "0014-Define-POSIX-macros-if-missing.patch" "0015-MSYS2-Remove-ioctl-call.patch" "0016-Fix-file_famagic-function.patch" + "0017-Change-bzlib-name-to-match-CMake-output.patch" ) endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO file/file - REF FILE5_40 - SHA512 d76bfe5326e1b40368e055c2e049a24b4ffdbd727371f4f3aa1dd3f53787d16b88550b3cc71ecf02151e2fb3e567eb2598e4707badab8c391eb71113c2dcc319 + REF FILE5_46 + SHA512 9165bb5bdbe7b8fccac0c8675d4eb251a286ab2ab7a79e6f8ed98d36fa0928b889cf109c1da3a5cfff64d1b1006b5d73934c2d420484adae6f4c8e26a9ede18f HEAD_REF master PATCHES ${PATCHES} ) @@ -33,9 +32,30 @@ if(VCPKG_TARGET_IS_WINDOWS) set(VCPKG_CXX_FLAGS "${VCPKG_CXX_FLAGS} -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_WARNINGS") endif() +set(FEATURE_OPTIONS) + +macro(enable_feature feature switch) + if("${feature}" IN_LIST FEATURES) + list(APPEND FEATURE_OPTIONS "--enable-${switch}") + set(has_${feature} 1) + else() + list(APPEND FEATURE_OPTIONS "--disable-${switch}") + set(has_${feature} 0) + endif() +endmacro() + +enable_feature("bzip2" "bzlib") +enable_feature("zlib" "zlib") +enable_feature("lzma" "xzlib") +enable_feature("zstd" "zstdlib") + vcpkg_configure_make( AUTOCONFIG SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} + "--disable-lzlib" + "--disable-libseccomp" ) if(VCPKG_CROSSCOMPILING) @@ -68,5 +88,13 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/${PORT}/man5") -# Handle copyright -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +include(CMakePackageConfigHelpers) +configure_package_config_file( + "${CMAKE_CURRENT_LIST_DIR}/unofficial-${PORT}-config.cmake.in" + "${CURRENT_PACKAGES_DIR}/share/unofficial-${PORT}/unofficial-${PORT}-config.cmake" + INSTALL_DESTINATION "share/unofficial-${PORT}" +) + +# Handle copyright and usage +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/libmagic/unofficial-libmagic-config.cmake.in b/ports/libmagic/unofficial-libmagic-config.cmake.in new file mode 100644 index 00000000000000..9de6058d543cee --- /dev/null +++ b/ports/libmagic/unofficial-libmagic-config.cmake.in @@ -0,0 +1,93 @@ +@PACKAGE_INIT@ + +include(CMakeFindDependencyMacro) + +if("@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static") + if(WIN32) + find_dependency(unofficial-tre) + endif() + + if(@has_zlib@) + find_dependency(ZLIB) + endif() + + if(@has_bzip2@) + find_dependency(BZip2) + endif() + + if(@has_lzma@) + find_dependency(LibLZMA) + endif() + + if(@has_zstd@) + find_dependency(zstd) + endif() +endif() + +# Compute the installation prefix relative to this file. +get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +if(_IMPORT_PREFIX STREQUAL "/") + set(_IMPORT_PREFIX "") +endif() + +if("@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static") + add_library(unofficial::libmagic::libmagic STATIC IMPORTED) +else() + add_library(unofficial::libmagic::libmagic SHARED IMPORTED) +endif() + +set_target_properties(unofficial::libmagic::libmagic PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" +) + +if("@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static") + set_target_properties(unofficial::libmagic::libmagic PROPERTIES + INTERFACE_LINK_LIBRARIES + "\$:unofficial::tre::tre;shlwapi>>" + "\$>" + "\$>" + "\$>" + "\$" + ) +endif() + +macro(add_library_config config prefix) + set_property(TARGET unofficial::libmagic::libmagic APPEND PROPERTY IMPORTED_CONFIGURATIONS ${config}) + if("@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static") + set_target_properties(unofficial::libmagic::libmagic PROPERTIES + IMPORTED_LOCATION_${config} "${_IMPORT_PREFIX}/${prefix}lib/@VCPKG_TARGET_STATIC_LIBRARY_PREFIX@magic@VCPKG_TARGET_STATIC_LIBRARY_SUFFIX@" + IMPORTED_LINK_INTERFACE_LANGUAGES_${config} "C" + ) + else() + if(WIN32) + set(library_dir "${_IMPORT_PREFIX}/${prefix}bin/") + set(soversion_suffix "-1") + set_target_properties(unofficial::libmagic::libmagic PROPERTIES + IMPORTED_IMPLIB_${config} "${_IMPORT_PREFIX}/${prefix}/lib/@VCPKG_TARGET_IMPORT_LIBRARY_PREFIX@magic@VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX@" + ) + else() + set(library_dir "${_IMPORT_PREFIX}/${prefix}lib/") + endif() + set_target_properties(unofficial::libmagic::libmagic PROPERTIES + IMPORTED_LOCATION_${config} "${library_dir}@VCPKG_TARGET_SHARED_LIBRARY_PREFIX@magic${soversion_suffix}@VCPKG_TARGET_SHARED_LIBRARY_SUFFIX@" + ) + unset(soversion_suffix) + unset(library_dir) + endif() +endmacro() + +if("@VCPKG_BUILD_TYPE@" STREQUAL "" OR "@VCPKG_BUILD_TYPE@" STREQUAL "debug") + add_library_config(DEBUG "debug/") +endif() + +if("@VCPKG_BUILD_TYPE@" STREQUAL "" OR "@VCPKG_BUILD_TYPE@" STREQUAL "release") + add_library_config(RELEASE "") +endif() + +set_and_check(unofficial-libmagic_DICTIONARY "${_IMPORT_PREFIX}/share/libmagic/misc/magic.mgc") + +unset(_IMPORT_PREFIX) + +check_required_components(unofficial-libmagic) diff --git a/ports/libmagic/usage b/ports/libmagic/usage new file mode 100644 index 00000000000000..3f7bb80fb7ccff --- /dev/null +++ b/ports/libmagic/usage @@ -0,0 +1,6 @@ +libmagic provides CMake targets: + + find_package(unofficial-libmagic REQUIRED) + target_link_libraries(main PRIVATE unofficial::libmagic::libmagic) + +The magic.mgc file can be accessed from the unofficial-libmagic_DICTIONARY variable. diff --git a/ports/libmagic/vcpkg.json b/ports/libmagic/vcpkg.json index a8984202158d33..0beae3b4629384 100644 --- a/ports/libmagic/vcpkg.json +++ b/ports/libmagic/vcpkg.json @@ -1,9 +1,9 @@ { "name": "libmagic", - "version": "5.40", - "port-version": 3, + "version": "5.46", "description": "This library can be used to classify files according to magic number tests.", "homepage": "https://github.com/file/file", + "license": "BSD-2-Clause", "dependencies": [ { "name": "dirent", @@ -21,5 +21,31 @@ "name": "tre", "platform": "windows | mingw" } - ] + ], + "features": { + "bzip2": { + "description": "Enable bzip2 support", + "dependencies": [ + "bzip2" + ] + }, + "lzma": { + "description": "Enable lzma support", + "dependencies": [ + "liblzma" + ] + }, + "zlib": { + "description": "Enable zlib support", + "dependencies": [ + "zlib" + ] + }, + "zstd": { + "description": "Enable zstd support", + "dependencies": [ + "zstd" + ] + } + } } diff --git a/ports/libmariadb/cmake-export.diff b/ports/libmariadb/cmake-export.diff new file mode 100644 index 00000000000000..e452d191377bfc --- /dev/null +++ b/ports/libmariadb/cmake-export.diff @@ -0,0 +1,27 @@ +diff --git a/libmariadb/CMakeLists.txt b/libmariadb/CMakeLists.txt +index bbad89a..71662d3 100644 +--- a/libmariadb/CMakeLists.txt ++++ b/libmariadb/CMakeLists.txt +@@ -547,3 +547,22 @@ IF(0) + CONFIGURATIONS Debug RelWithDebInfo + COMPONENT Development) + ENDIF() ++ ++set_target_properties(mariadbclient PROPERTIES EXPORT_NAME libmariadb) ++ ++install(EXPORT unofficial-libmariadb-targets ++ NAMESPACE unofficial:: ++ DESTINATION share/unofficial-libmariadb ++) ++ ++file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/unofficial-libmariadb-config.cmake.in" [[ ++if(NOT "@BUILD_SHARED_LIBS@") ++ include(CMakeFindDependencyMacro) ++ if("@WITH_ZSTD@") ++ find_dependency(zstd CONFIG) ++ endif() ++endif() ++include("${CMAKE_CURRENT_LIST_DIR}/unofficial-libmariadb-targets.cmake") ++]]) ++configure_file("${CMAKE_CURRENT_BINARY_DIR}/unofficial-libmariadb-config.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/unofficial-libmariadb-config.cmake" @ONLY) ++install(FILES "${CMAKE_CURRENT_BINARY_DIR}/unofficial-libmariadb-config.cmake" DESTINATION share/unofficial-libmariadb) diff --git a/ports/libmariadb/compiler-flags.diff b/ports/libmariadb/compiler-flags.diff new file mode 100644 index 00000000000000..21133cf7cf6666 --- /dev/null +++ b/ports/libmariadb/compiler-flags.diff @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8994119..9ccfacb 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -113,8 +113,6 @@ IF(MSVC) + ENDIF() + ENDIF() + STRING(REPLACE "/Zi" "/Z7" COMPILER_FLAGS ${COMPILER_FLAGS}) +- MESSAGE (STATUS "CMAKE_${COMPILER}_FLAGS_${BUILD_TYPE}= ${COMPILER_FLAGS}") +- SET(CMAKE_${COMPILER}_FLAGS_${BUILD_TYPE} ${COMPILER_FLAGS}) + ENDIF() + ENDFOREACH() + ENDFOREACH() diff --git a/ports/libmariadb/dependencies.diff b/ports/libmariadb/dependencies.diff new file mode 100644 index 00000000000000..5b98361b5d6343 --- /dev/null +++ b/ports/libmariadb/dependencies.diff @@ -0,0 +1,110 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9ccfacb..4e28b38 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -219,7 +219,12 @@ INCLUDE(${CC_SOURCE_DIR}/cmake/SearchLibrary.cmake) + + # Compression plugins: ZSTD, ZLIB + +-INCLUDE(${CC_SOURCE_DIR}/cmake/FindZStd.cmake) ++if(WITH_ZSTD) ++ find_package(ZSTD NAMES zstd REQUIRED) ++ set(ZSTD_LIBRARIES zstd::libzstd) ++else() ++ set(ZSTD_FOUND 0) ++endif() + + IF(WITH_EXTERNAL_ZLIB) + IF(NOT ZLIB_FOUND) +@@ -250,7 +255,7 @@ IF(UNIX) + SEARCH_LIBRARY(LIBNSL gethostbyname_r "nsl_r;nsl") + SEARCH_LIBRARY(LIBSOCKET setsockopt socket) + FIND_PACKAGE(Threads) +- SET(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${LIBNSL} ${LIBBIND} ${LIBICONV} ${ZLIB_LIBRARY} ++ SET(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${LIBNSL} ${LIBBIND} ${LIBICONV} ${ZLIB_LIBRARIES} + ${LIBSOCKET} ${CMAKE_DL_LIBS} ${LIBM} ${LIBPTHREAD}) + SET(SYSTEM_LIBS ${SYSTEM_LIBS} ${LIBNSL} ${LIBBIND} ${LIBICONV} + ${LIBSOCKET} ${CMAKE_DL_LIBS} ${LIBM} ${LIBPTHREAD}) +@@ -307,7 +312,7 @@ IF(NOT WITH_SSL STREQUAL "OFF") + ADD_DEFINITIONS(-DHAVE_OPENSSL -DHAVE_TLS) + SET(SSL_SOURCES "${CC_SOURCE_DIR}/libmariadb/secure/openssl.c" + "${CC_SOURCE_DIR}/libmariadb/secure/openssl_crypt.c") +- SET(SSL_LIBRARIES ${OPENSSL_SSL_LIBRARY} ${OPENSSL_CRYPTO_LIBRARY}) ++ SET(SSL_LIBRARIES ${OPENSSL_LIBRARIES}) + IF(WIN32 AND EXISTS ${OPENSSL_INCLUDE_DIR}/openssl/applink.c) + SET(HAVE_OPENSSL_APPLINK_C 1) + ENDIF() +@@ -371,7 +376,12 @@ ENDIF() + + IF(WITH_ICONV) + IF(NOT WIN32) +- INCLUDE(${CC_SOURCE_DIR}/cmake/FindIconv.cmake) ++ find_package(Iconv REQUIRED) ++ include_directories(${Iconv_INCLUDE_DIRS}) ++ set(ICONV_LIBRARIES "${Iconv_LIBRARIES}") ++ if(NOT Iconv_IS_BUILT_IN) ++ set(ICONV_EXTERNAL 1) ++ endif() + ENDIF() + ENDIF() + +@@ -431,7 +441,7 @@ ENDIF() + INCLUDE(${CC_SOURCE_DIR}/plugins/CMakeLists.txt) + ADD_SUBDIRECTORY(include) + ADD_SUBDIRECTORY(libmariadb) +-IF((NOT WIN32) OR CYGWIN) ++IF(1) + ADD_SUBDIRECTORY(mariadb_config) + ENDIF() + +diff --git a/libmariadb/CMakeLists.txt b/libmariadb/CMakeLists.txt +index 852be8d..61ad0a6 100644 +--- a/libmariadb/CMakeLists.txt ++++ b/libmariadb/CMakeLists.txt +@@ -293,7 +293,7 @@ SET(MARIADB_NONBLOCK_SYMBOLS + + # handle static plugins + SET(LIBMARIADB_SOURCES ${LIBMARIADB_SOURCES} ${LIBMARIADB_PLUGIN_SOURCES}) +-SET(SYSTEM_LIBS ${SYSTEM_LIBS} ${LIBMARIADB_PLUGIN_LIBS} ${ZSTD_LIBRARY} ${ZLIB_LIBRARY}) ++SET(SYSTEM_LIBS ${SYSTEM_LIBS} ${LIBMARIADB_PLUGIN_LIBS} ${ZSTD_LIBRARIES} ${ZLIB_LIBRARIES}) + MESSAGE(STATUS "SYSTEM_LIBS: ${SYSTEM_LIBS}") + INCLUDE_DIRECTORIES(${LIBMARIADB_PLUGIN_INCLUDES}) + ADD_DEFINITIONS(${LIBMARIADB_PLUGIN_DEFS}) +diff --git a/mariadb_config/CMakeLists.txt b/mariadb_config/CMakeLists.txt +index 4cb0ba9..c15838a 100644 +--- a/mariadb_config/CMakeLists.txt ++++ b/mariadb_config/CMakeLists.txt +@@ -30,6 +30,22 @@ IF(${rllength} GREATER 0) + LIST(REMOVE_DUPLICATES SYSTEM_LIBS) + ENDIF() + ++set(REQUIRES_PRIVATE "" CACHE STRING "") ++list(REMOVE_ITEM SYSTEM_LIBS ${ZLIB_LIBRARIES}) ++string(APPEND REQUIRES_PRIVATE " zlib") ++if(LIBM) ++ list(REMOVE_ITEM SYSTEM_LIBS ${LIBM}) ++ list(APPEND SYSTEM_LIBS "m") ++endif() ++if(WITH_SSL STREQUAL "OPENSSL") ++ list(REMOVE_ITEM SYSTEM_LIBS ${SSL_LIBRARIES}) ++ string(APPEND REQUIRES_PRIVATE " openssl") ++endif() ++if(WITH_ZSTD) ++ list(REMOVE_ITEM SYSTEM_LIBS ${ZSTD_LIBRARIES}) ++ string(APPEND REQUIRES_PRIVATE " libzstd") ++endif() ++ + FOREACH (LIB_NAME ${SYSTEM_LIBS}) + GET_LIB_NAME(${LIB_NAME} LIB_OUT) + SET(extra_dynamic_LDFLAGS "${extra_dynamic_LDFLAGS} ${LIB_OUT}") +diff --git a/mariadb_config/libmariadb.pc.in b/mariadb_config/libmariadb.pc.in +index 968181a..3f0410d 100644 +--- a/mariadb_config/libmariadb.pc.in ++++ b/mariadb_config/libmariadb.pc.in +@@ -16,5 +16,6 @@ Description: MariaDB Connector/C dynamic library + Cflags: -I${includedir} + Libs: -L${libdir} -lmariadb + Libs.private: @extra_dynamic_LDFLAGS@ ++Requires.private: @REQUIRES_PRIVATE@ + + diff --git a/ports/libmariadb/disable-mariadb_config.diff b/ports/libmariadb/disable-mariadb_config.diff new file mode 100644 index 00000000000000..d48bc8551ebda5 --- /dev/null +++ b/ports/libmariadb/disable-mariadb_config.diff @@ -0,0 +1,15 @@ +diff --git a/mariadb_config/CMakeLists.txt b/mariadb_config/CMakeLists.txt +index 0a32343..4cb0ba9 100644 +--- a/mariadb_config/CMakeLists.txt ++++ b/mariadb_config/CMakeLists.txt +@@ -58,9 +58,7 @@ ENDIF() + + # Installation + # +-INSTALL(TARGETS mariadb_config +- DESTINATION "${INSTALL_BINDIR}" +- COMPONENT Development) ++set_target_properties(mariadb_config PROPERTIES EXCLUDE_FROM_ALL 1) # not portable + + INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/libmariadb.pc + DESTINATION "${INSTALL_PCDIR}" diff --git a/ports/libmariadb/disable-test-build.patch b/ports/libmariadb/disable-test-build.patch deleted file mode 100644 index 6ee60ba937bd5a..00000000000000 --- a/ports/libmariadb/disable-test-build.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/unittest/libmariadb/CMakeLists.txt b/unittest/libmariadb/CMakeLists.txt -index e3ba18b..48c4f1d 100644 ---- a/unittest/libmariadb/CMakeLists.txt -+++ b/unittest/libmariadb/CMakeLists.txt -@@ -48,6 +48,7 @@ ENDIF() - - ADD_LIBRARY(ma_getopt ma_getopt.c) - -+if(0) - FOREACH(API_TEST ${API_TESTS}) - IF (NOT TARGET ${API_TEST}) - ADD_EXECUTABLE(${API_TEST} ${API_TEST}.c) -@@ -65,3 +66,4 @@ FOREACH(API_TEST ${MANUAL_TESTS}) - ADD_EXECUTABLE(${API_TEST} ${API_TEST}.c) - TARGET_LINK_LIBRARIES(${API_TEST} cctap ma_getopt mariadbclient) - ENDFOREACH() -+endif() -\ No newline at end of file diff --git a/ports/libmariadb/fix-CMakeLists.patch b/ports/libmariadb/fix-CMakeLists.patch deleted file mode 100644 index a31d9a61762814..00000000000000 --- a/ports/libmariadb/fix-CMakeLists.patch +++ /dev/null @@ -1,83 +0,0 @@ -diff --git a/libmariadb/CMakeLists.txt b/libmariadb/CMakeLists.txt -index 7faf827..d7300b0 100644 ---- a/libmariadb/CMakeLists.txt -+++ b/libmariadb/CMakeLists.txt -@@ -417,13 +417,13 @@ ADD_LIBRARY(mariadbclient STATIC ${MARIADB_OBJECTS} ${EMPTY_FILE}) - TARGET_LINK_LIBRARIES(mariadbclient ${SYSTEM_LIBS}) - - IF(UNIX) -- ADD_LIBRARY(libmariadb SHARED ${libmariadb_RC} ${MARIADB_OBJECTS} ${EMPTY_FILE}) -- SET_TARGET_PROPERTIES(libmariadb PROPERTIES COMPILE_FLAGS "${CMAKE_SHARED_LIBRARY_C_FLAGS}") -+ ADD_LIBRARY(libmariadb ${libmariadb_RC} ${MARIADB_OBJECTS} ${EMPTY_FILE}) - ELSE() -- ADD_LIBRARY(libmariadb SHARED ${libmariadb_RC} ${MARIADB_OBJECTS} mariadbclient.def) -+ ADD_LIBRARY(libmariadb ${libmariadb_RC} ${MARIADB_OBJECTS} mariadbclient.def) - SET_TARGET_PROPERTIES(libmariadb PROPERTIES LINKER_LANGUAGE C) - ENDIF() - -+TARGET_INCLUDE_DIRECTORIES(libmariadb PUBLIC $) - TARGET_LINK_LIBRARIES(libmariadb LINK_PRIVATE ${SYSTEM_LIBS}) - - SIGN_TARGET(libmariadb) -@@ -460,7 +460,9 @@ IF(WITH_MYSQLCOMPAT) - ENDIF() - ENDIF() - -+IF(0) - create_symlink(libmariadb${CMAKE_STATIC_LIBRARY_SUFFIX} mariadbclient ${INSTALL_LIBDIR}) -+ENDIF() - - SET_TARGET_PROPERTIES(libmariadb PROPERTIES VERSION - ${CPACK_PACKAGE_VERSION_MAJOR} -@@ -470,13 +472,39 @@ IF(NOT WIN32) - SET_TARGET_PROPERTIES(mariadbclient PROPERTIES OUTPUT_NAME "${LIBMARIADB_STATIC_NAME}") - ENDIF() - -+IF(VCPKG_MARIADBCLIENT) - INSTALL(TARGETS mariadbclient - COMPONENT Development -- DESTINATION ${INSTALL_LIBDIR}) --IF(WIN32) -+ EXPORT unofficial-libmariadb-targets -+ LIBRARY DESTINATION lib) -+ELSE() -+ set_target_properties(mariadbclient PROPERTIES EXCLUDE_FROM_ALL 1) -+ENDIF() -+ -+IF(1) - INSTALL(TARGETS libmariadb - COMPONENT SharedLibraries -- DESTINATION ${INSTALL_LIBDIR}) -+ EXPORT unofficial-libmariadb-targets -+ RUNTIME DESTINATION bin -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib) -+ -+install(EXPORT unofficial-libmariadb-targets -+ NAMESPACE unofficial:: -+ DESTINATION share/unofficial-libmariadb -+) -+ -+file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/unofficial-libmariadb-config.cmake.in" -+[[include(CMakeFindDependencyMacro) -+find_dependency(ZLIB) -+if("@WITH_SSL@" STREQUAL "OPENSSL") -+ find_dependency(OpenSSL) -+endif() -+include("${CMAKE_CURRENT_LIST_DIR}/unofficial-libmariadb-targets.cmake") -+]]) -+configure_file("${CMAKE_CURRENT_BINARY_DIR}/unofficial-libmariadb-config.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/unofficial-libmariadb-config.cmake" @ONLY) -+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/unofficial-libmariadb-config.cmake DESTINATION share/unofficial-libmariadb) -+ - ELSE() - # in cmake 3.12+ we can use - #INSTALL(TARGETS libmariadb LIBRARY DESTINATION ${INSTALL_LIBDIR} -@@ -488,7 +516,7 @@ INSTALL(TARGETS libmariadb LIBRARY DESTINATION ${INSTALL_LIBDIR} - COMPONENT Development NAMELINK_ONLY) - ENDIF() - --IF(MSVC) -+IF(0) - # On Windows, install PDB - INSTALL(FILES $ DESTINATION "${INSTALL_LIBDIR}" - CONFIGURATIONS Debug RelWithDebInfo diff --git a/ports/libmariadb/fix-InstallPath.patch b/ports/libmariadb/fix-InstallPath.patch deleted file mode 100644 index 010fbb45d2c105..00000000000000 --- a/ports/libmariadb/fix-InstallPath.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/include/mariadb_version.h.in b/include/mariadb_version.h.in -index a82dbb7..e9005fa 100644 ---- a/include/mariadb_version.h.in -+++ b/include/mariadb_version.h.in -@@ -30,7 +30,7 @@ - #define MARIADB_PACKAGE_VERSION_ID @MARIADB_PACKAGE_VERSION_ID@ - #define MARIADB_SYSTEM_TYPE "@CMAKE_SYSTEM_NAME@" - #define MARIADB_MACHINE_TYPE "@CMAKE_SYSTEM_PROCESSOR@" --#define MARIADB_PLUGINDIR "@CMAKE_INSTALL_PREFIX@/@INSTALL_PLUGINDIR@" -+#define MARIADB_PLUGINDIR "../@INSTALL_PLUGINDIR@" - - /* mysqld compile time options */ - #ifndef MYSQL_CHARSET -diff --git a/mariadb_config/mariadb_config.c.in b/mariadb_config/mariadb_config.c.in -index 36c0117..4184e4b 100644 ---- a/mariadb_config/mariadb_config.c.in -+++ b/mariadb_config/mariadb_config.c.in -@@ -225,7 +225,7 @@ end: - } - if (!p || !p[0]) - { -- strncpy(installation_dir, "@CMAKE_SYSROOT@@CMAKE_INSTALL_PREFIX@", PATH_MAX - 1); -+ strncpy(installation_dir, "../@CMAKE_INSTALL_PREFIX@", PATH_MAX - 1); - return; - } - } diff --git a/ports/libmariadb/fix-iconv.patch b/ports/libmariadb/fix-iconv.patch deleted file mode 100644 index a3b42842108908..00000000000000 --- a/ports/libmariadb/fix-iconv.patch +++ /dev/null @@ -1,40 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 203fca7..65cc350 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -342,7 +342,8 @@ ENDIF() - - IF(WITH_ICONV) - IF(NOT WIN32) -- INCLUDE(${CC_SOURCE_DIR}/cmake/FindIconv.cmake) -+ find_package(Iconv REQUIRED) -+ include_directories(${Iconv_INCLUDE_DIRS}) - ENDIF() - ENDIF() - -@@ -359,8 +360,8 @@ IF(WIN32) - SET(SYSTEM_LIBS ws2_32 advapi32 kernel32 shlwapi crypt32 ${LIBZ}) - ELSE() - SET(SYSTEM_LIBS ${SYSTEM_LIBS} ${LIBPTHREAD} ${CMAKE_DL_LIBS} ${LIBM}) -- IF(ICONV_EXTERNAL) -- SET(SYSTEM_LIBS ${SYSTEM_LIBS} ${ICONV_LIBRARIES}) -+ IF(WITH_ICONV) -+ SET(SYSTEM_LIBS ${SYSTEM_LIBS} ${Iconv_LIBRARIES}) - ENDIF() - ENDIF() - IF(WITH_SSL) -diff --git a/mariadb_config/CMakeLists.txt b/mariadb_config/CMakeLists.txt -index 5bbf36b..70e619b 100644 ---- a/mariadb_config/CMakeLists.txt -+++ b/mariadb_config/CMakeLists.txt -@@ -38,8 +38,8 @@ STRING(STRIP "${extra_dynamic_LDFLAGS}" extra_dynamic_LDFLAGS) - LIST(REMOVE_DUPLICATES extra_dynamic_LDFLAGS) - - IF(UNIX AND NOT APPLE) -- IF(ICONV_EXTERNAL) -- GET_LIB_NAME(${ICONV_LIBRARIES} LIB_OUT) -+ IF(WITH_ICONV) -+ GET_LIB_NAME(${Iconv_LIBRARIES} LIB_OUT) - SET(extra_dynamic_LDFLAGS "${extra_dynamic_LDFLAGS} ${LIB_OUT}") - ENDIF() - ENDIF() diff --git a/ports/libmariadb/fix-openssl.patch b/ports/libmariadb/fix-openssl.patch deleted file mode 100644 index 01b3b5e0101fcf..00000000000000 --- a/ports/libmariadb/fix-openssl.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 33565f5..d83176d 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -280,7 +280,7 @@ IF(NOT WITH_SSL STREQUAL "OFF") - IF(OPENSSL_FOUND) - ADD_DEFINITIONS(-DHAVE_OPENSSL -DHAVE_TLS) - SET(SSL_SOURCES "${CC_SOURCE_DIR}/libmariadb/secure/openssl.c") -- SET(SSL_LIBRARIES ${OPENSSL_SSL_LIBRARY} ${OPENSSL_CRYPTO_LIBRARY}) -+ SET(SSL_LIBRARIES OpenSSL::SSL) - IF(WIN32) - CHECK_INCLUDE_FILES (${OPENSSL_INCLUDE_DIR}/openssl/applink.c HAVE_OPENSSL_APPLINK_C) - ENDIF() diff --git a/ports/libmariadb/library-linkage.diff b/ports/libmariadb/library-linkage.diff new file mode 100644 index 00000000000000..696fa7b6c38677 --- /dev/null +++ b/ports/libmariadb/library-linkage.diff @@ -0,0 +1,61 @@ +diff --git a/libmariadb/CMakeLists.txt b/libmariadb/CMakeLists.txt +index 61ad0a6..bbad89a 100644 +--- a/libmariadb/CMakeLists.txt ++++ b/libmariadb/CMakeLists.txt +@@ -494,7 +494,9 @@ IF(WITH_MYSQLCOMPAT) + ENDIF() + ENDIF() + ++if(NOT BUILD_SHARED_LIBS) + create_symlink(libmariadb${CMAKE_STATIC_LIBRARY_SUFFIX} mariadbclient ${INSTALL_LIBDIR}) ++endif() + + SET_TARGET_PROPERTIES(libmariadb PROPERTIES VERSION + ${CPACK_PACKAGE_VERSION_MAJOR} +@@ -502,27 +504,44 @@ SET_TARGET_PROPERTIES(libmariadb PROPERTIES VERSION + + IF(NOT WIN32) + SET_TARGET_PROPERTIES(mariadbclient PROPERTIES OUTPUT_NAME "${LIBMARIADB_STATIC_NAME}") ++elseif(MINGW) ++ set_target_properties(libmariadb PROPERTIES IMPORT_PREFIX "") + ENDIF() + ++if(NOT BUILD_SHARED_LIBS) ++set_target_properties(libmariadb PROPERTIES EXCLUDE_FROM_ALL 1) ++target_include_directories(mariadbclient PUBLIC $) + INSTALL(TARGETS mariadbclient ++ EXPORT unofficial-libmariadb-targets + COMPONENT Development ++ ARCHIVE + DESTINATION ${INSTALL_LIBDIR}) ++else() ++set_target_properties(mariadbclient PROPERTIES EXCLUDE_FROM_ALL 1) ++target_include_directories(libmariadb PUBLIC $) + IF(WIN32) + INSTALL(TARGETS libmariadb ++ EXPORT unofficial-libmariadb-targets + COMPONENT SharedLibraries ++ RUNTIME DESTINATION ${INSTALL_BINDIR} ++ LIBRARY DESTINATION ${INSTALL_LIBDIR} ++ ARCHIVE + DESTINATION ${INSTALL_LIBDIR}) + ELSE() + # in cmake 3.12+ we can use + #INSTALL(TARGETS libmariadb LIBRARY DESTINATION ${INSTALL_LIBDIR} + # COMPONENT SharedLibraries NAMELINK_COMPONENT Development) + # but as long as we build on CentOS 7 with its cmake 2.8.12.2 we have to use +-INSTALL(TARGETS libmariadb LIBRARY DESTINATION ${INSTALL_LIBDIR} ++INSTALL(TARGETS libmariadb ++ EXPORT unofficial-libmariadb-targets ++ LIBRARY DESTINATION ${INSTALL_LIBDIR} + COMPONENT SharedLibraries NAMELINK_SKIP) + INSTALL(TARGETS libmariadb LIBRARY DESTINATION ${INSTALL_LIBDIR} + COMPONENT Development NAMELINK_ONLY) + ENDIF() ++endif() + +-IF(MSVC) ++IF(0) + # On Windows, install PDB + INSTALL(FILES $ DESTINATION "${INSTALL_LIBDIR}" + CONFIGURATIONS Debug RelWithDebInfo diff --git a/ports/libmariadb/md.patch b/ports/libmariadb/md.patch deleted file mode 100644 index 9d1c4d7b1150fd..00000000000000 --- a/ports/libmariadb/md.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index cd716e3..a1f2ada 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -98,7 +98,7 @@ IF(MSVC) - # Speedup system tests - INCLUDE(${CC_SOURCE_DIR}/cmake/WindowsCache.cmake) - ADD_DEFINITIONS(-DWIN32_LEAN_AND_MEAN) -- IF (MSVC) -+ IF (MSVC AND 0) - SET(CONFIG_TYPES "DEBUG" "RELEASE" "RELWITHDEBINFO") - FOREACH(BUILD_TYPE ${CONFIG_TYPES}) - FOREACH(COMPILER CXX C) diff --git a/ports/libmariadb/no-abs-path.diff b/ports/libmariadb/no-abs-path.diff new file mode 100644 index 00000000000000..c87a30b26d0ac0 --- /dev/null +++ b/ports/libmariadb/no-abs-path.diff @@ -0,0 +1,13 @@ +diff --git a/include/mariadb_version.h.in b/include/mariadb_version.h.in +index a82dbb7..e9005fa 100644 +--- a/include/mariadb_version.h.in ++++ b/include/mariadb_version.h.in +@@ -30,7 +30,7 @@ + #define MARIADB_PACKAGE_VERSION_ID @MARIADB_PACKAGE_VERSION_ID@ + #define MARIADB_SYSTEM_TYPE "@CMAKE_SYSTEM_NAME@" + #define MARIADB_MACHINE_TYPE "@CMAKE_SYSTEM_PROCESSOR@" +-#define MARIADB_PLUGINDIR "@CMAKE_INSTALL_PREFIX@/@INSTALL_PLUGINDIR@" ++#define MARIADB_PLUGINDIR "../@INSTALL_PLUGINDIR@" + + /* mysqld compile time options */ + #ifndef MYSQL_CHARSET diff --git a/ports/libmariadb/pkgconfig.patch b/ports/libmariadb/pkgconfig.patch deleted file mode 100644 index 2851a835782619..00000000000000 --- a/ports/libmariadb/pkgconfig.patch +++ /dev/null @@ -1,60 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index a109325..b56403c 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -420,7 +420,7 @@ ENDIF() - INCLUDE(${CC_SOURCE_DIR}/plugins/CMakeLists.txt) - ADD_SUBDIRECTORY(include) - ADD_SUBDIRECTORY(libmariadb) --IF(NOT WIN32) -+IF(1) - ADD_SUBDIRECTORY(mariadb_config) - ENDIF() - -diff --git a/mariadb_config/CMakeLists.txt b/mariadb_config/CMakeLists.txt -index 743ae52..482a4cf 100644 ---- a/mariadb_config/CMakeLists.txt -+++ b/mariadb_config/CMakeLists.txt -@@ -30,6 +30,15 @@ IF(${rllength} GREATER 0) - LIST(REMOVE_DUPLICATES SYSTEM_LIBS) - ENDIF() - -+set(REQUIRES_PRIVATE "" CACHE STRING "") -+if(WITH_SSL STREQUAL "OPENSSL") -+ list(REMOVE_ITEM SYSTEM_LIBS ${SSL_LIBRARIES}) -+ string(APPEND REQUIRES_PRIVATE " openssl") -+endif() -+if(WITH_EXTERNAL_ZLIB) -+ string(APPEND REQUIRES_PRIVATE " zlib") -+endif() -+ - FOREACH (LIB_NAME ${SYSTEM_LIBS}) - GET_LIB_NAME(${LIB_NAME} LIB_OUT) - SET(extra_dynamic_LDFLAGS "${extra_dynamic_LDFLAGS} ${LIB_OUT}") -@@ -50,6 +59,7 @@ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/mariadb_config.c.in - CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libmariadb.pc.in - ${CMAKE_CURRENT_BINARY_DIR}/libmariadb.pc @ONLY) - -+if(0) - ADD_EXECUTABLE(mariadb_config ${CMAKE_CURRENT_BINARY_DIR}/mariadb_config.c) - - IF(CMAKE_SYSTEM_NAME MATCHES AIX) -@@ -61,6 +71,7 @@ ENDIF() - INSTALL(TARGETS mariadb_config - DESTINATION "${INSTALL_BINDIR}" - COMPONENT Development) -+endif() - - INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/libmariadb.pc - DESTINATION "${INSTALL_PCDIR}" -diff --git a/mariadb_config/libmariadb.pc.in b/mariadb_config/libmariadb.pc.in -index 968181a..3f0410d 100644 ---- a/mariadb_config/libmariadb.pc.in -+++ b/mariadb_config/libmariadb.pc.in -@@ -16,5 +16,6 @@ Description: MariaDB Connector/C dynamic library - Cflags: -I${includedir} - Libs: -L${libdir} -lmariadb - Libs.private: @extra_dynamic_LDFLAGS@ -+Requires.private: @REQUIRES_PRIVATE@ - - diff --git a/ports/libmariadb/portfile.cmake b/ports/libmariadb/portfile.cmake index 99db6409cf00b6..c4b90f4fc1433b 100644 --- a/ports/libmariadb/portfile.cmake +++ b/ports/libmariadb/portfile.cmake @@ -9,27 +9,36 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mariadb-corporation/mariadb-connector-c - REF 5e94e7c27ffad7e76665b1333a67975316b9c3c2 # v3.3.1 - SHA512 0f740f88f64037990bf9d4593574b147ee02adb1fbbeb03c0dec745f0ee27d7cf03417dd09546ab70e16b4465622b8567864dbb243de0a3a7ffaebe313f7c231 - HEAD_REF 3.3 + REF v${VERSION} + SHA512 396ce2a36937d49ec96eb239312118c736f46383d2906b7142d9695e795f310af28255d8827cc98ad76ae4e6d5a22faf1188b7dd286791e3c85f22c96d0114b3 + HEAD_REF 3.4 PATCHES - md.patch - disable-test-build.patch - fix-InstallPath.patch - fix-iconv.patch - pkgconfig.patch - fix-openssl.patch - fix-CMakeLists.patch - zstd.patch + compiler-flags.diff + dependencies.diff + disable-mariadb_config.diff + library-linkage.diff + cmake-export.diff + no-abs-path.diff + ushort-check.diff +) +file(REMOVE_RECURSE + "${SOURCE_PATH}/cmake/FindIconv.cmake" + "${SOURCE_PATH}/external/zlib" ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES iconv WITH_ICONV - mariadbclient VCPKG_MARIADBCLIENT zstd WITH_ZSTD ) +string(TOUPPER "${VCPKG_LIBRARY_LINKAGE}" plugin_type) + +set(zstd_plugin_type OFF) +if("zstd" IN_LIST FEATURES) + set(zstd_plugin_type ${plugin_type}) +endif() + if("openssl" IN_LIST FEATURES) set(WITH_SSL OPENSSL) elseif("schannel" IN_LIST FEATURES) @@ -42,33 +51,53 @@ vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} - -DINSTALL_INCLUDEDIR=include/mysql # legacy port decisiong + -DCMAKE_POLICY_DEFAULT_CMP0153=OLD + -DINSTALL_INCLUDEDIR=include/mysql # legacy port decision -DINSTALL_LIBDIR=lib -DINSTALL_PLUGINDIR=plugins/${PORT} - -DWITH_UNIT_TESTS=OFF -DWITH_CURL=OFF -DWITH_EXTERNAL_ZLIB=ON -DWITH_SSL=${WITH_SSL} - -DREMOTEIO_PLUGIN_TYPE=OFF + -DWITH_UNIT_TESTS=OFF + # plugins/auth + -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF + -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=${plugin_type} + -DCLIENT_PLUGIN_CLIENT_ED25519=DYNAMIC # want ${plugin_type}, but STATIC fails + -DCLIENT_PLUGIN_DIALOG=${plugin_type} + -DCLIENT_PLUGIN_PARSEC=OFF + -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=${plugin_type} + -DCLIENT_PLUGIN_MYSQL_OLD_PASSWORD=OFF + -DCLIENT_PLUGIN_SHA256_PASSWORD=${plugin_type} + # plugins/compress + -DCLIENT_PLUGIN_ZSTD=${zstd_plugin_type} + # don't add system include dirs -DAUTH_GSSAPI_PLUGIN_TYPE=OFF - -DWITH_ZSTD=${WITH_ZSTD} + -DREMOTEIO_PLUGIN_TYPE=OFF MAYBE_UNUSED_VARIABLES AUTH_GSSAPI_PLUGIN_TYPE + CLIENT_PLUGIN_AUTH_GSSAPI_CLIENT + CLIENT_PLUGIN_PARSEC + CLIENT_PLUGIN_ZSTD ) vcpkg_cmake_install() - vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-libmariadb) +vcpkg_fixup_pkgconfig() +set(link_lib " -lmariadb") if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libmariadb.pc" " -lmariadb" " -llibmariadb") - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libmariadb.pc" " -lmariadb" " -llibmariadb") + set(link_lib " -llibmariadb") +endif() +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + string(APPEND link_lib "client") +endif() +if(NOT link_lib STREQUAL " -lmariadb") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libmariadb.pc" " -lmariadb" "${link_lib}") + if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libmariadb.pc" " -lmariadb" "${link_lib}") endif() endif() -vcpkg_fixup_pkgconfig() - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL "${SOURCE_PATH}/COPYING.LIB" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING.LIB") diff --git a/ports/libmariadb/ushort-check.diff b/ports/libmariadb/ushort-check.diff new file mode 100644 index 00000000000000..bb3431c00453ca --- /dev/null +++ b/ports/libmariadb/ushort-check.diff @@ -0,0 +1,13 @@ +diff --git a/cmake/check_types.cmake b/cmake/check_types.cmake +index 3ecedb1..3aaba29 100644 +--- a/cmake/check_types.cmake ++++ b/cmake/check_types.cmake +@@ -21,7 +21,7 @@ SET(CMAKE_EXTRA_INCLUDE_FILES stdio.h) + CHECK_TYPE_SIZE(size_t SIZEOF_SIZE_T) + SET(CMAKE_EXTRA_INCLUDE_FILES sys/types.h) + CHECK_TYPE_SIZE(uint SIZEOF_UINT) +-CHECK_TYPE_SIZE(uint SIZEOF_USHORT) ++CHECK_TYPE_SIZE(ushort SIZEOF_USHORT) + CHECK_TYPE_SIZE(ulong SIZEOF_ULONG) + CHECK_TYPE_SIZE(int8 SIZEOF_INT8) + CHECK_TYPE_SIZE(uint8 SIZEOF_UINT8) diff --git a/ports/libmariadb/vcpkg.json b/ports/libmariadb/vcpkg.json index cd4b708c86aa1f..83d92de6093719 100644 --- a/ports/libmariadb/vcpkg.json +++ b/ports/libmariadb/vcpkg.json @@ -1,12 +1,19 @@ { "name": "libmariadb", - "version-semver": "3.3.1", - "port-version": 3, + "version-semver": "3.4.1", "description": "MariaDB Connector/C is used to connect C/C++ applications to MariaDB and MySQL databases", - "homepage": "https://github.com/MariaDB/mariadb-connector-c", + "homepage": "https://github.com/mariadb-corporation/mariadb-connector-c", "license": "LGPL-2.1-or-later", "supports": "!uwp & !xbox", "dependencies": [ + { + "name": "libmariadb", + "default-features": false, + "features": [ + "iconv" + ], + "platform": "windows" + }, { "name": "vcpkg-cmake", "host": true @@ -24,12 +31,12 @@ "iconv": { "description": "Enables character set conversion", "dependencies": [ - "libiconv" + { + "name": "libiconv", + "platform": "!windows" + } ] }, - "mariadbclient": { - "description": "Build the static mariadbclient library" - }, "openssl": { "description": "SSL support (OpenSSL)", "dependencies": [ @@ -38,7 +45,7 @@ }, "schannel": { "description": "SSL support (Secure Channel)", - "supports": "windows | mingw" + "supports": "windows" }, "ssl": { "description": "Default SSL backend", @@ -49,7 +56,7 @@ "features": [ "schannel" ], - "platform": "windows | mingw" + "platform": "windows" }, { "name": "libmariadb", @@ -57,13 +64,10 @@ "features": [ "openssl" ], - "platform": "!windows & !mingw" + "platform": "!windows" } ] }, - "zlib": { - "description": "Obsolete. zlib is always used. This feature is left for compatibility." - }, "zstd": { "description": "Build zstd compression plugin.", "dependencies": [ diff --git a/ports/libmariadb/zstd.patch b/ports/libmariadb/zstd.patch deleted file mode 100644 index 26c1adb78e8541..00000000000000 --- a/ports/libmariadb/zstd.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/plugins/compress/CMakeLists.txt b/plugins/compress/CMakeLists.txt -index f6dab85..0bbdf47 100644 ---- a/plugins/compress/CMakeLists.txt -+++ b/plugins/compress/CMakeLists.txt -@@ -12,7 +12,7 @@ REGISTER_PLUGIN(TARGET zlib - SOURCES ${COMPRESS_PLUGIN_DIR}/c_zlib.c) - - #zstd compression --IF(${ZSTD_FOUND}) -+IF(${WITH_ZSTD}) - INCLUDE_DIRECTORIES(${ZSTD_INCLUDE_DIRS}) - REGISTER_PLUGIN(TARGET zstd - TYPE MARIADB_CLIENT_COMPRESSION_PLUGIN diff --git a/ports/libmaxminddb/CMakeLists.txt b/ports/libmaxminddb/CMakeLists.txt deleted file mode 100644 index c46c6319be1d05..00000000000000 --- a/ports/libmaxminddb/CMakeLists.txt +++ /dev/null @@ -1,34 +0,0 @@ -cmake_minimum_required (VERSION 3.9) -project(maxminddb C) - -set(CMAKE_DEBUG_POSTFIX d) -set(CMAKE_SHARED_LIBRARY_PREFIX lib) -set(CMAKE_STATIC_LIBRARY_PREFIX lib) - -if(MSVC) - add_compile_options(-D_CRT_SECURE_NO_WARNINGS) -endif() - -set(SRCS - src/maxminddb.c - src/data-pool.c -) - -include_directories(. src include projects/VS12) - -add_library(maxminddb ${SRCS}) - -if(WIN32) - target_link_libraries(maxminddb ws2_32) -endif() - -install( - TARGETS maxminddb - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib -) - -if(NOT DISABLE_INSTALL_HEADERS) - install(FILES include/maxminddb.h projects/VS12/maxminddb_config.h DESTINATION include/maxminddb) -endif() diff --git a/ports/libmaxminddb/fix-linux-build.patch b/ports/libmaxminddb/fix-linux-build.patch deleted file mode 100644 index db35979e633618..00000000000000 --- a/ports/libmaxminddb/fix-linux-build.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff --git a/include/maxminddb.h b/include/maxminddb.h -index 4002ec6..65482c5 100644 ---- a/include/maxminddb.h -+++ b/include/maxminddb.h -@@ -24,11 +24,12 @@ extern "C" { - #include - #include - -+/* libmaxminddb package version from configure */ -+#define PACKAGE_VERSION "1.7.1" -+ - #ifdef _WIN32 - #include - #include --/* libmaxminddb package version from configure */ --#define PACKAGE_VERSION "1.7.1" - - typedef ADDRESS_FAMILY sa_family_t; - diff --git a/ports/libmaxminddb/portfile.cmake b/ports/libmaxminddb/portfile.cmake index 70a393c3999b83..3b8d7d07a49504 100644 --- a/ports/libmaxminddb/portfile.cmake +++ b/ports/libmaxminddb/portfile.cmake @@ -3,22 +3,26 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO maxmind/libmaxminddb - REF "${VERSION}" - SHA512 0a5caa267712310ef5de4c33e008d02dff76f8a9672e370719cd1d3e0f8de1146b9120991f5c2e34ed81a4ee011510dcc4b30051f6e23a6fd0634f50d35252ec - HEAD_REF master - PATCHES fix-linux-build.patch + REF "${VERSION}" + SHA512 52a34cf6d825884749695dfc2af90c4e333650cc83909f2bb83e16fc5ca43b92e0d08623434bbb7844212618f8e0ec0b793f8e648ba81ce4e3cb11faa875be71 + HEAD_REF main ) -file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") - vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTING=OFF + -DCMAKE_SHARED_LIBRARY_PREFIX=lib + -DCMAKE_STATIC_LIBRARY_PREFIX=lib OPTIONS_DEBUG - -DDISABLE_INSTALL_HEADERS=ON + -DCMAKE_DEBUG_POSTFIX=d ) - vcpkg_cmake_install() vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/maxminddb PACKAGE_NAME maxminddb) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + # Handle copyright -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) \ No newline at end of file +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/libmaxminddb/vcpkg.json b/ports/libmaxminddb/vcpkg.json index 9fdd6d252a9018..630b94efa1c64a 100644 --- a/ports/libmaxminddb/vcpkg.json +++ b/ports/libmaxminddb/vcpkg.json @@ -1,12 +1,16 @@ { "name": "libmaxminddb", - "version": "1.7.1", + "version": "1.11.0", "description": "C library for the MaxMind DB file format", "homepage": "https://github.com/maxmind/libmaxminddb", "dependencies": [ { "name": "vcpkg-cmake", "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } ] } diff --git a/ports/libmediainfo/msvc-arm.diff b/ports/libmediainfo/msvc-arm.diff deleted file mode 100644 index c7bef0750090bc..00000000000000 --- a/ports/libmediainfo/msvc-arm.diff +++ /dev/null @@ -1,25 +0,0 @@ -diff --git a/Source/ThirdParty/aes-gladman/aesopt.h b/Source/ThirdParty/aes-gladman/aesopt.h -index d3ac0f9..eeefa40 100644 ---- a/Source/ThirdParty/aes-gladman/aesopt.h -+++ b/Source/ThirdParty/aes-gladman/aesopt.h -@@ -183,7 +183,7 @@ Issue Date: 20/12/2007 - AES_REV_DKS must NOT be defined when such assembler files are - built - */ --#if 1 && defined( _WIN64 ) && defined( _MSC_VER ) -+#if 1 && defined( _WIN64 ) && defined( _MSC_VER ) && defined( _M_AMD64 ) - # define INTEL_AES_POSSIBLE - #endif - -diff --git a/Source/ThirdParty/aes-gladman/brg_endian.h b/Source/ThirdParty/aes-gladman/brg_endian.h -index b44c5cb..6ba31c1 100644 ---- a/Source/ThirdParty/aes-gladman/brg_endian.h -+++ b/Source/ThirdParty/aes-gladman/brg_endian.h -@@ -101,6 +101,7 @@ Issue Date: 20/12/2007 - defined( __i386__ ) || defined( _M_I86 ) || defined( _M_IX86 ) || \ - defined( __OS2__ ) || defined( sun386 ) || defined( __TURBOC__ ) || \ - defined( vax ) || defined( vms ) || defined( VMS ) || \ -+ defined( _M_ARM64 ) || defined ( _M_ARM ) || \ - defined( __VMS ) || defined( _M_X64 ) - # define PLATFORM_BYTE_ORDER IS_LITTLE_ENDIAN - diff --git a/ports/libmediainfo/no-windows-namespace.diff b/ports/libmediainfo/no-windows-namespace.diff deleted file mode 100644 index 6f3918a8733df4..00000000000000 --- a/ports/libmediainfo/no-windows-namespace.diff +++ /dev/null @@ -1,56 +0,0 @@ -diff --git a/Source/MediaInfo/MediaInfo_Internal.cpp b/Source/MediaInfo/MediaInfo_Internal.cpp -index 05e0d53..1da1ef5 100644 ---- a/Source/MediaInfo/MediaInfo_Internal.cpp -+++ b/Source/MediaInfo/MediaInfo_Internal.cpp -@@ -66,12 +66,14 @@ - #if MEDIAINFO_ADVANCED && defined(MEDIAINFO_FILE_YES) - #include - #ifdef WINDOWS -- namespace WindowsNamespace -- { -+ #ifndef WIN32_LEAN_AND_MEAN -+ #define WIN32_LEAN_AND_MEAN -+ #endif -+ #ifndef NOMINMAX -+ #define NOMINMAX -+ #endif - #include - #undef Yield -- #undef max -- } - #else - #include - #include -@@ -973,7 +975,7 @@ static void CtrlC_Received() - } - - #ifdef WINDOWS --static WindowsNamespace::BOOL WINAPI SignalHandler(WindowsNamespace::DWORD SignalType) -+static BOOL WINAPI SignalHandler(DWORD SignalType) - { - if (SignalType==CTRL_C_EVENT) - { -@@ -986,12 +988,12 @@ static WindowsNamespace::BOOL WINAPI SignalHandler(WindowsNamespace::DWORD Signa - - static void CtrlC_Register() - { -- WindowsNamespace::SetConsoleCtrlHandler(SignalHandler, TRUE); -+ SetConsoleCtrlHandler(SignalHandler, TRUE); - } - - static void CtrlC_Unregister() - { -- WindowsNamespace::SetConsoleCtrlHandler(SignalHandler, FALSE); -+ SetConsoleCtrlHandler(SignalHandler, FALSE); - } - #else //WINDOWS - static void SignalHandler(int SignalType) -@@ -1445,7 +1447,7 @@ void MediaInfo_Internal::Entry() - } - - #ifdef WINDOWS -- WindowsNamespace::Sleep(0); -+ Sleep(0); - #elif defined(_POSIX_PRIORITY_SCHEDULING) - sched_yield(); - #endif //_POSIX_PRIORITY_SCHEDULING diff --git a/ports/libmediainfo/portfile.cmake b/ports/libmediainfo/portfile.cmake index 5493c35e33b636..bc730b27f80be0 100644 --- a/ports/libmediainfo/portfile.cmake +++ b/ports/libmediainfo/portfile.cmake @@ -3,12 +3,10 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO MediaArea/MediaInfoLib REF "v${MEDIAINFO_VERSION}" - SHA512 1407f5690415ccb7997cc9bcbe7d90980a52b1d06e543a446a0da8e4cb3f09ba8fcfbf6be80b043d7f76eeb2ba219242da1c34f3225e0f0bfe044b2394c0c3ae + SHA512 efcf796a679aa91e9003ecc655401d856ee9de3c01e03236f0ea09525d725fa7bb7fc0a1816d97482c7774c2209ec74420086775a59d6f4b5309107b22e67c31 HEAD_REF master PATCHES - msvc-arm.diff dependencies.diff - no-windows-namespace.diff ) vcpkg_find_acquire_program(PKGCONFIG) diff --git a/ports/libmediainfo/vcpkg.json b/ports/libmediainfo/vcpkg.json index 072cdd1dbd96ef..0f552b47bed924 100644 --- a/ports/libmediainfo/vcpkg.json +++ b/ports/libmediainfo/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libmediainfo", - "version": "23.10", + "version": "24.12", "description": "Get most relevant technical and tag data from video and audio files", "homepage": "https://github.com/MediaArea/MediaInfoLib", "dependencies": [ diff --git a/ports/libmem/0001-CMakeLists.patch b/ports/libmem/0001-CMakeLists.patch new file mode 100644 index 00000000000000..14a3cb2694f212 --- /dev/null +++ b/ports/libmem/0001-CMakeLists.patch @@ -0,0 +1,116 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 534057a..049805a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,6 +1,6 @@ + cmake_minimum_required(VERSION 3.22.1) + +-include(ExternalProject) ++set(CMAKE_CXX_STANDARD 17) + + project(libmem + LANGUAGES +@@ -49,6 +49,7 @@ message(STATUS + message(STATUS "CMAKE_C_FLAGS: ${CMAKE_C_FLAGS}") + message(STATUS "CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}") + ++if(0) + # External dependencies + set(EXTERNAL_DEPENDENCIES_DIR "${PROJECT_SOURCE_DIR}/external") + set(CAPSTONE_DIR "${EXTERNAL_DEPENDENCIES_DIR}/capstone") +@@ -67,6 +68,7 @@ add_library(keystone STATIC IMPORTED) + set_target_properties(keystone PROPERTIES IMPORTED_LOCATION ${KEYSTONE_IMPORT_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}keystone${CMAKE_STATIC_LIBRARY_SUFFIX}) + # End of external dependencies + ++endif() + set(LIBMEM_DIR "${PROJECT_SOURCE_DIR}") + set(LIBMEM_INC "${LIBMEM_DIR}/include") + set(INTERNAL_DIR "${LIBMEM_DIR}/internal") +@@ -89,24 +91,21 @@ elseif(${CMAKE_SYSTEM_NAME} STREQUAL FreeBSD) + endif() + file(GLOB LIBMEM_SRC ${LIBMEM_ARCH_SRC} "${LIBMEM_DIR}/src/freebsd/*.c" "${LIBMEM_DIR}/src/freebsd/ptrace/*.c" "${LIBMEM_DIR}/src/common/*.c" "${LIBMEM_DIR}/src/common/*.cpp" "${INTERNAL_DIR}/posixutils/*.c" "${INTERNAL_DIR}/elfutils/*.c" "${INTERNAL_DIR}/demangler/*.cpp") + endif() ++find_package(PkgConfig) ++pkg_check_modules(keystone REQUIRED keystone) ++find_package(capstone CONFIG REQUIRED) + set(LIBMEM_DEPS +- capstone +- keystone +- llvm ++ capstone::capstone ++ "${keystone_LINK_LIBRARIES}" + ) +- +-if (LIBMEM_BUILD_STATIC) +- add_library(libmem STATIC ${LIBMEM_SRC}) +-else() +- add_library(libmem SHARED ${LIBMEM_SRC}) +-endif() ++file(GLOB_RECURSE LLVM_DEM_SRC "${LIBMEM_DIR}/external/llvm/lib/*.cpp") ++add_library(libmem ${LIBMEM_SRC} ${LLVM_DEM_SRC}) + target_include_directories(libmem PRIVATE "${LIBMEM_DIR}/src" "${INTERNAL_DIR}" "${COMMON_DIR}") + + include_directories(${PROJECT_SOURCE_DIR} + ${LIBMEM_INC} +- ${CAPSTONE_INC} +- ${KEYSTONE_INC} +- ${LLVM_INC} ++ "${keystone_INCLUDE_DIRS}" ++ "${LIBMEM_DIR}/external/llvm/include" + ) + + if (LIBMEM_BUILD_TESTS) +@@ -116,10 +115,6 @@ endif() + + set_target_properties(libmem PROPERTIES POSITION_INDEPENDENT_CODE True INCLUDES ${LIBMEM_INC}) + target_compile_definitions(libmem PUBLIC LM_EXPORT) +-add_dependencies(libmem +- capstone-engine +- keystone-engine +-) + + if(${CMAKE_SYSTEM_NAME} STREQUAL Windows OR ${CMAKE_SYSTEM_NAME} STREQUAL CYGWIN) + set(LIBMEM_DEPS +@@ -152,7 +147,7 @@ else() + endif() + + target_link_libraries(libmem ${LIBMEM_DEPS}) +-if(LIBMEM_BUILD_STATIC) ++if(0) + # Create a bundled static library containing all dependencies (to mimic the shared library behavior) + set_target_properties(libmem PROPERTIES OUTPUT_NAME "libmem_partial") + set(libmem_bundle_files "$") +@@ -193,7 +188,7 @@ if(LIBMEM_BUILD_STATIC) + endif() + endif() + +-if(${CMAKE_SYSTEM_NAME} STREQUAL Windows OR ${CMAKE_SYSTEM_NAME} STREQUAL CYGWIN) ++if(0) + if(NOT ${CMAKE_SYSTEM_NAME} STREQUAL CYGWIN) + cmake_path(SET CMAKE_INSTALL_PREFIX "$ENV{ProgramFiles}") + else() +@@ -202,14 +197,17 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL Windows OR ${CMAKE_SYSTEM_NAME} STREQUAL CYGWIN + endif() + set(CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}/libmem") + execute_process(COMMAND mkdir "${CMAKE_INSTALL_PREFIX}") +-else() + set(CMAKE_INSTALL_PREFIX "/usr") + endif() + +-install(TARGETS libmem +- LIBRARY DESTINATION lib) +- +-install(TARGETS libmem +- RUNTIME DESTINATION lib) +- + install(DIRECTORY ${LIBMEM_INC}/libmem DESTINATION include) ++install(TARGETS libmem EXPORT libmem-target ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib ++ RUNTIME DESTINATION bin ++) ++install(EXPORT libmem-target NAMESPACE libmem:: DESTINATION "share/libmem") ++include(CMakePackageConfigHelpers) ++configure_file("${CMAKE_CURRENT_SOURCE_DIR}/libmem-config.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/libmem-config.cmake" @ONLY) ++write_basic_package_version_file("${CMAKE_CURRENT_BINARY_DIR}/libmem-config-version.cmake" VERSION 5.0.4 COMPATIBILITY SameMajorVersion) ++install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libmem-config.cmake" "${CMAKE_CURRENT_BINARY_DIR}/libmem-config-version.cmake" DESTINATION "share/libmem") diff --git a/ports/libmem/libmem-config.cmake.in b/ports/libmem/libmem-config.cmake.in new file mode 100644 index 00000000000000..708fa1ed0c65a3 --- /dev/null +++ b/ports/libmem/libmem-config.cmake.in @@ -0,0 +1,5 @@ +@PACKAGE_INIT@ +include(CMakeFindDependencyMacro) +find_dependency(capstone CONFIG) +include("${CMAKE_CURRENT_LIST_DIR}/libmem-target.cmake") +check_required_components(libmem) diff --git a/ports/libmem/portfile.cmake b/ports/libmem/portfile.cmake new file mode 100644 index 00000000000000..65c58dd5396a57 --- /dev/null +++ b/ports/libmem/portfile.cmake @@ -0,0 +1,22 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO rdbo/libmem + REF "${VERSION}" + SHA512 a3245fedb0447133a674dc39b3f9dc0bce86cb8ed775cb50bc3b58ee410632653cfc340d17c2ca0a914e51ade9b62f393e23feb5f3d0459b1a1a8ce690a0d025 + HEAD_REF master + PATCHES + 0001-CMakeLists.patch +) +file(REMOVE "${SOURCE_PATH}/PreLoad.cmake") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/libmem-config.cmake.in" DESTINATION "${SOURCE_PATH}") +vcpkg_find_acquire_program(PKGCONFIG) +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" +) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup() +vcpkg_copy_pdbs() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/libmem/vcpkg.json b/ports/libmem/vcpkg.json new file mode 100644 index 00000000000000..2e160634a714bb --- /dev/null +++ b/ports/libmem/vcpkg.json @@ -0,0 +1,24 @@ +{ + "name": "libmem", + "version": "5.0.4", + "description": "Advanced Game Hacking Library for C, Modern C++, Rust and Python (Windows/Linux/FreeBSD) (Process/Memory Hacking) (Hooking/Detouring) (Cross Platform) (x86/x64/ARM/ARM64) (DLL/SO Injection) (Internal/External) (Assembler/Disassembler)", + "homepage": "https://github.com/rdbo/libmem", + "license": "AGPL-3.0-only", + "supports": "(!xbox & windows) | ((linux | freebsd) & (x86 | x64))", + "dependencies": [ + "capstone", + "keystone", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + { + "name": "vcpkg-pkgconfig-get-modules", + "host": true + } + ] +} diff --git a/ports/libmicrohttpd/portfile.cmake b/ports/libmicrohttpd/portfile.cmake index f689d7ccfb5386..526a735b87c580 100644 --- a/ports/libmicrohttpd/portfile.cmake +++ b/ports/libmicrohttpd/portfile.cmake @@ -3,7 +3,7 @@ vcpkg_download_distfile(ARCHIVE "https://ftp.gnu.org/gnu/libmicrohttpd/libmicrohttpd-${VERSION}.tar.gz" "https://www.mirrorservice.org/sites/ftp.gnu.org/gnu/libmicrohttpd/libmicrohttpd-${VERSION}.tar.gz" FILENAME "libmicrohttpd-${VERSION}.tar.gz" - SHA512 001025c023dd94c4a0cf017ed575e65a577b5ce595e7e450346bfb75def77eaa8a4cfbeffb9f4b912e34165c2cfca147c02c895e067a4f6c5a321a12035758a5 + SHA512 c99b8b93cae5feee8debcc5667ee3ff043412a84b30696fe852e6c138f3c890bb43c8fcd7199f1d2f809d522fef159e83b607c743d6cf3401a57050fbdf9b5c1 ) vcpkg_extract_source_archive( diff --git a/ports/libmicrohttpd/vcpkg.json b/ports/libmicrohttpd/vcpkg.json index c47efff7bb8786..1c1b2ab4b77a3c 100644 --- a/ports/libmicrohttpd/vcpkg.json +++ b/ports/libmicrohttpd/vcpkg.json @@ -1,7 +1,7 @@ { "name": "libmicrohttpd", - "version": "0.9.77", - "port-version": 2, + "version": "1.0.1", + "port-version": 1, "description": "GNU libmicrohttpd is a small C library that is supposed to make it easy to run an HTTP server as part of another application", "homepage": "https://www.gnu.org/software/libmicrohttpd/", "license": "LGPL-2.1-or-later", @@ -14,7 +14,7 @@ { "name": "vcpkg-msbuild", "host": true, - "platform": "windows" + "platform": "windows & !mingw" } ], "features": { diff --git a/ports/libmidi2/portfile.cmake b/ports/libmidi2/portfile.cmake new file mode 100644 index 00000000000000..6f05d1956f8dc6 --- /dev/null +++ b/ports/libmidi2/portfile.cmake @@ -0,0 +1,21 @@ + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO midi2-dev/AM_MIDI2.0Lib + REF "v${VERSION}" + SHA512 f7d7449f97a1dcfac36664cfca19818658233ced2c8c8960304d3a64f42f900eed478e33b13f99c6b5ec9eadbc037e2809626b3d63a425785ed78c3e66ee1391 + HEAD_REF main +) + +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + +vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}") +vcpkg_cmake_install() +vcpkg_cmake_config_fixup() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") + diff --git a/ports/libmidi2/vcpkg.json b/ports/libmidi2/vcpkg.json new file mode 100644 index 00000000000000..5c6b7b4c5f674a --- /dev/null +++ b/ports/libmidi2/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "libmidi2", + "version": "0.13", + "description": "General purpose Midi 2 library for bytestream conversions and midi-ci", + "homepage": "https://github.com/midi2-dev/AM_MIDI2.0Lib", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/libmikmod/find-openal.patch b/ports/libmikmod/find-openal.patch new file mode 100644 index 00000000000000..90a3c2b8bfd552 --- /dev/null +++ b/ports/libmikmod/find-openal.patch @@ -0,0 +1,25 @@ +From 505d9ebf6ad31d4f28ca0fbab6cf299a88d08036 Mon Sep 17 00:00:00 2001 +From: dpogue +Date: Sun, 24 Nov 2024 22:37:46 -0800 +Subject: [PATCH] Use find_package for OpenAL + +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 53a174e..0be2166 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -799,7 +799,7 @@ ELSE() + ENDIF(ENABLE_SDL) + + IF (ENABLE_OPENAL) +- include(FindOpenAL) ++ find_package(OpenAL CONFIG) + IF (OPENAL_FOUND) + SET (DRV_OPENAL 1) + CHECK_MULTI_INCLUDE_FILES("AL/al.h" "AL/alc.h") +-- +2.45.2.windows.1 + diff --git a/ports/libmikmod/portfile.cmake b/ports/libmikmod/portfile.cmake index 3959bb463d3a8f..f5fe3f8c22f4ca 100644 --- a/ports/libmikmod/portfile.cmake +++ b/ports/libmikmod/portfile.cmake @@ -7,6 +7,7 @@ vcpkg_from_sourceforge( PATCHES fix-missing-dll.patch name_conflict.patch + find-openal.patch ) if(VCPKG_LIBRARY_LINKAGE STREQUAL static) diff --git a/ports/libmikmod/vcpkg.json b/ports/libmikmod/vcpkg.json index 03bf5c26399a0b..0641637961e685 100644 --- a/ports/libmikmod/vcpkg.json +++ b/ports/libmikmod/vcpkg.json @@ -1,7 +1,7 @@ { "name": "libmikmod", "version": "3.3.11.1", - "port-version": 12, + "port-version": 13, "description": "Mikmod is a module player and library supporting many formats, including mod, s3m, it, and xm.", "homepage": "https://sourceforge.net/projects/mikmod/", "license": "LGPL-2.1-or-later", diff --git a/ports/libmodplug/004-export-pkgconfig.patch b/ports/libmodplug/004-export-pkgconfig.patch index eb59ca111b1246..97509b5c39477e 100644 --- a/ports/libmodplug/004-export-pkgconfig.patch +++ b/ports/libmodplug/004-export-pkgconfig.patch @@ -1,18 +1,14 @@ -From 6a3e539ea26eec1bfc2a6e722e923bd5221f8d26 Mon Sep 17 00:00:00 2001 -From: "Matthias C. M. Troffaes" -Date: Thu, 8 Jul 2021 10:47:30 +0100 -Subject: [PATCH] Fix Libs.private in .pc file. - ---- - CMakeLists.txt | 7 +++++-- - libmodplug.pc.in | 2 +- - 2 files changed, 6 insertions(+), 3 deletions(-) - diff --git a/CMakeLists.txt b/CMakeLists.txt -index 468f1a3..3164fc6 100644 +index 2ada51b..a0a28d5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -141,7 +141,11 @@ if(HAVE_SINF) +@@ -1,4 +1,4 @@ +-cmake_minimum_required(VERSION 2.8.0) ++cmake_minimum_required(VERSION 3.5) + + project(libmodplug) + add_definitions(-DMODPLUG_BUILD) +@@ -131,7 +131,24 @@ if(HAVE_SINF) add_definitions(-DHAVE_SINF) endif(HAVE_SINF) @@ -20,12 +16,25 @@ index 468f1a3..3164fc6 100644 +if(WIN32) + set(LIBS_PRIVATE "-luser32") +else(WIN32) -+ set(LIBS_PRIVATE "-lstdc++ -lm") ++ set(FAKE_CXX_LINKAGE "") ++ foreach(lib IN LISTS CMAKE_CXX_IMPLICIT_LINK_LIBRARIES) ++ if(lib IN_LIST CMAKE_C_IMPLICIT_LINK_LIBRARIES) ++ continue() ++ elseif(EXISTS "${lib}") ++ string(APPEND FAKE_CXX_LINKAGE " ${CMAKE_LINK_LIBRARY_FILE_FLAG}${lib}") ++ else() ++ string(APPEND FAKE_CXX_LINKAGE " ${CMAKE_LINK_LIBRARY_FLAG}${lib}") ++ endif() ++ endforeach() ++ set(LIBS_PRIVATE " ${FAKE_CXX_LINKAGE} ") ++ if(NOT LIBS_PRIVATE MATCHES " -lm ") ++ string(APPEND LIBS_PRIVATE "-lm") ++ endif() +endif(WIN32) set(prefix "${CMAKE_INSTALL_PREFIX}") set(exec_prefix "${CMAKE_INSTALL_PREFIX}") set(libdir "${CMAKE_INSTALL_PREFIX}/lib") -@@ -152,4 +156,3 @@ if (NOT WIN32) +@@ -142,4 +159,3 @@ if (NOT WIN32) install(FILES "${PROJECT_BINARY_DIR}/libmodplug.pc" DESTINATION lib/pkgconfig ) @@ -41,6 +50,3 @@ index bbf05f9..e4a43cc 100644 -Libs.private: -lstdc++ -lm +Libs.private: @LIBS_PRIVATE@ Cflags: -I${includedir} --- -2.21.0.windows.1 - diff --git a/ports/libmodplug/portfile.cmake b/ports/libmodplug/portfile.cmake index f7c08c5302ed67..5afdcc4ede1770 100644 --- a/ports/libmodplug/portfile.cmake +++ b/ports/libmodplug/portfile.cmake @@ -13,15 +13,11 @@ vcpkg_from_github( ${STATIC_PATCH} 002-detect_sinf.patch 003-use-static-cast-for-ctype.patch - 004-export-pkgconfig.patch # https://github.com/Konstanty/libmodplug/pull/59 + 004-export-pkgconfig.patch 005-fix-install-paths.patch # https://github.com/Konstanty/libmodplug/pull/61 ) -set(EXTRA_OPTIONS) - -if(VCPKG_TARGET_IS_EMSCRIPTEN) - list(APPEND EXTRA_OPTIONS "-DCMAKE_CXX_STANDARD=11") -endif() +set(EXTRA_OPTIONS "-DCMAKE_CXX_STANDARD=11") vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" diff --git a/ports/libmodplug/vcpkg.json b/ports/libmodplug/vcpkg.json index fbb20260551897..3263fff7f7a94e 100644 --- a/ports/libmodplug/vcpkg.json +++ b/ports/libmodplug/vcpkg.json @@ -1,7 +1,7 @@ { "name": "libmodplug", "version": "0.8.9.0", - "port-version": 11, + "port-version": 14, "description": "The ModPlug mod file playing library.", "homepage": "https://github.com/Konstanty/libmodplug", "license": null, diff --git a/ports/libmount/hide-private-symbols.diff b/ports/libmount/hide-private-symbols.diff new file mode 100644 index 00000000000000..6527be02b4e188 --- /dev/null +++ b/ports/libmount/hide-private-symbols.diff @@ -0,0 +1,15 @@ +diff --git a/include/strutils.h b/include/strutils.h +index e9f8a0c..2f6d285 100644 +--- a/include/strutils.h ++++ b/include/strutils.h +@@ -16,6 +16,10 @@ + + #include "c.h" + ++// private, and clashing with libsystemd. ++#define parse_size ul__parse_size ++#define parse_range ul__parse_range ++ + /* initialize a custom exit code for all *_or_err functions */ + extern void strutils_set_exitcode(int exit_code); + diff --git a/ports/libmount/portfile.cmake b/ports/libmount/portfile.cmake index 30f90c0009c33a..6c607d2d23f81b 100644 --- a/ports/libmount/portfile.cmake +++ b/ports/libmount/portfile.cmake @@ -1,41 +1,52 @@ -set(VERSION_MAJOR 2) -set(VERSION_MINOR 38) -set(VERSION ${VERSION_MAJOR}.${VERSION_MINOR}) - vcpkg_download_distfile(ARCHIVE - URLS "https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v${VERSION_MAJOR}.${VERSION_MINOR}/util-linux-${VERSION}.tar.xz" + URLS "https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v${VERSION}/util-linux-${VERSION}.tar.xz" FILENAME "util-linux-${VERSION}.tar.xz" - SHA512 d0f7888f457592067938e216695871ce6475a45d83a092cc3fd72b8cf8fca145ca5f3a99122f1744ef60b4f773055cf4e178dc6c59cd30837172aee0b5597e8c + SHA512 f06e61d4ee0e196223f7341ec75a16a6671f82d6e353823490ecff17e947bb169a6b65177e3ab0da6e733e079b24d6a77905a0e8bbfed82ca9aa22a3facb6180 ) vcpkg_extract_source_archive( SOURCE_PATH ARCHIVE "${ARCHIVE}" SOURCE_BASE ${VERSION} + PATCHES + hide-private-symbols.diff ) set(ENV{GTKDOCIZE} true) +vcpkg_list(SET options) +if("nls" IN_LIST FEATURES) + vcpkg_list(APPEND options "--enable-nls") +else() + set(ENV{AUTOPOINT} true) # true, the program + vcpkg_list(APPEND options "--disable-nls") +endif() + vcpkg_configure_make( AUTOCONFIG SOURCE_PATH "${SOURCE_PATH}" OPTIONS + ${options} --disable-asciidoc --disable-all-programs + --disable-dependency-tracking --enable-libmount --enable-libblkid + "--mandir=${CURRENT_PACKAGES_DIR}/share/man" ) vcpkg_install_make() vcpkg_fixup_pkgconfig() -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/sbin" "${CURRENT_PACKAGES_DIR}/debug/sbin") -endif() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/tools") # empty folder +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/bin" + "${CURRENT_PACKAGES_DIR}/debug/sbin" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/bin" + "${CURRENT_PACKAGES_DIR}/sbin" + "${CURRENT_PACKAGES_DIR}/share" + "${CURRENT_PACKAGES_DIR}/tools" +) -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/README.licensing" "${SOURCE_PATH}/COPYING") diff --git a/ports/libmount/vcpkg.json b/ports/libmount/vcpkg.json index 559b0169eaf8b4..de5c885e1affd3 100644 --- a/ports/libmount/vcpkg.json +++ b/ports/libmount/vcpkg.json @@ -1,9 +1,23 @@ { "name": "libmount", - "version": "2.38", - "port-version": 2, + "version": "2.40", "description": "Block device identification library from util-linux", "homepage": "https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git/about/", - "license": "GPL-2.0-only", - "supports": "linux" + "license": null, + "supports": "linux", + "features": { + "nls": { + "description": "Enable native language support", + "dependencies": [ + { + "name": "gettext", + "host": true, + "features": [ + "tools" + ] + }, + "gettext-libintl" + ] + } + } } diff --git a/ports/libmt32emu/portfile.cmake b/ports/libmt32emu/portfile.cmake index a7fc0a2c6289e6..5741c5ecca4466 100644 --- a/ports/libmt32emu/portfile.cmake +++ b/ports/libmt32emu/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO munt/munt - REF 08aba2f0018f4e7c2af855c268a97b8b84f8dc06 #vlibmt32emu_2_7_0 - SHA512 ef277767c6c18b1aa341b2e2cdac04c27bc19ef0aa2f1e0a4125c92128f64d5938eab53cf1d6bf2f9abaa5a59d14873e91e1518878165af48ac6b93c3e208aa5 + REF libmt32emu_2_7_1 + SHA512 369d1c5f16b37f3d8544ad30a30c3aa9d0796f67fcf5988e789958bff14bba119f7c5fd4c43816eb369a14b56f22f0c7eb3016ff838cd36d1d6f22ed84a2e8b9 HEAD_REF master ) diff --git a/ports/libmt32emu/vcpkg.json b/ports/libmt32emu/vcpkg.json index 45be996b263caa..ae3ea2bf0d13a5 100644 --- a/ports/libmt32emu/vcpkg.json +++ b/ports/libmt32emu/vcpkg.json @@ -1,8 +1,8 @@ { "name": "libmt32emu", - "version": "2.7.0", + "version": "2.7.1", "description": "A MT-32 emulator", - "homepage": "https://github.com/munt/munt/tree/master/mt32emu", + "homepage": "https://github.com/munt/munt", "license": "GPL-2.0-or-later", "dependencies": [ { diff --git a/ports/libmupdf/dont-generate-extract-3rd-party-things.patch b/ports/libmupdf/dont-generate-extract-3rd-party-things.patch index ec3cb4f890ad63..6ce589aa4ac825 100644 --- a/ports/libmupdf/dont-generate-extract-3rd-party-things.patch +++ b/ports/libmupdf/dont-generate-extract-3rd-party-things.patch @@ -1,6 +1,8 @@ +diff --git a/Makethird b/Makethird +index f9c7896..63799b1 100644 --- a/Makethird +++ b/Makethird -@@ -238,6 +238,7 @@ endif +@@ -253,6 +253,7 @@ endif # --- EXTRACT --- @@ -8,9 +10,11 @@ THIRD_CFLAGS += $(EXTRACT_CFLAGS) THIRD_LIBS += $(EXTRACT_LIBS) THIRD_SRC += $(EXTRACT_SRC) -@@ -268,3 +269,4 @@ thirdparty/extract/src/odt_template.c: thirdparty/extract/src/template.odt third - @touch $@ +@@ -283,6 +284,7 @@ thirdparty/extract/src/odt_template.c: thirdparty/extract/src/template.odt third + @touch $@ generate: thirdparty/extract/src/docx_template.c +endif - + + # --- LIBARCHIVE --- + diff --git a/ports/libmupdf/fix-NAN-on-Win11.patch b/ports/libmupdf/fix-NAN-on-Win11.patch new file mode 100644 index 00000000000000..399aee25d74e1a --- /dev/null +++ b/ports/libmupdf/fix-NAN-on-Win11.patch @@ -0,0 +1,22 @@ +diff --git a/source/fitz/geometry.c b/source/fitz/geometry.c +index 473d1dc..b02ab39 100644 +--- a/source/fitz/geometry.c ++++ b/source/fitz/geometry.c +@@ -29,6 +29,8 @@ + #define MAX4(a,b,c,d) fz_max(fz_max(a,b), fz_max(c,d)) + #define MIN4(a,b,c,d) fz_min(fz_min(a,b), fz_min(c,d)) + ++#define MY_NAN (0.0 / 0.0) ++ + /* A useful macro to add with overflow detection and clamping. + + We want to do "b = a + x", but to allow for overflow. Consider the +@@ -388,7 +390,7 @@ const fz_irect fz_invalid_irect = { 0, 0, -1, -1 }; + const fz_irect fz_unit_bbox = { 0, 0, 1, 1 }; + + const fz_quad fz_infinite_quad = { { -INFINITY, INFINITY}, {INFINITY, INFINITY}, {-INFINITY, -INFINITY}, {INFINITY, -INFINITY} }; +-const fz_quad fz_invalid_quad = { {NAN, NAN}, {NAN, NAN}, {NAN, NAN}, {NAN, NAN} }; ++const fz_quad fz_invalid_quad = { {MY_NAN, MY_NAN}, {MY_NAN, MY_NAN}, {MY_NAN, MY_NAN}, {MY_NAN, MY_NAN} }; + + fz_irect + fz_irect_from_rect(fz_rect r) diff --git a/ports/libmupdf/portfile.cmake b/ports/libmupdf/portfile.cmake index 1f9fbf4b23b907..fd5d31a8a9bf04 100644 --- a/ports/libmupdf/portfile.cmake +++ b/ports/libmupdf/portfile.cmake @@ -4,10 +4,11 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ArtifexSoftware/mupdf REF "${VERSION}" - SHA512 8109630f4dba31ff05458b69626c99ab36ddd47be42c03dd1f3962bf2be5d520be97a1c7e97a72307faa57a96c1ff50e8e3a593c519e47e5eb71897e7e373825 + SHA512 6d053b140a34061fcf5eb30f23f87e51dd8e80be29a3e505c42312c11198491102a79c2ca290f13971d25b9a286354ad44bd825593c076373c18f58bbc7b950e HEAD_REF master PATCHES dont-generate-extract-3rd-party-things.patch + fix-NAN-on-Win11.patch # https://github.com/ArtifexSoftware/mupdf/pull/54 ) file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") @@ -23,7 +24,7 @@ vcpkg_cmake_configure( DISABLE_PARALLEL_CONFIGURE OPTIONS -DBUILD_EXAMPLES=OFF - ${FEATURE_OPTIONS} + ${FEATURE_OPTIONS} ) vcpkg_cmake_install() @@ -32,4 +33,4 @@ file(COPY "${SOURCE_PATH}/include/mupdf" DESTINATION "${CURRENT_PACKAGES_DIR}/in vcpkg_copy_pdbs() -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/libmupdf/vcpkg.json b/ports/libmupdf/vcpkg.json index b3e9330bd1bd5a..236631d9f758e4 100644 --- a/ports/libmupdf/vcpkg.json +++ b/ports/libmupdf/vcpkg.json @@ -1,7 +1,6 @@ { "name": "libmupdf", - "version": "1.22.1", - "port-version": 1, + "version": "1.25.2", "description": "a lightweight PDF, XPS, and E-book library", "homepage": "https://github.com/ArtifexSoftware/mupdf", "license": "AGPL-3.0-only", diff --git a/ports/libmysofa/portfile.cmake b/ports/libmysofa/portfile.cmake new file mode 100644 index 00000000000000..f8ccce7a2d7ab2 --- /dev/null +++ b/ports/libmysofa/portfile.cmake @@ -0,0 +1,36 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO hoene/libmysofa + REF "1f9c8df42dfd6765e390ed8840341f15e1ab997b" + SHA512 67ce39d78981dc95cf190b1be4addceec4ecc7c2b14660da53a856be8fcff97a2f238343fccac2d042212e5a101eaf26fd12b78c86d0f6ce022bb79aa9815c67 + HEAD_REF "v${VERSION}" + PATCHES + use-vcpkg-zlib.patch +) + +# default.sofa is a symlink to MIT_KEMAR_normal_pinna.sofa, +# which can cause problems e.g. on Windows file systems. +if(EXISTS "${SOURCE_PATH}/share/default.sofa") + file(REMOVE "${SOURCE_PATH}/share/default.sofa") +endif() +file(COPY_FILE "${SOURCE_PATH}/share/MIT_KEMAR_normal_pinna.sofa" "${SOURCE_PATH}/share/default.sofa") + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTS=OFF + -DBUILD_STATIC_LIBS=${BUILD_STATIC} +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME mysofa CONFIG_PATH lib/cmake/mysofa) +vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/libmysofa/usage b/ports/libmysofa/usage new file mode 100644 index 00000000000000..e7cce3ad0e24a9 --- /dev/null +++ b/ports/libmysofa/usage @@ -0,0 +1,4 @@ +libmysofa provides CMake targets: + + find_package(mysofa CONFIG REQUIRED) + target_link_libraries(main PRIVATE $,mysofa::mysofa-shared,mysofa::mysofa-static>) diff --git a/ports/libmysofa/use-vcpkg-zlib.patch b/ports/libmysofa/use-vcpkg-zlib.patch new file mode 100644 index 00000000000000..06c2fbc1f705d5 --- /dev/null +++ b/ports/libmysofa/use-vcpkg-zlib.patch @@ -0,0 +1,82 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 018f4ce..90ec50d 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -13,21 +13,25 @@ use_c99() + configure_file(config.h.in config.h) + include_directories(${CMAKE_CURRENT_BINARY_DIR}) + ++find_package(ZLIB REQUIRED) ++ + if(NOT MSVC) + if(NOT WIN32) + find_library(MATH m) + else() + set(MATH "") + endif() +- include(FindZLIB) ++ #include(FindZLIB) + else() + set(MATH "") ++ #[[ + find_program(NUGET nuget) + if(NUGET) + execute_process(COMMAND ${NUGET} install zlib) + endif() + include_directories( + ${PROJECT_SOURCE_DIR}/windows/third-party/zlib-1.2.11/include/) ++ ]]# + endif() + + if(NOT MSVC) +@@ -36,12 +40,13 @@ if(NOT MSVC) + else() + set(MATH "") + endif() +- include(FindZLIB) +- include_directories(${ZLIB_INCLUDE_DIRS}) ++ #include(FindZLIB) ++ #include_directories(${ZLIB_INCLUDE_DIRS}) + set(PKG_CONFIG_PRIVATELIBS "-lm ${PKG_CONFIG_PRIVATELIBS}") + set(PKG_CONFIG_PRIVATELIBS "-lz ${PKG_CONFIG_PRIVATELIBS}") + else() + set(MATH "") ++ #[[ + find_program(NUGET nuget) + if(NOT NUGET) + message( +@@ -53,6 +58,7 @@ else() + endif() + include_directories( + ${PROJECT_SOURCE_DIR}/windows/third-party/zlib-1.2.11/include/) ++ ]]# + endif() + + set(libsrc +@@ -81,6 +87,8 @@ set(public-headers + hrtf/mysofa.h + ) + ++install(FILES "${public-headers}" DESTINATION include) ++ + if(BUILD_STATIC_LIBS) + add_library(mysofa-static STATIC ${libsrc}) + target_include_directories(mysofa-static +@@ -88,7 +96,7 @@ target_include_directories(mysofa-static + "$" + $ + ) +-target_link_libraries(mysofa-static LINK_PRIVATE ${MATH} ${ZLIB_LIBRARIES}) ++target_link_libraries(mysofa-static LINK_PRIVATE ${MATH} ZLIB::ZLIB) + set_target_properties( + mysofa-static + PROPERTIES OUTPUT_NAME mysofa CLEAN_DIRECT_OUTPUT 1 POSITION_INDEPENDENT_CODE +@@ -120,7 +128,7 @@ if(BUILD_SHARED_LIBS) + "$" + $ + ) +- target_link_libraries(mysofa-shared PRIVATE ${MATH} ${ZLIB_LIBRARIES}) ++ target_link_libraries(mysofa-shared PRIVATE ${MATH} ZLIB::ZLIB) + set_target_properties(mysofa-shared + PROPERTIES OUTPUT_NAME mysofa CLEAN_DIRECT_OUTPUT 1) + # Rename the Windows import library (stub) of the DLL to prevent a name clash diff --git a/ports/libmysofa/vcpkg.json b/ports/libmysofa/vcpkg.json new file mode 100644 index 00000000000000..3d6b7f28740099 --- /dev/null +++ b/ports/libmysofa/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "libmysofa", + "version": "1.3.2", + "description": "Reader for AES SOFA files to get better HRTFs (Head-Relative Transfer Functions)", + "homepage": "https://github.com/hoene/libmysofa", + "license": "BSD-3-Clause", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "zlib" + ] +} diff --git a/ports/libmysql/Add-target-include-directories.patch b/ports/libmysql/Add-target-include-directories.patch deleted file mode 100644 index 355ca5314e2669..00000000000000 --- a/ports/libmysql/Add-target-include-directories.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/cmake/libutils.cmake b/cmake/libutils.cmake -index ae13a63dfdc..b450b3c2e4c 100644 ---- a/cmake/libutils.cmake -+++ b/cmake/libutils.cmake -@@ -222,6 +222,7 @@ MACRO(MERGE_LIBRARIES_SHARED TARGET_ARG) - ADD_VERSION_INFO(${TARGET} SHARED SRC) - ENDIF() - ADD_LIBRARY(${TARGET} SHARED ${SRC}) -+ TARGET_INCLUDE_DIRECTORIES(${TARGET} INTERFACE $) - - IF(ARG_EXCLUDE_FROM_ALL) - IF(NOT ARG_SKIP_INSTALL) -@@ -361,6 +362,7 @@ MACRO(MERGE_CONVENIENCE_LIBRARIES TARGET_ARG) - CONFIGURE_FILE_CONTENT("${SOURCE_FILE_CONTENT}" "${SOURCE_FILE}") - - ADD_LIBRARY(${TARGET} STATIC ${SOURCE_FILE}) -+ TARGET_INCLUDE_DIRECTORIES(${TARGET} INTERFACE $) - MY_CHECK_CXX_COMPILER_WARNING("-Wmissing-profile" HAS_MISSING_PROFILE) - IF(FPROFILE_USE AND HAS_MISSING_PROFILE) - ADD_COMPILE_FLAGS(${SOURCE_FILE} COMPILE_FLAGS ${HAS_MISSING_PROFILE}) diff --git a/ports/libmysql/cross-build.patch b/ports/libmysql/cross-build.patch new file mode 100644 index 00000000000000..a91118b4f851e8 --- /dev/null +++ b/ports/libmysql/cross-build.patch @@ -0,0 +1,162 @@ +diff --git a/cmake/os/Darwin.cmake b/cmake/os/Darwin.cmake +index 725b9bd..289bb3d 100644 +--- a/cmake/os/Darwin.cmake ++++ b/cmake/os/Darwin.cmake +@@ -31,13 +31,9 @@ ENDIF() + # We require at least XCode 10.0 + IF(NOT FORCE_UNSUPPORTED_COMPILER) + IF(MY_COMPILER_IS_CLANG) +- CHECK_C_SOURCE_RUNS(" +- int main() +- { +- return (__clang_major__ < 10); +- }" HAVE_SUPPORTED_CLANG_VERSION) +- IF(NOT HAVE_SUPPORTED_CLANG_VERSION) +- MESSAGE(FATAL_ERROR "XCode 10.0 or newer is required!") ++ IF (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 10) ++ MESSAGE(FATAL_ERROR ++ "XCode 10.0 or newer is required! Compiler version was ${CMAKE_CXX_COMPILER_VERSION}") + ENDIF() + ELSE() + MESSAGE(FATAL_ERROR "Unsupported compiler!") +diff --git a/libmysql/CMakeLists.txt b/libmysql/CMakeLists.txt +index 8e22453..2b63413 100644 +--- a/libmysql/CMakeLists.txt ++++ b/libmysql/CMakeLists.txt +@@ -259,6 +259,7 @@ ELSEIF(FREEBSD) + MESSAGE(STATUS "BSD built in DNS SRV APIs") + ELSE() + FIND_LIBRARY(RESOLV_LIBRARY NAMES resolv) ++ FIND_LIBRARY(RESOLV_LIBRARY NAMES resolv PATHS ${CMAKE_C_IMPLICIT_LINK_DIRECTORIES} NO_DEFAULT_PATH) + IF (RESOLV_LIBRARY) + LIST(APPEND LIBS_TO_LINK ${RESOLV_LIBRARY}) + SET(HAVE_UNIX_DNS_SRV 1 PARENT_SCOPE) +@@ -413,6 +414,7 @@ MYSQL_ADD_EXECUTABLE(libmysql_api_test + ${CMAKE_CURRENT_BINARY_DIR}/api_test.c + LINK_LIBRARIES libmysql ${LIBRT} + SKIP_INSTALL ++ EXCLUDE_FROM_ALL + ) + # Clang/UBSAN needs this on some platforms. + SET_TARGET_PROPERTIES(libmysql_api_test PROPERTIES LINKER_LANGUAGE CXX) +@@ -439,6 +441,6 @@ ADD_CUSTOM_COMMAND( + COMMAND libmysql_api_test + > ${CMAKE_CURRENT_BINARY_DIR}/libmysql_api_test.out + ) +-MY_ADD_CUSTOM_TARGET(run_libmysql_api_test ALL ++MY_ADD_CUSTOM_TARGET(run_libmysql_api_test + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/libmysql_api_test.out + ) +diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt +index 8e93387..d971acb 100644 +--- a/scripts/CMakeLists.txt ++++ b/scripts/CMakeLists.txt +@@ -69,7 +69,6 @@ ADD_CUSTOM_COMMAND( + + # Add target for the above to be built + MY_ADD_CUSTOM_TARGET(GenFixPrivs +- ALL + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/mysql_fix_privilege_tables_sql.h + ) + +diff --git a/scripts/sys_schema/CMakeLists.txt b/scripts/sys_schema/CMakeLists.txt +index aaba357..a0e5265 100644 +--- a/scripts/sys_schema/CMakeLists.txt ++++ b/scripts/sys_schema/CMakeLists.txt +@@ -221,7 +221,6 @@ MY_ADD_CUSTOM_TARGET(sql_commands + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/sql_commands.h) + + MY_ADD_CUSTOM_TARGET(GenSysSchemaC +- ALL + DEPENDS comp_sql sql_commands + COMMENT "Generating Sys Schema C code" + ) +diff --git a/share/CMakeLists.txt b/share/CMakeLists.txt +index 28cde40..be916cb 100644 +--- a/share/CMakeLists.txt ++++ b/share/CMakeLists.txt +@@ -47,8 +47,12 @@ SET(dirs + ukrainian + ) + +-FOREACH (dir ${dirs}) +- INSTALL(DIRECTORY ${CMAKE_BINARY_DIR}/${INSTALL_MYSQLSHAREDIR}/${dir} ++ set(src_dir ${CMAKE_BINARY_DIR}/share/libmysql) ++ if(CMAKE_CROSSCOMPILING) ++ set(src_dir ${VCPKG_INSTALLED_DIR}/${VCPKG_HOST_TRIPLET}/share/libmysql) ++ endif() ++ FOREACH (dir ${dirs}) ++ INSTALL(DIRECTORY ${src_dir}/${dir} + DESTINATION ${INSTALL_MYSQLSHAREDIR} + COMPONENT Server + ) +diff --git a/strings/CMakeLists.txt b/strings/CMakeLists.txt +index 665b35d..88f0743 100644 +--- a/strings/CMakeLists.txt ++++ b/strings/CMakeLists.txt +@@ -69,6 +69,13 @@ SET(ZH_HANS_SRC_FILE ${CMAKE_SOURCE_DIR}/strings/lang_data/zh_hans.txt) + SET(ZH_HANS_DST_FILE ${CMAKE_BINARY_DIR}/strings/uca900_zh_tbls.cc) + SET(JA_HANS_SRC_FILE ${CMAKE_SOURCE_DIR}/strings/lang_data/ja_hans.txt) + SET(JA_HANS_DST_FILE ${CMAKE_BINARY_DIR}/strings/uca900_ja_tbls.cc) ++if(CMAKE_CROSSCOMPILING) ++ file(COPY ++ "${VCPKG_INSTALLED_DIR}/${VCPKG_HOST_TRIPLET}/share/libmysql/${PROJECT_VERSION}/uca900_zh_tbls.cc" ++ "${VCPKG_INSTALLED_DIR}/${VCPKG_HOST_TRIPLET}/share/libmysql/${PROJECT_VERSION}/uca900_ja_tbls.cc" ++ DESTINATION "${CMAKE_BINARY_DIR}/strings" ++ ) ++else() + ADD_CUSTOM_COMMAND(OUTPUT ${ZH_HANS_DST_FILE} + ${JA_HANS_DST_FILE} + COMMAND uca9dump zh +@@ -79,6 +86,8 @@ ADD_CUSTOM_COMMAND(OUTPUT ${ZH_HANS_DST_FILE} + --out_file=${JA_HANS_DST_FILE} + DEPENDS uca9dump ${ZH_HANS_SRC_FILE} ${JA_HANS_SRC_FILE} + ) ++install(FILES "${ZH_HANS_DST_FILE}" "${JA_HANS_DST_FILE}" DESTINATION "share/libmysql/${PROJECT_VERSION}") ++endif() + + SET_SOURCE_FILES_PROPERTIES( + ${JA_HANS_DST_FILE} ${ZH_HANS_DST_FILE} +diff --git a/utilities/CMakeLists.txt b/utilities/CMakeLists.txt +index da34524..dc397da 100644 +--- a/utilities/CMakeLists.txt ++++ b/utilities/CMakeLists.txt +@@ -39,6 +39,21 @@ MYSQL_ADD_EXECUTABLE(comp_client_err + SKIP_INSTALL + ) + ++if(CMAKE_CROSSCOMPILING) ++ file(COPY ++ ${VCPKG_INSTALLED_DIR}/${VCPKG_HOST_TRIPLET}/include/mysql/mysqld_error.h ++ ${VCPKG_INSTALLED_DIR}/${VCPKG_HOST_TRIPLET}/share/libmysql/${PROJECT_VERSION}/mysqlclient_ername.h ++ ${VCPKG_INSTALLED_DIR}/${VCPKG_HOST_TRIPLET}/share/libmysql/${PROJECT_VERSION}/mysqld_ername.h ++ ${VCPKG_INSTALLED_DIR}/${VCPKG_HOST_TRIPLET}/share/libmysql/${PROJECT_VERSION}/mysqld_errmsg.h ++ DESTINATION ${PROJECT_BINARY_DIR}/include ++ ) ++ file(COPY ++ ${VCPKG_INSTALLED_DIR}/${VCPKG_HOST_TRIPLET}/share/libmysql/${PROJECT_VERSION}/errmsg.sys ++ DESTINATION ${PROJECT_BINARY_DIR}/share/libmysql/english ++ ) ++ add_custom_target(GenClientError) ++ add_custom_target(GenError) ++else() + ADD_CUSTOM_COMMAND(OUTPUT ${PROJECT_BINARY_DIR}/include/mysqlclient_ername.h + COMMAND comp_client_err + --in_file=${PROJECT_SOURCE_DIR}/include/errmsg.h +@@ -97,6 +112,16 @@ MYSQL_ADD_EXECUTABLE(range_check_err + SKIP_INSTALL + ) + ++ install( ++ FILES ++ ${PROJECT_BINARY_DIR}/include/mysqlclient_ername.h ++ ${PROJECT_BINARY_DIR}/include/mysqld_ername.h ++ ${PROJECT_BINARY_DIR}/include/mysqld_errmsg.h ++ ${PROJECT_BINARY_DIR}/share/libmysql/english/errmsg.sys ++ DESTINATION share/libmysql/${PROJECT_VERSION} ++ ) ++endif() ++ + # Set InnoDB mutex type + ADD_DEFINITIONS(-DMUTEX_EVENT) + diff --git a/ports/libmysql/dependencies.patch b/ports/libmysql/dependencies.patch new file mode 100644 index 00000000000000..0129d71e9741fe --- /dev/null +++ b/ports/libmysql/dependencies.patch @@ -0,0 +1,140 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e17ec1d0..465e42f0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -818,8 +818,12 @@ INCLUDE(fileutils) + INCLUDE(zlib) + INCLUDE(zstd) + INCLUDE(lz4) +-INCLUDE(icu) +-INCLUDE(libevent) ++macro(MYSQL_CHECK_ICU) ++endmacro() ++macro(MYSQL_CHECK_LIBEVENT) ++endmacro() ++macro(WARN_MISSING_SYSTEM_LIBEVENT) ++endmacro() + INCLUDE(ssl) + INCLUDE(sasl) + INCLUDE(ldap) +@@ -837,7 +841,8 @@ INCLUDE(curl) + INCLUDE(rapidjson) + INCLUDE(fprofile) + INCLUDE(gloves) +-INCLUDE(fido2) ++macro(MYSQL_CHECK_FIDO) ++endmacro() + INCLUDE(win_jemalloc) + + IF(UNIX) +@@ -1942,7 +1947,7 @@ MYSQL_CHECK_RAPIDJSON() + MYSQL_CHECK_FIDO() + MYSQL_CHECK_FIDO_DLLS() + +-IF(APPLE) ++IF(0) + GET_FILENAME_COMPONENT(HOMEBREW_BASE ${HOMEBREW_HOME} DIRECTORY) + IF(EXISTS ${HOMEBREW_BASE}/include/boost) + FOREACH(SYSTEM_LIB ICU LIBEVENT LZ4 PROTOBUF ZSTD FIDO) +diff --git a/cmake/boost.cmake b/cmake/boost.cmake +index c979055c..53e55fcf 100644 +--- a/cmake/boost.cmake ++++ b/cmake/boost.cmake +@@ -301,7 +301,7 @@ IF(NOT BOOST_MAJOR_VERSION EQUAL 10) + COULD_NOT_FIND_BOOST() + ENDIF() + +-IF(NOT BOOST_MINOR_VERSION EQUAL 77) ++IF(NOT BOOST_MINOR_VERSION EQUAL 77 AND NOT IGNORE_BOOST_VERSION) + MESSAGE(WARNING "Boost minor version found is ${BOOST_MINOR_VERSION} " + "we need 77" + ) +diff --git a/cmake/libutils.cmake b/cmake/libutils.cmake +index 7107f4bd..bb7f3733 100644 +--- a/cmake/libutils.cmake ++++ b/cmake/libutils.cmake +@@ -534,7 +534,7 @@ MACRO(MERGE_CONVENIENCE_LIBRARIES TARGET_ARG) + + # On Windows, ssleay32.lib/libeay32.lib or libssl.lib/libcrypto.lib + # must be merged into mysqlclient.lib +- IF(WIN32 AND ${TARGET} STREQUAL "mysqlclient") ++ IF(0) + SET(LINKER_EXTRA_FLAGS "") + FOREACH(LIB ${SSL_LIBRARIES}) + STRING_APPEND(LINKER_EXTRA_FLAGS " ${LIB}") +diff --git a/cmake/lz4.cmake b/cmake/lz4.cmake +index 10e7e8c8..48772329 100644 +--- a/cmake/lz4.cmake ++++ b/cmake/lz4.cmake +@@ -46,7 +46,7 @@ FUNCTION(FIND_SYSTEM_LZ4) + FIND_PATH(LZ4_INCLUDE_DIR + NAMES lz4frame.h) + FIND_LIBRARY(LZ4_SYSTEM_LIBRARY +- NAMES lz4) ++ NAMES lz4d lz4 NAMES_PER_DIR) + IF (LZ4_INCLUDE_DIR AND LZ4_SYSTEM_LIBRARY) + SET(SYSTEM_LZ4_FOUND 1 CACHE INTERNAL "") + ADD_LIBRARY(lz4_interface INTERFACE) +diff --git a/cmake/ssl.cmake b/cmake/ssl.cmake +index 04e3af87..8ae52c82 100644 +--- a/cmake/ssl.cmake ++++ b/cmake/ssl.cmake +@@ -273,7 +273,18 @@ MACRO (MYSQL_CHECK_SSL) + FIND_ALTERNATIVE_SYSTEM_SSL() + ENDIF() + +- IF(WITH_SSL STREQUAL "system" OR WITH_SSL_PATH OR ALTERNATIVE_SYSTEM_SSL) ++ IF(WITH_SSL STREQUAL "system") ++ find_package(OpenSSL REQUIRED) ++ set(OPENSSL_LIBRARY OpenSSL::SSL CACHE STRING "") ++ set(CRYPTO_LIBRARY OpenSSL::Crypto CACHE STRING "") ++ find_program(OPENSSL_EXECUTABLE openssl ++ DOC "path to the openssl executable") ++ set(SSL_DEFINES "-DHAVE_OPENSSL") ++ add_library(ext::openssl ALIAS OpenSSL::SSL) ++ set(SSL_LIBRARIES ext::openssl) ++ set(OPENSSL_APPLINK_C "${OPENSSL_APPLINK_SOURCE}") ++ include_directories(SYSTEM ${OPENSSL_INCLUDE_DIR}) ++ ELSEIF(WITH_SSL STREQUAL "system" OR WITH_SSL_PATH OR ALTERNATIVE_SYSTEM_SSL) + IF((APPLE OR WIN32) AND WITH_SSL STREQUAL "system") + # FindOpenSSL.cmake knows about + # http://www.slproweb.com/products/Win32OpenSSL.html +diff --git a/cmake/zlib.cmake b/cmake/zlib.cmake +index 3781fe09..ac312ad0 100644 +--- a/cmake/zlib.cmake ++++ b/cmake/zlib.cmake +@@ -124,7 +124,7 @@ MACRO (MYSQL_CHECK_ZLIB) + MESSAGE(FATAL_ERROR "WITH_ZLIB must be bundled or system") + ENDIF() + +- ADD_LIBRARY(ext::zlib ALIAS zlib_interface) ++ ADD_LIBRARY(ext::zlib ALIAS ZLIB::ZLIB) + + IF(ZLIB_VERSION VERSION_LESS MIN_ZLIB_VERSION_REQUIRED) + MESSAGE(FATAL_ERROR +diff --git a/cmake/zstd.cmake b/cmake/zstd.cmake +index 425426d1..0ae1a907 100644 +--- a/cmake/zstd.cmake ++++ b/cmake/zstd.cmake +@@ -90,15 +90,16 @@ MACRO (MYSQL_CHECK_ZSTD) + IF(WITH_ZSTD STREQUAL "bundled") + MYSQL_USE_BUNDLED_ZSTD() + ELSEIF(WITH_ZSTD STREQUAL "system") +- FIND_SYSTEM_ZSTD() +- IF (NOT SYSTEM_ZSTD_FOUND) +- MESSAGE(FATAL_ERROR "Cannot find system zstd libraries.") +- ENDIF() ++ find_package(ZSTD NAMES zstd REQUIRED) + ELSE() + MESSAGE(FATAL_ERROR "WITH_ZSTD must be bundled or system") + ENDIF() + +- ADD_LIBRARY(ext::zstd ALIAS zstd_interface) ++ if(TARGET zstd::libzstd_shared) ++ add_library(ext::zstd ALIAS zstd::libzstd_shared) ++ else() ++ add_library(ext::zstd ALIAS zstd::libzstd_static) ++ endif() + + IF(ZSTD_VERSION VERSION_LESS MIN_ZSTD_VERSION_REQUIRED) + MESSAGE(FATAL_ERROR diff --git a/ports/libmysql/export-cmake-targets.patch b/ports/libmysql/export-cmake-targets.patch deleted file mode 100644 index 81d0d23e9fcb08..00000000000000 --- a/ports/libmysql/export-cmake-targets.patch +++ /dev/null @@ -1,143 +0,0 @@ -diff --git a/cmake/install_macros.cmake b/cmake/install_macros.cmake -index 870c9f13732..98bc3ea15e4 100644 ---- a/cmake/install_macros.cmake -+++ b/cmake/install_macros.cmake -@@ -97,7 +97,7 @@ ENDFUNCTION() - FUNCTION(MYSQL_INSTALL_TARGET target_arg) - CMAKE_PARSE_ARGUMENTS(ARG - "NAMELINK_SKIP" -- "DESTINATION;COMPONENT" -+ "DESTINATION;COMPONENT;EXPORT" - "" - ${ARGN} - ) -@@ -113,10 +113,21 @@ FUNCTION(MYSQL_INSTALL_TARGET target_arg) - IF(ARG_NAMELINK_SKIP) - SET(LIBRARY_INSTALL_ARGS NAMELINK_SKIP) - ENDIF() -- INSTALL(TARGETS ${target} -- RUNTIME DESTINATION ${ARG_DESTINATION} ${COMP} -- ARCHIVE DESTINATION ${ARG_DESTINATION} ${COMP} -- LIBRARY DESTINATION ${ARG_DESTINATION} ${COMP} ${LIBRARY_INSTALL_ARGS}) -+ IF (ARG_EXPORT) -+ FILE(WRITE "${CMAKE_CURRENT_BINARY_DIR}/${ARG_EXPORT}-config.cmake" -+"include(CMakeFindDependencyMacro) -+find_dependency(ZLIB) -+find_dependency(OpenSSL) -+find_dependency(Threads) -+include(\"\${CMAKE_CURRENT_LIST_DIR}/${ARG_EXPORT}-targets.cmake\") -+") -+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${ARG_EXPORT}-config.cmake DESTINATION share/${ARG_EXPORT}) -+ set(EXPORT_ARGS EXPORT ${ARG_EXPORT}-targets) -+ ENDIF() -+ INSTALL(TARGETS ${target} ${EXPORT_ARGS} RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib ${COMP}) -+ IF (ARG_EXPORT) -+ INSTALL(${EXPORT_ARGS} DESTINATION share/${ARG_EXPORT}) -+ ENDIF() - SET(INSTALL_LOCATION ${ARG_DESTINATION} ) - INSTALL_DEBUG_SYMBOLS(${target}) - SET(INSTALL_LOCATION) -diff --git a/cmake/libutils.cmake b/cmake/libutils.cmake -index 23e60ad..cc969a8 100644 ---- a/cmake/libutils.cmake -+++ b/cmake/libutils.cmake -@@ -298,8 +298,9 @@ MACRO(MERGE_LIBRARIES_SHARED TARGET_ARG) - IF(ARG_NAMELINK_SKIP) - SET(INSTALL_ARGS NAMELINK_SKIP) - ENDIF() -- MYSQL_INSTALL_TARGET(${TARGET} DESTINATION "${DESTINATION}" ${COMP} -- ${INSTALL_ARGS}) -+ IF(NOT INSTALL_STATIC_LIBRARIES) -+ MYSQL_INSTALL_TARGET(${TARGET} EXPORT unofficial-libmysql DESTINATION "${INSTALL_LIBDIR}" ${COMP}) -+ ENDIF() - ENDIF() - - IF(WIN32) -@@ -464,7 +465,7 @@ MACRO(MERGE_CONVENIENCE_LIBRARIES TARGET_ARG) - SET(COMP COMPONENT ${ARG_COMPONENT}) - ENDIF() - IF(INSTALL_STATIC_LIBRARIES) -- MYSQL_INSTALL_TARGET(${TARGET} DESTINATION "${INSTALL_LIBDIR}" ${COMP}) -+ MYSQL_INSTALL_TARGET(${TARGET} EXPORT unofficial-libmysql DESTINATION "${INSTALL_LIBDIR}" ${COMP}) - ENDIF() - ENDIF() - ENDMACRO(MERGE_CONVENIENCE_LIBRARIES) -diff --git a/libmysql/CMakeLists.txt b/libmysql/CMakeLists.txt -index 2ee26bfa284..46583f4f0a3 100644 ---- a/libmysql/CMakeLists.txt -+++ b/libmysql/CMakeLists.txt -@@ -277,6 +277,14 @@ ENDIF() - # LDAP authentication SASL client plug-in - ADD_SUBDIRECTORY(authentication_ldap) - -+IF (BUILD_SHARED_LIBS) -+ set(INSTALL_SHARED ) -+ set(INSTALL_STATIC SKIP_INSTALL) -+ELSE() -+ set(INSTALL_SHARED SKIP_INSTALL) -+ set(INSTALL_STATIC ) -+ENDIF() -+ - # FIDO authentication client plugin - ADD_SUBDIRECTORY(authentication_fido) - -@@ -287,7 +295,7 @@ ADD_SUBDIRECTORY(authentication_kerberos) - ADD_SUBDIRECTORY(authentication_oci_client) - - # Merge several convenience libraries into one big mysqlclient --MERGE_CONVENIENCE_LIBRARIES(mysqlclient ${LIBS_TO_MERGE} -+MERGE_CONVENIENCE_LIBRARIES(mysqlclient ${LIBS_TO_MERGE} ${INSTALL_STATIC} - COMPONENT Development - LINK_LIBRARIES ${LIBS_TO_LINK} - ) -@@ -403,6 +403,7 @@ CONFIGURE_FILE(api_test.c.in ${CMAKE_CURRENT_BINARY_DIR}/api_test.c) - # from @CLIENT_API_FUNCTIONS@ are declared by . It will fail - # to run if not all of these symbols are exported by the library. - # -+IF (ENABLE_TESTING) - MYSQL_ADD_EXECUTABLE(libmysql_api_test - ${CMAKE_CURRENT_BINARY_DIR}/api_test.c - LINK_LIBRARIES libmysql ${LIBRT} -@@ -410,6 +411,7 @@ MYSQL_ADD_EXECUTABLE(libmysql_api_test - ) - # Clang/UBSAN needs this on some platforms. - SET_TARGET_PROPERTIES(libmysql_api_test PROPERTIES LINKER_LANGUAGE CXX) -+ENDIF() - - IF(MY_COMPILER_IS_GNU) - ADD_COMPILE_FLAGS( -@@ -426,9 +428,11 @@ IF(HAS_WARN_FLAG) - ) - ENDIF() - -+IF (ENABLE_TESTING) - # Verify that libmysql_api_test runs OK - MY_ADD_CUSTOM_TARGET(run_libmysql_api_test ALL - DEPENDS libmysql_api_test - COMMAND libmysql_api_test - > ${CMAKE_CURRENT_BINARY_DIR}/libmysql_api_test.out - ) -+ENDIF() -\ No newline at end of file -diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt -index a5fa18e..0f2e15c 100644 ---- a/scripts/CMakeLists.txt -+++ b/scripts/CMakeLists.txt -@@ -329,13 +329,13 @@ MACRO(EXTRACT_LINK_LIBRARIES target var) - STRING(REGEX REPLACE "^[ ]+" "" ${var} "${${var}}") - STRING(REGEX REPLACE "[ ]+$" "" ${var} "${${var}}") - ENDMACRO() -- -+IF (NOT BUILD_SHARED_LIBS) - EXTRACT_LINK_LIBRARIES(mysqlclient CLIENT_LIBS) -- --IF(MSVC) -+ENDIF() -+IF(MSVC AND NOT BUILD_SHARED_LIBS) - GET_TARGET_PROPERTY(LIBMYSQL_OS_SHLIB_VERSION mysqlclient VERSION) - GET_TARGET_PROPERTY(LIBMYSQL_OS_OUTPUT_NAME mysqlclient OUTPUT_NAME) --ELSE() -+ELSEIF(BUILD_SHARED_LIBS) - GET_TARGET_PROPERTY(LIBMYSQL_OS_SHLIB_VERSION libmysql VERSION) - GET_TARGET_PROPERTY(LIBMYSQL_OS_OUTPUT_NAME libmysql OUTPUT_NAME) - ENDIF() diff --git a/ports/libmysql/fix-pdb-install-path.patch b/ports/libmysql/fix-pdb-install-path.patch new file mode 100644 index 00000000000000..b7eaf4c825632a --- /dev/null +++ b/ports/libmysql/fix-pdb-install-path.patch @@ -0,0 +1,22 @@ +diff --git a/cmake/install_macros.cmake b/cmake/install_macros.cmake +index c45fda7..b862597 100644 +--- a/cmake/install_macros.cmake ++++ b/cmake/install_macros.cmake +@@ -46,7 +46,7 @@ MACRO(INSTALL_DEBUG_SYMBOLS target) + # No .pdb file for static libraries. + IF(NOT type MATCHES "STATIC_LIBRARY") + INSTALL(FILES $ +- DESTINATION ${INSTALL_LOCATION} COMPONENT ${comp}) ++ DESTINATION bin COMPONENT ${comp}) + ENDIF() + ENDIF() + ENDMACRO() +@@ -307,7 +307,7 @@ FUNCTION(INSTALL_DEBUG_TARGET target) + ENDIF() + + INSTALL(FILES ${debug_pdb_target_location} +- DESTINATION ${ARG_DESTINATION} ++ DESTINATION bin + ${PDB_RENAME_PARAM} + CONFIGURATIONS Release RelWithDebInfo + COMPONENT ${ARG_COMPONENT} diff --git a/ports/libmysql/fix_dup_symbols.patch b/ports/libmysql/fix_dup_symbols.patch index 352fd8af89f055..a3bda5b0a991ec 100644 --- a/ports/libmysql/fix_dup_symbols.patch +++ b/ports/libmysql/fix_dup_symbols.patch @@ -1,8 +1,8 @@ diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt -index 058967b..bcd8841 100644 +index d54f4a6f..cd2132c9 100644 --- a/client/CMakeLists.txt +++ b/client/CMakeLists.txt -@@ -43,7 +43,6 @@ MYSQL_ADD_EXECUTABLE(mysql +@@ -44,7 +44,6 @@ MYSQL_ADD_EXECUTABLE(mysql pattern_matcher.cc readline.cc client_query_attributes.cc @@ -10,11 +10,11 @@ index 058967b..bcd8841 100644 ${CMAKE_CURRENT_SOURCE_DIR}/common/user_registration.cc LINK_LIBRARIES mysqlclient client_base ${EDITLINE_LIBRARY} ) -@@ -226,7 +226,6 @@ SET(MYSQLBINLOG_SOURCES +@@ -232,7 +231,6 @@ SET(MYSQLBINLOG_SOURCES ${CMAKE_SOURCE_DIR}/sql/binlog_reader.cc ${CMAKE_SOURCE_DIR}/sql/stream_cipher.cc ${CMAKE_SOURCE_DIR}/sql/rpl_log_encryption.cc - ${CMAKE_SOURCE_DIR}/libbinlogevents/src/trx_boundary_parser.cpp ) - SET(MYSQLBINLOG_LIBRARIES + # The client version of log_event.cc has false positives. diff --git a/ports/libmysql/homebrew.patch b/ports/libmysql/homebrew.patch deleted file mode 100644 index a7358dc41f2d73..00000000000000 --- a/ports/libmysql/homebrew.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 52d12a15190..6033494e4f0 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1929,7 +1929,7 @@ IF(APPLE) - GET_FILENAME_COMPONENT(HOMEBREW_BASE ${HOMEBREW_HOME} DIRECTORY) - IF(EXISTS ${HOMEBREW_BASE}/include/boost) - FOREACH(SYSTEM_LIB ICU LIBEVENT LZ4 PROTOBUF ZSTD FIDO) -- IF(WITH_${SYSTEM_LIB} STREQUAL "system") -+ IF(FALSE) - MESSAGE(FATAL_ERROR - "WITH_${SYSTEM_LIB}=system is not compatible with Homebrew boost\n" - "MySQL depends on ${BOOST_PACKAGE_NAME} with a set of patches.\n" diff --git a/ports/libmysql/ignore-boost-version.patch b/ports/libmysql/ignore-boost-version.patch deleted file mode 100644 index 757defccf68f14..00000000000000 --- a/ports/libmysql/ignore-boost-version.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/cmake/boost.cmake b/cmake/boost.cmake -index e879484a9d9..437b77ff49a 100644 ---- a/cmake/boost.cmake -+++ b/cmake/boost.cmake -@@ -301,7 +301,7 @@ IF(NOT BOOST_MAJOR_VERSION EQUAL 10) - COULD_NOT_FIND_BOOST() - ENDIF() - --IF(NOT BOOST_MINOR_VERSION EQUAL 77) -+IF(NOT BOOST_MINOR_VERSION EQUAL 77 AND NOT IGNORE_BOOST_VERSION) - MESSAGE(WARNING "Boost minor version found is ${BOOST_MINOR_VERSION} " - "we need 77" - ) diff --git a/ports/libmysql/install-exports.patch b/ports/libmysql/install-exports.patch new file mode 100644 index 00000000000000..c5416bed3a6c98 --- /dev/null +++ b/ports/libmysql/install-exports.patch @@ -0,0 +1,124 @@ +diff --git a/cmake/install_macros.cmake b/cmake/install_macros.cmake +index baf49cd5..c45fda71 100644 +--- a/cmake/install_macros.cmake ++++ b/cmake/install_macros.cmake +@@ -113,8 +113,30 @@ FUNCTION(MYSQL_INSTALL_TARGET target_arg) + IF(ARG_NAMELINK_SKIP) + SET(LIBRARY_INSTALL_ARGS NAMELINK_SKIP) + ENDIF() ++ if(target STREQUAL "libmysql" OR target STREQUAL "mysqlclient") ++ target_include_directories(${target} INTERFACE $) ++ if(target STREQUAL "mysqlclient") ++ set_target_properties(${target} PROPERTIES EXPORT_NAME libmysql) # uniform ++ endif() ++ FILE(WRITE "${CMAKE_CURRENT_BINARY_DIR}/unofficial-libmysql-config.cmake" ++"include(CMakeFindDependencyMacro) ++find_dependency(OpenSSL) ++find_dependency(Threads) ++find_dependency(ZLIB) ++find_dependency(zstd CONFIG) ++include(\"\${CMAKE_CURRENT_LIST_DIR}/unofficial-libmysql-targets.cmake\") ++if(NOT TARGET ${target}) # legacy vcpkg ++ add_library(${target} INTERFACE IMPORTED) ++ set_target_properties(${target} PROPERTIES INTERFACE_LINK_LIBRARIES unofficial::libmysql::libmysql) ++endif() ++") ++ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/unofficial-libmysql-config.cmake" DESTINATION "share/unofficial-libmysql") ++ install(EXPORT "unofficial-libmysql-targets" NAMESPACE unofficial::libmysql:: DESTINATION "share/unofficial-libmysql") ++ set(LIBRARY_EXPORT_ARGS EXPORT unofficial-libmysql-targets) ++ endif() + INSTALL(TARGETS ${target} +- RUNTIME DESTINATION ${ARG_DESTINATION} ${COMP} ++ ${LIBRARY_EXPORT_ARGS} ++ RUNTIME DESTINATION bin ${COMP} + ARCHIVE DESTINATION ${ARG_DESTINATION} ${COMP} + LIBRARY DESTINATION ${ARG_DESTINATION} ${COMP} ${LIBRARY_INSTALL_ARGS}) + SET(INSTALL_LOCATION ${ARG_DESTINATION} ) +diff --git a/cmake/libutils.cmake b/cmake/libutils.cmake +index a5333987..c954bfb1 100644 +--- a/cmake/libutils.cmake ++++ b/cmake/libutils.cmake +@@ -385,8 +385,12 @@ MACRO(MERGE_LIBRARIES_SHARED TARGET_ARG) + IF(ARG_NAMELINK_SKIP) + SET(INSTALL_ARGS NAMELINK_SKIP) + ENDIF() ++ if(INSTALL_STATIC_LIBRARIES) ++ set_target_properties(${TARGET} PROPERTIES EXCLUDE_FROM_ALL 1) ++ else() + MYSQL_INSTALL_TARGET(${TARGET} DESTINATION "${DESTINATION}" ${COMP} + ${INSTALL_ARGS}) ++ endif() + ENDIF() + + IF(WIN32) +@@ -563,6 +567,8 @@ MACRO(MERGE_CONVENIENCE_LIBRARIES TARGET_ARG) + ENDIF() + IF(INSTALL_STATIC_LIBRARIES) + MYSQL_INSTALL_TARGET(${TARGET} DESTINATION "${INSTALL_LIBDIR}" ${COMP}) ++ else() ++ set_target_properties(${TARGET} PROPERTIES EXCLUDE_FROM_ALL 1) + ENDIF() + ENDIF() + ENDMACRO(MERGE_CONVENIENCE_LIBRARIES) +diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt +index c4ef5694..8e933877 100644 +--- a/scripts/CMakeLists.txt ++++ b/scripts/CMakeLists.txt +@@ -321,6 +321,8 @@ MACRO(EXTRACT_LINK_LIBRARIES target var) + FOREACH(lib ${TARGET_LIB_DEPENDS}) + IF (lib MATCHES "^\\-l") + SET(${var} "${${var}} ${lib} ") ++ elseif(lib MATCHES "^ext::(openssl|zlib|zstd)" AND NOT WIN32) ++ list(APPEND ext_targets "${CMAKE_MATCH_1}") + ELSEIF (lib MATCHES "^ext::") + STRING(REGEX MATCH "ext::([a-z]+)" MATCH_LIB "${lib}") + SET(SYSTEM_LIB ${CMAKE_MATCH_1}) +@@ -330,6 +332,8 @@ MACRO(EXTRACT_LINK_LIBRARIES target var) + ELSE() + SET(${var} "${${var}} ${SYSTEM_LINK_FLAG} ") + ENDIF() ++ elseif(TARGET "${lib}" AND NOT WIN32) ++ # merged or shared, not external + ELSEIF (lib MATCHES "^\\-L") + # Search directory. Test on FreeBSD: -L/usr/local/lib -lunwind + SET(${var} "${${var}} ${lib} ") +@@ -365,6 +369,7 @@ IF(MSVC) + GET_TARGET_PROPERTY(LIBMYSQL_OS_SHLIB_VERSION mysqlclient VERSION) + GET_TARGET_PROPERTY(LIBMYSQL_OS_OUTPUT_NAME mysqlclient OUTPUT_NAME) + ELSE() ++ EXTRACT_LINK_LIBRARIES(libmysql CLIENT_LIBS) + GET_TARGET_PROPERTY(LIBMYSQL_OS_SHLIB_VERSION libmysql VERSION) + GET_TARGET_PROPERTY(LIBMYSQL_OS_OUTPUT_NAME libmysql OUTPUT_NAME) + ENDIF() +@@ -384,6 +389,10 @@ IF (WITH_SSL STREQUAL "system") + "${CONFIG_LIBS_PRIVATE}") + ENDIF() + ENDIF() ++list(APPEND CONFIG_REQUIRES_PRIVATE ${ext_targets}) ++list(REMOVE_DUPLICATES CONFIG_REQUIRES_PRIVATE) ++list(JOIN CONFIG_REQUIRES_PRIVATE " " CONFIG_REQUIRES_PRIVATE) ++string(REPLACE "zstd" "libzstd" CONFIG_REQUIRES_PRIVATE "${CONFIG_REQUIRES_PRIVATE}" ) + + MESSAGE(STATUS "CONFIG_CLIENT_LIBS ${CONFIG_CLIENT_LIBS}") + MESSAGE(STATUS "CONFIG_LIBS_PRIVATE ${CONFIG_LIBS_PRIVATE}") +diff --git a/scripts/mysql_config.sh b/scripts/mysql_config.sh +index 6e8520be..bf1a45af 100644 +--- a/scripts/mysql_config.sh ++++ b/scripts/mysql_config.sh +@@ -119,6 +119,16 @@ fi + # Create options + libs="-L$pkglibdir@RPATH_OPTION@" + libs="$libs -l@LIBMYSQL_OS_OUTPUT_NAME@ @CONFIG_CLIENT_LIBS@" ++if test -z "${PKG_CONFIG}" ; then ++ if pkg-config --version >/dev/null 2>&1 ; then ++ PKG_CONFIG=pkg-config ++ elif pkgconf --version >/dev/null 2>&1 ; then ++ PKG_CONFIG=pkgconf ++ else ++ PKG_CONFIG=false ++ fi ++fi ++libs="$libs $(${PKG_CONFIG} --libs @CONFIG_REQUIRES_PRIVATE@)" + + cflags="-I$pkgincludedir @CFLAGS@" + cxxflags="-I$pkgincludedir @CXXFLAGS@" diff --git a/ports/libmysql/libmysql-config.cmake b/ports/libmysql/libmysql-config.cmake new file mode 100644 index 00000000000000..e3af81d2743a18 --- /dev/null +++ b/ports/libmysql/libmysql-config.cmake @@ -0,0 +1,6 @@ +file(READ "${CMAKE_CURRENT_LIST_DIR}/usage" usage) +message(WARNING "find_package(libmysql) is deprecated.\n${usage}") +include(CMakeFindDependencyMacro) +find_dependency(unofficial-libmysql CONFIG REQUIRED) +set(libmysql_FOUND 1) +set(MYSQL_LIBRARIES unofficial::libmysql::libmysql) diff --git a/ports/libmysql/portfile.cmake b/ports/libmysql/portfile.cmake index 3a08e3a253a5d0..f25c1e0066e3a4 100644 --- a/ports/libmysql/portfile.cmake +++ b/ports/libmysql/portfile.cmake @@ -2,30 +2,24 @@ if (EXISTS "${CURRENT_INSTALLED_DIR}/include/mysql/mysql.h") message(FATAL_ERROR "FATAL ERROR: ${PORT} and libmariadb are incompatible.") endif() -if(NOT VCPKG_TARGET_IS_WINDOWS) - message(WARNING "'autoconf-archive' must be installed via your system package manager (brew, apt, etc.).") -endif() - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mysql/mysql-server - REF mysql-${VERSION} - SHA512 8b9f15b301b158e6ffc99dd916b9062968d36f6bdd7b898636fa61badfbe68f7328d4a39fa3b8b3ebef180d3aec1aee353bd2dac9ef1594e5772291390e17ac0 + REF "mysql-${VERSION}" + SHA512 f0591d263de557877a618b04871d332dc227e26c7e9b61994093dc9af29971ea6332761de5391bb8da955bd58b3b98da90722bafdbf86f36764995a70f94ae62 HEAD_REF master PATCHES - ignore-boost-version.patch - system-libs.patch - export-cmake-targets.patch - Add-target-include-directories.patch - homebrew.patch + dependencies.patch + install-exports.patch fix_dup_symbols.patch + cross-build.patch + fix-pdb-install-path.patch ) -file(REMOVE_RECURSE "${SOURCE_PATH}/include/boost_1_70_0") - -set(STACK_DIRECTION "") -if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - set(STACK_DIRECTION -DSTACK_DIRECTION=-1) +file(GLOB third_party "${SOURCE_PATH}/extra/*" "${SOURCE_PATH}/include/boost_1_*") +list(REMOVE_ITEM third_party "${SOURCE_PATH}/extra/libedit") +if (third_party) + file(REMOVE_RECURSE ${third_party}) endif() #Skip the version check for Visual Studio @@ -37,27 +31,58 @@ endif() string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC_LIBS) string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" STATIC_CRT_LINKAGE) +set(cross_options "") +if(VCPKG_CROSSCOMPILING) + list(APPEND cross_options + -DCMAKE_CROSSCOMPILING=1 + -DVCPKG_HOST_TRIPLET=${HOST_TRIPLET} + # required, skip try_run + -DHAVE_RAPIDJSON_WITH_STD_REGEX=1 + ) + if(NOT VCPKG_TARGET_IS_WINDOWS) + list(APPEND cross_options + # optimistic, skip try_run + -DHAVE_CLOCK_GETTIME=1 + -DHAVE_CLOCK_REALTIME=1 + # pessimistic, skip try_run + -DHAVE_C_FLOATING_POINT_FUSED_MADD=1 + -DHAVE_CXX_FLOATING_POINT_FUSED_MADD=1 + -DHAVE_SETNS=0 + ) + endif() +endif() + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS + ${cross_options} + -DINSTALL_INCLUDEDIR=include/mysql + -DINSTALL_DOCDIR=share/${PORT}/doc + -DINSTALL_MANDIR=share/${PORT}/doc + -DINSTALL_INFODIR=share/${PORT}/doc + -DINSTALL_DOCREADMEDIR=share/${PORT} + -DINSTALL_SHAREDIR=share + -DINSTALL_MYSQLSHAREDIR=share/${PORT} -DWITHOUT_SERVER=ON -DWITH_BUILD_ID=OFF -DWITH_UNIT_TESTS=OFF -DENABLED_PROFILING=OFF - -DENABLE_TESTING=OFF -DWIX_DIR=OFF - ${STACK_DIRECTION} -DIGNORE_BOOST_VERSION=ON - -DWITH_SYSTEMD=OFF -DWITH_TEST_TRACE_PLUGIN=OFF -DMYSQL_MAINTAINER_MODE=OFF -DBUNDLE_RUNTIME_LIBRARIES=OFF -DDOWNLOAD_BOOST=OFF - -DWITH_SSL=system - -DWITH_ICU=system - -DWITH_LIBEVENT=system + -DWITH_AUTHENTICATION_KERBEROS=OFF + -DWITH_AUTHENTICATION_LDAP_DEFAULT=OFF + -DWITH_CURL=none + -DWITH_EDITLINE=bundled # not in vcpkg -DWITH_LZ4=system + -DWITH_RAPIDJSON=system + -DWITH_SSL=system + -DWITH_SYSTEMD=OFF -DWITH_ZLIB=system + -DWITH_ZSTD=system -DFORCE_UNSUPPORTED_COMPILER=${FORCE_UNSUPPORTED_COMPILER} -DINSTALL_STATIC_LIBRARIES=${BUILD_STATIC_LIBS} -DLINK_STATIC_RUNTIME_LIBRARIES=${STATIC_CRT_LINKAGE} @@ -69,9 +94,11 @@ vcpkg_cmake_configure( ) vcpkg_cmake_install(ADD_BIN_TO_PATH) +vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-libmysql) +vcpkg_fixup_pkgconfig() -list(APPEND MYSQL_TOOLS - comp_err +set(MYSQL_TOOLS my_print_defaults mysql mysql_config_editor @@ -90,7 +117,11 @@ list(APPEND MYSQL_TOOLS perror zlib_decompress ) - +if (NOT VCPKG_CROSSCOMPILING) + list(APPEND MYSQL_TOOLS + comp_err + ) +endif() if (VCPKG_TARGET_IS_WINDOWS) list(APPEND MYSQL_TOOLS echo @@ -103,72 +134,22 @@ endif() vcpkg_copy_tools(TOOL_NAMES ${MYSQL_TOOLS} AUTO_CLEAN) -file(RENAME "${CURRENT_PACKAGES_DIR}/share" "${CURRENT_PACKAGES_DIR}/${PORT}") -file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/share") -file(RENAME "${CURRENT_PACKAGES_DIR}/${PORT}" "${CURRENT_PACKAGES_DIR}/share/${PORT}") - -if(NOT VCPKG_BUILD_TYPE) - file(RENAME "${CURRENT_PACKAGES_DIR}/debug/share" "${CURRENT_PACKAGES_DIR}/debug/${PORT}") - file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/share") - file(RENAME "${CURRENT_PACKAGES_DIR}/debug/${PORT}" "${CURRENT_PACKAGES_DIR}/debug/share/${PORT}") -endif() - -vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-libmysql CONFIG_PATH share/${PORT}/unofficial-libmysql) - -# switch mysql into /mysql -file(RENAME "${CURRENT_PACKAGES_DIR}/include" "${CURRENT_PACKAGES_DIR}/include2") -file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/include") -file(RENAME "${CURRENT_PACKAGES_DIR}/include2" "${CURRENT_PACKAGES_DIR}/include/mysql") - -## delete useless vcruntime/scripts/bin/msg file file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share" - "${CURRENT_PACKAGES_DIR}/debug/man" - "${CURRENT_PACKAGES_DIR}/docs" - "${CURRENT_PACKAGES_DIR}/debug/docs" "${CURRENT_PACKAGES_DIR}/lib/debug" - "${CURRENT_PACKAGES_DIR}/lib/plugin" - "${CURRENT_PACKAGES_DIR}/debug/lib/plugin" -) - -# delete dynamic dll on static build -if (BUILD_STATIC_LIBS) - # libmysql.dll - file(REMOVE_RECURSE - "${CURRENT_PACKAGES_DIR}/bin" - "${CURRENT_PACKAGES_DIR}/debug/bin" - ) - file(REMOVE - "${CURRENT_PACKAGES_DIR}/lib/libmysql.lib" - "${CURRENT_PACKAGES_DIR}/debug/lib/libmysql.lib" - "${CURRENT_PACKAGES_DIR}/lib/libmysql.pdb" - "${CURRENT_PACKAGES_DIR}/debug/lib/libmysql.pdb" - ) -endif() - -## remove misc files -file(REMOVE - "${CURRENT_PACKAGES_DIR}/LICENSE" - "${CURRENT_PACKAGES_DIR}/README" - "${CURRENT_PACKAGES_DIR}/debug/LICENSE" - "${CURRENT_PACKAGES_DIR}/debug/README" ) -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/mysql/mysql_com.h" "#include " "#include \"mysql/udf_registration_types.h\"") if (NOT VCPKG_TARGET_IS_WINDOWS) set(MYSQL_CONFIG_FILE "${CURRENT_PACKAGES_DIR}/tools/libmysql/mysql_config") - vcpkg_replace_string(${MYSQL_CONFIG_FILE} "/bin/mysql_.*config" "/tools/libmysql/mysql_.*config") # try to get correct $basedir - vcpkg_replace_string(${MYSQL_CONFIG_FILE} "${CURRENT_PACKAGES_DIR}" "$basedir") # use $basedir to format paths - vcpkg_replace_string(${MYSQL_CONFIG_FILE} "-l\$\<\$\:${CURRENT_INSTALLED_DIR}/debug/lib/libz.a> " "") # remove debug version of libz - vcpkg_replace_string(${MYSQL_CONFIG_FILE} - "\$\<\$\\>:${CURRENT_INSTALLED_DIR}" - "`dirname $0`/../../../../installed/${TARGET_TRIPLET}") # correct path for release version of libz - vcpkg_replace_string(${MYSQL_CONFIG_FILE} "\> -l" " -l") # trailing > tag for previous item + vcpkg_replace_string("${MYSQL_CONFIG_FILE}" "/bin/mysql_.*config" "/tools/libmysql/mysql_.*config") + vcpkg_replace_string("${MYSQL_CONFIG_FILE}" "'${CURRENT_PACKAGES_DIR}" "\"\$basedir\"\'") endif() -file(INSTALL "${CURRENT_PORT_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(INSTALL "${CURRENT_PORT_DIR}/libmysql-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") file(INSTALL "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -# copy license -vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") +set(libedit_copying "${SOURCE_PATH}/COPYING for libedit") +file(GLOB libedit_copying_infile "${SOURCE_PATH}/extra/libedit/libedit-*/COPYING") +file(COPY_FILE "${libedit_copying_infile}" "${libedit_copying}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE" "${libedit_copying}") diff --git a/ports/libmysql/system-libs.patch b/ports/libmysql/system-libs.patch deleted file mode 100644 index afcb2c3775e1e8..00000000000000 --- a/ports/libmysql/system-libs.patch +++ /dev/null @@ -1,76 +0,0 @@ -diff --git a/cmake/icu.cmake b/cmake/icu.cmake -index 3ac136dbfb4..c7bdbc8c47e 100644 ---- a/cmake/icu.cmake -+++ b/cmake/icu.cmake -@@ -68,6 +68,12 @@ ENDMACRO() - # install_root is either 'system' or is assumed to be a path. - # - MACRO (FIND_ICU install_root) -+ find_package(ICU REQUIRED COMPONENTS uc io dt in) -+ set(ICU_SYSTEM_LIBRARIES ICU::uc ICU::io ICU::dt ICU::in) -+ set(ICU_COMMON_DIR ${ICU_INCLUDE_DIR}) -+ SET(ICU_INCLUDE_DIRS ${ICU_INCLUDE_DIR}) -+ENDMACRO() -+MACRO (FIND_ICU_OLD install_root) - IF("${install_root}" STREQUAL "system") - SET(EXTRA_FIND_LIB_ARGS) - SET(EXTRA_FIND_INC_ARGS) -diff --git a/cmake/libutils.cmake b/cmake/libutils.cmake -index ae13a63dfdc..9604ad2fc2a 100644 ---- a/cmake/libutils.cmake -+++ b/cmake/libutils.cmake -@@ -441,19 +441,7 @@ MACRO(MERGE_CONVENIENCE_LIBRARIES TARGET_ARG) - # On Windows, ssleay32.lib/libeay32.lib or libssl.lib/libcrypto.lib - # must be merged into mysqlclient.lib - IF(WIN32 AND ${TARGET} STREQUAL "mysqlclient") -- SET(LINKER_EXTRA_FLAGS "") -- FOREACH(LIB ${SSL_LIBRARIES}) -- STRING_APPEND(LINKER_EXTRA_FLAGS " ${LIB}") -- ENDFOREACH() -- -- # __NULL_IMPORT_DESCRIPTOR already defined, second definition ignored -- # Same symbol from both libssl and libcrypto -- # But: Lib.exe has no /IGNORE option, see -- # https://docs.microsoft.com/en-us/cpp/build/reference/running-lib?view=msvc-160 -- # STRING_APPEND(LINKER_EXTRA_FLAGS " /IGNORE:LNK4006") -- -- SET_TARGET_PROPERTIES(${TARGET} -- PROPERTIES STATIC_LIBRARY_FLAGS "${LINKER_EXTRA_FLAGS}") -+ TARGET_LINK_LIBRARIES(${TARGET} PRIVATE ${SSL_LIBRARIES}) - ENDIF() - - IF(ARG_LINK_LIBRARIES) -diff --git a/cmake/lz4.cmake b/cmake/lz4.cmake -index e7047412f9b..ffbc95b578d 100644 ---- a/cmake/lz4.cmake -+++ b/cmake/lz4.cmake -@@ -46,7 +46,7 @@ MACRO (FIND_SYSTEM_LZ4) - FIND_PATH(LZ4_INCLUDE_DIR - NAMES lz4frame.h) - FIND_LIBRARY(LZ4_SYSTEM_LIBRARY -- NAMES lz4) -+ NAMES lz4d lz4) - IF (LZ4_INCLUDE_DIR AND LZ4_SYSTEM_LIBRARY) - SET(SYSTEM_LZ4_FOUND 1) - SET(LZ4_LIBRARY ${LZ4_SYSTEM_LIBRARY}) -diff --git a/cmake/ssl.cmake b/cmake/ssl.cmake -index 52feade..1e71bd7 100644 ---- a/cmake/ssl.cmake -+++ b/cmake/ssl.cmake -@@ -93,7 +93,16 @@ ENDMACRO() - # Provides the following configure options: - # WITH_SSL=[yes|system|] - MACRO (MYSQL_CHECK_SSL) -+ find_package(OpenSSL REQUIRED) -+ set(OPENSSL_LIBRARY OpenSSL::SSL CACHE STRING "") -+ set(CRYPTO_LIBRARY OpenSSL::Crypto CACHE STRING "") -+ FIND_PROGRAM(OPENSSL_EXECUTABLE openssl -+ DOC "path to the openssl executable") -+ SET(SSL_DEFINES "-DHAVE_OPENSSL") -+ set(SSL_LIBRARIES OpenSSL::SSL OpenSSL::Crypto) -+ENDMACRO() - -+MACRO (MYSQL_CHECK_SSL_OLD) - IF(NOT WITH_SSL) - SET(WITH_SSL "system" CACHE STRING ${WITH_SSL_DOC_STRING} FORCE) - ENDIF() diff --git a/ports/libmysql/usage b/ports/libmysql/usage index 8c2b814d282c46..09f1e0d68042b2 100644 --- a/ports/libmysql/usage +++ b/ports/libmysql/usage @@ -1,4 +1,4 @@ -The package libmysql provides CMake targets: +libmysql provides CMake targets: - find_package(libmysql REQUIRED) - target_link_libraries(main PRIVATE ${MYSQL_LIBRARIES}) + find_package(unofficial-libmysql REQUIRED) + target_link_libraries(main PRIVATE unofficial::libmysql::libmysql) diff --git a/ports/libmysql/vcpkg-cmake-wrapper.cmake b/ports/libmysql/vcpkg-cmake-wrapper.cmake deleted file mode 100644 index d7f0e7560a8301..00000000000000 --- a/ports/libmysql/vcpkg-cmake-wrapper.cmake +++ /dev/null @@ -1,9 +0,0 @@ -find_package(unofficial-libmysql CONFIG REQUIRED) -if (TARGET mysqlclient) - set(MYSQL_LIBRARY mysqlclient) -elseif (TARGET libmysql) - set(MYSQL_LIBRARY libmysql) -endif() - -set(libmysql_FOUND 1) -set(MYSQL_LIBRARIES ${MYSQL_LIBRARY}) diff --git a/ports/libmysql/vcpkg.json b/ports/libmysql/vcpkg.json index d8995dbc1608c4..cafaecce8832e2 100644 --- a/ports/libmysql/vcpkg.json +++ b/ports/libmysql/vcpkg.json @@ -1,25 +1,27 @@ { "name": "libmysql", - "version": "8.0.32", - "port-version": 6, + "version": "8.0.40", "description": "A MySQL client library for C development", "homepage": "https://github.com/mysql/mysql-server", "license": "GPL-2.0-or-later", - "supports": "!(windows & x86) & !uwp & !xbox", + "supports": "!android & !mingw & !uwp & !xbox", "dependencies": [ "boost-algorithm", "boost-functional", "boost-geometry", "boost-graph", "boost-optional", - "icu", - "libevent", + { + "name": "libmysql", + "host": true + }, "lz4", { "name": "ncurses", "platform": "!windows | mingw" }, "openssl", + "rapidjson", { "name": "vcpkg-cmake", "host": true @@ -28,6 +30,7 @@ "name": "vcpkg-cmake-config", "host": true }, - "zlib" + "zlib", + "zstd" ] } diff --git a/ports/libnice-gst/portfile.cmake b/ports/libnice-gst/portfile.cmake index 1d90ef02c4e302..71bae91667d2be 100644 --- a/ports/libnice-gst/portfile.cmake +++ b/ports/libnice-gst/portfile.cmake @@ -2,11 +2,11 @@ vcpkg_from_gitlab( GITLAB_URL https://gitlab.freedesktop.org OUT_SOURCE_PATH SOURCE_PATH REPO libnice/libnice - REF 0.1.21 - SHA512 8808523d663da5974e81ffeef10812b758792b1f762edc1f3713d09962598a8a30d17ac1985438361d2a284b9bc82b5ba1e8d73c6e1ca86c93901bc06b634e9a + REF 0.1.22 + SHA512 545c759a827e039d0aed262a4ec31b17610f7e67d93389c939763ed3d99530a4a6c3d13864ff05a2011fb3c3847ce3380a988e554de0f92b1348ebb76f5e3da4 HEAD_REF master PATCHES - skip_libnice.patch + skip_libnice.patch ) set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) @@ -64,10 +64,11 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/plugins/gstreamer") file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/gstreamer-1.0/${CMAKE_SHARED_LIBRARY_PREFIX}gstnice${CMAKE_SHARED_LIBRARY_SUFFIX}" "${CURRENT_PACKAGES_DIR}/debug/plugins/gstreamer/${CMAKE_SHARED_LIBRARY_PREFIX}gstnice${CMAKE_SHARED_LIBRARY_SUFFIX}") - if(VCPKG_TARGET_IS_WINDOWS) + if(VCPKG_TARGET_IS_WINDOWS AND EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/gstreamer-1.0/gstnice.pdb") file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/gstreamer-1.0/gstnice.pdb" "${CURRENT_PACKAGES_DIR}/debug/plugins/gstreamer/gstnice.pdb") - else() + endif() + if(NOT VCPKG_TARGET_IS_WINDOWS) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib") endif() @@ -77,10 +78,11 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/plugins/gstreamer") file(RENAME "${CURRENT_PACKAGES_DIR}/lib/gstreamer-1.0/${CMAKE_SHARED_LIBRARY_PREFIX}gstnice${CMAKE_SHARED_LIBRARY_SUFFIX}" "${CURRENT_PACKAGES_DIR}/plugins/gstreamer/${CMAKE_SHARED_LIBRARY_PREFIX}gstnice${CMAKE_SHARED_LIBRARY_SUFFIX}") - if(VCPKG_TARGET_IS_WINDOWS) + if(VCPKG_TARGET_IS_WINDOWS AND EXISTS "${CURRENT_PACKAGES_DIR}/lib/gstreamer-1.0/gstnice.pdb") file(RENAME "${CURRENT_PACKAGES_DIR}/lib/gstreamer-1.0/gstnice.pdb" "${CURRENT_PACKAGES_DIR}/plugins/gstreamer/gstnice.pdb") - else() + endif() + if(NOT VCPKG_TARGET_IS_WINDOWS) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") endif() diff --git a/ports/libnice-gst/skip_libnice.patch b/ports/libnice-gst/skip_libnice.patch index 045c80910fac4e..19e917740d8335 100644 --- a/ports/libnice-gst/skip_libnice.patch +++ b/ports/libnice-gst/skip_libnice.patch @@ -1,34 +1,20 @@ -diff --git a/gst/meson.build b/gst/meson.build -index 572c6ab..325a3d5 100644 ---- a/gst/meson.build -+++ b/gst/meson.build -@@ -13,12 +13,12 @@ libgstnice = library('gstnice', - c_args : gst_nice_args, - include_directories: nice_incs, - dependencies: [nice_deps, gst_dep], -- link_with: libnice, - install_dir: gst_plugins_install_dir, - install: true) - plugins = [libgstnice] - - # Generate pc files for static plugins if we build static plugins - if get_option('default_library') != 'shared' -+ pkg = import('pkgconfig') - pkg.generate(libgstnice, install_dir: join_paths(gst_plugins_install_dir, 'pkgconfig')) - endif diff --git a/meson.build b/meson.build -index 60ca250..05fc8c7 100644 +index badce49..5641673 100644 --- a/meson.build +++ b/meson.build -@@ -90,6 +90,7 @@ version_conf.set('NICE_VERSION_MINOR', version_minor) - version_conf.set('NICE_VERSION_MICRO', version_micro) - version_conf.set('NICE_VERSION_NANO', version_nano) - nice_version_h = configure_file(output: 'nice-version.h', -+ install: false, - install_dir: get_option('includedir') / 'nice', - configuration: version_conf) +@@ -283,7 +283,10 @@ libm = cc.find_library('m', required: false) + + nice_incs = include_directories('.', 'agent', 'random', 'socket', 'stun') -@@ -298,11 +299,7 @@ endif +-nice_deps = gio_deps + [gthread_dep, crypto_dep, gupnp_igd_dep] + syslibs ++# libnice dependency using pkg-config ++pkg = import('pkgconfig') ++libnice_dep = dependency('nice', version: '>=0.1.18', method: 'pkg-config', required: true) ++cdata.set('HAVE_LIBNICE', libnice_dep.found(), description: 'Use the libnice library') + + ignored_iface_prefix = get_option('ignored-network-interface-prefix') + if ignored_iface_prefix != [] +@@ -296,12 +299,6 @@ endif gir = find_program('g-ir-scanner', required : get_option('introspection')) @@ -37,7 +23,7 @@ index 60ca250..05fc8c7 100644 -subdir('socket') -subdir('random') -subdir('nice') -+nice_deps += [dependency('nice', version: '= @0@'.format(meson.project_version()), required: true)] - +- if gst_dep.found() subdir('gst') + endif diff --git a/ports/libnice-gst/vcpkg.json b/ports/libnice-gst/vcpkg.json index 71d9c6f1af2d90..03befc2ea543a3 100644 --- a/ports/libnice-gst/vcpkg.json +++ b/ports/libnice-gst/vcpkg.json @@ -1,13 +1,16 @@ { "name": "libnice-gst", - "version": "0.1.21", - "port-version": 3, + "version": "0.1.22", "description": "Gstreamer Libnice plugins.", "homepage": "https://nice.freedesktop.org", "license": "LGPL-2.1-only AND MPL-1.1", "supports": "!xbox", "dependencies": [ "gstreamer", - "libnice" + "libnice", + { + "name": "vcpkg-tool-meson", + "host": true + } ] } diff --git a/ports/libnice/portfile.cmake b/ports/libnice/portfile.cmake index 5758a61f7c9372..9d8373f9019584 100644 --- a/ports/libnice/portfile.cmake +++ b/ports/libnice/portfile.cmake @@ -2,8 +2,8 @@ vcpkg_from_gitlab( GITLAB_URL https://gitlab.freedesktop.org OUT_SOURCE_PATH SOURCE_PATH REPO libnice/libnice - REF 0.1.21 - SHA512 8808523d663da5974e81ffeef10812b758792b1f762edc1f3713d09962598a8a30d17ac1985438361d2a284b9bc82b5ba1e8d73c6e1ca86c93901bc06b634e9a + REF 0.1.22 + SHA512 545c759a827e039d0aed262a4ec31b17610f7e67d93389c939763ed3d99530a4a6c3d13864ff05a2011fb3c3847ce3380a988e554de0f92b1348ebb76f5e3da4 HEAD_REF master ) diff --git a/ports/libnice/vcpkg.json b/ports/libnice/vcpkg.json index 200ad1d2a46fa0..d8503dfe43f4a9 100644 --- a/ports/libnice/vcpkg.json +++ b/ports/libnice/vcpkg.json @@ -1,7 +1,6 @@ { "name": "libnice", - "version": "0.1.21", - "port-version": 1, + "version": "0.1.22", "description": "Libnice is an implementation of the IETF's Interactive Connectivity Establishment (ICE) standard (RFC 5245) and the Session Traversal Utilities for NAT (STUN) standard (RFC 5389).", "homepage": "https://nice.freedesktop.org", "license": "LGPL-2.1-only AND MPL-1.1", @@ -13,6 +12,10 @@ "host": true, "default-features": false }, - "openssl" + "openssl", + { + "name": "vcpkg-tool-meson", + "host": true + } ] } diff --git a/ports/libnick/portfile.cmake b/ports/libnick/portfile.cmake new file mode 100644 index 00000000000000..44140f0be5620e --- /dev/null +++ b/ports/libnick/portfile.cmake @@ -0,0 +1,32 @@ +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO NickvisionApps/libnick + REF "${VERSION}" + SHA512 9398493a987b6dec57ea07a2b95104f91eb48df9a6f6e752532356a76eb8a2ddd0f13c63f34e5ba90f555c597afd0dc96885ca3974e1c6264fba4a2f07e9214d + HEAD_REF main +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTING=OFF +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/libnick) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +vcpkg_copy_pdbs() + +vcpkg_fixup_pkgconfig() + +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) + +configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" COPYONLY) diff --git a/ports/libnick/usage b/ports/libnick/usage new file mode 100644 index 00000000000000..53c8caee9a5461 --- /dev/null +++ b/ports/libnick/usage @@ -0,0 +1,8 @@ +libnick provides CMake targets: + + find_package(libnick CONFIG REQUIRED) + target_link_libraries(main PRIVATE libnick::libnick) + +libnick provides pkg-config modules: + + libnick diff --git a/ports/libnick/vcpkg.json b/ports/libnick/vcpkg.json new file mode 100644 index 00000000000000..a788fc9170155b --- /dev/null +++ b/ports/libnick/vcpkg.json @@ -0,0 +1,40 @@ +{ + "name": "libnick", + "version": "2025.1.0", + "maintainers": "Nicholas Logozzo nlogozzo225@gmail.com", + "description": "A cross-platform base for native Nickvision applications.", + "homepage": "https://github.com/NickvisionApps/libnick", + "documentation": "https://github.com/NickvisionApps/libnick/tree/main/docs", + "license": "GPL-3.0-only", + "supports": "windows | linux | osx", + "dependencies": [ + "boost-json", + "curl", + "gettext-libintl", + { + "name": "glib", + "platform": "linux | osx" + }, + { + "name": "libsecret", + "platform": "linux" + }, + "maddy", + { + "name": "openssl", + "platform": "linux | osx" + }, + { + "name": "sqlcipher", + "platform": "windows" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/libobfuscate/portfile.cmake b/ports/libobfuscate/portfile.cmake new file mode 100644 index 00000000000000..0aaf5905913bcc --- /dev/null +++ b/ports/libobfuscate/portfile.cmake @@ -0,0 +1,11 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO adamyaxley/Obfuscate + REF a46cd5d8bd09e44afb27f97cde842e9473a4fdf6 + SHA512 9be3df71cbec3819553d46a2ab7f613401f4b1ef6a2d3bff2f23fef6aec3ae6475cbfc3413d9be46b46e911f1ad8ffdb1a839b54da46ca0d152a07b6829a06c5 + HEAD_REF master +) + +file(INSTALL ${SOURCE_PATH}/obfuscate.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/libobfuscate/vcpkg.json b/ports/libobfuscate/vcpkg.json new file mode 100644 index 00000000000000..964c7a7e991c4b --- /dev/null +++ b/ports/libobfuscate/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "libobfuscate", + "version-date": "2024-07-10", + "description": "Guaranteed compile-time string literal obfuscation header-only library for C++14.", + "homepage": "https://github.com/adamyaxley/Obfuscate", + "license": "Unlicense" +} diff --git a/ports/libodb-pgsql/CMakeLists.txt b/ports/libodb-pgsql/CMakeLists.txt index 46137ab572d878..13d50c0551d875 100644 --- a/ports/libodb-pgsql/CMakeLists.txt +++ b/ports/libodb-pgsql/CMakeLists.txt @@ -1,5 +1,6 @@ cmake_minimum_required(VERSION 3.0) project(libodb-pgsql VERSION 2.4.0 LANGUAGES CXX) +set(CMAKE_CXX_STANDARD 11) # 17 removes 'auto_ptr' find_package(odb 2.4.0 REQUIRED COMPONENTS libodb) find_package(PostgreSQL REQUIRED) configure_file(config.unix.h.in diff --git a/ports/libodb-pgsql/vcpkg.json b/ports/libodb-pgsql/vcpkg.json index dbc4b807ccf8b0..59e2d48c141349 100644 --- a/ports/libodb-pgsql/vcpkg.json +++ b/ports/libodb-pgsql/vcpkg.json @@ -1,7 +1,7 @@ { "name": "libodb-pgsql", "version": "2.4.0", - "port-version": 7, + "port-version": 8, "description": "Description: PostgreSQL support for the ODB ORM library", "homepage": "https://www.codesynthesis.com/products/odb/", "dependencies": [ diff --git a/ports/libodb-sqlite/CMakeLists.txt b/ports/libodb-sqlite/CMakeLists.txt index e0689fa91f3a36..4f9fd4501cf0f8 100644 --- a/ports/libodb-sqlite/CMakeLists.txt +++ b/ports/libodb-sqlite/CMakeLists.txt @@ -1,5 +1,6 @@ cmake_minimum_required(VERSION 3.0) project(libodb-sqlite VERSION 2.4.0 LANGUAGES CXX) +set(CMAKE_CXX_STANDARD 11) # 17 removes 'auto_ptr' find_package(odb 2.4.0 REQUIRED COMPONENTS libodb) find_package(unofficial-sqlite3 CONFIG) configure_file(config.unix.h.in odb/sqlite/details/config.h COPYONLY) @@ -46,7 +47,7 @@ if(LIBODB_INSTALL_HEADERS) ) install( FILES config.unix.h.in - DESTINATION include/odb/sqlite/detail + DESTINATION include/odb/sqlite/details COMPONENT sqlite RENAME config.h ) diff --git a/ports/libodb-sqlite/vcpkg.json b/ports/libodb-sqlite/vcpkg.json index fdea27da32e054..0cb9c9a7406d85 100644 --- a/ports/libodb-sqlite/vcpkg.json +++ b/ports/libodb-sqlite/vcpkg.json @@ -1,7 +1,7 @@ { "name": "libodb-sqlite", "version": "2.4.0", - "port-version": 11, + "port-version": 13, "description": "Sqlite support for the ODB ORM library", "homepage": "https://www.codesynthesis.com/products/odb/", "dependencies": [ diff --git a/ports/libodb/fix-linux.patch b/ports/libodb/fix-linux.patch new file mode 100644 index 00000000000000..9a2f2eab91414e --- /dev/null +++ b/ports/libodb/fix-linux.patch @@ -0,0 +1,94 @@ +diff --git a/odb/details/shared-ptr/base.cxx b/odb/details/shared-ptr/base.cxx +index b95797b..6cf8ed7 100644 +--- a/odb/details/shared-ptr/base.cxx ++++ b/odb/details/shared-ptr/base.cxx +@@ -54,7 +54,7 @@ namespace odb + } + + void* +-operator new (size_t n, odb::details::share s) throw (std::bad_alloc) ++operator new (size_t n, odb::details::share s) + { + if (s == odb::details::shared) + { +@@ -74,7 +74,7 @@ operator new (size_t n, odb::details::share s) throw (std::bad_alloc) + } + + void +-operator delete (void* p, odb::details::share s) throw () ++operator delete (void* p, odb::details::share s) + { + // This version of operator delete is only called when the c-tor + // fails. In this case there is no object and we can just free the +diff --git a/odb/details/shared-ptr/base.hxx b/odb/details/shared-ptr/base.hxx +index 4a38945..1c951a8 100644 +--- a/odb/details/shared-ptr/base.hxx ++++ b/odb/details/shared-ptr/base.hxx +@@ -35,10 +35,10 @@ namespace odb + } + + LIBODB_EXPORT void* +-operator new (std::size_t, odb::details::share) throw (std::bad_alloc); ++operator new (std::size_t, odb::details::share); + + LIBODB_EXPORT void +-operator delete (void*, odb::details::share) throw (); ++operator delete (void*, odb::details::share); + + namespace odb + { +@@ -62,16 +62,16 @@ namespace odb + _ref_count () const; + + void* +- operator new (std::size_t) throw (std::bad_alloc); ++ operator new (std::size_t); + + void* +- operator new (std::size_t, share) throw (std::bad_alloc); ++ operator new (std::size_t, share); + + void +- operator delete (void*, share) throw (); ++ operator delete (void*, share); + + void +- operator delete (void*) throw (); ++ operator delete (void*); + + struct refcount_callback + { +diff --git a/odb/details/shared-ptr/base.ixx b/odb/details/shared-ptr/base.ixx +index 9bf7c94..e03ea86 100644 +--- a/odb/details/shared-ptr/base.ixx ++++ b/odb/details/shared-ptr/base.ixx +@@ -64,25 +64,25 @@ namespace odb + } + + inline void* shared_base:: +- operator new (std::size_t n) throw (std::bad_alloc) ++ operator new (std::size_t n) + { + return ::operator new (n); + } + + inline void* shared_base:: +- operator new (std::size_t n, share) throw (std::bad_alloc) ++ operator new (std::size_t n, share) + { + return ::operator new (n); + } + + inline void shared_base:: +- operator delete (void* p, share) throw () ++ operator delete (void* p, share) + { + ::operator delete (p); + } + + inline void shared_base:: +- operator delete (void* p) throw () ++ operator delete (void* p) + { + ::operator delete (p); + } diff --git a/ports/libodb/portfile.cmake b/ports/libodb/portfile.cmake index 47becf880e7b5c..3bfc23cc876176 100644 --- a/ports/libodb/portfile.cmake +++ b/ports/libodb/portfile.cmake @@ -9,6 +9,8 @@ vcpkg_download_distfile(ARCHIVE vcpkg_extract_source_archive( SOURCE_PATH ARCHIVE "${ARCHIVE}" + PATCHES + fix-linux.patch ) file(REMOVE "${SOURCE_PATH}/version") @@ -20,6 +22,8 @@ file(COPY vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" DISABLE_PARALLEL_CONFIGURE + OPTIONS + -DCMAKE_CXX_STANDARD=11 # 17 removes 'auto_ptr' OPTIONS_DEBUG -DLIBODB_INSTALL_HEADERS=OFF ) diff --git a/ports/libodb/vcpkg.json b/ports/libodb/vcpkg.json index 0c666c06a9b872..f4e414821c25ed 100644 --- a/ports/libodb/vcpkg.json +++ b/ports/libodb/vcpkg.json @@ -1,7 +1,7 @@ { "name": "libodb", "version": "2.4.0", - "port-version": 10, + "port-version": 12, "description": "ODB library, base runtime for the ODB ORM solution", "homepage": "https://www.codesynthesis.com/products/odb/", "dependencies": [ diff --git a/ports/libopenmpt/CMakeLists.txt b/ports/libopenmpt/CMakeLists.txt index e33601cc0bbfb9..72234263be37c6 100644 --- a/ports/libopenmpt/CMakeLists.txt +++ b/ports/libopenmpt/CMakeLists.txt @@ -75,8 +75,18 @@ target_link_libraries( ZLIB::ZLIB ) +set(FAKE_CXX_LINKAGE "") +foreach(lib IN LISTS CMAKE_CXX_IMPLICIT_LINK_LIBRARIES) + if(lib IN_LIST CMAKE_C_IMPLICIT_LINK_LIBRARIES) + continue() + elseif(EXISTS "${lib}") + string(APPEND FAKE_CXX_LINKAGE " ${CMAKE_LINK_LIBRARY_FILE_FLAG}${lib}") + else() + string(APPEND FAKE_CXX_LINKAGE " ${CMAKE_LINK_LIBRARY_FLAG}${lib}") + endif() +endforeach() +set(LIBOPENMPT_LIBS_PRIVATE "${FAKE_CXX_LINKAGE}") set(LIBOPENMPT_REQUIRES_PRIVATE "zlib vorbis vorbisfile libmpg123") -set(LIBOPENMPT_LIBS_PRIVATE "") set(prefix "${CMAKE_INSTALL_PREFIX}") set(exec_prefix [[${prefix}]]) set(includedir [[${prefix}/include]]) diff --git a/ports/libopenmpt/portfile.cmake b/ports/libopenmpt/portfile.cmake index a0fb876fdfbb29..7cf56c2017c8d2 100644 --- a/ports/libopenmpt/portfile.cmake +++ b/ports/libopenmpt/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO OpenMPT/openmpt REF "libopenmpt-${VERSION}" - SHA512 ff89a4bf9b1831a5ca1241bddbeff30a16bb32132165e73fb51f6ad43450c23ed236a1ad26e99f1e4af4a65cb58c8ca6140e09b7ac7cd57771526dec160d851b + SHA512 ac13ae299c61ce61d5cfd580d5f6377817654c43c0164db1823501b31fdc873e64709bd6b91a0709eed95d9e9572849ec16d61eae6b05d9eabb419faf52cf9b2 HEAD_REF master ) diff --git a/ports/libopenmpt/vcpkg.json b/ports/libopenmpt/vcpkg.json index 63ad48fa84c8cc..c6f3770a5efc80 100644 --- a/ports/libopenmpt/vcpkg.json +++ b/ports/libopenmpt/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libopenmpt", - "version": "0.6.12", + "version": "0.7.10", "description": "A cross-platform C++ and C library to decode tracked music files (modules) into a raw PCM audio stream.", "homepage": "https://openmpt.org/", "license": "BSD-3-Clause", diff --git a/ports/libopensp/opensp.pc.in b/ports/libopensp/opensp.pc.in index 9ca06dce8d2255..2b659bd422a8be 100644 --- a/ports/libopensp/opensp.pc.in +++ b/ports/libopensp/opensp.pc.in @@ -5,8 +5,8 @@ includedir=${prefix}/include/OpenSP Name: opensp Description: SGML parser algorithm library -Version: @OPENSP_VERSION@ +Version: @VERSION@ Libs: -L${libdir} -losp Libs.private: @EXTRA_LIBS@ Cflags: -I${includedir} -Cflags.private: \ No newline at end of file +Cflags.private: diff --git a/ports/libopensp/portfile.cmake b/ports/libopensp/portfile.cmake index 013d2d63917bec..5466e207a3f9ad 100644 --- a/ports/libopensp/portfile.cmake +++ b/ports/libopensp/portfile.cmake @@ -1,6 +1,7 @@ -set(OPENSP_VERSION 1.5.2) - -set(PATCHES opensp_1.5.2-13.diff) # http://deb.debian.org/debian/pool/main/o/opensp/opensp_1.5.2-13.diff.gz +set(PATCHES + opensp_1.5.2-13.diff # http://deb.debian.org/debian/pool/main/o/opensp/opensp_1.5.2-13.diff.gz + use-cpp-using-declarations.patch +) if (VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_UWP) list(APPEND PATCHES windows_cmake_build.diff) # https://invent.kde.org/packaging/craft-blueprints-kde/-/tree/master/libs/libopensp endif() @@ -9,15 +10,15 @@ if (VCPKG_TARGET_IS_UWP) endif() vcpkg_download_distfile(ARCHIVE - URLS "https://downloads.sourceforge.net/project/openjade/opensp/${OPENSP_VERSION}/OpenSP-${OPENSP_VERSION}.tar.gz" - FILENAME "OpenSP-${OPENSP_VERSION}.tar.gz" + URLS "https://downloads.sourceforge.net/project/openjade/opensp/${VERSION}/OpenSP-${VERSION}.tar.gz" + FILENAME "OpenSP-${VERSION}.tar.gz" SHA512 a7dcc246ba7f58969ecd6d107c7b82dede811e65f375b7aa3e683621f2c6ff3e7dccefdd79098fcadad6cca8bb94c2933c63f4701be2c002f9a56f1bbe6b047e ) vcpkg_extract_source_archive( SOURCE_PATH ARCHIVE "${ARCHIVE}" - SOURCE_BASE ${OPENSP_VERSION} + SOURCE_BASE ${VERSION} PATCHES ${PATCHES} ) diff --git a/ports/libopensp/use-cpp-using-declarations.patch b/ports/libopensp/use-cpp-using-declarations.patch new file mode 100644 index 00000000000000..4a6e8bdc5bdfa8 --- /dev/null +++ b/ports/libopensp/use-cpp-using-declarations.patch @@ -0,0 +1,72 @@ +diff --git a/include/IList.h b/include/IList.h +index e66cd00..c94cfed 100644 +--- a/include/IList.h ++++ b/include/IList.h +@@ -26,7 +26,9 @@ public: + void swap(IList &list) { IListBase::swap(list); } + T *head() const { return (T *)IListBase::head(); } + T *get() { return (T *)IListBase::get(); } ++ using + IListBase::clear; ++ using + IListBase::empty; + friend class IListIter; + private: +diff --git a/include/IListIter.h b/include/IListIter.h +index 74e1bd6..d322bf8 100644 +--- a/include/IListIter.h ++++ b/include/IListIter.h +@@ -17,7 +17,9 @@ public: + IListIter(const IList &list) : IListIterBase(list) { } + T *cur() const { return (T *)IListIterBase::cur(); } + ++ using + IListIterBase::next; ++ using + IListIterBase::done; + }; + +diff --git a/include/Ptr.h b/include/Ptr.h +index c6b2767..5dda0ca 100644 +--- a/include/Ptr.h ++++ b/include/Ptr.h +@@ -69,7 +69,9 @@ public: + const T *operator->() const { return Ptr::pointer(); } + const T &operator*() const { return *Ptr::pointer(); } + void swap(ConstPtr &p) { Ptr::swap(p); } ++ using + Ptr::isNull; ++ using + Ptr::clear; + Boolean operator==(const Ptr &p) const { return Ptr::operator==(p); } + Boolean operator!=(const Ptr &p) const { return Ptr::operator!=(p); } +diff --git a/lib/Parser.h b/lib/Parser.h +index e721000..c6c41b2 100644 +--- a/lib/Parser.h ++++ b/lib/Parser.h +@@ -62,15 +62,25 @@ public: + Parser(const SgmlParser::Params &); + Event *nextEvent(); + void parseAll(EventHandler &, const volatile sig_atomic_t *cancelPtr); ++ using + ParserState::sdPointer; ++ using + ParserState::instanceSyntaxPointer; ++ using + ParserState::prologSyntaxPointer; ++ using + ParserState::activateLinkType; ++ using + ParserState::allLinkTypesActivated; ++ using + ParserState::entityManager; ++ using + ParserState::entityCatalog; ++ using + ParserState::baseDtd; ++ using + ParserState::options; ++ using + ParserState::instantiateDtd; + friend class PiAttspecParser; + private: diff --git a/ports/libopensp/vcpkg.json b/ports/libopensp/vcpkg.json index 90cd3583d499f7..879e196837f76f 100644 --- a/ports/libopensp/vcpkg.json +++ b/ports/libopensp/vcpkg.json @@ -1,7 +1,7 @@ { "name": "libopensp", "version": "1.5.2", - "port-version": 2, + "port-version": 3, "description": "SGML parser algorithm", "homepage": "http://openjade.sourceforge.net", "license": "MIT", diff --git a/ports/libopnmidi/fix-c++-standard.patch b/ports/libopnmidi/fix-c++-standard.patch new file mode 100644 index 00000000000000..965b6d5c33e7be --- /dev/null +++ b/ports/libopnmidi/fix-c++-standard.patch @@ -0,0 +1,78 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 20e167d..93885c3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,13 +1,35 @@ +-cmake_minimum_required (VERSION 3.2) ++cmake_minimum_required (VERSION 3.2...3.5) + project(libOPNMIDI VERSION 1.5.1 LANGUAGES C CXX) + + include(GNUInstallDirs) ++include(CheckCXXCompilerFlag) + + # Prefer C90 standard + set(CMAKE_C_STANDARD 90) + # Prefer C++98 standard + set(CMAKE_CXX_STANDARD 98) + ++if(MSVC) ++ check_cxx_compiler_flag("/std:c++14" COMPILER_SUPPORTS_CXX14) ++ if(COMPILER_SUPPORTS_CXX14) ++ set(FLAG_CPP14 "/std:c++14") ++ endif() ++ if(MSVC_VERSION LESS 1910) ++ unset(COMPILER_SUPPORTS_CXX14) # MSVC older than 2017 fails to build YMFM ++ endif() ++else() ++ check_cxx_compiler_flag("-std=c++14" COMPILER_SUPPORTS_CXX14) ++ if(COMPILER_SUPPORTS_CXX14) ++ set(FLAG_CPP14 "-std=c++14") ++ endif() ++endif() ++ ++if(COMPILER_SUPPORTS_CXX14) ++ message("== Your C++ compiler supports C++14, YMFM emulator will be ENABLED") ++else() ++ message("== Your C++ compiler does NOT supports C++14, YMFM emulator will be DISABLED") ++endif() ++ + if(NOT CMAKE_RUNTIME_OUTPUT_DIRECTORY) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) + endif() +@@ -59,13 +81,24 @@ if(NOT MSVC AND NOT MSDOS) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DVITA -DVITA=1 -fcompare-debug-second") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DVITA -DVITA=1 -fcompare-debug-second") + endif() ++ if(NINTENDO_3DS OR NINTENDO_WII OR NINTENDO_WIIU OR NINTENDO_SWITCH) ++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fcompare-debug-second") ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fcompare-debug-second") ++ endif() + endif() + +-if(NOT CMAKE_BUILD_TYPE) +- set(CMAKE_BUILD_TYPE "Release") ++if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX OR CMAKE_C_COMPILER_ID STREQUAL "Clang") ++ if(NINTENDO_3DS OR NINTENDO_WII OR NINTENDO_WIIU OR NINTENDO_SWITCH) ++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu90") ++ else() ++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c89") ++ endif() ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++98") + endif() + +-string(TOLOWER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_LOWER) ++if(DEFINED CMAKE_BUILD_TYPE) ++ string(TOLOWER "${CMAKE_BUILD_TYPE}" CMAKE_BUILD_TYPE_LOWER) ++endif() + if(CMAKE_BUILD_TYPE_LOWER EQUAL "release") + add_definitions(-DNDEBUG) + ENDIF() +@@ -88,7 +121,7 @@ function(set_legacy_standard destTarget) + if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) + # Turn on warnings and legacy C/C++ standards to support more compilers + target_compile_options(${destTarget} PRIVATE +- $<$:-Wall -pedantic -std=c90> ++ $<$:-Wall -pedantic -std=gnu90> + $<$:-Wall -pedantic -std=gnu++98> + ) + endif() diff --git a/ports/libopnmidi/portfile.cmake b/ports/libopnmidi/portfile.cmake index 16e15fdc07ad95..a312c7aae7d37a 100644 --- a/ports/libopnmidi/portfile.cmake +++ b/ports/libopnmidi/portfile.cmake @@ -10,6 +10,7 @@ vcpkg_from_github( disable-wopn2hpp.patch fix-build-without-sequencer.patch fix-pmdwin-emulator-include.patch + fix-c++-standard.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS diff --git a/ports/libopnmidi/vcpkg.json b/ports/libopnmidi/vcpkg.json index 960d4aac26031c..1fd91a9ef79fd6 100644 --- a/ports/libopnmidi/vcpkg.json +++ b/ports/libopnmidi/vcpkg.json @@ -1,7 +1,7 @@ { "name": "libopnmidi", "version": "1.5.1", - "port-version": 1, + "port-version": 2, "description": "libOPNMIDI is a free Software MIDI synthesizer library with OPN2 (YM2612) and OPNA (YM2608) emulation", "homepage": "https://github.com/Wohlstand/libOPNMIDI", "license": "LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR MIT", diff --git a/ports/liboqs/portfile.cmake b/ports/liboqs/portfile.cmake new file mode 100644 index 00000000000000..8cb6db9630dbe4 --- /dev/null +++ b/ports/liboqs/portfile.cmake @@ -0,0 +1,23 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO open-quantum-safe/liboqs + REF ${VERSION} + SHA512 93260f15c02108157fa595e252685c49c5fb6433d04b989c381da4e27169577f3011d9174b2ec0c110fff15d2d3c640a9833bf28aa53949e8f33c0e674b6e781 +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DOQS_BUILD_ONLY_LIB=ON + -DOQS_PERMIT_UNSUPPORTED_ARCHITECTURE=ON +) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/liboqs/vcpkg.json b/ports/liboqs/vcpkg.json new file mode 100644 index 00000000000000..487aeb17fe2fec --- /dev/null +++ b/ports/liboqs/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "liboqs", + "version": "0.12.0", + "description": "open source C library for quantum-safe cryptographic algorithms.", + "homepage": "https://openquantumsafe.org/", + "license": "MIT", + "supports": "!uwp & !(windows & static)", + "dependencies": [ + "openssl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/liborigin/portfile.cmake b/ports/liborigin/portfile.cmake new file mode 100644 index 00000000000000..2a11902571e6a4 --- /dev/null +++ b/ports/liborigin/portfile.cmake @@ -0,0 +1,29 @@ +vcpkg_from_sourceforge( + OUT_SOURCE_PATH SOURCE_PATH + REPO liborigin + REF liborigin/3.0 + FILENAME liborigin-${VERSION}.tar.gz + SHA512 44157e1a5c71d7344e58c4702a43fd315978bff74992e1d7c568517c0685f617062777c791d6089872197d30f20cc06617aa4bd31d6a458df97b27eacf2f0f19 +) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + set(LIB_OPTION "-DBUILD_STATIC_LIBS=OFF") +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${LIB_OPTION} +) + +vcpkg_cmake_build() + +vcpkg_cmake_install() + +vcpkg_fixup_pkgconfig() + +vcpkg_copy_tools(TOOL_NAMES opj2dat AUTO_CLEAN) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/liborigin/vcpkg.json b/ports/liborigin/vcpkg.json new file mode 100644 index 00000000000000..d9fc4218dd0ee7 --- /dev/null +++ b/ports/liborigin/vcpkg.json @@ -0,0 +1,13 @@ +{ + "name": "liborigin", + "version": "3.0.3", + "description": "A library for reading OriginLab OPJ project files.", + "homepage": "https://sourceforge.net/projects/liborigin/", + "license": "GPL-2.0-or-later", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/ports/libosdp/portfile.cmake b/ports/libosdp/portfile.cmake new file mode 100644 index 00000000000000..8270cf7e9bc2c2 --- /dev/null +++ b/ports/libosdp/portfile.cmake @@ -0,0 +1,43 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO goToMain/libosdp + REF "v${VERSION}" + SHA512 ebfc2010a89eb1bca9c47c283016750805f38bd5996d478105782bc54add184d0aa7e0f1b8b2f145e6b3af9584c0635522af6191167eeade88a4d878a0552fa0 + HEAD_REF master +) + +# Download and extract the c-utils submodule at ${SOURCE_PATH}/utils as +# it would be during a recursive checkout. +# +# Note: During package upgrade, the submodule ref needs to be updated. +vcpkg_from_github( + OUT_SOURCE_PATH UTILS_SOURCE_PATH + REPO goToMain/c-utils + REF "d295048d0362674e2a4b489b689d029b8f1f3d01" + SHA512 a0902a504fe6ffd1ce0f32d0a16decf0e113d1211d19e63f4fb539082254769f0a6484414a49f52956e45ed802b2c2f8430e87a06c24ac84205421cdffb4d3f0 + HEAD_REF master +) + +file(REMOVE_RECURSE "${SOURCE_PATH}/utils") +file(COPY "${UTILS_SOURCE_PATH}/" DESTINATION "${SOURCE_PATH}/utils") + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC) + +# Main commands +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DCONFIG_OSDP_LIB_ONLY=ON + -DCONFIG_BUILD_SHARED=${BUILD_SHARED} + -DCONFIG_BUILD_STATIC=${BUILD_STATIC} +) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/libosdp) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/libosdp/usage b/ports/libosdp/usage new file mode 100644 index 00000000000000..058891d78607f1 --- /dev/null +++ b/ports/libosdp/usage @@ -0,0 +1,9 @@ +libosdp provides CMake targets: + + find_package(LibOSDP CONFIG REQUIRED) + target_link_libraries(main PRIVATE $,libosdp::osdp,libosdp::osdpstatic>) + +libosdp provides pkg-config modules: + + # Open Supervised Device Protocol (OSDP) Library + libosdp diff --git a/ports/libosdp/vcpkg.json b/ports/libosdp/vcpkg.json new file mode 100644 index 00000000000000..c0adccb3cb5513 --- /dev/null +++ b/ports/libosdp/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "libosdp", + "version": "3.0.5", + "description": "An cross-platform open source implementation of IEC 60839-11-5 Open Supervised Device Protocol (OSDP)", + "homepage": "https://github.com/goToMain/libosdp", + "documentation": "https://libosdp.sidcha.dev", + "license": "Apache-2.0", + "dependencies": [ + "openssl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/libosip2/portfile.cmake b/ports/libosip2/portfile.cmake index c781c771854b39..8348c57a602655 100644 --- a/ports/libosip2/portfile.cmake +++ b/ports/libosip2/portfile.cmake @@ -1,9 +1,7 @@ -set(LIBOSIP2_VER "5.2.0") - vcpkg_download_distfile(ARCHIVE - URLS "https://ftp.gnu.org/gnu/osip/libosip2-${LIBOSIP2_VER}.tar.gz" "https://www.mirrorservice.org/sites/ftp.gnu.org/gnu/osip/libosip2-${LIBOSIP2_VER}.tar.gz" - FILENAME "libosip2-${LIBOSIP2_VER}.tar.gz" - SHA512 cc714ab5669c466ee8f0de78cf74a8b7633f3089bf104c9c1474326840db3d791270159456f9deb877af2df346b04493e8f796b2bb7d2be134f6c08b25a29f83 + URLS "https://ftp.gnu.org/gnu/osip/libosip2-${VERSION}.tar.gz" "https://www.mirrorservice.org/sites/ftp.gnu.org/gnu/osip/libosip2-${VERSION}.tar.gz" + FILENAME "libosip2-${VERSION}.tar.gz" + SHA512 cd9db7a736cca90c6862b84c4941ef025f5affab8af9bbc02ce0dd3310a2c555e0922c1bfa72d8ac08791fa1441bbcc30b627d52ca8b51f3471573a10ac82a00 ) set(PATCHES) @@ -17,7 +15,7 @@ vcpkg_extract_source_archive( PATCHES ${PATCHES} ) -if(VCPKG_TARGET_IS_WINDOWS) +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) # Use /Z7 rather than /Zi to avoid "fatal error C1090: PDB API call failed, error code '23': (0x00000006)" foreach(VCXPROJ IN ITEMS "${SOURCE_PATH}/platform/vsnet/osip2.vcxproj" @@ -41,7 +39,7 @@ if(VCPKG_TARGET_IS_WINDOWS) PROJECT_SUBPATH "platform/vsnet/osipparser2.vcxproj" ) -elseif(VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX) +else() vcpkg_configure_make(SOURCE_PATH "${SOURCE_PATH}") vcpkg_install_make() vcpkg_fixup_pkgconfig() diff --git a/ports/libosip2/vcpkg.json b/ports/libosip2/vcpkg.json index e6bfe4f5d1b9c2..976a67970bc0b1 100644 --- a/ports/libosip2/vcpkg.json +++ b/ports/libosip2/vcpkg.json @@ -1,7 +1,7 @@ { "name": "libosip2", - "version": "5.2.0", - "port-version": 5, + "version": "5.3.1", + "port-version": 1, "description": "oSIP is an LGPL implementation of SIP. It's stable, portable, flexible and compliant! -may be more-! It is used mostly with eXosip2 stack (GPL) which provides simpler API for User-Agent implementation.", "homepage": "https://www.gnu.org/software/osip/", "supports": "!(windows & arm) & !uwp", diff --git a/ports/libosmium/portfile.cmake b/ports/libosmium/portfile.cmake index 804c84ac6f94da..719d98c994480e 100644 --- a/ports/libosmium/portfile.cmake +++ b/ports/libosmium/portfile.cmake @@ -1,22 +1,23 @@ -# header-only library +set(VCPKG_BUILD_TYPE release) # header-only + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO osmcode/libosmium REF "v${VERSION}" SHA512 72e881e221dc3e62d7459b5cd84bf65de4fc0149bed66fe0534107d0d4dc30e5d474df685b44af07e6065a690dd7b31b877b5b040b8e0b4b0b971738175c34a3 ) -set(BOOST_ROOT "${CURRENT_INSTALLED_DIR}") vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_GDAL=ON + # for transitive dependencies via pkgconf + -DPKG_CONFIG_USE_CMAKE_PREFIX_PATH=1 + -DVCPKG_HOST_TRIPLET=${HOST_TRIPLET} ) - vcpkg_cmake_install() -# Handle copyright -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) - -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") \ No newline at end of file +file(INSTALL "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/libosmium/usage b/ports/libosmium/usage new file mode 100644 index 00000000000000..813a7052217f3e --- /dev/null +++ b/ports/libosmium/usage @@ -0,0 +1,4 @@ +libosmium is header-only and can be used from CMake via: + + find_path(OSMIUM_INCLUDE_DIRS "osmium/version.hpp") + target_include_directories(main PRIVATE ${OSMIUM_INCLUDE_DIRS}) diff --git a/ports/libosmium/vcpkg.json b/ports/libosmium/vcpkg.json index f73188c81ad538..e526a2e40f3716 100644 --- a/ports/libosmium/vcpkg.json +++ b/ports/libosmium/vcpkg.json @@ -1,6 +1,7 @@ { "name": "libosmium", "version-semver": "2.20.0", + "port-version": 1, "description": "A fast and flexible C++ library for working with OpenStreetMap data", "homepage": "https://osmcode.org/libosmium/", "license": "BSL-1.0", diff --git a/ports/libosmscout/portfile.cmake b/ports/libosmscout/portfile.cmake index b10ac9d37ad10e..4cb246225bcecf 100644 --- a/ports/libosmscout/portfile.cmake +++ b/ports/libosmscout/portfile.cmake @@ -4,6 +4,7 @@ vcpkg_from_github( REF c81e1d9a0f69cc5b93588dbe330b2af587162c5f SHA512 d6ddbc49dd40b1f938ae2cd1ea9342cab0a52db46bf7ed6716111a91d0a38acba12ff2e273d457db51fc240d578a5b849af77b53e600482cf52c3b22306f8c45 HEAD_REF master + PATCHES protobuf-linkage.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES diff --git a/ports/libosmscout/protobuf-linkage.patch b/ports/libosmscout/protobuf-linkage.patch new file mode 100644 index 00000000000000..f80afd83e31c0f --- /dev/null +++ b/ports/libosmscout/protobuf-linkage.patch @@ -0,0 +1,15 @@ +diff --git a/libosmscout-import/CMakeLists.txt b/libosmscout-import/CMakeLists.txt +index 36fa3585c..404f61aff 100644 +--- a/libosmscout-import/CMakeLists.txt ++++ b/libosmscout-import/CMakeLists.txt +@@ -146,8 +146,8 @@ endif() + + if (PROTOBUF_FOUND) + target_include_directories(OSMScoutImport PRIVATE ${Protobuf_INCLUDE_DIRS} ${CMAKE_CURRENT_BINARY_DIR}) +- target_link_libraries(OSMScoutImport ${Protobuf_LIBRARIES}) +- if(WIN32) ++ target_link_libraries(OSMScoutImport protobuf::libprotobuf) ++ if(0) + target_compile_definitions(OSMScoutImport PRIVATE -DPROTOBUF_USE_DLLS) + endif() + target_compile_definitions(OSMScoutImport PRIVATE -DOSMSCOUT_IMPORT_CMAKE_BUILD) diff --git a/ports/libosmscout/vcpkg.json b/ports/libosmscout/vcpkg.json index e49ed461e32754..fca91e195fbfa5 100644 --- a/ports/libosmscout/vcpkg.json +++ b/ports/libosmscout/vcpkg.json @@ -1,7 +1,7 @@ { "name": "libosmscout", "version": "1.1.1", - "port-version": 4, + "port-version": 5, "description": "libosmscout offers applications simple, high-level interfaces for offline location and POI lokup, rendering and routing functionalities based on OpenStreetMap (OSM) data.", "homepage": "http://libosmscout.sourceforge.net/", "documentation": "http://libosmscout.sourceforge.net/documentation/", diff --git a/ports/libp7client/portfile.cmake b/ports/libp7client/portfile.cmake index 0127ab91c51fac..63131c5f3020c0 100644 --- a/ports/libp7client/portfile.cmake +++ b/ports/libp7client/portfile.cmake @@ -21,4 +21,4 @@ vcpkg_copy_pdbs() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL "${SOURCE_PATH}/License.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}"RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/License.txt") diff --git a/ports/libp7client/vcpkg.json b/ports/libp7client/vcpkg.json index c3db1e637e7a61..4e2a56399fb45b 100644 --- a/ports/libp7client/vcpkg.json +++ b/ports/libp7client/vcpkg.json @@ -1,7 +1,7 @@ { "name": "libp7client", "version": "5.6", - "port-version": 4, + "port-version": 5, "description": "Open source, cross-platform, fastest library for sending logs, telemetry & trace data from your application.", "homepage": "https://baical.net/", "supports": "!(arm | uwp | osx)", diff --git a/ports/libpcap/add-disable-packet-option.patch b/ports/libpcap/add-disable-packet-option.patch deleted file mode 100644 index 8cec80674ec8f5..00000000000000 --- a/ports/libpcap/add-disable-packet-option.patch +++ /dev/null @@ -1,29 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 650be01..7565e58 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -521,6 +521,7 @@ set(SEPTEL_ROOT "${CMAKE_CURRENT_SOURCE_DIR}/../septel" CACHE PATH "Path to dire - option(DISABLE_SNF "Disable Myricom SNF support" OFF) - - option(DISABLE_TC "Disable Riverbed TurboCap support" OFF) -+option(DISABLE_PACKET "Disable Packet support" OFF) - - # - # Debugging options. -@@ -579,7 +580,7 @@ if(WIN32) - if(IS_DIRECTORY ${CMAKE_HOME_DIRECTORY}/../../Common) - include_directories(${CMAKE_HOME_DIRECTORY}/../../Common) - endif(IS_DIRECTORY ${CMAKE_HOME_DIRECTORY}/../../Common) -- -+ if(NOT DISABLE_PACKET) - find_package(Packet) - if(Packet_FOUND) - set(HAVE_PACKET32 TRUE) -@@ -594,6 +595,7 @@ if(WIN32) - check_function_exists(PacketGetTimestampModes HAVE_PACKET_GET_TIMESTAMP_MODES) - cmake_pop_check_state() - endif(Packet_FOUND) -+ endif() - - message(STATUS "checking for Npcap's version.h") - check_symbol_exists(WINPCAP_PRODUCT_NAME "${CMAKE_SOURCE_DIR}/../../version.h" HAVE_VERSION_H) diff --git a/ports/libpcap/install-pc-on-msvc.patch b/ports/libpcap/install-pc-on-msvc.patch deleted file mode 100644 index 2cc9513ac7d241..00000000000000 --- a/ports/libpcap/install-pc-on-msvc.patch +++ /dev/null @@ -1,37 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 58c5159..650be01 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -3238,9 +3238,12 @@ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/pcap.h DESTINATION include) - install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/pcap-bpf.h DESTINATION include) - install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/pcap-namedb.h DESTINATION include) - --# On UN*X, and on Windows when not using MSVC, generate libpcap.pc and --# pcap-config and process man pages and arrange that they be installed. --if(NOT MSVC) -+# Generate libpcap.pc -+if(MSVC AND NOT BUILD_SHARED_LIBS) -+ set(PACKAGE_NAME ${LIBRARY_NAME}_static) -+else() -+ set(PACKAGE_NAME ${LIBRARY_NAME}) -+endif() - set(prefix ${CMAKE_INSTALL_PREFIX}) - set(exec_prefix "\${prefix}") - set(includedir "\${prefix}/include") -@@ -3308,10 +3311,14 @@ if(NOT MSVC) - set(RPATH "") - endif() - endif() -- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/pcap-config.in ${CMAKE_CURRENT_BINARY_DIR}/pcap-config @ONLY) - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libpcap.pc.in ${CMAKE_CURRENT_BINARY_DIR}/libpcap.pc @ONLY) -- install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/pcap-config DESTINATION bin) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libpcap.pc DESTINATION lib/pkgconfig) -+# On UN*X, and on Windows when not using MSVC, generate libpcap.pc and -+# pcap-config and process man pages and arrange that they be installed. -+if(NOT MSVC) -+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/pcap-config.in ${CMAKE_CURRENT_BINARY_DIR}/pcap-config @ONLY) -+ install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/pcap-config DESTINATION bin) -+ - - # - # Man pages. diff --git a/ports/libpcap/install.diff b/ports/libpcap/install.diff new file mode 100644 index 00000000000000..839ada5159363d --- /dev/null +++ b/ports/libpcap/install.diff @@ -0,0 +1,53 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9012ef4..88179b0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -798,6 +798,7 @@ if(WIN32) + cmake_pop_check_state() + if(LIBWS2_32_HAS_GETADDRINFO) + set(PCAP_LINK_LIBRARIES ws2_32 ${PCAP_LINK_LIBRARIES}) ++ set(LIBS "-lws2_32 ${LIBS}") + else(LIBWS2_32_HAS_GETADDRINFO) + message(FATAL_ERROR "getaddrinfo is required, but wasn't found") + endif(LIBWS2_32_HAS_GETADDRINFO) +@@ -3405,7 +3406,8 @@ set(MANMISC_EXPAND + ) + + if(BUILD_SHARED_LIBS) +- set(LIBRARIES_TO_INSTALL "${LIBRARY_NAME}" "${LIBRARY_NAME_STATIC}") ++ set(LIBRARIES_TO_INSTALL "${LIBRARY_NAME}") ++ set_target_properties(${LIBRARY_NAME_STATIC} PROPERTIES EXCLUDE_FROM_ALL 1) + else(BUILD_SHARED_LIBS) + set(LIBRARIES_TO_INSTALL "${LIBRARY_NAME_STATIC}") + endif(BUILD_SHARED_LIBS) +@@ -3416,7 +3418,7 @@ if(WIN32 OR CYGWIN OR MSYS) + # the target is Windows; would there ever be a case where + # CYGWIN or MSYS are set but WIN32 *isn't* set? + # +- if(MSVC AND CMAKE_SIZEOF_VOID_P EQUAL 8) ++ if(0) + # + # Install 64-bit code built with MSVC in the x64 subdirectories, + # as that's where it expects it to be. +@@ -3463,7 +3465,10 @@ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/pcap-namedb.h DESTINATION ${CMAKE_INST + + # On UN*X, and on Windows when not using MSVC, generate libpcap.pc and + # pcap-config and process man pages and arrange that they be installed. +-if(NOT MSVC) ++if(1) ++ if(MSVC AND NOT BUILD_SHARED_LIBS) ++ string(APPEND PACKAGE_NAME "_static") ++ endif() + set(prefix ${CMAKE_INSTALL_PREFIX}) + set(exec_prefix "\${prefix}") + set(includedir "\${prefix}/include") +@@ -3533,8 +3538,8 @@ if(NOT MSVC) + endif() + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/pcap-config.in ${CMAKE_CURRENT_BINARY_DIR}/pcap-config @ONLY) + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libpcap.pc.in ${CMAKE_CURRENT_BINARY_DIR}/libpcap.pc @ONLY) +- install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/pcap-config DESTINATION bin) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libpcap.pc DESTINATION lib/pkgconfig) ++elseif(0) + + # + # Man pages. diff --git a/ports/libpcap/mingw-dynamic-libname.diff b/ports/libpcap/mingw-dynamic-libname.diff new file mode 100644 index 00000000000000..2a0b61a95a5519 --- /dev/null +++ b/ports/libpcap/mingw-dynamic-libname.diff @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 88179b0..51a2732 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -3222,10 +3222,6 @@ if(WIN32) + # For compatibility, build the shared library without the "lib" prefix on + # MinGW as well. + # +- set_target_properties(${LIBRARY_NAME} PROPERTIES +- PREFIX "" +- OUTPUT_NAME "${LIBRARY_NAME}" +- ) + set_target_properties(${LIBRARY_NAME}_static PROPERTIES + OUTPUT_NAME "${LIBRARY_NAME}" + ) diff --git a/ports/libpcap/portfile.cmake b/ports/libpcap/portfile.cmake index d412bab8cdf086..360721889eff81 100644 --- a/ports/libpcap/portfile.cmake +++ b/ports/libpcap/portfile.cmake @@ -2,80 +2,65 @@ if(EXISTS "${CURRENT_INSTALLED_DIR}/share/winpcap") message(FATAL_ERROR "FATAL ERROR: winpcap and libpcap are incompatible.") endif() -if(VCPKG_TARGET_IS_LINUX) - message( -"libpcap currently requires the following libraries from the system package manager: - flex - libbison-dev -These can be installed on Ubuntu systems via sudo apt install flex libbison-dev" - ) -endif() - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO the-tcpdump-group/libpcap REF "libpcap-${VERSION}" - SHA512 7352ff4d5bded916c0802e4a846fcb6b26e3ea8025dbbf58543abd9d9f6e8f7f5d60e03bcadb222d20434b7e052f663a560d7487af4b81fba74cf5aea040d733 + SHA512 bb8ba3a589425d71531312285a3c7ded4abdff5ea157b88195e06a2b4f8c93b4db0bca122e9ac853cff14cd16e9519dca30b6bdf0311e7749038fdce57325726 HEAD_REF master - PATCHES - install-pc-on-msvc.patch - add-disable-packet-option.patch + PATCHES + install.diff + mingw-dynamic-libname.diff ) vcpkg_find_acquire_program(BISON) -get_filename_component(BISON_PATH ${BISON} DIRECTORY) -vcpkg_add_to_path(${BISON_PATH}) vcpkg_find_acquire_program(FLEX) -get_filename_component(FLEX_PATH ${FLEX} DIRECTORY) -vcpkg_add_to_path(${FLEX_PATH}) string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" USE_STATIC_RT) +SET(options "") +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_CMAKE_CONFIGURE_OPTIONS MATCHES "Packet_ROOT") + list(APPEND options "-DPCAP_TYPE=null") + message(STATUS [[Attention: + +This build does not include packet capture capabilities. +In order to enable such capabilities, install the Npcap SDK or the WinPcap SDK, +and pass '-DPacket_ROOT=' via VCPKG_CMAKE_CONFIGURE_OPTIONS +in a custom triplet file. +]]) +endif() + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" DISABLE_PARALLEL_CONFIGURE OPTIONS - -DDISABLE_NETMAP=ON + ${options} + -DBUILD_WITH_LIBNL=OFF + -DDISABLE_AIRPCAP=ON -DDISABLE_BLUETOOTH=ON + -DDISABLE_DAG=ON -DDISABLE_DBUS=ON + -DDISABLE_DPDK=ON + -DDISABLE_NETMAP=ON -DDISABLE_RDMA=ON - -DDISABLE_DAG=ON -DDISABLE_SEPTEL=ON -DDISABLE_SNF=ON -DDISABLE_TC=ON - -DDISABLE_PACKET=ON -DENABLE_REMOTE=OFF + "-DLEX_EXECUTABLE=${FLEX}" + "-DYACC_EXECUTABLE=${BISON}" -DUSE_STATIC_RT=${USE_STATIC_RT} + MAYBE_UNUSED_VARIABLES + BUILD_WITH_LIBNL # linux only + CMAKE_DISABLE_FIND_PACKAGE_Packet # windows only ) vcpkg_cmake_install() -vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") - -# On Windows 64-bit, libpcap 1.10.1 installs the libraries in a x64 subdirectory of the usual directories -if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - set(libsubdir "x64") - file(GLOB_RECURSE FILES_TO_MOVE "${CURRENT_PACKAGES_DIR}/lib/${libsubdir}/*") - file(COPY ${FILES_TO_MOVE} DESTINATION "${CURRENT_PACKAGES_DIR}/lib") - file(GLOB_RECURSE FILES_TO_MOVE "${CURRENT_PACKAGES_DIR}/debug/lib/${libsubdir}/*") - file(COPY ${FILES_TO_MOVE} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") - file(GLOB_RECURSE FILES_TO_MOVE "${CURRENT_PACKAGES_DIR}/bin/${libsubdir}/*") - file(COPY ${FILES_TO_MOVE} DESTINATION "${CURRENT_PACKAGES_DIR}/bin") - file(GLOB_RECURSE FILES_TO_MOVE "${CURRENT_PACKAGES_DIR}/debug/bin/${libsubdir}/*") - file(COPY ${FILES_TO_MOVE} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/${libsubdir}" - "${CURRENT_PACKAGES_DIR}/debug/lib/${libsubdir}" - "${CURRENT_PACKAGES_DIR}/bin/${libsubdir}" - "${CURRENT_PACKAGES_DIR}/debug/bin/${libsubdir}") -endif() - -# Even if compiled with BUILD_SHARED_LIBS=ON, pcap also install a pcap_static library -if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/pcap_static.lib" "${CURRENT_PACKAGES_DIR}/debug/lib/pcap_static.lib") -endif() - vcpkg_fixup_pkgconfig() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") endif() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share" "${CURRENT_PACKAGES_DIR}/share/man") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/libpcap/vcpkg.json b/ports/libpcap/vcpkg.json index bf007b5144294a..1ec9cd115397f7 100644 --- a/ports/libpcap/vcpkg.json +++ b/ports/libpcap/vcpkg.json @@ -1,7 +1,6 @@ { "name": "libpcap", - "version-semver": "1.10.4", - "port-version": 1, + "version-semver": "1.10.5", "description": "A portable C/C++ library for network traffic capture", "homepage": "https://www.tcpdump.org/", "license": "BSD-3-Clause", diff --git a/ports/libphonenumber/portfile.cmake b/ports/libphonenumber/portfile.cmake index daccddbc190690..b119d54fab5d22 100644 --- a/ports/libphonenumber/portfile.cmake +++ b/ports/libphonenumber/portfile.cmake @@ -4,7 +4,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/libphonenumber REF "v${VERSION}" - SHA512 d7a576e64fd3f3ce9d4f79750d8c785c56efd97d90f37d0062fb2634124ed6b181c74e772b4d9e72daf8897cc9cae4d4e525dd8b5113739c8c7ac7279315cd66 + SHA512 849df2433eb264591b8f8040d6b673b415fecd3286ce25f05e545448e34dca8d8f8f5487b428e754dc3272021ae63513827672622124c5b1a0fc6b983aac7c78 HEAD_REF master PATCHES fix-re2-identifiers.patch diff --git a/ports/libphonenumber/vcpkg.json b/ports/libphonenumber/vcpkg.json index aec3bf3ca41eb3..fce3ff94088bf4 100644 --- a/ports/libphonenumber/vcpkg.json +++ b/ports/libphonenumber/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libphonenumber", - "version": "8.13.23", + "version": "8.13.45", "description": "Google's common Java, C++ and JavaScript library for parsing, formatting, and validating international phone numbers.", "license": "Apache-2.0", "dependencies": [ diff --git a/ports/libpng/cmake.patch b/ports/libpng/cmake.patch index 0e00c3b803d63c..ae48b74d3219af 100644 --- a/ports/libpng/cmake.patch +++ b/ports/libpng/cmake.patch @@ -1,13 +1,90 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 8652564..d0681d2 100644 +index f10f489..28ce98a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -614,7 +614,7 @@ if(PNG_STATIC) - # MSVC doesn't use a different file extension for shared vs. static - # libs. We are able to change OUTPUT_NAME to remove the _static - # for all other platforms. -- if(NOT MSVC) -+ if(1) - set_target_properties(png_static PROPERTIES - OUTPUT_NAME "${PNG_LIB_NAME}" - CLEAN_DIRECT_OUTPUT 1) +@@ -119,6 +119,12 @@ find_package(ZLIB REQUIRED) + if(UNIX + AND NOT (APPLE OR BEOS OR HAIKU) + AND NOT EMSCRIPTEN) ++ block(SCOPE_FOR VARIABLES) ++ if(VCPKG_CRT_LINKAGE STREQUAL "static") ++ list(PREPEND CMAKE_FIND_LIBRARY_SUFFIXES "${CMAKE_STATIC_LIBRARY_SUFFIX}") ++ endif() ++ find_library(M_LIBRARY m PATHS ${CMAKE_C_IMPLICIT_LINK_DIRECTORIES}) ++ endblock() + find_library(M_LIBRARY m) + if(M_LIBRARY) + set(M_LIBRARY m) +@@ -208,8 +214,8 @@ if(PNG_HARDWARE_OPTIMIZATIONS) + + # Set definitions and sources for MIPS. + if(PNG_TARGET_ARCHITECTURE MATCHES "^(mipsel|mips64el)") +- set(PNG_MIPS_MSA_POSSIBLE_VALUES on off) +- set(PNG_MIPS_MSA "on" ++ set(PNG_MIPS_MSA_POSSIBLE_VALUES on off check) ++ set(PNG_MIPS_MSA "check" + CACHE STRING "Enable MIPS_MSA optimizations: on|off; on is default") + set_property(CACHE PNG_MIPS_MSA + PROPERTY STRINGS ${PNG_MIPS_MSA_POSSIBLE_VALUES}) +@@ -241,6 +247,12 @@ if(PNG_HARDWARE_OPTIMIZATIONS) + mips/filter_msa_intrinsics.c) + add_definitions(-DPNG_MIPS_MSA_OPT=2) + add_definitions(-DPNG_MIPS_MMI_OPT=0) ++ elseif(PNG_MIPS_MSA STREQUAL "check") ++ set(libpng_mips_sources ++ mips/mips_init.c ++ mips/filter_msa_intrinsics.c) ++ add_definitions(-DPNG_MIPS_MSA_CHECK_SUPPORTED) ++ add_definitions(-DPNG_MIPS_MMI_CHECK_SUPPORTED) + elseif(PNG_MIPS_MMI STREQUAL "on") + set(libpng_mips_sources + mips/mips_init.c +@@ -594,7 +606,7 @@ else() + # We also need to use a custom suffix, in order to distinguish between the + # shared import library name and the static library name. + set(PNG_SHARED_OUTPUT_NAME "libpng${PNGLIB_ABI_VERSION}") +- set(PNG_STATIC_OUTPUT_NAME "libpng${PNGLIB_ABI_VERSION}_static") ++ set(PNG_STATIC_OUTPUT_NAME "libpng${PNGLIB_ABI_VERSION}") + endif() + + if(PNG_SHARED) +@@ -858,9 +870,9 @@ if(PNG_TESTS AND PNG_SHARED) + FILES ${PNGSUITE_PNGS}) + endif() + +-if(PNG_SHARED AND PNG_TOOLS) ++if(PNG_TOOLS) + add_executable(pngfix ${pngfix_sources}) +- target_link_libraries(pngfix PRIVATE png_shared) ++ target_link_libraries(pngfix PRIVATE $ $) # in vcpkg there's only one + set(PNG_BIN_TARGETS pngfix) + + add_executable(png-fix-itxt ${png_fix_itxt_sources}) +@@ -944,12 +956,15 @@ endif() + # We use the same files like ./configure, so we have to set its vars. + # Only do this on Windows for Cygwin - the files don't make much sense + # outside of a UNIX look-alike. +-if(NOT WIN32 OR CYGWIN OR MINGW) ++if(1) + set(prefix ${CMAKE_INSTALL_PREFIX}) + set(exec_prefix ${CMAKE_INSTALL_PREFIX}) + set(libdir ${CMAKE_INSTALL_FULL_LIBDIR}) + set(includedir ${CMAKE_INSTALL_FULL_INCLUDEDIR}) +- set(LIBS "-lz -lm") ++ set(LIBS "") ++ if(M_LIBRARY) ++ string(APPEND LIBS "-lm") ++ endif() + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libpng.pc.in + ${CMAKE_CURRENT_BINARY_DIR}/libpng${PNGLIB_ABI_VERSION}.pc + @ONLY) +@@ -1008,6 +1023,9 @@ if(NOT SKIP_INSTALL_PROGRAMS AND NOT SKIP_INSTALL_ALL) + endif() + + if(NOT SKIP_INSTALL_FILES AND NOT SKIP_INSTALL_ALL) ++ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libpng${PNGLIB_ABI_VERSION}.pc ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) ++elseif(0) + # Install the man pages. + install(FILES libpng.3 libpngpf.3 + DESTINATION ${CMAKE_INSTALL_MANDIR}/man3) diff --git a/ports/libpng/fix-export-targets.patch b/ports/libpng/fix-export-targets.patch deleted file mode 100644 index 577dc2f8f0b61f..00000000000000 --- a/ports/libpng/fix-export-targets.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index c01cdcb..0ad4ba4 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1033,6 +1033,12 @@ if(NOT SKIP_INSTALL_EXPORT AND NOT SKIP_INSTALL_ALL) - install(EXPORT libpng - DESTINATION lib/libpng - FILE lib${PNG_LIB_NAME}.cmake) -+ file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/libpng-config.cmake" " -+ include(CMakeFindDependencyMacro) -+ find_dependency(ZLIB) -+ include(\"\${CMAKE_CURRENT_LIST_DIR}/lib${PNG_LIB_NAME}.cmake\") -+ ") -+ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libpng-config.cmake" DESTINATION "${CMAKE_INSTALL_LIBDIR}/libpng") - endif() - - # TODO: Create MSVC import lib for MinGW-compiled shared lib. diff --git a/ports/libpng/fix-msa-support-for-mips.patch b/ports/libpng/fix-msa-support-for-mips.patch deleted file mode 100644 index fb41e161ee91ae..00000000000000 --- a/ports/libpng/fix-msa-support-for-mips.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index a249d42..1176c60 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -171,8 +171,8 @@ endif() - # Set definitions and sources for MIPS. - if(TARGET_ARCH MATCHES "mipsel*" OR - TARGET_ARCH MATCHES "mips64el*") -- set(PNG_MIPS_MSA_POSSIBLE_VALUES on off) -- set(PNG_MIPS_MSA "on" -+ set(PNG_MIPS_MSA_POSSIBLE_VALUES on off check) -+ set(PNG_MIPS_MSA "check" - CACHE STRING "Enable MIPS_MSA optimizations: on|off; on is default") - set_property(CACHE PNG_MIPS_MSA - PROPERTY STRINGS ${PNG_MIPS_MSA_POSSIBLE_VALUES}) -@@ -185,6 +185,8 @@ if(TARGET_ARCH MATCHES "mipsel*" OR - mips/filter_msa_intrinsics.c) - if(${PNG_MIPS_MSA} STREQUAL "on") - add_definitions(-DPNG_MIPS_MSA_OPT=2) -+ else() -+ add_definitions(-DPNG_MIPS_MSA_CHECK_SUPPORTED) - endif() - else() - add_definitions(-DPNG_MIPS_MSA_OPT=0) diff --git a/ports/libpng/libpng-config.cmake b/ports/libpng/libpng-config.cmake new file mode 100644 index 00000000000000..a2644487d4a11e --- /dev/null +++ b/ports/libpng/libpng-config.cmake @@ -0,0 +1,12 @@ +file(READ "${CMAKE_CURRENT_LIST_DIR}/usage" usage) +message(WARNING "find_package(libpng) is deprecated.\n${usage}") + +include(CMakeFindDependencyMacro) +find_dependency(PNG CONFIG) + +if(NOT TARGET png_shared) + add_library(png_shared ALIAS PNG::PNG) +endif() +if(NOT TARGET png_static) + add_library(png_static ALIAS PNG::PNG) +endif() diff --git a/ports/libpng/pkgconfig.patch b/ports/libpng/pkgconfig.patch deleted file mode 100644 index 2a04c192acd87e..00000000000000 --- a/ports/libpng/pkgconfig.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 0ad4ba4..a249d42 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -932,12 +932,15 @@ endif() - # We use the same files like ./configure, so we have to set its vars. - # Only do this on Windows for Cygwin - the files don't make much sense - # outside of a UNIX look-alike. --if(NOT WIN32 OR CYGWIN OR MINGW) -+if(1) - set(prefix ${CMAKE_INSTALL_PREFIX}) - set(exec_prefix ${CMAKE_INSTALL_PREFIX}) - set(libdir ${CMAKE_INSTALL_FULL_LIBDIR}) - set(includedir ${CMAKE_INSTALL_FULL_INCLUDEDIR}) -- set(LIBS "-lz -lm") -+ set(LIBS "") -+ if(M_LIBRARY) -+ string(APPEND LIBS "-lm") -+ endif() - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libpng.pc.in - ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}.pc - @ONLY) -@@ -1010,6 +1013,9 @@ if(NOT SKIP_INSTALL_PROGRAMS AND NOT SKIP_INSTALL_ALL) - endif() - - if(NOT SKIP_INSTALL_FILES AND NOT SKIP_INSTALL_ALL) -+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}.pc -+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) -+elseif(0) - # Install the man pages. - install(FILES libpng.3 libpngpf.3 - DESTINATION ${CMAKE_INSTALL_MANDIR}/man3) diff --git a/ports/libpng/portfile.cmake b/ports/libpng/portfile.cmake index d4628ac09701ab..fc134d14540d56 100644 --- a/ports/libpng/portfile.cmake +++ b/ports/libpng/portfile.cmake @@ -1,6 +1,5 @@ # Download the apng patch set(LIBPNG_APNG_PATCH_PATH "") -set(LIBPNG_APNG_OPTION "") if ("apng" IN_LIST FEATURES) if(VCPKG_HOST_IS_WINDOWS) # Get (g)awk and gzip installed @@ -13,7 +12,7 @@ if ("apng" IN_LIST FEATURES) vcpkg_download_distfile(LIBPNG_APNG_PATCH_ARCHIVE URLS "https://downloads.sourceforge.net/project/libpng-apng/libpng16/${VERSION}/${LIBPNG_APNG_PATCH_NAME}.gz" FILENAME "${LIBPNG_APNG_PATCH_NAME}.gz" - SHA512 97a182da0b3b54aecf735e3655d8e8f1a569ae957b23fc3d7a9c8cc65dcdd26f34f173ce9f60af99b01d5347267b2afefaf787c500ce1005e86bf2810b3d0738 + SHA512 60a0b3072f4d1fddcce79eaa89f461d27c32e4c1a4cf3e6dc30ff1091aeceeb2fbfacf830bdb59bad98e39091fdd47458589411b59f94e2d4fc9c121b0545291 ) set(LIBPNG_APNG_PATCH_PATH "${CURRENT_BUILDTREES_DIR}/src/${LIBPNG_APNG_PATCH_NAME}") if (NOT EXISTS "${LIBPNG_APNG_PATCH_PATH}") @@ -25,26 +24,30 @@ if ("apng" IN_LIST FEATURES) LOGNAME extract-patch.log ) endif() - set(LIBPNG_APNG_OPTION "-DPNG_PREFIX=a") endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO glennrp/libpng + REPO pnggroup/libpng REF v${VERSION} - SHA512 d61408cee5850582baa57166547ccab6cc171bc809076e53494ace26157fd7787c3209e3b757fd68c541bfb95afe309745d887fb5cd2005b2024af7355c809a0 + SHA512 b999c241ce5d95dfae5bb2c71e8b686a1c4af69b67262bda309a58c83967b5f3eacd7987d6990f71ebc16aa89f4f7a59c846857d56c80bca7e9ec657caff62c7 HEAD_REF master PATCHES "${LIBPNG_APNG_PATCH_PATH}" cmake.patch - fix-export-targets.patch - pkgconfig.patch - fix-msa-support-for-mips.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" PNG_SHARED) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" PNG_STATIC) +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + tools PNG_TOOLS + INVERTED_FEATURES + tools SKIP_INSTALL_PROGRAMS +) + vcpkg_list(SET LIBPNG_HARDWARE_OPTIMIZATIONS_OPTION) if(VCPKG_TARGET_IS_IOS) vcpkg_list(APPEND LIBPNG_HARDWARE_OPTIMIZATIONS_OPTION "-DPNG_HARDWARE_OPTIMIZATIONS=OFF") @@ -65,27 +68,35 @@ if(VCPKG_TARGET_IS_ANDROID) endif() endif() +if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64" AND VCPKG_TARGET_IS_LINUX) + vcpkg_list(APPEND LIBPNG_HARDWARE_OPTIMIZATIONS_OPTION "-DPNG_ARM_NEON=on") +endif() + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - ${LIBPNG_APNG_OPTION} ${LIBPNG_HARDWARE_OPTIMIZATIONS_OPTION} ${LD_VERSION_SCRIPT_OPTION} -DPNG_STATIC=${PNG_STATIC} -DPNG_SHARED=${PNG_SHARED} + -DPNG_FRAMEWORK=OFF -DPNG_TESTS=OFF - -DSKIP_INSTALL_PROGRAMS=ON -DSKIP_INSTALL_EXECUTABLES=ON -DSKIP_INSTALL_FILES=OFF + ${FEATURE_OPTIONS} OPTIONS_DEBUG -DSKIP_INSTALL_HEADERS=ON MAYBE_UNUSED_VARIABLES PNG_ARM_NEON ) vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME png CONFIG_PATH lib/cmake/PNG) vcpkg_cmake_config_fixup(CONFIG_PATH lib/libpng) file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/png") +# unofficial legacy usage +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/libpng-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + vcpkg_fixup_pkgconfig() if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) if(NOT VCPKG_BUILD_TYPE) @@ -100,6 +111,11 @@ endif() file(INSTALL "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libpng16.pc" DESTINATION "${CURRENT_PACKAGES_DIR}/lib/pkgconfig" RENAME "libpng.pc") vcpkg_copy_pdbs() + +if(PNG_TOOLS) + vcpkg_copy_tools(TOOL_NAMES "pngfix" "png-fix-itxt" AUTO_CLEAN) +endif() + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/libpng/usage b/ports/libpng/usage index 19203399c64140..628d844ed9cd2e 100644 --- a/ports/libpng/usage +++ b/ports/libpng/usage @@ -1,4 +1,4 @@ -The package libpng is compatible with built-in CMake targets: +libpng provides CMake targets: - find_package(PNG REQUIRED) - target_link_libraries(main PRIVATE PNG::PNG) + find_package(PNG REQUIRED) + target_link_libraries(main PRIVATE PNG::PNG) diff --git a/ports/libpng/vcpkg.json b/ports/libpng/vcpkg.json index a5fb4f90be5603..188352ff918e74 100644 --- a/ports/libpng/vcpkg.json +++ b/ports/libpng/vcpkg.json @@ -1,9 +1,8 @@ { "name": "libpng", - "version": "1.6.39", - "port-version": 1, + "version": "1.6.45", "description": "libpng is a library implementing an interface for reading and writing PNG (Portable Network Graphics) format files", - "homepage": "https://github.com/glennrp/libpng", + "homepage": "https://github.com/pnggroup/libpng", "license": "libpng-2.0", "dependencies": [ { @@ -24,6 +23,10 @@ "features": { "apng": { "description": "This is backward compatible with the regular libpng, both in library usage and format" + }, + "tools": { + "description": "Build the libpng tools", + "supports": "!android & !ios" } } } diff --git a/ports/libpopt/CMakeLists.txt b/ports/libpopt/CMakeLists.txt index 5348757b4784e1..c6c3b8d0af4575 100644 --- a/ports/libpopt/CMakeLists.txt +++ b/ports/libpopt/CMakeLists.txt @@ -19,6 +19,10 @@ if(POPT_USE_CONFIG) include(CheckIncludeFile) include(CheckFunctionExists) + if(ANDROID AND ANDROID_NATIVE_API_LEVEL LESS "28") + set(HAVE_GLOB_H FALSE CACHE INTERNAL "") + endif() + check_include_file(float.h HAVE_FLOAT_H) check_include_file(fnmatch.h HAVE_FNMATCH_H) check_include_file(glob.h HAVE_GLOB_H) @@ -48,6 +52,8 @@ include_directories(${CMAKE_BINARY_DIR}) add_library(popt ${SOURCES}) if (MSVC) target_compile_options(popt PRIVATE /wd4996) +else() + target_compile_options(popt PRIVATE -Wno-error=implicit-function-declaration) endif() install(TARGETS popt diff --git a/ports/libpopt/vcpkg.json b/ports/libpopt/vcpkg.json index 8eb546202cdf5f..9b0d106de6764c 100644 --- a/ports/libpopt/vcpkg.json +++ b/ports/libpopt/vcpkg.json @@ -1,7 +1,7 @@ { "name": "libpopt", "version": "1.16", - "port-version": 16, + "port-version": 18, "description": "Library for parsing command line parameters", "dependencies": [ { diff --git a/ports/libpq/android/unversioned_so.patch b/ports/libpq/android/unversioned_so.patch new file mode 100644 index 00000000000000..42096a3675edae --- /dev/null +++ b/ports/libpq/android/unversioned_so.patch @@ -0,0 +1,16 @@ +diff --git a/src/Makefile.shlib b/src/Makefile.shlib +index f94d59d1c597..8ca51ca03f75 100644 +--- a/src/Makefile.shlib ++++ b/src/Makefile.shlib +@@ -183,6 +183,11 @@ endif + ifeq ($(PORTNAME), linux) + LINK.shared = $(COMPILER) -shared + ifdef soname ++ ifneq (,$(findstring linux-android,$(host_os))) ++ # Android uses unversioned shared libraries ++ shlib = $(shlib_bare) ++ soname = $(shlib_bare) ++ endif + LINK.shared += -Wl,-soname,$(soname) + endif + BUILD.exports = ( echo '{ global:'; $(AWK) '/^[^\#]/ {printf "%s;\n",$$1}' $<; echo ' local: *; };' ) >$@ diff --git a/ports/libpq/portfile.cmake b/ports/libpq/portfile.cmake index 77abf18c278568..35c436a89f8e34 100644 --- a/ports/libpq/portfile.cmake +++ b/ports/libpq/portfile.cmake @@ -1,7 +1,8 @@ vcpkg_download_distfile(ARCHIVE URLS "https://ftp.postgresql.org/pub/source/v${VERSION}/postgresql-${VERSION}.tar.bz2" + "https://www.mirrorservice.org/sites/ftp.postgresql.org/source/v${VERSION}/postgresql-${VERSION}.tar.bz2" FILENAME "postgresql-${VERSION}.tar.bz2" - SHA512 c66b72d2d9bc503b9ad19c67384517ae921c494b2916f32157c2528dcbb38aefeb4a8cd5003fd40ba8a19612ea64511d534ff5d99e7a1b266024232f983bcf39 + SHA512 f2070299f0857a270317ac984f8393374cf00d4f32a082fe3c5481e36c560595ea711fed95e40d1bc90c5089edf8f165649d443d8b9c68614e1c83fc91268e96 ) vcpkg_extract_source_archive( @@ -15,16 +16,15 @@ vcpkg_extract_source_archive( unix/mingw-install.patch unix/python.patch windows/macro-def.patch - windows/python_lib.patch windows/win_bison_flex.patch windows/msbuild.patch windows/spin_delay.patch + android/unversioned_so.patch ) file(GLOB _py3_include_path "${CURRENT_HOST_INSTALLED_DIR}/include/python3*") string(REGEX MATCH "python3\\.([0-9]+)" _python_version_tmp "${_py3_include_path}") set(PYTHON_VERSION_MINOR "${CMAKE_MATCH_1}") -vcpkg_replace_string("${SOURCE_PATH}/configure.ac" "python_version=3.REPLACEME" "python_version=3.${PYTHON_VERSION_MINOR}") if("client" IN_LIST FEATURES) set(HAS_TOOLS TRUE) @@ -32,20 +32,19 @@ else() set(HAS_TOOLS FALSE) endif() -set(required_programs PERL) -if(VCPKG_TARGET_IS_WINDOWS) - list(APPEND required_programs BISON FLEX) +vcpkg_cmake_get_vars(cmake_vars_file) +include("${cmake_vars_file}") + +set(required_programs BISON FLEX) +if(VCPKG_DETECTED_MSVC OR NOT VCPKG_HOST_IS_WINDOWS) + list(APPEND required_programs PERL) endif() foreach(program_name IN LISTS required_programs) - # Need to rename win_bison and win_flex to just bison and flex vcpkg_find_acquire_program(${program_name}) get_filename_component(program_dir ${${program_name}} DIRECTORY) vcpkg_add_to_path(PREPEND "${program_dir}") endforeach() -vcpkg_cmake_get_vars(cmake_vars_file) -include("${cmake_vars_file}") - if(VCPKG_DETECTED_MSVC) if("nls" IN_LIST FEATURES) vcpkg_acquire_msys(MSYS_ROOT PACKAGES gettext) @@ -89,7 +88,7 @@ else() file(COPY "${CMAKE_CURRENT_LIST_DIR}/Makefile" DESTINATION "${SOURCE_PATH}") vcpkg_list(SET BUILD_OPTS) - foreach(option IN ITEMS icu lz4 nls openssl python readline xml xslt zlib zstd) + foreach(option IN ITEMS icu lz4 nls openssl readline xml xslt zlib zstd) if(option IN_LIST FEATURES) list(APPEND BUILD_OPTS --with-${option}) else() @@ -103,6 +102,7 @@ else() endif() endif() if("python" IN_LIST FEATURES) + list(APPEND BUILD_OPTS --with-python=3.${PYTHON_VERSION_MINOR}) vcpkg_find_acquire_program(PYTHON3) list(APPEND BUILD_OPTS "PYTHON=${PYTHON3}") endif() diff --git a/ports/libpq/unix/fix-configure.patch b/ports/libpq/unix/fix-configure.patch index e5e1b91658042f..10bbbd104dd72e 100644 --- a/ports/libpq/unix/fix-configure.patch +++ b/ports/libpq/unix/fix-configure.patch @@ -4,7 +4,7 @@ index 7f97248..48ff1a1 100644 +++ b/configure.ac @@ -19,7 +19,8 @@ m4_pattern_forbid(^PGAC_)dnl to catch undefined macros - AC_INIT([PostgreSQL], [16.0], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/]) + AC_INIT([PostgreSQL], [16.4], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/]) -m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.69], [], [m4_fatal([Autoconf version 2.69 is required. +cross_compiling=yes # Avoid conftest loading shared objects diff --git a/ports/libpq/unix/python.patch b/ports/libpq/unix/python.patch index c83458025b455d..7d8f58d4af1970 100644 --- a/ports/libpq/unix/python.patch +++ b/ports/libpq/unix/python.patch @@ -1,14 +1,24 @@ diff --git a/configure.ac b/configure.ac -index a35395e..3c1b3e2 100644 +index 7f97248992..33b6c84fc4 100644 --- a/configure.ac +++ b/configure.ac -@@ -1176,7 +1176,19 @@ fi +@@ -891,7 +891,9 @@ AC_SUBST(with_perl) + # Optionally build Python modules (PL/Python) + # + AC_MSG_CHECKING([whether to build Python modules]) +-PGAC_ARG_BOOL(with, python, no, [build Python modules (PL/Python)]) ++PGAC_ARG_OPTARG(with, python, [PYTHON_VERSION], [build Python modules (PL/Python)], ++ [], ++ [python_version=$withval]) + AC_MSG_RESULT([$with_python]) + AC_SUBST(with_python) + +@@ -1214,7 +1216,18 @@ fi if test "$with_python" = yes; then PGAC_PATH_PYTHON - PGAC_CHECK_PYTHON_EMBED_SETUP + python_majorversion=3 -+ python_version=3.REPLACEME + PKG_CHECK_MODULES(PYTHON_EMBED, python-${python_version}-embed) + python_includespec="${PYTHON_EMBED_CFLAGS}" + python_libdir=[$(echo " ${PYTHON_EMBED_LIBS}" | sed -e 's/\( -L[^ ]*\).*/\1/' -e 's/^.* -L//')] diff --git a/ports/libpq/vcpkg.json b/ports/libpq/vcpkg.json index 13e9e6d4b23b70..7fbbd7716a9e9a 100644 --- a/ports/libpq/vcpkg.json +++ b/ports/libpq/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libpq", - "version": "16.0", + "version": "16.4", "description": "The official database access API of postgresql", "homepage": "https://www.postgresql.org/", "license": "PostgreSQL", diff --git a/ports/libpq/windows/msbuild.patch b/ports/libpq/windows/msbuild.patch index 27ff546441f0cd..e6c70ad0947616 100644 --- a/ports/libpq/windows/msbuild.patch +++ b/ports/libpq/windows/msbuild.patch @@ -396,16 +396,3 @@ index b6d31c3..27d89fc 100644 } if ($self->{options}->{uuid}) { -diff --git a/src/tools/msvc/gendef.pl b/src/tools/msvc/gendef.pl -index cf83d7d..2d9a4ec 100644 ---- a/src/tools/msvc/gendef.pl -+++ b/src/tools/msvc/gendef.pl -@@ -122,7 +122,7 @@ sub writedef - - # Strip the leading underscore for win32, but not x64 - $f =~ s/^_// -- unless ($arch eq "x86_64"); -+ if ($arch eq "Win32"); - - # Emit just the name if it's a function symbol, or emit the name - # decorated with the DATA option for variables. diff --git a/ports/libpq/windows/python_lib.patch b/ports/libpq/windows/python_lib.patch deleted file mode 100644 index cd012329f36f51..00000000000000 --- a/ports/libpq/windows/python_lib.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/src/pl/plpython/plpython.h b/src/pl/plpython/plpython.h -index 3a1f0d56d..6a8a09a20 100644 ---- a/src/pl/plpython/plpython.h -+++ b/src/pl/plpython/plpython.h -@@ -45,12 +45,10 @@ - #if defined(_MSC_VER) && defined(_DEBUG) - /* Python uses #pragma to bring in a non-default libpython on VC++ if - * _DEBUG is defined */ --#undef _DEBUG - /* Also hide away errcode, since we load Python.h before postgres.h */ - #define errcode __msvc_errcode - #include - #undef errcode --#define _DEBUG - #elif defined (_MSC_VER) - #define errcode __msvc_errcode - #include diff --git a/ports/libpqxx/fix_build_with_vs2017.patch b/ports/libpqxx/fix_build_with_vs2017.patch index 48b648b4fc8476..1267111d881c05 100644 --- a/ports/libpqxx/fix_build_with_vs2017.patch +++ b/ports/libpqxx/fix_build_with_vs2017.patch @@ -1,12 +1,11 @@ diff --git a/include/pqxx/internal/header-pre.hxx b/include/pqxx/internal/header-pre.hxx -index abc1a39..cba0242 100644 +index 833d583..21b7400 100644 --- a/include/pqxx/internal/header-pre.hxx +++ b/include/pqxx/internal/header-pre.hxx -@@ -90,6 +90,12 @@ +@@ -101,6 +101,11 @@ // Workarounds for Microsoft Visual C++ # ifdef _MSC_VER -+ +// Workarounds for deprecated attribute syntax error in Visual Studio 2017. +# if _MSC_VER < 1920 +# define PQXX_DEPRECATED(MESSAGE) __declspec(deprecated( #MESSAGE )) @@ -15,7 +14,7 @@ index abc1a39..cba0242 100644 // Suppress vtables on abstract classes. # define PQXX_NOVTABLE __declspec(novtable) -@@ -159,6 +165,10 @@ +@@ -170,6 +175,10 @@ # define PQXX_NOVTABLE /* novtable */ #endif @@ -27,7 +26,7 @@ index abc1a39..cba0242 100644 #if defined(PQXX_HAVE_LIKELY) # define PQXX_LIKELY [[likely]] diff --git a/include/pqxx/stream_from.hxx b/include/pqxx/stream_from.hxx -index 1e8a272..299248c 100644 +index b275a7f..c63a80f 100644 --- a/include/pqxx/stream_from.hxx +++ b/include/pqxx/stream_from.hxx @@ -160,7 +160,7 @@ public: @@ -73,10 +72,10 @@ index 1e8a272..299248c 100644 Iter columns_end); diff --git a/include/pqxx/stream_to.hxx b/include/pqxx/stream_to.hxx -index 2a49d8f..06e602e 100644 +index 281af28..838003d 100644 --- a/include/pqxx/stream_to.hxx +++ b/include/pqxx/stream_to.hxx -@@ -169,7 +169,7 @@ public: +@@ -248,7 +248,7 @@ public: * your data fields and the table is explicit in your code, and not hidden * in an "implicit contract" between your code and your schema. */ @@ -85,7 +84,7 @@ index 2a49d8f..06e602e 100644 transaction_base &tx, std::string_view table_name) : stream_to{tx, table_name, ""sv} {} -@@ -178,14 +178,14 @@ public: +@@ -257,7 +257,7 @@ public: /** @deprecated Use @ref table or @ref raw_table as a factory. */ template @@ -93,12 +92,4 @@ index 2a49d8f..06e602e 100644 + PQXX_DEPRECATED("Use table() or raw_table() factory.") stream_to( transaction_base &, std::string_view table_name, Columns const &columns); - /// Create a stream, specifying column names as a sequence of strings. - /** @deprecated Use @ref table or @ref raw_table as a factory. - */ - template -- [[deprecated("Use table() or raw_table() factory.")]] stream_to( -+ PQXX_DEPRECATED("Use table() or raw_table() factory.") stream_to( - transaction_base &, std::string_view table_name, Iter columns_begin, - Iter columns_end); - + private: diff --git a/ports/libpqxx/portfile.cmake b/ports/libpqxx/portfile.cmake index da75692fbffe5e..af34fb231ee9fe 100644 --- a/ports/libpqxx/portfile.cmake +++ b/ports/libpqxx/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO jtv/libpqxx REF "${VERSION}" - SHA512 ce37fdfce2671d97e422ae3339fb5650065111b0635a7293200c56a8755a7dc7de80806816863c606c46b6049e4cb490d24dfb97446ea0014b55907554862fed + SHA512 f4035b1d976580f0ca101d484940f18a5af8299e249b754098c6c4bbe8198a855013112965300f7d978ca127b75547f2e2f4fb567b77114f010392952f0ed642 HEAD_REF master PATCHES fix_build_with_vs2017.patch diff --git a/ports/libpqxx/vcpkg.json b/ports/libpqxx/vcpkg.json index 29e8aced825fe7..cc28a04044512a 100644 --- a/ports/libpqxx/vcpkg.json +++ b/ports/libpqxx/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libpqxx", - "version": "7.8.1", + "version": "7.9.2", "description": "The official C++ client API for PostgreSQL", "homepage": "https://www.postgresql.org/", "license": "BSD-3-Clause", diff --git a/ports/libprotobuf-mutator/portfile.cmake b/ports/libprotobuf-mutator/portfile.cmake index 4f79efcd729424..2f941248fb2de1 100644 --- a/ports/libprotobuf-mutator/portfile.cmake +++ b/ports/libprotobuf-mutator/portfile.cmake @@ -6,8 +6,11 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/libprotobuf-mutator REF "v${VERSION}" - SHA512 cafc59c6c1e26a3e4873ec47f12db290739e98f229a17352c740aa17ac41f1435268eb0c45518b07e5c33280c18da1c4e363a31200569ffe636250e7c904b55e + SHA512 9c752cf2bdbf9228ba5a7c1e7a552ea7e12bda226ad8268e4cb9f135a79aee9c3ff0c1f2dfebe5d011282835a63d3b9cf3b3f642f02a3e00bb0b5eee9580a3dd HEAD_REF master + PATCHES + protobuf-cmake.patch + werror.patch ) string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" STATIC_RUNTIME) @@ -17,6 +20,8 @@ vcpkg_cmake_configure( -DLIB_PROTO_MUTATOR_TESTING=OFF -DLIB_PROTO_MUTATOR_MSVC_STATIC_RUNTIME=${STATIC_RUNTIME} -DPKG_CONFIG_PATH=lib/pkgconfig + MAYBE_UNUSED_VARIABLES + LIB_PROTO_MUTATOR_MSVC_STATIC_RUNTIME ) vcpkg_cmake_install() @@ -25,4 +30,4 @@ vcpkg_fixup_pkgconfig() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/libprotobuf-mutator/protobuf-cmake.patch b/ports/libprotobuf-mutator/protobuf-cmake.patch new file mode 100644 index 00000000000000..8b775ce9a9ede6 --- /dev/null +++ b/ports/libprotobuf-mutator/protobuf-cmake.patch @@ -0,0 +1,27 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 321874c..2b4b492 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -20,7 +20,7 @@ add_library(protobuf-mutator + text_format.cc + utf8_fix.cc) + target_link_libraries(protobuf-mutator +- ${Protobuf_LIBRARIES}) ++ PUBLIC protobuf::libprotobuf) + set_target_properties(protobuf-mutator PROPERTIES + COMPILE_FLAGS "${NO_FUZZING_FLAGS}" + SOVERSION 0) +diff --git a/src/libfuzzer/CMakeLists.txt b/src/libfuzzer/CMakeLists.txt +index 7100ef1..9863138 100644 +--- a/src/libfuzzer/CMakeLists.txt ++++ b/src/libfuzzer/CMakeLists.txt +@@ -16,8 +16,7 @@ add_library(protobuf-mutator-libfuzzer + libfuzzer_mutator.cc + libfuzzer_macro.cc) + target_link_libraries(protobuf-mutator-libfuzzer +- protobuf-mutator +- ${Protobuf_LIBRARIES}) ++ PUBLIC protobuf-mutator) + set_target_properties(protobuf-mutator-libfuzzer PROPERTIES + COMPILE_FLAGS "${NO_FUZZING_FLAGS}" + SOVERSION 0) diff --git a/ports/libprotobuf-mutator/vcpkg.json b/ports/libprotobuf-mutator/vcpkg.json index 8e7a1ad80d6549..ce6a8270c49cb4 100644 --- a/ports/libprotobuf-mutator/vcpkg.json +++ b/ports/libprotobuf-mutator/vcpkg.json @@ -1,6 +1,7 @@ { "name": "libprotobuf-mutator", - "version": "1.1", + "version": "1.3", + "port-version": 1, "description": "Library for structured fuzzing with protobuffers.", "dependencies": [ "liblzma", diff --git a/ports/libprotobuf-mutator/werror.patch b/ports/libprotobuf-mutator/werror.patch new file mode 100644 index 00000000000000..1cf40b086c947a --- /dev/null +++ b/ports/libprotobuf-mutator/werror.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2e4b78e..4541d17 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -84,7 +84,7 @@ unset(CMAKE_REQUIRED_FLAGS) + check_cxx_compiler_flag(-Wstring-conversion LIB_PROTO_MUTATOR_HAS_WSTRING_CONVERSION) + + if (NOT MSVC) +- set(EXTRA_FLAGS "-fno-exceptions -Werror -Wall") ++ set(EXTRA_FLAGS "-fno-exceptions") + if (LIB_PROTO_MUTATOR_HAS_WSTRING_CONVERSION) + set(EXTRA_FLAGS "${EXTRA_FLAGS} -Wstring-conversion") + endif() diff --git a/ports/libpsl/portfile.cmake b/ports/libpsl/portfile.cmake new file mode 100644 index 00000000000000..dfd8fe7c95d9db --- /dev/null +++ b/ports/libpsl/portfile.cmake @@ -0,0 +1,52 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO rockdaboot/libpsl + REF "${VERSION}" + SHA512 "d8e224b2ce5d9a6ac78700eb8975d09aef4e5af7db29539e5e339c5cd100f1272371fe45757ab5383ddbcd569bdf9d697a78932ea9fdf43ff48d3cea02f644cd" + HEAD_REF master +) + +set(list_ref 0ed17ee161ed2ae551c78f3b399ac8f2724d2154) +string(SUBSTRING "${list_ref}" 0 6 short_hash) +vcpkg_download_distfile( + PUBLIC_SUFFIX_LIST_DAT + URLS https://raw.githubusercontent.com/publicsuffix/list/${list_ref}/public_suffix_list.dat + FILENAME "libpsl-public_suffix_list-${short_hash}.dat" + SHA512 7969c40b0600baf2786af0e6503b4282d487b6603418c41f28c3b39e9cd9320ac66c0d2e8fbfa2b794e461f26843e3479d60ec24ac5c0990fe8f0c6bfaeee69d +) + +vcpkg_list(SET RUNTIME_OPTIONS) +if(libidn2 IN_LIST FEATURES) + list(APPEND RUNTIME_OPTIONS -Druntime=libidn2) +endif() +if(libicu IN_LIST FEATURES) + list(APPEND RUNTIME_OPTIONS -Druntime=libicu) +endif() +if(RUNTIME_OPTIONS STREQUAL "") + message(FATAL_ERROR "At least one of libidn2 and libicu should be selected.") +endif() + +vcpkg_configure_meson( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${RUNTIME_OPTIONS} + "-Dpsl_file=${PUBLIC_SUFFIX_LIST_DAT}" + -Ddocs=false + -Dtests=false +) + +vcpkg_install_meson() +vcpkg_fixup_pkgconfig() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/libpsl.h" "defined PSL_STATIC" "1") +endif() + +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/${PORT}") +file(RENAME "${CURRENT_PACKAGES_DIR}/bin/psl-make-dafsa" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/psl-make-dafsa") +file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/bin/psl-make-dafsa") +vcpkg_copy_tools(TOOL_NAMES psl AUTO_CLEAN) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/libpsl/vcpkg.json b/ports/libpsl/vcpkg.json new file mode 100644 index 00000000000000..2dd899b8855a24 --- /dev/null +++ b/ports/libpsl/vcpkg.json @@ -0,0 +1,41 @@ +{ + "name": "libpsl", + "version": "0.21.5", + "port-version": 1, + "description": "C library for the Public Suffix List", + "homepage": "https://rockdaboot.github.io/libpsl/", + "license": "MIT", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-tool-meson", + "host": true + } + ], + "default-features": [ + { + "name": "libicu", + "platform": "windows" + }, + { + "name": "libidn2", + "platform": "!windows" + } + ], + "features": { + "libicu": { + "description": "choose libicu as runtime", + "supports": "windows", + "dependencies": [ + "icu" + ] + }, + "libidn2": { + "description": "choose libidn2 as runtime", + "supports": "!windows", + "dependencies": [ + "libidn2" + ] + } + } +} diff --git a/ports/libqglviewer/Fix-error-c2039.patch b/ports/libqglviewer/Fix-error-c2039.patch new file mode 100644 index 00000000000000..629380dc63d5c8 --- /dev/null +++ b/ports/libqglviewer/Fix-error-c2039.patch @@ -0,0 +1,52 @@ +diff --git a/QGLViewer/VRender/NVector3.h b/QGLViewer/VRender/NVector3.h +index 40b7f98..f2d8305 100644 +--- a/QGLViewer/VRender/NVector3.h ++++ b/QGLViewer/VRender/NVector3.h +@@ -7,6 +7,8 @@ + namespace vrender + { + class Vector3; ++ class NVector3; ++ std::ostream& operator<<(std::ostream &out,const NVector3 &u); + + class NVector3 + { +diff --git a/QGLViewer/VRender/Primitive.h b/QGLViewer/VRender/Primitive.h +index 88ab11d..d38470d 100644 +--- a/QGLViewer/VRender/Primitive.h ++++ b/QGLViewer/VRender/Primitive.h +@@ -21,6 +21,7 @@ namespace vrender + { + class Feedback3DColor ; + class Primitive ; ++ std::ostream& operator<<(std::ostream&, const Feedback3DColor&) ; + + #define EPS_SMOOTH_LINE_FACTOR 0.06 /* Lower for better smooth lines. */ + +diff --git a/QGLViewer/VRender/Vector2.h b/QGLViewer/VRender/Vector2.h +index f6aaaf3..7b9b82a 100644 +--- a/QGLViewer/VRender/Vector2.h ++++ b/QGLViewer/VRender/Vector2.h +@@ -6,7 +6,9 @@ + + namespace vrender + { ++ class Vector2; + class Vector3; ++ std::ostream& operator<< (std::ostream&,const Vector2&); + + class Vector2 + { +diff --git a/QGLViewer/VRender/Vector3.h b/QGLViewer/VRender/Vector3.h +index 32597e8..f6d5099 100644 +--- a/QGLViewer/VRender/Vector3.h ++++ b/QGLViewer/VRender/Vector3.h +@@ -10,6 +10,8 @@ + namespace vrender + { + class NVector3; ++ class Vector3; ++ std::ostream& operator<< (std::ostream&, const Vector3&); + + class Vector3 + { diff --git a/ports/libqglviewer/glu.patch b/ports/libqglviewer/glu.patch new file mode 100644 index 00000000000000..7e38874b320b01 --- /dev/null +++ b/ports/libqglviewer/glu.patch @@ -0,0 +1,14 @@ +diff --git a/QGLViewer/config.h b/QGLViewer/config.h +index 25f0e95ef4..010c54168f 100644 +--- a/QGLViewer/config.h ++++ b/QGLViewer/config.h +@@ -53,6 +53,9 @@ Error : libQGLViewer requires a minimum Qt version of 5.4 Error + #ifdef Q_OS_MAC + # include + #else ++#if defined(Q_OS_WIN) ++# include ++#endif + # include + #endif + diff --git a/ports/libqglviewer/portfile.cmake b/ports/libqglviewer/portfile.cmake index 0c1650d3eef7cf..b556610fa0d809 100644 --- a/ports/libqglviewer/portfile.cmake +++ b/ports/libqglviewer/portfile.cmake @@ -1,10 +1,12 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO GillesDebunne/libQGLViewer - REF v2.9.1 + REF "v${VERSION}" SHA512 09bfc5c0f07e51625a9af0094b83f40f84ead55a67c6e492c9702521f58c6b461bc840382fb73b64d16ad71a0a2a75d04aa12a77a78ced0a19e0e784e8d36bd7 PATCHES Add-compile-definitions.patch + Fix-error-c2039.patch #https://github.com/GillesDebunne/libQGLViewer/pull/80 + glu.patch ) vcpkg_cmake_configure( @@ -17,4 +19,4 @@ vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL ${SOURCE_PATH}/LICENCE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libqglviewer RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENCE") diff --git a/ports/libqglviewer/vcpkg.json b/ports/libqglviewer/vcpkg.json index 1145483b2e148c..fffe694442cff4 100644 --- a/ports/libqglviewer/vcpkg.json +++ b/ports/libqglviewer/vcpkg.json @@ -1,23 +1,25 @@ { "name": "libqglviewer", "version": "2.9.1", - "port-version": 1, + "port-version": 3, "description": "libQGLViewer is an open source C++ library based on Qt that eases the creation of OpenGL 3D viewers.", "homepage": "http://libqglviewer.com/", "license": "GPL-2.0-or-later", "supports": "!xbox", "dependencies": [ + "opengl", { "name": "qtbase", - "default-features": false + "default-features": false, + "features": [ + "gui", + "opengl", + "widgets" + ] }, { "name": "vcpkg-cmake", "host": true - }, - { - "name": "vcpkg-cmake-config", - "host": true } ] } diff --git a/ports/librabbitmq/fix-link-header-files.patch b/ports/librabbitmq/fix-link-header-files.patch deleted file mode 100644 index 3590736cbb6a80..00000000000000 --- a/ports/librabbitmq/fix-link-header-files.patch +++ /dev/null @@ -1,41 +0,0 @@ -diff --git a/librabbitmq/CMakeLists.txt b/librabbitmq/CMakeLists.txt -index 671840b..b46614c 100644 ---- a/librabbitmq/CMakeLists.txt -+++ b/librabbitmq/CMakeLists.txt -@@ -112,11 +112,25 @@ add_definitions(-DAMQP_BUILD -D_CRT_SECURE_NO_WARNINGS) - - set(RMQ_LIBRARIES ${AMQP_SSL_LIBS} ${SOCKET_LIBRARIES} ${LIBRT} ${CMAKE_THREAD_LIBS_INIT}) - -+set(PUBLIC_INCLUDE_DIRS -+ $ -+ $ -+ $ -+) -+ -+set(PRIVATE_INCLUDE_DIRS -+ ${CMAKE_CURRENT_BINARY_DIR} -+) -+ - if (BUILD_SHARED_LIBS) - add_library(rabbitmq SHARED ${RABBITMQ_SOURCES}) - - target_link_libraries(rabbitmq ${RMQ_LIBRARIES}) - -+ target_include_directories(rabbitmq -+ PUBLIC ${PUBLIC_INCLUDE_DIRS} -+ PRIVATE ${PRIVATE_INCLUDE_DIRS} -+ ) - if (WIN32) - set_target_properties(rabbitmq PROPERTIES VERSION ${RMQ_VERSION} OUTPUT_NAME rabbitmq.${RMQ_SOVERSION}) - else (WIN32) -@@ -137,6 +151,10 @@ if (BUILD_STATIC_LIBS) - - target_link_libraries(rabbitmq-static ${RMQ_LIBRARIES}) - -+ target_include_directories(rabbitmq-static -+ PUBLIC ${PUBLIC_INCLUDE_DIRS} -+ PRIVATE ${PRIVATE_INCLUDE_DIRS} -+ ) - set_target_properties(rabbitmq-static PROPERTIES COMPILE_DEFINITIONS AMQP_STATIC) - if (WIN32) - set_target_properties(rabbitmq-static PROPERTIES diff --git a/ports/librabbitmq/fix-uwpwarning.patch b/ports/librabbitmq/fix-uwpwarning.patch index 97b1a3de45f153..84a26d5d0ef84c 100644 --- a/ports/librabbitmq/fix-uwpwarning.patch +++ b/ports/librabbitmq/fix-uwpwarning.patch @@ -1,28 +1,28 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b353be6..419e983 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -150,6 +150,10 @@ else() - endif() - endif() - -+if(MSVC) -+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4996") -+endif() -+ - option(REGENERATE_AMQP_FRAMING "Regenerate amqp_framing.h/amqp_framing.c sources (for developer use)" OFF) - mark_as_advanced(REGENERATE_AMQP_FRAMING) - -diff --git a/librabbitmq/CMakeLists.txt b/librabbitmq/CMakeLists.txt -index d8dcd26..671840b 100644 ---- a/librabbitmq/CMakeLists.txt -+++ b/librabbitmq/CMakeLists.txt -@@ -108,7 +108,7 @@ set(RABBITMQ_SOURCES - ${AMQP_SSL_SRCS} - ) - --add_definitions(-DAMQP_BUILD) -+add_definitions(-DAMQP_BUILD -D_CRT_SECURE_NO_WARNINGS) - - set(RMQ_LIBRARIES ${AMQP_SSL_LIBS} ${SOCKET_LIBRARIES} ${LIBRT} ${CMAKE_THREAD_LIBS_INIT}) - +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c88943f..4fc1411 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -140,6 +140,10 @@ if(PROJECT_IS_TOP_LEVEL) + include(CTest) + endif() + ++if(MSVC) ++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4996") ++endif() ++ + option(BUILD_SHARED_LIBS "Build rabbitmq-c as a shared library" ON) + option(BUILD_STATIC_LIBS "Build rabbitmq-c as a static library" ON) + option(INSTALL_STATIC_LIBS "Install rabbitmq-c static library" ON) +diff --git a/librabbitmq/CMakeLists.txt b/librabbitmq/CMakeLists.txt +index 4466c9f..e8825dd 100644 +--- a/librabbitmq/CMakeLists.txt ++++ b/librabbitmq/CMakeLists.txt +@@ -64,6 +64,8 @@ set(RMQ_SOURCES + amqp_url.c + ) + ++add_definitions(-DAMQP_BUILD -D_CRT_SECURE_NO_WARNINGS) ++ + set(RMQ_LIBRARIES ${AMQP_SSL_LIBS} ${SOCKET_LIBRARIES} ${LIBRT} ${CMAKE_THREAD_LIBS_INIT}) + + if(BUILD_SHARED_LIBS) diff --git a/ports/librabbitmq/portfile.cmake b/ports/librabbitmq/portfile.cmake index 8ed28079f61903..0346e55a02e5b5 100644 --- a/ports/librabbitmq/portfile.cmake +++ b/ports/librabbitmq/portfile.cmake @@ -1,12 +1,11 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO alanxz/rabbitmq-c - REF v0.11.0 - SHA512 0c3dbb6e2b862e9f25e3f76df798ea272bbd81de2865950b95adf1f1e5791eb20d7c9d5a76cb7d2fda54bad5f12bdf69cbfa7e9fd1afdede6f9ec729ca2287de + REF "v${VERSION}" + SHA512 62b4e92fc270c5bdc5343cfaef5245e29a9b6d8983071a47391a93ae1b766ed7b98a6a546e8528befbc284f5ed17da4647595e94341380bfa76598569191e6c0 HEAD_REF master PATCHES fix-uwpwarning.patch - fix-link-header-files.patch #Remove this patch in the next version ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC) @@ -15,7 +14,7 @@ vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_EXAMPLES=OFF - -DBUILD_TESTS=OFF + -DBUILD_TESTING=OFF -DBUILD_TOOLS=OFF -DBUILD_STATIC_LIBS=${BUILD_STATIC} ) @@ -30,4 +29,4 @@ vcpkg_copy_pdbs() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL "${SOURCE_PATH}/LICENSE-MIT" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/librabbitmq/vcpkg.json b/ports/librabbitmq/vcpkg.json index 9824f012c27cef..9325c01564a712 100644 --- a/ports/librabbitmq/vcpkg.json +++ b/ports/librabbitmq/vcpkg.json @@ -1,7 +1,6 @@ { "name": "librabbitmq", - "version": "0.11.0", - "port-version": 2, + "version": "0.15.0", "description": "A C-language AMQP client library for use with v2.0+ of the RabbitMQ broker.", "homepage": "https://github.com/alanxz/rabbitmq-c", "license": "MIT", diff --git a/ports/libraqm/portfile.cmake b/ports/libraqm/portfile.cmake index 84d967ff4adc0c..fb94d774d8e958 100644 --- a/ports/libraqm/portfile.cmake +++ b/ports/libraqm/portfile.cmake @@ -1,14 +1,15 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -set(RAQM_VERSION_MAJOR 0) -set(RAQM_VERSION_MINOR 10) -set(RAQM_VERSION_MICRO 1) +string(REGEX MATCH "([0-9]+)\\.([0-9]+)\\.([0-9]+)" RAQM_VERSION "${VERSION}") +set(RAQM_VERSION_MAJOR ${CMAKE_MATCH_1}) +set(RAQM_VERSION_MINOR ${CMAKE_MATCH_2}) +set(RAQM_VERSION_MICRO ${CMAKE_MATCH_3}) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO HOST-Oman/libraqm REF v${RAQM_VERSION_MAJOR}.${RAQM_VERSION_MINOR}.${RAQM_VERSION_MICRO} - SHA512 d35fd37764c153235ad89721be7a2a11212c1d3241383d81499ca5fe83e90d625e29e42a00edd626bff78bd0f72209f36826c84f59cd1504258079ed532329b6 + SHA512 f79ecdff611512d5446d031e9ee45b8e6a7ed41777a99fb572ddbdc3db33542765fefb7a6c5825998510772cf76e277fe3f24eea45f9e0add20c162d7821eb9a HEAD_REF master ) diff --git a/ports/libraqm/vcpkg.json b/ports/libraqm/vcpkg.json index 3401c2bea0b80f..1ac70c3157fe0e 100644 --- a/ports/libraqm/vcpkg.json +++ b/ports/libraqm/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libraqm", - "version": "0.10.1", + "version": "0.10.2", "description": "A library for complex text layout", "homepage": "https://github.com/HOST-Oman/libraqm", "dependencies": [ diff --git a/ports/libraw/dependencies.patch b/ports/libraw/dependencies.patch index 3481afca403bf7..f25ec96e73efb6 100644 --- a/ports/libraw/dependencies.patch +++ b/ports/libraw/dependencies.patch @@ -1,23 +1,19 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index e7d5a66..484e76b 100644 +index d3faf24..8833187 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -121,8 +121,14 @@ include(MacroOptionalFindPackage) - - # Math library check - -+set(PC_LIBS_PRIVATE "") -+set(PC_REQUIRES_PRIVATE "") - if(NOT WIN32) +@@ -130,7 +130,10 @@ set(LIBRAW_PC_REQUIRES_PRIVATE "") + if(NOT WIN32 AND NOT EMSCRIPTEN) FIND_LIBRARY(MATH_LIBRARY m) -+ if(MATH_LIBRARY) + if(MATH_LIBRARY) + set(MATH_LIBRARY m) -+ string(APPEND PC_LIBS_PRIVATE " -lm") -+ endif() + string(APPEND LIBRAW_PC_LIBS_PRIVATE " -l${MATH_LIBRARY}") ++ else() ++ set(MATH_LIBRARY "") + endif() endif() - # LCMS version 1 and 2 library check -@@ -133,7 +139,11 @@ set(LCMS_FOUND false) +@@ -142,7 +145,11 @@ set(LCMS_FOUND false) if(ENABLE_LCMS) message(STATUS "Check for LCMS2 availability...") @@ -30,23 +26,7 @@ index e7d5a66..484e76b 100644 if(LCMS2_FOUND AND (LCMS2_VERSION VERSION_EQUAL 2.1 OR LCMS2_VERSION VERSION_GREATER 2.1)) message(STATUS "Found LCMS2 : ${LCMS2_LIBRARIES} ${LCMS2_INCLUDE_DIR}") include_directories(${LCMS2_INCLUDE_DIR}) -@@ -141,6 +151,7 @@ if(ENABLE_LCMS) - # Flag to compile Little CMS version 2 with LibRaw - add_definitions(-DUSE_LCMS2) - set(LCMS_SUPPORT_CAN_BE_COMPILED true) -+ string(APPEND PC_REQUIRES_PRIVATE " lcms2") - else() - message(STATUS "Check for LCMS availability instead LCMS2...") - find_package(LCMS) -@@ -168,6 +179,7 @@ find_package(JPEG) - # Flag to use zlib with LibRaw DNG deflate codec - if(ZLIB_FOUND) - add_definitions(-DUSE_ZLIB) -+ string(APPEND PC_REQUIRES_PRIVATE " zlib") - endif() - - # For registration to libraw_config.h -@@ -176,10 +188,11 @@ MACRO_BOOL_TO_01(ZLIB_FOUND LIBRAW_USE_DNGDEFLATECODEC) +@@ -188,7 +195,7 @@ MACRO_BOOL_TO_01(ZLIB_FOUND LIBRAW_USE_DNGDEFLATECODEC) # JPEG library check find_package(JPEG) if(JPEG_FOUND) @@ -55,40 +35,8 @@ index e7d5a66..484e76b 100644 set(JPEG8_FOUND FALSE) else() set(JPEG8_FOUND TRUE) -+ string(APPEND PC_REQUIRES_PRIVATE " libjpeg") - endif() - endif() - -@@ -216,6 +229,7 @@ if(ENABLE_JASPER) - add_definitions(-DUSE_JASPER) - include_directories(${JASPER_INCLUDE_DIR}) - set(JASPER_SUPPORT_CAN_BE_COMPILED true) -+ string(APPEND PC_REQUIRES_PRIVATE " jasper") - endif() - endif() - -diff --git a/cmake/data/libraw.pc.cmake b/cmake/data/libraw.pc.cmake -index aa6ab21..90e0aae 100644 ---- a/cmake/data/libraw.pc.cmake -+++ b/cmake/data/libraw.pc.cmake -@@ -10,3 +10,5 @@ Requires: - Version: @RAW_LIB_VERSION_STRING@ - Libs: -L${libdir} -lraw - Cflags: -I${includedir} -I${includedir}/libraw -+Libs.private: @PC_LIBS_PRIVATE@ -+Requires.private: @PC_REQUIRES_PRIVATE@ -diff --git a/cmake/data/libraw_r.pc.cmake b/cmake/data/libraw_r.pc.cmake -index 4fadc36..4215e86 100644 ---- a/cmake/data/libraw_r.pc.cmake -+++ b/cmake/data/libraw_r.pc.cmake -@@ -10,3 +10,5 @@ Requires: - Version: @RAW_LIB_VERSION_STRING@ - Libs: -L${libdir} -lraw_r - Cflags: -I${includedir} -I${includedir}/libraw -+Libs.private: @PC_LIBS_PRIVATE@ -+Requires.private: @PC_REQUIRES_PRIVATE@ diff --git a/cmake/librawConfig.cmake.in b/cmake/librawConfig.cmake.in -index b1b58d8..9b7baac 100644 +index b1b58d8..dae06cc 100644 --- a/cmake/librawConfig.cmake.in +++ b/cmake/librawConfig.cmake.in @@ -13,7 +13,7 @@ endif() diff --git a/ports/libraw/fix-install.patch b/ports/libraw/fix-install.patch index 4161ed5ef06c39..c4facc5c5677a4 100644 --- a/ports/libraw/fix-install.patch +++ b/ports/libraw/fix-install.patch @@ -1,17 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 889fddf..e7d5a66 100644 +index e6a70d9..a5c70e7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -588,7 +588,7 @@ if (LIBRAW_INSTALL) - # Configure and install data file for packaging. - include(GNUInstallDirs) - -- if(NOT MSVC) -+ if(1) - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/data/libraw.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/libraw.pc @ONLY) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libraw.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) - -@@ -612,7 +612,13 @@ if (LIBRAW_INSTALL) +@@ -629,7 +629,13 @@ if (LIBRAW_INSTALL) ) # Install Shared binary files. @@ -26,7 +17,7 @@ index 889fddf..e7d5a66 100644 EXPORT ${PROJECT_NAME}Targets RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -@@ -623,6 +629,7 @@ if (LIBRAW_INSTALL) +@@ -640,6 +646,7 @@ if (LIBRAW_INSTALL) if(NOT BUILD_SHARED_LIBS AND "${CMAKE_CXX_SIMULATE_ID}" STREQUAL "MSVC") message("ClangCl does not support pdb generation with static libraries") elseif(MSVC) @@ -35,7 +26,7 @@ index 889fddf..e7d5a66 100644 DESTINATION ${CMAKE_INSTALL_LIBDIR} CONFIGURATIONS Debug RelWithDebInfo diff --git a/cmake/data/libraw.pc.cmake b/cmake/data/libraw.pc.cmake -index 510526f..aa6ab21 100644 +index 54c5af4..d182680 100644 --- a/cmake/data/libraw.pc.cmake +++ b/cmake/data/libraw.pc.cmake @@ -1,6 +1,6 @@ diff --git a/ports/libraw/install-interface.patch b/ports/libraw/install-interface.patch deleted file mode 100644 index 065df7586d0a10..00000000000000 --- a/ports/libraw/install-interface.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 484e76b..adbcd10 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -111,6 +111,9 @@ if(MSVC) - add_definitions(-D_AFX_SECURE_NO_WARNINGS) - endif() - -+# For variables in $ -+include(GNUInstallDirs) -+ - # -- Check dependencies -------------------------------------------------------------------------------- - - set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules ${CMAKE_MODULE_PATH} ) -@@ -489,7 +492,7 @@ endif() - - target_include_directories(raw - PUBLIC -- $ -+ $ - $) - - target_link_libraries(raw PUBLIC ${MATH_LIBRARY}) -@@ -558,7 +561,7 @@ set_target_properties(raw_r PROPERTIES POSITION_INDEPENDENT_CODE ON) - target_link_libraries(raw_r PUBLIC ${MATH_LIBRARY}) - target_include_directories(raw_r - PUBLIC -- $ -+ $ - $) - - if(WIN32) diff --git a/ports/libraw/portfile.cmake b/ports/libraw/portfile.cmake index 33efb2361aa6ba..5a1908e5efda94 100644 --- a/ports/libraw/portfile.cmake +++ b/ports/libraw/portfile.cmake @@ -2,19 +2,18 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO LibRaw/LibRaw REF "${VERSION}" - SHA512 6cea6d859961d713382a9017107c730c7a8777be85d454bd05f1417a69fda902aa9591151eac5f4bd231ce2a86fc39da56e3a024104101f24d6069197fcabbc7 + SHA512 c88d02685ac8854ca4f718206ceb95b17abffceee6501390d8447f9e8c78864d1dd0aedbdcf97e600244f97e1a50cbfea21d15a2557710c7d175f61915f9fe37 HEAD_REF master ) vcpkg_from_github( OUT_SOURCE_PATH LIBRAW_CMAKE_SOURCE_PATH REPO LibRaw/LibRaw-cmake - REF 6e26c9e73677dc04f9eb236a97c6a4dc225ba7e8 - SHA512 8ce13d37c2ace2fbc57f571052a5a5a847b707b3de1b3b9e0c1a46afaca86cabd42ee275600eeadc3127bc2a0d0a4f224caed0b07feffdafea32ad0f42e50379 + REF eb98e4325aef2ce85d2eb031c2ff18640ca616d3 + SHA512 63e68a4d30286ec3aa97168d46b7a1199268099ae27b61abcc92e93ec30e48d364086227983a1d724415e5f4da44d905422f30192453b95f31040e5f8469c3f9 HEAD_REF master PATCHES dependencies.patch - install-interface.patch # Move the non-thread-safe library to manual-link. This is unfortunately needed # because otherwise libraries that build on top of libraw have to choose. fix-install.patch diff --git a/ports/libraw/vcpkg.json b/ports/libraw/vcpkg.json index b501d9b1904127..60d9145c494650 100644 --- a/ports/libraw/vcpkg.json +++ b/ports/libraw/vcpkg.json @@ -1,13 +1,15 @@ { "name": "libraw", - "version": "0.21.1", - "port-version": 2, + "version": "0.21.3", "description": "raw image decoder library", "homepage": "https://www.libraw.org", "license": "LGPL-2.1-only OR CDDL-1.0", "supports": "!uwp & !xbox", "dependencies": [ - "jasper", + { + "name": "jasper", + "default-features": false + }, "lcms", { "name": "vcpkg-cmake", diff --git a/ports/librdkafka/lz4.patch b/ports/librdkafka/lz4.patch index a4cd7a93d0dafe..29dd1032512804 100644 --- a/ports/librdkafka/lz4.patch +++ b/ports/librdkafka/lz4.patch @@ -1,28 +1,27 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -152,7 +152,7 @@ # LZ4 { - option(ENABLE_LZ4_EXT "Enable external LZ4 library support" ON) - set(WITH_LZ4_EXT OFF) --if(ENABLE_LZ4_EXT) -- find_package(LZ4) -- if(LZ4_FOUND) -+if(1) -+ find_package(lz4 CONFIG REQUIRED) -+ if(1) - set(WITH_LZ4_EXT ON) - list(APPEND BUILT_WITH "LZ4_EXT") -@@ -248,4 +248,4 @@ # LZ4 { - install( -- FILES "${project_config}" "${project_version}" "packaging/cmake/Modules/FindLZ4.cmake" -+ FILES "${project_config}" "${project_version}" - DESTINATION "${config_install_dir}" - ) - ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -241,4 +241,3 @@ - if(WITH_LZ4_EXT) -- target_include_directories(rdkafka PRIVATE ${LZ4_INCLUDE_DIRS}) -- target_link_libraries(rdkafka PUBLIC LZ4::LZ4) -+ target_link_libraries(rdkafka PUBLIC lz4::lz4) - endif() +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7f3dd0f..168742c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -169,7 +169,8 @@ endif() + option(ENABLE_LZ4_EXT "Enable external LZ4 library support" ON) + set(WITH_LZ4_EXT OFF) + if(ENABLE_LZ4_EXT) +- find_package(LZ4) ++ find_package(LZ4 NAMES lz4 REQUIRED) ++ add_library(LZ4::LZ4 ALIAS lz4::lz4) + if(LZ4_FOUND) + set(WITH_LZ4_EXT ON) + list(APPEND BUILT_WITH "LZ4_EXT") +diff --git a/packaging/cmake/Config.cmake.in b/packaging/cmake/Config.cmake.in +index 8a6522b..5f0bf25 100644 +--- a/packaging/cmake/Config.cmake.in ++++ b/packaging/cmake/Config.cmake.in +@@ -28,7 +28,7 @@ if(@WITH_SSL@) + endif() + + if(@WITH_LZ4_EXT@) +- find_dependency(LZ4) ++ find_dependency(LZ4 NAMES lz4) + endif() + + find_dependency(Threads) diff --git a/ports/librdkafka/portfile.cmake b/ports/librdkafka/portfile.cmake index 0c8ae081d035f9..df28a68cb74b91 100644 --- a/ports/librdkafka/portfile.cmake +++ b/ports/librdkafka/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO edenhill/librdkafka + REPO confluentinc/librdkafka REF "v${VERSION}" - SHA512 1a85b5864efdeece1327e461b62a378f24b73eb7174168f630aeff01d4a5074d6b2f15744bc267665fcfc6384e804df00c20b7271ecd85a98dca84746b86b4d9 + SHA512 420cad9650f468528012133398facf0edccb8442b2613d347aa81fbe638f6f47e584372e2c7d420dfe061ba10ad713d0addd7847bafe6c700bd450408153473e HEAD_REF master PATCHES lz4.patch @@ -12,11 +12,14 @@ string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" RDKAFKA_BUILD_STATIC) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES + curl WITH_CURL + sasl WITH_SASL + sasl WITH_SASL_CYRUS ssl WITH_SSL + ssl WITH_SASL_OAUTHBEARER + ssl WITH_SASL_SCRAM zlib WITH_ZLIB zstd WITH_ZSTD - snappy WITH_SNAPPY - curl WITH_CURL ) vcpkg_cmake_configure( @@ -45,14 +48,12 @@ vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_cmake_config_fixup( - PACKAGE_NAME RdKafka - CONFIG_PATH lib/cmake/RdKafka -) +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/RdKafka" PACKAGE_NAME "rdkafka") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/share/rdkafka/FindLZ4.cmake" ) if(VCPKG_LIBRARY_LINKAGE STREQUAL static) @@ -66,7 +67,7 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL static) endif() # Handle copyright -configure_file("${SOURCE_PATH}/LICENSES.txt" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSES.txt" ) # Install usage configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" @ONLY) diff --git a/ports/librdkafka/vcpkg.json b/ports/librdkafka/vcpkg.json index 28b28119528e8f..0818c1d294f779 100644 --- a/ports/librdkafka/vcpkg.json +++ b/ports/librdkafka/vcpkg.json @@ -1,8 +1,8 @@ { "name": "librdkafka", - "version": "2.2.0", + "version": "2.6.0", "description": "The Apache Kafka C/C++ library", - "homepage": "https://github.com/edenhill/librdkafka", + "homepage": "https://github.com/confluentinc/librdkafka", "license": null, "supports": "!uwp", "dependencies": [ @@ -23,8 +23,11 @@ "curl" ] }, - "snappy": { - "description": "Build with snappy" + "sasl": { + "description": "Build with sasl/gssapi", + "dependencies": [ + "cyrus-sasl" + ] }, "ssl": { "description": "Build with OpenSSL", diff --git a/ports/libredwg/fix_arm64_build.patch b/ports/libredwg/fix_arm64_build.patch index b10c9e7234201c..d27d692c42cb59 100644 --- a/ports/libredwg/fix_arm64_build.patch +++ b/ports/libredwg/fix_arm64_build.patch @@ -1,17 +1,14 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 8906fed..e953b76 100644 +index ec2ec1d..910f61c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -11,8 +11,11 @@ if(MSVC) - set(redwg libredwg) - # Disable some overly strict MSVC warnings. - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -wd4244 -wd4800 -wd4805 -wd4101 -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS") --else() -+ else() +@@ -16,6 +16,9 @@ if(MSVC) + else() set(redwg redwg) -+ endif() + endif() +if(MSVC AND CMAKE_SYSTEM_PROCESSOR STREQUAL "ARM64") + add_compile_options(/Gy) - endif() ++endif() if (EXISTS ".version") + file(READ .version NL_PACKAGE_VERSION) diff --git a/ports/libredwg/fix_dependency.patch b/ports/libredwg/fix_dependency.patch index 014ea72bfdc0cd..fea397b4cdfad2 100644 --- a/ports/libredwg/fix_dependency.patch +++ b/ports/libredwg/fix_dependency.patch @@ -1,12 +1,11 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 8263f23..8906fed 100644 +index 2e854f2..ec2ec1d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -201,7 +201,8 @@ target_include_directories(${redwg} PRIVATE - $) - target_include_directories(${redwg} PUBLIC - $) -- +@@ -282,6 +282,8 @@ target_include_directories(${redwg} PUBLIC + $ + $) + +find_path(JSMN_INCLUDE_DIRS "jsmn.h") +target_include_directories(${redwg} PRIVATE ${JSMN_INCLUDE_DIRS}) link_libraries(${redwg} ${LIBS} ${CMAKE_THREAD_LIBS_INIT}) diff --git a/ports/libredwg/fix_install.patch b/ports/libredwg/fix_install.patch index 7199ed35414c9a..fe5a11c37f19f5 100644 --- a/ports/libredwg/fix_install.patch +++ b/ports/libredwg/fix_install.patch @@ -1,37 +1,31 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index f0e04be..8263f23 100644 +index cbf9341..2e854f2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -196,10 +196,11 @@ if (BUILD_SHARED_LIBS) - target_compile_definitions(${redwg} PUBLIC DLL_EXPORT;ENABLE_SHARED) - endif() - target_include_directories(${redwg} PRIVATE -- ${CMAKE_CURRENT_SOURCE_DIR}/src -- ${CMAKE_CURRENT_BINARY_DIR}/src) -+ PUBLIC $ -+ $ -+ $) +@@ -279,7 +279,8 @@ target_include_directories(${redwg} PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/src + ${CMAKE_CURRENT_BINARY_DIR}/src) target_include_directories(${redwg} PUBLIC - ${CMAKE_CURRENT_SOURCE_DIR}/include) -+ $) ++ $ ++ $) link_libraries(${redwg} ${LIBS} ${CMAKE_THREAD_LIBS_INIT}) -@@ -309,7 +310,7 @@ add_custom_target( - COMMAND etags --language=c++ *.c *.h +@@ -390,6 +391,7 @@ add_custom_target( DEPENDS ${SRCS} WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}) -- + +if(0) if(MSVC) install(TARGETS ${redwg} RUNTIME PUBLIC_HEADER DESTINATION libredwg-${PACKAGE_VERSION}) -@@ -331,7 +332,21 @@ else() +@@ -411,6 +413,22 @@ else() endif() endif() install(TARGETS RUNTIME) -- +endif() ++ +include(GNUInstallDirs) +install( + TARGETS ${redwg} @@ -46,6 +40,6 @@ index f0e04be..8263f23 100644 + DESTINATION "${CMAKE_INSTALL_BINDIR}") +endif() +install(EXPORT libredwg-core FILE unofficial-libredwg-config.cmake NAMESPACE unofficial::libredwg:: DESTINATION share/unofficial-libredwg) + if(WIN32) add_custom_target(dist - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/README README diff --git a/ports/libredwg/portfile.cmake b/ports/libredwg/portfile.cmake index 9e65ea91273221..871bc435191ba3 100644 --- a/ports/libredwg/portfile.cmake +++ b/ports/libredwg/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO LibreDWG/libredwg - REF ${VERSION} - SHA512 8696289ea7ff542bd48d4e1f0e959b95574a7741ba0c80238ad31aff28f1861f0c00dfb1dc78e998b043a4300ff976ba324f5a41195f799f9d31e2b5be288bc7 + REF "${VERSION}" + SHA512 cf0baf477d053eb6ab2feaeda187f2d92211c7d28aa50318c1c8d7acf1b9c463258fa3a388dddce266bf44e0d4e4cf1bd3aa591c918f8a253515919e5c1b3f57 HEAD_REF master PATCHES fix_install.patch @@ -17,25 +17,24 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS ) # libredwg will read the version -file(WRITE "${SOURCE_PATH}/.version" ${VERSION}) +file(WRITE "${SOURCE_PATH}/.version" "${VERSION}") # Fix https://github.com/LibreDWG/libredwg/issues/652#issuecomment-1454035167 -if(APPLE) - vcpkg_replace_string("${SOURCE_PATH}/src/common.h" +vcpkg_replace_string("${SOURCE_PATH}/src/common.h" [[defined(COMMON_TEST_C)]] - [[1]] - ) - vcpkg_replace_string("${SOURCE_PATH}/src/common.c" + [[(defined COMMON_TEST_C || defined __APPLE__)]] +) +vcpkg_replace_string("${SOURCE_PATH}/src/common.c" [[defined(COMMON_TEST_C)]] - [[1]] - ) -endif() + [[(defined COMMON_TEST_C || defined __APPLE__)]] +) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} -DBUILD_TESTING=OFF + -DDISABLE_WERROR=ON ) vcpkg_cmake_install() @@ -46,7 +45,6 @@ vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-libredwg CONFIG_PATH share/unof if("tools" IN_LIST FEATURES) vcpkg_copy_tools(TOOL_NAMES dwg2dxf dwg2SVG dwgbmp dwggrep dwglayers dwgread dwgrewrite dwgwrite dxf2dwg AUTO_CLEAN) - vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/libredwg") endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") diff --git a/ports/libredwg/vcpkg.json b/ports/libredwg/vcpkg.json index 841af79d2a9a82..f80def808bbfeb 100644 --- a/ports/libredwg/vcpkg.json +++ b/ports/libredwg/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libredwg", - "version": "0.12.5.5178", + "version": "0.13.3", "port-version": 1, "description": "GNU LibreDWG is a free C library to handle DWG files. It aims to be a free replacement for the OpenDWG libraries. DWG is the native file format of AutoCAD.", "homepage": "https://www.gnu.org/software/libredwg/", diff --git a/ports/libremidi/fix-install.patch b/ports/libremidi/fix-install.patch deleted file mode 100644 index 6a6f38137761ed..00000000000000 --- a/ports/libremidi/fix-install.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/cmake/libremidi.install.cmake b/cmake/libremidi.install.cmake -index 08e17f5..985e9a5 100644 ---- a/cmake/libremidi.install.cmake -+++ b/cmake/libremidi.install.cmake -@@ -1,7 +1,7 @@ - if(NOT LIBREMIDI_HEADER_ONLY) - install(TARGETS libremidi - EXPORT libremidi-targets -- ARCHIVE DESTINATION lib/static -+ ARCHIVE DESTINATION lib - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ) diff --git a/ports/libremidi/portfile.cmake b/ports/libremidi/portfile.cmake index 16c90785245391..23bfa2103f4838 100644 --- a/ports/libremidi/portfile.cmake +++ b/ports/libremidi/portfile.cmake @@ -2,10 +2,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO jcelerier/libremidi REF "v${VERSION}" - SHA512 de7092c70af6fc0a23c8e6018fbd9f380632ac9dec8794171726fda9a6e7ba45479a8e8317919ba7a8a0267524bab8d5430782a54bc50a914658cf277e18145b + SHA512 4ba9d06a171dc29c393d5401661cbefbd5cdcc00ae8a02cb64345367b829ea49b109056167ea86c0f85e1d4f6ce9a01be89c988f03dc90f02ae4943d13b74845 HEAD_REF master - PATCHES - fix-install.patch ) vcpkg_list(SET options) diff --git a/ports/libremidi/vcpkg.json b/ports/libremidi/vcpkg.json index 103952cd13a855..f58172bedc46b4 100644 --- a/ports/libremidi/vcpkg.json +++ b/ports/libremidi/vcpkg.json @@ -1,7 +1,7 @@ { "name": "libremidi", - "version": "4.2.3", - "port-version": 2, + "version": "4.5.0", + "port-version": 1, "description": "A modern C++ MIDI real-time & file I/O library", "homepage": "https://github.com/jcelerier/libremidi", "license": "BSD-2-Clause", @@ -10,6 +10,10 @@ "name": "alsa", "platform": "linux" }, + { + "name": "readerwriterqueue", + "platform": "linux" + }, { "name": "vcpkg-cmake", "host": true diff --git a/ports/libressl/0001-enable-ocspcheck-on-msvc.patch b/ports/libressl/0001-enable-ocspcheck-on-msvc.patch deleted file mode 100644 index 05444ca3e26031..00000000000000 --- a/ports/libressl/0001-enable-ocspcheck-on-msvc.patch +++ /dev/null @@ -1,254 +0,0 @@ -diff --git a/apps/ocspcheck/CMakeLists.txt b/apps/ocspcheck/CMakeLists.txt -index 2dddb6e..fd35685 100644 ---- a/apps/ocspcheck/CMakeLists.txt -+++ b/apps/ocspcheck/CMakeLists.txt -@@ -1,5 +1,3 @@ --if(NOT MSVC) -- - set( - OCSPCHECK_SRC - http.c -@@ -13,13 +11,27 @@ else() - set(OCSPCHECK_SRC ${OCSPCHECK_SRC} compat/memmem.c) - endif() - -+check_function_exists(getopt HAVE_GETOPT) -+if(HAVE_GETOPT) -+ add_definitions(-DHAVE_GETOPT) -+else() -+ set(GETOPT_SRC compat/getopt.c) -+endif() -+ -+check_function_exists(ftruncate HAVE_FTRUNCATE) -+if(HAVE_FTRUNCATE) -+ add_definitions(-DHAVE_FTRUNCATE) -+else() -+ set(FTRUNCATE_SRC compat/ftruncate.c) -+endif() -+ - if(NOT "${OPENSSLDIR}" STREQUAL "") - add_definitions(-DDEFAULT_CA_FILE=\"${OPENSSLDIR}/cert.pem\") - else() - add_definitions(-DDEFAULT_CA_FILE=\"${CMAKE_INSTALL_PREFIX}/etc/ssl/cert.pem\") - endif() - --add_executable(ocspcheck ${OCSPCHECK_SRC}) -+add_executable(ocspcheck ${OCSPCHECK_SRC} ${GETOPT_SRC} ${FTRUNCATE_SRC}) - target_include_directories(ocspcheck PUBLIC ../../include) - target_include_directories(ocspcheck PRIVATE . ./compat ../../include/compat) - target_link_libraries(ocspcheck tls ${OPENSSL_LIBS}) -@@ -29,5 +41,3 @@ if(ENABLE_LIBRESSL_INSTALL) - install(FILES ocspcheck.8 DESTINATION ${CMAKE_INSTALL_MANDIR}/man8) - - endif(ENABLE_LIBRESSL_INSTALL) -- --endif() -diff --git a/apps/ocspcheck/compat/ftruncate.c b/apps/ocspcheck/compat/ftruncate.c -new file mode 100644 -index 0000000..e825e50 ---- /dev/null -+++ b/apps/ocspcheck/compat/ftruncate.c -@@ -0,0 +1,17 @@ -+/* -+ * Public domain -+ * -+ * Kinichiro Inoguchi -+ */ -+ -+#ifdef _WIN32 -+ -+#include -+ -+int -+ftruncate(int fd, off_t length) -+{ -+ return _chsize(fd, length); -+} -+ -+#endif -diff --git a/apps/ocspcheck/compat/getopt.c b/apps/ocspcheck/compat/getopt.c -new file mode 100644 -index 0000000..ff05743 ---- /dev/null -+++ b/apps/ocspcheck/compat/getopt.c -@@ -0,0 +1,131 @@ -+/* -+ * Public domain -+ * -+ * EternalPhane -+ */ -+ -+#include -+#include -+ -+#include "getopt.h" -+ -+char *optarg = NULL; -+int optind = 0, optopt = '?'; -+ -+typedef int bool; -+#define true 1 -+#define false 0 -+ -+static int nonopt_begin = 0, nonopt_end = 0; -+ -+void clear_buf(); -+ -+void permute(char *const argv[]) -+{ -+ static char* buf = NULL; -+ if (!argv && buf) -+ return free(buf); -+ if (!buf) -+ atexit(clear_buf); -+ if (nonopt_begin == nonopt_end) -+ { -+ nonopt_begin = nonopt_end = optind; -+ return; -+ } -+ int nonopt_size = nonopt_end - nonopt_begin, -+ opt_size = optind - nonopt_end; -+ if (nonopt_size <= opt_size) -+ { -+ if (!realloc(buf, nonopt_size)) -+ free(buf), buf = malloc(nonopt_size); -+ memcpy(buf, nonopt_begin, nonopt_size); -+ memmove(nonopt_begin, nonopt_end, opt_size); -+ memcpy(nonopt_begin + opt_size, buf, nonopt_size); -+ } -+ else -+ { -+ if (!realloc(buf, opt_size)) -+ free(buf), buf = malloc(opt_size); -+ memcpy(buf, nonopt_end, opt_size); -+ memmove(nonopt_begin + opt_size, nonopt_begin, nonopt_size); -+ memcpy(nonopt_begin, buf, opt_size); -+ } -+ nonopt_begin += opt_size; -+ nonopt_end = optind; -+} -+ -+void clear_buf() -+{ -+ permute(NULL); -+} -+ -+int getopt(int argc, char *const argv[], const char *optstring) -+{ -+ static char *nextchar = NULL; -+ static bool posixly_correct = false, always_return_nonopt = false; -+ if (optind >= argc) -+ return -1; -+ if (!optind) -+ { -+ nonopt_begin = nonopt_end = 0; -+ posixly_correct = '+' == optstring[0] || getenv("POSIXLY_CORRECT"); -+ always_return_nonopt = '-' == optstring[0]; -+ if (posixly_correct || always_return_nonopt) -+ optstring++; -+ } -+ if (!nextchar || !*nextchar) -+ { -+ if (!posixly_correct && !always_return_nonopt) -+ { -+ int temp = optind++; -+ for (;;) -+ { -+ if (++temp >= argc || !strcmp("--", argv[temp])) -+ { -+ permute(argv); -+ if (temp < argc) -+ { -+ optind = temp + 1; -+ permute(argv); -+ } -+ optind = nonopt_begin; -+ return -1; -+ } -+ if ('-' == argv[temp][0] && argv[temp][1]) -+ break; -+ } -+ if (temp > optind) -+ { -+ permute(argv); -+ nonopt_end = optind = temp; -+ } -+ nextchar = argv[optind] + 1; -+ } -+ else -+ { -+ if (++optind >= argc || !strcmp("--", argv[optind])) -+ return -1; -+ if ('-' != argv[optind][0] || !argv[optind][1]) -+ return posixly_correct ? -1 : (optarg = argv[optind++], 1); -+ } -+ } -+ const char *temp = strchr(optstring, *nextchar++); -+ if (!temp) -+ return optopt = *(nextchar - 1), '?'; -+ if (':' == temp[1]) -+ { -+ bool err = false; -+ if (':' == temp[2]) -+ optarg = *nextchar ? nextchar : NULL; -+ else if (*nextchar) -+ optarg = nextchar; -+ else if ('-' != argv[++optind][0]) -+ optarg = argv[optind]; -+ else -+ return nextchar = argv[optind] + 1, -+ optopt = *temp, -+ ':' == optstring[0] ? ':' : '?'; -+ nextchar += strlen(nextchar); -+ } -+ return *temp; -+} -diff --git a/apps/ocspcheck/compat/getopt.h b/apps/ocspcheck/compat/getopt.h -new file mode 100644 -index 0000000..ada142e ---- /dev/null -+++ b/apps/ocspcheck/compat/getopt.h -@@ -0,0 +1,15 @@ -+/* -+ * Public domain -+ * -+ * EternalPhane -+ */ -+ -+#ifndef GETOPT_H__ -+#define GETOPT_H__ -+ -+extern char *optarg; -+extern int optind, opterr, optopt; -+ -+int getopt(int argc, char *const argv[], const char *optstring); -+ -+#endif -\ No newline at end of file -diff --git a/apps/ocspcheck/ocspcheck.c b/apps/ocspcheck/ocspcheck.c -index 551a8fa..c608578 100644 ---- a/apps/ocspcheck/ocspcheck.c -+++ b/apps/ocspcheck/ocspcheck.c -@@ -519,6 +519,10 @@ main(int argc, char **argv) - ssize_t written, w; - short port; - -+#ifndef HAVE_GETOPT -+#include "getopt.h" -+#endif -+ - while ((ch = getopt(argc, argv, "C:i:No:v")) != -1) { - switch (ch) { - case 'C': -diff --git a/include/compat/unistd.h b/include/compat/unistd.h -index f521b94..f11db44 100644 ---- a/include/compat/unistd.h -+++ b/include/compat/unistd.h -@@ -23,6 +23,7 @@ ssize_t pwrite(int d, const void *buf, size_t nbytes, off_t offset); - #include - #include - -+#define STDIN_FILENO 0 - #define STDOUT_FILENO 1 - #define STDERR_FILENO 2 - diff --git a/ports/libressl/0002-suppress-msvc-warnings.patch b/ports/libressl/0002-suppress-msvc-warnings.patch deleted file mode 100644 index 79d756622b42b4..00000000000000 --- a/ports/libressl/0002-suppress-msvc-warnings.patch +++ /dev/null @@ -1,47 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index a6a7554..b20fd4b 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -111,6 +111,11 @@ if(WIN32) - set(PLATFORM_LIBS ${PLATFORM_LIBS} ws2_32 bcrypt) - endif() - -+if(MSVC AND MSVC_VERSION GREATER_EQUAL 1912) -+ message(STATUS "Setting /Qspectre switch") -+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /Qspectre") -+endif() -+ - if(MSVC) - add_definitions(-Dinline=__inline) - message(STATUS "Using [${CMAKE_C_COMPILER_ID}] compiler") -@@ -123,16 +128,29 @@ if(MSVC) - "C4127" # conditional expression is constant - "C4146" # unary minus operator applied to unsigned type, - # result still unsigned -+ "C4242" # 'identifier' : conversion from 'type1' to 'type2', -+ # possible loss of data - "C4244" # 'argument' : conversion from 'type1' to 'type2', - # possible loss of data - "C4245" # 'conversion' : conversion from 'type1' to 'type2', - # signed/unsigned mismatch -+ "C4255" # 'function' : no function prototype given: -+ # converting '()' to '(void)' - "C4267" # 'var' : conversion from 'size_t' to 'type', - # possible loss of data -+ "C4388" # 'expression': signed/unsigned mismatch - "C4389" # 'operator' : signed/unsigned mismatch -+ "C4464" # relative include path contains '..' -+ "C4668" # 'symbol' is not defined as a preprocessor macro, -+ # replacing with '0' for 'directives' - "C4706" # assignment within conditional expression -+ "C4710" # 'function' : function not inlined -+ "C4711" # function 'function' selected for inline expansion -+ "C4820" # 'bytes' bytes padding added after construct 'member_name' - "C4996" # The POSIX name for this item is deprecated. - # Instead, use the ISO C and C++ conformant name -+ "C5045" # Compiler will insert Spectre mitigation for memory load -+ # if /Qspectre switch specified - ) - elseif(CMAKE_C_COMPILER_ID MATCHES "Intel") - add_definitions(-D_CRT_SUPPRESS_RESTRICT) - diff --git a/ports/libressl/pkgconfig.diff b/ports/libressl/pkgconfig.diff new file mode 100644 index 00000000000000..ee08c9fdb13724 --- /dev/null +++ b/ports/libressl/pkgconfig.diff @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9c3d0d4..cc0e904 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -512,7 +512,7 @@ if(ENABLE_LIBRESSL_INSTALL) + DESTINATION "${LIBRESSL_INSTALL_CMAKEDIR}" + ) + +- if(NOT MSVC) ++ if(1) + # Create pkgconfig files. + set(prefix ${CMAKE_INSTALL_PREFIX}) + set(exec_prefix \${prefix}) diff --git a/ports/libressl/portfile.cmake b/ports/libressl/portfile.cmake index 7b50024e039bbd..5734130b8b3838 100644 --- a/ports/libressl/portfile.cmake +++ b/ports/libressl/portfile.cmake @@ -1,23 +1,20 @@ if(EXISTS "${CURRENT_INSTALLED_DIR}/include/openssl/ssl.h") - message(WARNING "Can't build libressl if openssl is installed. Please remove openssl, and try install libressl again if you need it. Build will continue since libressl is a subset of openssl") - set(VCPKG_POLICY_EMPTY_PACKAGE enabled) - return() + message(FATAL_ERROR "Can't build libressl if openssl is installed. Please remove openssl, and try install libressl again if you need it.") endif() vcpkg_download_distfile( LIBRESSL_SOURCE_ARCHIVE URLS "https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/${PORT}-${VERSION}.tar.gz" - "https://ftp.fau.de/openbsd/LibreSSL/${PORT}-${VERSION}.tar.gz" + "https://github.com/libressl/portable/releases/download/v${VERSION}/${PORT}-${VERSION}.tar.gz" FILENAME "${PORT}-${VERSION}.tar.gz" - SHA512 8fc81e05d1c9f9259d06508ca97d5a1ba5d46b857088c273c20e6b242921f7eac58a1136564ad9831c923758ee63f7b0897c8c6c7b1e53ab8132a995cc559aeb + SHA512 b5ec6d1f4e3842ecb487f9a67d86db658d05cbe8cd3fcba61172affa8c65c5d0823aa244065a7233f06c669d04a5a36517c02a2d99d2f2da3c4df729ac243b37 ) vcpkg_extract_source_archive( SOURCE_PATH ARCHIVE "${LIBRESSL_SOURCE_ARCHIVE}" PATCHES - 0001-enable-ocspcheck-on-msvc.patch - 0002-suppress-msvc-warnings.patch + pkgconfig.diff ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS @@ -29,41 +26,30 @@ vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} + -DLIBRESSL_INSTALL_CMAKEDIR=share/${PORT} -DLIBRESSL_TESTS=OFF OPTIONS_DEBUG -DLIBRESSL_APPS=OFF ) vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() +vcpkg_cmake_config_fixup() + +# libressl as openssl replacement +configure_file("${CURRENT_PORT_DIR}/vcpkg-cmake-wrapper.cmake.in" "${CURRENT_PACKAGES_DIR}/share/openssl/vcpkg-cmake-wrapper.cmake" @ONLY) if("tools" IN_LIST FEATURES) vcpkg_copy_tools(TOOL_NAMES ocspcheck openssl DESTINATION "${CURRENT_PACKAGES_DIR}/tools/openssl" AUTO_CLEAN) endif() -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE - "${CURRENT_PACKAGES_DIR}/bin" - "${CURRENT_PACKAGES_DIR}/debug/bin" - ) -endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/etc/ssl/certs" "${CURRENT_PACKAGES_DIR}/debug/etc/ssl/certs" - "${CURRENT_PACKAGES_DIR}/share/man" "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/share/man" ) -vcpkg_copy_pdbs() - vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") - -vcpkg_fixup_pkgconfig() - -if(VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_UWP) - file(GLOB_RECURSE LIBS "${CURRENT_PACKAGES_DIR}/*.lib") - foreach(LIB ${LIBS}) - string(REGEX REPLACE "(.+)-[0-9]+\\.lib" "\\1.lib" LINK "${LIB}") - file(CREATE_LINK "${LIB}" "${LINK}") - endforeach() -endif() diff --git a/ports/libressl/vcpkg-cmake-wrapper.cmake.in b/ports/libressl/vcpkg-cmake-wrapper.cmake.in new file mode 100644 index 00000000000000..70be9cc3e315e7 --- /dev/null +++ b/ports/libressl/vcpkg-cmake-wrapper.cmake.in @@ -0,0 +1,75 @@ +cmake_policy(PUSH) +cmake_policy(SET CMP0012 NEW) +cmake_policy(SET CMP0054 NEW) +cmake_policy(SET CMP0057 NEW) + +# opensslv.h: OPENSSL_VERSION_NUMBER 0x20000000L, "These will never change" +set(OPENSSL_VERSION_MAJOR 2) +set(OPENSSL_VERSION_MINOR 0) +set(OPENSSL_VERSION_FIX 0) + +if(OPENSSL_USE_STATIC_LIBS) + if("@VCPKG_LIBRARY_LINKAGE@" STREQUAL "dynamic") + message(WARNING "OPENSSL_USE_STATIC_LIBS is set, but vcpkg port openssl was built with dynamic linkage") + endif() + set(OPENSSL_USE_STATIC_LIBS_BAK "${OPENSSL_USE_STATIC_LIBS}") + set(OPENSSL_USE_STATIC_LIBS FALSE) +endif() + +if(DEFINED OPENSSL_ROOT_DIR) + set(OPENSSL_ROOT_DIR_BAK "${OPENSSL_ROOT_DIR}") +endif() +get_filename_component(OPENSSL_ROOT_DIR "${CMAKE_CURRENT_LIST_DIR}" DIRECTORY) +get_filename_component(OPENSSL_ROOT_DIR "${OPENSSL_ROOT_DIR}" DIRECTORY) +find_path(OPENSSL_INCLUDE_DIR NAMES openssl/ssl.h PATH "${OPENSSL_ROOT_DIR}/include" NO_DEFAULT_PATH) +if(MSVC) + find_library(LIB_EAY_DEBUG NAMES crypto PATHS "${OPENSSL_ROOT_DIR}/debug/lib" NO_DEFAULT_PATH) + find_library(LIB_EAY_RELEASE NAMES crypto PATHS "${OPENSSL_ROOT_DIR}/lib" NO_DEFAULT_PATH) + find_library(SSL_EAY_DEBUG NAMES ssl PATHS "${OPENSSL_ROOT_DIR}/debug/lib" NO_DEFAULT_PATH) + find_library(SSL_EAY_RELEASE NAMES ssl PATHS "${OPENSSL_ROOT_DIR}/lib" NO_DEFAULT_PATH) +elseif(WIN32) + find_library(LIB_EAY NAMES libcrypto crypto NAMES_PER_DIR) + find_library(SSL_EAY NAMES libssl ssl NAMES_PER_DIR) +else() + find_library(OPENSSL_CRYPTO_LIBRARY NAMES crypto) + find_library(OPENSSL_SSL_LIBRARY NAMES ssl) +endif() + +_find_package(${ARGS}) + +unset(OPENSSL_ROOT_DIR) +if(DEFINED OPENSSL_ROOT_DIR_BAK) + set(OPENSSL_ROOT_DIR "${OPENSSL_ROOT_DIR_BAK}") + unset(OPENSSL_ROOT_DIR_BAK) +endif() + +if(DEFINED OPENSSL_USE_STATIC_LIBS_BAK) + set(OPENSSL_USE_STATIC_LIBS "${OPENSSL_USE_STATIC_LIBS_BAK}") + unset(OPENSSL_USE_STATIC_LIBS_BAK) +endif() + +if(OPENSSL_FOUND AND "@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static") + if(WIN32) + list(APPEND OPENSSL_LIBRARIES ws2_32 ntdll bcrypt) + if(TARGET OpenSSL::Crypto) + set_property(TARGET OpenSSL::Crypto APPEND PROPERTY INTERFACE_LINK_LIBRARIES "ws2_32;ntdll;bcrypt") + endif() + if(TARGET OpenSSL::SSL) + set_property(TARGET OpenSSL::SSL APPEND PROPERTY INTERFACE_LINK_LIBRARIES "ws2_32;ntdll;bcrypt") + endif() + else() + if("REQUIRED" IN_LIST ARGS) + find_package(Threads REQUIRED) + else() + find_package(Threads) + endif() + list(APPEND OPENSSL_LIBRARIES ${CMAKE_THREAD_LIBS_INIT}) + if(TARGET OpenSSL::Crypto) + set_property(TARGET OpenSSL::Crypto APPEND PROPERTY INTERFACE_LINK_LIBRARIES "Threads::Threads") + endif() + if(TARGET OpenSSL::SSL) + set_property(TARGET OpenSSL::SSL APPEND PROPERTY INTERFACE_LINK_LIBRARIES "Threads::Threads") + endif() + endif() +endif() +cmake_policy(POP) diff --git a/ports/libressl/vcpkg.json b/ports/libressl/vcpkg.json index 9b04f5ac29f186..1c78694ba99359 100644 --- a/ports/libressl/vcpkg.json +++ b/ports/libressl/vcpkg.json @@ -1,14 +1,22 @@ { "name": "libressl", - "version": "3.6.2", + "version": "4.0.0", "port-version": 1, - "description": "LibreSSL is a version of the TLS/crypto stack forked from OpenSSL in 2014, with goals of modernizing the codebase, improving security, and applying best practice development processes.", + "description": [ + "LibreSSL is a TLS/crypto stack.", + "It was forked from OpenSSL in 2014 by the OpenBSD project, with goals of modernizing the codebase, improving security, and applying best practice development processes.", + "LibreSSL provides much of the OpenSSL 1.1 API. Incompatibilities between the projects exist and are unavoidable since both evolve with different goals and priorities." + ], + "homepage": "https://www.libressl.org", "license": "ISC", - "supports": "!(uwp | arm)", "dependencies": [ { "name": "vcpkg-cmake", "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } ], "features": { diff --git a/ports/librsvg/CMakeLists.txt b/ports/librsvg/CMakeLists.txt index 36efa65bcac8dd..630dc443bd9657 100644 --- a/ports/librsvg/CMakeLists.txt +++ b/ports/librsvg/CMakeLists.txt @@ -1,6 +1,21 @@ cmake_minimum_required(VERSION 3.11) project(librsvg C) +find_package(PkgConfig REQUIRED) +pkg_check_modules(LIBCROCO libcroco-0.6 IMPORTED_TARGET) +pkg_check_modules(GLIB2 glib-2.0 gobject-2.0 gmodule-2.0 gio-2.0 IMPORTED_TARGET) +pkg_check_modules(CAIRO cairo IMPORTED_TARGET) +pkg_check_modules(GDK_PIXBUF gdk-pixbuf-2.0 IMPORTED_TARGET) +pkg_check_modules(PANGO pango pangocairo IMPORTED_TARGET) +find_package(LibXml2 REQUIRED) + +if(CMAKE_SYSTEM_NAME MATCHES "Windows") +elseif(CMAKE_SYSTEM_NAME MATCHES "Linux") +else() + pkg_check_modules(PANGO2 pangoft2 pangofc IMPORTED_TARGET) + set(PANGO_FT2_LIB PkgConfig::PANGO2) +endif() + set(RSVG_API_MAJOR_VERSION 2) set(RSVG_API_VERSION "2.0") Set(VERSION "2.40.20") @@ -102,9 +117,22 @@ add_library(${LIBRSVG_TARGET} ${LIBRSVG_SOURCES}) target_compile_definitions(${LIBRSVG_TARGET} PRIVATE -DRSVG_COMPILATION -D_CRT_SECURE_NO_WARNINGS + -DSRCDIR="${CMAKE_CURRENT_SOURCE_DIR}" + -DGDK_PIXBUF_ENABLE_BACKEND + -DG_LOG_DOMAIN="libpixbufloader-svg" -DSRCDIR="" $<$:HAVE_STRTOK_R> ) + +target_link_libraries(${LIBRSVG_TARGET} PRIVATE + PkgConfig::GLIB2 + ${LIBXML2_LIBRARIES} + PkgConfig::PANGO + PkgConfig::GDK_PIXBUF + ${PANGO_FT2_LIB} + PkgConfig::LIBCROCO +) + target_include_directories(${LIBRSVG_TARGET} PRIVATE "${CMAKE_CURRENT_BINARY_DIR}" @@ -132,7 +160,6 @@ install( DESTINATION include/librsvg-${RSVG_API_VERSION}/librsvg ) - set(gdk_pixbuf_pc_requires_private gdk-pixbuf-2.0) pkg_check_modules(GDK_PIXBUF ${gdk_pixbuf_pc_requires_private} IMPORTED_TARGET REQUIRED) pkg_get_variable(GDK_PIXBUF_MODULEDIR ${gdk_pixbuf_pc_requires_private} gdk_pixbuf_moduledir) @@ -164,7 +191,6 @@ install(TARGETS pixbufloader-svg LIBRARY DESTINATION "${GDK_PIXBUF_MODULEDIR}" ) - configure_file("${CMAKE_CURRENT_SOURCE_DIR}/librsvg.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/librsvg.pc" @ONLY) file(READ "${CMAKE_CURRENT_BINARY_DIR}/librsvg.pc" librsvg_pc) list(JOIN librsvg_pc_requires_private " " requires_private) diff --git a/ports/librsvg/fix-libxml2-2.13.5.patch b/ports/librsvg/fix-libxml2-2.13.5.patch new file mode 100644 index 00000000000000..57cd4265138d55 --- /dev/null +++ b/ports/librsvg/fix-libxml2-2.13.5.patch @@ -0,0 +1,13 @@ +diff --git a/rsvg-css.c b/rsvg-css.c +index 5b359a206..4f59281b6 100644 +--- a/rsvg-css.c ++++ b/rsvg-css.c +@@ -839,7 +839,7 @@ rsvg_css_parse_overflow (const char *str, gboolean * inherit) + } + + static void +-rsvg_xml_noerror (void *data, xmlErrorPtr error) ++rsvg_xml_noerror (void *data, const xmlError *error) + { + } + diff --git a/ports/librsvg/portfile.cmake b/ports/librsvg/portfile.cmake index 5252b6547f6cc8..c913d13ad1d291 100644 --- a/ports/librsvg/portfile.cmake +++ b/ports/librsvg/portfile.cmake @@ -5,12 +5,14 @@ vcpkg_download_distfile(ARCHIVE URLS "https://download.gnome.org/sources/librsvg/${MAJOR_MINOR}/librsvg-${VERSION}.tar.xz" "https://www.mirrorservice.org/sites/ftp.gnome.org/pub/GNOME/sources/librsvg/${MAJOR_MINOR}/librsvg-${VERSION}.tar.xz" FILENAME "librsvg-${VERSION}.tar.xz" - SHA512 cdd8224deb4c3786e29f48ed02c32ed9dff5cb15aba574a5ef845801ad3669cfcc3eedb9d359c22213dc7a29de24c363248825adad5877c40abf73b3688ff12f + SHA512 db0563d8e0edaae642a6b2bcd239cf54191495058ac8c7ff614ebaf88c0e30bd58dbcd41f58d82a9d5ed200ced45fc5bae22f2ed3cf3826e9348a497009e1280 ) vcpkg_extract_source_archive( SOURCE_PATH ARCHIVE "${ARCHIVE}" + PATCHES + fix-libxml2-2.13.5.patch ) file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" "${CMAKE_CURRENT_LIST_DIR}/config.h.linux" DESTINATION "${SOURCE_PATH}") diff --git a/ports/librsvg/vcpkg.json b/ports/librsvg/vcpkg.json index 86fdf2cadcd290..2a7265e1343fe2 100644 --- a/ports/librsvg/vcpkg.json +++ b/ports/librsvg/vcpkg.json @@ -1,7 +1,6 @@ { "name": "librsvg", - "version": "2.40.20", - "port-version": 10, + "version": "2.40.21", "description": "A small library to render Scalable Vector Graphics (SVG)", "homepage": "https://gitlab.gnome.org/GNOME/librsvg", "license": "LGPL-2.0-or-later", diff --git a/ports/librsync/portfile.cmake b/ports/librsync/portfile.cmake index a0a07bad3d4d01..663e47b1d2cc0a 100644 --- a/ports/librsync/portfile.cmake +++ b/ports/librsync/portfile.cmake @@ -3,8 +3,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO librsync/librsync - REF 42b636d2a65ab6914ea7cac50886da28192aaf9b # V2.3.2 - SHA512 4903a64e327a7d49ae5f741b7b9fe3a76018010147249e2bc53917b06d31ee0f9b917f6c3e36a2d241ae66c19fa881113b59911d777742a859922486d9fe9c4c + REF "v${VERSION}" + SHA512 ac01413b875e774db9fec3888210a4b9a5f3d32c081f1ed5f2cf9dc29cfae6ecedf6eac42062631e6dcf188853313fce4520430549768a0f68993419b07e58d9 HEAD_REF master ) diff --git a/ports/librsync/vcpkg.json b/ports/librsync/vcpkg.json index 7fda0a64de099b..0287ac3c258d16 100644 --- a/ports/librsync/vcpkg.json +++ b/ports/librsync/vcpkg.json @@ -1,7 +1,6 @@ { "name": "librsync", - "version-semver": "2.3.2", - "port-version": 1, + "version-semver": "2.3.4", "description": "librsync is a library for calculating and applying network deltas, with an interface designed to ease integration into diverse network applications.", "homepage": "http://librsync.sourcefrog.net/", "supports": "!uwp", diff --git a/ports/librtmp/CMakeLists.txt b/ports/librtmp/CMakeLists.txt index c9f77f16bbf63d..c4c12d7f030600 100644 --- a/ports/librtmp/CMakeLists.txt +++ b/ports/librtmp/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.8) +cmake_minimum_required(VERSION 3.10) project(librtmp C) @@ -43,13 +43,26 @@ if(MSVC) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4996") endif() -add_library(librtmp ${SRCS} ${HEADERS} ${SRCS_MSVC}) +add_library(rtmp ${SRCS} ${HEADERS} ${SRCS_MSVC}) -target_include_directories(librtmp PRIVATE ./librtmp) -target_link_libraries(librtmp PRIVATE ${ZLIB_LIBRARIES} ${OPENSSL_LIBRARIES}) -target_link_libraries(librtmp PRIVATE Ws2_32.lib Winmm.lib) +target_include_directories(rtmp PRIVATE ./librtmp) +target_link_libraries(rtmp PRIVATE ${ZLIB_LIBRARIES} ${OPENSSL_LIBRARIES}) +if(MSVC OR MINGW) + target_link_libraries(rtmp PRIVATE Ws2_32.lib Winmm.lib) +endif() + +set(libdir [[${prefix}/lib]]) +set(VERSION 2.6) # from ChangeLog +set(CRYPTO_REQ "libssl,libcrypto") +if(MSVC OR MINGW) + set(PRIVATE_LIBS "-lWS2_32 -lWinMM") +endif() +configure_file(librtmp/librtmp.pc.in librtmp.pc @ONLY) +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/librtmp.pc + DESTINATION lib/pkgconfig +) -install(TARGETS librtmp +install(TARGETS rtmp RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) diff --git a/ports/librtmp/dh.patch b/ports/librtmp/dh.patch deleted file mode 100644 index 4b03453547ed39..00000000000000 --- a/ports/librtmp/dh.patch +++ /dev/null @@ -1,136 +0,0 @@ -diff --git a/librtmp/dh.h b/librtmp/dh.h -index 8e285a60c..ea562d200 100644 ---- a/librtmp/dh.h -+++ b/librtmp/dh.h -@@ -139,11 +139,14 @@ typedef BIGNUM * MP_t; - #define MP_setbin(u,buf,len) BN_bn2bin(u,buf) - #define MP_getbin(u,buf,len) u = BN_bin2bn(buf,len,0) - -+ - #define MDH DH - #define MDH_new() DH_new() - #define MDH_free(dh) DH_free(dh) - #define MDH_generate_key(dh) DH_generate_key(dh) - #define MDH_compute_key(secret, seclen, pub, dh) DH_compute_key(secret, pub, dh) -+#define MPH_set_pqg(dh, p, q, g, res) res = DH_set0_pqg(dh, p, q, g) -+#define MPH_set_length(dh, len, res) res = DH_set_length(dh,len) - - #endif - -@@ -152,7 +155,7 @@ typedef BIGNUM * MP_t; - - /* RFC 2631, Section 2.1.5, http://www.ietf.org/rfc/rfc2631.txt */ - static int --isValidPublicKey(MP_t y, MP_t p, MP_t q) -+isValidPublicKey(const MP_t y,const MP_t p, MP_t q) - { - int ret = TRUE; - MP_t bn; -@@ -211,20 +214,33 @@ DHInit(int nKeyBits) - if (!dh) - goto failed; - -- MP_new(dh->g); -+ MP_t g,p; -+ MP_new(g); - -- if (!dh->g) -+ if (!g) -+ { - goto failed; -+ } - -- MP_gethex(dh->p, P1024, res); /* prime P1024, see dhgroups.h */ -+ DH_get0_pqg(dh, (BIGNUM const**)&p, NULL, NULL); -+ MP_gethex(p, P1024, res); /* prime P1024, see dhgroups.h */ - if (!res) - { - goto failed; - } - -- MP_set_w(dh->g, 2); /* base 2 */ -- -- dh->length = nKeyBits; -+ MP_set_w(g, 2); /* base 2 */ -+ MPH_set_pqg(dh,p,NULL,g, res); -+ if (!res) -+ { -+ MP_free(g); -+ goto failed; -+ } -+ MPH_set_length(dh,nKeyBits, res); -+ if (!res) -+ { -+ goto failed; -+ } - return dh; - - failed: -@@ -250,14 +267,11 @@ DHGenerateKey(MDH *dh) - - MP_gethex(q1, Q1024, res); - assert(res); -- -- res = isValidPublicKey(dh->pub_key, dh->p, q1); -+ res = isValidPublicKey(DH_get0_pub_key(dh), DH_get0_p(dh), q1); - if (!res) -- { -- MP_free(dh->pub_key); -- MP_free(dh->priv_key); -- dh->pub_key = dh->priv_key = 0; -- } -+ { -+ MDH_free(dh); // Cannot set priv_key to nullptr so there is no way to generate a new pub/priv key pair in openssl 1.1.1. -+ } - - MP_free(q1); - } -@@ -272,15 +286,16 @@ static int - DHGetPublicKey(MDH *dh, uint8_t *pubkey, size_t nPubkeyLen) - { - int len; -- if (!dh || !dh->pub_key) -+ MP_t pub = DH_get0_pub_key(dh); -+ if (!dh || !pub) - return 0; - -- len = MP_bytes(dh->pub_key); -+ len = MP_bytes(pub); - if (len <= 0 || len > (int) nPubkeyLen) - return 0; - - memset(pubkey, 0, nPubkeyLen); -- MP_setbin(dh->pub_key, pubkey + (nPubkeyLen - len), len); -+ MP_setbin(pub, pubkey + (nPubkeyLen - len), len); - return 1; - } - -@@ -288,15 +303,16 @@ DHGetPublicKey(MDH *dh, uint8_t *pubkey, size_t nPubkeyLen) - static int - DHGetPrivateKey(MDH *dh, uint8_t *privkey, size_t nPrivkeyLen) - { -- if (!dh || !dh->priv_key) -+ MP_t priv = DH_get0_priv_key(dh); -+ if (!dh || !priv) - return 0; - -- int len = MP_bytes(dh->priv_key); -+ int len = MP_bytes(priv); - if (len <= 0 || len > (int) nPrivkeyLen) - return 0; - - memset(privkey, 0, nPrivkeyLen); -- MP_setbin(dh->priv_key, privkey + (nPrivkeyLen - len), len); -+ MP_setbin(priv, privkey + (nPrivkeyLen - len), len); - return 1; - } - #endif -@@ -322,7 +338,7 @@ DHComputeSharedSecretKey(MDH *dh, uint8_t *pubkey, size_t nPubkeyLen, - MP_gethex(q1, Q1024, len); - assert(len); - -- if (isValidPublicKey(pubkeyBn, dh->p, q1)) -+ if (isValidPublicKey(pubkeyBn, DH_get0_p(dh), q1)) - res = MDH_compute_key(secret, nPubkeyLen, pubkeyBn, dh); - else - res = -1; diff --git a/ports/librtmp/handshake.patch b/ports/librtmp/handshake.patch deleted file mode 100644 index 88f5d245855564..00000000000000 --- a/ports/librtmp/handshake.patch +++ /dev/null @@ -1,35 +0,0 @@ -diff --git a/librtmp/handshake.h b/librtmp/handshake.h -index 98bf3c877..0819152bd 100644 ---- a/librtmp/handshake.h -+++ b/librtmp/handshake.h -@@ -66,9 +66,9 @@ typedef gcry_cipher_hd_t RC4_handle; - #if OPENSSL_VERSION_NUMBER < 0x0090800 || !defined(SHA256_DIGEST_LENGTH) - #error Your OpenSSL is too old, need 0.9.8 or newer with SHA256 - #endif --#define HMAC_setup(ctx, key, len) HMAC_CTX_init(&ctx); HMAC_Init_ex(&ctx, key, len, EVP_sha256(), 0) --#define HMAC_crunch(ctx, buf, len) HMAC_Update(&ctx, buf, len) --#define HMAC_finish(ctx, dig, dlen) HMAC_Final(&ctx, dig, &dlen); HMAC_CTX_cleanup(&ctx) -+#define HMAC_setup(ctx, key, len) ctx = HMAC_CTX_new(); HMAC_Init_ex(ctx, key, len, EVP_sha256(), 0) -+#define HMAC_crunch(ctx, buf, len) HMAC_Update(ctx, buf, len) -+#define HMAC_finish(ctx, dig, dlen) HMAC_Final(ctx, dig, &dlen); HMAC_CTX_free(ctx) - - typedef RC4_KEY * RC4_handle; - #define RC4_alloc(h) *h = malloc(sizeof(RC4_KEY)) -@@ -114,7 +114,7 @@ static void InitRC4Encryption - { - uint8_t digest[SHA256_DIGEST_LENGTH]; - unsigned int digestLen = 0; -- HMAC_CTX ctx; -+ HMAC_CTX *ctx; - - RC4_alloc(rc4keyIn); - RC4_alloc(rc4keyOut); -@@ -263,7 +263,7 @@ HMACsha256(const uint8_t *message, size_t messageLen, const uint8_t *key, - size_t keylen, uint8_t *digest) - { - unsigned int digestLen; -- HMAC_CTX ctx; -+ HMAC_CTX *ctx; - - HMAC_setup(ctx, key, keylen); - HMAC_crunch(ctx, message, messageLen); diff --git a/ports/librtmp/hashswf.patch b/ports/librtmp/hashswf.patch deleted file mode 100644 index fb29549f3d12f6..00000000000000 --- a/ports/librtmp/hashswf.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/librtmp/hashswf.c b/librtmp/hashswf.c -index 3c56b6922..964a64d01 100644 ---- a/librtmp/hashswf.c -+++ b/librtmp/hashswf.c -@@ -57,10 +57,10 @@ - #include - #include - #include --#define HMAC_setup(ctx, key, len) HMAC_CTX_init(&ctx); HMAC_Init_ex(&ctx, (unsigned char *)key, len, EVP_sha256(), 0) --#define HMAC_crunch(ctx, buf, len) HMAC_Update(&ctx, (unsigned char *)buf, len) --#define HMAC_finish(ctx, dig, dlen) HMAC_Final(&ctx, (unsigned char *)dig, &dlen); --#define HMAC_close(ctx) HMAC_CTX_cleanup(&ctx) -+#define HMAC_setup(ctx, key, len) ctx = HMAC_CTX_new(); HMAC_Init_ex(ctx, (unsigned char *)key, len, EVP_sha256(), 0) -+#define HMAC_crunch(ctx, buf, len) HMAC_Update(ctx, (unsigned char *)buf, len) -+#define HMAC_finish(ctx, dig, dlen) HMAC_Final(ctx, (unsigned char *)dig, &dlen); -+#define HMAC_close(ctx) HMAC_CTX_free(ctx) - #endif - - extern void RTMP_TLS_Init(); -@@ -289,7 +289,7 @@ leave: - struct info - { - z_stream *zs; -- HMAC_CTX ctx; -+ HMAC_CTX *ctx; - int first; - int zlib; - int size; diff --git a/ports/librtmp/pkgconfig.patch b/ports/librtmp/pkgconfig.patch new file mode 100644 index 00000000000000..c5be81d12dbc0c --- /dev/null +++ b/ports/librtmp/pkgconfig.patch @@ -0,0 +1,15 @@ +diff --git a/librtmp/librtmp.pc.in b/librtmp/librtmp.pc.in +--- a/librtmp/librtmp.pc.in ++++ b/librtmp/librtmp.pc.in +@@ -5,9 +5,9 @@ + + Name: librtmp + Description: RTMP implementation + Version: @VERSION@ +-Requires: @CRYPTO_REQ@ ++Requires: zlib,@CRYPTO_REQ@ + URL: http://rtmpdump.mplayerhq.hu +-Libs: -L${libdir} -lrtmp -lz @PUBLIC_LIBS@ ++Libs: -L${libdir} -lrtmp @PUBLIC_LIBS@ + Libs.private: @PRIVATE_LIBS@ + Cflags: -I${incdir} diff --git a/ports/librtmp/portfile.cmake b/ports/librtmp/portfile.cmake index 657517efa05e25..1e717e28049ee1 100644 --- a/ports/librtmp/portfile.cmake +++ b/ports/librtmp/portfile.cmake @@ -1,14 +1,12 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mirror/rtmpdump - REF c5f04a58fc2aeea6296ca7c44ee4734c18401aa3 - SHA512 d97ac38672898a96412baa5f03d1e64d512ccefe15ead0a055ca039dc6057e2e620e046c28f4d7468e132b0b5a9eb9bd171250c1afa14da53760a0d7aae3c9e9 + REF 6f6bb1353fc84f4cc37138baa99f586750028a01 + SHA512 e6c108576fdd3430d81e2f72b343864eee5d6be396c9378a2ae2bfc871e9464e20d7bd057a47ef2449a301d933b29265e7ffd3383631b24fc035f5483337bbce PATCHES - dh.patch #Openssl 1.1.1 patch - handshake.patch #Openssl 1.1.1 patch - hashswf.patch #Openssl 1.1.1 patch fix_strncasecmp.patch hide_netstackdump.patch + pkgconfig.patch ) file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") @@ -19,11 +17,13 @@ vcpkg_cmake_configure( ) vcpkg_cmake_install() +vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # License and man file(INSTALL "${SOURCE_PATH}/librtmp/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(COPY "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") file(INSTALL "${SOURCE_PATH}/librtmp/librtmp.3.html" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") vcpkg_copy_pdbs() diff --git a/ports/librtmp/usage b/ports/librtmp/usage new file mode 100644 index 00000000000000..abf5c3e3bfcba2 --- /dev/null +++ b/ports/librtmp/usage @@ -0,0 +1,5 @@ +librtmp can be imported via CMake FindPkgConfig module: + + find_package(PkgConfig REQUIRED) + pkg_check_modules(librtmp REQUIRED IMPORTED_TARGET librtmp) + target_link_libraries(main PkgConfig::librtmp) diff --git a/ports/librtmp/vcpkg.json b/ports/librtmp/vcpkg.json index 7998d955a8b30a..b1a89fadd399a7 100644 --- a/ports/librtmp/vcpkg.json +++ b/ports/librtmp/vcpkg.json @@ -1,7 +1,6 @@ { "name": "librtmp", - "version-date": "2019-11-11", - "port-version": 4, + "version-date": "2024-03-01", "description": "RTMPDump Real-Time Messaging Protocol API", "homepage": "https://rtmpdump.mplayerhq.hu", "dependencies": [ diff --git a/ports/librtpi/portfile.cmake b/ports/librtpi/portfile.cmake new file mode 100644 index 00000000000000..f2baa230ff1088 --- /dev/null +++ b/ports/librtpi/portfile.cmake @@ -0,0 +1,18 @@ +vcpkg_from_gitlab( + OUT_SOURCE_PATH SOURCE_PATH + GITLAB_URL https://gitlab.com + REPO linux-rt/librtpi + REF "${VERSION}" + SHA512 2665c32867f498d37daaec68a66f5d226de8c2f29bd57f784fbf33245aa5fc3dc173bb80d948b1b5c2c03798dce3fbd9638a3c0ec3816430ecfc7436cea9566e + HEAD_REF main +) + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG +) + +vcpkg_install_make() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") + +file(INSTALL "${CURRENT_PORT_DIR}/unofficial-${PORT}-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/unofficial-${PORT}") diff --git a/ports/librtpi/unofficial-librtpi-config.cmake b/ports/librtpi/unofficial-librtpi-config.cmake new file mode 100644 index 00000000000000..49f4832da2e526 --- /dev/null +++ b/ports/librtpi/unofficial-librtpi-config.cmake @@ -0,0 +1,25 @@ +if(NOT TARGET unofficial::librtpi::librtpi) + get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) + get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) + get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) + + add_library(unofficial::librtpi::librtpi UNKNOWN IMPORTED) + + set_target_properties(unofficial::librtpi::librtpi PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" + ) + + find_library(LIBRTPI_LIBRARY_DEBUG NAMES rtpi librtpi PATHS "${_IMPORT_PREFIX}/debug" PATH_SUFFIXES lib NO_DEFAULT_PATH) + if(EXISTS "${LIBRTPI_LIBRARY_DEBUG}") + set_property(TARGET unofficial::librtpi::librtpi APPEND PROPERTY IMPORTED_CONFIGURATIONS "Debug") + set_target_properties(unofficial::librtpi::librtpi PROPERTIES IMPORTED_LOCATION_DEBUG "${LIBRTPI_LIBRARY_DEBUG}") + endif() + + find_library(LIBRTPI_LIBRARY_RELEASE NAMES rtpi librtpi PATHS "${_IMPORT_PREFIX}/" PATH_SUFFIXES lib NO_DEFAULT_PATH) + if(EXISTS "${LIBRTPI_LIBRARY_RELEASE}") + set_property(TARGET unofficial::librtpi::librtpi APPEND PROPERTY IMPORTED_CONFIGURATIONS "Release") + set_target_properties(unofficial::librtpi::librtpi PROPERTIES IMPORTED_LOCATION_RELEASE "${LIBRTPI_LIBRARY_RELEASE}") + endif() + + unset(_IMPORT_PREFIX) +endif() diff --git a/ports/librtpi/vcpkg.json b/ports/librtpi/vcpkg.json new file mode 100644 index 00000000000000..7ace65ac74c158 --- /dev/null +++ b/ports/librtpi/vcpkg.json @@ -0,0 +1,8 @@ +{ + "name": "librtpi", + "version": "1.0.1", + "description": "The Real-Time Priority Inheritance Library (librtpi) is intended to bridge the gap between the glibc pthread implementation and a functionally correct priority inheritance for pthread locking primitives, such as pthread_mutex and pthread_condvar.", + "homepage": "https://gitlab.com/linux-rt/librtpi", + "license": "LGPL-2.1-only", + "supports": "linux" +} diff --git a/ports/librttopo/constant-nan.patch b/ports/librttopo/constant-nan.patch new file mode 100644 index 00000000000000..6302869dbd3b42 --- /dev/null +++ b/ports/librttopo/constant-nan.patch @@ -0,0 +1,14 @@ +diff --git a/src/rtout_wkb.c b/src/rtout_wkb.c +index 7cfeda6..4f2ff38 100644 +--- a/src/rtout_wkb.c ++++ b/src/rtout_wkb.c +@@ -22,8 +22,7 @@ + * + **********************************************************************/ + +- +- ++#define _UCRT_NOISY_NAN + #include "rttopo_config.h" + #include + diff --git a/ports/librttopo/portfile.cmake b/ports/librttopo/portfile.cmake index a7470eb6d389b2..99bcd0f27edd2f 100644 --- a/ports/librttopo/portfile.cmake +++ b/ports/librttopo/portfile.cmake @@ -15,6 +15,7 @@ vcpkg_extract_source_archive( fix-makefiles.patch geos-config.patch fix-pc-file.patch + constant-nan.patch # https://developercommunity.visualstudio.com/t/NAN-is-no-longer-compile-time-constant-i/10688907 ) if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) diff --git a/ports/librttopo/vcpkg.json b/ports/librttopo/vcpkg.json index de9fb5178ded19..b875e63301774e 100644 --- a/ports/librttopo/vcpkg.json +++ b/ports/librttopo/vcpkg.json @@ -1,7 +1,7 @@ { "name": "librttopo", "version": "1.1.0", - "port-version": 8, + "port-version": 9, "description": "The RT Topology Library exposes an API to create and manage standard (ISO 13249 aka SQL/MM) topologies using user-provided data stores.", "homepage": "https://git.osgeo.org/gitea/rttopo/librttopo", "license": "GPL-2.0-or-later", diff --git a/ports/libsass/portfile.cmake b/ports/libsass/portfile.cmake index 6428e9c07b66d3..8651e7daa94d08 100644 --- a/ports/libsass/portfile.cmake +++ b/ports/libsass/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO sass/libsass - REF 3.6.5 - SHA512 98CC7E12FDF74CD9E92D8D4A62B821956D3AD186FCEE9A8D77B677A621342AA161B73D9ADAD4C1849678A3BAC890443120CC8FEBE1B7429AAB374321D635B8F7 + REF "${VERSION}" + SHA512 659828c854af391c10a16954425fbeeb5fa036189dea45555cd8046338f7469eb7f8d84134030ce644921514b8f397ef6070b56dfb116ea7ce94328d64576518 HEAD_REF master PATCHES remove_compiler_flags.patch ) diff --git a/ports/libsass/vcpkg.json b/ports/libsass/vcpkg.json index 3d2fa450c9ba46..afd05470558128 100644 --- a/ports/libsass/vcpkg.json +++ b/ports/libsass/vcpkg.json @@ -1,7 +1,6 @@ { "name": "libsass", - "version": "3.6.5", - "port-version": 1, + "version": "3.6.6", "description": "LibSass - Sass compiler written in C++", "homepage": "https://github.com/sass/libsass", "supports": "!uwp" diff --git a/ports/libsbml/dependencies.diff b/ports/libsbml/dependencies.diff index 1f54a0400bfce5..3a23ec2eed8a04 100644 --- a/ports/libsbml/dependencies.diff +++ b/ports/libsbml/dependencies.diff @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index a8af3a4..3926b68 100644 +index b2e97c6..5f5418d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -421,8 +421,9 @@ set(LIBSBML_XML_LIBRARY_LIBS) +@@ -435,8 +435,9 @@ set(LIBSBML_XML_LIBRARY_LIBS) if(WITH_EXPAT) if(NOT TARGET EXPAT::EXPAT) @@ -13,7 +13,7 @@ index a8af3a4..3926b68 100644 add_definitions( -DUSE_EXPAT ) list(APPEND SWIG_EXTRA_ARGS -DUSE_EXPAT) -@@ -443,7 +444,8 @@ endif(WITH_EXPAT) +@@ -457,7 +458,8 @@ endif(WITH_EXPAT) set(USE_LIBXML OFF) if(WITH_LIBXML) @@ -23,7 +23,7 @@ index a8af3a4..3926b68 100644 add_definitions( -DUSE_LIBXML ) list(APPEND SWIG_EXTRA_ARGS -DUSE_LIBXML) -@@ -495,7 +497,7 @@ endif() +@@ -509,7 +511,7 @@ endif() option(WITH_BZIP2 "Enable the use of bzip2 compression." ${BZIP_INITIAL_VALUE}) set(USE_BZ2 OFF) if(WITH_BZIP2) @@ -32,7 +32,7 @@ index a8af3a4..3926b68 100644 set(USE_BZ2 ON) add_definitions( -DUSE_BZ2 ) list(APPEND SWIG_EXTRA_ARGS -DUSE_BZ2) -@@ -521,6 +525,9 @@ Separate multiple directories using semicolons." ) +@@ -535,6 +537,9 @@ Separate multiple directories using semicolons." ) # Locate zlib # @@ -42,7 +42,7 @@ index a8af3a4..3926b68 100644 set(ZLIB_INITIAL_VALUE) if (NOT LIBZ_LIBRARY) find_library(LIBZ_LIBRARY -@@ -614,7 +621,6 @@ valid. It should contain the file zlib.h, but it does not.") +@@ -628,7 +633,6 @@ valid. It should contain the file zlib.h, but it does not.") endif(WITH_ZLIB) # install find scripts only for used dependencies @@ -50,7 +50,7 @@ index a8af3a4..3926b68 100644 ############################################################################### # -@@ -671,7 +677,12 @@ if(WITH_CHECK) +@@ -685,7 +689,12 @@ if(WITH_CHECK) enable_testing() @@ -64,10 +64,22 @@ index a8af3a4..3926b68 100644 if (UNIX) # setup valgrind -@@ -1005,17 +1016,18 @@ install(FILES ${DOCUMENTATION_FILES} DESTINATION ${MISC_PREFIX}) +@@ -1018,18 +1027,29 @@ install(FILES ${DOCUMENTATION_FILES} DESTINATION ${MISC_PREFIX}) + # Write libsbml.pc # - set (PRIVATE_LIBS "-lstdc++ -lm") +-set (PRIVATE_LIBS "-lstdc++ -lm") ++set(FAKE_CXX_LINKAGE "") ++foreach(lib IN LISTS CMAKE_CXX_IMPLICIT_LINK_LIBRARIES) ++ if(lib IN_LIST CMAKE_C_IMPLICIT_LINK_LIBRARIES) ++ continue() ++ elseif(EXISTS "${lib}") ++ string(APPEND FAKE_CXX_LINKAGE " ${CMAKE_LINK_LIBRARY_FILE_FLAG}${lib}") ++ else() ++ string(APPEND FAKE_CXX_LINKAGE " ${CMAKE_LINK_LIBRARY_FLAG}${lib}") ++ endif() ++endforeach() ++set (PRIVATE_LIBS "${FAKE_CXX_LINKAGE}") +set (PRIVATE_REQUIRES "") if (WITH_ZLIB) -set (PRIVATE_LIBS "${LIBZ_LIBRARY} ${PRIVATE_LIBS}") @@ -87,7 +99,7 @@ index a8af3a4..3926b68 100644 endif() if (WITH_XERCES) set (PRIVATE_LIBS "${XERCES_LIBRARY} ${PRIVATE_LIBS}") -@@ -1037,9 +1049,7 @@ if (WITH_XERCES) +@@ -1051,9 +1071,7 @@ if (WITH_XERCES) file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/libsbml.pc" "Conflicts: xerces-c = 2.6.0\n") endif() diff --git a/ports/libsbml/portfile.cmake b/ports/libsbml/portfile.cmake index cab0f5008da5fb..0afdd81448c28b 100644 --- a/ports/libsbml/portfile.cmake +++ b/ports/libsbml/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO sbmlteam/libsbml REF "v${VERSION}" - SHA512 2770c1d3295e22ed8fb8dfa2480efa160fc61fbeeca3a9e214e210acb3fd6531a5cfb22eeb72c5334158bf8ba21c27015d0910487a7ef060f594a708f197676c + SHA512 d4960b2ef12d00ae93ea883f945acf435a99763a0e2e751d94a15c7ff22fd41ff31cb16c1f37aa23257b3eb0de894201420962b008a6fe43ef0511fa2612846a HEAD_REF development PATCHES dependencies.diff @@ -10,13 +10,17 @@ vcpkg_from_github( no-docs.diff test-shared.diff ) +file(REMOVE + "${SOURCE_PATH}/CMakeModules/FindBZ2.cmake" + "${SOURCE_PATH}/CMakeModules/FindEXPAT.cmake" + "${SOURCE_PATH}/CMakeModules/FindLIBXML.cmake" + "${SOURCE_PATH}/CMakeModules/FindZLIB.cmake" +) string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" STATIC_RUNTIME) -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" STATIC_LIBRARY) -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" DYNAMIC_LIBRARY) if("expat" IN_LIST FEATURES AND "libxml2" IN_LIST FEATURES) - message("Feature expat conflicts with feature libxml2. Selecting libxml2.") + message(WARNING "Feature expat conflicts with feature libxml2. Selecting libxml2.") list(REMOVE_ITEM FEATURES "expat") endif() @@ -43,8 +47,7 @@ vcpkg_cmake_configure( ${FEATURE_OPTIONS} -DENABLE_L3V2EXTENDEDMATH:BOOL=ON -DWITH_STATIC_RUNTIME=${STATIC_RUNTIME} - -DLIBSBML_SKIP_SHARED_LIBRARY=${STATIC_LIBRARY} - -DLIBSBML_SKIP_STATIC_LIBRARY=${DYNAMIC_LIBRARY} + -DWITH_SWIG=OFF MAYBE_UNUSED_VARIABLES WITH_STATIC_RUNTIME ) @@ -66,6 +69,12 @@ endforeach() if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/sbml/common/extern.h" "defined LIBSBML_STATIC" "1") vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/sbml/xml/XMLExtern.h" "defined(LIBLAX_STATIC)" "1") + if(NOT VCPKG_TARGET_IS_WINDOWS) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libsbml.pc" " -lsbml" " -lsbml-static") + if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libsbml.pc" " -lsbml" " -lsbml-static") + endif() + endif() endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/libsbml/usage b/ports/libsbml/usage index a9e155c1a1ae70..7fa95b9670f68f 100644 --- a/ports/libsbml/usage +++ b/ports/libsbml/usage @@ -1,4 +1,4 @@ libsbml provides CMake targets: - find_package(libsbml CONFIG REQUIRED) - target_link_libraries(main PRIVATE libsbml) + find_package(libsbml CONFIG REQUIRED) + target_link_libraries(main PRIVATE libsbml) diff --git a/ports/libsbml/vcpkg.json b/ports/libsbml/vcpkg.json index 3b3c6f7a8d4cfc..493bdd5af97e97 100644 --- a/ports/libsbml/vcpkg.json +++ b/ports/libsbml/vcpkg.json @@ -1,9 +1,9 @@ { "name": "libsbml", - "version": "5.20.2", + "version": "5.20.4", "description": "A library for reading / writing SBML files", "homepage": "https://github.com/sbmlteam/libsbml", - "license": "LGPL-2.1", + "license": null, "supports": "!uwp & !xbox", "dependencies": [ { @@ -51,7 +51,10 @@ "libxml2": { "description": "libsbml using libxml2 parser", "dependencies": [ - "libxml2" + { + "name": "libxml2", + "default-features": false + } ] }, "multi": { diff --git a/ports/libsecret/portfile.cmake b/ports/libsecret/portfile.cmake index ff0783df9921e1..5265db578fc1de 100644 --- a/ports/libsecret/portfile.cmake +++ b/ports/libsecret/portfile.cmake @@ -2,8 +2,8 @@ vcpkg_from_gitlab( OUT_SOURCE_PATH SOURCE_PATH GITLAB_URL https://gitlab.gnome.org REPO GNOME/libsecret - REF 0.20.4 - SHA512 b7357329e531ace536ac3c46ef51d022de9308181af227d2ff45c1ff6fe781a29fa93fe02e78f28c84eca8881c2cb90c92c675bcf9fd21b3d326dd84c5692ed5 + REF "${VERSION}" + SHA512 25faf5e72b6f0486cc1cb20535f685edbf264c97bb35434328587743dba0c5b52c2875e02479556e249b84320f755693744a2f37c710ec59135bd2f26d329228 HEAD_REF master ) @@ -20,9 +20,8 @@ vcpkg_configure_meson( ) vcpkg_install_meson() vcpkg_fixup_pkgconfig() +vcpkg_copy_tools(TOOL_NAMES secret-tool AUTO_CLEAN) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -# There is no option to disable building secret-tool, so remove the executable. -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/libsecret/vcpkg.json b/ports/libsecret/vcpkg.json index d5062de939d276..482e3df467337f 100644 --- a/ports/libsecret/vcpkg.json +++ b/ports/libsecret/vcpkg.json @@ -1,11 +1,11 @@ { "name": "libsecret", - "version": "0.20.4", - "port-version": 2, + "version": "0.21.4", + "port-version": 1, "description": "libsecret is a GObject-based library for accessing the Secret Service API of the freedesktop.org project, a cross-desktop effort to access passwords, tokens and other types of secrets. libsecret provides a convenient wrapper for these methods so consumers do not have to call the low-level DBus methods.", "homepage": "https://gitlab.gnome.org/GNOME/libsecret/", "license": "LGPL-2.1-or-later", - "supports": "!(windows | uwp | osx)", + "supports": "!android & !ios & !osx & !windows", "dependencies": [ "glib", { diff --git a/ports/libsercomm/dev-SER_END_DECL-fix.patch b/ports/libsercomm/dev-SER_END_DECL-fix.patch new file mode 100644 index 00000000000000..23a84c683208ef --- /dev/null +++ b/ports/libsercomm/dev-SER_END_DECL-fix.patch @@ -0,0 +1,10 @@ +--- a/include/public/sercomm/dev.h ++++ b/include/public/sercomm/dev.h +@@ -137,6 +137,6 @@ SER_EXPORT void ser_dev_monitor_stop(ser_dev_mon_t *mon); + + /** @} */ + +-SER_BEGIN_DECL ++SER_END_DECL + + #endif diff --git a/ports/libsercomm/portfile.cmake b/ports/libsercomm/portfile.cmake index 937ad7c7bb889e..a7cb8774af23d6 100644 --- a/ports/libsercomm/portfile.cmake +++ b/ports/libsercomm/portfile.cmake @@ -4,6 +4,8 @@ vcpkg_from_github( REF 1.3.2 SHA512 f1581f2dfa262ffb1b3aec5a1e6d32493c322c94541fbacc98efff23b3b42b14c9abdcfb063a78b7c54fb1f9d8dbf59d8064099601de2175af6c6d830708324c HEAD_REF master + PATCHES + dev-SER_END_DECL-fix.patch # https://github.com/ingeniamc/sercomm/pull/3 ) vcpkg_check_features( @@ -22,10 +24,10 @@ vcpkg_cmake_configure( vcpkg_cmake_install() -# Fix CMake files -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/sercomm) - -vcpkg_fixup_pkgconfig() +vcpkg_cmake_config_fixup( + PACKAGE_NAME sercomm + CONFIG_PATH lib/cmake/sercomm +) # Remove includes in debug file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/libsercomm/vcpkg.json b/ports/libsercomm/vcpkg.json index 81202670d1cf67..0c623998e9d316 100644 --- a/ports/libsercomm/vcpkg.json +++ b/ports/libsercomm/vcpkg.json @@ -1,6 +1,7 @@ { "name": "libsercomm", "version": "1.3.2", + "port-version": 1, "description": "Multiplatform serial communications library", "homepage": "https://github.com/ingeniamc/sercomm", "license": "MIT", diff --git a/ports/libsersi/portfile.cmake b/ports/libsersi/portfile.cmake new file mode 100644 index 00000000000000..a950929f533457 --- /dev/null +++ b/ports/libsersi/portfile.cmake @@ -0,0 +1,22 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO crhowell3/libsersi + REF "v${VERSION}" + SHA512 f8cd84e12a14d6c9dc424c176b3e0536293cfa96f4cb03f7e4c9008ce6272b70284179f16dca5f5fb82c4cad9003a16ed2639bcd52f18f39b9587cd63075e188 + HEAD_REF main +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DINSTALL_INCLUDE_DIR=include +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/libsersi) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/libsersi/usage b/ports/libsersi/usage new file mode 100644 index 00000000000000..799c1e115d6144 --- /dev/null +++ b/ports/libsersi/usage @@ -0,0 +1,4 @@ +libsersi provides CMake targets: + + find_package(libsersi CONFIG REQUIRED) + target_link_libraries(main PRIVATE libsersi::sersi) diff --git a/ports/libsersi/vcpkg.json b/ports/libsersi/vcpkg.json new file mode 100644 index 00000000000000..af54663cf4b11d --- /dev/null +++ b/ports/libsersi/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "libsersi", + "version": "0.1.0", + "description": "C++ implementation of the IEEE 1278.1a-1998 Distributed Interactive Simulation (DIS) application protocol.", + "homepage": "https://github.com/crhowell3/libsersi", + "license": "BSD-2-Clause", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/libsigcpp/disable_tests_enable_static_build.patch b/ports/libsigcpp/disable_tests_enable_static_build.patch index 017a0ac1be30cf..c0e3acf679760a 100644 --- a/ports/libsigcpp/disable_tests_enable_static_build.patch +++ b/ports/libsigcpp/disable_tests_enable_static_build.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index e1b28fe..b9a9d40 100644 +index c4b291c..2475881 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -84,13 +84,13 @@ install (FILES +@@ -86,13 +86,13 @@ install (FILES DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig") @@ -20,10 +20,10 @@ index e1b28fe..b9a9d40 100644 set (PROJECT_CMAKE_NAME "${PROJECT_NAME}-3") diff --git a/sigc++/CMakeLists.txt b/sigc++/CMakeLists.txt -index fa5a91a..86f1be7 100644 +index dd2d339..8480a5e 100644 --- a/sigc++/CMakeLists.txt +++ b/sigc++/CMakeLists.txt -@@ -23,7 +23,7 @@ set (SOURCE_FILES +@@ -24,7 +24,7 @@ set (SOURCE_FILES set (SIGCPP_LIB_NAME sigc-${SIGCXX_API_VERSION}) diff --git a/ports/libsigcpp/fix-shared-windows-build.patch b/ports/libsigcpp/fix-shared-windows-build.patch index 83cd2b9dc90ba6..f18fc1cedc8b41 100644 --- a/ports/libsigcpp/fix-shared-windows-build.patch +++ b/ports/libsigcpp/fix-shared-windows-build.patch @@ -1,32 +1,19 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index e1b28fe..73990c4 100644 +index 2475881..3828a13 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -53,6 +53,13 @@ set (PROJECT_SOURCE_DIR "${sigc++_SOURCE_DIR}/sigc++") +@@ -54,6 +54,14 @@ set (PROJECT_SOURCE_DIR "${sigc++_SOURCE_DIR}/sigc++") include_directories (${sigc++_SOURCE_DIR}) include_directories (${sigc++_BINARY_DIR}) +if (BUILD_SHARED_LIBS) -+ add_compile_options (-DBUILD_SHARED) + if (MSVC) + add_compile_options (-D_WINDLL) + endif() ++else() ++ add_compile_options (-DLIBSIGCXX_STATIC) +endif() + configure_file (sigc++config.h.cmake sigc++config.h) set (prefix ${CMAKE_INSTALL_PREFIX}) -diff --git a/sigc++config.h.cmake b/sigc++config.h.cmake -index 74d348a..43a99c5 100644 ---- a/sigc++config.h.cmake -+++ b/sigc++config.h.cmake -@@ -16,7 +16,9 @@ - # if defined(_MSC_VER) - # define SIGC_MSC 1 - # define SIGC_WIN32 1 -+# ifdef BUILD_SHARED - # define SIGC_DLL 1 -+# endif - # elif defined(__CYGWIN__) - # define SIGC_CONFIGURE 1 - # elif defined(__MINGW32__) diff --git a/ports/libsigcpp/fix_include_path.patch b/ports/libsigcpp/fix_include_path.patch index 582eed59560a82..d0bdb85ed4497b 100644 --- a/ports/libsigcpp/fix_include_path.patch +++ b/ports/libsigcpp/fix_include_path.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 73990c4..38424a2 100644 +index 3828a13..bc0a854 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -84,7 +84,7 @@ add_custom_target(uninstall +@@ -87,7 +87,7 @@ endif() install (FILES "${CMAKE_CURRENT_BINARY_DIR}/sigc++config.h" DESTINATION @@ -11,7 +11,7 @@ index 73990c4..38424a2 100644 install (FILES "${CMAKE_CURRENT_BINARY_DIR}/sigc++-${SIGCXX_API_VERSION}.pc" -@@ -102,7 +102,7 @@ add_subdirectory (sigc++) +@@ -105,7 +105,7 @@ add_subdirectory (sigc++) set (PROJECT_CMAKE_NAME "${PROJECT_NAME}-3") set (VERSION_CONFIG "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_CMAKE_NAME}ConfigVersion.cmake") @@ -21,20 +21,20 @@ index 73990c4..38424a2 100644 set (CONFIG_INSTALL_DIR "lib/cmake/${PROJECT_CMAKE_NAME}") set (TARGETS_EXPORT_NAME "${PROJECT_CMAKE_NAME}Targets") diff --git a/sigc++.pc.in b/sigc++.pc.in -index 05de315..171b38d 100644 +index e162f2f..7e9b298 100644 --- a/sigc++.pc.in +++ b/sigc++.pc.in @@ -15,4 +15,4 @@ Description: Typesafe signal and callback system for C++ Version: @PACKAGE_VERSION@ URL: https://libsigcplusplus.github.io/libsigcplusplus/ Libs: -L${libdir} -lsigc-@SIGCXX_API_VERSION@ --Cflags: -I${includedir}/sigc++-@SIGCXX_API_VERSION@ -I${libdir}/sigc++-@SIGCXX_API_VERSION@/include -+Cflags: -I${includedir} +-Cflags: -I${includedir}/sigc++-@SIGCXX_API_VERSION@ -I${libdir}/sigc++-@SIGCXX_API_VERSION@/include @MSVC_STATIC_CXXFLAG@ ++Cflags: -I${includedir} @MSVC_STATIC_CXXFLAG@ diff --git a/sigc++/CMakeLists.txt b/sigc++/CMakeLists.txt -index 86f1be7..076959b 100644 +index 8480a5e..b51b023 100644 --- a/sigc++/CMakeLists.txt +++ b/sigc++/CMakeLists.txt -@@ -29,7 +29,7 @@ set_property (TARGET ${SIGCPP_LIB_NAME} PROPERTY VERSION ${PACKAGE_VERSION}) +@@ -30,7 +30,7 @@ set_property (TARGET ${SIGCPP_LIB_NAME} PROPERTY VERSION ${PACKAGE_VERSION}) set_property(TARGET ${SIGCPP_LIB_NAME} PROPERTY SOVERSION ${LIBSIGCPP_SOVERSION}) target_compile_definitions( ${SIGCPP_LIB_NAME} PRIVATE -DSIGC_BUILD ) diff --git a/ports/libsigcpp/portfile.cmake b/ports/libsigcpp/portfile.cmake index cc0705cdf64f74..a470a1ccd43f54 100644 --- a/ports/libsigcpp/portfile.cmake +++ b/ports/libsigcpp/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libsigcplusplus/libsigcplusplus REF "${VERSION}" - SHA512 8b80f0988daea4eb2c827be57de21167f54a9bf3e9704d64d17d12aef064d8ad87d00f95ce4b5add7666452561c5ca42aa45cf677e54068974a4ea813af3b235 + SHA512 0d22275995a1629ae73b0cc2b2f2598b18aa0ed6d35bd3f1735a50f54d356fb248dedc8d9b5f2794830866b04e0f58ce641048e2df7215ec2e6eac744de58a27 HEAD_REF master PATCHES disable_tests_enable_static_build.patch @@ -19,7 +19,7 @@ vcpkg_fixup_pkgconfig() vcpkg_cmake_config_fixup(PACKAGE_NAME sigc++-3 CONFIG_PATH lib/cmake/sigc++-3) if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/sigc++config.h" "ifdef BUILD_SHARED" "if 1") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/sigc++config.h" "ifdef BUILD_SHARED" "if 1" IGNORE_UNCHANGED) endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/libsigcpp/vcpkg.json b/ports/libsigcpp/vcpkg.json index 59583e62f10579..58fa2daefe8a3b 100644 --- a/ports/libsigcpp/vcpkg.json +++ b/ports/libsigcpp/vcpkg.json @@ -1,6 +1,7 @@ { "name": "libsigcpp", - "version": "3.4.0", + "version": "3.6.0", + "port-version": 1, "description": "Typesafe callback framework for C++", "homepage": "https://libsigcplusplus.github.io/libsigcplusplus/", "license": "LGPL-3.0-or-later", diff --git a/ports/libslirp/portfile.cmake b/ports/libslirp/portfile.cmake index 0bd6e252c7e9db..56f5812282ac91 100644 --- a/ports/libslirp/portfile.cmake +++ b/ports/libslirp/portfile.cmake @@ -2,8 +2,8 @@ vcpkg_from_gitlab( GITLAB_URL https://gitlab.freedesktop.org/ OUT_SOURCE_PATH SOURCE_PATH REPO slirp/libslirp - REF v4.7.0 - SHA512 387f4a6dad240ce633df2640bb49c6cb0041c8b3afc8d0ef38186d385f00dd9e4ef4443e93e1b71dbf05e22892b6f2771a87a202e815d8ec899ab5c147a1f09f + REF "v${VERSION}" + SHA512 eef9d77f1588c4e3dcf91cd53e54db235d624998fc64df75d389657411635f28bfcbe0c81cd3b0ede7792eea1eb7ef716b8a87a199a6be1e9a29da27ca4a1df4 HEAD_REF master ) @@ -24,4 +24,4 @@ vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() -file(INSTALL "${SOURCE_PATH}/COPYRIGHT" DESTINATION "${CURRENT_PACKAGES_DIR}/share/libslirp" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYRIGHT") diff --git a/ports/libslirp/vcpkg.json b/ports/libslirp/vcpkg.json index 032e5cc5dfe5b6..0a31985369a9c1 100644 --- a/ports/libslirp/vcpkg.json +++ b/ports/libslirp/vcpkg.json @@ -1,10 +1,9 @@ { "name": "libslirp", - "version-semver": "4.7.0", + "version-semver": "4.8.0", "description": "libslirp is a user-mode networking library used by virtual machines, containers or various tools.", "homepage": "https://gitlab.freedesktop.org/slirp/libslirp", "license": "BSD-3-Clause", - "supports": "!windows | mingw", "dependencies": [ "glib", { diff --git a/ports/libsmb2/portfile.cmake b/ports/libsmb2/portfile.cmake index dbce16c2048f88..698192b3dfd945 100644 --- a/ports/libsmb2/portfile.cmake +++ b/ports/libsmb2/portfile.cmake @@ -1,18 +1,33 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO sahlberg/libsmb2 - REF 99125c96750e192e2c50176548bf461e4a28f135 - SHA512 30cdc9bbcdcd384868e5865706b41f683b977ece4056040a29bb3b81ffdf83788ba8a39426132810b8cbbb778ae7db8e5e1be0b7c0a82d8beed75040de708240 + REF libsmb2-${VERSION} + SHA512 db3675d5b6d9242a23b2b259fd3140143edcf5aa8e203b5a4781ce8279046f7f9044a506d1323e9aa6a5ff52eaed4db93dc7a03954af735971ba933bccba6a3e HEAD_REF master ) +if(VCPKG_TARGET_IS_IOS) + list(TRANSFORM FEATURES REPLACE "krb5" "krb5_gssapi") +endif() +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + krb5 ENABLE_LIBKRB5 + krb5_gssapi ENABLE_GSSAPI + INVERTED_FEATURES + krb5 CMAKE_DISABLE_FIND_PACKAGE_LibKrb5 + krb5_gssapi CMAKE_DISABLE_FIND_PACKAGE_GSSAPI +) + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - # TODO: Add a feature to enable gssapi/krb5 support - -DCMAKE_DISABLE_FIND_PACKAGE_GSSAPI=ON + ${FEATURE_OPTIONS} + MAYBE_UNUSED_VARIABLES + CMAKE_DISABLE_FIND_PACKAGE_GSSAPI + CMAKE_DISABLE_FIND_PACKAGE_LibKrb5 + ENABLE_GSSAPI + ENABLE_LIBKRB5 ) vcpkg_cmake_install() diff --git a/ports/libsmb2/vcpkg.json b/ports/libsmb2/vcpkg.json index 387bd6b0dae6c2..207f67195e2407 100644 --- a/ports/libsmb2/vcpkg.json +++ b/ports/libsmb2/vcpkg.json @@ -1,6 +1,7 @@ { + "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json", "name": "libsmb2", - "version-date": "2023-08-11", + "version": "6.2", "description": "SMB2/3 Userspace Client", "homepage": "https://github.com/sahlberg/libsmb2", "license": "LGPL-2.1-or-later", @@ -13,5 +14,17 @@ "name": "vcpkg-cmake-config", "host": true } - ] + ], + "features": { + "krb5": { + "description": "SMB2/3 with krb5 support", + "supports": "linux | ios", + "dependencies": [ + { + "name": "krb5", + "platform": "linux" + } + ] + } + } } diff --git a/ports/libsodium/001-mingw-i386.patch b/ports/libsodium/001-mingw-i386.patch new file mode 100644 index 00000000000000..6f8cae8dcb128e --- /dev/null +++ b/ports/libsodium/001-mingw-i386.patch @@ -0,0 +1,21 @@ +diff --git a/src/libsodium/randombytes/internal/randombytes_internal_random.c b/src/libsodium/randombytes/internal/randombytes_internal_random.c +--- a/src/libsodium/randombytes/internal/randombytes_internal_random.c ++++ b/src/libsodium/randombytes/internal/randombytes_internal_random.c +@@ -45,7 +45,7 @@ + # include + #endif + #ifdef HAVE_RDRAND +-# ifdef __clang__ ++# if defined (__clang__) && (!defined(__MINGW32__) || !defined(__i386__)) + # pragma clang attribute push(__attribute__((target("rdrnd"))), apply_to = function) + # elif defined(__GNUC__) + # pragma GCC target("rdrnd") +@@ -639,7 +639,7 @@ struct randombytes_implementation randombytes_internal_implementation = { + }; + + #ifdef HAVE_RDRAND +-# ifdef __clang__ ++# if defined (__clang__) && (!defined(__MINGW32__) || !defined(__i386__)) + # pragma clang attribute pop + # endif + #endif diff --git a/ports/libsodium/CMakeLists.txt b/ports/libsodium/CMakeLists.txt deleted file mode 100644 index e9d44635953864..00000000000000 --- a/ports/libsodium/CMakeLists.txt +++ /dev/null @@ -1,1163 +0,0 @@ -cmake_minimum_required(VERSION 3.9) - -include(CheckCSourceRuns) - -file(STRINGS ${CMAKE_CURRENT_LIST_DIR}/configure.ac config_ac_contents) - -foreach (line ${config_ac_contents}) - if (line MATCHES "AC_INIT\\(\\[libsodium\\],\\[([0-9.]+)\\],") - set(VERSION ${CMAKE_MATCH_1}) - elseif (line MATCHES "SODIUM_LIBRARY_VERSION_(MAJOR|MINOR)=([0-9]+)") - set(SODIUM_LIBRARY_VERSION_${CMAKE_MATCH_1} ${CMAKE_MATCH_2}) - endif () -endforeach () - -message("VERSION: ${VERSION}") -message("SODIUM_LIBRARY_VERSION_MAJOR: ${SODIUM_LIBRARY_VERSION_MAJOR}") -message("SODIUM_LIBRARY_VERSION_MINOR: ${SODIUM_LIBRARY_VERSION_MINOR}") - -project(sodium VERSION ${VERSION} LANGUAGES C ASM) - -include(CheckCSourceCompiles) -include(CheckFunctionExists) -include(CheckIncludeFile) -include(CMakePackageConfigHelpers) -include(CTest) -include(GNUInstallDirs) -include(TestBigEndian) - -set(CMAKE_C_STANDARD 99) -set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) -set(CMAKE_DISABLE_SOURCE_CHANGES ON) -set(CMAKE_DISABLE_IN_SOURCE_BUILD ON) - -option(BUILD_SHARED_LIBS "Build shared library" ${BUILD_SHARED_LIBS}) -option(ENABLE_SSP "Compile with -fstack-protector" ON) -option(ENABLE_PIE "Compile with -fPIE" ON) -option(ENABLE_BLOCKING_RANDOM "Enable blocking random" OFF) -option(ENABLE_MINIMAL "Only compile the minimum set of functions required for the high-level API" OFF) -option(ENABLE_PTHREADS "Use pthreads library" ON) -option(ENABLE_RETPOLINE "Use return trampolines for indirect calls" OFF) -option(ENABLE_NATIVE_OPTIMIZATIONS "Optimize for the native CPU - The resulting library will be faster but not portable" OFF) - -if (ENABLE_MINIMAL) - set(SODIUM_LIBRARY_MINIMAL_DEF "#define SODIUM_LIBRARY_MINIMAL 1") -endif () - -set(prefix "${CMAKE_INSTALL_PREFIX}") -set(exec_prefix "\${prefix}") -set(libdir "\${prefix}/lib") -set(includedir "\${prefix}/include") - -set(PACKAGE_NAME "${PROJECT_NAME}") -set(PACKAGE_VERSION "${VERSION}") - -configure_file( - src/libsodium/include/sodium/version.h.in - ${CMAKE_BINARY_DIR}/sodium/version.h -) - -add_library(${PROJECT_NAME}) - -set_target_properties(${PROJECT_NAME} - PROPERTIES - PREFIX "" - OUTPUT_NAME "lib${PROJECT_NAME}" -) - -if (MSVC) - - target_include_directories(${PROJECT_NAME} - PRIVATE - $ - $ - ) - - enable_language(RC) - - # see libsodium.vcxproj for reference - # - omitted "" in favour of "${CMAKE_BINARY_DIR}/sodium/version.h" - file(GLOB_RECURSE sodium_headers - ${CMAKE_BINARY_DIR}/sodium/version.h - ${PROJECT_SOURCE_DIR}/builds/msvc/resource.h - ${PROJECT_SOURCE_DIR}/src/libsodium/*.h - ) - - file(GLOB_RECURSE sodium_sources - ${PROJECT_SOURCE_DIR}/builds/msvc/resource.rc - ${PROJECT_SOURCE_DIR}/src/libsodium/*.c - ) - - target_sources(${PROJECT_NAME} - PRIVATE - ${sodium_headers} - ${sodium_sources} - ) - - target_compile_options(${PROJECT_NAME} - PRIVATE - /D_CONSOLE - /D_CRT_SECURE_NO_WARNINGS - /DCPU_UNALIGNED_ACCESS=1 - /MP - /Dinline=__inline - /wd4068 # Unknown pragma - /wd4197 - /wd4244 # Macro redefinition - ) - - target_link_libraries(${PROJECT_NAME} - PUBLIC - advapi32 - ) - -else () - - # use interface libs to track common flags and definitions across all targets - add_library(${PROJECT_NAME}_config_private INTERFACE) - add_library(${PROJECT_NAME}_config_public INTERFACE) - - # use interface libs to track special flags only required for certain objects - add_library(${PROJECT_NAME}_aesni_config INTERFACE) - add_library(${PROJECT_NAME}_avx_config INTERFACE) - add_library(${PROJECT_NAME}_avx2_config INTERFACE) - add_library(${PROJECT_NAME}_avx512f_config INTERFACE) - add_library(${PROJECT_NAME}_mmx_config INTERFACE) - add_library(${PROJECT_NAME}_pclmul_config INTERFACE) - add_library(${PROJECT_NAME}_rdrand_config INTERFACE) - add_library(${PROJECT_NAME}_sse2_config INTERFACE) - add_library(${PROJECT_NAME}_sse3_config INTERFACE) - add_library(${PROJECT_NAME}_sse41_config INTERFACE) - add_library(${PROJECT_NAME}_ssse3_config INTERFACE) - - target_include_directories(${PROJECT_NAME}_config_private - INTERFACE - $ - $ - ) - - target_compile_options(${PROJECT_NAME}_config_private - INTERFACE - -flax-vector-conversions - -fvisibility=hidden - -fwrapv - -Wall - -Wextra - -Wbad-function-cast - -Wcast-qual - #-Wdiv-by-zero - #-Wduplicated-branches - #-Wduplicated-cond - -Wfloat-equal - -Wformat=2 - -Wlogical-op - -Wmaybe-uninitialized - #-Wmisleading-indentation - -Wmissing-declarations - -Wmissing-prototypes - -Wnested-externs - #-Wno-type-limits - #-Wno-unknown-pragmas - -Wnormalized=id - #-Wnull-dereference - -Wold-style-declaration - -Wpointer-arith - -Wredundant-decls - #-Wrestrict - #-Wsometimes-uninitialized - -Wstrict-prototypes - -Wswitch-enum - #-Wvariable-decl - -Wwrite-strings - ) - - if (NOT MINGW) - target_compile_options(${PROJECT_NAME}_config_private - INTERFACE - -fPIC - -Wl,-z,relro - -Wl,-z,now - -Wl,-z,noexecstack - ) - endif() - - if (MINGW) - target_compile_options(${PROJECT_NAME}_config_private - INTERFACE - -fno-asynchronous-unwind-tables - ) - target_link_options(${PROJECT_NAME}_config_private - INTERFACE - -Wl,--dynamicbase - -Wl,--high-entropy-va - -Wl,--nxcompat - ) - endif() - - if (CMAKE_C_COMPILER_ID STREQUAL "Clang" OR - CMAKE_C_COMPILER_ID STREQUAL "AppleClang") - target_compile_options(${PROJECT_NAME}_config_private - INTERFACE - -Wno-unknown-warning-option - -Wshorten-64-to-32 - ) - endif () - - # see configure.ac for reference - if (ENABLE_BLOCKING_RANDOM) - target_compile_definitions(${PROJECT_NAME}_config_private INTERFACE USE_BLOCKING_RANDOM) - endif () - - if (ENABLE_PTHREADS) - target_compile_definitions(${PROJECT_NAME}_config_private INTERFACE HAVE_PTHREAD) - target_compile_options(${PROJECT_NAME}_config_private INTERFACE -ftls-model=local-dynamic) - target_compile_options(${PROJECT_NAME}_config_public INTERFACE -pthread) - endif () - - if (ENABLE_SSP AND NOT MINGW) - target_compile_options(${PROJECT_NAME}_config_private INTERFACE -fstack-protector-all) - endif () - - if (ENABLE_PIE AND NOT MINGW) - target_compile_options(${PROJECT_NAME}_config_private INTERFACE -fPIE) - endif () - - if (ENABLE_RETPOLINE) - target_compile_options(${PROJECT_NAME}_config_private - INTERFACE - -mindirect-branch=thunk-inline - -mindirect-branch-register - ) - endif () - - if (ENABLE_NATIVE_OPTIMIZATIONS) - target_compile_options(${PROJECT_NAME}_config_private - INTERFACE - -ftree-vectorize - -ftree-slp-vectorize - -fomit-frame-pointer - -march=native - ) - endif () - - check_include_file(sys/mman.h HAVE_SYS_MMAN_H) - if (HAVE_SYS_MMAN_H) - target_compile_definitions(${PROJECT_NAME}_config_private INTERFACE HAVE_SYS_MMAN_H) - endif () - - macro (sodium_check_func func var) - check_function_exists(${func} ${var}) - if (${var}) - target_compile_definitions(${PROJECT_NAME}_config_private INTERFACE ${var}=1) - endif () - endmacro () - - sodium_check_func(arc4random HAVE_SAFE_ARC4RANDOM) - sodium_check_func(mmap HAVE_MMAP) - sodium_check_func(mlock HAVE_MLOCK) - sodium_check_func(madvise HAVE_MADVISE) - sodium_check_func(mprotect HAVE_MPROTECT) - sodium_check_func(memset_s HAVE_MEMSET_S) - sodium_check_func(explicit_bzero HAVE_EXPLICIT_BZERO) - sodium_check_func(explicit_memset HAVE_EXPLICIT_MEMSET) - sodium_check_func(nanosleep HAVE_NANOSLEEP) - sodium_check_func(posix_memalign HAVE_POSIX_MEMALIGN) - sodium_check_func(getpid HAVE_GETPID) - - if (VCPKG_TARGET_ARCHITECTURE STREQUAL x64) - check_c_source_compiles( - " - #pragma GCC target(\"mmx\") - #include - int main(void) - { - __m64 x = _mm_setzero_si64(); - } - " - HAVE_MMINTRIN_H - ) - - if (HAVE_MMINTRIN_H) - target_compile_definitions(${PROJECT_NAME}_config_private INTERFACE HAVE_MMINTRIN_H=1) - target_compile_options(${PROJECT_NAME}_mmx_config INTERFACE -mmmx) - endif () - - check_c_source_compiles( - " - #pragma GCC target(\"sse2\") - #ifndef __SSE2__ - # define __SSE2__ - #endif - - #include - int main(void) { - __m128d x = _mm_setzero_pd(); - __m128i z = _mm_srli_epi64(_mm_setzero_si128(), 26); - } - " - HAVE_EMMINTRIN_H - ) - - if (HAVE_EMMINTRIN_H) - target_compile_definitions(${PROJECT_NAME}_config_private INTERFACE HAVE_EMMINTRIN_H=1) - target_compile_options(${PROJECT_NAME}_sse2_config INTERFACE -msse2) - endif () - - check_c_source_compiles( - " - #pragma GCC target(\"sse3\") - #include - int main(void) { - __m128 x = _mm_addsub_ps(_mm_cvtpd_ps(_mm_setzero_pd()), _mm_cvtpd_ps(_mm_setzero_pd())); - } - " - HAVE_PMMINTRIN_H - ) - - if (HAVE_PMMINTRIN_H) - target_compile_definitions(${PROJECT_NAME}_config_private INTERFACE HAVE_PMMINTRIN_H=1) - target_compile_options(${PROJECT_NAME}_sse3_config INTERFACE -msse3) - endif () - - check_c_source_compiles( - " - #pragma GCC target(\"ssse3\") - #include - int main(void) { - __m64 x = _mm_abs_pi32(_m_from_int(0)); - } - " - HAVE_TMMINTRIN_H - ) - - if (HAVE_TMMINTRIN_H) - target_compile_definitions(${PROJECT_NAME}_config_private INTERFACE HAVE_TMMINTRIN_H=1) - target_compile_options(${PROJECT_NAME}_ssse3_config INTERFACE -mssse3) - endif () - - check_c_source_compiles( - " - #pragma GCC target(\"sse4.1\") - #include - int main(void) { - __m128i x = _mm_minpos_epu16(_mm_setzero_si128()); - } - " - HAVE_SMMINTRIN_H - ) - - if (HAVE_SMMINTRIN_H) - target_compile_definitions(${PROJECT_NAME}_config_private INTERFACE HAVE_SMMINTRIN_H=1) - target_compile_options(${PROJECT_NAME}_sse41_config INTERFACE -msse4.1) - endif () - - check_c_source_compiles( - " - #ifdef __native_client__ - # error NativeClient detected - Avoiding AVX opcodes - #endif - #pragma GCC target(\"avx\") - #include - int main(void) { - _mm256_zeroall(); - } - " - HAVE_AVXINTRIN_H - ) - - if (HAVE_AVXINTRIN_H) - target_compile_definitions(${PROJECT_NAME}_config_private INTERFACE HAVE_AVXINTRIN_H=1) - target_compile_options(${PROJECT_NAME}_avx_config INTERFACE -mavx) - endif () - - check_c_source_compiles( - " - #ifdef __native_client__ - # error NativeClient detected - Avoiding AVX2 opcodes - #endif - #pragma GCC target(\"avx2\") - #include - int main(void) { - __m256 x = _mm256_set1_ps(3.14); - __m256 y = _mm256_permutevar8x32_ps(x, _mm256_set1_epi32(42)); - return _mm256_movemask_ps(_mm256_cmp_ps(x, y, _CMP_NEQ_OQ)); - } - " - HAVE_AVX2INTRIN_H - ) - - if (HAVE_AVX2INTRIN_H) - target_compile_definitions(${PROJECT_NAME}_config_private INTERFACE HAVE_AVX2INTRIN_H=1) - target_compile_options(${PROJECT_NAME}_avx2_config INTERFACE -mavx2) - - check_c_source_compiles( - " - #ifdef __native_client__ - # error NativeClient detected - Avoiding AVX2 opcodes - #endif - #pragma GCC target(\"avx2\") - #include - int main(void) { - __m256i y = _mm256_broadcastsi128_si256(_mm_setzero_si128()); - } - " - _mm256_broadcastsi128_si256_DEFINED - ) - - if (NOT _mm256_broadcastsi128_si256_DEFINED) - target_compile_definitions(${PROJECT_NAME}_config_private - INTERFACE - _mm256_broadcastsi128_si256=_mm_broadcastsi128_si256 - ) - endif () - endif () - - check_c_source_compiles( - " - #ifdef __native_client__ - # error NativeClient detected - Avoiding AVX512F opcodes - #endif - #pragma GCC target(\"avx512f\") - #include - - #ifndef __AVX512F__ - # error No AVX512 support - #elif defined(__clang__) - # if __clang_major__ < 4 - # error Compiler AVX512 support may be broken - # endif - #elif defined(__GNUC__) - # if __GNUC__ < 6 - # error Compiler AVX512 support may be broken - # endif - #endif - - int main(void) { - __m512i x = _mm512_setzero_epi32(); - __m512i y = _mm512_permutexvar_epi64(_mm512_setr_epi64(0, 1, 4, 5, 2, 3, 6, 7), x); - } - " - HAVE_AVX512FINTRIN_H - ) - - if (HAVE_AVX512FINTRIN_H) - target_compile_definitions(${PROJECT_NAME}_config_private INTERFACE HAVE_AVX512FINTRIN_H=1) - target_compile_options(${PROJECT_NAME}_avx512f_config INTERFACE -mavx512f) - endif () - - check_c_source_compiles( - " - #ifdef __native_client__ - # error NativeClient detected - Avoiding AESNI opcodes - #endif - #pragma GCC target(\"aes\") - #pragma GCC target(\"pclmul\") - #include - - int main(void) { - __m128i x = _mm_aesimc_si128(_mm_setzero_si128()); - __m128i y = _mm_clmulepi64_si128(_mm_setzero_si128(), _mm_setzero_si128(), 0); - } - " - HAVE_WMMINTRIN_H - ) - - if (HAVE_WMMINTRIN_H) - target_compile_definitions(${PROJECT_NAME}_config_private INTERFACE HAVE_WMMINTRIN_H=1) - target_compile_options(${PROJECT_NAME}_aesni_config INTERFACE -maes) - target_compile_options(${PROJECT_NAME}_pclmul_config INTERFACE -mpclmul) - endif () - - check_c_source_compiles( - " - #ifdef __native_client__ - # error NativeClient detected - Avoiding RDRAND opcodes - #endif - #pragma GCC target(\"rdrnd\") - #include - - int main(void) { - unsigned long long x; - _rdrand64_step(&x); - } - " - HAVE_RDRAND - ) - - if (HAVE_RDRAND) - target_compile_definitions(${PROJECT_NAME}_config_private INTERFACE HAVE_RDRAND=1) - target_compile_options(${PROJECT_NAME}_rdrand_config INTERFACE -mrdrnd) - endif () - - check_c_source_compiles( - " - #include - - int main(void) { - (void) _xgetbv(0); - } - " - HAVE__XGETBV - ) - - if (HAVE__XGETBV) - target_compile_definitions(${PROJECT_NAME}_config_private INTERFACE HAVE__XGETBV=1) - endif () - - check_c_source_compiles( - " - int main(void) { - int a = 42; - int *pnt = &a; - __asm__ __volatile__ (\"\" : : \"r\"(pnt) : \"memory\"); - } - " - HAVE_INLINE_ASM - ) - - if (HAVE_INLINE_ASM) - target_compile_definitions(${PROJECT_NAME}_config_private INTERFACE HAVE_INLINE_ASM=1) - endif () - - check_c_source_compiles( - " - int main(void) { - #if defined(__amd64) || defined(__amd64__) || defined(__x86_64__) - # if defined(__CYGWIN__) || defined(__MINGW32__) || defined(__MINGW64__) || defined(_WIN32) || defined(_WIN64) - # error Windows x86_64 calling conventions are not supported yet - # endif - /* neat */ - #else - # error !x86_64 - #endif - unsigned char i = 0, o = 0, t; - __asm__ __volatile__ (\"pxor %%xmm12, %%xmm6 \n\" - \"movb (%[i]), %[t] \n\" - \"addb %[t], (%[o]) \n\" - : [t] \"=&r\"(t) - : [o] \"D\"(&o), [i] \"S\"(&i) - : \"memory\", \"flags\", \"cc\"); - } - " - HAVE_AMD64_ASM - ) - - if (HAVE_AMD64_ASM) - target_compile_definitions(${PROJECT_NAME}_config_private INTERFACE HAVE_AMD64_ASM=1) - endif () - - check_c_source_compiles( - " - int main(void) { - #if defined(__amd64) || defined(__amd64__) || defined(__x86_64__) - # if defined(__CYGWIN__) || defined(__MINGW32__) || defined(__MINGW64__) || defined(_WIN32) || defined(_WIN64) - # error Windows x86_64 calling conventions are not supported yet - # endif - /* neat */ - #else - # error !x86_64 - #endif - __asm__ __volatile__ (\"vpunpcklqdq %xmm0,%xmm13,%xmm0\"); - } - " - HAVE_AVX_ASM - ) - - if (HAVE_AVX_ASM) - target_compile_definitions(${PROJECT_NAME}_config_private INTERFACE HAVE_AVX_ASM=1) - endif () - - check_c_source_compiles( - " - #if !defined(__clang__) && !defined(__GNUC__) && !defined(__SIZEOF_INT128__) - # error mode(TI) is a gcc extension, and __int128 is not available - #endif - #if defined(__clang__) && !defined(__x86_64__) && !defined(__aarch64__) - # error clang does not properly handle the 128-bit type on 32-bit systems - #endif - #ifndef NATIVE_LITTLE_ENDIAN - # error libsodium currently expects a little endian CPU for the 128-bit type - #endif - #ifdef __EMSCRIPTEN__ - # error emscripten currently doesn't support some operations on integers larger than 64 bits - #endif - #include - #include - #if defined(__SIZEOF_INT128__) - typedef unsigned __int128 uint128_t; - #else - typedef unsigned uint128_t __attribute__((mode(TI))); - #endif - void fcontract(uint128_t *t) { - *t += 0x8000000000000 - 1; - *t *= *t; - *t >>= 84; - } - - int main(void) { - (void) fcontract; - } - " - HAVE_TI_MODE - ) - - if (HAVE_TI_MODE) - target_compile_definitions(${PROJECT_NAME}_config_private INTERFACE HAVE_TI_MODE=1) - endif () - - check_c_source_compiles( - " - int main(void) { - unsigned int cpu_info[4]; - __asm__ __volatile__ (\"xchgl %%ebx, %k1; cpuid; xchgl %%ebx, %k1\" : - \"=a\" (cpu_info[0]), \"=&r\" (cpu_info[1]), - \"=c\" (cpu_info[2]), \"=d\" (cpu_info[3]) : - \"0\" (0U), \"2\" (0U)); - } - " - HAVE_CPUID - ) - - if (HAVE_CPUID) - target_compile_definitions(${PROJECT_NAME}_config_private INTERFACE HAVE_CPUID=1) - endif () - endif () - - check_c_source_compiles( - " - #if !defined(__ELF__) && !defined(__APPLE_CC__) - # error Support for weak symbols may not be available - #endif - __attribute__((weak)) void __dummy(void *x) { } - void f(void *x) { __dummy(x); } - int main(void) {} - " - HAVE_WEAK_SYMBOLS - ) - - if (HAVE_WEAK_SYMBOLS) - target_compile_definitions(${PROJECT_NAME}_config_private INTERFACE HAVE_WEAK_SYMBOLS=1) - endif () - - check_c_source_compiles( - " - int main(void) { - static volatile int _sodium_lock; - __sync_lock_test_and_set(&_sodium_lock, 1); - __sync_lock_release(&_sodium_lock); - } - " - HAVE_ATOMIC_OPS - ) - - if (HAVE_ATOMIC_OPS) - target_compile_definitions(${PROJECT_NAME}_config_private INTERFACE HAVE_ATOMIC_OPS=1) - endif () - - check_c_source_compiles( - " - #include - #include - int main(void) { - (void) SIZE_MAX; - (void) UINT64_MAX; - } - " - STDC_LIMIT_MACROS_REQUIRED - ) - - if (STDC_LIMIT_MACROS_REQUIRED) - target_compile_definitions(${PROJECT_NAME}_config_private - INTERFACE - __STDC_LIMIT_MACROS - __STDC_CONSTANT_MACROS - ) - endif () - - # include/sodium/private/common.h - target_compile_definitions(${PROJECT_NAME}_config_private INTERFACE CONFIGURED=1) - - test_big_endian(IS_BIG_ENDIAN) - - if (IS_BIG_ENDIAN) - target_compile_definitions(${PROJECT_NAME}_config_private INTERFACE NATIVE_BIG_ENDIAN) - else () - target_compile_definitions(${PROJECT_NAME}_config_private INTERFACE NATIVE_LITTLE_ENDIAN) - endif () - - # see src/libsodium/Makefile.am for reference - target_sources(${PROJECT_NAME} - PRIVATE - ${CMAKE_BINARY_DIR}/sodium/version.h - - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_aead/chacha20poly1305/sodium/aead_chacha20poly1305.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_aead/xchacha20poly1305/sodium/aead_xchacha20poly1305.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_auth/crypto_auth.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_auth/hmacsha256/auth_hmacsha256.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_auth/hmacsha512/auth_hmacsha512.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_auth/hmacsha512256/auth_hmacsha512256.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_box/crypto_box.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_box/crypto_box_easy.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_box/crypto_box_seal.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_core/ed25519/ref10/ed25519_ref10.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_core/hchacha20/core_hchacha20.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_core/hsalsa20/ref2/core_hsalsa20_ref2.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_core/hsalsa20/core_hsalsa20.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_core/salsa/ref/core_salsa_ref.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_generichash/crypto_generichash.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_generichash/blake2b/generichash_blake2.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_generichash/blake2b/ref/blake2.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ref.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-sse2.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-sse41.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-avx2.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_generichash/blake2b/ref/blake2b-ref.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_generichash/blake2b/ref/generichash_blake2b.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_hash/crypto_hash.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_hash/sha256/hash_sha256.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_hash/sha256/cp/hash_sha256_cp.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_hash/sha512/hash_sha512.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_hash/sha512/cp/hash_sha512_cp.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_kdf/blake2b/kdf_blake2b.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_kdf/crypto_kdf.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_kx/crypto_kx.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_onetimeauth/crypto_onetimeauth.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna32.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna64.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_pwhash/argon2/argon2-core.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_pwhash/argon2/argon2-core.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_pwhash/argon2/argon2-encoding.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_pwhash/argon2/argon2-encoding.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-ref.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_pwhash/argon2/argon2.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_pwhash/argon2/argon2.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_pwhash/argon2/blake2b-long.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_pwhash/argon2/blake2b-long.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_pwhash/argon2/blamka-round-ref.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_pwhash/argon2/pwhash_argon2i.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_pwhash/argon2/pwhash_argon2id.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_pwhash/crypto_pwhash.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_scalarmult/crypto_scalarmult.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_secretbox/crypto_secretbox.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_secretbox/crypto_secretbox_easy.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_secretbox/xsalsa20poly1305/secretbox_xsalsa20poly1305.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_secretstream/xchacha20poly1305/secretstream_xchacha20poly1305.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_shorthash/crypto_shorthash.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_shorthash/siphash24/shorthash_siphash24.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash24_ref.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash_ref.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_sign/crypto_sign.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_sign/ed25519/sign_ed25519.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_sign/ed25519/ref10/keypair.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_sign/ed25519/ref10/open.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_sign/ed25519/ref10/sign.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_sign/ed25519/ref10/sign_ed25519_ref10.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_stream/chacha20/stream_chacha20.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_stream/chacha20/stream_chacha20.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_stream/chacha20/ref/chacha20_ref.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_stream/chacha20/ref/chacha20_ref.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_stream/crypto_stream.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_stream/salsa20/stream_salsa20.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_stream/salsa20/stream_salsa20.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_stream/xsalsa20/stream_xsalsa20.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_verify/sodium/verify.c - ${PROJECT_SOURCE_DIR}/src/libsodium/include/sodium/private/chacha20_ietf_ext.h - ${PROJECT_SOURCE_DIR}/src/libsodium/include/sodium/private/common.h - ${PROJECT_SOURCE_DIR}/src/libsodium/include/sodium/private/ed25519_ref10.h - ${PROJECT_SOURCE_DIR}/src/libsodium/include/sodium/private/implementations.h - ${PROJECT_SOURCE_DIR}/src/libsodium/include/sodium/private/mutex.h - ${PROJECT_SOURCE_DIR}/src/libsodium/include/sodium/private/sse2_64_32.h - ${PROJECT_SOURCE_DIR}/src/libsodium/randombytes/randombytes.c - ${PROJECT_SOURCE_DIR}/src/libsodium/sodium/codecs.c - ${PROJECT_SOURCE_DIR}/src/libsodium/sodium/core.c - ${PROJECT_SOURCE_DIR}/src/libsodium/sodium/runtime.c - ${PROJECT_SOURCE_DIR}/src/libsodium/sodium/utils.c - ${PROJECT_SOURCE_DIR}/src/libsodium/sodium/version.c - ) - - if (HAVE_TI_MODE) - target_sources(${PROJECT_NAME} - PRIVATE - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_core/ed25519/ref10/fe_51/base.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_core/ed25519/ref10/fe_51/base2.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_core/ed25519/ref10/fe_51/constants.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_core/ed25519/ref10/fe_51/fe.h - ${PROJECT_SOURCE_DIR}/src/libsodium/include/sodium/private/ed25519_ref10_fe_51.h - ) - else () - target_sources(${PROJECT_NAME} - PRIVATE - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_core/ed25519/ref10/fe_25_5/base.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_core/ed25519/ref10/fe_25_5/base2.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_core/ed25519/ref10/fe_25_5/constants.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_core/ed25519/ref10/fe_25_5/fe.h - ${PROJECT_SOURCE_DIR}/src/libsodium/include/sodium/private/ed25519_ref10_fe_25_5.h - ) - endif () - - if (HAVE_AMD64_ASM) - target_sources(${PROJECT_NAME} - PRIVATE - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6-asm.S - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6.h - ) - else () - target_sources(${PROJECT_NAME} - PRIVATE - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_stream/salsa20/ref/salsa20_ref.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_stream/salsa20/ref/salsa20_ref.h - ) - endif () - - target_sources(${PROJECT_NAME} - PRIVATE - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_scalarmult/curve25519/sandy2x/consts.S - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_mul.S - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_nsquare.S - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_pack.S - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder.S - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_base.S - ) - - if (HAVE_AVX_ASM) - target_sources(${PROJECT_NAME} - PRIVATE - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_scalarmult/curve25519/sandy2x/consts_namespace.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_scalarmult/curve25519/sandy2x/curve25519_sandy2x.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_scalarmult/curve25519/sandy2x/curve25519_sandy2x.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_invert.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_namespace.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe_frombytes_sandy2x.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_namespace.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_scalarmult/curve25519/sandy2x/sandy2x.S - ) - endif () - - if (NOT ENABLE_MINIMAL) - target_sources(${PROJECT_NAME} - PRIVATE - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_box/curve25519xchacha20poly1305/box_curve25519xchacha20poly1305.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_box/curve25519xchacha20poly1305/box_seal_curve25519xchacha20poly1305.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_core/ed25519/core_ed25519.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_core/ed25519/core_ristretto255.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_pwhash/scryptsalsa208sha256/crypto_scrypt-common.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_pwhash/scryptsalsa208sha256/crypto_scrypt.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_pwhash/scryptsalsa208sha256/scrypt_platform.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pbkdf2-sha256.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pbkdf2-sha256.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pwhash_scryptsalsa208sha256.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_pwhash/scryptsalsa208sha256/nosse/pwhash_scryptsalsa208sha256_nosse.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_scalarmult/ed25519/ref10/scalarmult_ed25519_ref10.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_scalarmult/ristretto255/ref10/scalarmult_ristretto255_ref10.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_secretbox/xchacha20poly1305/secretbox_xchacha20poly1305.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_shorthash/siphash24/shorthash_siphashx24.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphashx24_ref.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_sign/ed25519/ref10/obsolete.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_stream/salsa2012/ref/stream_salsa2012_ref.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_stream/salsa2012/stream_salsa2012.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_stream/salsa208/ref/stream_salsa208_ref.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_stream/salsa208/stream_salsa208.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_stream/xchacha20/stream_xchacha20.c - ) - endif () - - add_library(${PROJECT_NAME}_rdrand - OBJECT - ${PROJECT_SOURCE_DIR}/src/libsodium/randombytes/internal/randombytes_internal_random.c - ${PROJECT_SOURCE_DIR}/src/libsodium/randombytes/sysrandom/randombytes_sysrandom.c - ) - - target_link_libraries(${PROJECT_NAME}_rdrand - PRIVATE - ${PROJECT_NAME}_rdrand_config - ${PROJECT_NAME}_config_public - ${PROJECT_NAME}_config_private - ) - - add_library(${PROJECT_NAME}_aesni - OBJECT - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_aead/aes256gcm/aesni/aead_aes256gcm_aesni.c - ) - - target_link_libraries(${PROJECT_NAME}_aesni - PRIVATE - ${PROJECT_NAME}_config_public - ${PROJECT_NAME}_config_private - ${PROJECT_NAME}_sse2_config - ${PROJECT_NAME}_ssse3_config - ${PROJECT_NAME}_aesni_config - ${PROJECT_NAME}_pclmul_config - ) - - add_library(${PROJECT_NAME}_sse2 - OBJECT - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_onetimeauth/poly1305/sse2/poly1305_sse2.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_onetimeauth/poly1305/sse2/poly1305_sse2.h - ) - - if (NOT ENABLE_MINIMAL) - target_sources(${PROJECT_NAME}_sse2 - PRIVATE - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_pwhash/scryptsalsa208sha256/sse/pwhash_scryptsalsa208sha256_sse.c - ) - endif () - - if (NOT HAVE_AMD64_ASM) - target_sources(${PROJECT_NAME}_sse2 - PRIVATE - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_stream/salsa20/xmm6int/u0.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_stream/salsa20/xmm6int/u1.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_stream/salsa20/xmm6int/u4.h - ) - endif () - - target_link_libraries(${PROJECT_NAME}_sse2 - PRIVATE - ${PROJECT_NAME}_config_public - ${PROJECT_NAME}_config_private - ${PROJECT_NAME}_sse2_config - ) - - add_library(${PROJECT_NAME}_ssse3 - OBJECT - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ssse3.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ssse3.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-ssse3.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_pwhash/argon2/blamka-round-ssse3.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-ssse3.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-ssse3.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_stream/chacha20/dolbeau/u0.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_stream/chacha20/dolbeau/u1.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_stream/chacha20/dolbeau/u4.h - ) - - target_link_libraries(${PROJECT_NAME}_ssse3 - PRIVATE - ${PROJECT_NAME}_config_public - ${PROJECT_NAME}_config_private - ${PROJECT_NAME}_sse2_config - ${PROJECT_NAME}_ssse3_config - ) - - add_library(${PROJECT_NAME}_sse41 - OBJECT - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-sse41.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-sse41.h - ) - - target_link_libraries(${PROJECT_NAME}_sse41 - PRIVATE - ${PROJECT_NAME}_config_public - ${PROJECT_NAME}_config_private - ${PROJECT_NAME}_sse2_config - ${PROJECT_NAME}_ssse3_config - ${PROJECT_NAME}_sse41_config - ) - - add_library(${PROJECT_NAME}_avx2 - OBJECT - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-avx2.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-avx2.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-avx2.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_pwhash/argon2/blamka-round-avx2.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-avx2.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-avx2.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_stream/chacha20/dolbeau/u8.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_stream/salsa20/xmm6int/u0.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_stream/salsa20/xmm6int/u1.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_stream/salsa20/xmm6int/u4.h - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_stream/salsa20/xmm6int/u8.h - ) - - target_link_libraries(${PROJECT_NAME}_avx2 - PRIVATE - ${PROJECT_NAME}_config_public - ${PROJECT_NAME}_config_private - ${PROJECT_NAME}_sse2_config - ${PROJECT_NAME}_ssse3_config - ${PROJECT_NAME}_sse41_config - ${PROJECT_NAME}_avx_config - ${PROJECT_NAME}_avx2_config - ) - - add_library(${PROJECT_NAME}_avx512f - OBJECT - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-avx512f.c - ${PROJECT_SOURCE_DIR}/src/libsodium/crypto_pwhash/argon2/blamka-round-avx512f.h - ) - - target_link_libraries(${PROJECT_NAME}_avx512f - PRIVATE - ${PROJECT_NAME}_config_public - ${PROJECT_NAME}_config_private - ${PROJECT_NAME}_sse2_config - ${PROJECT_NAME}_ssse3_config - ${PROJECT_NAME}_sse41_config - ${PROJECT_NAME}_avx_config - ${PROJECT_NAME}_avx2_config - ${PROJECT_NAME}_avx512f_config - ) - - target_link_libraries(${PROJECT_NAME} - PRIVATE - "$" - "$" - "$" - "$" - "$" - "$" - "$" - "$" - PUBLIC - ${PROJECT_NAME}_config_public - ) - -endif () - -if (BUILD_SHARED_LIBS) - if (MSVC) - target_compile_definitions(${PROJECT_NAME} - PRIVATE - SODIUM_DLL_EXPORT - ) - endif () -else () - if (MSVC) - target_compile_definitions(${PROJECT_NAME} - PUBLIC - SODIUM_STATIC - ) - else () - target_compile_definitions(${PROJECT_NAME}_config_public - INTERFACE - SODIUM_STATIC - ) - endif( ) -endif () - -if (BUILD_TESTING) - enable_testing() - - file(GLOB sodium_test_sources ${PROJECT_SOURCE_DIR}/test/default/*.c) - - foreach (test_src ${sodium_test_sources}) - get_filename_component(test_name ${test_src} NAME_WE) - - add_executable(${test_name} ${test_src}) - - if (MSVC) - target_compile_definitions(${test_name} PRIVATE _CRT_SECURE_NO_WARNINGS) - endif () - - target_include_directories(${test_name} - PRIVATE - $ - $ - $ - $ - ) - - target_link_libraries(${test_name} PRIVATE ${PROJECT_NAME}) - - add_custom_command(TARGET ${test_name} POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy_if_different - "${CMAKE_CURRENT_LIST_DIR}/test/default/${test_name}.exp" - $) - - add_test( - NAME ${test_name} - COMMAND ${test_name} - WORKING_DIRECTORY $ - ) - endforeach () -endif () - -configure_file ("${CMAKE_SOURCE_DIR}/libsodium.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/libsodium.pc" @ONLY) -install (FILES "${CMAKE_CURRENT_BINARY_DIR}/libsodium.pc" DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig") - -install(DIRECTORY src/libsodium/include/ - DESTINATION include/ - USE_SOURCE_PERMISSIONS - PATTERN "*.h" - PATTERN "*.h.in" EXCLUDE - REGEX "private($|/)" EXCLUDE -) - -install(FILES ${CMAKE_BINARY_DIR}/sodium/version.h - DESTINATION include/sodium -) - -if (MSVC) - install(TARGETS ${PROJECT_NAME} - EXPORT ${PROJECT_NAME}-targets - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - ) -else () - install( - TARGETS - ${PROJECT_NAME} - ${PROJECT_NAME}_config_public - EXPORT ${PROJECT_NAME}-targets - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - ) -endif () - -install(EXPORT ${PROJECT_NAME}-targets - FILE unofficial-${PROJECT_NAME}Targets.cmake - NAMESPACE unofficial-${PROJECT_NAME}:: - DESTINATION share/unofficial-${PROJECT_NAME} -) - -write_basic_package_version_file( - ${CMAKE_CURRENT_BINARY_DIR}/unofficial-${PROJECT_NAME}ConfigVersion.cmake - VERSION ${VERSION} - COMPATIBILITY AnyNewerVersion -) - -install( - FILES - ${CMAKE_CURRENT_BINARY_DIR}/unofficial-${PROJECT_NAME}ConfigVersion.cmake - DESTINATION share/unofficial-${PROJECT_NAME} -) - -# References: -# https://github.com/boost-cmake/bcm/wiki/Cmake-best-practices-and-guidelines -# https://github.com/jedisct1/libsodium/pull/74/files -# https://github.com/jedisct1/libsodium/pull/156/files -# https://github.com/jedisct1/libsodium/pull/181/files -# https://github.com/jedisct1/libsodium/issues/378 -# https://github.com/jedisct1/libsodium/issues/636 -# https://github.com/jedisct1/libsodium/issues/771 -# https://github.com/jedisct1/libsodium/blob/gyp/sodium.gyp -# https://github.com/imefisto/cmake-libsodium -# https://github.com/Cyberunner23/libsodium-CMake -# https://stackoverflow.com/questions/29901352/appending-to-cmake-c-flags -# https://stackoverflow.com/questions/986426/what-do-stdc-limit-macros-and-stdc-constant-macros-mean -# https://gcc.gnu.org/onlinedocs/gcc/Option-Summary.html -# https://stackoverflow.com/questions/15132185/mixing-c-and-assembly-sources-and-build-with-cmake -# https://stackoverflow.com/questions/647892/how-to-check-header-files-and-library-functions-in-cmake-like-it-is-done-in-auto -# https://stackoverflow.com/questions/31038963/how-do-you-rename-a-library-filename-in-cmake -# https://gitlab.kitware.com/cmake/cmake/-/issues/15415 diff --git a/ports/libsodium/portfile.cmake b/ports/libsodium/portfile.cmake index 4ff90b12f2b054..a3f4130d78e1ea 100644 --- a/ports/libsodium/portfile.cmake +++ b/ports/libsodium/portfile.cmake @@ -1,40 +1,81 @@ +# libsodium has a special branching/tagging scheme, where regular version tags can actually be moved +# as new patches are applied to that version. This means that we may get unexpected hash mismatches +# when the upstream tag points to a new commit. To avoid this, we must make sure that we always +# use a '-RELEASE' tag, since those seem to be fixed to a single commit. +# See https://github.com/jedisct1/libsodium/issues/1373#issuecomment-2135172301 for more info. vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO jedisct1/libsodium - REF ${VERSION} - SHA512 727fe50a5fb1df86ec5d807770f408a52609cbeb8510b4f4183b2a35a537905719bdb6348afcb103ff00ce946a8094ac9559b6e3e5b2ccc2a2d0c08f75577eeb + REF "${VERSION}-RELEASE" + SHA512 477b9dc10d87ae3c83db3fc207b50b9fe39593684a59f164986cce32bdaba95db0df7dee32149bf9a23c5794354fce8241d88a9a4bd4bbf2630483cbbc378c2f HEAD_REF master + PATCHES + 001-mingw-i386.patch ) -file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + set(lib_linkage "LIB") + if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + set(lib_linkage "DLL") + endif() -if(VCPKG_TARGET_IS_EMSCRIPTEN) - set(ADDITIONAL_OPTIONS "-DENABLE_SSP=OFF") -endif() + set(LIBSODIUM_PROJECT_SUBPATH "builds/msvc/vs2022/libsodium/libsodium.vcxproj" CACHE STRING "Triplet variable") -vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - -DBUILD_TESTING=OFF - ${ADDITIONAL_OPTIONS} -) + vcpkg_msbuild_install( + SOURCE_PATH "${SOURCE_PATH}" + PROJECT_SUBPATH "${LIBSODIUM_PROJECT_SUBPATH}" + RELEASE_CONFIGURATION "Release${lib_linkage}" + DEBUG_CONFIGURATION "Debug${lib_linkage}" + ) -vcpkg_cmake_install() + file(INSTALL "${SOURCE_PATH}/src/libsodium/include/sodium.h" "${SOURCE_PATH}/src/libsodium/include/sodium" DESTINATION "${CURRENT_PACKAGES_DIR}/include") + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/src/libsodium/include/sodium/version.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include/sodium") + file(REMOVE "${CURRENT_PACKAGES_DIR}/include/Makefile.am" "${CURRENT_PACKAGES_DIR}/include/sodium/version.h.in") -vcpkg_copy_pdbs() + block(SCOPE_FOR VARIABLES) + set(PACKAGE_NAME "libsodium") + set(PACKAGE_VERSION "${VERSION}") + set(prefix [[unused]]) + set(exec_prefix [[${prefix}]]) + set(includedir [[${prefix}/include]]) + set(libdir [[${prefix}/lib]]) + set(PKGCONFIG_LIBS_PRIVATE "") + configure_file("${SOURCE_PATH}/libsodium.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libsodium.pc" @ONLY) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libsodium.pc" " -lsodium" " -llibsodium") + if(NOT VCPKG_BUILD_TYPE) + set(includedir [[${prefix}/../include]]) + configure_file("${SOURCE_PATH}/libsodium.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libsodium.pc" @ONLY) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libsodium.pc" " -lsodium" " -llibsodium") + endif() + endblock() +else() + if(VCPKG_TARGET_IS_EMSCRIPTEN) + list(APPEND OPTIONS "--disable-ssp" "--disable-asm") + endif() + if(NOT VCPKG_TARGET_IS_MINGW) + list(APPEND OPTIONS --disable-pie) + endif() -vcpkg_cmake_config_fixup( - PACKAGE_NAME unofficial-sodium -) -vcpkg_fixup_pkgconfig() + vcpkg_configure_make( + AUTOCONFIG + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${OPTIONS} + ) + vcpkg_install_make() -file(REMOVE_RECURSE - "${CURRENT_PACKAGES_DIR}/debug/include" - "${CURRENT_PACKAGES_DIR}/debug/share" -) + file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" + ) +endif() + +vcpkg_fixup_pkgconfig() -file(REMOVE "${CURRENT_PACKAGES_DIR}/include/Makefile.am") +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/sodium/export.h" "#ifdef SODIUM_STATIC" "#if 1") +endif() +# vcpkg legacy configure_file( "${CMAKE_CURRENT_LIST_DIR}/sodiumConfig.cmake.in" "${CURRENT_PACKAGES_DIR}/share/unofficial-sodium/unofficial-sodiumConfig.cmake" diff --git a/ports/libsodium/sodiumConfig.cmake.in b/ports/libsodium/sodiumConfig.cmake.in index a3ec1ba8f5a1c5..f6d21a2d05ebcb 100644 --- a/ports/libsodium/sodiumConfig.cmake.in +++ b/ports/libsodium/sodiumConfig.cmake.in @@ -4,4 +4,29 @@ if("@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static" AND NOT WIN32) find_dependency(Threads) endif() -include(${CMAKE_CURRENT_LIST_DIR}/unofficial-sodiumTargets.cmake) +if(NOT TARGET unofficial-sodium::sodium) + add_library(unofficial-sodium::sodium UNKNOWN IMPORTED) + + set_target_properties(unofficial-sodium::sodium PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include" + IMPORTED_LINK_INTERFACE_LANGUAGES "C" + ) + + if("@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static" AND NOT WIN32) + set_target_properties(unofficial-sodium::sodium PROPERTIES + INTERFACE_LINK_LIBRARIES Threads::Threads + ) + endif() + + find_library(VCPKG_SODIUM_LIBRARY_RELEASE NAMES sodium libsodium PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib" NO_DEFAULT_PATH) + if(EXISTS "${VCPKG_SODIUM_LIBRARY_RELEASE}") + set_property(TARGET unofficial-sodium::sodium APPEND PROPERTY IMPORTED_CONFIGURATIONS "Release") + set_target_properties(unofficial-sodium::sodium PROPERTIES IMPORTED_LOCATION_RELEASE "${VCPKG_SODIUM_LIBRARY_RELEASE}") + endif() + + find_library(VCPKG_SODIUM_LIBRARY_DEBUG NAMES sodium libsodium PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib" NO_DEFAULT_PATH) + if(EXISTS "${VCPKG_SODIUM_LIBRARY_DEBUG}") + set_property(TARGET unofficial-sodium::sodium APPEND PROPERTY IMPORTED_CONFIGURATIONS "Debug") + set_target_properties(unofficial-sodium::sodium PROPERTIES IMPORTED_LOCATION_DEBUG "${VCPKG_SODIUM_LIBRARY_DEBUG}") + endif() +endif() diff --git a/ports/libsodium/vcpkg.json b/ports/libsodium/vcpkg.json index 9af42f2bece34f..d438b0b0357d0b 100644 --- a/ports/libsodium/vcpkg.json +++ b/ports/libsodium/vcpkg.json @@ -1,18 +1,15 @@ { "name": "libsodium", - "version": "1.0.18", - "port-version": 9, + "version": "1.0.20", + "port-version": 3, "description": "A modern and easy-to-use crypto library", - "homepage": "https://github.com/jedisct1/libsodium", + "homepage": "https://libsodium.org/", "license": "ISC", "dependencies": [ { - "name": "vcpkg-cmake", - "host": true - }, - { - "name": "vcpkg-cmake-config", - "host": true + "name": "vcpkg-msbuild", + "host": true, + "platform": "windows & !mingw" } ] } diff --git a/ports/libsoup/portfile.cmake b/ports/libsoup/portfile.cmake new file mode 100644 index 00000000000000..7ec723810d453c --- /dev/null +++ b/ports/libsoup/portfile.cmake @@ -0,0 +1,33 @@ +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.gnome.org + OUT_SOURCE_PATH SOURCE_PATH + REPO GNOME/libsoup + REF "${VERSION}" + SHA512 20dd9844becf4700989742aefaf9fef587a4277c982754308eb1bab21a351cac68a9066fd10ed9777d2daeb6642b06c937e5dd9ad316bd03366eae14a7576b77 + HEAD_REF main +) + +vcpkg_configure_meson( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -Dtls_check=false + -Ddocs=disabled + -Dtests=false + -Ddoc_tests=false + -Dkrb5_config=false + -Dgssapi=disabled + ADDITIONAL_BINARIES + "gio-querymodules = '${CURRENT_HOST_INSTALLED_DIR}/tools/glib/gio-querymodules${CMAKE_EXECUTABLE_SUFFIX}'" + "glib-compile-schemas = '${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-compile-schemas${CMAKE_EXECUTABLE_SUFFIX}'" + "glib-compile-resources = '${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-compile-resources${CMAKE_EXECUTABLE_SUFFIX}'" + "gdbus-codegen = '${CURRENT_HOST_INSTALLED_DIR}/tools/glib/gdbus-codegen'" + "glib-genmarshal = '${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal'" + "glib-mkenums = '${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums'" +) + +vcpkg_install_meson() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/libsoup/vcpkg.json b/ports/libsoup/vcpkg.json new file mode 100644 index 00000000000000..26f5a8b5666832 --- /dev/null +++ b/ports/libsoup/vcpkg.json @@ -0,0 +1,23 @@ +{ + "name": "libsoup", + "version": "3.6.0", + "description": "HTTP Library for GLib", + "homepage": "https://libsoup.org", + "license": "LGPL-2.0-or-later", + "supports": "!uwp & !xbox", + "dependencies": [ + "glib", + { + "name": "glib", + "host": true + }, + "glib-networking", + "libpsl", + "nghttp2", + "sqlite3", + { + "name": "vcpkg-tool-meson", + "host": true + } + ] +} diff --git a/ports/libspatialindex/mingw.patch b/ports/libspatialindex/mingw.patch deleted file mode 100644 index 28c1c2904e02e0..00000000000000 --- a/ports/libspatialindex/mingw.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --color -ur a/src/CMakeLists.txt b/src/CMakeLists.txt ---- a/src/CMakeLists.txt 2022-07-19 15:21:35.950966519 +0200 -+++ b/src/CMakeLists.txt 2022-07-19 15:21:50.251002371 +0200 -@@ -208,7 +208,7 @@ - PROPERTIES VERSION "${SIDX_LIB_VERSION}" - SOVERSION "${SIDX_LIB_SOVERSION}" ) - --if(WIN32) -+if(MSVC) - target_compile_options(${SIDX_LIB_NAME} PRIVATE "/wd4068") - target_compile_options(${SIDX_C_LIB_NAME} PRIVATE "/wd4068") - diff --git a/ports/libspatialindex/portfile.cmake b/ports/libspatialindex/portfile.cmake index 5ab8185d953e18..cef6ecf051336f 100644 --- a/ports/libspatialindex/portfile.cmake +++ b/ports/libspatialindex/portfile.cmake @@ -1,12 +1,9 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libspatialindex/libspatialindex - REF 1.9.3 - SHA512 d4c608abbd631dc163b7b4fb6bf09dee3e85ce692a5f8875d51f05a26e09c75cd17dff1ed9d2c232a071f0f5864d21d877b4cbc252f3416896db24dfa3fa18cb + REF "${VERSION}" + SHA512 a508a9ed4019641bdaaa53533505531f3db440b046a9c7d9f78ed480293200c51796c2d826a6bb9b4f9543d60bb0fef9e4c885ec3f09326cfa4d2fb81c1593aa HEAD_REF master - PATCHES - static.patch - mingw.patch ) vcpkg_cmake_configure( @@ -18,7 +15,8 @@ vcpkg_cmake_configure( ) vcpkg_cmake_install() - +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) +vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() #Debug diff --git a/ports/libspatialindex/static.patch b/ports/libspatialindex/static.patch deleted file mode 100644 index 1ce2b9d6a1e3f7..00000000000000 --- a/ports/libspatialindex/static.patch +++ /dev/null @@ -1,77 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index c34ee8d71..84e4a9247 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -43,7 +43,7 @@ SET(SIDX_VERSION_MINOR "9") - SET(SIDX_VERSION_PATCH "3") - SET(SIDX_LIB_VERSION "6.1.1") - SET(SIDX_LIB_SOVERSION "6") --SET(BUILD_SHARED_LIBS ON) -+option(BUILD_SHARED_LIBS "Build shared libs" ON) - - - set(SIDX_VERSION_STRING "${SIDX_VERSION_MAJOR}.${SIDX_VERSION_MINOR}.${SIDX_VERSION_PATCH}") - -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 90f4501bc..aad327181 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -188,9 +188,13 @@ set(SIDX_SOURCES - #endif() - - --add_library(${SIDX_LIB_NAME} ${SIDX_SOURCES}) -- --add_library(${SIDX_C_LIB_NAME} ${SIDX_CAPI_CPP}) -+if(BUILD_SHARED_LIBS) -+ add_library(${SIDX_LIB_NAME} SHARED ${SIDX_SOURCES}) -+ add_library(${SIDX_C_LIB_NAME} SHARED ${SIDX_CAPI_CPP}) -+else(BUILD_SHARED_LIBS) -+ add_library(${SIDX_LIB_NAME} STATIC ${SIDX_SOURCES}) -+ add_library(${SIDX_C_LIB_NAME} STATIC ${SIDX_CAPI_CPP}) -+endif(BUILD_SHARED_LIBS) - - target_link_libraries(${SIDX_C_LIB_NAME} - ${SIDX_LIB_NAME} -@@ -208,9 +212,10 @@ if(WIN32) - target_compile_options(${SIDX_LIB_NAME} PRIVATE "/wd4068") - target_compile_options(${SIDX_C_LIB_NAME} PRIVATE "/wd4068") - -- target_compile_definitions(${SIDX_C_LIB_NAME} PRIVATE "-DSIDX_DLL_EXPORT=1") -- target_compile_definitions(${SIDX_LIB_NAME} PRIVATE "-DSIDX_DLL_EXPORT=1") -- if (NOT WITH_STATIC_SIDX) -+ if (BUILD_SHARED_LIBS) -+ target_compile_definitions(${SIDX_C_LIB_NAME} PRIVATE "-DSIDX_DLL_EXPORT=1") -+ target_compile_definitions(${SIDX_LIB_NAME} PRIVATE "-DSIDX_DLL_EXPORT=1") -+ else() - target_compile_definitions(${SIDX_LIB_NAME} PRIVATE "-DSIDX_DLL_IMPORT=1") - target_compile_definitions(${SIDX_C_LIB_NAME} PRIVATE "-DSIDX_DLL_IMPORT=1") - endif() - -diff --git a/include/spatialindex/capi/sidx_export.h b/include/spatialindex/capi/sidx_export.h -index b6c84f1ef..7b0a39364 100644 ---- a/include/spatialindex/capi/sidx_export.h -+++ b/include/spatialindex/capi/sidx_export.h -@@ -29,7 +29,7 @@ - #pragma once - - #ifndef SIDX_C_DLL --#if defined(_MSC_VER) -+#if defined(_MSC_VER) && defined(SIDX_DLL_EXPORT) - # define SIDX_C_DLL __declspec(dllexport) - # define SIDX_DLL __declspec(dllexport) - #else - -diff --git a/include/spatialindex/tools/Tools.h b/include/spatialindex/tools/Tools.h -index 322bc819e..46b62fa00 100644 ---- a/include/spatialindex/tools/Tools.h -+++ b/include/spatialindex/tools/Tools.h -@@ -46,7 +46,7 @@ - #ifdef SIDX_DLL_EXPORT - #define SIDX_DLL __declspec(dllexport) - #else -- #define SIDX_DLL __declspec(dllimport) -+ #define SIDX_DLL - #endif - - // Nuke this annoying warning. See http://www.unknownroad.com/rtfm/VisualStudio/warningC4251.html diff --git a/ports/libspatialindex/vcpkg.json b/ports/libspatialindex/vcpkg.json index d8180d74470967..d8235a2c0e0009 100644 --- a/ports/libspatialindex/vcpkg.json +++ b/ports/libspatialindex/vcpkg.json @@ -1,7 +1,6 @@ { "name": "libspatialindex", - "version": "1.9.3", - "port-version": 3, + "version": "2.0.0", "description": "C++ implementation of R*-tree, an MVR-tree and a TPR-tree with C API.", "homepage": "http://libspatialindex.github.com", "license": "MIT", @@ -10,6 +9,10 @@ "name": "vcpkg-cmake", "host": true }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "zlib" ] } diff --git a/ports/libspatialite/portfile.cmake b/ports/libspatialite/portfile.cmake index 05dbe871a303aa..ba1682212e8ae3 100644 --- a/ports/libspatialite/portfile.cmake +++ b/ports/libspatialite/portfile.cmake @@ -19,7 +19,6 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS unused FEATURES freexl ENABLE_FREEXL gcp ENABLE_GCP - geocallbacks ENABLE_GEOCALLBACKS rttopo ENABLE_RTTOPO ) @@ -39,9 +38,6 @@ if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) if(ENABLE_GCP) string(APPEND CL_FLAGS " /DENABLE_GCP") endif() - if(NOT ENABLE_GEOCALLBACKS) - string(APPEND CL_FLAGS " /DOMIT_GEOCALLBACKS") - endif() if(ENABLE_RTTOPO) string(APPEND CL_FLAGS " /DENABLE_RTTOPO") endif() @@ -184,10 +180,10 @@ else() ${TARGET_ALIAS} ${FREEXL_OPTION} ${GCP_OPTION} - ${GEOCALLBACKS_OPTION} ${RTTOPO_OPTION} "--disable-examples" "--disable-minizip" + "cross_compiling=yes" # avoid conftest rpath trouble OPTIONS_DEBUG "LIBS=${PKGCONFIG_LIBS_DEBUG} ${SYSTEM_LIBS}" OPTIONS_RELEASE @@ -201,7 +197,7 @@ else() "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/Makefile" ) foreach(makefile IN LISTS makefiles) - vcpkg_replace_string("${makefile}" " -I$(top_builddir)/./src/headers/spatialite" " -I$(top_builddir)/./src/headers") + vcpkg_replace_string("${makefile}" " -I$(top_builddir)/./src/headers/spatialite" " -I$(top_builddir)/./src/headers" IGNORE_UNCHANGED) endforeach() vcpkg_install_make() diff --git a/ports/libspatialite/vcpkg.json b/ports/libspatialite/vcpkg.json index 448e5c7bf39c23..e1b08189d2123e 100644 --- a/ports/libspatialite/vcpkg.json +++ b/ports/libspatialite/vcpkg.json @@ -1,14 +1,16 @@ { "name": "libspatialite", "version": "5.1.0", + "port-version": 2, "description": "SpatiaLite is an open source library intended to extend the SQLite core to support fully fledged Spatial SQL capabilities.", - "homepage": "https://www.gaia-gis.it/gaia-sins/libspatialite-sources", + "homepage": "https://www.gaia-gis.it/fossil/libspatialite/index", "license": null, "dependencies": [ "geos", "libiconv", { "name": "libxml2", + "default-features": false, "features": [ "http" ] @@ -28,8 +30,7 @@ "zlib" ], "default-features": [ - "freexl", - "geocallbacks" + "freexl" ], "features": { "freexl": { @@ -41,9 +42,6 @@ "gcp": { "description": "Ground control points support. This feature reduces the license options to GPLv2+." }, - "geocallbacks": { - "description": "Geometry callbacks support." - }, "rttopo": { "description": "RTTOPO support. This feature reduces the license options to GPLv2+.", "dependencies": [ diff --git a/ports/libspng/fix-spngconfig-cmake.patch b/ports/libspng/fix-spngconfig-cmake.patch new file mode 100644 index 00000000000000..b4e8680999ff76 --- /dev/null +++ b/ports/libspng/fix-spngconfig-cmake.patch @@ -0,0 +1,11 @@ +diff --git a/cmake/Config.cmake.in b/cmake/Config.cmake.in +index d0123db..5756179 100644 +--- a/cmake/Config.cmake.in ++++ b/cmake/Config.cmake.in +@@ -1,5 +1,6 @@ + @PACKAGE_INIT@ + ++include(CMakeFindDependencyMacro) + find_dependency(ZLIB REQUIRED) + + include("${CMAKE_CURRENT_LIST_DIR}/@targets_export_name@.cmake") diff --git a/ports/libspng/portfile.cmake b/ports/libspng/portfile.cmake new file mode 100644 index 00000000000000..2105ae10820186 --- /dev/null +++ b/ports/libspng/portfile.cmake @@ -0,0 +1,33 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO randy408/libspng + REF "v${VERSION}" + SHA512 cd729653599ed97f80d19f3048c1b3bc2ac16f922b3465804b1913bc45d9fc8b28b56bc2121fda36e9d3dcdd12612cced5383313b722a5342b613f8781879f1a + HEAD_REF master + PATCHES + fix-spngconfig-cmake.patch +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" SPNG_BUILD_STATIC) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" SPNG_BUILD_SHARED) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DSPNG_STATIC=${SPNG_BUILD_STATIC} + -DSPNG_SHARED=${SPNG_BUILD_SHARED} + -DBUILD_EXAMPLES=OFF +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/spng PACKAGE_NAME spng) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/libspng/usage b/ports/libspng/usage new file mode 100644 index 00000000000000..bc69e6a0448686 --- /dev/null +++ b/ports/libspng/usage @@ -0,0 +1,4 @@ +libspng provides CMake targets: + + find_package(SPNG CONFIG REQUIRED) + target_link_libraries(main PRIVATE $,spng::spng,spng::spng_static>) \ No newline at end of file diff --git a/ports/libspng/vcpkg.json b/ports/libspng/vcpkg.json new file mode 100644 index 00000000000000..ce125080115d04 --- /dev/null +++ b/ports/libspng/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "libspng", + "version": "0.7.4", + "description": "Simple, modern libpng alternative", + "homepage": "https://github.com/randy408/libspng", + "license": "BSD-2-Clause", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "zlib" + ] +} diff --git a/ports/libsquish/cmake-version.patch b/ports/libsquish/cmake-version.patch new file mode 100644 index 00000000000000..8dde416c231118 --- /dev/null +++ b/ports/libsquish/cmake-version.patch @@ -0,0 +1,16 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a36e574..6f137d5 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -9,9 +9,9 @@ + # Unix and VS: SSE2 support is enabled by default + # use BUILD_SQUISH_WITH_SSE2 and BUILD_SQUISH_WITH_ALTIVEC to override + +-PROJECT(squish) ++CMAKE_MINIMUM_REQUIRED(VERSION 3.5) + +-CMAKE_MINIMUM_REQUIRED(VERSION 2.8.3) ++PROJECT(squish) + + OPTION(BUILD_SQUISH_WITH_OPENMP "Build with OpenMP." ON) + diff --git a/ports/libsquish/portfile.cmake b/ports/libsquish/portfile.cmake index 4b482e492eaae9..9112e11f47a658 100644 --- a/ports/libsquish/portfile.cmake +++ b/ports/libsquish/portfile.cmake @@ -7,6 +7,7 @@ vcpkg_from_sourceforge( PATCHES fix-export-symbols.patch export-target.patch + cmake-version.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS diff --git a/ports/libsquish/vcpkg.json b/ports/libsquish/vcpkg.json index f956f3b25f28ca..1d1d947b95a66e 100644 --- a/ports/libsquish/vcpkg.json +++ b/ports/libsquish/vcpkg.json @@ -1,7 +1,7 @@ { "name": "libsquish", "version": "1.15", - "port-version": 13, + "port-version": 14, "description": "Open source DXT compression library.", "homepage": "https://sourceforge.net/projects/libsquish", "license": "MIT", diff --git a/ports/libsrt/fix-dependency-install.patch b/ports/libsrt/fix-dependency-install.patch deleted file mode 100644 index a81ae4561d7eb5..00000000000000 --- a/ports/libsrt/fix-dependency-install.patch +++ /dev/null @@ -1,38 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1008,6 +1008,7 @@ set (INSTALL_SHARED_DIR ${CMAKE_INSTALL_LIBDIR}) - if (CYGWIN) - set (INSTALL_SHARED_DIR ${CMAKE_INSTALL_BINDIR}) - endif() -+set(CMAKE_INSTALL_INCLUDEDIR include) - - message(STATUS "INSTALL DIRS: bin=${CMAKE_INSTALL_BINDIR} lib=${CMAKE_INSTALL_LIBDIR} shlib=${INSTALL_SHARED_DIR} include=${CMAKE_INSTALL_INCLUDEDIR}") - -@@ -1085,7 +1085,7 @@ - - macro(srt_add_program name) - srt_add_program_dont_install(${name} ${ARGN}) -- install(TARGETS ${name} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) -+ install(TARGETS ${name} RUNTIME DESTINATION tools) - endmacro() - - macro(srt_make_application name) -@@ -1124,7 +1124,7 @@ endmacro() - macro(srt_add_application name) # ARGN=sources... - srt_add_program(${name} apps/${name}.cpp ${ARGN}) - srt_make_application(${name}) -- install(TARGETS ${name} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) -+ install(TARGETS ${name} RUNTIME DESTINATION tools) - endmacro() - - ## FIXME: transmitmedia.cpp does not build on OpenBSD -@@ -1324,7 +1324,7 @@ if (ENABLE_UNITTESTS AND ENABLE_CXX11) - endif() - - --install(PROGRAMS scripts/srt-ffplay DESTINATION ${CMAKE_INSTALL_BINDIR}) -+install(PROGRAMS scripts/srt-ffplay DESTINATION tools) - - - if (DEFINED SRT_EXTRA_APPS_INC) diff --git a/ports/libsrt/fix-static.patch b/ports/libsrt/fix-static.patch index 73c027ab0ba985..6080c915a430a7 100644 --- a/ports/libsrt/fix-static.patch +++ b/ports/libsrt/fix-static.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 9931589..e5a588e 100644 +index 3f08b6a..88e636b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -931,20 +931,7 @@ endif() +@@ -1026,20 +1026,7 @@ endif() if (srt_libspec_static) add_library(${TARGET_srt}_static STATIC ${OBJECT_LIB_SUPPORT} ${VIRTUAL_srt}) diff --git a/ports/libsrt/fix-tool.patch b/ports/libsrt/fix-tool.patch new file mode 100644 index 00000000000000..7a5bdaa085fdc2 --- /dev/null +++ b/ports/libsrt/fix-tool.patch @@ -0,0 +1,30 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7e8062a..2277e33 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1300,11 +1300,13 @@ if (ENABLE_APPS) + + # Applications + +- srt_add_application(srt-live-transmit ${VIRTUAL_srtsupport}) ++ srt_add_application(srt-live-transmit ${VIRTUAL_srtsupport} ${VIRTUAL_srt}) ++ target_link_libraries(srt-live-transmit ${SSL_LIBRARIES}) + if (DEFINED EXTRA_stransmit) + set_target_properties(srt-live-transmit PROPERTIES COMPILE_FLAGS "${EXTRA_stransmit}") + endif() +- srt_add_application(srt-file-transmit ${VIRTUAL_srtsupport}) ++ srt_add_application(srt-file-transmit ${VIRTUAL_srtsupport} ${VIRTUAL_srt}) ++ target_link_libraries(srt-file-transmit ${SSL_LIBRARIES}) + + if (MINGW) + # FIXME: with MINGW, it fails to build apps that require C++11 +@@ -1313,7 +1315,8 @@ if (ENABLE_APPS) + else() + # srt-multiplex temporarily blocked + #srt_add_application(srt-multiplex ${VIRTUAL_srtsupport}) +- srt_add_application(srt-tunnel ${VIRTUAL_srtsupport}) ++ srt_add_application(srt-tunnel ${VIRTUAL_srtsupport} ${VIRTUAL_srt}) ++ target_link_libraries(srt-tunnel ${SSL_LIBRARIES}) + target_compile_definitions(srt-tunnel PUBLIC -DSRT_ENABLE_VERBOSE_LOCK) + endif() + diff --git a/ports/libsrt/pkgconfig.diff b/ports/libsrt/pkgconfig.diff new file mode 100644 index 00000000000000..5235e840daa134 --- /dev/null +++ b/ports/libsrt/pkgconfig.diff @@ -0,0 +1,16 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1492306..69287ec 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1182,7 +1182,11 @@ endif() + # if your build requires it, you'd probably remove -lstdc++ from the list + # obtained by `pkg-config --libs`. + if(ENABLE_CXX_DEPS) ++ cmake_policy(SET CMP0057 NEW) + foreach(LIB ${CMAKE_CXX_IMPLICIT_LINK_LIBRARIES}) ++ if(LIB IN_LIST CMAKE_C_IMPLICIT_LINK_LIBRARIES) ++ continue() ++ endif() + if((IS_ABSOLUTE ${LIB} AND EXISTS ${LIB}) OR (${LIB} MATCHES "^-l")) + set(SRT_LIBS_PRIVATE ${SRT_LIBS_PRIVATE} ${LIB}) + else() diff --git a/ports/libsrt/portfile.cmake b/ports/libsrt/portfile.cmake index 8f2654a9cc3ed2..2109919f3c0a03 100644 --- a/ports/libsrt/portfile.cmake +++ b/ports/libsrt/portfile.cmake @@ -1,12 +1,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Haivision/srt - REF v1.5.0 - SHA512 68ab5fe316cfbbbba31b5b2354f657e23c90e14674f8dac01df2bf98c4776a7fafcd690a4dfad3a340e6be577a22360ca04ef2397c8a0dd507adebdd54dc22fb + REF "v${VERSION}" + SHA512 5b576d6fd325515e05074e4568e3b65d1ae265e3e971db6e6242e5138243fc1594df1e3a7d90962385dac38abc34c4c4b0a567439050f8c0ff818b3b3d497efc HEAD_REF master PATCHES - fix-dependency-install.patch fix-static.patch + pkgconfig.diff + fix-tool.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" KEYSTONE_BUILD_STATIC) @@ -15,7 +16,7 @@ string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" KEYSTONE_BUILD_SHARED) vcpkg_check_features( OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - tool ENABLE_APPS + tool ENABLE_APPS bonding ENABLE_BONDING ) @@ -33,10 +34,24 @@ vcpkg_cmake_install() vcpkg_copy_pdbs() vcpkg_fixup_pkgconfig() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") - -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") +if(ENABLE_APPS) + if(NOT VCPKG_TARGET_IS_MINGW) + vcpkg_copy_tools(TOOL_NAMES srt-tunnel AUTO_CLEAN) + endif() + vcpkg_copy_tools(TOOL_NAMES srt-file-transmit srt-live-transmit AUTO_CLEAN) + vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}") + file(RENAME "${CURRENT_PACKAGES_DIR}/bin/srt-ffplay" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/srt-ffplay") +endif() +if(KEYSTONE_BUILD_STATIC OR NOT VCPKG_TARGET_IS_WINDOWS) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") +else() + file(REMOVE "${CURRENT_PACKAGES_DIR}/bin/srt-ffplay" "${CURRENT_PACKAGES_DIR}/debug/bin/srt-ffplay") endif() -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/srt/srt.h" "#ifdef SRT_DYNAMIC" "#if 1") +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/libsrt/vcpkg.json b/ports/libsrt/vcpkg.json index 7e62bfdd1db6a0..fa980bf75f2d5a 100644 --- a/ports/libsrt/vcpkg.json +++ b/ports/libsrt/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libsrt", - "version": "1.5.0", + "version": "1.5.3", "port-version": 3, "description": "Secure Reliable Transport (SRT) is an open source transport technology that optimizes streaming performance across unpredictable networks, such as the Internet.", "homepage": "https://github.com/Haivision/srt", diff --git a/ports/libsrtp/portfile.cmake b/ports/libsrtp/portfile.cmake index 29a04371e6c24b..1e106fdea035d2 100644 --- a/ports/libsrtp/portfile.cmake +++ b/ports/libsrtp/portfile.cmake @@ -7,11 +7,17 @@ vcpkg_from_github( fix-runtime-destination.patch ) +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + openssl ENABLE_OPENSSL +) + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS "-DCMAKE_PROJECT_INCLUDE=${CMAKE_CURRENT_LIST_DIR}/cmake-project-include.cmake" -DTEST_APPS=OFF + ${FEATURE_OPTIONS} ) vcpkg_cmake_install() diff --git a/ports/libsrtp/vcpkg.json b/ports/libsrtp/vcpkg.json index bcb60dc36f00f1..c6f64a8269e8e6 100644 --- a/ports/libsrtp/vcpkg.json +++ b/ports/libsrtp/vcpkg.json @@ -1,6 +1,7 @@ { "name": "libsrtp", "version": "2.5.0", + "port-version": 1, "description": "This package provides an implementation of the Secure Real-time Transport Protocol (SRTP), the Universal Security Transform (UST), and a supporting cryptographic kernel.", "homepage": "https://github.com/cisco/libsrtp/", "license": "BSD-3-Clause", @@ -13,5 +14,13 @@ "name": "vcpkg-cmake-config", "host": true } - ] + ], + "features": { + "openssl": { + "description": "Enable OpenSSL support", + "dependencies": [ + "openssl" + ] + } + } } diff --git a/ports/libssh/0001-export-pkgconfig-file.patch b/ports/libssh/0001-export-pkgconfig-file.patch index 9e325b84ef899d..bd4e4c03d59b25 100644 --- a/ports/libssh/0001-export-pkgconfig-file.patch +++ b/ports/libssh/0001-export-pkgconfig-file.patch @@ -1,38 +1,47 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 741dc61..42f0e8f 100644 +index a64b770..716bb34 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -124,8 +124,28 @@ add_subdirectory(include) +@@ -43,8 +43,12 @@ macro_ensure_out_of_source_build("${PROJECT_NAME} requires an out of source buil + set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib") + + # search for libraries ++set(PC_LIBS_PRIVATE "") ++set(PC_REQUIRES_PRIVATE "") ++ + if (WITH_ZLIB) + find_package(ZLIB REQUIRED) ++ string(APPEND PC_REQUIRES_PRIVATE "zlib") + endif (WITH_ZLIB) + + if (WITH_GCRYPT) +@@ -60,6 +64,7 @@ elseif(WITH_MBEDTLS) + else (WITH_GCRYPT) + find_package(OpenSSL 1.0.1) + if (OPENSSL_FOUND) ++ string(APPEND PC_REQUIRES_PRIVATE " libcrypto") + # On CMake < 3.16, OPENSSL_CRYPTO_LIBRARIES is usually a synonym for OPENSSL_CRYPTO_LIBRARY, but is not defined + # when building on Windows outside of Cygwin. We provide the synonym here, if FindOpenSSL didn't define it already. + if (NOT DEFINED OPENSSL_CRYPTO_LIBRARIES) +@@ -84,6 +89,9 @@ endif () + set(CMAKE_THREAD_PREFER_PTHREADS ON) + set(THREADS_PREFER_PTHREAD_FLAG ON) + find_package(Threads) ++if(Threads_FOUND) ++ string(APPEND PC_LIBS_PRIVATE " ${CMAKE_THREAD_LIBS_INIT}") ++endif() + + if (WITH_GSSAPI) + find_package(GSSAPI) +@@ -122,7 +130,6 @@ add_subdirectory(include) add_subdirectory(src) # pkg-config file -if (UNIX OR MINGW) configure_file(libssh.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/libssh.pc @ONLY) -+ file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/libssh.pc "Requires:") -+ if (WITH_ZLIB) -+ file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/libssh.pc " zlib") -+ endif () -+ if (WITH_GCRYPT) -+ file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/libssh.pc "\nLibs.private: -lgcrypt") -+ elseif (WITH_MBEDTLS) -+ file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/libssh.pc "\nLibs.private: -lmbedcrypto -lpthread") -+ else () -+ if (WIN32) -+ file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/libssh.pc "\nLibs.private: -llibcrypto -luser32 -lcrypt32") -+ else () -+ file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/libssh.pc " libcrypto\nLibs.private:") -+ endif () -+ endif () -+ if (CMAKE_USE_PTHREADS_INIT) -+ file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/libssh.pc " -lpthread") -+ endif () -+ if (WIN32) -+ file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/libssh.pc " -lws2_32 -lshell32 -ladvapi32") -+ endif () install( FILES - ${CMAKE_CURRENT_BINARY_DIR}/libssh.pc -@@ -134,7 +154,6 @@ install( +@@ -132,7 +139,6 @@ install( COMPONENT pkgconfig ) @@ -40,3 +49,27 @@ index 741dc61..42f0e8f 100644 # CMake config files include(CMakePackageConfigHelpers) +diff --git a/libssh.pc.cmake b/libssh.pc.cmake +index f288b94..759525c 100644 +--- a/libssh.pc.cmake ++++ b/libssh.pc.cmake +@@ -7,4 +7,6 @@ Name: @PROJECT_NAME@ + Description: The SSH Library + Version: @PROJECT_VERSION@ + Libs: -L${libdir} -lssh ++Libs.private: @PC_LIBS_PRIVATE@ ++Requires.private: @PC_REQUIRES_PRIVATE@ + Cflags: -I${includedir} +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 807313b..72ef059 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -94,6 +94,8 @@ if (WIN32) + iphlpapi + ws2_32 + ) ++ string(APPEND PC_LIBS_PRIVATE " -liphlpapi -lws2_32 -lshell32 -ladvapi32") ++ set(PC_LIBS_PRIVATE "${PC_LIBS_PRIVATE}" PARENT_SCOPE) + endif (WIN32) + + if (BUILD_STATIC_LIB) diff --git a/ports/libssh/0002-mingw_for_Android.patch b/ports/libssh/0002-mingw_for_Android.patch deleted file mode 100644 index 963eb6f61a4b64..00000000000000 --- a/ports/libssh/0002-mingw_for_Android.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index a576cf7..1f6a048 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -359,7 +359,7 @@ if (WITH_VISIBILITY_HIDDEN) - set_target_properties(ssh PROPERTIES C_VISIBILITY_PRESET hidden) - endif (WITH_VISIBILITY_HIDDEN) - --if (MINGW) -+if (MINGW AND NOT ANDROID) - target_link_libraries(ssh PRIVATE "-Wl,--enable-stdcall-fixup") - target_compile_definitions(ssh PRIVATE "_POSIX_SOURCE") - endif () diff --git a/ports/libssh/0003-create_symlink_unix_only.patch b/ports/libssh/0003-create_symlink_unix_only.patch deleted file mode 100644 index 20b2b646233e62..00000000000000 --- a/ports/libssh/0003-create_symlink_unix_only.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 53e6bd5..51d76c5 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -231,10 +231,11 @@ endif (WITH_SYMBOL_VERSIONING AND ABIMAP_FOUND) - add_custom_target(dist COMMAND ${CMAKE_MAKE_PROGRAM} package_source DEPENDS ${_SYMBOL_TARGET} VERBATIM) - - # Link compile database for clangd -+if(UNIX) - execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink - "${CMAKE_BINARY_DIR}/compile_commands.json" - "${CMAKE_SOURCE_DIR}/compile_commands.json") -- -+endif() - message(STATUS "********************************************") - message(STATUS "********** ${PROJECT_NAME} build options : **********") - diff --git a/ports/libssh/0003-no-source-write.patch b/ports/libssh/0003-no-source-write.patch new file mode 100644 index 00000000000000..865fd0d2b7e6f3 --- /dev/null +++ b/ports/libssh/0003-no-source-write.patch @@ -0,0 +1,14 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d066cde..d2a11cb 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -224,9 +224,6 @@ endif (WITH_SYMBOL_VERSIONING AND ABIMAP_FOUND) + add_custom_target(dist COMMAND ${CMAKE_MAKE_PROGRAM} package_source DEPENDS ${_SYMBOL_TARGET} VERBATIM) + + # Link compile database for clangd +-execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink +- "${CMAKE_BINARY_DIR}/compile_commands.json" +- "${CMAKE_SOURCE_DIR}/compile_commands.json") + + message(STATUS "********************************************") + message(STATUS "********** ${PROJECT_NAME} build options : **********") diff --git a/ports/libssh/portfile.cmake b/ports/libssh/portfile.cmake index 21747388a5307b..6886bba903c5c1 100644 --- a/ports/libssh/portfile.cmake +++ b/ports/libssh/portfile.cmake @@ -1,74 +1,55 @@ vcpkg_download_distfile(distfile URLS https://www.libssh.org/files/0.10/libssh-${VERSION}.tar.xz FILENAME libssh-${VERSION}.tar.xz - SHA512 2b758f9df2b5937865d4aee775ffeafafe3ae6739a89dfc470e38c7394e3c3cb5fcf8f842fdae04929890ee7e47bf8f50e3a38e82dfd26a009f3aae009d589e0 + SHA512 40c62d63c44e882999b71552c237d73fc7364313bd00b15a211a34aeff1b73693da441d2c8d4e40108d00fb7480ec7c5b6d472f9c0784b2359a179632ab0d6c1 ) vcpkg_extract_source_archive(SOURCE_PATH ARCHIVE "${distfile}" PATCHES 0001-export-pkgconfig-file.patch - 0002-mingw_for_Android.patch - 0003-create_symlink_unix_only.patch + 0003-no-source-write.patch 0004-file-permissions-constants.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - mbedtls WITH_MBEDTLS + pcap WITH_PCAP + server WITH_SERVER zlib WITH_ZLIB ) -if (VCPKG_TARGET_IS_ANDROID) - set(EXTRA_ARGS "-DWITH_SERVER=FALSE" - "-DWITH_PCAP=FALSE") -endif () - vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - ${EXTRA_ARGS} ${FEATURE_OPTIONS} + -DCMAKE_REQUIRE_FIND_PACKAGE_OpenSSL=ON -DWITH_EXAMPLES=OFF - -DUNIT_TESTING=OFF - -DCLIENT_TESTING=OFF - -DSERVER_TESTING=OFF - -DWITH_NACL=OFF -DWITH_GSSAPI=OFF - -DWITH_SYMBOL_VERSIONING=OFF) + -DWITH_NACL=OFF + -DWITH_SYMBOL_VERSIONING=OFF +) vcpkg_cmake_install() vcpkg_copy_pdbs() -#Fixup pthread naming -if(NOT VCPKG_TARGET_IS_MINGW AND VCPKG_TARGET_IS_WINDOWS) - if(NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libssh.pc" "-lpthread" "-lpthreadVC3d") - endif() - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libssh.pc" "-lpthread" "-lpthreadVC3") -endif() vcpkg_fixup_pkgconfig() if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") - vcpkg_replace_string( - "${CURRENT_PACKAGES_DIR}/include/libssh/libssh.h" + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/libssh/libssh.h" "#ifdef LIBSSH_STATIC" "#if 1" ) endif() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/libssh) + file(READ "${CURRENT_PACKAGES_DIR}/share/libssh/libssh-config.cmake" cmake_config) -if(VCPKG_TARGET_IS_WINDOWS) - string(REPLACE ".dll" ".lib" cmake_config "${cmake_config}") -endif() -file(WRITE "${CURRENT_PACKAGES_DIR}/share/libssh/libssh-config.cmake" -"include(CMakeFindDependencyMacro) +file(WRITE "${CURRENT_PACKAGES_DIR}/share/libssh/libssh-config.cmake" " +include(CMakeFindDependencyMacro) set(THREADS_PREFER_PTHREAD_FLAG ON) find_dependency(Threads) -${cmake_config} -") +${cmake_config}" +) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/libssh/usage b/ports/libssh/usage deleted file mode 100644 index 12998496cb6ed9..00000000000000 --- a/ports/libssh/usage +++ /dev/null @@ -1,4 +0,0 @@ -libssh provides CMake targets: - - find_package(libssh CONFIG REQUIRED) - target_link_libraries(main PRIVATE ssh) diff --git a/ports/libssh/vcpkg.json b/ports/libssh/vcpkg.json index 3d756a52afaf22..49c1f760b2504f 100644 --- a/ports/libssh/vcpkg.json +++ b/ports/libssh/vcpkg.json @@ -1,18 +1,14 @@ { "name": "libssh", - "version": "0.10.5", + "version": "0.10.6", "description": "libssh is a multiplatform C library implementing the SSHv2 protocol on client and server side", "homepage": "https://www.libssh.org/", "license": "LGPL-2.1-only", "supports": "!uwp & !xbox", "dependencies": [ { - "name": "libssh", - "default-features": false, - "features": [ - "mbedtls" - ], - "platform": "android" + "name": "openssl", + "default-features": false }, { "name": "vcpkg-cmake", @@ -24,44 +20,24 @@ } ], "default-features": [ - "crypto" + { + "name": "pcap", + "platform": "!android" + }, + { + "name": "server", + "platform": "!android" + } ], "features": { - "crypto": { - "description": "Default crypto backend", - "dependencies": [ - { - "name": "libssh", - "features": [ - "mbedtls" - ] - } - ] + "pcap": { + "description": "SSH server support" }, - "mbedtls": { - "description": "Crypto support (mbedTLS)", - "dependencies": [ - { - "name": "mbedtls", - "default-features": false - }, - { - "name": "mbedtls", - "features": [ - "pthreads" - ], - "platform": "!android" - } - ] - }, - "openssl": { - "description": "Crypto support (OpenSSL)", - "dependencies": [ - "openssl" - ] + "server": { + "description": "Pcap generation support" }, "zlib": { - "description": "libssh with zlib", + "description": "zlib compression support", "dependencies": [ "zlib" ] diff --git a/ports/libssh2/portfile.cmake b/ports/libssh2/portfile.cmake index eb463470d26d32..0781394d8b471e 100644 --- a/ports/libssh2/portfile.cmake +++ b/ports/libssh2/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libssh2/libssh2 REF "libssh2-${VERSION}" - SHA512 8ae38d76e7fae82843c7c6990760ad5827cb55e2aba096f684b832016614d76983d1871ae0857ba28efcb9fd65018ae0b34420f6841da6bb6c6ccebd9689ec0f + SHA512 616efcd7f5c1fb1046104ebce70549e4756e2a55150efa2df5bb7123051d3bf336023cedcbfe932cd7c690a0b4d1f1a93c760ea39f1dba50c2b06d0945dca958 HEAD_REF master ) @@ -42,11 +42,8 @@ vcpkg_fixup_pkgconfig() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/libssh2) if (VCPKG_TARGET_IS_WINDOWS) - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/libssh2.h" "ifdef LIBSSH2_WIN32" "if 1") - if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/libssh2.h" "ifdef _WINDLL" "if 1") - else() - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/libssh2.h" "ifdef _WINDLL" "if 0") + if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/libssh2.h" "defined(_WINDLL)" "1") endif() if(VCPKG_TARGET_STATIC_LIBRARY_PREFIX STREQUAL "") vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libssh2.pc" " -lssh2" " -llibssh2") diff --git a/ports/libssh2/usage b/ports/libssh2/usage index 19cb7519821b82..796dd2f47a0c4f 100644 --- a/ports/libssh2/usage +++ b/ports/libssh2/usage @@ -1,4 +1,4 @@ libssh2 provides CMake targets: - find_package(Libssh2 CONFIG REQUIRED) - target_link_libraries(main PRIVATE $,Libssh2::libssh2_shared,Libssh2::libssh2_static>) + find_package(libssh2 CONFIG REQUIRED) + target_link_libraries(main PRIVATE libssh2::libssh2) diff --git a/ports/libssh2/vcpkg.json b/ports/libssh2/vcpkg.json index 26a31cb8c6f305..de18cb551f20bf 100644 --- a/ports/libssh2/vcpkg.json +++ b/ports/libssh2/vcpkg.json @@ -1,7 +1,6 @@ { "name": "libssh2", - "version": "1.11.0", - "port-version": 1, + "version": "1.11.1", "description": "libssh2 is a client-side C library implementing the SSH2 protocol.", "homepage": "https://www.libssh2.org", "license": "BSD-3-Clause", diff --git a/ports/libstemmer/LICENSE b/ports/libstemmer/LICENSE deleted file mode 100644 index 0c9e7c0080cf39..00000000000000 --- a/ports/libstemmer/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Snowball - License -Except where explicitly noted, all the software given out on this Snowball site is covered by the 3-clause BSD License: - -Copyright (c) 2001, Dr Martin Porter, -Copyright (c) 2002, Richard Boulton. -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -Essentially, all this means is that you can do what you like with the code, except claim another Copyright for it, or claim that it is issued under a different license. The software is also issued without warranties, which means that if anyone suffers through its use, they cannot come back and sue you. You also have to alert anyone to whom you give the Snowball software to the fact that it is covered by the BSD license. - -We have not bothered to insert the licensing arrangement into the text of the Snowball software. diff --git a/ports/libstemmer/portfile.cmake b/ports/libstemmer/portfile.cmake index 2e5b5ffba4d47f..253027ad72e006 100644 --- a/ports/libstemmer/portfile.cmake +++ b/ports/libstemmer/portfile.cmake @@ -1,9 +1,10 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +string(SUBSTRING "${VERSION}" 5 -1 VERSION) vcpkg_download_distfile(ARCHIVE - URLS "http://snowball.tartarus.org/dist/libstemmer_c.tgz" - FILENAME "libstemmer_c.tgz" - SHA512 9ab5b8bfd5b4071dbbd63d769e09fae3971b49ee441ad970aa95d90b3297f5ffc9deed1613d99974d1485bf3b69292663591957f52bbeddcadbf9d9a4af432f2 + URLS "https://snowballstem.org/dist/libstemmer_c-${VERSION}.tar.gz" + FILENAME "libstemmer_c-${VERSION}.tar.gz" + SHA512 a61a06a046a6a5e9ada12310653c71afb27b5833fa9e21992ba4bdf615255de991352186a8736d0156ed754248a0ffb7b7712e8d5ea16f75174d1c8ddd37ba4a ) vcpkg_extract_source_archive( @@ -20,4 +21,4 @@ vcpkg_cmake_configure( vcpkg_cmake_install() -file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/libstemmer/vcpkg.json b/ports/libstemmer/vcpkg.json index 9061c7b635c44e..03e8275d0b25ec 100644 --- a/ports/libstemmer/vcpkg.json +++ b/ports/libstemmer/vcpkg.json @@ -1,17 +1,12 @@ { "name": "libstemmer", - "version": "2017-9", - "port-version": 8, + "version": "2021.2.2.0", "description": "Snowball is a small string processing language designed for creating stemming algorithms for use in Information Retrieval", - "homepage": "https://snowball.tartarus.org/", + "homepage": "https://snowballstem.org/", "dependencies": [ { "name": "vcpkg-cmake", "host": true - }, - { - "name": "vcpkg-cmake-config", - "host": true } ] } diff --git a/ports/libsvm/portfile.cmake b/ports/libsvm/portfile.cmake index f56d169389a234..347c288506ef27 100644 --- a/ports/libsvm/portfile.cmake +++ b/ports/libsvm/portfile.cmake @@ -1,8 +1,10 @@ + +string(REPLACE "." "" LIBSVM_VERSION "${VERSION}") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO cjlin1/libsvm - REF v332 - SHA512 1b649e6baa7b23a082d510921d0be7b75c04331844c3057587db36b0f5a5a0a6a44ae3f187c2ffa19d70bc1bf25ea8c724ac2cd5c1842d684747469b5c99b9f6 + REF "v${LIBSVM_VERSION}" + SHA512 b05d1153c17bb585495785372810807ff695afbda23dd88ecb67a282d7c752068e2a0f6fa779aca2132c6bf3396bdf10b97665849e4aae4c76de98c2f095beab HEAD_REF master ) @@ -29,7 +31,7 @@ vcpkg_copy_pdbs() vcpkg_cmake_config_fixup(PACKAGE_NAME "unofficial-${PORT}" CONFIG_PATH "share/unofficial-${PORT}") if("tools" IN_LIST FEATURES) - if(WIN32) + if(VCPKG_TARGET_IS_WINDOWS) vcpkg_copy_tools(TOOL_NAMES svm-predict svm-scale svm-toy svm-train AUTO_CLEAN) else() vcpkg_copy_tools(TOOL_NAMES svm-predict svm-scale svm-train AUTO_CLEAN) diff --git a/ports/libsvm/vcpkg.json b/ports/libsvm/vcpkg.json index a26218dcb266c3..9914a2975813e4 100644 --- a/ports/libsvm/vcpkg.json +++ b/ports/libsvm/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libsvm", - "version": "3.32", + "version": "3.35", "description": "A library for Support Vector Machines.", "homepage": "https://www.csie.ntu.edu.tw/~cjlin/libsvm/", "dependencies": [ diff --git a/ports/libsystemd/disable-warning-nonnull.patch b/ports/libsystemd/disable-warning-nonnull.patch new file mode 100644 index 00000000000000..1ce5b68fffe31c --- /dev/null +++ b/ports/libsystemd/disable-warning-nonnull.patch @@ -0,0 +1,14 @@ +diff --git a/src/basic/memory-util.h b/src/basic/memory-util.h +index 1179513..fc39e06 100644 +--- a/src/basic/memory-util.h ++++ b/src/basic/memory-util.h +@@ -41,7 +41,9 @@ static inline int memcmp_safe(const void *s1, const void *s2, size_t n) { + return 0; + assert(s1); + assert(s2); ++DISABLE_WARNING_NONNULL + return memcmp(s1, s2, n); ++REENABLE_WARNING + } + + /* Compare s1 (length n1) with s2 (length n2) in lexicographic order. */ diff --git a/ports/libsystemd/only-libsystemd.patch b/ports/libsystemd/only-libsystemd.patch new file mode 100644 index 00000000000000..a014eb2354c715 --- /dev/null +++ b/ports/libsystemd/only-libsystemd.patch @@ -0,0 +1,62 @@ +diff --git a/meson.build b/meson.build +index b1a110c..6a7d930 100644 +--- a/meson.build ++++ b/meson.build +@@ -2074,12 +2074,11 @@ libsystemd_includes = [basic_includes, include_directories( + includes = [libsystemd_includes, include_directories('src/shared')] + + subdir('po') +-subdir('catalog') ++support_url='' + subdir('src/fundamental') + subdir('src/basic') + subdir('src/libsystemd') +-subdir('src/shared') +-subdir('src/libudev') ++subdir('src/systemd') # headers + + libsystemd = shared_library( + 'systemd', +@@ -2095,7 +2094,8 @@ libsystemd = shared_library( + threads, + userspace], + link_depends : libsystemd_sym, +- install : true, ++ build_by_default : static_libsystemd == 'false', ++ install : static_libsystemd == 'false', + install_tag: 'libsystemd', + install_dir : libdir) + +@@ -2130,6 +2130,8 @@ else + alias_target('libsystemd', libsystemd) + endif + ++if false ++ + libudev = shared_library( + 'udev', + version : libudev_version, +@@ -2141,7 +2143,8 @@ libudev = shared_library( + dependencies : [threads, + userspace], + link_depends : libudev_sym, +- install : true, ++ build_by_default : static_libudev == 'false', ++ install : static_libudev == 'false', + install_tag: 'libudev', + install_dir : libdir) + +@@ -2905,6 +2908,13 @@ custom_target('installed-unit-files.txt', + install_dir : testdata_dir, + command : [meson_extract_unit_files, project_build_root]) + ++endif # false ++static_libudev='unused' ++bashcompletiondir='no' ++zshcompletiondir='no' ++want_html=false ++want_man=false ++ + ##################################################################### + + alt_time_epoch = run_command('date', '-Is', '-u', '-d', '@@0@'.format(time_epoch), diff --git a/ports/libsystemd/pkgconfig.patch b/ports/libsystemd/pkgconfig.patch index 1c6f5dee355924..8a7b82ca2cd69f 100644 --- a/ports/libsystemd/pkgconfig.patch +++ b/ports/libsystemd/pkgconfig.patch @@ -1,11 +1,25 @@ +diff --git a/meson.build b/meson.build +index 687450e..ee4460b 100644 +--- a/meson.build ++++ b/meson.build +@@ -1011,6 +1011,9 @@ threads = dependency('threads') + librt = cc.find_library('rt') + libm = cc.find_library('m') + libdl = cc.find_library('dl') ++conf.set_quoted('PC_RT', librt.found() ? '-lrt' : '') ++conf.set_quoted('PC_M', libm.found() ? '-lm' : '') ++conf.set_quoted('PC_DL', libdl.found() ? '-ldl' : '') + libcrypt = dependency('libcrypt', 'libxcrypt', required : false) + if not libcrypt.found() + # fallback to use find_library() if libcrypt is provided by glibc, e.g. for LibreELEC. diff --git a/src/libsystemd/libsystemd.pc.in b/src/libsystemd/libsystemd.pc.in -index da6e4e667e..3786238ccb 100644 +index 3a43ef6..930f16a 100644 --- a/src/libsystemd/libsystemd.pc.in +++ b/src/libsystemd/libsystemd.pc.in @@ -17,4 +17,6 @@ Description: systemd Library URL: {{PROJECT_URL}} Version: {{PROJECT_VERSION}} Libs: -L${libdir} -lsystemd -+Libs.private: -lrt ++Libs.private: {{PC_DL}} {{PC_M}} {{PC_RT}} +Requires.private: libcap libcrypt liblz4 liblzma libzstd mount Cflags: -I${includedir} diff --git a/ports/libsystemd/portfile.cmake b/ports/libsystemd/portfile.cmake index 7d154b8a3689c1..b35fe225d92655 100644 --- a/ports/libsystemd/portfile.cmake +++ b/ports/libsystemd/portfile.cmake @@ -2,53 +2,77 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO systemd/systemd REF "v${VERSION}" - SHA512 84b4d16980fe2e64d5c3c95b9b4fbaad1076f368f493fdd745cbafbe7ce825293384f5fa0b6360ba8188da23c4575e87402fb666a3b71f84ff8b323aba0c07ff + SHA512 0357f1b61a07e594aff118dec54bd7233f37b69ccdfa393b91f46f32f08238fa7dd44df70d1df858464c866e114868ae1bec66dc685703d425cbd4c86baddfb8 PATCHES + disable-warning-nonnull.patch + only-libsystemd.patch pkgconfig.patch ) +set(static false) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + set(static pic) +endif() + vcpkg_configure_meson( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -Dstatic-libsystemd=true - -Daudit=false - -Dgcrypt=false - OPTIONS_DEBUG - -Drootprefix=${CURRENT_PACKAGES_DIR}/debug - -Dpkgconfiglibdir={CURRENT_PACKAGES_DIR}/debug - OPTIONS_RELEASE - -Drootprefix=${CURRENT_PACKAGES_DIR} - -Dpkgconfiglibdir={CURRENT_PACKAGES_DIR} + -Dmode=release + -Dstatic-libsystemd=${static} + -Dtests=false + # disabled capabilites + -Ddns-over-tls=false + -Dtranslations=false + # disabled dependencies + -Dacl=disabled + -Dapparmor=disabled + -Daudit=disabled + -Dblkid=disabled + -Dbpf-framework=disabled + -Dbzip2=disabled + -Ddbus=disabled # tests only + -Delfutils=disabled + -Dfdisk=disabled + -Dgcrypt=disabled + -Dglib=disabled # tests only + -Dgnutls=disabled + -Dkmod=disabled + -Dlibcurl=disabled + -Dlibcryptsetup=disabled + -Dlibfido2=disabled + -Dlibidn=disabled + -Dlibidn2=disabled + -Dlibiptc=disabled + -Dmicrohttpd=disabled + -Dopenssl=disabled + -Dp11kit=disabled + -Dpam=disabled + -Dpcre2=disabled + -Dpolkit=disabled + -Dpwquality=disabled + -Dpasswdqc=disabled + -Dseccomp=disabled + -Dselinux=disabled + -Dtpm2=disabled + -Dxenctrl=disabled + -Dxkbcommon=disabled + -Dzlib=disabled + # enabled dependencies + -Dlz4=enabled + -Dxz=enabled + -Dzstd=enabled + ADDITIONAL_BINARIES + "gperf = ['${CURRENT_HOST_INSTALLED_DIR}/tools/gperf/gperf${HOST_EXECUTABLE_SUFFIX}']" ) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - vcpkg_build_ninja( - TARGETS libsystemd.a devel - ) -else() - vcpkg_build_ninja( - TARGETS libsystemd devel - ) -endif() - -file(INSTALL "${SOURCE_PATH}/src/systemd" DESTINATION "${CURRENT_PACKAGES_DIR}/include" FILES_MATCHING PATTERN "*.h") -set(BUILD_DIR_RELEASE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(INSTALL "${BUILD_DIR_RELEASE}/libsystemd.a" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") -else() - file(INSTALL "${BUILD_DIR_RELEASE}/libsystemd.so" DESTINATION "${CURRENT_PACKAGES_DIR}/lib" FOLLOW_SYMLINK_CHAIN) -endif() - -set(BUILD_DIR_DEBUG "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(INSTALL "${BUILD_DIR_DEBUG}/libsystemd.a" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") -else() - file(INSTALL "${BUILD_DIR_DEBUG}/libsystemd.so" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib" FOLLOW_SYMLINK_CHAIN) -endif() +vcpkg_install_meson() -file(INSTALL "${BUILD_DIR_RELEASE}/src/libsystemd/libsystemd.pc" DESTINATION "${CURRENT_PACKAGES_DIR}/lib/pkgconfig") -file(INSTALL "${BUILD_DIR_DEBUG}/src/libsystemd/libsystemd.pc" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") vcpkg_fixup_pkgconfig() -vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.LGPL2.1") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSES/README.md" "${SOURCE_PATH}/LICENSE.LGPL2.1" + COMMENT [[ +This port provides libsystemd.so/.a, which is based on sources in +src/basic, src/fundamental, src/systemd and src/libsystemd. +]]) diff --git a/ports/libsystemd/vcpkg.json b/ports/libsystemd/vcpkg.json index 57b3119759268c..97beddf25f3f64 100644 --- a/ports/libsystemd/vcpkg.json +++ b/ports/libsystemd/vcpkg.json @@ -1,11 +1,15 @@ { "name": "libsystemd", - "version": "254", + "version": "256.4", "description": "Libsystemd", "homepage": "https://github.com/systemd/systemd", - "license": "LGPL-2.1+", + "license": null, "supports": "linux", "dependencies": [ + { + "name": "gperf", + "host": true + }, "libcap", "liblzma", "libmount", diff --git a/ports/libtheora/CMakeLists.txt b/ports/libtheora/CMakeLists.txt index 79d88277918080..1e2d4b8a7db5ef 100644 --- a/ports/libtheora/CMakeLists.txt +++ b/ports/libtheora/CMakeLists.txt @@ -141,3 +141,16 @@ install(EXPORT unofficial-theora-targets NAMESPACE unofficial::theora:: DESTINATION "lib/unofficial-theora" ) + +set(prefix "${CMAKE_INSTALL_PREFIX}") +set(libdir "\${prefix}/lib") +set(exec_prefix "\${prefix}") +set(includedir "\${prefix}/include") +configure_file(theora.pc.in theora.pc @ONLY) +configure_file(theoradec.pc.in theoradec.pc @ONLY) +configure_file(theoraenc.pc.in theoraenc.pc @ONLY) + +install( + FILES "${PROJECT_BINARY_DIR}/theora.pc" "${PROJECT_BINARY_DIR}/theoradec.pc" "${PROJECT_BINARY_DIR}/theoraenc.pc" + DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig +) diff --git a/ports/libtheora/portfile.cmake b/ports/libtheora/portfile.cmake index 670fe8a4236bcc..b2e324e2e91de7 100644 --- a/ports/libtheora/portfile.cmake +++ b/ports/libtheora/portfile.cmake @@ -21,12 +21,13 @@ endif() vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS + "-DVERSION:STRING=${VERSION}" -DUSE_X86=${THEORA_X86_OPT} ) vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH "lib/unofficial-theora" PACKAGE_NAME "unofficial-theora") - +vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/libtheora/vcpkg.json b/ports/libtheora/vcpkg.json index abbc322d3d9c42..a64f03104ab723 100644 --- a/ports/libtheora/vcpkg.json +++ b/ports/libtheora/vcpkg.json @@ -1,7 +1,7 @@ { "name": "libtheora", "version-string": "1.2.0alpha1-20170719", - "port-version": 6, + "port-version": 7, "description": "Theora is a free and open video compression format from the Xiph.org Foundation.", "homepage": "https://github.com/xiph/theora", "license": null, diff --git a/ports/libtommath/portfile.cmake b/ports/libtommath/portfile.cmake index 746ead44943f1a..6448f1e0a6fbde 100644 --- a/ports/libtommath/portfile.cmake +++ b/ports/libtommath/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libtom/libtommath - REF v1.2.0 - SHA512 500bce4467d6cdb0b014e6c66d3b994a8d63b51475db6c3cd77c15c8368fbab4e3b5c458fcd5b35838b74c457a33c15b42d2356964f5ef2a0bd31fd544735c9a + REF "v${VERSION}" + SHA512 3dbd7053a670afa563a069a9785f1aa4cab14a210bcd05d8fc7db25bd3dcce36b10a3f4f54ca92d75a694f891226f01bdf6ac15bacafeb93a8be6b04c579beb3 HEAD_REF develop ) diff --git a/ports/libtommath/vcpkg.json b/ports/libtommath/vcpkg.json index c8efdf584872e9..2dedf585f067c1 100644 --- a/ports/libtommath/vcpkg.json +++ b/ports/libtommath/vcpkg.json @@ -1,7 +1,6 @@ { "name": "libtommath", - "version": "1.2.0", - "port-version": 3, + "version": "1.3.0", "description": "LibTomMath is a free open source portable number theoretic multiple-precision integer library written entirely in C.", "homepage": "https://www.libtom.net/LibTomMath/" } diff --git a/ports/libtorch/add-include-chrono.patch b/ports/libtorch/add-include-chrono.patch new file mode 100644 index 00000000000000..0375ba860eb956 --- /dev/null +++ b/ports/libtorch/add-include-chrono.patch @@ -0,0 +1,11 @@ +diff --git a/torch/csrc/jit/runtime/logging.h b/torch/csrc/jit/runtime/logging.h +index 5499ecf..269168e 100644 +--- a/torch/csrc/jit/runtime/logging.h ++++ b/torch/csrc/jit/runtime/logging.h +@@ -1,5 +1,6 @@ + #pragma once + ++#include + #include + #include + #include diff --git a/ports/libtorch/clang-cl.patch b/ports/libtorch/clang-cl.patch new file mode 100644 index 00000000000000..4c1968319716ab --- /dev/null +++ b/ports/libtorch/clang-cl.patch @@ -0,0 +1,47 @@ +diff --git a/c10/util/Exception.h b/c10/util/Exception.h +index 2dd1001..b3f3d60 100644 +--- a/c10/util/Exception.h ++++ b/c10/util/Exception.h +@@ -233,12 +233,16 @@ struct C10_API WarnAlways { + // IndexError when they cross to Python. + class C10_API IndexError : public Error { + using Error::Error; ++public: ++ inline IndexError(SourceLocation source_location, std::string msg) : Error(source_location,msg) {}; + }; + + // Used in ATen for invalid values. These turn into + // ValueError when they cross to Python. + class C10_API ValueError : public Error { + using Error::Error; ++public: ++ inline ValueError(SourceLocation source_location, std::string msg) : Error(source_location,msg) {}; + }; + + // Used in ATen for invalid types. These turn into +diff --git a/caffe2/CMakeLists.txt b/caffe2/CMakeLists.txt +index cf349c2..f7a595e 100644 +--- a/caffe2/CMakeLists.txt ++++ b/caffe2/CMakeLists.txt +@@ -830,7 +830,7 @@ if(BUILD_CAFFE2 AND NOT MSVC) + target_compile_options(torch_cpu PRIVATE "-Wno-sign-compare") + endif() + +-if("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" AND NOT USE_VULKAN AND NOT USE_IOS AND NOT USE_PYTORCH_METAL AND NOT USE_COREML_DELEGATE) ++if("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" AND NOT USE_VULKAN AND NOT USE_IOS AND NOT USE_PYTORCH_METAL AND NOT USE_COREML_DELEGATE AND NOT MSVC) + target_compile_options_if_supported(torch_cpu "-Wmissing-prototypes") + target_compile_options_if_supported(torch_cpu "-Werror=missing-prototypes") + get_target_property(TORCH_CPU_SOURCES torch_cpu SOURCES) +diff --git a/functorch/csrc/dim/arena.h b/functorch/csrc/dim/arena.h +index 3251321..cb09b7c 100644 +--- a/functorch/csrc/dim/arena.h ++++ b/functorch/csrc/dim/arena.h +@@ -8,7 +8,7 @@ + #include + #include "minpybind.h" + +-#ifdef _WIN32 ++#if defined(_WIN32) && !defined(__clang__) + #include + // https://stackoverflow.com/questions/355967/how-to-use-msvc-intrinsics-to-get-the-equivalent-of-this-gcc-code + inline unsigned int __builtin_clz(unsigned int x) { diff --git a/ports/libtorch/cmake-fixes.patch b/ports/libtorch/cmake-fixes.patch new file mode 100644 index 00000000000000..8d618714ef1128 --- /dev/null +++ b/ports/libtorch/cmake-fixes.patch @@ -0,0 +1,254 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3a48eaf..7b8bc7c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1049,8 +1049,7 @@ if(USE_MIMALLOC) + set(MI_BUILD_OBJECT OFF) + set(MI_BUILD_TESTS OFF) + add_definitions(-DUSE_MIMALLOC) +- add_subdirectory(third_party/mimalloc) +- include_directories(third_party/mimalloc/include) ++ find_package(mimalloc REQUIRED) + endif() + + # ---[ Main build +diff --git a/aten/src/ATen/native/quantized/cpu/qnnpack/CMakeLists.txt b/aten/src/ATen/native/quantized/cpu/qnnpack/CMakeLists.txt +index fd6b7ff..d185233 100644 +--- a/aten/src/ATen/native/quantized/cpu/qnnpack/CMakeLists.txt ++++ b/aten/src/ATen/native/quantized/cpu/qnnpack/CMakeLists.txt +@@ -368,7 +368,7 @@ elseif(NOT TARGET pthreadpool AND USE_SYSTEM_PTHREADPOOL) + if(NOT PTHREADPOOL_LIBRARY) + message(FATAL_ERROR "Cannot find pthreadpool") + endif() +- message("-- Found pthreadpool: ${PTHREADPOOL_LIBRARY}") ++ message("-- Found pthreadpool cpu qnnpack: ${PTHREADPOOL_LIBRARY}") + set_target_properties(pthreadpool PROPERTIES + IMPORTED_LOCATION "${PTHREADPOOL_LIBRARY}") + add_library(pthreadpool_interface INTERFACE) +diff --git a/c10/CMakeLists.txt b/c10/CMakeLists.txt +index feebad7..ad407e1 100644 +--- a/c10/CMakeLists.txt ++++ b/c10/CMakeLists.txt +@@ -109,8 +109,7 @@ else() + endif() + + if(USE_MIMALLOC) +- target_link_libraries(c10 PRIVATE "mimalloc-static") +- add_dependencies(c10 mimalloc-static) ++ target_link_libraries(c10 PRIVATE "mimalloc") + endif() + + if(ANDROID) +diff --git a/cmake/Dependencies.cmake b/cmake/Dependencies.cmake +index c3abce5..63f665f 100644 +--- a/cmake/Dependencies.cmake ++++ b/cmake/Dependencies.cmake +@@ -285,7 +285,7 @@ endif() + set(AT_FFTW_ENABLED 0) + set(USE_FFTW OFF) + if(USE_FFTW OR NOT MKL_FOUND) +- find_library(LIBFFTW3 fftw3) ++ find_library(LIBFFTW3 NAMES fftw3 REQUIRED) + if(LIBFFTW3) + find_path(FFTW3_INCLUDE_DIR NAMES fftw3.h ONLY_CMAKE_FIND_ROOT_PATH) + if(FFTW3_INCLUDE_DIR) +@@ -415,8 +415,8 @@ if(INTERN_BUILD_MOBILE OR NOT DISABLE_NNPACK_AND_FAMILY) + + if(NOT TARGET pthreadpool) + if(USE_SYSTEM_PTHREADPOOL) +- add_library(pthreadpool SHARED IMPORTED) +- find_library(PTHREADPOOL_LIBRARY pthreadpool) ++ add_library(pthreadpool UNKNOWN IMPORTED) ++ find_library(PTHREADPOOL_LIBRARY pthreadpool PATH_SUFFIXES lib) + set_property(TARGET pthreadpool PROPERTY IMPORTED_LOCATION "${PTHREADPOOL_LIBRARY}") + if(NOT PTHREADPOOL_LIBRARY) + message(FATAL_ERROR "Cannot find pthreadpool") +@@ -450,13 +450,15 @@ endif() + + # ---[ Caffe2 uses cpuinfo library in the thread pool + if(NOT TARGET cpuinfo AND USE_SYSTEM_CPUINFO) +- add_library(cpuinfo SHARED IMPORTED) +- find_library(CPUINFO_LIBRARY cpuinfo) ++ add_library(cpuinfo UNKNOWN IMPORTED) ++ find_library(CPUINFO_LIBRARY NAMES cpuinfo REQUIRED) ++ find_library(CLOG_LIBRARY NAMES clog REQUIRED) + if(NOT CPUINFO_LIBRARY) + message(FATAL_ERROR "Cannot find cpuinfo") + endif() + message("Found cpuinfo: ${CPUINFO_LIBRARY}") + set_target_properties(cpuinfo PROPERTIES IMPORTED_LOCATION "${CPUINFO_LIBRARY}") ++ target_link_libraries(cpuinfo INTERFACE "${CLOG_LIBRARY}") + elseif(NOT TARGET cpuinfo) + if(NOT DEFINED CPUINFO_SOURCE_DIR) + set(CPUINFO_SOURCE_DIR "${CMAKE_CURRENT_LIST_DIR}/../third_party/cpuinfo" CACHE STRING "cpuinfo source directory") +@@ -659,8 +661,8 @@ if(USE_XNNPACK AND NOT USE_SYSTEM_XNNPACK) + include_directories(SYSTEM ${XNNPACK_INCLUDE_DIR}) + list(APPEND Caffe2_DEPENDENCY_LIBS XNNPACK) + elseif(NOT TARGET XNNPACK AND USE_SYSTEM_XNNPACK) +- add_library(XNNPACK SHARED IMPORTED) +- find_library(XNNPACK_LIBRARY XNNPACK) ++ add_library(XNNPACK UNKNOWN IMPORTED) ++ find_library(XNNPACK_LIBRARY NAMES XNNPACK REQUIRED) + set_property(TARGET XNNPACK PROPERTY IMPORTED_LOCATION "${XNNPACK_LIBRARY}") + if(NOT XNNPACK_LIBRARY) + message(FATAL_ERROR "Cannot find XNNPACK") +@@ -858,7 +860,7 @@ endif() + + # ---[ LMDB + if(USE_LMDB) +- find_package(LMDB) ++ find_package(LMDB REQUIRED) + if(LMDB_FOUND) + include_directories(SYSTEM ${LMDB_INCLUDE_DIR}) + list(APPEND Caffe2_DEPENDENCY_LIBS ${LMDB_LIBRARIES}) +@@ -1002,8 +1004,9 @@ if(NOT TARGET fp16 AND NOT USE_SYSTEM_FP16) + "${FP16_SOURCE_DIR}" + "${CONFU_DEPENDENCIES_BINARY_DIR}/FP16") + elseif(NOT TARGET fp16 AND USE_SYSTEM_FP16) +- add_library(fp16 STATIC "/usr/include/fp16.h") +- set_target_properties(fp16 PROPERTIES LINKER_LANGUAGE C) ++ find_path(FP16_INCLUDE_DIR NAMES fp16.h PATH_SUFFIXES include) ++ add_library(fp16 INTERFACE) ++ target_include_directories(fp16 INTERFACE "${FP16_INCLUDE_DIR}") + endif() + list(APPEND Caffe2_DEPENDENCY_LIBS fp16) + +@@ -1127,7 +1130,7 @@ if(BUILD_PYTHON) + # Observers are required in the python build + caffe2_update_option(USE_OBSERVERS ON) + else() +- message(WARNING "Python dependencies not met. Not compiling with python. Suppress this warning with -DBUILD_PYTHON=OFF") ++ message(FATAL_ERROR "Python dependencies not met. Not compiling with python. Suppress this warning with -DBUILD_PYTHON=OFF") + caffe2_update_option(BUILD_PYTHON OFF) + endif() + endif() +@@ -1231,7 +1234,7 @@ endif() + # ---[ LLVM + if(USE_LLVM) + message(STATUS "Looking for LLVM in ${USE_LLVM}") +- find_package(LLVM PATHS ${USE_LLVM} NO_DEFAULT_PATH) ++ find_package(LLVM) + + if(LLVM_FOUND) + message(STATUS "Found LLVM ${LLVM_PACKAGE_VERSION}") +@@ -1244,8 +1247,10 @@ endif(USE_LLVM) + + # ---[ cuDNN + if(USE_CUDNN) ++ find_package(CUDNN REQUIRED) + set(CUDNN_FRONTEND_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/../third_party/cudnn_frontend/include) + target_include_directories(torch::cudnn INTERFACE ${CUDNN_FRONTEND_INCLUDE_DIR}) ++ target_include_directories(torch::cudnn INTERFACE "${CUDNN_INCLUDE_DIR}") + endif() + + # ---[ HIP +@@ -1555,7 +1560,10 @@ if(CAFFE2_CMAKE_BUILDING_WITH_MAIN_REPO AND NOT INTERN_DISABLE_ONNX) + set_target_properties(onnx_proto PROPERTIES CXX_STANDARD 17) + endif() + endif() +- add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/../third_party/foxi EXCLUDE_FROM_ALL) ++ ++ # setup foxi ++ find_library(FOXI_LOADER_LIBPATH NAMES foxi_loader REQUIRED) ++ list(APPEND Caffe2_DEPENDENCY_LIBS "${FOXI_LOADER_LIBPATH}") + + add_definitions(-DONNX_NAMESPACE=${ONNX_NAMESPACE}) + if(NOT USE_SYSTEM_ONNX) +@@ -1573,23 +1581,13 @@ if(CAFFE2_CMAKE_BUILDING_WITH_MAIN_REPO AND NOT INTERN_DISABLE_ONNX) + target_compile_options(onnx PRIVATE -Wno-deprecated-declarations) + endif() + else() +- add_library(onnx SHARED IMPORTED) +- find_library(ONNX_LIBRARY onnx) +- if(NOT ONNX_LIBRARY) +- message(FATAL_ERROR "Cannot find onnx") +- endif() +- set_property(TARGET onnx PROPERTY IMPORTED_LOCATION ${ONNX_LIBRARY}) +- add_library(onnx_proto SHARED IMPORTED) +- find_library(ONNX_PROTO_LIBRARY onnx_proto) +- if(NOT ONNX_PROTO_LIBRARY) +- message(FATAL_ERROR "Cannot find onnx") +- endif() +- set_property(TARGET onnx_proto PROPERTY IMPORTED_LOCATION ${ONNX_PROTO_LIBRARY}) +- message("-- Found onnx: ${ONNX_LIBRARY} ${ONNX_PROTO_LIBRARY}") +- list(APPEND Caffe2_DEPENDENCY_LIBS onnx_proto onnx) ++ find_package(ONNX CONFIG REQUIRED) ++ set(ONNX_LIBRARY ONNX::onnx) ++ set(ONNX_PROTO_LIBRARY ONNX::onnx_proto) ++ list(APPEND Caffe2_DEPENDENCY_LIBS ${ONNX_LIBRARY} ${ONNX_PROTO_LIBRARY}) + endif() + include_directories(${FOXI_INCLUDE_DIRS}) +- list(APPEND Caffe2_DEPENDENCY_LIBS foxi_loader) ++ list(APPEND Caffe2_DEPENDENCY_LIBS "${FOXI_LOADER_LIBPATH}") + # Recover the build shared libs option. + set(BUILD_SHARED_LIBS ${TEMP_BUILD_SHARED_LIBS}) + endif() +@@ -1834,8 +1832,8 @@ endif() + # + set(TEMP_BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS}) + set(BUILD_SHARED_LIBS OFF CACHE BOOL "Build shared libs" FORCE) +-add_subdirectory(${PROJECT_SOURCE_DIR}/third_party/fmt) +- ++#add_subdirectory(${PROJECT_SOURCE_DIR}/third_party/fmt) ++find_package(fmt REQUIRED) + # Disable compiler feature checks for `fmt`. + # + # CMake compiles a little program to check compiler features. Some of our build +@@ -1843,7 +1841,6 @@ add_subdirectory(${PROJECT_SOURCE_DIR}/third_party/fmt) + # CMAKE_CXX_FLAGS in ways that break feature checks. Since we already know + # `fmt` is compatible with a superset of the compilers that PyTorch is, it + # shouldn't be too bad to just disable the checks. +-set_target_properties(fmt-header-only PROPERTIES INTERFACE_COMPILE_FEATURES "") + + list(APPEND Caffe2_DEPENDENCY_LIBS fmt::fmt-header-only) + set(BUILD_SHARED_LIBS ${TEMP_BUILD_SHARED_LIBS} CACHE BOOL "Build shared libs" FORCE) +diff --git a/cmake/Modules/FindLMDB.cmake b/cmake/Modules/FindLMDB.cmake +index 2f0adb1..8a817fd 100644 +--- a/cmake/Modules/FindLMDB.cmake ++++ b/cmake/Modules/FindLMDB.cmake +@@ -12,12 +12,8 @@ + # Copyright 2013 Conrad Steenberg + # Aug 31, 2013 + +-if(MSVC) +- find_package(LMDB NO_MODULE) +-else() +- find_path(LMDB_INCLUDE_DIR NAMES lmdb.h PATHS "$ENV{LMDB_DIR}/include") +- find_library(LMDB_LIBRARIES NAMES lmdb PATHS "$ENV{LMDB_DIR}/lib" ) +-endif() ++find_path(LMDB_INCLUDE_DIR NAMES lmdb.h PATHS "$ENV{LMDB_DIR}/include") ++find_library(LMDB_LIBRARIES NAMES lmdb PATHS "$ENV{LMDB_DIR}/lib" ) + + include(FindPackageHandleStandardArgs) + find_package_handle_standard_args(LMDB DEFAULT_MSG LMDB_INCLUDE_DIR LMDB_LIBRARIES) +diff --git a/cmake/public/cuda.cmake b/cmake/public/cuda.cmake +index 32f3ba3..4112937 100644 +--- a/cmake/public/cuda.cmake ++++ b/cmake/public/cuda.cmake +@@ -67,8 +67,8 @@ if(NOT CMAKE_CUDA_COMPILER_VERSION STREQUAL CUDAToolkit_VERSION OR + "V${CUDAToolkit_VERSION} in '${CUDAToolkit_INCLUDE_DIR}'") + endif() + +-if(NOT TARGET CUDA::nvToolsExt) +- message(FATAL_ERROR "Failed to find nvToolsExt") ++if(NOT TARGET CUDA::nvToolsExt AND TARGET CUDA::nvtx3) ++ add_library(CUDA::nvToolsExt ALIAS CUDA::nvtx3) + endif() + + message(STATUS "Caffe2: CUDA detected: " ${CUDA_VERSION}) +diff --git a/cmake/public/utils.cmake b/cmake/public/utils.cmake +index 4d48c0f..ebdd39a 100644 +--- a/cmake/public/utils.cmake ++++ b/cmake/public/utils.cmake +@@ -185,9 +185,9 @@ endfunction() + macro(caffe2_update_option variable value) + if(CAFFE2_CMAKE_BUILDING_WITH_MAIN_REPO) + get_property(__help_string CACHE ${variable} PROPERTY HELPSTRING) +- set(${variable} ${value} CACHE BOOL ${__help_string} FORCE) ++ set("${variable}" "${value}" CACHE BOOL "${__help_string}" FORCE) + else() +- set(${variable} ${value}) ++ set("${variable}" "${value}") + endif() + endmacro() + diff --git a/ports/libtorch/cuda-adjustments.patch b/ports/libtorch/cuda-adjustments.patch new file mode 100644 index 00000000000000..0403ea67c14e27 --- /dev/null +++ b/ports/libtorch/cuda-adjustments.patch @@ -0,0 +1,63 @@ +diff --git a/cmake/Modules_CUDA_fix/upstream/FindCUDA.cmake b/cmake/Modules_CUDA_fix/upstream/FindCUDA.cmake +index 420ee63..8bc24a0 100644 +--- a/cmake/Modules_CUDA_fix/upstream/FindCUDA.cmake ++++ b/cmake/Modules_CUDA_fix/upstream/FindCUDA.cmake +@@ -1691,14 +1691,6 @@ function(CUDA_LINK_SEPARABLE_COMPILATION_OBJECTS output_file cuda_target options + # If -ccbin, --compiler-bindir has been specified, don't do anything. Otherwise add it here. + list( FIND nvcc_flags "-ccbin" ccbin_found0 ) + list( FIND nvcc_flags "--compiler-bindir" ccbin_found1 ) +- if( ccbin_found0 LESS 0 AND ccbin_found1 LESS 0 AND CUDA_HOST_COMPILER ) +- # Match VERBATIM check below. +- if(CUDA_HOST_COMPILER MATCHES "\\$\\(VCInstallDir\\)") +- list(APPEND nvcc_flags -ccbin "\"${CUDA_HOST_COMPILER}\"") +- else() +- list(APPEND nvcc_flags -ccbin "${CUDA_HOST_COMPILER}") +- endif() +- endif() + + # Create a list of flags specified by CUDA_NVCC_FLAGS_${CONFIG} and CMAKE_${CUDA_C_OR_CXX}_FLAGS* + set(config_specific_flags) +diff --git a/cmake/Modules_CUDA_fix/upstream/FindCUDA/run_nvcc.cmake b/cmake/Modules_CUDA_fix/upstream/FindCUDA/run_nvcc.cmake +index 9293df3..8c12015 100644 +--- a/cmake/Modules_CUDA_fix/upstream/FindCUDA/run_nvcc.cmake ++++ b/cmake/Modules_CUDA_fix/upstream/FindCUDA/run_nvcc.cmake +@@ -126,13 +126,6 @@ list(APPEND CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS_${build_configuration}}) + # Any -ccbin existing in CUDA_NVCC_FLAGS gets highest priority + list( FIND CUDA_NVCC_FLAGS "-ccbin" ccbin_found0 ) + list( FIND CUDA_NVCC_FLAGS "--compiler-bindir" ccbin_found1 ) +-if( ccbin_found0 LESS 0 AND ccbin_found1 LESS 0 AND CUDA_HOST_COMPILER ) +- if (CUDA_HOST_COMPILER STREQUAL "@_CUDA_MSVC_HOST_COMPILER@" AND DEFINED CCBIN) +- set(CCBIN -ccbin "${CCBIN}") +- else() +- set(CCBIN -ccbin "${CUDA_HOST_COMPILER}") +- endif() +-endif() + + # cuda_execute_process - Executes a command with optional command echo and status message. + # +diff --git a/cmake/Modules_CUDA_fix/upstream/FindCUDA/select_compute_arch.cmake b/cmake/Modules_CUDA_fix/upstream/FindCUDA/select_compute_arch.cmake +index d917738..6d0d4fa 100644 +--- a/cmake/Modules_CUDA_fix/upstream/FindCUDA/select_compute_arch.cmake ++++ b/cmake/Modules_CUDA_fix/upstream/FindCUDA/select_compute_arch.cmake +@@ -30,7 +30,6 @@ endif() + set(CUDA_KNOWN_GPU_ARCHITECTURES "Kepler" "Maxwell") + + # This list will be used for CUDA_ARCH_NAME = Common option (enabled by default) +-set(CUDA_COMMON_GPU_ARCHITECTURES "3.5" "5.0") + + # This list is used to filter CUDA archs when autodetecting + set(CUDA_ALL_GPU_ARCHITECTURES "3.5" "5.0") +diff --git a/cmake/public/cuda.cmake b/cmake/public/cuda.cmake +index 4112937..5964429 100644 +--- a/cmake/public/cuda.cmake ++++ b/cmake/public/cuda.cmake +@@ -41,9 +41,6 @@ set(CUDAToolkit_ROOT "${CUDA_TOOLKIT_ROOT_DIR}") + # Pass clang as host compiler, which according to the docs + # Must be done before CUDA language is enabled, see + # https://cmake.org/cmake/help/v3.15/variable/CMAKE_CUDA_HOST_COMPILER.html +-if("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") +- set(CMAKE_CUDA_HOST_COMPILER "${CMAKE_C_COMPILER}") +-endif() + enable_language(CUDA) + if("X${CMAKE_CUDA_STANDARD}" STREQUAL "X" ) + set(CMAKE_CUDA_STANDARD ${CMAKE_CXX_STANDARD}) diff --git a/ports/libtorch/fix-api-export.patch b/ports/libtorch/fix-api-export.patch new file mode 100644 index 00000000000000..bf5bf01b8dd5d1 --- /dev/null +++ b/ports/libtorch/fix-api-export.patch @@ -0,0 +1,39 @@ +diff --git a/aten/src/ATen/Context.h b/aten/src/ATen/Context.h +index 285c6f7..1040acc 100644 +--- a/aten/src/ATen/Context.h ++++ b/aten/src/ATen/Context.h +@@ -28,7 +28,7 @@ namespace at { + + class Tensor; + +-enum class TORCH_API Float32MatmulPrecision { HIGHEST, HIGH, MEDIUM }; ++enum class Float32MatmulPrecision { HIGHEST, HIGH, MEDIUM }; + + class TORCH_API Context { + public: +diff --git a/aten/src/ATen/core/function_schema.h b/aten/src/ATen/core/function_schema.h +index c48e9b0..cd8d4dd 100644 +--- a/aten/src/ATen/core/function_schema.h ++++ b/aten/src/ATen/core/function_schema.h +@@ -206,7 +206,7 @@ inline bool operator!=(const Argument& lhs, const Argument& rhs) { + return !(lhs == rhs); + } + +-enum struct TORCH_API SchemaArgType { input, output }; ++enum struct SchemaArgType { input, output }; + + /** + * struct SchemaArgument +diff --git a/torch/csrc/jit/runtime/static/native_ops.cpp b/torch/csrc/jit/runtime/static/native_ops.cpp +index 7f3cbcf..fe80ab1 100644 +--- a/torch/csrc/jit/runtime/static/native_ops.cpp ++++ b/torch/csrc/jit/runtime/static/native_ops.cpp +@@ -1055,7 +1055,7 @@ namespace { + execution is completed, future is marked as complete to + indicate aten::wait() to proceed + */ +-class TORCH_API ForkedSubgraphSRLauncher { ++class ForkedSubgraphSRLauncher { + public: + ForkedSubgraphSRLauncher( + std::shared_ptr smodule, diff --git a/ports/libtorch/fix-aten-cutlass.patch b/ports/libtorch/fix-aten-cutlass.patch new file mode 100644 index 00000000000000..f40972ab1566cb --- /dev/null +++ b/ports/libtorch/fix-aten-cutlass.patch @@ -0,0 +1,32 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 80bbfc6b..eead313d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -560,6 +560,8 @@ if(MSVC) + + string(APPEND CMAKE_CXX_FLAGS " /FS") + string(APPEND CMAKE_CUDA_FLAGS " -Xcompiler /FS") ++ # CUTLASS_CONSTEXPR_IF_CXX17 must be constexpr. Correct the __cplusplus value ++ string(APPEND CMAKE_CUDA_FLAGS " -Xcompiler /Zc:__cplusplus") + endif(MSVC) + + string(APPEND CMAKE_CUDA_FLAGS " -Xfatbin -compress-all") +diff --git a/aten/src/ATen/CMakeLists.txt b/aten/src/ATen/CMakeLists.txt +index 93021a74..0755c890 100644 +--- a/aten/src/ATen/CMakeLists.txt ++++ b/aten/src/ATen/CMakeLists.txt +@@ -437,7 +437,13 @@ if(NOT MSVC AND NOT EMSCRIPTEN AND NOT INTERN_BUILD_MOBILE) + endif() + + if(USE_CUDA AND NOT USE_ROCM) +- list(APPEND ATen_CUDA_INCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/../../../third_party/cutlass/include) ++ find_package(NvidiaCutlass CONFIG REQUIRED) ++ get_target_property(CUTLASS_INCLUDE_DIRS nvidia::cutlass::cutlass INTERFACE_INCLUDE_DIRECTORIES) ++ list(APPEND ATen_CUDA_INCLUDE ${CUTLASS_INCLUDE_DIRS}) ++ if(MSVC) ++ # CUTLASS_CONSTEXPR_IF_CXX17 must be constexpr. Correct the __cplusplus value with MSVC ++ add_compile_options($<$:"-Xcompiler /Zc:__cplusplus">) ++ endif() + if($ENV{ATEN_STATIC_CUDA}) + list(APPEND ATen_CUDA_DEPENDENCY_LIBS + ${CUDA_LIBRARIES} diff --git a/ports/libtorch/fix-build-error-with-fmt11.patch b/ports/libtorch/fix-build-error-with-fmt11.patch new file mode 100644 index 00000000000000..352126248145d6 --- /dev/null +++ b/ports/libtorch/fix-build-error-with-fmt11.patch @@ -0,0 +1,36 @@ +diff --git a/torch/csrc/distributed/c10d/socket.cpp b/torch/csrc/distributed/c10d/socket.cpp +index 51ea05fa..3c3fbb39 100644 +--- a/torch/csrc/distributed/c10d/socket.cpp ++++ b/torch/csrc/distributed/c10d/socket.cpp +@@ -29,6 +29,7 @@ + + #include + #include ++#include + + #include + #include +diff --git a/torch/csrc/profiler/standalone/execution_trace_observer.cpp b/torch/csrc/profiler/standalone/execution_trace_observer.cpp +index 93d9e2d1..ea241a8b 100644 +--- a/torch/csrc/profiler/standalone/execution_trace_observer.cpp ++++ b/torch/csrc/profiler/standalone/execution_trace_observer.cpp +@@ -10,6 +10,7 @@ + #endif // _WIN32 + + #include ++#include + #include + #include + #include +diff --git a/torch/csrc/profiler/util.cpp b/torch/csrc/profiler/util.cpp +index 180555f9..1358c9ab 100644 +--- a/torch/csrc/profiler/util.cpp ++++ b/torch/csrc/profiler/util.cpp +@@ -5,6 +5,7 @@ + #include + #include + #include ++#include + + #ifdef USE_KINETO + #include diff --git a/ports/libtorch/fix-build.patch b/ports/libtorch/fix-build.patch new file mode 100644 index 00000000000000..d2bf943e79fe70 --- /dev/null +++ b/ports/libtorch/fix-build.patch @@ -0,0 +1,156 @@ +diff --git a/c10/cuda/CMakeLists.txt b/c10/cuda/CMakeLists.txt +index c0628d0..5dfb7f2 100644 +--- a/c10/cuda/CMakeLists.txt ++++ b/c10/cuda/CMakeLists.txt +@@ -74,7 +74,11 @@ add_subdirectory(test) + # Note: for now, we will put all export path into one single Caffe2Targets group + # to deal with the cmake deployment need. Inside the Caffe2Targets set, the + # individual libraries like libc10.so and libcaffe2.so are still self-contained. +-install(TARGETS c10_cuda EXPORT Caffe2Targets DESTINATION lib) ++install(TARGETS c10_cuda EXPORT Caffe2Targets ++ RUNTIME DESTINATION bin ++ ARCHIVE DESTINATION lib ++ LIBRARY DESTINATION lib ++ ) + foreach(file ${C10_CUDA_HEADERS}) + get_filename_component( dir ${file} DIRECTORY ) + install( FILES ${file} DESTINATION include/c10/cuda/${dir} ) +diff --git a/c10/util/Exception.h b/c10/util/Exception.h +index ecbc7c1..2dd1001 100644 +--- a/c10/util/Exception.h ++++ b/c10/util/Exception.h +@@ -14,6 +14,9 @@ + #define __func__ __FUNCTION__ + #endif + ++#ifdef _MSC_VER ++#pragma warning(suppress : 4251) ++#endif + namespace c10 { + + /// The primary ATen error class. +diff --git a/pyproject.toml b/pyproject.toml +index eb764cb..c70f317 100644 +--- a/pyproject.toml ++++ b/pyproject.toml +@@ -4,11 +4,9 @@ requires = [ + "wheel", + "astunparse", + "numpy", +- "ninja", + "pyyaml", +- "cmake", + "typing-extensions", +- "requests", ++# "requests", + ] + # Use legacy backend to import local packages in setup.py + build-backend = "setuptools.build_meta:__legacy__" +diff --git a/setup.py b/setup.py +index 7016441..a6416c7 100644 +--- a/setup.py ++++ b/setup.py +@@ -263,7 +263,7 @@ from tools.setup_helpers.env import build_type, IS_DARWIN, IS_LINUX, IS_WINDOWS + ################################################################################ + + VERBOSE_SCRIPT = True +-RUN_BUILD_DEPS = True ++RUN_BUILD_DEPS = False + # see if the user passed a quiet flag to setup.py arguments and respect + # that in our parts of the build + EMIT_BUILD_WARNING = False +@@ -307,9 +307,9 @@ else: + + # Constant known variables used throughout this file + cwd = os.path.dirname(os.path.abspath(__file__)) +-lib_path = os.path.join(cwd, "torch", "lib") ++lib_path = os.path.join(cwd, "../../@TARGET_TRIPLET@/", "lib") + third_party_path = os.path.join(cwd, "third_party") +-caffe2_build_dir = os.path.join(cwd, "build") ++caffe2_build_dir = os.path.join(cwd, "../../@TARGET_TRIPLET@") + + # CMAKE: full path to python library + if IS_WINDOWS: +@@ -759,7 +759,7 @@ class build_ext(setuptools.command.build_ext.build_ext): + with open(filename) as f: + return json.load(f) + +- ninja_files = glob.glob("build/*compile_commands.json") ++ ninja_files = glob.glob("../../@TARGET_TRIPLET@/*compile_commands.json") + cmake_files = glob.glob("torch/lib/build/*/compile_commands.json") + all_commands = [entry for f in ninja_files + cmake_files for entry in load(f)] + +diff --git a/third_party/nvfuser/csrc/instrumentation.h b/third_party/nvfuser/csrc/instrumentation.h +index cd57825..75e81e9 100644 +--- a/third_party/nvfuser/csrc/instrumentation.h ++++ b/third_party/nvfuser/csrc/instrumentation.h +@@ -2,7 +2,7 @@ + + #include + +-#include ++#include + + // NOLINTNEXTLINE(modernize-deprecated-headers) + #include +diff --git a/tools/setup_helpers/env.py b/tools/setup_helpers/env.py +index d87e97a..6c52f39 100644 +--- a/tools/setup_helpers/env.py ++++ b/tools/setup_helpers/env.py +@@ -19,7 +19,7 @@ CONDA_DIR = os.path.join(os.path.dirname(sys.executable), "..") + + IS_64BIT = struct.calcsize("P") == 8 + +-BUILD_DIR = "build" ++BUILD_DIR = "../../@TARGET_TRIPLET@" + + + def check_env_flag(name: str, default: str = "") -> bool: +diff --git a/torch/lib/libshm/CMakeLists.txt b/torch/lib/libshm/CMakeLists.txt +index 20158a9..7d3c475 100644 +--- a/torch/lib/libshm/CMakeLists.txt ++++ b/torch/lib/libshm/CMakeLists.txt +@@ -71,6 +71,10 @@ target_link_libraries(torch_shm_manager PRIVATE shm) + set_target_properties(torch_shm_manager PROPERTIES + INSTALL_RPATH "${_rpath_portable_origin}/../lib") + +-install(TARGETS shm LIBRARY DESTINATION ${LIBSHM_INSTALL_LIB_SUBDIR}) ++install(TARGETS shm ++ RUNTIME DESTINATION bin ++ ARCHIVE DESTINATION lib ++ LIBRARY DESTINATION lib ++) + install(FILES libshm.h DESTINATION "include") + install(TARGETS torch_shm_manager DESTINATION "bin") +diff --git a/torch/lib/libshm_windows/CMakeLists.txt b/torch/lib/libshm_windows/CMakeLists.txt +index df2a106..b86e0b6 100644 +--- a/torch/lib/libshm_windows/CMakeLists.txt ++++ b/torch/lib/libshm_windows/CMakeLists.txt +@@ -19,9 +19,12 @@ target_include_directories(shm PRIVATE + target_link_libraries(shm torch c10) + + +-install(TARGETS shm DESTINATION "${LIBSHM_INSTALL_LIB_SUBDIR}") ++install(TARGETS shm ++ LIBRARY DESTINATION "${LIBSHM_INSTALL_LIB_SUBDIR}" ++ ARCHIVE DESTINATION "${LIBSHM_INSTALL_LIB_SUBDIR}" ++ RUNTIME DESTINATION "${LIBSHM_INSTALL_BIN_SUBDIR}") + install(FILES libshm.h DESTINATION "include") + + if(MSVC AND BUILD_SHARED_LIBS) +- install(FILES $ DESTINATION "${LIBSHM_INSTALL_LIB_SUBDIR}" OPTIONAL) ++ install(FILES $ DESTINATION "${LIBSHM_INSTALL_BIN_SUBDIR}" OPTIONAL) + endif() +diff --git a/torch/utils/cpp_extension.py b/torch/utils/cpp_extension.py +index 6600eb3..15ddc8c 100644 +--- a/torch/utils/cpp_extension.py ++++ b/torch/utils/cpp_extension.py +@@ -38,7 +38,7 @@ SHARED_FLAG = '/DLL' if IS_WINDOWS else '-shared' + + _HERE = os.path.abspath(__file__) + _TORCH_PATH = os.path.dirname(os.path.dirname(_HERE)) +-TORCH_LIB_PATH = os.path.join(_TORCH_PATH, 'lib') ++TORCH_LIB_PATH = os.path.join(_TORCH_PATH, '../../../@TARGET_TRIPLET@', 'lib') + + + SUBPROCESS_DECODE_ARGS = ('oem',) if IS_WINDOWS else () diff --git a/ports/libtorch/fix-c10-glog.patch b/ports/libtorch/fix-c10-glog.patch deleted file mode 100644 index beb2a6a3fa7a35..00000000000000 --- a/ports/libtorch/fix-c10-glog.patch +++ /dev/null @@ -1,61 +0,0 @@ -diff --git a/c10/util/Logging.cpp b/c10/util/Logging.cpp -index fe74e49..06e09d6 100644 ---- a/c10/util/Logging.cpp -+++ b/c10/util/Logging.cpp -@@ -4,7 +4,7 @@ - #ifdef FBCODE_CAFFE2 - #include - #endif -- -+#include - #include - #include - #include -@@ -192,23 +194,13 @@ C10_DEFINE_int( - google::GLOG_WARNING, - "The minimum log level that caffe2 will output."); - --// Google glog's api does not have an external function that allows one to check --// if glog is initialized or not. It does have an internal function - so we are --// declaring it here. This is a hack but has been used by a bunch of others too --// (e.g. Torch). --namespace google { --namespace glog_internal_namespace_ { --bool IsGoogleLoggingInitialized(); --} // namespace glog_internal_namespace_ --} // namespace google -- - namespace c10 { - namespace { - - void initGoogleLogging(char const* name) { - #if !defined(_MSC_VER) - // This trick can only be used on UNIX platforms -- if (!::google::glog_internal_namespace_::IsGoogleLoggingInitialized()) -+ if (!::google::IsGoogleLoggingInitialized()) - #endif - { - ::google::InitGoogleLogging(name); -diff --git a/c10/util/Logging.cpp b/c10/util/Logging.cpp -index 1864f17..b958fa0 100644 ---- a/c10/util/Logging.cpp -+++ b/c10/util/Logging.cpp -@@ -154,18 +154,6 @@ void setLogLevelFlagFromEnv(); - } // namespace detail - } // namespace c10 - --#if defined(C10_USE_GFLAGS) && defined(C10_USE_GLOG) --// When GLOG depends on GFLAGS, these variables are being defined in GLOG --// directly via the GFLAGS definition, so we will use DECLARE_* to declare --// them, and use them in Caffe2. --// GLOG's minloglevel --DECLARE_int32(minloglevel); --// GLOG's verbose log value. --DECLARE_int32(v); --// GLOG's logtostderr value --DECLARE_bool(logtostderr); --#endif // defined(C10_USE_GFLAGS) && defined(C10_USE_GLOG) -- - #if !defined(C10_USE_GLOG) - // This backward compatibility flags are in order to deal with cases where - // Caffe2 are not built with glog, but some init flags still pass in these diff --git a/ports/libtorch/fix-calculate-minloglevel.patch b/ports/libtorch/fix-calculate-minloglevel.patch new file mode 100644 index 00000000000000..7c7d1ffdc1bc2b --- /dev/null +++ b/ports/libtorch/fix-calculate-minloglevel.patch @@ -0,0 +1,13 @@ +diff --git a/c10/util/Logging.cpp b/c10/util/Logging.cpp +index 306dac5..dca802c 100644 +--- a/c10/util/Logging.cpp ++++ b/c10/util/Logging.cpp +@@ -272,7 +272,7 @@ void UpdateLoggingLevelsFromFlags() { + + void ShowLogInfoToStderr() { + FLAGS_logtostderr = 1; +- FLAGS_minloglevel = std::min(FLAGS_minloglevel, google::GLOG_INFO); ++ FLAGS_minloglevel = std::min(FLAGS_minloglevel, static_cast(google::GLOG_INFO)); + } + } // namespace c10 + diff --git a/ports/libtorch/fix-cmake.patch b/ports/libtorch/fix-cmake.patch deleted file mode 100644 index fbcb5a1d7875cc..00000000000000 --- a/ports/libtorch/fix-cmake.patch +++ /dev/null @@ -1,142 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 4bf1e85..48b01ae 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -693,7 +693,7 @@ endif() - - set(BUILD_ONEDNN_GRAPH OFF) - --include(cmake/Dependencies.cmake) -+include(cmake/vcpkg-dependencies.cmake) - - if(USE_CUDA AND (CMAKE_CUDA_COMPILER_VERSION VERSION_LESS 10.2) AND (CMAKE_HOST_SYSTEM_NAME MATCHES "Windows")) - # CUDA < 10.2 doesn't support compiling and extracting header dependencies in -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 48b01ae..8e46275 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -660,7 +660,7 @@ if(NOT CMAKE_BUILD_TYPE) - endif() - - # The below means we are cross compiling for arm64 or x86_64 on MacOSX --if(NOT IOS AND CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND CMAKE_OSX_ARCHITECTURES MATCHES "^(x86_64|arm64)$") -+if(false) - set(CROSS_COMPILING_MACOSX TRUE) - # We need to compile a universal protoc to not fail protobuf build - # We set CMAKE_TRY_COMPILE_TARGET_TYPE to STATIC_LIBRARY (vs executable) to succeed the cmake compiler check for cross-compiling -@@ -678,6 +678,7 @@ if(NOT IOS AND CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND CMAKE_OSX_ARCHITECTURES M - set(PROTOBUF_PROTOC_EXECUTABLE "${PROJECT_SOURCE_DIR}/build_host_protoc/bin/protoc") - set(CAFFE2_CUSTOM_PROTOC_EXECUTABLE "${PROJECT_SOURCE_DIR}/build_host_protoc/bin/protoc") - endif() -+include(cmake/ProtoBuf.cmake) - - # ---[ Misc checks to cope with various compiler modes - include(cmake/MiscCheck.cmake) -diff --git a/caffe2/CMakeLists.txt b/caffe2/CMakeLists.txt -index 328210c..c407442 100644 ---- a/caffe2/CMakeLists.txt -+++ b/caffe2/CMakeLists.txt -@@ -112,13 +112,8 @@ endif() - # addressed yet. - - if(NOT MSVC AND USE_XNNPACK) -- if(NOT TARGET fxdiv) -- set(FXDIV_BUILD_TESTS OFF CACHE BOOL "") -- set(FXDIV_BUILD_BENCHMARKS OFF CACHE BOOL "") -- add_subdirectory( -- "${FXDIV_SOURCE_DIR}" -- "${CMAKE_BINARY_DIR}/FXdiv") -- endif() -+ find_path(FXDIV_INCLUDE_DIRS "fxdiv.h" REQUIRED) -+ include_directories(${FXDIV_INCLUDE_DIRS}) - endif() - - add_subdirectory(core) -diff --git a/caffe2/CMakeLists.txt b/caffe2/CMakeLists.txt -index c407442..16fa898 100644 ---- a/caffe2/CMakeLists.txt -+++ b/caffe2/CMakeLists.txt -@@ -1011,10 +1011,6 @@ if(USE_CUDA OR USE_ROCM) - include(${TORCH_SRC_DIR}/csrc/jit/codegen/cuda/nvfuser.cmake) - endif() - --if(NOT MSVC AND USE_XNNPACK) -- TARGET_LINK_LIBRARIES(torch_cpu PRIVATE fxdiv) --endif() -- - # ========================================================== - # formerly-libtorch flags - # ========================================================== -diff --git a/c10/CMakeLists.txt b/c10/CMakeLists.txt -index 41b1a1a..3b390ec 100644 ---- a/c10/CMakeLists.txt -+++ b/c10/CMakeLists.txt -@@ -110,7 +110,11 @@ endif() - # Note: for now, we will put all export path into one single Caffe2Targets group - # to deal with the cmake deployment need. Inside the Caffe2Targets set, the - # individual libraries like libc10.so and libcaffe2.so are still self-contained. --install(TARGETS c10 EXPORT Caffe2Targets DESTINATION lib) -+install(TARGETS c10 EXPORT Caffe2Targets -+ RUNTIME DESTINATION bin -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib -+) - install(DIRECTORY ${CMAKE_CURRENT_LIST_DIR} - DESTINATION include - FILES_MATCHING PATTERN "*.h") -diff --git a/caffe2/CMakeLists.txt b/caffe2/CMakeLists.txt -index 16fa898..7a343f7 100644 ---- a/caffe2/CMakeLists.txt -+++ b/caffe2/CMakeLists.txt -@@ -1547,7 +1547,11 @@ endif() - - caffe2_interface_library(torch torch_library) - --install(TARGETS torch_cpu torch_cpu_library EXPORT Caffe2Targets DESTINATION "${TORCH_INSTALL_LIB_DIR}") -+install(TARGETS torch_cpu torch_cpu_library EXPORT Caffe2Targets -+ RUNTIME DESTINATION "${TORCH_INSTALL_BIN_DIR}" -+ LIBRARY DESTINATION "${TORCH_INSTALL_LIB_DIR}" -+ ARCHIVE DESTINATION "${TORCH_INSTALL_LIB_DIR}" -+) - - if(USE_CUDA) - install(TARGETS torch_cuda torch_cuda_library EXPORT Caffe2Targets DESTINATION "${TORCH_INSTALL_LIB_DIR}") -@@ -1558,7 +1562,11 @@ if(USE_CUDA) - elseif(USE_ROCM) - install(TARGETS torch_hip torch_hip_library EXPORT Caffe2Targets DESTINATION "${TORCH_INSTALL_LIB_DIR}") - endif() --install(TARGETS torch torch_library EXPORT Caffe2Targets DESTINATION "${TORCH_INSTALL_LIB_DIR}") -+install(TARGETS torch torch_library EXPORT Caffe2Targets -+ RUNTIME DESTINATION "${TORCH_INSTALL_BIN_DIR}" -+ LIBRARY DESTINATION "${TORCH_INSTALL_LIB_DIR}" -+ ARCHIVE DESTINATION "${TORCH_INSTALL_LIB_DIR}" -+) - - target_link_libraries(torch PUBLIC torch_cpu_library) - -@@ -1688,7 +1696,11 @@ if(BUILD_SHARED_LIBS) - target_link_libraries(torch_global_deps TBB::tbb) - endif() - -- install(TARGETS torch_global_deps DESTINATION "${TORCH_INSTALL_LIB_DIR}") -+ install(TARGETS torch_global_deps -+ RUNTIME DESTINATION "${TORCH_INSTALL_BIN_DIR}" -+ LIBRARY DESTINATION "${TORCH_INSTALL_LIB_DIR}" -+ ARCHIVE DESTINATION "${TORCH_INSTALL_LIB_DIR}" -+ ) - endif() - - # ---[ Caffe2 HIP sources. -diff --git a/caffe2/CMakeLists.txt b/caffe2/CMakeLists.txt -index 7a343f7..3390f9b 100644 ---- a/caffe2/CMakeLists.txt -+++ b/caffe2/CMakeLists.txt -@@ -1673,7 +1673,7 @@ target_link_libraries(torch_cpu PRIVATE flatbuffers) - # namespaces, so libtorch is loaded with all its dependencies in a local scope. - # That usually leads to missing symbol errors at run-time, so to avoid a situation like - # this we have to preload those libs in a global namespace. --if(BUILD_SHARED_LIBS) -+if(BUILD_SHARED_LIBS AND (NOT WIN32)) - add_library(torch_global_deps SHARED ${TORCH_SRC_DIR}/csrc/empty.c) - if(HAVE_SOVERSION) - set_target_properties(torch_global_deps PROPERTIES diff --git a/ports/libtorch/fix-fbgemm-include.patch b/ports/libtorch/fix-fbgemm-include.patch deleted file mode 100644 index 721aa6401dab64..00000000000000 --- a/ports/libtorch/fix-fbgemm-include.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff --git a/aten/src/ATen/native/quantized/cpu/qembeddingbag_prepack.cpp b/aten/src/ATen/native/quantized/cpu/qembeddingbag_prepack.cpp -index 224a66f..eb42317 100644 ---- a/aten/src/ATen/native/quantized/cpu/qembeddingbag_prepack.cpp -+++ b/aten/src/ATen/native/quantized/cpu/qembeddingbag_prepack.cpp -@@ -8,7 +8,10 @@ - #include - - #include -- -+#ifdef USE_FBGEMM -+#include -+#include -+#endif - int register_embedding_params(); - - /* -diff --git a/aten/src/ATen/native/quantized/cpu/qembeddingbag_unpack.cpp b/aten/src/ATen/native/quantized/cpu/qembeddingbag_unpack.cpp -index f94d27b..299b88b 100644 ---- a/aten/src/ATen/native/quantized/cpu/qembeddingbag_unpack.cpp -+++ b/aten/src/ATen/native/quantized/cpu/qembeddingbag_unpack.cpp -@@ -4,7 +4,10 @@ - #include - #include - #include -- -+#ifdef USE_FBGEMM -+#include -+#include -+#endif - int register_embedding_params(); - - at::Tensor PackedEmbeddingBagWeight::unpack() { diff --git a/ports/libtorch/fix-glog.patch b/ports/libtorch/fix-glog.patch new file mode 100644 index 00000000000000..4db040b17c90c9 --- /dev/null +++ b/ports/libtorch/fix-glog.patch @@ -0,0 +1,30 @@ +diff --git a/c10/util/Logging.cpp b/c10/util/Logging.cpp +index ff8e1d6cc..306dac51f 100644 +--- a/c10/util/Logging.cpp ++++ b/c10/util/Logging.cpp +@@ -218,24 +218,11 @@ C10_DEFINE_int( + google::GLOG_WARNING, + "The minimum log level that caffe2 will output."); + +-// Google glog's api does not have an external function that allows one to check +-// if glog is initialized or not. It does have an internal function - so we are +-// declaring it here. This is a hack but has been used by a bunch of others too +-// (e.g. Torch). +-namespace google { +-namespace glog_internal_namespace_ { +-bool IsGoogleLoggingInitialized(); +-} // namespace glog_internal_namespace_ +-} // namespace google +- + namespace c10 { + namespace { + + void initGoogleLogging(char const* name) { +-#if !defined(_MSC_VER) +- // This trick can only be used on UNIX platforms +- if (!::google::glog_internal_namespace_::IsGoogleLoggingInitialized()) +-#endif ++ if (!::google::IsGoogleLoggingInitialized()) + { + ::google::InitGoogleLogging(name); + #if !defined(_MSC_VER) diff --git a/ports/libtorch/fix-msvc-ICE.patch b/ports/libtorch/fix-msvc-ICE.patch new file mode 100644 index 00000000000000..c6f768459e2213 --- /dev/null +++ b/ports/libtorch/fix-msvc-ICE.patch @@ -0,0 +1,15 @@ +diff --git a/aten/src/ATen/cpu/vec/vec_base.h b/aten/src/ATen/cpu/vec/vec_base.h +index f68e9c6eb..c42a9b8bb 100644 +--- a/aten/src/ATen/cpu/vec/vec_base.h ++++ b/aten/src/ATen/cpu/vec/vec_base.h +@@ -150,9 +150,8 @@ public: + // versions GCC/Clang have buggy determinations on whether or not an + // identifier is odr-used or not, and in any case it's hard to tell if + // a variable is odr-used or not. So best to just cut the problem at the root. +- static constexpr size_type size_T = sizeof(T); // Workaround to compile with VS2022. + static constexpr size_type size() { +- return VECTOR_WIDTH / size_T; ++ return VECTOR_WIDTH / sizeof(T); + } + Vectorized() : values{static_cast(0)} {} + Vectorized(T val) { diff --git a/ports/libtorch/fix-sleef.patch b/ports/libtorch/fix-sleef.patch new file mode 100644 index 00000000000000..8b42b745e2cecc --- /dev/null +++ b/ports/libtorch/fix-sleef.patch @@ -0,0 +1,84 @@ +diff --git a/aten/src/ATen/CMakeLists.txt b/aten/src/ATen/CMakeLists.txt +index f3281d3cb..c8b6ed30e 100644 +--- a/aten/src/ATen/CMakeLists.txt ++++ b/aten/src/ATen/CMakeLists.txt +@@ -418,7 +418,7 @@ if(NOT MSVC AND NOT EMSCRIPTEN AND NOT INTERN_BUILD_MOBILE) + list(APPEND ATen_THIRD_PARTY_INCLUDE ${CMAKE_BINARY_DIR}/include) + link_directories(${CMAKE_BINARY_DIR}/sleef/lib) + else() +- add_library(sleef SHARED IMPORTED) ++ add_library(sleef UNKNOWN IMPORTED) + find_library(SLEEF_LIBRARY sleef) + if(NOT SLEEF_LIBRARY) + message(FATAL_ERROR "Cannot find sleef") +@@ -426,7 +426,7 @@ if(NOT MSVC AND NOT EMSCRIPTEN AND NOT INTERN_BUILD_MOBILE) + message("Found sleef: ${SLEEF_LIBRARY}") + set_target_properties(sleef PROPERTIES IMPORTED_LOCATION "${SLEEF_LIBRARY}") + endif() +- list(APPEND ATen_CPU_DEPENDENCY_LIBS sleef) ++ list(APPEND ATen_CPU_DEPENDENCY_LIBS ${SLEEF_LIBRARY}) + + set(CMAKE_C_FLAGS_DEBUG ${OLD_CMAKE_C_FLAGS_DEBUG}) + set(CMAKE_CXX_FLAGS ${OLD_CMAKE_CXX_FLAGS}) +diff --git a/aten/src/ATen/cpu/vec/vec256/vec256_bfloat16.h b/aten/src/ATen/cpu/vec/vec256/vec256_bfloat16.h +index f3281d3cb..c8b6ed30e 100644 +--- a/aten/src/ATen/cpu/vec/vec256/vec256_bfloat16.h ++++ b/aten/src/ATen/cpu/vec/vec256/vec256_bfloat16.h +@@ -21,6 +21,17 @@ inline namespace CPU_CAPABILITY { + + #if defined(CPU_CAPABILITY_AVX2) && !defined(_MSC_VER) + ++#ifndef SLEEF_CONST ++#if (defined(__GNUC__) || defined(__CLANG__)) && !defined(__INTEL_COMPILER) ++#define SLEEF_CONST const ++#else ++#define SLEEF_CONST ++#endif ++#define SLEEF_CONST_OLD SLEEF_CONST ++#else ++#define SLEEF_CONST_OLD ++#endif ++ + // bfloat16 conversion + static inline void cvtbf16_fp32(const __m128i& a, __m256& o) { + o = _mm256_castsi256_ps(_mm256_slli_epi32(_mm256_cvtepu16_epi32(a), 16)); +@@ -266,7 +277,7 @@ public: + } + return b; + } +- Vectorized map(const __m256 (*const vop)(__m256)) const { ++ Vectorized map(SLEEF_CONST __m256 (*SLEEF_CONST_OLD vop)(__m256)) const { + __m256 lo, hi; + cvt_to_fp32(values, lo, hi); + const auto o1 = vop(lo); + diff --git a/aten/src/ATen/cpu/vec/vec256/vec256_bfloat16.h b/aten/src/ATen/cpu/vec/vec256/vec256_bfloat16.h +index f3281d3cb..c8b6ed30e 100644 +--- a/aten/src/ATen/cpu/vec/vec512/vec512_bfloat16.h ++++ b/aten/src/ATen/cpu/vec/vec512/vec512_bfloat16.h +@@ -18,6 +18,17 @@ inline namespace CPU_CAPABILITY { + + #if defined(CPU_CAPABILITY_AVX512) && !defined(_MSC_VER) + ++#ifndef SLEEF_CONST ++#if (defined(__GNUC__) || defined(__CLANG__)) && !defined(__INTEL_COMPILER) ++#define SLEEF_CONST const ++#else ++#define SLEEF_CONST ++#endif ++#define SLEEF_CONST_OLD SLEEF_CONST ++#else ++#define SLEEF_CONST_OLD ++#endif ++ + // bfloat16 conversion + static inline void cvtbf16_fp32(const __m256i& a, __m512& o) { + o = _mm512_castsi512_ps(_mm512_slli_epi32(_mm512_cvtepu16_epi32(a), 16)); +@@ -345,7 +356,7 @@ public: + } + #pragma clang diagnostic push + #pragma clang diagnostic ignored "-Wignored-qualifiers" +- Vectorized map(const __m512 (*const vop)(__m512)) const { ++ Vectorized map(SLEEF_CONST __m512 (*SLEEF_CONST_OLD vop)(__m512)) const { + __m512 lo, hi; + cvt_to_fp32(values, lo, hi); + const auto o1 = vop(lo); diff --git a/ports/libtorch/fix-windows.patch b/ports/libtorch/fix-windows.patch deleted file mode 100644 index ee207d52ef18d0..00000000000000 --- a/ports/libtorch/fix-windows.patch +++ /dev/null @@ -1,100 +0,0 @@ -diff --git a/torch/csrc/jit/tensorexpr/bounds_overlap.h b/torch/csrc/jit/tensorexpr/bounds_overlap.h -index c78884d..baf44bb 100644 ---- a/torch/csrc/jit/tensorexpr/bounds_overlap.h -+++ b/torch/csrc/jit/tensorexpr/bounds_overlap.h -@@ -65,6 +65,10 @@ enum OverlapKind { ContainedOrEqual, Contains, PartialOverlap, NoOverlap }; - // operator - // NOT_DETERMINED: Some elements satify the given comparison operator and - // some elements not -+#if defined(_WIN32) -+#undef TRUE -+#undef FALSE -+#endif - enum CmpEvalResult { TRUE, FALSE, NOT_DETERMINED }; - - // Returns the kind of overlap between Bound A and Bound A in a single -diff --git a/caffe2/CMakeLists.txt b/caffe2/CMakeLists.txt -index 3390f9b..578d0bd 100644 ---- a/caffe2/CMakeLists.txt -+++ b/caffe2/CMakeLists.txt -@@ -1425,7 +1425,7 @@ target_include_directories(torch_cpu SYSTEM PRIVATE "${Caffe2_DEPENDENCY_INCLUDE - torch_set_target_props(torch_cpu) - - --target_compile_options(torch_cpu PRIVATE "-DCAFFE2_BUILD_MAIN_LIB") -+target_compile_definitions(torch_cpu PRIVATE CAFFE2_BUILD_MAIN_LIB) - if(BUILD_SPLIT_CUDA) - target_compile_options(torch_cuda_cu PRIVATE "-DTORCH_CUDA_CU_BUILD_MAIN_LIB") - target_compile_options(torch_cuda_cpp PRIVATE "-DTORCH_CUDA_CPP_BUILD_MAIN_LIB") -@@ -1525,12 +1525,12 @@ if(MSVC AND NOT BUILD_SHARED_LIBS) - # - # NB: This must be target_compile_definitions, not target_compile_options, - # as the latter is not respected by nvcc -- target_compile_definitions(torch_cpu PUBLIC "AT_CORE_STATIC_WINDOWS=1") -+ target_compile_definitions(torch_cpu PUBLIC AT_CORE_STATIC_WINDOWS=1) - endif() - if(MSVC AND BUILD_SHARED_LIBS) - # ONNX is linked statically and needs to be exported from this library - # to be used externally. Make sure that references match the export. -- target_compile_options(torch_cpu PRIVATE "-DONNX_BUILD_MAIN_LIB") -+ target_compile_definitions(torch_cpu PRIVATE ONNX_BUILD_MAIN_LIB) - endif() - - caffe2_interface_library(torch_cpu torch_cpu_library) -diff --git a/aten/src/ATen/Parallel.h b/aten/src/ATen/Parallel.h -index 0b494d9..06b5d88 100644 ---- a/aten/src/ATen/Parallel.h -+++ b/aten/src/ATen/Parallel.h -@@ -28,13 +28,7 @@ TORCH_API bool in_parallel_region(); - namespace internal { - - // Initialise num_threads lazily at first parallel call --inline TORCH_API void lazy_init_num_threads() { -- thread_local bool init = false; -- if (C10_UNLIKELY(!init)) { -- at::init_num_threads(); -- init = true; -- } --} -+TORCH_API void lazy_init_num_threads(); - - TORCH_API void set_thread_num(int); - -diff --git a/aten/src/ATen/ParallelCommon.cpp b/aten/src/ATen/ParallelCommon.cpp -index 068c9d3..b869fde 100644 ---- a/aten/src/ATen/ParallelCommon.cpp -+++ b/aten/src/ATen/ParallelCommon.cpp -@@ -17,6 +17,17 @@ - - namespace at { - -+namespace internal { -+/// @see https://github.com/pytorch/pytorch/issues/87957 -+void lazy_init_num_threads() { -+ thread_local bool init = false; -+ if (C10_UNLIKELY(!init)) { -+ at::init_num_threads(); -+ init = true; -+ } -+} -+} // namespace internal -+ - namespace { - - const char* get_env_var( -diff --git a/c10/CMakeLists.txt b/c10/CMakeLists.txt -index 3b390ec..7cfa2b0 100644 ---- a/c10/CMakeLists.txt -+++ b/c10/CMakeLists.txt -@@ -45,7 +45,10 @@ if(HAVE_SOVERSION) - VERSION ${TORCH_VERSION} SOVERSION ${TORCH_SOVERSION}) - endif() - # If building shared library, set dllimport/dllexport proper. --target_compile_options(c10 PRIVATE "-DC10_BUILD_MAIN_LIB") -+target_compile_definitions(c10 PRIVATE C10_BUILD_MAIN_LIB) -+if(WIN32) -+ target_compile_definitions(c10 PRIVATE NOMINMAX) -+endif() - # Enable hidden visibility if compiler supports it. - if(${COMPILER_SUPPORTS_HIDDEN_VISIBILITY}) - target_compile_options(c10 PRIVATE "-fvisibility=hidden") diff --git a/ports/libtorch/fix_werror.patch b/ports/libtorch/fix_werror.patch deleted file mode 100644 index c952eca00f416a..00000000000000 --- a/ports/libtorch/fix_werror.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 8e46275..b505ec5 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -788,7 +788,6 @@ if(NOT MSVC) - # Details at http://eigen.tuxfamily.org/bz/show_bug.cgi?id=1459 - string(APPEND CMAKE_CXX_FLAGS " -Wall") - string(APPEND CMAKE_CXX_FLAGS " -Wextra") -- string(APPEND CMAKE_CXX_FLAGS " -Werror=return-type") - string(APPEND CMAKE_CXX_FLAGS " -Wno-missing-field-initializers") - string(APPEND CMAKE_CXX_FLAGS " -Wno-type-limits") - string(APPEND CMAKE_CXX_FLAGS " -Wno-array-bounds") diff --git a/ports/libtorch/force-cuda-include.patch b/ports/libtorch/force-cuda-include.patch new file mode 100644 index 00000000000000..8e5366426f4a1d --- /dev/null +++ b/ports/libtorch/force-cuda-include.patch @@ -0,0 +1,12 @@ +diff --git a/cmake/public/cuda.cmake b/cmake/public/cuda.cmake +index 5964429..d528597 100644 +--- a/cmake/public/cuda.cmake ++++ b/cmake/public/cuda.cmake +@@ -57,6 +57,7 @@ find_package(CUDAToolkit REQUIRED) + + cmake_policy(POP) + ++set(CUDAToolkit_INCLUDE_DIR "${CUDA_INCLUDE_DIRS}") + if(NOT CMAKE_CUDA_COMPILER_VERSION STREQUAL CUDAToolkit_VERSION OR + NOT CUDA_INCLUDE_DIRS STREQUAL CUDAToolkit_INCLUDE_DIR) + message(FATAL_ERROR "Found two conflicting CUDA installs:\n" diff --git a/ports/libtorch/fxdiv.patch b/ports/libtorch/fxdiv.patch new file mode 100644 index 00000000000000..3ad570188769b7 --- /dev/null +++ b/ports/libtorch/fxdiv.patch @@ -0,0 +1,45 @@ +diff --git a/aten/src/ATen/native/quantized/cpu/qnnpack/CMakeLists.txt b/aten/src/ATen/native/quantized/cpu/qnnpack/CMakeLists.txt +index d185233..11f285b 100644 +--- a/aten/src/ATen/native/quantized/cpu/qnnpack/CMakeLists.txt ++++ b/aten/src/ATen/native/quantized/cpu/qnnpack/CMakeLists.txt +@@ -389,12 +389,12 @@ if(NOT TARGET fxdiv AND NOT USE_SYSTEM_FXDIV) + "${FXDIV_SOURCE_DIR}" + "${CONFU_DEPENDENCIES_BINARY_DIR}/fxdiv") + elseif(NOT TARGET fxdiv AND USE_SYSTEM_FXDIV) +- find_file(FXDIV_HDR fxdiv.h PATH_SUFFIXES include) ++ find_path(FXDIV_HDR fxdiv.h PATH_SUFFIXES include) + if(NOT FXDIV_HDR) + message(FATAL_ERROR "Cannot find fxdiv") + endif() +- add_library(fxdiv STATIC "${FXDIV_HDR}") +- set_property(TARGET fxdiv PROPERTY LINKER_LANGUAGE C) ++ add_library(fxdiv INTERFACE IMPORTED) ++ target_include_directories(fxdiv INTERFACE "${FXDIV_HDR}") + endif() + target_link_libraries(pytorch_qnnpack PRIVATE fxdiv) + +diff --git a/caffe2/CMakeLists.txt b/caffe2/CMakeLists.txt +index f7a595e..47faec5 100644 +--- a/caffe2/CMakeLists.txt ++++ b/caffe2/CMakeLists.txt +@@ -108,12 +108,19 @@ endif() + # addressed yet. + + if(NOT MSVC AND USE_XNNPACK) +- if(NOT TARGET fxdiv) ++ if(NOT TARGET fxdiv AND NOT USE_SYSTEM_FXDIV) + set(FXDIV_BUILD_TESTS OFF CACHE BOOL "") + set(FXDIV_BUILD_BENCHMARKS OFF CACHE BOOL "") + add_subdirectory( + "${FXDIV_SOURCE_DIR}" + "${CMAKE_BINARY_DIR}/FXdiv") ++ elseif(NOT TARGET fxdiv AND USE_SYSTEM_FXDIV) ++ find_path(FXDIV_HDR fxdiv.h PATH_SUFFIXES include) ++ if(NOT FXDIV_HDR) ++ message(FATAL_ERROR "Cannot find fxdiv") ++ endif() ++ add_library(fxdiv INTERFACE IMPORTED) ++ target_include_directories(fxdiv INTERFACE "${FXDIV_HDR}") + endif() + endif() + diff --git a/ports/libtorch/kineto.patch b/ports/libtorch/kineto.patch new file mode 100644 index 00000000000000..80810625b158b3 --- /dev/null +++ b/ports/libtorch/kineto.patch @@ -0,0 +1,34 @@ +diff --git a/libkineto/CMakeLists.txt b/libkineto/CMakeLists.txt +index 7d36ffb9d4..8f97998114 100644 +--- a/libkineto/CMakeLists.txt ++++ b/libkineto/CMakeLists.txt +@@ -111,27 +111,8 @@ endif() + target_compile_options(kineto_base PRIVATE "${KINETO_COMPILE_OPTIONS}") + target_compile_options(kineto_api PRIVATE "${KINETO_COMPILE_OPTIONS}") + +-if(NOT TARGET fmt) +- if(NOT FMT_SOURCE_DIR) +- set(FMT_SOURCE_DIR "${LIBKINETO_THIRDPARTY_DIR}/fmt" +- CACHE STRING "fmt source directory from submodules") +- endif() +- +- # Build FMT. +- # FMT and some other libraries use BUILD_SHARED_LIBS to control +- # the library type. +- # Save and restore the value after configuring FMT +- set(TEMP_BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS}) +- set(BUILD_SHARED_LIBS OFF CACHE BOOL "Build shared libs" FORCE) +- set(FMT_LIBRARY_TYPE static CACHE STRING "Set lib type to static") +- add_subdirectory("${FMT_SOURCE_DIR}" "${LIBKINETO_BINARY_DIR}/fmt") +- set_property(TARGET fmt PROPERTY POSITION_INDEPENDENT_CODE ON) +- set(BUILD_SHARED_LIBS ${TEMP_BUILD_SHARED_LIBS} CACHE BOOL "Build shared libs" FORCE) +-endif() +- +-set(FMT_INCLUDE_DIR "${FMT_SOURCE_DIR}/include") +-message(STATUS "Kineto: FMT_SOURCE_DIR = ${FMT_SOURCE_DIR}") +-message(STATUS "Kineto: FMT_INCLUDE_DIR = ${FMT_INCLUDE_DIR}") ++find_package(fmt REQUIRED) ++ + if (NOT CUPTI_INCLUDE_DIR) + set(CUPTI_INCLUDE_DIR "${CUDA_SOURCE_DIR}/extras/CUPTI/include") + endif() diff --git a/ports/libtorch/more-fixes.patch b/ports/libtorch/more-fixes.patch new file mode 100644 index 00000000000000..84400781f71e14 --- /dev/null +++ b/ports/libtorch/more-fixes.patch @@ -0,0 +1,320 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7b8bc7c..fa6da32 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -383,7 +383,7 @@ if(WIN32) + NAMES uv libuv + HINTS $ENV{CONDA_PREFIX}\\Library $ENV{PREFIX}\\Library + PATH_SUFFIXES lib +- NO_DEFAULT_PATH) ++ ) + if(NOT libuv_tmp_LIBRARY) + set(USE_DISTRIBUTED OFF) + set(USE_GLOO OFF) +@@ -1151,10 +1151,6 @@ if(BUILD_SHARED_LIBS) + ${PROJECT_SOURCE_DIR}/cmake/Modules_CUDA_fix + DESTINATION share/cmake/Caffe2/ + COMPONENT dev) +- install(FILES +- ${PROJECT_SOURCE_DIR}/cmake/Modules/FindCUDAToolkit.cmake +- DESTINATION share/cmake/Caffe2/ +- COMPONENT dev) + install(FILES + ${PROJECT_SOURCE_DIR}/cmake/Modules/FindCUSPARSELT.cmake + DESTINATION share/cmake/Caffe2/ +diff --git a/aten/src/ATen/native/vulkan/api/Allocator.h b/aten/src/ATen/native/vulkan/api/Allocator.h +index d0c8bdf..50df97a 100644 +--- a/aten/src/ATen/native/vulkan/api/Allocator.h ++++ b/aten/src/ATen/native/vulkan/api/Allocator.h +@@ -47,7 +47,7 @@ + #pragma clang diagnostic ignored "-Wunused-variable" + #endif /* __clang__ */ + +-#include ++#include + + #ifdef __clang__ + #pragma clang diagnostic pop +diff --git a/aten/src/ATen/native/vulkan/ops/Clamp.cpp b/aten/src/ATen/native/vulkan/ops/Clamp.cpp +index dc22b98..f91fbf6 100644 +--- a/aten/src/ATen/native/vulkan/ops/Clamp.cpp ++++ b/aten/src/ATen/native/vulkan/ops/Clamp.cpp +@@ -1,3 +1,6 @@ ++#define _USE_MATH_DEFINES ++#include ++ + #include + #include + +diff --git a/c10/CMakeLists.txt b/c10/CMakeLists.txt +index ad407e1..bbca41b 100644 +--- a/c10/CMakeLists.txt ++++ b/c10/CMakeLists.txt +@@ -139,7 +139,11 @@ endif() + # Note: for now, we will put all export path into one single Caffe2Targets group + # to deal with the cmake deployment need. Inside the Caffe2Targets set, the + # individual libraries like libc10.so and libcaffe2.so are still self-contained. +-install(TARGETS c10 EXPORT Caffe2Targets DESTINATION lib) ++install(TARGETS c10 EXPORT Caffe2Targets ++ RUNTIME DESTINATION bin ++ ARCHIVE DESTINATION lib ++ ARCHIVE DESTINATION lib ++ ) + install(DIRECTORY ${CMAKE_CURRENT_LIST_DIR} + DESTINATION include + FILES_MATCHING PATTERN "*.h") +diff --git a/caffe2/CMakeLists.txt b/caffe2/CMakeLists.txt +index 74d0d55..cf349c2 100644 +--- a/caffe2/CMakeLists.txt ++++ b/caffe2/CMakeLists.txt +@@ -632,7 +632,11 @@ if(USE_CUDA) + + target_link_libraries(caffe2_nvrtc ${CUDA_NVRTC} ${CUDA_CUDA_LIB} ${CUDA_NVRTC_LIB} ${DELAY_LOAD_FLAGS}) + target_include_directories(caffe2_nvrtc PRIVATE ${CUDA_INCLUDE_DIRS}) +- install(TARGETS caffe2_nvrtc DESTINATION "${TORCH_INSTALL_LIB_DIR}") ++ install(TARGETS caffe2_nvrtc ++ RUNTIME DESTINATION "${TORCH_INSTALL_BIN_DIR}" ++ LIBRARY DESTINATION "${TORCH_INSTALL_LIB_DIR}" ++ ARCHIVE DESTINATION "${TORCH_INSTALL_LIB_DIR}" ++ ) + if(USE_NCCL) + list(APPEND Caffe2_GPU_SRCS + ${TORCH_SRC_DIR}/csrc/cuda/nccl.cpp) +@@ -694,7 +698,11 @@ if(USE_ROCM) + add_library(caffe2_nvrtc SHARED ${ATen_NVRTC_STUB_SRCS}) + target_link_libraries(caffe2_nvrtc ${PYTORCH_HIP_HCC_LIBRARIES} ${ROCM_HIPRTC_LIB}) + target_compile_definitions(caffe2_nvrtc PRIVATE USE_ROCM __HIP_PLATFORM_HCC__) +- install(TARGETS caffe2_nvrtc DESTINATION "${TORCH_INSTALL_LIB_DIR}") ++ install(TARGETS caffe2_nvrtc ++ RUNTIME DESTINATION "${TORCH_INSTALL_BIN_DIR}" ++ LIBRARY DESTINATION "${TORCH_INSTALL_LIB_DIR}" ++ ARCHIVE DESTINATION "${TORCH_INSTALL_LIB_DIR}" ++ ) + endif() + + if(NOT NO_API AND NOT BUILD_LITE_INTERPRETER) +@@ -1013,7 +1021,11 @@ elseif(USE_CUDA) + CUDA::culibos ${CMAKE_DL_LIBS}) + endif() + set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/../aten/src/ATen/native/cuda/LinearAlgebraStubs.cpp PROPERTIES COMPILE_FLAGS "-DBUILD_LAZY_CUDA_LINALG") +- install(TARGETS torch_cuda_linalg DESTINATION "${TORCH_INSTALL_LIB_DIR}") ++ install(TARGETS torch_cuda_linalg ++ RUNTIME DESTINATION "${TORCH_INSTALL_BIN_DIR}" ++ LIBRARY DESTINATION "${TORCH_INSTALL_LIB_DIR}" ++ ARCHIVE DESTINATION "${TORCH_INSTALL_LIB_DIR}" ++ ) + endif() + + if(USE_PRECOMPILED_HEADERS) +@@ -1475,14 +1487,26 @@ endif() + + caffe2_interface_library(torch torch_library) + +-install(TARGETS torch_cpu torch_cpu_library EXPORT Caffe2Targets DESTINATION "${TORCH_INSTALL_LIB_DIR}") ++install(TARGETS torch_cpu torch_cpu_library EXPORT Caffe2Targets ++ RUNTIME DESTINATION "${TORCH_INSTALL_BIN_DIR}" ++ LIBRARY DESTINATION "${TORCH_INSTALL_LIB_DIR}" ++ ARCHIVE DESTINATION "${TORCH_INSTALL_LIB_DIR}") + + if(USE_CUDA) +- install(TARGETS torch_cuda torch_cuda_library EXPORT Caffe2Targets DESTINATION "${TORCH_INSTALL_LIB_DIR}") ++ install(TARGETS torch_cuda torch_cuda_library EXPORT Caffe2Targets ++ RUNTIME DESTINATION "${TORCH_INSTALL_BIN_DIR}" ++ LIBRARY DESTINATION "${TORCH_INSTALL_LIB_DIR}" ++ ARCHIVE DESTINATION "${TORCH_INSTALL_LIB_DIR}") + elseif(USE_ROCM) +- install(TARGETS torch_hip torch_hip_library EXPORT Caffe2Targets DESTINATION "${TORCH_INSTALL_LIB_DIR}") ++ install(TARGETS torch_hip torch_hip_library EXPORT Caffe2Targets ++ RUNTIME DESTINATION "${TORCH_INSTALL_BIN_DIR}" ++ LIBRARY DESTINATION "${TORCH_INSTALL_LIB_DIR}" ++ ARCHIVE DESTINATION "${TORCH_INSTALL_LIB_DIR}") + endif() +-install(TARGETS torch torch_library EXPORT Caffe2Targets DESTINATION "${TORCH_INSTALL_LIB_DIR}") ++install(TARGETS torch torch_library EXPORT Caffe2Targets ++ RUNTIME DESTINATION "${TORCH_INSTALL_BIN_DIR}" ++ LIBRARY DESTINATION "${TORCH_INSTALL_LIB_DIR}" ++ ARCHIVE DESTINATION "${TORCH_INSTALL_LIB_DIR}") + + target_link_libraries(torch PUBLIC torch_cpu_library) + +@@ -1499,11 +1523,11 @@ endif() + + # Install PDB files for MSVC builds + if(MSVC AND BUILD_SHARED_LIBS) +- install(FILES $ DESTINATION "${TORCH_INSTALL_LIB_DIR}" OPTIONAL) ++ install(FILES $ DESTINATION "${TORCH_INSTALL_BIN_DIR}" OPTIONAL) + if(USE_CUDA) +- install(FILES $ DESTINATION "${TORCH_INSTALL_LIB_DIR}" OPTIONAL) ++ install(FILES $ DESTINATION "${TORCH_INSTALL_BIN_DIR}" OPTIONAL) + elseif(USE_ROCM) +- install(FILES $ DESTINATION "${TORCH_INSTALL_LIB_DIR}" OPTIONAL) ++ install(FILES $ DESTINATION "${TORCH_INSTALL_BIN_DIR}" OPTIONAL) + endif() + endif() + +@@ -1577,7 +1601,10 @@ if(BUILD_SHARED_LIBS) + target_link_libraries(torch_global_deps TBB::tbb) + endif() + +- install(TARGETS torch_global_deps DESTINATION "${TORCH_INSTALL_LIB_DIR}") ++ install(TARGETS torch_global_deps ++ RUNTIME DESTINATION "${TORCH_INSTALL_BIN_DIR}" ++ LIBRARY DESTINATION "${TORCH_INSTALL_LIB_DIR}" ++ ARCHIVE DESTINATION "${TORCH_INSTALL_LIB_DIR}") + endif() + + # ---[ Caffe2 HIP sources. +diff --git a/cmake/Modules/FindCUSPARSELT.cmake b/cmake/Modules/FindCUSPARSELT.cmake +index 8727f44..1e41281 100644 +--- a/cmake/Modules/FindCUSPARSELT.cmake ++++ b/cmake/Modules/FindCUSPARSELT.cmake +@@ -24,13 +24,13 @@ list(APPEND CMAKE_PREFIX_PATH ${CUSPARSELT_ROOT}) + set(CUSPARSELT_INCLUDE_DIR $ENV{CUSPARSELT_INCLUDE_DIR} CACHE PATH "Folder containing NVIDIA cuSPARSELt header files") + + find_path(CUSPARSELT_INCLUDE_PATH cusparseLt.h +- HINTS ${CUSPARSELT_INCLUDE_DIR} ++ HINTS ${CUSPARSELT_INCLUDE_DIR} ENV CUDA_PATH + PATH_SUFFIXES cuda/include cuda include) + + set(CUSPARSELT_LIBRARY $ENV{CUSPARSELT_LIBRARY} CACHE PATH "Path to the cusparselt library file (e.g., libcusparseLt.so)") + +-find_library(CUSPARSELT_LIBRARY_PATH libcusparseLt.so +- PATHS ${CUSPARSELT_LIBRARY} ++find_library(CUSPARSELT_LIBRARY_PATH cusparseLt ++ PATHS ${CUSPARSELT_LIBRARY} ENV CUDA_PATH + PATH_SUFFIXES lib lib64 cuda/lib cuda/lib64 lib/x64) + + find_package_handle_standard_args(CUSPARSELT DEFAULT_MSG CUSPARSELT_LIBRARY_PATH CUSPARSELT_INCLUDE_PATH) +diff --git a/cmake/Modules/FindMAGMA.cmake b/cmake/Modules/FindMAGMA.cmake +index d2bff53..3af9012 100644 +--- a/cmake/Modules/FindMAGMA.cmake ++++ b/cmake/Modules/FindMAGMA.cmake +@@ -30,18 +30,13 @@ FIND_PATH(MAGMA_INCLUDE_DIR magma.h + HINTS $ENV{MAGMA_HOME} /usr/local/magma + PATH_SUFFIXES include) + +-IF (MAGMA_LIBRARIES) +- SET(MAGMA_FOUND TRUE) +-ELSE (MAGMA_LIBRARIES) +- SET(MAGMA_FOUND FALSE) +-ENDIF (MAGMA_LIBRARIES) +- +-add_library(torch::magma INTERFACE IMPORTED) +-set_property(TARGET torch::magma +- PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${MAGMA_INCLUDE_DIR}") +-set_property(TARGET torch::magma +- PROPERTY INTERFACE_LINK_LIBRARIES "${MAGMA_LIBRARIES}") +- ++if(NOT TARGET torch::magma) ++ add_library(torch::magma INTERFACE IMPORTED) ++ set_property(TARGET torch::magma ++ PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${MAGMA_INCLUDE_DIR}") ++ set_property(TARGET torch::magma ++ PROPERTY INTERFACE_LINK_LIBRARIES "${MAGMA_LIBRARIES}") ++endif() + # Check for Magma V2 + include(CheckPrototypeDefinition) + check_prototype_definition(magma_get_sgeqrf_nb +@@ -53,3 +48,5 @@ if(MAGMA_V2) + set_property(TARGET torch::magma + PROPERTY INTERFACE_COMPILE_DEFINITIONS "MAGMA_V2") + endif(MAGMA_V2) ++ ++find_package_handle_standard_args(MAGMA REQUIRED_VARS MAGMA_INCLUDE_DIR MAGMA_LIBRARIES) +\ No newline at end of file +diff --git a/test/cpp/jit/CMakeLists.txt b/test/cpp/jit/CMakeLists.txt +index 2376f1b..a8ae436 100644 +--- a/test/cpp/jit/CMakeLists.txt ++++ b/test/cpp/jit/CMakeLists.txt +@@ -124,7 +124,7 @@ endif() + set(JIT_TEST_DEPENDENCIES torch gtest jitbackend_test backend_with_compiler) + + if(MSVC) +- list(APPEND JIT_TEST_DEPENDENCIES onnx_library) ++ list(APPEND JIT_TEST_DEPENDENCIES onnx) + endif(MSVC) + + target_link_libraries(test_jit PRIVATE ${JIT_TEST_DEPENDENCIES}) +diff --git a/third_party/nvfuser/CMakeLists.txt b/third_party/nvfuser/CMakeLists.txt +index b148418..7b96083 100644 +--- a/third_party/nvfuser/CMakeLists.txt ++++ b/third_party/nvfuser/CMakeLists.txt +@@ -158,7 +158,10 @@ endif() + target_include_directories(${NVFUSER_CODEGEN} + PUBLIC $) + set_property(TARGET ${NVFUSER_CODEGEN} PROPERTY CXX_STANDARD 17) +-install(TARGETS ${NVFUSER_CODEGEN} EXPORT NvfuserTargets DESTINATION "${TORCH_INSTALL_LIB_DIR}") ++install(TARGETS ${NVFUSER_CODEGEN} EXPORT NvfuserTargets ++ RUNTIME DESTINATION "${TORCH_INSTALL_BIN_DIR}" ++ LIBRARY DESTINATION "${TORCH_INSTALL_LIB_DIR}" ++ ARCHIVE DESTINATION "${TORCH_INSTALL_LIB_DIR}") + # installing nvfuser python tests + install(DIRECTORY "${NVFUSER_ROOT}/python_tests/" + DESTINATION "${TORCH_ROOT}/test/_nvfuser" +diff --git a/torch/CMakeLists.txt b/torch/CMakeLists.txt +index 62ee4c1..f75073c 100644 +--- a/torch/CMakeLists.txt ++++ b/torch/CMakeLists.txt +@@ -107,7 +107,7 @@ set(TORCH_PYTHON_LINK_FLAGS "") + + if(MSVC) + string(APPEND TORCH_PYTHON_LINK_FLAGS " /NODEFAULTLIB:LIBCMT.LIB") +- list(APPEND TORCH_PYTHON_LINK_LIBRARIES ${PYTHON_LIBRARIES} onnx_library) ++ list(APPEND TORCH_PYTHON_LINK_LIBRARIES ${PYTHON_LIBRARIES} onnx) + if(NOT CMAKE_BUILD_TYPE MATCHES "Release") + string(APPEND TORCH_PYTHON_LINK_FLAGS " /DEBUG:FULL") + endif() +@@ -374,7 +374,10 @@ if(NOT TORCH_PYTHON_LINK_FLAGS STREQUAL "") + set_target_properties(torch_python PROPERTIES LINK_FLAGS ${TORCH_PYTHON_LINK_FLAGS}) + endif() + +-install(TARGETS torch_python DESTINATION "${TORCH_INSTALL_LIB_DIR}") ++install(TARGETS torch_python ++ RUNTIME DESTINATION "${TORCH_INSTALL_BIN_DIR}" ++ LIBRARY DESTINATION "${TORCH_INSTALL_LIB_DIR}" ++ ARCHIVE DESTINATION "${TORCH_INSTALL_LIB_DIR}") + + # Generate torch/version.py from the appropriate CMake cache variables. + if(${CMAKE_BUILD_TYPE} STREQUAL "Debug") +diff --git a/torch/csrc/cuda/shared/nvtx.cpp b/torch/csrc/cuda/shared/nvtx.cpp +index 4fb72c5..1abe1b7 100644 +--- a/torch/csrc/cuda/shared/nvtx.cpp ++++ b/torch/csrc/cuda/shared/nvtx.cpp +@@ -1,7 +1,7 @@ + #ifdef _WIN32 + #include // _wgetenv for nvtx + #endif +-#include ++#include + #include + + namespace torch::cuda::shared { +diff --git a/torch/csrc/jit/tensorexpr/llvm_codegen.h b/torch/csrc/jit/tensorexpr/llvm_codegen.h +index 7ab506f..2ee3b68 100644 +--- a/torch/csrc/jit/tensorexpr/llvm_codegen.h ++++ b/torch/csrc/jit/tensorexpr/llvm_codegen.h +@@ -41,9 +41,9 @@ class TORCH_API LLVMCodeGen : public CodeGen { + // users can continue to call this kernel using `call` and `call_raw`. + void cleanup_memory(); + +- TORCH_API void call(const std::vector& args) override; +- TORCH_API void call_raw(const std::vector& args) override; +- TORCH_API void call_with_numel(void** args, int64_t numel) override; ++ void call(const std::vector& args) override; ++ void call_raw(const std::vector& args) override; ++ void call_with_numel(void** args, int64_t numel) override; + + at::Tensor empty_strided( + c10::IntArrayRef size, +diff --git a/torch/csrc/profiler/stubs/cuda.cpp b/torch/csrc/profiler/stubs/cuda.cpp +index dec8757..3bb368a 100644 +--- a/torch/csrc/profiler/stubs/cuda.cpp ++++ b/torch/csrc/profiler/stubs/cuda.cpp +@@ -1,6 +1,6 @@ + #include + +-#include ++#include + + #include + #include diff --git a/ports/libtorch/no-abs-path.patch b/ports/libtorch/no-abs-path.patch new file mode 100644 index 00000000000000..7468556e8abe69 --- /dev/null +++ b/ports/libtorch/no-abs-path.patch @@ -0,0 +1,25 @@ +diff --git a/caffe2/core/macros.h.in b/caffe2/core/macros.h.in +index 997752ede3..7209b9a63e 100644 +--- a/caffe2/core/macros.h.in ++++ b/caffe2/core/macros.h.in +@@ -35,7 +35,7 @@ + // Useful build settings that are recorded in the compiled binary + #define CAFFE2_BUILD_STRINGS { \ + {"TORCH_VERSION", "${TORCH_VERSION}"}, \ +- {"CXX_COMPILER", "${CMAKE_CXX_COMPILER}"}, \ ++ {"CXX_COMPILER", "${cxx_compiler}"}, \ + {"CXX_FLAGS", "${CMAKE_CXX_FLAGS}"}, \ + {"BUILD_TYPE", "${CMAKE_BUILD_TYPE}"}, \ + {"BLAS_INFO", "${BLAS_INFO}"}, \ +diff --git a/cmake/Codegen.cmake b/cmake/Codegen.cmake +index 6fa2ab6ea1..07c449c02b 100644 +--- a/cmake/Codegen.cmake ++++ b/cmake/Codegen.cmake +@@ -36,6 +36,7 @@ endfunction() + ################################################################################ + + # ---[ Write the macros file ++cmake_path(GET CMAKE_CXX_COMPILER FILENAME cxx_compiler) + configure_file( + ${CMAKE_CURRENT_LIST_DIR}/../caffe2/core/macros.h.in + ${CMAKE_BINARY_DIR}/caffe2/core/macros.h) diff --git a/ports/libtorch/portfile.cmake b/ports/libtorch/portfile.cmake index 16804028394b77..24d5130f233d33 100644 --- a/ports/libtorch/portfile.cmake +++ b/ports/libtorch/portfile.cmake @@ -1,30 +1,83 @@ +vcpkg_download_distfile( + CUDNN_9_FIX + URLS https://github.com/pytorch/pytorch/commit/e14026bc2a6cd80bedffead77a5d7b75a37f8e67.patch?full_index=1 + SHA512 9569547b44b61f9559f0e7ab91f2be51657ece4f5462b6860cb5eae8d23d01187d6af046b369a77a228fe4d7153f5c683b686e84c1296a662f83e5f1f281bc7e + FILENAME libtorch-cudnn-9-fix-e14026bc2a6cd80bedffead77a5d7b75a37f8e67.patch +) + +vcpkg_download_distfile( + CUDA_THRUST_MISSING_HEADER_FIX + URLS https://github.com/pytorch/pytorch/commit/2a440348958b3f0a2b09458bd76fe5959b371c0c.patch?full_index=1 + SHA512 eff10d81b1c635108ad1b95a430865a76ab3f2079be74e61e06876942ac1fd43a274fc1c73e43c2c01b9ce5aca648213ef75c13c28b8ffa40497e4e26d5e3b16 + FILENAME libtorch-cuda-thrust-missing-header-2a440348958b3f0a2b09458bd76fe5959b371c0c.patch +) + vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO pytorch/pytorch REF "v${VERSION}" - SHA512 afeb551904ebd9b5901ae623a98eadbb3045115247cedf8006a940742cfad04e5ce24cfaf363336a9ed88d7ce6a4ac53dbb6a5c690aef6efdf20477c3a22c7ca + SHA512 a8961d78ad785b13c959a0612563a60e0de17a7c8bb9822ddea9a24072796354d07e81c47b6cc8761b21a6448845b088cf80e1661d9e889b0ed5474d3dc76756 HEAD_REF master PATCHES - pytorch-pr-85958.patch # https://github.com/pytorch/pytorch/pull/85958 - fix-cmake.patch - fix-fbgemm-include.patch - fix-c10-glog.patch - use-flatbuffers2.patch # check with codegen-flatc-mobile_bytecode - fix-windows.patch # https://github.com/pytorch/pytorch/issues/87957 - fix_werror.patch + "${CUDNN_9_FIX}" + "${CUDA_THRUST_MISSING_HEADER_FIX}" + cmake-fixes.patch + more-fixes.patch + fix-build.patch + clang-cl.patch + cuda-adjustments.patch + fix-api-export.patch + fxdiv.patch + protoc.patch + fix-sleef.patch + fix-glog.patch + fix-msvc-ICE.patch + fix-calculate-minloglevel.patch + force-cuda-include.patch + fix-aten-cutlass.patch + fix-build-error-with-fmt11.patch + no-abs-path.patch + add-include-chrono.patch ) + file(REMOVE_RECURSE "${SOURCE_PATH}/caffe2/core/macros.h") # We must use generated header files -# Editing ${SOURCE_PATH}/cmake/Dependencies.cmake makes HORRIBLE readability... -file(COPY "${CMAKE_CURRENT_LIST_DIR}/vcpkg-dependencies.cmake" DESTINATION "${SOURCE_PATH}/cmake") +vcpkg_from_github( + OUT_SOURCE_PATH src_kineto + REPO pytorch/kineto + REF 49e854d805d916b2031e337763928d2f8d2e1fbf + SHA512 ae63d48dc5b8ac30c38c2ace60f16834c7e9275fa342dc9f109d4fbc87b7bd674664f6413c36d0c1ab5a7da786030a4108d83daa4502b2f30239283ea3acdb16 + HEAD_REF main + PATCHES + kineto.patch +) +file(COPY "${src_kineto}/" DESTINATION "${SOURCE_PATH}/third_party/kineto") + +vcpkg_from_github( + OUT_SOURCE_PATH src_cudnn + REPO NVIDIA/cudnn-frontend # new port ? + REF 12f35fa2be5994c1106367cac2fba21457b064f4 + SHA512 a7e4bf58f82ca0b767df35da1b3588e2639ea2ef22ed0c47e989fb4cde5a28b0605b228b42fcaefbdf721bfbb91f2a9e7d41352ff522bd80b63db6d27e44ec20 + HEAD_REF main +) +file(COPY "${src_cudnn}/" DESTINATION "${SOURCE_PATH}/third_party/cudnn_frontend") + + +file(REMOVE + "${SOURCE_PATH}/cmake/Modules/FindBLAS.cmake" + "${SOURCE_PATH}/cmake/Modules/FindLAPACK.cmake" + "${SOURCE_PATH}/cmake/Modules/FindCUDA.cmake" + "${SOURCE_PATH}/cmake/Modules/FindCUDAToolkit.cmake" + "${SOURCE_PATH}/cmake/Modules/Findpybind11.cmake" +) find_program(FLATC NAMES flatc PATHS "${CURRENT_HOST_INSTALLED_DIR}/tools/flatbuffers" REQUIRED NO_DEFAULT_PATH NO_CMAKE_PATH) message(STATUS "Using flatc: ${FLATC}") vcpkg_execute_required_process( - COMMAND ${FLATC} --cpp --gen-object-api --gen-mutable mobile_bytecode.fbs + COMMAND ${FLATC} --cpp --no-prefix --scoped-enums --gen-mutable mobile_bytecode.fbs LOGNAME codegen-flatc-mobile_bytecode WORKING_DIRECTORY "${SOURCE_PATH}/torch/csrc/jit/serialization" ) @@ -37,20 +90,20 @@ x_vcpkg_get_python_packages( PACKAGES typing-extensions pyyaml numpy OUT_PYTHON_VAR PYTHON3 ) +#set(PYTHON3 "${CURRENT_HOST_INSTALLED_DIR}/tools/python3/python${VCPKG_HOST_EXECUTABLE_SUFFIX}") message(STATUS "Using Python3: ${PYTHON3}") vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES dist USE_DISTRIBUTED # MPI, Gloo, TensorPipe zstd USE_ZSTD - fftw3 USE_FFTW - fftw3 AT_FFTW_ENABLED fbgemm USE_FBGEMM opencv USE_OPENCV - tbb USE_TBB - tbb AT_PARALLEL_NATIVE_TBB - openmp USE_OPENMP - openmp AT_PARALLEL_OPENMP + # These are alternatives ! + # tbb USE_TBB + # tbb AT_PARALLEL_NATIVE_TBB # AT_PARALLEL_ are alternatives + # openmp USE_OPENMP + # openmp AT_PARALLEL_OPENMP # AT_PARALLEL_ are alternatives leveldb USE_LEVELDB opencl USE_OPENCL cuda USE_CUDA @@ -60,20 +113,21 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS cuda USE_NVRTC cuda AT_CUDA_ENABLED cuda AT_CUDNN_ENABLED + cuda USE_MAGMA vulkan USE_VULKAN - vulkan USE_VULKAN_WRAPPER - vulkan USE_VULKAN_SHADERC_RUNTIME + #vulkan USE_VULKAN_SHADERC_RUNTIME vulkan USE_VULKAN_RELAXED_PRECISION + rocm USE_ROCM # This is an alternative to cuda not a feature! (Not in vcpkg.json!) -> disabled + llvm USE_LLVM + mpi USE_MPI nnpack USE_NNPACK # todo: check use of `DISABLE_NNPACK_AND_FAMILY` nnpack AT_NNPACK_ENABLED - xnnpack USE_XNNPACK - xnnpack USE_SYSTEM_XNNPACK qnnpack USE_QNNPACK # todo: check use of `USE_PYTORCH_QNNPACK` +# No feature in vcpkg yet so disabled. -> Requires numpy build by vcpkg itself + python BUILD_PYTHON + python USE_NUMPY ) -if(CMAKE_CXX_COMPILER_ID MATCHES GNU) - list(APPEND FEATURE_OPTIONS -DUSE_NATIVE_ARCH=ON) -endif() if("dist" IN_LIST FEATURES) if(VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX) list(APPEND FEATURE_OPTIONS -DUSE_TENSORPIPE=ON) @@ -84,20 +138,6 @@ if("dist" IN_LIST FEATURES) list(APPEND FEATURE_OPTIONS -DUSE_GLOO=${VCPKG_TARGET_IS_LINUX}) endif() -# BLAS: MKL, OpenBLAS, or Accelerate -# The feature will be disabled if "generic" BLAS is not found -if(VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_IOS) - list(APPEND BLAS_OPTIONS -DBLAS=Accelerate -DUSE_BLAS=ON) -elseif(VCPKG_TARGET_IS_WINDOWS) - list(APPEND BLAS_OPTIONS -DBLAS=OpenBLAS -DUSE_BLAS=ON) -elseif(VCPKG_TARGET_IS_LINUX) - list(APPEND BLAS_OPTIONS -DBLAS=generic -DUSE_BLAS=ON) -endif() - -if("tbb" IN_LIST FEATURES) - list(APPEND FEATURE_OPTIONS -DMKLDNN_CPU_RUNTIME=TBB) -endif() - if(VCPKG_TARGET_IS_ANDROID OR VCPKG_TARGET_IS_IOS) list(APPEND FEATURE_OPTIONS -DINTERN_BUILD_MOBILE=ON) else() @@ -114,51 +154,75 @@ vcpkg_cmake_configure( -DProtobuf_PROTOC_EXECUTABLE:FILEPATH=${PROTOC} -DCAFFE2_CUSTOM_PROTOC_EXECUTABLE:FILEPATH=${PROTOC} -DPYTHON_EXECUTABLE:FILEPATH=${PYTHON3} - -DPython3_EXECUTABLE:FILEPATH=${PYTHON3} + #-DPython3_EXECUTABLE:FILEPATH=${PYTHON3} + -DCAFFE2_STATIC_LINK_CUDA=ON -DCAFFE2_USE_MSVC_STATIC_RUNTIME=${USE_STATIC_RUNTIME} -DBUILD_CUSTOM_PROTOBUF=OFF -DUSE_LITE_PROTO=OFF -DBUILD_TEST=OFF -DATEN_NO_TEST=ON -DUSE_SYSTEM_LIBS=ON - -DBUILD_PYTHON=OFF - -DUSE_NUMPY=OFF -DUSE_METAL=OFF -DUSE_PYTORCH_METAL=OFF -DUSE_PYTORCH_METAL_EXPORT=OFF -DUSE_GFLAGS=ON -DUSE_GLOG=ON -DUSE_LMDB=ON - -DUSE_ROCKSDB=OFF - -DUSE_OBSERVERS=OFF + -DUSE_ITT=OFF + -DUSE_ROCKSDB=ON + -DUSE_OBSERVERS=OFF -DUSE_PYTORCH_QNNPACK=OFF -DUSE_KINETO=OFF -DUSE_ROCM=OFF - -DUSE_DEPLOY=OFF - -DUSE_FFTW=OFF -DUSE_NUMA=OFF - -DUSE_MPI=${VCPKG_TARGET_IS_LINUX} + -DUSE_SYSTEM_ONNX=ON + -DUSE_SYSTEM_FP16=ON + -DUSE_SYSTEM_EIGEN_INSTALL=ON + -DUSE_SYSTEM_CPUINFO=ON + -DUSE_SYSTEM_PTHREADPOOL=ON + -DUSE_SYSTEM_PYBIND11=ON + -DUSE_SYSTEM_ZSTD=ON + -DUSE_SYSTEM_GLOO=ON + -DUSE_SYSTEM_NCCL=ON + -DUSE_SYSTEM_LIBS=ON + -DUSE_SYSTEM_FXDIV=ON + -DUSE_SYSTEM_SLEEF=ON -DBUILD_JNI=${VCPKG_TARGET_IS_ANDROID} -DUSE_NNAPI=${VCPKG_TARGET_IS_ANDROID} ${BLAS_OPTIONS} # BLAS=MKL not supported in this port -DUSE_MKLDNN=OFF -DUSE_MKLDNN_CBLAS=OFF - -DCAFFE2_USE_MKL=OFF - -DCAFFE2_USE_MKLDNN=OFF - -DAT_MKL_ENABLED=OFF + #-DCAFFE2_USE_MKL=ON + #-DAT_MKL_ENABLED=ON -DAT_MKLDNN_ENABLED=OFF + -DUSE_OPENCL=ON + -DUSE_NUMPY=ON + -DUSE_KINETO=OFF # + OPTIONS_RELEASE + -DPYTHON_LIBRARY=${CURRENT_INSTALLED_DIR}/lib/python311.lib + OPTIONS_DEBUG + -DPYTHON_LIBRARY=${CURRENT_INSTALLED_DIR}/debug/lib/python311_d.lib MAYBE_UNUSED_VARIABLES USE_NUMA USE_SYSTEM_BIND11 - USE_VULKAN_WRAPPER MKLDNN_CPU_RUNTIME + PYTHON_LIBRARY ) -vcpkg_cmake_build(TARGET __aten_op_header_gen LOGFILE_BASE build-header_gen) # explicit codegen is required -vcpkg_cmake_build(TARGET torch_cpu LOGFILE_BASE build-torch_cpu) + vcpkg_cmake_install() vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(PACKAGE_NAME caffe2 CONFIG_PATH "share/cmake/Caffe2" DO_NOT_DELETE_PARENT_CONFIG_PATH) +vcpkg_cmake_config_fixup(PACKAGE_NAME torch CONFIG_PATH "share/cmake/Torch") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/torch/TorchConfig.cmake" "/../../../" "/../../") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/caffe2/Caffe2Config.cmake" "/../../../" "/../../") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/caffe2/Caffe2Config.cmake" + "set(Caffe2_MAIN_LIBS torch_library)" + "set(Caffe2_MAIN_LIBS torch_library)\nfind_dependency(Eigen3)") + + + # Traverse the folder and remove "some" empty folders function(cleanup_once folder) if(NOT IS_DIRECTORY "${folder}") @@ -185,16 +249,37 @@ function(cleanup_repeat folder repeat) return() endif() while(repeat GREATER_EQUAL 1) - math(EXPR repeat "${repeat} - 1" OUTPUT_FORMAT DECIMAL) + math(EXPR repeat "${repeat} - 1" OUTPUT_FORMAT DECIMAL) cleanup_once("${folder}") endwhile() endfunction() +cleanup_repeat("${CURRENT_PACKAGES_DIR}/include" 5) +cleanup_repeat("${CURRENT_PACKAGES_DIR}/lib/site-packages" 13) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share" - "${CURRENT_PACKAGES_DIR}/share/cmake/ATen" ) -cleanup_repeat("${CURRENT_PACKAGES_DIR}/include" 5) vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") + +# Cannot build python bindings yet +#if("python" IN_LIST FEATURES) +# set(ENV{USE_SYSTEM_LIBS} 1) +# vcpkg_replace_string("${SOURCE_PATH}/setup.py" "@TARGET_TRIPLET@" "${TARGET_TRIPLET}-rel") +# vcpkg_replace_string("${SOURCE_PATH}/tools/setup_helpers/env.py" "@TARGET_TRIPLET@" "${TARGET_TRIPLET}-rel") +# vcpkg_replace_string("${SOURCE_PATH}/torch/utils/cpp_extension.py" "@TARGET_TRIPLET@" "${TARGET_TRIPLET}-rel") +# vcpkg_python_build_and_install_wheel(SOURCE_PATH "${SOURCE_PATH}" OPTIONS -x) +#endif() + +set(VCPKG_POLICY_DLLS_WITHOUT_EXPORTS enabled) # torch_global_deps.dll is empty.c and just for linking deps + +set(config "${CURRENT_PACKAGES_DIR}/share/torch/TorchConfig.cmake") +file(READ "${config}" contents) +string(REGEX REPLACE "set\\\(NVTOOLEXT_HOME[^)]+" "set(NVTOOLEXT_HOME \"\$ENV{CUDA_PATH}\"" contents "${contents}") +#string(REGEX REPLACE "set\\\(NVTOOLEXT_HOME[^)]+" "set(NVTOOLEXT_HOME \"\${CMAKE_CURRENT_LIST_DIR}/../../tools/cuda/\"" contents "${contents}") +string(REGEX REPLACE "\\\${NVTOOLEXT_HOME}/lib/x64/nvToolsExt64_1.lib" "" contents "${contents}") +file(WRITE "${config}" "${contents}") + +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/torch/csrc/autograd/custom_function.h" "struct TORCH_API Function" "struct Function") diff --git a/ports/libtorch/protoc.patch b/ports/libtorch/protoc.patch new file mode 100644 index 00000000000000..9690ed61550bd1 --- /dev/null +++ b/ports/libtorch/protoc.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index fa6da328b..80bbfc6bb 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -686,7 +686,7 @@ if(NOT CMAKE_BUILD_TYPE) + endif() + + # The below means we are cross compiling for arm64 or x86_64 on MacOSX +-if(NOT IOS AND CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND CMAKE_OSX_ARCHITECTURES MATCHES "^(x86_64|arm64)$") ++if(0) + set(CROSS_COMPILING_MACOSX TRUE) + # We need to compile a universal protoc to not fail protobuf build + # We set CMAKE_TRY_COMPILE_TARGET_TYPE to STATIC_LIBRARY (vs executable) to succeed the cmake compiler check for cross-compiling diff --git a/ports/libtorch/pytorch-pr-85958.patch b/ports/libtorch/pytorch-pr-85958.patch deleted file mode 100644 index 5e4e6a2e7abf17..00000000000000 --- a/ports/libtorch/pytorch-pr-85958.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/aten/src/ATen/cpu/vec/vec_base.h b/aten/src/ATen/cpu/vec/vec_base.h -index 635ec8c82e5d..1974d55943b3 100644 ---- a/aten/src/ATen/cpu/vec/vec_base.h -+++ b/aten/src/ATen/cpu/vec/vec_base.h -@@ -132,8 +132,9 @@ struct Vectorized { - // versions GCC/Clang have buggy determinations on whether or not an - // identifier is odr-used or not, and in any case it's hard to tell if - // a variable is odr-used or not. So best to just cut the problem at the root. -+ static constexpr size_type size_T = sizeof(T); // Workaround to compile with VS2022. - static constexpr size_type size() { -- return VECTOR_WIDTH / sizeof(T); -+ return VECTOR_WIDTH / size_T; - } - Vectorized() : values{static_cast(0)} {} - Vectorized(T val) { diff --git a/ports/libtorch/use-flatbuffers2.patch b/ports/libtorch/use-flatbuffers2.patch deleted file mode 100644 index 53d54c6770807b..00000000000000 --- a/ports/libtorch/use-flatbuffers2.patch +++ /dev/null @@ -1,276 +0,0 @@ -diff --git a/torch/csrc/jit/mobile/flatbuffer_loader.cpp b/torch/csrc/jit/mobile/flatbuffer_loader.cpp -index 0e126ff..4e6048e 100644 ---- a/torch/csrc/jit/mobile/flatbuffer_loader.cpp -+++ b/torch/csrc/jit/mobile/flatbuffer_loader.cpp -@@ -123,29 +123,29 @@ FlatbufferLoader::FlatbufferLoader() - : mcu_(std::make_shared()), - cu_(std::make_shared()), - ivalue_parsers_{nullptr} { -- registerIValueParser(mobile::serialization::IValueUnion::NONE, &parseBasic); -- registerIValueParser(mobile::serialization::IValueUnion::Int, &parseBasic); -- registerIValueParser(mobile::serialization::IValueUnion::Bool, &parseBasic); -- registerIValueParser(mobile::serialization::IValueUnion::Double, &parseBasic); -+ registerIValueParser(mobile::serialization::IValueUnion::IValueUnion_NONE, &parseBasic); -+ registerIValueParser(mobile::serialization::IValueUnion::IValueUnion_Int, &parseBasic); -+ registerIValueParser(mobile::serialization::IValueUnion::IValueUnion_Bool, &parseBasic); -+ registerIValueParser(mobile::serialization::IValueUnion::IValueUnion_Double, &parseBasic); - registerIValueParser( -- mobile::serialization::IValueUnion::ComplexDouble, &parseBasic); -+ mobile::serialization::IValueUnion::IValueUnion_ComplexDouble, &parseBasic); - registerIValueParser( -- mobile::serialization::IValueUnion::TensorMetadata, &parseTensor); -- registerIValueParser(mobile::serialization::IValueUnion::String, &parseBasic); -- registerIValueParser(mobile::serialization::IValueUnion::List, &parseList); -+ mobile::serialization::IValueUnion::IValueUnion_TensorMetadata, &parseTensor); -+ registerIValueParser(mobile::serialization::IValueUnion::IValueUnion_String, &parseBasic); -+ registerIValueParser(mobile::serialization::IValueUnion::IValueUnion_List, &parseList); - registerIValueParser( -- mobile::serialization::IValueUnion::IntList, &parseIntList); -+ mobile::serialization::IValueUnion::IValueUnion_IntList, &parseIntList); - registerIValueParser( -- mobile::serialization::IValueUnion::DoubleList, &parseDoubleList); -+ mobile::serialization::IValueUnion::IValueUnion_DoubleList, &parseDoubleList); - registerIValueParser( -- mobile::serialization::IValueUnion::BoolList, &parseBoolList); -- registerIValueParser(mobile::serialization::IValueUnion::Tuple, &parseTuple); -- registerIValueParser(mobile::serialization::IValueUnion::Dict, &parseDict); -+ mobile::serialization::IValueUnion::IValueUnion_BoolList, &parseBoolList); -+ registerIValueParser(mobile::serialization::IValueUnion::IValueUnion_Tuple, &parseTuple); -+ registerIValueParser(mobile::serialization::IValueUnion::IValueUnion_Dict, &parseDict); - registerIValueParser( -- mobile::serialization::IValueUnion::Object, &parseObject); -- registerIValueParser(mobile::serialization::IValueUnion::Device, &parseBasic); -+ mobile::serialization::IValueUnion::IValueUnion_Object, &parseObject); -+ registerIValueParser(mobile::serialization::IValueUnion::IValueUnion_Device, &parseBasic); - registerIValueParser( -- mobile::serialization::IValueUnion::EnumValue, &parseEnum); -+ mobile::serialization::IValueUnion::IValueUnion_EnumValue, &parseEnum); - internal_registerTypeResolver(&resolveType); - } - -@@ -334,21 +334,21 @@ IValue parseBasic( - FlatbufferLoader&, - const mobile::serialization::IValue& ivalue) { - switch (ivalue.val_type()) { -- case mobile::serialization::IValueUnion::NONE: -+ case mobile::serialization::IValueUnion::IValueUnion_NONE: - return {}; -- case mobile::serialization::IValueUnion::Int: -+ case mobile::serialization::IValueUnion::IValueUnion_Int: - return ivalue.val_as_Int()->int_val(); -- case mobile::serialization::IValueUnion::Bool: -+ case mobile::serialization::IValueUnion::IValueUnion_Bool: - return ivalue.val_as_Bool()->bool_val(); -- case mobile::serialization::IValueUnion::Double: -+ case mobile::serialization::IValueUnion::IValueUnion_Double: - return ivalue.val_as_Double()->double_val(); -- case mobile::serialization::IValueUnion::ComplexDouble: { -+ case mobile::serialization::IValueUnion::IValueUnion_ComplexDouble: { - const auto* comp = ivalue.val_as_ComplexDouble(); - return c10::complex(comp->real(), comp->imag()); - } -- case mobile::serialization::IValueUnion::String: -+ case mobile::serialization::IValueUnion::IValueUnion_String: - return ivalue.val_as_String()->data()->str(); -- case mobile::serialization::IValueUnion::Device: { -+ case mobile::serialization::IValueUnion::IValueUnion_Device: { - return c10::Device(ivalue.val_as_Device()->str()->str()); - } - default: -@@ -504,7 +504,7 @@ ClassTypePtr FlatbufferLoader::getOrCreateClassTypeForObject( - TORCH_CHECK(object->type_index() < all_ivalues_.size()); - all_types_[object->type_index()] = cls; - -- if (obj_type->type() == mobile::serialization::TypeType::CLASS_WITH_FIELD) { -+ if (obj_type->type() == mobile::serialization::TypeType::TypeType_CLASS_WITH_FIELD) { - for (uint32_t i = 0; i < object->attrs()->size(); i++) { - IValue val = getIValue(object->attrs()->Get(i)); - // Need to use concrete object's field's type to set type of field. -@@ -529,7 +529,7 @@ IValue parseObject( - auto cls = loader.getOrCreateClassTypeForObject(object); - Stack stack; - switch (obj_type->type()) { -- case mobile::serialization::TypeType::CLASS_WITH_FIELD: { -+ case mobile::serialization::TypeType::TypeType_CLASS_WITH_FIELD: { - auto obj = c10::ivalue::Object::create( - at::StrongTypePtr(loader.cu_, cls), object->attrs()->size()); - for (uint32_t i = 0; i < object->attrs()->size(); i++) { -@@ -538,7 +538,7 @@ IValue parseObject( - } - return obj; - } -- case mobile::serialization::TypeType::CLASS_WITH_SETSTATE: { -+ case mobile::serialization::TypeType::TypeType_CLASS_WITH_SETSTATE: { - IValue input = loader.getIValue(object->state()); - mobile::Function* setstate = loader.getFunction(object->setstate_func()); - auto obj = -@@ -548,7 +548,7 @@ IValue parseObject( - setstate->run(stack); - return obj; - } -- case mobile::serialization::TypeType::CUSTOM_CLASS: { -+ case mobile::serialization::TypeType::TypeType_CUSTOM_CLASS: { - auto custom_class_type = - torch::jit::getCustomClass(cls->name()->qualifiedName()); - IValue input = loader.getIValue(object->state()); -diff --git a/torch/csrc/jit/mobile/flatbuffer_loader.h b/torch/csrc/jit/mobile/flatbuffer_loader.h -index 7e88326..dc95202 100644 ---- a/torch/csrc/jit/mobile/flatbuffer_loader.h -+++ b/torch/csrc/jit/mobile/flatbuffer_loader.h -@@ -151,7 +151,7 @@ class TORCH_API FlatbufferLoader { - std::vector all_ivalues_; - std::array< - IValueParser, -- static_cast(mobile::serialization::IValueUnion::MAX) + 1> -+ static_cast(mobile::serialization::IValueUnion::IValueUnion_MAX) + 1> - ivalue_parsers_; - TypeResolver type_resolver_ = nullptr; - mobile::serialization::Module* module_ = nullptr; -diff --git a/torch/csrc/jit/serialization/flatbuffer_serializer.cpp b/torch/csrc/jit/serialization/flatbuffer_serializer.cpp -index 066a78c..a9e19bb 100644 ---- a/torch/csrc/jit/serialization/flatbuffer_serializer.cpp -+++ b/torch/csrc/jit/serialization/flatbuffer_serializer.cpp -@@ -336,7 +336,7 @@ flatbuffers::DetachedBuffer FlatbufferSerializer::serializeModule( - mcu_ = &module.compilation_unit(); - - // first element is None. -- insertIValue(CreateIValue(fbb, mobile::serialization::IValueUnion::NONE, 0)); -+ insertIValue(CreateIValue(fbb, mobile::serialization::IValueUnion::IValueUnion_NONE, 0)); - - auto methods = module.get_methods(); - std::vector functions_index; -@@ -459,7 +459,7 @@ flatbuffers::Offset FlatbufferSerializer::dictToFB( - flatbuffers::Offset FlatbufferSerializer:: - classTypeToFB(FlatBufferBuilder& fbb, ClassTypePtr class_ptr) { - mobile::serialization::TypeType typetype = -- mobile::serialization::TypeType::UNSET; -+ mobile::serialization::TypeType::TypeType_UNSET; - - flatbuffers::Offset< - flatbuffers::Vector>> -@@ -469,11 +469,11 @@ flatbuffers::Offset FlatbufferSerializer:: - const mobile::Function* setstate = mcu_->find_function(setstate_name); - const mobile::Function* getstate = mcu_->find_function(getstate_name); - if (setstate != nullptr && getstate != nullptr) { -- typetype = mobile::serialization::TypeType::CLASS_WITH_SETSTATE; -+ typetype = mobile::serialization::TypeType::TypeType_CLASS_WITH_SETSTATE; - } else if ( - class_ptr->findMethod("__setstate__") && - class_ptr->findMethod("__getstate__")) { -- typetype = mobile::serialization::TypeType::CUSTOM_CLASS; -+ typetype = mobile::serialization::TypeType::TypeType_CUSTOM_CLASS; - } else { - size_t num_attr = class_ptr->numAttributes(); - std::vector> names; -@@ -482,7 +482,7 @@ flatbuffers::Offset FlatbufferSerializer:: - names.push_back(fbb.CreateSharedString(class_ptr->getAttributeName(i))); - } - names_offset = fbb.CreateVector(names); -- typetype = mobile::serialization::TypeType::CLASS_WITH_FIELD; -+ typetype = mobile::serialization::TypeType::TypeType_CLASS_WITH_FIELD; - } - - auto name_offset = fbb.CreateString(class_ptr->name()->qualifiedName()); -@@ -500,7 +500,7 @@ uint32_t FlatbufferSerializer::storeFunctionAndGetIndex( - - auto offset = CreateIValue( - fbb, -- mobile::serialization::IValueUnion::Function, -+ mobile::serialization::IValueUnion::IValueUnion_Function, - functionToFB(fbb, qn, function).Union()); - - uint32_t index = insertIValue(offset); -@@ -662,68 +662,68 @@ flatbuffers::Offset FlatbufferSerializer:: - iValueToFB(flatbuffers::FlatBufferBuilder& fbb, const IValue& ivalue) { - using mobile::serialization::IValueUnion; - -- IValueUnion ivalue_type = IValueUnion::NONE; -+ IValueUnion ivalue_type = IValueUnion::IValueUnion_NONE; - flatbuffers::Offset offset = 0; - - if (ivalue.isTensor()) { -- ivalue_type = IValueUnion::TensorMetadata; -+ ivalue_type = IValueUnion::IValueUnion_TensorMetadata; - offset = tensorToFB(fbb, ivalue).Union(); - } else if (ivalue.isTuple()) { -- ivalue_type = IValueUnion::Tuple; -+ ivalue_type = IValueUnion::IValueUnion_Tuple; - offset = tupleToFB(fbb, ivalue).Union(); - } else if (ivalue.isDouble()) { -- ivalue_type = IValueUnion::Double; -+ ivalue_type = IValueUnion::IValueUnion_Double; - offset = fbb.CreateStruct(mobile::serialization::Double(ivalue.toDouble())) - .Union(); - } else if (ivalue.isComplexDouble()) { - auto comp = ivalue.toComplexDouble(); -- ivalue_type = IValueUnion::ComplexDouble; -+ ivalue_type = IValueUnion::IValueUnion_ComplexDouble; - offset = fbb.CreateStruct(mobile::serialization::ComplexDouble( - comp.real(), comp.imag())) - .Union(); - } else if (ivalue.isInt()) { -- ivalue_type = IValueUnion::Int; -+ ivalue_type = IValueUnion::IValueUnion_Int; - offset = - fbb.CreateStruct(mobile::serialization::Int(ivalue.toInt())).Union(); - } else if (ivalue.isBool()) { -- ivalue_type = IValueUnion::Bool; -+ ivalue_type = IValueUnion::IValueUnion_Bool; - offset = - fbb.CreateStruct(mobile::serialization::Bool(ivalue.toBool())).Union(); - } else if (ivalue.isString()) { -- ivalue_type = IValueUnion::String; -+ ivalue_type = IValueUnion::IValueUnion_String; - offset = mobile::serialization::CreateString( - fbb, fbb.CreateSharedString(ivalue.toString()->string())) - .Union(); - } else if (ivalue.isGenericDict()) { -- ivalue_type = IValueUnion::Dict; -+ ivalue_type = IValueUnion::IValueUnion_Dict; - offset = dictToFB(fbb, ivalue).Union(); - } else if (ivalue.isNone()) { -- ivalue_type = IValueUnion::NONE; -+ ivalue_type = IValueUnion::IValueUnion_NONE; - offset = 0; - } else if (ivalue.isIntList()) { -- ivalue_type = IValueUnion::IntList; -+ ivalue_type = IValueUnion::IValueUnion_IntList; - offset = mobile::serialization::CreateIntList( - fbb, fbb.CreateVector(ivalue.toIntVector())) - .Union(); - } else if (ivalue.isDoubleList()) { -- ivalue_type = IValueUnion::DoubleList; -+ ivalue_type = IValueUnion::IValueUnion_DoubleList; - offset = mobile::serialization::CreateDoubleList( - fbb, fbb.CreateVector(ivalue.toDoubleVector())) - .Union(); - } else if (ivalue.isBoolList()) { -- ivalue_type = IValueUnion::BoolList; -+ ivalue_type = IValueUnion::IValueUnion_BoolList; - auto boollist = ivalue.toBoolList(); - std::vector bool_vec(boollist.begin(), boollist.end()); - offset = - mobile::serialization::CreateBoolListDirect(fbb, &bool_vec).Union(); - } else if (ivalue.isList()) { -- ivalue_type = IValueUnion::List; -+ ivalue_type = IValueUnion::IValueUnion_List; - offset = listToFB(fbb, ivalue).Union(); - } else if (ivalue.isObject()) { -- ivalue_type = IValueUnion::Object; -+ ivalue_type = IValueUnion::IValueUnion_Object; - offset = objectToFB(fbb, ivalue).Union(); - } else if (ivalue.isDevice()) { -- ivalue_type = IValueUnion::Device; -+ ivalue_type = IValueUnion::IValueUnion_Device; - offset = mobile::serialization::CreateDevice( - fbb, fbb.CreateSharedString(ivalue.toDevice().str())) - .Union(); -@@ -732,7 +732,7 @@ flatbuffers::Offset FlatbufferSerializer:: - const auto& qualified_class_name = - enum_holder->type()->qualifiedClassName(); - uint32_t ival_pos = storeIValueAndGetIndex(fbb, enum_holder->value()); -- ivalue_type = IValueUnion::EnumValue; -+ ivalue_type = IValueUnion::IValueUnion_EnumValue; - offset = mobile::serialization::CreateEnumValue( - fbb, - fbb.CreateSharedString(qualified_class_name.qualifiedName()), diff --git a/ports/libtorch/vcpkg-dependencies.cmake b/ports/libtorch/vcpkg-dependencies.cmake deleted file mode 100644 index bf6028b9229c6e..00000000000000 --- a/ports/libtorch/vcpkg-dependencies.cmake +++ /dev/null @@ -1,257 +0,0 @@ -# caffe2/core/macros.h.in -set(CAFFE2_USE_GOOGLE_GLOG 1) -set(CAFFE2_USE_LITE_PROTO 0) -# set(CAFFE2_FORCE_FALLBACK_CUDA_MPI 0) - -# aten/src/ATen/Config.h.in -set(AT_POCKETFFT_ENABLED 0) -set(AT_MKL_ENABLED 0) -set(AT_FFTW_ENABLED 0) -set(AT_PARALLEL_NATIVE 1) -if(USE_OPENMP OR USE_TBB) - set(AT_PARALLEL_NATIVE 0) -endif() - -find_program(Python3_EXECUTABLE NAMES python3 python REQUIRED) -find_program(PYTHON_EXECUTABLE NAMES python3 python REQUIRED) - -find_package(Python3 REQUIRED COMPONENTS Interpreter) -if(BUILD_PYTHON) - find_package(Python3 REQUIRED COMPONENTS Development NumPy) - list(APPEND Caffe2_DEPENDENCY_LIBS Python3::Python Python3::NumPy) - find_package(pybind11 CONFIG REQUIRED) - list(APPEND Caffe2_DEPENDENCY_LIBS pybind11::pybind11) -endif() - -find_path(FP16_INCLUDE_DIRS "fp16.h" REQUIRED) -find_path(PSIMD_INCLUDE_DIRS "psimd.h" REQUIRED) -find_path(FXDIV_INCLUDE_DIRS "fxdiv.h" REQUIRED) - -find_library(FOXI_LOADER_LIBPATH NAMES foxi_loader REQUIRED) -list(APPEND Caffe2_DEPENDENCY_LIBS ${FOXI_LOADER_LIBPATH}) - -find_package(Threads REQUIRED) # Threads::Threads -find_package(gemmlowp CONFIG REQUIRED) # gemmlowp::gemmlowp -find_package(gflags CONFIG REQUIRED) # gflags::gflags -find_package(glog CONFIG REQUIRED) # glog::glog -find_package(cpuinfo CONFIG REQUIRED) # cpuinfo::clog cpuinfo::cpuinfo -find_package(unofficial-pthreadpool CONFIG REQUIRED) # unofficial::pthreadpool -list(APPEND Caffe2_DEPENDENCY_LIBS - gemmlowp::gemmlowp gflags::gflags glog::glog - cpuinfo::clog cpuinfo::cpuinfo unofficial::pthreadpool -) -link_directories( - $<$:${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib> - $<$:${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib> -) - -set(USE_PTHREADPOOL 1) -set(USE_INTERNAL_PTHREADPOOL_IMPL 0) -add_compile_definitions(USE_PTHREADPOOL) - -find_package(fmt CONFIG REQUIRED) # fmt::fmt-header-only -list(APPEND Caffe2_DEPENDENCY_LIBS fmt::fmt-header-only) - -find_package(Eigen3 CONFIG REQUIRED) # Eigen3::Eigen -include_directories(SYSTEM ${EIGEN3_INCLUDE_DIR}) -list(APPEND Caffe2_DEPENDENCY_LIBS Eigen3::Eigen) -set(CAFFE2_USE_EIGEN_FOR_BLAS 1) # see caff2/core/macros.h.in - -if(BLAS STREQUAL "Accelerate") - set(WITH_BLAS "accelerate") - find_package(BLAS REQUIRED) # cmake/Modules/FindBLAS.cmake - find_package(LAPACK REQUIRED) # cmake/Modules/FindLAPACK.cmake - set(USE_LAPACK 1) - list(APPEND Caffe2_PRIVATE_DEPENDENCY_LIBS ${LAPACK_LIBRARIES}) - -elseif(BLAS STREQUAL "Open") - set(WITH_BLAS "open") - find_package(BLAS) - if(BLAS_FOUND) - set(USE_BLAS 1) - list(APPEND Caffe2_PRIVATE_DEPENDENCY_LIBS ${BLAS_LIBRARIES}) - else() - set(USE_BLAS 0) # if we couldn't find the BLAS, disable the feature - endif() - set(USE_LAPACK 0) - -elseif(BLAS STREQUAL "MKL") - if(USE_TBB) - set(MKL_THREADING "TBB") - else() - set(MKL_THREADING "SEQ") - endif() - find_package(MKL REQUIRED) - include(${CMAKE_CURRENT_LIST_DIR}/public/mkl.cmake) - include_directories(AFTER SYSTEM ${MKL_INCLUDE_DIR}) - list(APPEND Caffe2_PUBLIC_DEPENDENCY_LIBS caffe2::mkl) - set(WITH_BLAS "mkl") - find_package(BLAS REQUIRED) # cmake/Modules/FindBLAS.cmake - -else() - set(USE_BLAS 0) - set(WITH_BLAS "generic") - find_package(BLAS) - if(BLAS_FOUND) - set(USE_BLAS 1) - list(APPEND Caffe2_PRIVATE_DEPENDENCY_LIBS ${BLAS_LIBRARIES}) - endif() - -endif() - -if(USE_MKLDNN) - find_package(MKLDNN REQUIRED) # BLAS::BLAS - include(cmake/public/mkldnn.cmake) - include_directories(AFTER SYSTEM ${MKLDNN_INCLUDE_DIR}) - list(APPEND Caffe2_PUBLIC_DEPENDENCY_LIBS caffe2::mkldnn) -endif() - -if(USE_TBB) - find_package(TBB CONFIG REQUIRED) # TBB::tbb - list(APPEND Caffe2_DEPENDENCY_LIBS TBB::tbb) -endif() - -if(USE_NNPACK) - find_library(NNPACK_LIB NAMES nnpack REQUIRED) - list(APPEND Caffe2_DEPENDENCY_LIBS ${NNPACK_LIB}) - string(APPEND CMAKE_CXX_FLAGS " -DUSE_NNPACK") -endif() - -if(USE_FBGEMM) - find_package(asmjit CONFIG REQUIRED) # asmjit::asmjit (required by fbgemm) - find_package(fbgemmLibrary CONFIG REQUIRED) # fbgemm - list(APPEND Caffe2_DEPENDENCY_LIBS asmjit::asmjit fbgemm) - if(USE_CUDA) - # todo: fbgemm-gpu - endif() -endif() - -if(USE_LMDB) - find_package(LMDB) # from cmake/Modules/FindLMDB.cmake - if(LMDB_FOUND) - list(APPEND Caffe2_DEPENDENCY_LIBS ${LMDB_LIBRARIES}) - else() - find_package(lmdb CONFIG REQUIRED) # lmdb - list(APPEND Caffe2_DEPENDENCY_LIBS lmdb) - endif() -endif() - -if(USE_LEVELDB) - find_package(Snappy CONFIG REQUIRED) # Snappy::snappy - list(APPEND Caffe2_DEPENDENCY_LIBS Snappy::snappy) - find_package(LevelDB) # from cmake/Modules/FindLevelDB.cmake - if(LevelDB_FOUND) - list(APPEND Caffe2_DEPENDENCY_LIBS ${LevelDB_LIBRARIES}) - else() - find_package(leveldb CONFIG REQUIRED) # leveldb::leveldb - list(APPEND Caffe2_DEPENDENCY_LIBS leveldb::leveldb) - endif() -endif() - -if(USE_QNNPACK) - find_library(QNNPACK_LIB NAME qnnpack REQUIRED) - list(APPEND Caffe2_DEPENDENCY_LIBS ${QNNPACK_LIB}) -endif() - -if(USE_XNNPACK) - find_library(XNNPACK_LIBRARY NAMES xnnpack XNNPACK REQUIRED) # xnnpack - list(APPEND Caffe2_DEPENDENCY_LIBS ${XNNPACK_LIBRARY}) -endif() - -if(USE_ZSTD) - find_package(zstd CONFIG REQUIRED) # zstd::libzstd_static - list(APPEND Caffe2_DEPENDENCY_LIBS $,zstd::libzstd_shared,zstd::libzstd_static>) -endif() - -if(USE_SYSTEM_ONNX) - find_package(ONNX CONFIG REQUIRED) # onnx onnx_proto onnxifi_loader - find_package(ONNXOptimizer CONFIG REQUIRED) # onnx_optimizer - list(APPEND Caffe2_DEPENDENCY_LIBS onnx onnx_proto onnx_optimizer) - if(ONNX_ML) - add_compile_definitions(ONNX_ML=1) - endif() -endif() - -if(USE_CUDA) - set(CMAKE_CUDA_STANDARD 14) - find_package(CUDA 10.1 REQUIRED) # https://cmake.org/cmake/help/latest/module/FindCUDA.html - find_package(CUDNN 8.0 REQUIRED) # CuDNN::CuDNN - cuda_select_nvcc_arch_flags(ARCH_FLAGS 6.0 6.2 7.5) - list(APPEND CUDA_NVCC_FLAGS - ${ARCH_FLAGS} # check TORCH_NVCC_FLAGS in this project - -D__CUDA_NO_HALF_OPERATORS__ # see https://github.com/torch/cutorch/issues/797 - ) - set(CAFFE2_USE_CUDA 1) - set(CAFFE2_USE_CUDNN 1) - set(CAFFE2_USE_NVRTC 0) - set(CAFFE2_USE_TENSORRT 0) - include(cmake/public/cuda.cmake) - list(APPEND Caffe2_DEPENDENCY_LIBS - CuDNN::CuDNN - ) - list(APPEND Caffe2_PUBLIC_CUDA_DEPENDENCY_LIBS - caffe2::cufft caffe2::curand caffe2::cublas - caffe2::cudnn-public - # caffe2::cuda caffe2::nvrtc # for CAFFE2_USE_NVRTC - # caffe2::tensorrt # for CAFFE2_USE_TENSORRT - ) -endif() - -if(USE_NUMA) # Linux package 'libnuma-dev' - find_package(Numa REQUIRED) - include_directories(SYSTEM ${Numa_INCLUDE_DIR}) - list(APPEND Caffe2_DEPENDENCY_LIBS ${Numa_LIBRARIES}) -endif() - -if(USE_GLOO) - find_package(Gloo CONFIG REQUIRED) - list(APPEND Caffe2_DEPENDENCY_LIBS gloo) -endif() - -if(USE_VULKAN) - find_package(Vulkan REQUIRED) - list(APPEND Caffe2_DEPENDENCY_LIBS Vulkan::Vulkan) -endif() - -if(USE_TENSORPIPE) - find_package(libuv CONFIG REQUIRED) - find_package(Tensorpipe CONFIG REQUIRED) # tensorpipe - list(APPEND Caffe2_DEPENDENCY_LIBS uv_a tensorpipe) -endif() - -if(USE_MPI) - find_package(MPI REQUIRED) # APT package: libopenmpi-dev - if(NOT MPI_CXX_FOUND) - message(FATAL_ERROR "Failed to find MPI_CXX") - endif() - include_directories(SYSTEM ${MPI_CXX_INCLUDE_PATH}) - list(APPEND Caffe2_DEPENDENCY_LIBS ${MPI_CXX_LIBRARIES}) - list(APPEND CMAKE_EXE_LINKER_FLAGS ${MPI_CXX_LINK_FLAGS}) - - find_program(OMPI_INFO NAMES ompi_info HINTS ${MPI_CXX_LIBRARIES}/../bin) - if(OMPI_INFO) - execute_process(COMMAND ${OMPI_INFO} OUTPUT_VARIABLE _output) - if(_output MATCHES "smcuda") - message(STATUS "Found OpenMPI with CUDA support built.") - else() - message(WARNING "OpenMPI found, but it is not built with CUDA support.") - set(CAFFE2_FORCE_FALLBACK_CUDA_MPI 1) - endif() - endif() -endif() - -if(USE_OPENCV) - find_package(OpenCV CONFIG REQUIRED COMPONENTS core highgui imgproc imgcodecs videoio video) - include_directories(SYSTEM ${OpenCV_INCLUDE_DIRS}) - list(APPEND Caffe2_DEPENDENCY_LIBS ${OpenCV_LIBS}) - if(MSVC AND USE_CUDA) - list(APPEND Caffe2_CUDA_DEPENDENCY_LIBS ${OpenCV_LIBS}) - endif() -endif() - -if(USE_OPENCL) - find_package(OpenCL REQUIRED) - include_directories(SYSTEM ${OpenCL_INCLUDE_DIRS}) - include_directories(${CMAKE_CURRENT_LIST_DIR}/../caffe2/contrib/opencl) - list(APPEND Caffe2_DEPENDENCY_LIBS OpenCL::OpenCL) -endif() diff --git a/ports/libtorch/vcpkg.json b/ports/libtorch/vcpkg.json index 2e0e8b9d1ccc0e..eda740b804489d 100644 --- a/ports/libtorch/vcpkg.json +++ b/ports/libtorch/vcpkg.json @@ -1,14 +1,16 @@ { "name": "libtorch", - "version": "1.12.1", - "port-version": 3, + "version": "2.1.2", + "port-version": 10, "description": "Tensors and Dynamic neural networks in Python with strong GPU acceleration", "homepage": "https://pytorch.org/", "license": null, "supports": "(windows & !static) | osx | linux", "dependencies": [ + "blas", "cpuinfo", "eigen3", + "fftw3", "flatbuffers", { "name": "flatbuffers", @@ -16,25 +18,24 @@ }, "fmt", "foxi", + "foxi", + "fp16", "gemmlowp", "gflags", "glog", + "lapack", "lmdb", - { - "name": "mpi", - "platform": "linux" - }, + "mimalloc", "onnx", "onnx-optimizer", - { - "name": "openblas", - "platform": "windows" - }, + "opencl", + "pocketfft", "protobuf", { "name": "protobuf", "host": true }, + "pthreadpool", "sleef", { "name": "vcpkg-cmake", @@ -47,12 +48,27 @@ { "name": "vcpkg-get-python-packages", "host": true - } + }, + "xnnpack" ], "default-features": [ - "xnnpack" + { + "name": "cuda", + "platform": "windows & !x86" + }, + "opencv", + "zstd" ], "features": { + "cuda": { + "description": "Build with CUDA GPU backend", + "dependencies": [ + "cuda", + "cudnn", + "magma", + "nvidia-cutlass" + ] + }, "dist": { "description": "Use distributed with MPI, Gloo, libuv, TensorPipe", "dependencies": [ @@ -61,12 +77,16 @@ "platform": "linux" }, { - "name": "libuv", - "platform": "windows | osx" + "name": "libtorch", + "default-features": false, + "features": [ + "mpi" + ], + "platform": "linux" }, { - "name": "openmpi", - "platform": "linux | osx" + "name": "libuv", + "platform": "windows | osx" }, { "name": "tensorpipe", @@ -81,6 +101,18 @@ "snappy" ] }, + "llvm": { + "description": "Build with LLVM", + "dependencies": [ + "llvm" + ] + }, + "mpi": { + "description": "Build with MPI", + "dependencies": [ + "mpi" + ] + }, "nnpack": { "description": "Build with NNPack", "supports": "linux | osx", @@ -94,23 +126,12 @@ "opencv" ] }, - "tbb": { - "description": "Build with Intel TBB", - "dependencies": [ - "tbb" - ] - }, "vulkan": { "description": "Build with Vulkan GPU backend", - "supports": "!windows", - "dependencies": [ - "vulkan" - ] - }, - "xnnpack": { - "description": "Build with XNNPack", "dependencies": [ - "xnnpack" + "vulkan", + "vulkan-loader", + "vulkan-memory-allocator" ] }, "zstd": { diff --git a/ports/libtorrent/portfile.cmake b/ports/libtorrent/portfile.cmake index 5dc86b3ba18a9c..ab56c66197c900 100644 --- a/ports/libtorrent/portfile.cmake +++ b/ports/libtorrent/portfile.cmake @@ -31,7 +31,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO arvidn/libtorrent REF "v${VERSION}" - SHA512 cc9c0d9ae66bd7c7df7487e33e8d452ba7b5756987be35a3309038a1dec576e91de5fbabe9d05e58bea9c82d83aad33c607804eeefaf3113a51354bef1a25340 + SHA512 fb55b04b57a6a1f39b81a4aff2ca899f9ac30b435c278c80181bdd3fef4775a3f91b2345c49b493503ae79ef89841e9a965af9974abe9022be3050922a4057f0 HEAD_REF RC_2_0 ) diff --git a/ports/libtorrent/vcpkg.json b/ports/libtorrent/vcpkg.json index 36c64f84032f9e..6f25e18468d429 100644 --- a/ports/libtorrent/vcpkg.json +++ b/ports/libtorrent/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libtorrent", - "version": "2.0.9", + "version": "2.0.10", "maintainers": "Arvid Norberg ", "description": "An efficient feature complete C++ BitTorrent implementation", "homepage": "https://libtorrent.org", diff --git a/ports/libtracepoint-control/portfile.cmake b/ports/libtracepoint-control/portfile.cmake index 98bf67cb3865b8..3bf156d4705d64 100644 --- a/ports/libtracepoint-control/portfile.cmake +++ b/ports/libtracepoint-control/portfile.cmake @@ -4,16 +4,30 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO "microsoft/LinuxTracepoints" REF "v${VERSION}" - SHA512 3ef4881b66c8990afe3aab844f4e5b9dcc98b67f954027ffe60f2b868a0501f04d6bb0747021b4ffff2e984987028d641975215b7ab32d0fd710171385f0f030 + SHA512 baf27c967b2fa1fb8e8684951fd8e12e40fe9c23f5052a2d77c63eceab6ddfc112537422b97c37cfb0e479361fa8aedea6d8d7edfae91810f1ed696060fcb822 HEAD_REF main) +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + tools BUILD_TOOLS +) + vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}/libtracepoint-control-cpp") + SOURCE_PATH "${SOURCE_PATH}/libtracepoint-control-cpp" + OPTIONS ${FEATURE_OPTIONS} + -DBUILD_SAMPLES=OFF +) vcpkg_cmake_install() vcpkg_copy_pdbs() vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") +if (BUILD_TOOLS) + vcpkg_copy_tools( + TOOL_NAMES perf-collect + AUTO_CLEAN) +endif() + vcpkg_cmake_config_fixup( PACKAGE_NAME tracepoint-control CONFIG_PATH lib/cmake/tracepoint-control) diff --git a/ports/libtracepoint-control/vcpkg.json b/ports/libtracepoint-control/vcpkg.json index 015c36ab4ecd94..2b84b6711a9877 100644 --- a/ports/libtracepoint-control/vcpkg.json +++ b/ports/libtracepoint-control/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libtracepoint-control", - "version": "1.2.1", + "version": "1.4.0", "description": "C++ classes for collecting Linux Tracepoints", "homepage": "https://github.com/microsoft/LinuxTracepoints/", "license": "MIT", @@ -8,7 +8,7 @@ "dependencies": [ { "name": "libtracepoint-decode", - "version>=": "1.2.1" + "version>=": "1.4.0" }, { "name": "vcpkg-cmake", @@ -18,5 +18,11 @@ "name": "vcpkg-cmake-config", "host": true } - ] + ], + "features": { + "tools": { + "description": "Build user tools: perf-collect", + "supports": "linux" + } + } } diff --git a/ports/libtracepoint-decode/portfile.cmake b/ports/libtracepoint-decode/portfile.cmake index f5b9baa1fe0fab..76a6ef819f4ddd 100644 --- a/ports/libtracepoint-decode/portfile.cmake +++ b/ports/libtracepoint-decode/portfile.cmake @@ -4,7 +4,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO "microsoft/LinuxTracepoints" REF "v${VERSION}" - SHA512 3ef4881b66c8990afe3aab844f4e5b9dcc98b67f954027ffe60f2b868a0501f04d6bb0747021b4ffff2e984987028d641975215b7ab32d0fd710171385f0f030 + SHA512 baf27c967b2fa1fb8e8684951fd8e12e40fe9c23f5052a2d77c63eceab6ddfc112537422b97c37cfb0e479361fa8aedea6d8d7edfae91810f1ed696060fcb822 HEAD_REF main) vcpkg_cmake_configure( diff --git a/ports/libtracepoint-decode/vcpkg.json b/ports/libtracepoint-decode/vcpkg.json index 6502d573378855..960ec77fff305d 100644 --- a/ports/libtracepoint-decode/vcpkg.json +++ b/ports/libtracepoint-decode/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libtracepoint-decode", - "version": "1.2.1", + "version": "1.4.0", "description": "C++ classes for decoding Linux Tracepoints", "homepage": "https://github.com/microsoft/LinuxTracepoints/", "license": "MIT", diff --git a/ports/libtracepoint/portfile.cmake b/ports/libtracepoint/portfile.cmake index 2dd1328d131ad1..e905935ccf88c9 100644 --- a/ports/libtracepoint/portfile.cmake +++ b/ports/libtracepoint/portfile.cmake @@ -6,12 +6,17 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO "microsoft/LinuxTracepoints" REF "v${VERSION}" - SHA512 3ef4881b66c8990afe3aab844f4e5b9dcc98b67f954027ffe60f2b868a0501f04d6bb0747021b4ffff2e984987028d641975215b7ab32d0fd710171385f0f030 + SHA512 baf27c967b2fa1fb8e8684951fd8e12e40fe9c23f5052a2d77c63eceab6ddfc112537422b97c37cfb0e479361fa8aedea6d8d7edfae91810f1ed696060fcb822 HEAD_REF main) +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + tools BUILD_TOOLS) + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}/libtracepoint" OPTIONS + ${FEATURE_OPTIONS} -DBUILD_SAMPLES=OFF -DBUILD_TESTS=OFF) @@ -19,6 +24,12 @@ vcpkg_cmake_install() vcpkg_copy_pdbs() vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") +if (BUILD_TOOLS) + vcpkg_copy_tools( + TOOL_NAMES tracepoint-register + AUTO_CLEAN) +endif() + if(NOT VCPKG_TARGET_IS_WINDOWS) vcpkg_cmake_config_fixup( PACKAGE_NAME tracepoint diff --git a/ports/libtracepoint/vcpkg.json b/ports/libtracepoint/vcpkg.json index 433dd8e408b8a9..3c6518f96d59ab 100644 --- a/ports/libtracepoint/vcpkg.json +++ b/ports/libtracepoint/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libtracepoint", - "version": "1.2.1", + "version": "1.4.0", "description": "C/C++ interface for generating Linux Tracepoints", "homepage": "https://github.com/microsoft/LinuxTracepoints/", "license": "MIT", @@ -14,5 +14,11 @@ "name": "vcpkg-cmake-config", "host": true } - ] + ], + "features": { + "tools": { + "description": "Build user tools: tracepoint-register", + "supports": "linux" + } + } } diff --git a/ports/libudis86/CMakeLists.txt b/ports/libudis86/CMakeLists.txt index fb47dd7f97084c..eb794274f99366 100644 --- a/ports/libudis86/CMakeLists.txt +++ b/ports/libudis86/CMakeLists.txt @@ -2,6 +2,7 @@ cmake_minimum_required (VERSION 3.9) project (udis86) +add_definitions(-DHAVE_STRING_H) if (MSVC) add_definitions(-D_CRT_SECURE_NO_WARNINGS) endif() diff --git a/ports/libudis86/vcpkg.json b/ports/libudis86/vcpkg.json index 66b500f75062ba..8ec4ad58bd6324 100644 --- a/ports/libudis86/vcpkg.json +++ b/ports/libudis86/vcpkg.json @@ -1,7 +1,7 @@ { "name": "libudis86", "version-date": "2018-01-28", - "port-version": 3, + "port-version": 4, "description": "Disassembler Library for x86 and x86-64", "homepage": "https://github.com/vmt/udis86", "dependencies": [ diff --git a/ports/libudns/configure.patch b/ports/libudns/configure.patch new file mode 100644 index 00000000000000..b39e298dba6ac1 --- /dev/null +++ b/ports/libudns/configure.patch @@ -0,0 +1,61 @@ +diff --git a/configure b/configure +index dda98b3..5594bf3 100755 +--- a/configure ++++ b/configure +@@ -26,7 +26,7 @@ enable() { + opt=`echo "$1" | sed 's/^--[^-]*-//'` + case "$opt" in + ipv6) ;; +- *) echo "configure: unrecognized option \`$1'" >&2; exit 1;; ++ *) echo "configure: unrecognized option \`$1'" >&2; opt=unused;; + esac + eval enable_$opt=$2 + } +@@ -50,11 +50,14 @@ Optional features (all enabled by default if system supports a feature): + EOF + exit 0 + ;; +- *) echo "configure: unknown option \`$1'" >&2; exit 1 ;; ++ *) echo "configure: unknown option \`$1'" >&2;; + esac + shift + done + ++CC="$CC $CPPFLAGS" ++export CC ++ + . ./configure.lib + + ac_msg "configure" +@@ -75,7 +78,8 @@ int main(int argc, char **argv) { + EOF + + if ac_library_find_v 'socket and connect' "" "-lsocket -lnsl" < ++int main() { socket(0,0,0); connect(0,0,0); return 0; } + EOF + then : + else +diff --git a/configure.lib b/configure.lib +index 541177a..672c082 100644 +--- a/configure.lib ++++ b/configure.lib +@@ -125,7 +125,7 @@ ac_prog_c_compiler_v() { + echo 'int main(int argc, char **argv) { return 0; }' >conftest.c + + if [ -n "$CC" ]; then +- if ac_run $CC -o conftest conftest.c && ac_run ./conftest; then ++ if ac_run $CC -o conftest conftest.c && true ac_run ./conftest; then + ac_result "\$CC ($CC)" + else + ac_result no +@@ -224,7 +224,7 @@ ac_library_find_v() { + } + + ac_compile_run() { +- ac_link "$@" && ac_run ./conftest ++ ac_link "$@" && true ac_run ./conftest + } + + ac_grep_cpp() { diff --git a/ports/libudns/ignore_unknown_options.patch b/ports/libudns/ignore_unknown_options.patch deleted file mode 100644 index 4adbcf28cc07db..00000000000000 --- a/ports/libudns/ignore_unknown_options.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/configure b/configure -index dda98b3ab..6f5f8a3c8 100644 ---- a/configure -+++ b/configure -@@ -25,10 +25,9 @@ fi - enable() { - opt=`echo "$1" | sed 's/^--[^-]*-//'` - case "$opt" in -- ipv6) ;; -- *) echo "configure: unrecognized option \`$1'" >&2; exit 1;; -+ ipv6) eval enable_$opt=$2 ;; -+ *) echo "configure: unrecognized option \`$1'" >&2;; - esac -- eval enable_$opt=$2 - } - - while [ $# -gt 0 ]; do -@@ -50,7 +49,7 @@ Optional features (all enabled by default if system supports a feature): - EOF - exit 0 - ;; -- *) echo "configure: unknown option \`$1'" >&2; exit 1 ;; -+ *) echo "configure: unknown option \`$1'" >&2;; - esac - shift - done diff --git a/ports/libudns/portfile.cmake b/ports/libudns/portfile.cmake index a1169d438dad50..6d2a12c4ca4ab2 100644 --- a/ports/libudns/portfile.cmake +++ b/ports/libudns/portfile.cmake @@ -1,10 +1,13 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) # port needs work + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ortclib/udns REF udns_0_4 SHA512 4df8def718c75872536d42a757237d6c8e0afce8a53aedd7fea73814dc5cf8b5d6c9ae8f01a8cfc76864aa8293c172f08953a6750a66749ba19a3721bb4cf2ec HEAD_REF master - PATCHES ignore_unknown_options.patch + PATCHES + configure.patch ) vcpkg_configure_make( @@ -12,7 +15,7 @@ vcpkg_configure_make( COPY_SOURCE ) -vcpkg_build_make() +vcpkg_build_make(BUILD_TARGET staticlib) vcpkg_fixup_pkgconfig() # Install if(NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL debug) diff --git a/ports/libudns/vcpkg.json b/ports/libudns/vcpkg.json index 14593afec6bb2f..535b2a7e0bea66 100644 --- a/ports/libudns/vcpkg.json +++ b/ports/libudns/vcpkg.json @@ -1,7 +1,7 @@ { "name": "libudns", "version": "0.4", - "port-version": 5, + "port-version": 6, "description": "The DNS library, udns, implements thread-safe stub DNS resolver functionality, which may be used both traditional, syncronous way and asyncronously, with application-supplied event loop.", "homepage": "https://github.com/ortclib/udns", "supports": "!windows & !osx" diff --git a/ports/libunibreak/CMakeLists.txt b/ports/libunibreak/CMakeLists.txt index f1924c2787743a..495ff2d2a4d571 100644 --- a/ports/libunibreak/CMakeLists.txt +++ b/ports/libunibreak/CMakeLists.txt @@ -11,6 +11,8 @@ set(libunibreak_srcs src/graphemebreak.c src/graphemebreakdata.c src/emojidef.c + src/eastasianwidthdef.c + src/eastasianwidthdata.c src/unibreakbase.c src/unibreakdef.c ) @@ -30,6 +32,9 @@ if(NOT DISABLE_INSTALL_HEADERS) install( FILES src/emojidef.h + src/eastasianwidthdef.h + src/unibreakbase.h + src/unibreakdef.h src/graphemebreak.h src/graphemebreakdef.h src/linebreak.h diff --git a/ports/libunibreak/fix_export.patch b/ports/libunibreak/fix_export.patch new file mode 100644 index 00000000000000..aafa6b4cbc7a53 --- /dev/null +++ b/ports/libunibreak/fix_export.patch @@ -0,0 +1,23 @@ +diff --git a/src/eastasianwidthdef.h b/src/eastasianwidthdef.h +index 67a41aa..c081a02 100644 +--- a/src/eastasianwidthdef.h ++++ b/src/eastasianwidthdef.h +@@ -26,6 +26,9 @@ + + #include "unibreakdef.h" + ++#ifdef __cplusplus ++extern "C" { ++#endif + /** + * East Asian Width (ea) class. This is defined in Unicode Standard + * Annex 11. +@@ -52,5 +55,8 @@ struct EastAsianWidthProperties + }; + + enum EastAsianWidthClass ub_get_char_eaw_class(utf32_t ch); ++#ifdef __cplusplus ++} ++#endif + + #endif /* EASTASIANWIDTHDEF_H */ diff --git a/ports/libunibreak/portfile.cmake b/ports/libunibreak/portfile.cmake index c73851614fccd5..339ace020e1266 100644 --- a/ports/libunibreak/portfile.cmake +++ b/ports/libunibreak/portfile.cmake @@ -1,11 +1,15 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +string(REGEX REPLACE "^([0-9]*)[.].*" "\\1" MAJOR "${VERSION}") +string(REGEX REPLACE "^.*[.]([0-9]*)" "\\1" MINOR "${VERSION}") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO adah1972/libunibreak - REF libunibreak_5_0 # libunibreak_5_0 - SHA512 909c12cf5df92f0374050fc7a0ef9e91bc1efe6a5dc5a80f4e2c81a507f1228ecaba417c3ee001e11b2422024bea68cc14eb66e08360ae69f830cdaa18764484 + REF "libunibreak_${MAJOR}_${MINOR}" + SHA512 a85333d59c78b67b1c05d33ab99c069ba493780d6a98ad5ab00e33235c454b8b33515cac4e815de35533f235be7cf5473550b3a6389f7581ba2f6216d42d38e1 HEAD_REF master + PATCHES + fix_export.patch ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) @@ -20,4 +24,4 @@ vcpkg_cmake_install() configure_file("${CMAKE_CURRENT_LIST_DIR}/libunibreak-config.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/libunibreak-config.cmake" @ONLY) -file(INSTALL ${SOURCE_PATH}/LICENCE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libunibreak RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENCE") diff --git a/ports/libunibreak/vcpkg.json b/ports/libunibreak/vcpkg.json index 3c4a6f438ebec9..e1aea085039877 100644 --- a/ports/libunibreak/vcpkg.json +++ b/ports/libunibreak/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libunibreak", - "version": "5.0", + "version": "6.1", "port-version": 1, "description": "an implementation of the line breaking and word breaking algorithms as described in [Unicode Standard Annex 14] 1 and [Unicode Standard Annex 29] 2. Check the project's [home page] 3 for up-to-date information.", "homepage": "https://github.com/adah1972/libunibreak", diff --git a/ports/libunifex/portfile.cmake b/ports/libunifex/portfile.cmake index 0bd1a4c29fbf97..fbc11b0dd59362 100644 --- a/ports/libunifex/portfile.cmake +++ b/ports/libunifex/portfile.cmake @@ -4,7 +4,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO facebookexperimental/libunifex REF "v${VERSION}" - SHA512 91a02d50e45c0458e25bd51c50fb6e98a668298733a3e66e8eb5353b0a5ea78a3656fe83b873e0ea50b26c6a7de572a663160b458c0fb1272ffa8bfd7715d1cc + SHA512 9625a248b9ed43f7ac8e3da054020e7c5c71d3da253cfa587ee62eb8a1d4cfee794758b7d28896e4038c1924b204c92be7230c20cf525684e2c304ceaa4a6321 HEAD_REF main PATCHES fix-compile-error.patch diff --git a/ports/libunifex/vcpkg.json b/ports/libunifex/vcpkg.json index 528fe49618cec4..4bc86b527945c7 100644 --- a/ports/libunifex/vcpkg.json +++ b/ports/libunifex/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libunifex", - "version": "0.3.0", + "version": "0.4.0", "description": "Unified Executors", "homepage": "https://github.com/facebookexperimental/libunifex", "dependencies": [ diff --git a/ports/libunistring/portfile.cmake b/ports/libunistring/portfile.cmake index 5f213378d9a174..e764321e86a15d 100644 --- a/ports/libunistring/portfile.cmake +++ b/ports/libunistring/portfile.cmake @@ -7,7 +7,7 @@ vcpkg_download_distfile(ARCHIVE "https://ftp.gnu.org/gnu/libunistring/${LIBUNISTRING_FILENAME}" "https://www.mirrorservice.org/sites/ftp.gnu.org/gnu/libunistring/${LIBUNISTRING_FILENAME}" FILENAME "${LIBUNISTRING_FILENAME}" - SHA512 01a4267bbd301ea5c389b17ee918ae5b7d645da8b2c6c6f0f004ff2dead9f8e50cda2c6047358890a5fceadc8820ffc5154879193b9bb8970f3fb1fea1f411d6 + SHA512 5fbb5a0a864db73a6d18cdea7b31237da907fff0ef288f3a8db6ebdba8ef61ad8855e5fc780c2bbf632218d8fa59dd119734e5937ca64dc77f53f30f13b80b17 ) vcpkg_extract_source_archive(SOURCE_PATH diff --git a/ports/libunistring/vcpkg.json b/ports/libunistring/vcpkg.json index 9d3340347d8ce9..115d5ba297787b 100644 --- a/ports/libunistring/vcpkg.json +++ b/ports/libunistring/vcpkg.json @@ -1,7 +1,6 @@ { "name": "libunistring", - "version": "1.1", - "port-version": 3, + "version": "1.2", "description": "GNU libunistring provides functions for manipulating Unicode strings and for manipulating C strings according to the Unicode standard.", "homepage": "https://www.gnu.org/software/libunistring/", "license": "LGPL-3.0-or-later OR GPL-2.0-or-later", diff --git a/ports/libunwind/liblzma.diff b/ports/libunwind/liblzma.diff new file mode 100644 index 00000000000000..1dc81423996ffc --- /dev/null +++ b/ports/libunwind/liblzma.diff @@ -0,0 +1,30 @@ +diff --git a/configure.ac b/configure.ac +index 82caaa7..a17b7a1 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -443,9 +443,11 @@ AC_MSG_CHECKING([whether to support LZMA-compressed symbol tables]) + AC_ARG_ENABLE(minidebuginfo, + AS_HELP_STRING([--enable-minidebuginfo], [Enables support for LZMA-compressed symbol tables]),, [enable_minidebuginfo=auto]) + AC_MSG_RESULT([$enable_minidebuginfo]) ++PKG_PROG_PKG_CONFIG + if test x$enable_minidebuginfo != xno; then +- AC_CHECK_LIB([lzma], [lzma_mf_is_supported], +- [LIBLZMA=-llzma ++ PKG_CHECK_MODULES([LZMA],[liblzma], ++ [LIBLZMA="$LZMA_LIBS" ++ CFLAGS="$CFLAGS $LZMA_CFLAGS" + AC_DEFINE([HAVE_LZMA], [1], [Define if you have liblzma]) + enable_minidebuginfo=yes], + [if test x$enable_minidebuginfo = xyes; then +diff --git a/src/unwind/libunwind.pc.in b/src/unwind/libunwind.pc.in +index 9a65faf..bb351f7 100644 +--- a/src/unwind/libunwind.pc.in ++++ b/src/unwind/libunwind.pc.in +@@ -7,5 +7,6 @@ Name: libunwind + Description: libunwind base library + Version: @VERSION@ + Libs: -L${libdir} -lunwind +-Libs.private: @LIBLZMA@ @LIBZ@ ++Libs.private: @LIBZ@ ++Requires.private: liblzma + Cflags: -I${includedir} diff --git a/ports/libunwind/portfile.cmake b/ports/libunwind/portfile.cmake index b495342665a3d0..c7359619545d81 100644 --- a/ports/libunwind/portfile.cmake +++ b/ports/libunwind/portfile.cmake @@ -1,18 +1,36 @@ +vcpkg_download_distfile(libunwind + URLS "https://github.com/dotnet/runtime/commit/d63c235756d4c46b061bd503a2c47207df6b3324.diff?full_index=1" + FILENAME "libunwind.diff" + SHA512 268af5d4aa3bec16e34c50024c0a3662e9a6fa7d273bb405c25f02066100e6bcbb9a68bd10556e3f420d983b586dac856fc45dbd182798889e5542217f953b27 +) + +file(READ "${libunwind}" contents) +string(REPLACE "/src/native/external/libunwind" "" contents "${contents}") +file(WRITE "${CURRENT_BUILDTREES_DIR}/src/libunwind.diff" "${contents}") + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO "libunwind/libunwind" REF "v${VERSION}" - HEAD_REF "v1.7-stable" - SHA512 b560f45cfa8ca3a60b41779afbcd862860c0f7af4014298c0b22eaec8b39740349c2077a940fb0d235c8f7d6a567e00c5cb0a04c251053f90c51320616784fd2 + HEAD_REF master + SHA512 dd8332b7a2cbabb4716c01feea422f83b4a7020c1bee20551de139c3285ea0e0ceadfa4171c6f5187448c8ddc53e0ec4728697d0a985ee0c3ff4835b94f6af6f + PATCHES + liblzma.diff + "${CURRENT_BUILDTREES_DIR}/src/libunwind.diff" ) +vcpkg_find_acquire_program(PKGCONFIG) + vcpkg_configure_make( SOURCE_PATH "${SOURCE_PATH}" AUTOCONFIG + OPTIONS + --disable-documentation + --disable-tests + --disable-zlibdebuginfo + --enable-minidebuginfo ) vcpkg_install_make() vcpkg_fixup_pkgconfig() - -file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/libunwind/usage b/ports/libunwind/usage deleted file mode 100644 index 0152567b30e8f4..00000000000000 --- a/ports/libunwind/usage +++ /dev/null @@ -1,6 +0,0 @@ -The package libunwind can be imported via CMake FindPkgConfig module: - - find_package(PkgConfig) - pkg_check_modules(libunwind REQUIRED IMPORTED_TARGET GLOBAL libunwind) - - target_link_libraries(main PRIVATE PkgConfig::libunwind) diff --git a/ports/libunwind/vcpkg.json b/ports/libunwind/vcpkg.json index e1a1cf06e8616b..17a440f3527e58 100644 --- a/ports/libunwind/vcpkg.json +++ b/ports/libunwind/vcpkg.json @@ -1,14 +1,12 @@ { "name": "libunwind", - "version": "1.7.2", + "version": "1.8.1", + "port-version": 3, "description": "Unix libray for portable stack unwinding", "homepage": "https://www.nongnu.org/libunwind", "license": "MIT", "supports": "linux", "dependencies": [ - { - "name": "vcpkg-cmake", - "host": true - } + "liblzma" ] } diff --git a/ports/liburing/disable-tests-and-examples.patch b/ports/liburing/disable-tests-and-examples.patch index 7faef951af755e..827d80e9cfb178 100644 --- a/ports/liburing/disable-tests-and-examples.patch +++ b/ports/liburing/disable-tests-and-examples.patch @@ -9,5 +9,5 @@ index 686be4f..28d0a7f 100644 - @$(MAKE) -C test - @$(MAKE) -C examples - .PHONY: all install default clean test - .PHONY: FORCE cscope + library: + @$(MAKE) -C src diff --git a/ports/liburing/fix-configure.patch b/ports/liburing/fix-configure.patch index 6eac3f0eaba55f..e567a95ff6ea31 100644 --- a/ports/liburing/fix-configure.patch +++ b/ports/liburing/fix-configure.patch @@ -1,8 +1,8 @@ diff --git a/configure b/configure -index 28f3eb0..b3ac6bc 100755 +index 4794306..76e6334 100755 --- a/configure +++ b/configure -@@ -36,7 +36,7 @@ for opt do +@@ -20,7 +20,7 @@ for opt do ;; --mandir=*) mandir="$optarg" ;; @@ -11,23 +11,22 @@ index 28f3eb0..b3ac6bc 100755 ;; --cc=*) cc="$optarg" ;; -@@ -44,10 +44,12 @@ for opt do +@@ -30,10 +30,12 @@ for opt do ;; - --nolibc) nolibc_deprecated + --enable-sanitizer) use_sanitizer=yes ;; + --enable-shared) ENABLE_SHARED=1 + ;; + --enable-static) ENABLE_SHARED=0 -+ ;; ++ ;; *) -- echo "ERROR: unknown option $opt" + echo "ERROR: unknown option $opt" - echo "Try '$0 --help' for more information" - exit 1 -+ echo "WARNING: unknown option $opt" ;; esac done -@@ -146,6 +148,7 @@ echo "# Automatically generated by configure - do not modify" > $config_host_mak +@@ -133,6 +135,7 @@ echo "# Automatically generated by configure - do not modify" > $config_host_mak printf "# Configured with:" >> $config_host_mak printf " '%s'" "$0" "$@" >> $config_host_mak echo >> $config_host_mak diff --git a/ports/liburing/portfile.cmake b/ports/liburing/portfile.cmake index 68e0161339e6fb..270d1f4121fd5b 100644 --- a/ports/liburing/portfile.cmake +++ b/ports/liburing/portfile.cmake @@ -2,27 +2,27 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO axboe/liburing REF "liburing-${VERSION}" - SHA512 8033f813262472b695d15ce20cc6cbe76a5577f16bfa7e8bc2f21c7925ec831b0f2eaf135af721e80cccce9ebe7f4431148dba2e66fa5f0278be457d9aca6535 + SHA512 d40d041b94bb0f004bd92890988c0e4b8a7bb9ae43659790ee4b19e5417f7dc5b9a554489834769ee71edfc6a44bcd87a5fca34845f61cc80e4e8e588c6950ec HEAD_REF master PATCHES fix-configure.patch # ignore unsupported options, handle ENABLE_SHARED disable-tests-and-examples.patch ) +# https://github.com/axboe/liburing/blob/liburing-2.8/src/Makefile#L13 +set(ENV{CFLAGS} "$ENV{CFLAGS} -O3 -Wall -Wextra -fno-stack-protector") + # note: check ${SOURCE_PATH}/liburing.spec before updating configure options vcpkg_configure_make( SOURCE_PATH "${SOURCE_PATH}" COPY_SOURCE + DETERMINE_BUILD_TRIPLET OPTIONS [[--libdevdir=\${prefix}/lib]] # must match libdir ) vcpkg_install_make() vcpkg_fixup_pkgconfig() -vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") -file(INSTALL "${CURRENT_PORT_DIR}/usage" - DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") - # note: {SOURCE_PATH}/src/Makefile makes liburing.so from liburing.a. # For dynamic, remove intermediate file liburing.a when install is finished. if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") @@ -34,3 +34,16 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/man") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/${PORT}/man2") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/${PORT}/man3") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/${PORT}/man7") + +# Cf. README +vcpkg_install_copyright(COMMENT [[ +All software contained from liburing is dual licensed LGPL and MIT, see +COPYING and LICENSE, except for a header coming from the kernel which is +dual licensed GPL with a Linux-syscall-note exception and MIT, see +COPYING.GPL and . +]] + FILE_LIST + "${SOURCE_PATH}/LICENSE" + "${SOURCE_PATH}/COPYING" + "${SOURCE_PATH}/COPYING.GPL" +) diff --git a/ports/liburing/usage b/ports/liburing/usage deleted file mode 100644 index bbfbaafbf24a51..00000000000000 --- a/ports/liburing/usage +++ /dev/null @@ -1,6 +0,0 @@ -The package liburing can be imported via CMake FindPkgConfig module: - - find_package(PkgConfig) - pkg_check_modules(liburing REQUIRED IMPORTED_TARGET GLOBAL liburing>=2.0) - - target_link_libraries(main PRIVATE PkgConfig::liburing) diff --git a/ports/liburing/vcpkg.json b/ports/liburing/vcpkg.json index d6a1ba2a54c692..82812b47c43206 100644 --- a/ports/liburing/vcpkg.json +++ b/ports/liburing/vcpkg.json @@ -1,8 +1,8 @@ { "name": "liburing", - "version": "2.4", + "version": "2.8", "description": "Linux-native io_uring I/O access library", "homepage": "https://github.com/axboe/liburing", - "license": "MIT OR LGPL-2.1 OR GPL-2.0", + "license": "(MIT OR LGPL-2.1) AND (MIT OR (GPL-2.0 WITH Linux-syscall-note))", "supports": "linux" } diff --git a/ports/libusb/portfile.cmake b/ports/libusb/portfile.cmake index 2e9a4381377081..e00c7a040390f7 100644 --- a/ports/libusb/portfile.cmake +++ b/ports/libusb/portfile.cmake @@ -1,13 +1,12 @@ if(VCPKG_TARGET_IS_LINUX) - message("${PORT} currently requires the following tools and libraries from the system package manager:\n autoreconf\n libudev\n\nThese can be installed on Ubuntu systems via apt-get install autoreconf libudev-dev") + message("${PORT} currently requires the following tools and libraries from the system package manager:\n autoreconf\n libudev\n\nThese can be installed on Ubuntu systems via apt-get install autoconf libudev-dev") endif() -set(VERSION 1.0.26) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libusb/libusb - REF fcf0c710ef5911ae37fbbf1b39d48a89f6f14e8a # v1.0.26.11791 2023-03-12 - SHA512 0aa6439f7988487adf2a3bff473fec80b5c722a47f117a60696d2aa25c87cc3f20fb6aaca7c66e49be25db6a35eb0bb5f71ed7b211d1b8ee064c5d7f1b985c73 + REF "v${VERSION}" + SHA512 36afceae9a03c1543adb9c92fb9a9320b312282bfc8ac8db7b43983c2797c63f13ce94b8ae7aab2afa94ce68d53b6aa7a69efd8ab6b3711c072b89940d4ee734 HEAD_REF master ) @@ -41,15 +40,35 @@ if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libusb-1.0.pc" " -lusb-1.0" " -llibusb-1.0") endif() else() + vcpkg_list(SET MAKE_OPTIONS) + vcpkg_list(SET LIBUSB_LINK_LIBRARIES) + if(VCPKG_TARGET_IS_EMSCRIPTEN) + vcpkg_list(APPEND MAKE_OPTIONS BUILD_TRIPLET --host=wasm32) + endif() + if("udev" IN_LIST FEATURES) + vcpkg_list(APPEND MAKE_OPTIONS "--enable-udev") + vcpkg_list(APPEND LIBUSB_LINK_LIBRARIES udev) + else() + vcpkg_list(APPEND MAKE_OPTIONS "--disable-udev") + endif() vcpkg_configure_make( SOURCE_PATH "${SOURCE_PATH}" AUTOCONFIG + OPTIONS + ${MAKE_OPTIONS} + "--enable-examples-build=no" + "--enable-tests-build=no" ) vcpkg_install_make() endif() vcpkg_fixup_pkgconfig() +# -Wl,-framework,... is poorly handled in CMake +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libusb-1.0.pc" " -Wl,-framework," " -framework " IGNORE_UNCHANGED) +if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libusb-1.0.pc" " -Wl,-framework," " -framework " IGNORE_UNCHANGED) +endif() + file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" "${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-cmake-wrapper.cmake" @ONLY) vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/libusb/usage b/ports/libusb/usage index b61e18c68a0d2d..98cce9c0149665 100644 --- a/ports/libusb/usage +++ b/ports/libusb/usage @@ -1,5 +1,5 @@ -libusb provides CMake targets: +libusb can be imported via CMake FindPkgConfig module: + find_package(PkgConfig REQUIRED) + pkg_check_modules(libusb REQUIRED IMPORTED_TARGET libusb-1.0) - find_package(libusb CONFIG REQUIRED) - target_include_directories(main PRIVATE ${LIBUSB_INCLUDE_DIRS}) - target_link_libraries(main PRIVATE ${LIBUSB_LIBRARIES}) + target_link_libraries(main PRIVATE PkgConfig::libusb) diff --git a/ports/libusb/vcpkg-cmake-wrapper.cmake b/ports/libusb/vcpkg-cmake-wrapper.cmake deleted file mode 100644 index 8e8c28806c4b46..00000000000000 --- a/ports/libusb/vcpkg-cmake-wrapper.cmake +++ /dev/null @@ -1,19 +0,0 @@ -include(SelectLibraryConfigurations) - -find_path(LIBUSB_INCLUDE_DIR libusb.h PATH_SUFFIXES libusb-1.0) -find_library(LIBUSB_LIBRARY_DEBUG NAMES libusb-1.0 usb-1.0 NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug" NO_DEFAULT_PATH) -find_library(LIBUSB_LIBRARY_RELEASE NAMES libusb-1.0 usb-1.0 NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" NO_DEFAULT_PATH) - -select_library_configurations(LIBUSB) - -set(LIBUSB_INCLUDE_DIRS "${LIBUSB_INCLUDE_DIR}") - -if (@VCPKG_TARGET_IS_LINUX@) - list(APPEND LIBUSB_LIBRARIES udev) -endif() - -if (@VCPKG_TARGET_IS_OSX@) - list(APPEND LIBUSB_LIBRARIES "-framework Cocoa") - list(APPEND LIBUSB_LIBRARIES "-framework IOKit") - list(APPEND LIBUSB_LIBRARIES "-framework Security") -endif() diff --git a/ports/libusb/vcpkg.json b/ports/libusb/vcpkg.json index ac5715c29adca6..14424beee326ab 100644 --- a/ports/libusb/vcpkg.json +++ b/ports/libusb/vcpkg.json @@ -1,7 +1,7 @@ { "name": "libusb", - "version": "1.0.26.11791", - "port-version": 3, + "version": "1.0.27", + "port-version": 2, "description": "a cross-platform library to access USB devices", "homepage": "https://github.com/libusb/libusb", "license": "LGPL-2.1-or-later", @@ -10,7 +10,19 @@ { "name": "vcpkg-msbuild", "host": true, - "platform": "windows" + "platform": "windows & !mingw" } - ] + ], + "default-features": [ + { + "name": "udev", + "platform": "linux" + } + ], + "features": { + "udev": { + "description": "Enable udev", + "supports": "linux" + } + } } diff --git a/ports/libusbp/Config.cmake.in b/ports/libusbp/Config.cmake.in new file mode 100644 index 00000000000000..172e08b85230d7 --- /dev/null +++ b/ports/libusbp/Config.cmake.in @@ -0,0 +1,19 @@ +if(NOT TARGET unofficial::libusbp::libusbp) + add_library(unofficial::libusbp::libusbp UNKNOWN IMPORTED) + + set_target_properties(unofficial::libusbp::libusbp PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include/libusbp-1" + ) + + find_library(libusbp_LIBRARY_RELEASE NAMES usbp-1 PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib" NO_DEFAULT_PATH) + if(EXISTS "${libusbp_LIBRARY_RELEASE}") + set_property(TARGET unofficial::libusbp::libusbp APPEND PROPERTY IMPORTED_CONFIGURATIONS "Release") + set_target_properties(unofficial::libusbp::libusbp PROPERTIES IMPORTED_LOCATION_RELEASE "${libusbp_LIBRARY_RELEASE}") + endif() + + find_library(libusbp_LIBRARY_DEBUG NAMES usbp-1 PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib" NO_DEFAULT_PATH) + if(EXISTS "${libusbp_LIBRARY_DEBUG}") + set_property(TARGET unofficial::libusbp::libusbp APPEND PROPERTY IMPORTED_CONFIGURATIONS "Debug") + set_target_properties(unofficial::libusbp::libusbp PROPERTIES IMPORTED_LOCATION_DEBUG "${libusbp_LIBRARY_DEBUG}") + endif() +endif() diff --git a/ports/libusbp/portfile.cmake b/ports/libusbp/portfile.cmake new file mode 100644 index 00000000000000..5758dbb72981d8 --- /dev/null +++ b/ports/libusbp/portfile.cmake @@ -0,0 +1,39 @@ +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") + message( +"${PORT} currently requires the following libraries from the system package manager: + libudev-dev +These can be installed on Ubuntu systems via sudo apt install libudev-dev" + ) +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO pololu/libusbp + REF "${VERSION}" + SHA512 3705ab40b65323eab788592b1b5e1cd94ef1d7ee55fb0f2919013a8bdb488eb83e257623a8be8c5230a74eaea1c0fd8a5926a8a399f0d2f6eebcd82ec0a01c4d + HEAD_REF master +) + +vcpkg_find_acquire_program(PKGCONFIG) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" +) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() + +vcpkg_fixup_pkgconfig() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin" "${CURRENT_PACKAGES_DIR}/bin") +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +configure_file("${CMAKE_CURRENT_LIST_DIR}/Config.cmake.in" "${CURRENT_PACKAGES_DIR}/share/unofficial-${PORT}/unofficial-${PORT}-config.cmake" @ONLY) + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/libusbp/usage b/ports/libusbp/usage new file mode 100644 index 00000000000000..dce51538affe4a --- /dev/null +++ b/ports/libusbp/usage @@ -0,0 +1,9 @@ +libusbp provides pkg-config modules: + + # Library for accessing USB devices. + libusbp + +libusbp provides CMake targets: + + find_package(unofficial-libusbp CONFIG REQUIRED) + target_link_libraries(main PRIVATE unofficial::libusbp::libusbp) diff --git a/ports/libusbp/vcpkg.json b/ports/libusbp/vcpkg.json new file mode 100644 index 00000000000000..031395ef970705 --- /dev/null +++ b/ports/libusbp/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "libusbp", + "version": "1.3.1", + "description": "The Pololu USB Library (also known as libusbp) is a cross-platform C library for accessing USB devices.", + "homepage": "https://github.com/pololu/libusbp", + "license": "MIT", + "supports": "!android & !uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/libuv/fix-build-type.patch b/ports/libuv/fix-build-type.patch index 41235b7a2271af..f6ef6537d7cca9 100644 --- a/ports/libuv/fix-build-type.patch +++ b/ports/libuv/fix-build-type.patch @@ -1,26 +1,25 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 93733dd0..769025cf 100644 +index 5e8e016..b3c3f18 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -460,8 +460,7 @@ if(LIBUV_BUILD_SHARED) +@@ -465,7 +465,7 @@ if(LIBUV_BUILD_SHARED) endif() target_link_libraries(uv ${uv_libraries}) set_target_properties(uv PROPERTIES OUTPUT_NAME "uv") -endif() -- +else() + add_library(uv_a STATIC ${uv_sources}) target_compile_definitions(uv_a PRIVATE ${uv_defines}) - target_compile_options(uv_a PRIVATE ${uv_cflags}) -@@ -480,6 +479,7 @@ set_target_properties(uv_a PROPERTIES OUTPUT_NAME "uv") - if(MSVC) +@@ -485,6 +485,7 @@ set_target_properties(uv_a PROPERTIES OUTPUT_NAME "uv") + if(WIN32) set_target_properties(uv_a PROPERTIES PREFIX "lib") endif() +endif() if(LIBUV_BUILD_TESTS) # Small hack: use ${uv_test_sources} now to get the runner skeleton, -@@ -737,10 +737,6 @@ configure_file(libuv-static.pc.in libuv-static.pc @ONLY) +@@ -755,10 +756,6 @@ configure_file(libuv-static.pc.in libuv-static.pc @ONLY) install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) install(FILES LICENSE DESTINATION ${CMAKE_INSTALL_DOCDIR}) install(FILES LICENSE-extra DESTINATION ${CMAKE_INSTALL_DOCDIR}) @@ -31,7 +30,7 @@ index 93733dd0..769025cf 100644 install(EXPORT libuvConfig DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libuv NAMESPACE libuv::) -@@ -757,6 +753,11 @@ if(LIBUV_BUILD_SHARED) +@@ -775,6 +772,11 @@ if(LIBUV_BUILD_SHARED) RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) @@ -43,4 +42,3 @@ index 93733dd0..769025cf 100644 endif() if(MSVC) - diff --git a/ports/libuv/portfile.cmake b/ports/libuv/portfile.cmake index 1de13194eb4c16..1fb8040faae642 100644 --- a/ports/libuv/portfile.cmake +++ b/ports/libuv/portfile.cmake @@ -2,9 +2,11 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libuv/libuv REF "v${VERSION}" - SHA512 e3a7c10ffd909f9b128fb2316e09b8456e87278107178b49368f31ba30e7f62d64e7eba650cc59ef2d7eb178199c7a2c5b5c99b333849200492235116d7aee7a + SHA512 e90680128bfaac215e5eebd9c8e5ce08e5fe68a7258f65bfcf56377756e9dbf527a232dfaf9d217c7374e713660ec99eeaae05d6fee2b8c5c9b71ad1b0b4dd72 HEAD_REF v1.x - PATCHES fix-build-type.patch + PATCHES + fix-build-type.patch + ssize_t.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" LIBUV_BUILD_SHARED) diff --git a/ports/libuv/ssize_t.patch b/ports/libuv/ssize_t.patch new file mode 100644 index 00000000000000..aae8d66e295155 --- /dev/null +++ b/ports/libuv/ssize_t.patch @@ -0,0 +1,14 @@ +diff --git a/include/uv/win.h b/include/uv/win.h +index 12ac53b4..6e1abd5b 100644 +--- a/include/uv/win.h ++++ b/include/uv/win.h +@@ -24,7 +24,9 @@ + #endif + + #if !defined(_SSIZE_T_) && !defined(_SSIZE_T_DEFINED) ++# ifndef ssize_t + typedef intptr_t ssize_t; ++# endif + # define SSIZE_MAX INTPTR_MAX + # define _SSIZE_T_ + # define _SSIZE_T_DEFINED diff --git a/ports/libuv/vcpkg.json b/ports/libuv/vcpkg.json index 412b8261225a6e..9839ed4ec9157b 100644 --- a/ports/libuv/vcpkg.json +++ b/ports/libuv/vcpkg.json @@ -1,9 +1,10 @@ { "name": "libuv", - "version-semver": "1.46.0", + "version-semver": "1.49.2", "description": "libuv is a multi-platform support library with a focus on asynchronous I/O.", "homepage": "https://github.com/libuv/libuv", "license": "BSD-3-Clause", + "supports": "!uwp", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/libuvc/build_fix.patch b/ports/libuvc/build_fix.patch index 3c5bfcd44cdac0..4e6bade6aba335 100644 --- a/ports/libuvc/build_fix.patch +++ b/ports/libuvc/build_fix.patch @@ -1,13 +1,22 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index f3c8116..b9a6d38 100644 +index fbaffc9..672ebb9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -39,10 +39,10 @@ set(SOURCES +@@ -5,7 +5,6 @@ project(libuvc + ) + + # Additional search scripts path for libusb-1.0, libjpeg, OpenCV +-list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/cmake) + + # Xcode and Visual Studio do not using CMAKE_BUILD_TYPE cache variable + # so we use Release build type only with single configuration generators. +@@ -39,10 +38,11 @@ set(SOURCES src/misc.c ) -find_package(LibUSB) -+find_package(libusb CONFIG REQUIRED) ++FIND_PACKAGE(PkgConfig REQUIRED) ++pkg_check_modules(libusb REQUIRED IMPORTED_TARGET libusb-1.0) # JpegPkg name to differ from shipped with CMake -find_package(JpegPkg QUIET) @@ -15,23 +24,37 @@ index f3c8116..b9a6d38 100644 if(JPEG_FOUND) message(STATUS "Building libuvc with JPEG support.") set(LIBUVC_HAS_JPEG TRUE) -@@ -107,9 +107,10 @@ foreach(target_name IN LISTS UVC_TARGETS) - $ - $ +@@ -116,8 +116,11 @@ foreach(target_name IN LISTS UVC_TARGETS) ) -+ target_include_directories(${target_name} PRIVATE ${LIBUSB_INCLUDE_DIRS}) target_link_libraries(${target_name} # libusb-1.0 used internally so we link to it privately. -- PRIVATE LibUSB::LibUSB -+ PRIVATE ${LIBUSB_LIBRARIES} +- PRIVATE LibUSB::LibUSB ${threads} ++ PRIVATE PkgConfig::libusb ${threads} ) ++ if(APPLE) ++ target_link_libraries(${target_name} PRIVATE "-framework IOKit" "-framework CoreFoundation" "-framework Security") ++ endif() if(JPEG_FOUND) target_link_libraries(${target_name} + PRIVATE JPEG::JPEG +@@ -191,12 +194,6 @@ install(EXPORT libuvcTargets + DESTINATION ${CMAKE_INSTALL_CMAKEDIR} + ) + +-install(FILES +- cmake/FindLibUSB.cmake +- cmake/FindJpegPkg.cmake +- DESTINATION ${CMAKE_INSTALL_CMAKEDIR} +-) +- + include(CMakePackageConfigHelpers) + write_basic_package_version_file(libuvcConfigVersion.cmake + COMPATIBILITY AnyNewerVersion diff --git a/libuvcConfig.cmake b/libuvcConfig.cmake -index b9887ea..e8f09dc 100644 +index b9887ea..c704ab5 100644 --- a/libuvcConfig.cmake +++ b/libuvcConfig.cmake -@@ -10,8 +10,8 @@ if(${CMAKE_FIND_PACKAGE_NAME}_FIND_REQUIRED) +@@ -10,8 +10,11 @@ if(${CMAKE_FIND_PACKAGE_NAME}_FIND_REQUIRED) list(APPEND extraArgs REQUIRED) endif() @@ -39,6 +62,9 @@ index b9887ea..e8f09dc 100644 -find_package(LibUSB ${extraArgs}) +include(CMakeFindDependencyMacro) +find_dependency(JPEG ${extraArgs}) ++find_dependency(Threads) ++find_package(PkgConfig REQUIRED) ++pkg_check_modules(libusb REQUIRED IMPORTED_TARGET libusb-1.0) include("${CMAKE_CURRENT_LIST_DIR}/libuvcTargets.cmake") set(libuvc_FOUND TRUE) diff --git a/ports/libuvc/portfile.cmake b/ports/libuvc/portfile.cmake index 6f68f14b7ac48d..008b8baf28411a 100644 --- a/ports/libuvc/portfile.cmake +++ b/ports/libuvc/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libuvc/libuvc - REF c612d4509eb0ff19ce414abc3dca18d0f6263a84 - SHA512 df3f23463728e8ffd69dc52e251ea2610ea8df32b02f6d26dd2a6910cf217650245bb1a11e67be61df875c6992d592c9cb17675d914997bd72c9fe7eb5b65c32 + REF "v${VERSION}" + SHA512 cf2c0a6cc04717f284f25bed17f178a4b2b2a2bb3e5937e50be144e88db2c481c5ea763c164fe0234834fea4837f96fcc13bdbdafd4610d2985943562dfcc72f HEAD_REF master PATCHES build_fix.patch ) @@ -13,20 +13,22 @@ else() set(BUILD_TARGET "Static") endif() +vcpkg_find_acquire_program(PKGCONFIG) vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} OPTIONS + -DPKG_CONFIG_EXECUTABLE="${PKGCONFIG}" -DCMAKE_BUILD_TARGET=${BUILD_TARGET} -DBUILD_EXAMPLE=OFF + -DBUILD_TEST=OFF ) vcpkg_cmake_install() -vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) +vcpkg_fixup_pkgconfig() -vcpkg_cmake_config_fixup(PACKAGE_NAME libuvc CONFIG_PATH lib/cmake/libuvc) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") -vcpkg_fixup_pkgconfig() -# Handle copyright -file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/libuvc/usage b/ports/libuvc/usage new file mode 100644 index 00000000000000..44b9362dee2a2b --- /dev/null +++ b/ports/libuvc/usage @@ -0,0 +1,8 @@ +libuvc provides CMake targets: + + find_package(libuvc CONFIG REQUIRED) + target_link_libraries(main PRIVATE $,LibUVC::UVCStatic,LibUVC::UVCShared>) + +libuvc provides pkg-config modules: + + libuvc diff --git a/ports/libuvc/vcpkg.json b/ports/libuvc/vcpkg.json index 1880ed85d197c3..b685aa03f854a1 100644 --- a/ports/libuvc/vcpkg.json +++ b/ports/libuvc/vcpkg.json @@ -1,10 +1,10 @@ { "name": "libuvc", - "version-date": "2020-11-24", - "port-version": 4, + "version": "0.0.7", + "port-version": 1, "description": "a cross-platform library for USB video devices", "homepage": "https://github.com/libuvc/libuvc", - "supports": "linux", + "supports": "!uwp & !windows", "dependencies": [ "libjpeg-turbo", "libusb", diff --git a/ports/libvault/0001-fix-dependencies.patch b/ports/libvault/0001-fix-dependencies.patch index 1ff1696e6be951..50ec48cbe6acf8 100644 --- a/ports/libvault/0001-fix-dependencies.patch +++ b/ports/libvault/0001-fix-dependencies.patch @@ -1,27 +1,3 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index cd4482b..ac50fb5 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -17,9 +17,8 @@ option(LINK_CURL "Link curl library for vault" OFF) - option(BUILD_SHARED_LIBS "Build vault as a shared library" ON) - option(INSTALL "Run install targets" ON) - --find_package(CURL) -+find_package(CURL CONFIG REQUIRED) - if(CURL_FOUND) -- include_directories(${CURL_INCLUDE_DIR}) - else(CURL_FOUND) - message(FATAL_ERROR "CURL not found") - endif(CURL_FOUND) -@@ -126,7 +125,7 @@ set_target_properties( - target_include_directories(vault PRIVATE src) - - if(LINK_CURL) -- target_link_libraries(vault curl) -+ target_link_libraries(vault CURL::libcurl) - endif(LINK_CURL) - - if(ENABLE_COVERAGE) diff --git a/VaultConfig.cmake.in b/VaultConfig.cmake.in index 67a40ab..82db52d 100644 --- a/VaultConfig.cmake.in diff --git a/ports/libvault/portfile.cmake b/ports/libvault/portfile.cmake index 34b2b0ed11801f..2755698056c900 100644 --- a/ports/libvault/portfile.cmake +++ b/ports/libvault/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO abedra/libvault - REF 0.56.0 - SHA512 6a8d14a755ea3d39c2912ee6d33cec9c6f30a498c57efc40603cecbbd90d400dba52be7b42287c87cd425694c89edbae86218021b2beaa5edca748c3d5dd7c77 + REF "${VERSION}" + SHA512 20a7e8ae5bac5278ff2c9588d24f853b0c80169e008e930c390a78e15d18f36c68c2666a4c6c4aa263689d5b89a8c9945eead4d88087035fafb9865fcc3466ca PATCHES 0001-fix-dependencies.patch ) diff --git a/ports/libvault/vcpkg.json b/ports/libvault/vcpkg.json index e39477c98f81b5..95ab36854e7e05 100644 --- a/ports/libvault/vcpkg.json +++ b/ports/libvault/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libvault", - "version": "0.56.0", + "version": "0.61.0", "description": "A C++ library for Hashicorp Vault", "homepage": "https://github.com/abedra/libvault", "license": "MIT", diff --git a/ports/libvhdi/CMakeLists.txt b/ports/libvhdi/CMakeLists.txt new file mode 100644 index 00000000000000..90f7df00c498af --- /dev/null +++ b/ports/libvhdi/CMakeLists.txt @@ -0,0 +1,83 @@ +cmake_minimum_required(VERSION 3.12) + +project(libvhdi C) + +find_package(ZLIB REQUIRED) + +if(MSVC) + add_compile_definitions(_CRT_SECURE_NO_DEPRECATE) + add_compile_definitions(_CRT_NONSTDC_NO_DEPRECATE) +endif() + +add_compile_definitions(HAVE_LOCAL_LIBCERROR) +add_compile_definitions(HAVE_LOCAL_LIBCTHREADS) +add_compile_definitions(HAVE_LOCAL_LIBCDATA) +add_compile_definitions(HAVE_LOCAL_LIBCLOCALE) +add_compile_definitions(HAVE_LOCAL_LIBCNOTIFY) +add_compile_definitions(HAVE_LOCAL_LIBCSPLIT) +add_compile_definitions(HAVE_LOCAL_LIBCFILE) +add_compile_definitions(HAVE_LOCAL_LIBCPATH) +add_compile_definitions(HAVE_LOCAL_LIBUNA) +add_compile_definitions(HAVE_LOCAL_LIBBFIO) +add_compile_definitions(HAVE_LOCAL_LIBFCACHE) +add_compile_definitions(HAVE_LOCAL_LIBFDATA) +add_compile_definitions(HAVE_LOCAL_LIBFVALUE) +add_compile_definitions(HAVE_LOCAL_LIBFGUID) +add_compile_definitions(ZLIB_DLL) + +if(UNIX) + configure_file(common/config.h.in common/config.h) + add_compile_definitions(HAVE_CONFIG_H) + add_compile_definitions(LOCALEDIR="/usr/share/locale") +endif() + +if(MSVC) + add_compile_definitions(LIBVHDI_DLL_EXPORT) + set(LIB_RC libvhdi/libvhdi.rc) +endif() + + +include(GNUInstallDirs) +include(CMakePackageConfigHelpers) + +# Add CMake find_package() integration +set(PROJECT_TARGET_NAME "${PROJECT_NAME}") +set(CONFIG_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}") +set(PROJECT_CONFIG "${CMAKE_CURRENT_BINARY_DIR}/generated/${PROJECT_TARGET_NAME}Config.cmake") +set(TARGETS_EXPORT_NAME "${PROJECT_TARGET_NAME}Targets") +set(NAMESPACE "libvhdi::") + +# Source files +file(GLOB LIB_SRC lib*/*.c) + +# Headers +file(GLOB LIB_INST_HEADERS include/libvhdi/*.h) + +add_library(${PROJECT_NAME} ${LIB_SRC} ${LIB_RC}) + +target_include_directories(${PROJECT_NAME} PRIVATE ./include ./common) +target_include_directories(${PROJECT_NAME} PRIVATE ./libbfio ./libcdata ./libcerror ./libcfile ./libclocale) +target_include_directories(${PROJECT_NAME} PRIVATE ./libcnotify ./libcpath ./libcsplit ./libcthreads) +target_include_directories(${PROJECT_NAME} PRIVATE ./libfcache ./libfdata ./libfvalue ./libuna ./libfguid) + +target_link_libraries(${PROJECT_NAME} PRIVATE ZLIB::ZLIB) + +install(TARGETS ${PROJECT_NAME} + EXPORT ${TARGETS_EXPORT_NAME} + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib + INCLUDES DESTINATION include) + +install(FILES ${LIB_INST_HEADERS} DESTINATION include/libvhdi) +install(FILES include/libvhdi.h DESTINATION include) + + +# Generate and install libvhdiConfig.cmake +configure_package_config_file("Config.cmake.in" "${PROJECT_CONFIG}" INSTALL_DESTINATION "${CONFIG_INSTALL_DIR}") +install(FILES "${PROJECT_CONFIG}" DESTINATION "${CONFIG_INSTALL_DIR}") + +# Generate and install libvhdiTargets*.cmake +install(EXPORT ${TARGETS_EXPORT_NAME} + NAMESPACE ${NAMESPACE} + DESTINATION "${CONFIG_INSTALL_DIR}") diff --git a/ports/libvhdi/Config.cmake.in b/ports/libvhdi/Config.cmake.in new file mode 100644 index 00000000000000..66723804fac9db --- /dev/null +++ b/ports/libvhdi/Config.cmake.in @@ -0,0 +1,7 @@ +@PACKAGE_INIT@ + +include(CMakeFindDependencyMacro) +find_dependency(ZLIB) + +include("${CMAKE_CURRENT_LIST_DIR}/@TARGETS_EXPORT_NAME@.cmake") +check_required_components("@PROJECT_NAME@") diff --git a/ports/libvhdi/macos_fixes.patch b/ports/libvhdi/macos_fixes.patch new file mode 100644 index 00000000000000..ff9c8d794f70ad --- /dev/null +++ b/ports/libvhdi/macos_fixes.patch @@ -0,0 +1,52 @@ +diff --git a/libcfile/libcfile_file.c b/libcfile/libcfile_file.c +index 45e3fc8..5195b7a 100755 +--- a/libcfile/libcfile_file.c ++++ b/libcfile/libcfile_file.c +@@ -56,7 +56,7 @@ + #elif defined( HAVE_CYGWIN_FS_H ) + #include + +-#elif defined( HAVE_LINUX_FS_H ) ++#elif defined( __linux__ ) && defined( HAVE_LINUX_FS_H ) + /* Required for Linux platforms that use a sizeof( u64 ) + * in linux/fs.h but have no typedef of it + */ +@@ -4194,6 +4194,12 @@ ssize_t libcfile_file_io_control_read( + return( read_count ); + } + ++// Force disable on Darwin, it can be erroneously defined ++#if defined ( __APPLE__ ) ++#undef HAVE_POSIX_FADVISE ++#endif ++ ++ + /* Read data from a device file using IO control + * Returns the number of bytes read if successful or -1 on error + */ +diff --git a/libclocale/libclocale_support.c b/libclocale/libclocale_support.c +index f5e29c2..56c4724 100755 +--- a/libclocale/libclocale_support.c ++++ b/libclocale/libclocale_support.c +@@ -68,7 +68,7 @@ int libclocale_initialize( + + return( -1 ); + } +-#if defined( HAVE_BINDTEXTDOMAIN ) && defined( HAVE_TEXTDOMAIN ) ++#if !defined( __APPLE__) && defined( HAVE_BINDTEXTDOMAIN ) && defined( HAVE_TEXTDOMAIN ) + if( bindtextdomain( + domain_name, + LOCALEDIR ) == NULL ) +diff --git a/libvhdi/libvhdi_i18n.c b/libvhdi/libvhdi_i18n.c +index fb33e05..13e8c39 100755 +--- a/libvhdi/libvhdi_i18n.c ++++ b/libvhdi/libvhdi_i18n.c +@@ -40,7 +40,7 @@ int libvhdi_i18n_initialize( + + if( libvhdi_i18n_initialized == 0 ) + { +-#if defined( HAVE_BINDTEXTDOMAIN ) && defined( LOCALEDIR ) ++#if !defined( __APPLE__ ) && defined( HAVE_BINDTEXTDOMAIN ) && defined( LOCALEDIR ) + if( bindtextdomain( + "libvhdi", + LOCALEDIR ) == NULL ) diff --git a/ports/libvhdi/portfile.cmake b/ports/libvhdi/portfile.cmake new file mode 100644 index 00000000000000..2a28ed27e036d0 --- /dev/null +++ b/ports/libvhdi/portfile.cmake @@ -0,0 +1,33 @@ +set(LIB_FILENAME libvhdi-alpha-${VERSION}.tar.gz) + +vcpkg_download_distfile(ARCHIVE + URLS "https://github.com/libyal/libvhdi/releases/download/${VERSION}/${LIB_FILENAME}" + FILENAME "${LIB_FILENAME}" + SHA512 5eddbb2ea5800f4427a9763b904b74d1b4a876844f0fb00a8e758c73424171ff7b52a821b1618ea575e9553e6ab357ce80884fab8503dcfc36343a32f80ecd02 +) + +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" + SOURCE_BASE "${VERSION}" + PATCHES macos_fixes.patch +) + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/Config.cmake.in" DESTINATION "${SOURCE_PATH}") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/libvhdi) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright( + FILE_LIST "${SOURCE_PATH}/COPYING" +) + +vcpkg_copy_pdbs() diff --git a/ports/libvhdi/vcpkg.json b/ports/libvhdi/vcpkg.json new file mode 100644 index 00000000000000..76db71332b1e09 --- /dev/null +++ b/ports/libvhdi/vcpkg.json @@ -0,0 +1,20 @@ +{ + "name": "libvhdi", + "version": "20231127", + "description": "Library and tools to access the Virtual Hard Disk (VHD) image format ", + "homepage": "https://github.com/libyal/libvhdi", + "license": "LGPL-3.0-or-later", + "supports": "!uwp", + "dependencies": [ + "gettext", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "zlib" + ] +} diff --git a/ports/libvmaf/android-off_t.patch b/ports/libvmaf/android-off_t.patch new file mode 100644 index 00000000000000..4b70e7714c43bd --- /dev/null +++ b/ports/libvmaf/android-off_t.patch @@ -0,0 +1,16 @@ +--- a/libvmaf/src/meson.build ++++ b/libvmaf/src/meson.build +@@ -13,6 +13,13 @@ if cc.get_id() != 'msvc' + '-pedantic', + '-DOC_NEW_STYLE_INCLUDES', + ] ++ # If the target is Android, define _LIBCPP_HAS_NO_OFF_T_FUNCTIONS unconditionally ++ # to work around the fact that meson always defines _FILE_OFFSET_BITS=64, which ++ # causes issues for API levels below 24 in 32-bit architectures. ++ # See https://github.com/mesonbuild/meson/issues/3049 for more details. ++ if target_machine.system() == 'android' ++ vmaf_cflags_common += '-D_LIBCPP_HAS_NO_OFF_T_FUNCTIONS' ++ endif + else + vmaf_cflags_common = [ + '-wd4028', # parameter different from declaration diff --git a/ports/libvmaf/no-tools.patch b/ports/libvmaf/no-tools.patch new file mode 100644 index 00000000000000..d93d37cafe3bca --- /dev/null +++ b/ports/libvmaf/no-tools.patch @@ -0,0 +1,10 @@ +Skip tools subdir in libvmaf to build only the library. +--- a/libvmaf/meson.build ++++ b/libvmaf/meson.build +@@ -51,6 +51,5 @@ endif + + subdir('include') + subdir('src') +-subdir('tools') + subdir('doc') + subdir('test') diff --git a/ports/libvmaf/portfile.cmake b/ports/libvmaf/portfile.cmake new file mode 100644 index 00000000000000..1d4df5ef6a9309 --- /dev/null +++ b/ports/libvmaf/portfile.cmake @@ -0,0 +1,27 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Netflix/vmaf + REF "v${VERSION}" + SHA512 9e356bb274ce7d5d85a64d2a1a122ea9d267809edd83bb6e663fb348a1a46355882eb9044982bf679f03df7f93c6f66c9b0d9a94661979b2c722db30b21c4f32 + HEAD_REF master + PATCHES + no-tools.patch + android-off_t.patch +) + +vcpkg_find_acquire_program(NASM) +get_filename_component(NASM_PATH "${NASM}" DIRECTORY) +vcpkg_add_to_path("${NASM_PATH}") + +vcpkg_configure_meson( + SOURCE_PATH "${SOURCE_PATH}/libvmaf" + OPTIONS + -Denable_tests=false + -Denable_docs=false +) + +vcpkg_install_meson() +vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/libvmaf/vcpkg.json b/ports/libvmaf/vcpkg.json new file mode 100644 index 00000000000000..6908982de1e9f8 --- /dev/null +++ b/ports/libvmaf/vcpkg.json @@ -0,0 +1,14 @@ +{ + "name": "libvmaf", + "version": "3.0.0", + "description": "libvmaf is a library developed by Netflix to compute the VMAF (Video Multi-Method Assessment Fusion) metric.", + "homepage": "https://github.com/Netflix/vmaf", + "license": "BSD-2-Clause-Patent", + "supports": "!windows", + "dependencies": [ + { + "name": "vcpkg-tool-meson", + "host": true + } + ] +} diff --git a/ports/libvmdk/android.patch b/ports/libvmdk/android.patch new file mode 100644 index 00000000000000..fed62c3aba9f09 --- /dev/null +++ b/ports/libvmdk/android.patch @@ -0,0 +1,14 @@ +diff --git a/common/config.h b/common/config.h +index 04eda99..3565329 100644 +--- a/common/config.h ++++ b/common/config.h +@@ -128,7 +128,9 @@ + #define HAVE_IOCTL 1 + + /* Define if nl_langinfo has CODESET support. */ ++#if !(defined(__ANDROID__) && __ANDROID_API__ < 28) + #define HAVE_LANGINFO_CODESET 1 ++#endif + + /* Define to 1 if you have the header file. */ + #define HAVE_LANGINFO_H 1 diff --git a/ports/libvmdk/portfile.cmake b/ports/libvmdk/portfile.cmake index 89a244783df4cb..715d8b2071740e 100644 --- a/ports/libvmdk/portfile.cmake +++ b/ports/libvmdk/portfile.cmake @@ -10,6 +10,8 @@ vcpkg_extract_source_archive( SOURCE_PATH ARCHIVE "${ARCHIVE}" SOURCE_BASE "${VERSION}" + PATCHES + android.patch ) file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") diff --git a/ports/libvmdk/vcpkg.json b/ports/libvmdk/vcpkg.json index e8ab9b1e6f2730..eb0029f99b9685 100644 --- a/ports/libvmdk/vcpkg.json +++ b/ports/libvmdk/vcpkg.json @@ -1,6 +1,7 @@ { "name": "libvmdk", "version": "20221124", + "port-version": 1, "description": "Library and tools to access the VMware Virtual Disk (VMDK) format", "homepage": "https://github.com/libyal/libvmdk", "supports": "!uwp", diff --git a/ports/libvorbis/0004-ogg-find-dependency.patch b/ports/libvorbis/0004-ogg-find-dependency.patch new file mode 100644 index 00000000000000..6db3eb14e0dfc7 --- /dev/null +++ b/ports/libvorbis/0004-ogg-find-dependency.patch @@ -0,0 +1,13 @@ +diff --git a/cmake/VorbisConfig.cmake.in b/cmake/VorbisConfig.cmake.in +index 6fc07941..c762ba55 100644 +--- a/cmake/VorbisConfig.cmake.in ++++ b/cmake/VorbisConfig.cmake.in +@@ -1,7 +1,7 @@ + @PACKAGE_INIT@ + + include(CMakeFindDependencyMacro) +-find_dependency(Ogg REQUIRED) ++find_dependency(Ogg CONFIG) + + include(${CMAKE_CURRENT_LIST_DIR}/VorbisTargets.cmake) + diff --git a/ports/libvorbis/portfile.cmake b/ports/libvorbis/portfile.cmake index 95f2825b705e93..5a9bef40b30644 100644 --- a/ports/libvorbis/portfile.cmake +++ b/ports/libvorbis/portfile.cmake @@ -8,6 +8,7 @@ vcpkg_from_github( 0001-Dont-export-vorbisenc-functions.patch 0002-Fixup-pkgconfig-libs.patch 0003-def-mingw-compat.patch + 0004-ogg-find-dependency.patch ) vcpkg_cmake_configure( diff --git a/ports/libvorbis/vcpkg.json b/ports/libvorbis/vcpkg.json index 65c5edd8546dc0..44a77c83800e76 100644 --- a/ports/libvorbis/vcpkg.json +++ b/ports/libvorbis/vcpkg.json @@ -1,7 +1,7 @@ { "name": "libvorbis", "version": "1.3.7", - "port-version": 2, + "port-version": 3, "description": "Ogg Vorbis is a fully open, non-proprietary, patent-and-royalty-free, general-purpose compressed audio format", "homepage": "https://github.com/xiph/vorbis", "license": "BSD-3-Clause", diff --git a/ports/libvpx/0003-add-uwp-v142-and-v143-support.patch b/ports/libvpx/0003-add-uwp-v142-and-v143-support.patch index ce323c498fc64f..43cebde3116b35 100644 --- a/ports/libvpx/0003-add-uwp-v142-and-v143-support.patch +++ b/ports/libvpx/0003-add-uwp-v142-and-v143-support.patch @@ -1,5 +1,5 @@ diff --git a/build/make/configure.sh b/build/make/configure.sh -index 119d206..41bac75 100644 +index 110f16e..c161d0e 100644 --- a/build/make/configure.sh +++ b/build/make/configure.sh @@ -1038,7 +1038,7 @@ EOF @@ -85,21 +85,19 @@ index 58bb66b..b4cad6c 100644 fi fi diff --git a/configure b/configure -index beea650..91ae3c8 100644 +index ae289f7..78f5fc1 100644 --- a/configure +++ b/configure -@@ -102,16 +102,24 @@ all_platforms="${all_platforms} arm64-darwin-gcc" - all_platforms="${all_platforms} arm64-darwin20-gcc" +@@ -103,6 +103,8 @@ all_platforms="${all_platforms} arm64-darwin20-gcc" all_platforms="${all_platforms} arm64-darwin21-gcc" + all_platforms="${all_platforms} arm64-darwin22-gcc" all_platforms="${all_platforms} arm64-linux-gcc" +all_platforms="${all_platforms} arm64-uwp-vs16" +all_platforms="${all_platforms} arm64-uwp-vs17" all_platforms="${all_platforms} arm64-win64-gcc" all_platforms="${all_platforms} arm64-win64-vs15" -+all_platforms="${all_platforms} arm64-win64-vs16" -+all_platforms="${all_platforms} arm64-win64-vs17" - all_platforms="${all_platforms} armv7-android-gcc" #neon Cortex-A8 - all_platforms="${all_platforms} armv7-darwin-gcc" #neon Cortex-A8 + all_platforms="${all_platforms} arm64-win64-vs16" +@@ -112,6 +114,8 @@ all_platforms="${all_platforms} armv7-darwin-gcc" #neon Cortex-A8 all_platforms="${all_platforms} armv7-linux-rvct" #neon Cortex-A8 all_platforms="${all_platforms} armv7-linux-gcc" #neon Cortex-A8 all_platforms="${all_platforms} armv7-none-rvct" #neon Cortex-A8 @@ -108,12 +106,7 @@ index beea650..91ae3c8 100644 all_platforms="${all_platforms} armv7-win32-gcc" all_platforms="${all_platforms} armv7-win32-vs14" all_platforms="${all_platforms} armv7-win32-vs15" -+all_platforms="${all_platforms} armv7-win32-vs16" -+all_platforms="${all_platforms} armv7-win32-vs17" - all_platforms="${all_platforms} armv7s-darwin-gcc" - all_platforms="${all_platforms} armv8-linux-gcc" - all_platforms="${all_platforms} loongarch32-linux-gcc" -@@ -138,6 +146,8 @@ all_platforms="${all_platforms} x86-linux-gcc" +@@ -143,6 +147,8 @@ all_platforms="${all_platforms} x86-linux-gcc" all_platforms="${all_platforms} x86-linux-icc" all_platforms="${all_platforms} x86-os2-gcc" all_platforms="${all_platforms} x86-solaris-gcc" @@ -122,7 +115,7 @@ index beea650..91ae3c8 100644 all_platforms="${all_platforms} x86-win32-gcc" all_platforms="${all_platforms} x86-win32-vs14" all_platforms="${all_platforms} x86-win32-vs15" -@@ -161,6 +171,8 @@ all_platforms="${all_platforms} x86_64-iphonesimulator-gcc" +@@ -167,6 +173,8 @@ all_platforms="${all_platforms} x86_64-iphonesimulator-gcc" all_platforms="${all_platforms} x86_64-linux-gcc" all_platforms="${all_platforms} x86_64-linux-icc" all_platforms="${all_platforms} x86_64-solaris-gcc" @@ -131,7 +124,7 @@ index beea650..91ae3c8 100644 all_platforms="${all_platforms} x86_64-win64-gcc" all_platforms="${all_platforms} x86_64-win64-vs14" all_platforms="${all_platforms} x86_64-win64-vs15" -@@ -485,11 +497,10 @@ process_targets() { +@@ -491,11 +499,10 @@ process_targets() { ! enabled multithread && DIST_DIR="${DIST_DIR}-nomt" ! enabled install_docs && DIST_DIR="${DIST_DIR}-nodocs" DIST_DIR="${DIST_DIR}-${tgt_isa}-${tgt_os}" @@ -147,7 +140,7 @@ index beea650..91ae3c8 100644 if [ -f "${source_path}/build/make/version.sh" ]; then ver=`"$source_path/build/make/version.sh" --bare "$source_path"` DIST_DIR="${DIST_DIR}-${ver}" -@@ -578,6 +589,10 @@ process_detect() { +@@ -584,6 +591,10 @@ process_detect() { # Specialize windows and POSIX environments. case $toolchain in diff --git a/ports/libvpx/0005-fix-arm64-build.patch b/ports/libvpx/0005-fix-arm64-build.patch new file mode 100644 index 00000000000000..76c0c8171f7b31 --- /dev/null +++ b/ports/libvpx/0005-fix-arm64-build.patch @@ -0,0 +1,13 @@ +diff --git a/vp9/encoder/arm/neon/vp9_diamond_search_sad_neon.c b/vp9/encoder/arm/neon/vp9_diamond_search_sad_neon.c +index 33753f7..997775a 100644 +--- a/vp9/encoder/arm/neon/vp9_diamond_search_sad_neon.c ++++ b/vp9/encoder/arm/neon/vp9_diamond_search_sad_neon.c +@@ -220,7 +220,7 @@ int vp9_diamond_search_sad_neon(const MACROBLOCK *x, + // Look up the component cost of the residual motion vector + { + uint32_t cost[4]; +- int16_t __attribute__((aligned(16))) rowcol[8]; ++ DECLARE_ALIGNED(16, int16_t, rowcol[8]); + vst1q_s16(rowcol, v_diff_mv_w); + + // Note: This is a use case for gather instruction diff --git a/ports/libvpx/portfile.cmake b/ports/libvpx/portfile.cmake index e14cd8f9a551ce..522b157667dda9 100644 --- a/ports/libvpx/portfile.cmake +++ b/ports/libvpx/portfile.cmake @@ -1,35 +1,34 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -set(LIBVPX_VERSION 1.12.0) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO webmproject/libvpx - REF v${LIBVPX_VERSION} - SHA512 dc059bc3102b75524ae29989372334b3e0f2acf1520e5a4daa4073831bb55949d82897c498fb9d2d38b59f1a66bb0ad24407d0d086b1e3a8394a4933f04f2ed0 + REF "v${VERSION}" + SHA512 49706838563c92fab7334376848d0f374efcbc1729ef511e967c908fd2ecd40e8d197f1d85da6553b3a7026bdbc17e5a76595319858af26ce58cb9a4c3854897 HEAD_REF master PATCHES 0002-Fix-nasm-debug-format-flag.patch 0003-add-uwp-v142-and-v143-support.patch 0004-remove-library-suffixes.patch + 0005-fix-arm64-build.patch # Upstream commit: https://github.com/webmproject/libvpx/commit/858a8c611f4c965078485860a6820e2135e6611b ) -vcpkg_find_acquire_program(PERL) - -get_filename_component(PERL_EXE_PATH ${PERL} DIRECTORY) - if(CMAKE_HOST_WIN32) - vcpkg_acquire_msys(MSYS_ROOT PACKAGES make) - set(BASH ${MSYS_ROOT}/usr/bin/bash.exe) - set(ENV{PATH} "${MSYS_ROOT}/usr/bin;$ENV{PATH};${PERL_EXE_PATH}") + vcpkg_acquire_msys(MSYS_ROOT PACKAGES make perl) + set(ENV{PATH} "${MSYS_ROOT}/usr/bin;$ENV{PATH}") else() - set(BASH /bin/bash) + vcpkg_find_acquire_program(PERL) + get_filename_component(PERL_EXE_PATH ${PERL} DIRECTORY) set(ENV{PATH} "${MSYS_ROOT}/usr/bin:$ENV{PATH}:${PERL_EXE_PATH}") endif() -vcpkg_find_acquire_program(NASM) -get_filename_component(NASM_EXE_PATH ${NASM} DIRECTORY) -vcpkg_add_to_path(${NASM_EXE_PATH}) +find_program(BASH NAME bash HINTS ${MSYS_ROOT}/usr/bin REQUIRED NO_CACHE) + +if (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + vcpkg_find_acquire_program(NASM) + get_filename_component(NASM_EXE_PATH ${NASM} DIRECTORY) + vcpkg_add_to_path(${NASM_EXE_PATH}) +endif() if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) @@ -108,11 +107,11 @@ if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) ) if (VCPKG_TARGET_ARCHITECTURE STREQUAL arm64) - set(LIBVPX_INCLUDE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/vpx-vp8-vp9-nopost-nodocs-${LIBVPX_TARGET_ARCH}${LIBVPX_CRT_SUFFIX}-${LIBVPX_TARGET_VS}-v${LIBVPX_VERSION}/include/vpx") + set(LIBVPX_INCLUDE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/vpx-vp8-vp9-nopost-nodocs-${LIBVPX_TARGET_ARCH}${LIBVPX_CRT_SUFFIX}-${LIBVPX_TARGET_VS}-v${VERSION}/include/vpx") elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL arm) - set(LIBVPX_INCLUDE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/vpx-vp8-vp9-nopost-nomt-nodocs-${LIBVPX_TARGET_ARCH}${LIBVPX_CRT_SUFFIX}-${LIBVPX_TARGET_VS}-v${LIBVPX_VERSION}/include/vpx") + set(LIBVPX_INCLUDE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/vpx-vp8-vp9-nopost-nomt-nodocs-${LIBVPX_TARGET_ARCH}${LIBVPX_CRT_SUFFIX}-${LIBVPX_TARGET_VS}-v${VERSION}/include/vpx") else() - set(LIBVPX_INCLUDE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/vpx-vp8-vp9-nodocs-${LIBVPX_TARGET_ARCH}${LIBVPX_CRT_SUFFIX}-${LIBVPX_TARGET_VS}-v${LIBVPX_VERSION}/include/vpx") + set(LIBVPX_INCLUDE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/vpx-vp8-vp9-nodocs-${LIBVPX_TARGET_ARCH}${LIBVPX_CRT_SUFFIX}-${LIBVPX_TARGET_VS}-v${VERSION}/include/vpx") endif() file( INSTALL @@ -137,6 +136,7 @@ else() set(OPTIONS_DEBUG "--enable-debug-libs --enable-debug --prefix=${CURRENT_PACKAGES_DIR}/debug") set(OPTIONS_RELEASE "--prefix=${CURRENT_PACKAGES_DIR}") + set(AS_NASM "--as=nasm") if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") set(OPTIONS "${OPTIONS} --disable-static --enable-shared") @@ -156,20 +156,58 @@ else() set(LIBVPX_TARGET_ARCH "x86") elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL x64) set(LIBVPX_TARGET_ARCH "x86_64") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL arm) + set(LIBVPX_TARGET_ARCH "armv7") elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL arm64) set(LIBVPX_TARGET_ARCH "arm64") else() message(FATAL_ERROR "libvpx does not support architecture ${VCPKG_TARGET_ARCHITECTURE}") endif() - if(VCPKG_TARGET_IS_MINGW) - if(LIBVPX_TARGET_ARCH STREQUAL "x86") - set(LIBVPX_TARGET "x86-win32-gcc") - else() - set(LIBVPX_TARGET "x86_64-win64-gcc") - endif() - elseif(VCPKG_TARGET_IS_LINUX) + vcpkg_cmake_get_vars(cmake_vars_file) + include("${cmake_vars_file}") + + # Set environment variables for configure + if(VCPKG_DETECTED_CMAKE_C_COMPILER MATCHES "([^\/]*-)gcc$") + message(STATUS "Cross-building for ${TARGET_TRIPLET} with ${CMAKE_MATCH_1}") + set(ENV{CROSS} ${CMAKE_MATCH_1}) + unset(AS_NASM) + else() + set(ENV{CC} ${VCPKG_DETECTED_CMAKE_C_COMPILER}) + set(ENV{CXX} ${VCPKG_DETECTED_CMAKE_CXX_COMPILER}) + set(ENV{AR} ${VCPKG_DETECTED_CMAKE_AR}) + set(ENV{LD} ${VCPKG_DETECTED_CMAKE_LINKER}) + set(ENV{RANLIB} ${VCPKG_DETECTED_CMAKE_RANLIB}) + set(ENV{STRIP} ${VCPKG_DETECTED_CMAKE_STRIP}) + endif() + + if(VCPKG_TARGET_IS_MINGW) + if(LIBVPX_TARGET_ARCH STREQUAL "x86") + set(LIBVPX_TARGET "x86-win32-gcc") + else() + set(LIBVPX_TARGET "x86_64-win64-gcc") + endif() + elseif(VCPKG_TARGET_IS_LINUX) set(LIBVPX_TARGET "${LIBVPX_TARGET_ARCH}-linux-gcc") + elseif(VCPKG_TARGET_IS_ANDROID) + set(LIBVPX_TARGET "generic-gnu") + # Settings + if(VCPKG_TARGET_ARCHITECTURE STREQUAL x86) + set(OPTIONS "${OPTIONS} --disable-sse4_1 --disable-avx --disable-avx2 --disable-avx512") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL x64) + set(OPTIONS "${OPTIONS} --disable-avx --disable-avx2 --disable-avx512") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL arm) + set(OPTIONS "${OPTIONS} --enable-thumb --disable-neon") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL arm64) + set(OPTIONS "${OPTIONS} --enable-thumb") + endif() + # Set environment variables for configure + set(ENV{AS} ${VCPKG_DETECTED_CMAKE_C_COMPILER}) + set(ENV{LDFLAGS} "${LDFLAGS} --target=${VCPKG_DETECTED_CMAKE_C_COMPILER_TARGET}") + # Set clang target + set(OPTIONS "${OPTIONS} --extra-cflags=--target=${VCPKG_DETECTED_CMAKE_C_COMPILER_TARGET} --extra-cxxflags=--target=${VCPKG_DETECTED_CMAKE_CXX_COMPILER_TARGET}") + # Unset nasm and let AS do its job + unset(AS_NASM) elseif(VCPKG_TARGET_IS_OSX) if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") set(LIBVPX_TARGET "arm64-darwin20-gcc") @@ -179,6 +217,14 @@ else() else() set(LIBVPX_TARGET "${LIBVPX_TARGET_ARCH}-darwin17-gcc") # enable latest CPU instructions for best performance and less CPU usage on MacOS endif() + elseif(VCPKG_TARGET_IS_IOS) + if(VCPKG_TARGET_ARCHITECTURE STREQUAL arm) + set(LIBVPX_TARGET "armv7-darwin-gcc") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL arm64) + set(LIBVPX_TARGET "arm64-darwin-gcc") + else() + message(FATAL_ERROR "libvpx does not support architecture ${VCPKG_TARGET_ARCHITECTURE} on iOS") + endif() else() set(LIBVPX_TARGET "generic-gnu") # use default target endif() @@ -196,14 +242,14 @@ else() ${OPTIONS} ${OPTIONS_RELEASE} ${MAC_OSX_MIN_VERSION_CFLAGS} - --as=nasm + ${AS_NASM} WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel" LOGNAME configure-${TARGET_TRIPLET}-rel) message(STATUS "Building libvpx for Release") vcpkg_execute_required_process( COMMAND - ${BASH} --noprofile --norc -c "make -j8" + ${BASH} --noprofile --norc -c "make -j${VCPKG_CONCURRENCY}" WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel" LOGNAME build-${TARGET_TRIPLET}-rel ) @@ -230,14 +276,14 @@ else() ${OPTIONS} ${OPTIONS_DEBUG} ${MAC_OSX_MIN_VERSION_CFLAGS} - --as=nasm + ${AS_NASM} WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg" LOGNAME configure-${TARGET_TRIPLET}-dbg) message(STATUS "Building libvpx for Debug") vcpkg_execute_required_process( COMMAND - ${BASH} --noprofile --norc -c "make -j8" + ${BASH} --noprofile --norc -c "make -j${VCPKG_CONCURRENCY}" WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg" LOGNAME build-${TARGET_TRIPLET}-dbg ) @@ -265,4 +311,4 @@ endif() configure_file("${CMAKE_CURRENT_LIST_DIR}/unofficial-libvpx-config.cmake.in" "${CURRENT_PACKAGES_DIR}/share/unofficial-libvpx/unofficial-libvpx-config.cmake" @ONLY) -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/libvpx/vcpkg.json b/ports/libvpx/vcpkg.json index a2045b4cde9fed..9f22dbe5e0d609 100644 --- a/ports/libvpx/vcpkg.json +++ b/ports/libvpx/vcpkg.json @@ -1,15 +1,19 @@ { "name": "libvpx", - "version": "1.12.0", - "port-version": 2, + "version": "1.13.1", + "port-version": 4, "description": "The reference software implementation for the video coding formats VP8 and VP9.", "homepage": "https://github.com/webmproject/libvpx", "license": "BSD-3-Clause", "dependencies": [ + { + "name": "vcpkg-cmake-get-vars", + "host": true + }, { "name": "vcpkg-msbuild", "host": true, - "platform": "windows" + "platform": "windows & !mingw" } ], "features": { diff --git a/ports/libvpx/vpx.pc.in b/ports/libvpx/vpx.pc.in index c01bb2e9beb476..6df64d4b4dbdde 100644 --- a/ports/libvpx/vpx.pc.in +++ b/ports/libvpx/vpx.pc.in @@ -1,13 +1,12 @@ -prefix=@LIBVPX_PREFIX@ -# pkg-config file from libvpx v1.10.0 -exec_prefix=${prefix} -libdir=${prefix}/lib -includedir=${prefix}/include - -Name: vpx -Description: WebM Project VPx codec implementation -Version: @LIBVPX_VERSION@ -Requires: -Conflicts: -Libs: -L"${libdir}" -lvpx -Cflags: -I"${includedir}" +prefix=@LIBVPX_PREFIX@ +exec_prefix=${prefix} +libdir=${prefix}/lib +includedir=${prefix}/include + +Name: vpx +Description: WebM Project VPx codec implementation +Version: @VERSION@ +Requires: +Conflicts: +Libs: -L"${libdir}" -lvpx +Cflags: -I"${includedir}" diff --git a/ports/libwebm/Fix-cmake.patch b/ports/libwebm/Fix-cmake.patch index 79751e620110ae..2ac2889c1cecdc 100644 --- a/ports/libwebm/Fix-cmake.patch +++ b/ports/libwebm/Fix-cmake.patch @@ -1,9 +1,13 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index a83d23b..c5abf83 100644 +index 85b2603..ebb3333 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -8,6 +8,8 @@ - cmake_minimum_required(VERSION 3.2) +@@ -5,9 +5,11 @@ + # tree. An additional intellectual property rights grant can be found + # in the file PATENTS. All contributing project authors may + # be found in the AUTHORS file in the root of the source tree. +-cmake_minimum_required(VERSION 3.2) ++cmake_minimum_required(VERSION 3.5) project(LIBWEBM CXX) +set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) @@ -11,86 +15,15 @@ index a83d23b..c5abf83 100644 include(GNUInstallDirs) include("${CMAKE_CURRENT_SOURCE_DIR}/build/cxx_flags.cmake") -@@ -330,6 +332,50 @@ add_library(webm ${libwebm_common_sources} - $ - $) - -+install( -+ TARGETS webm -+ RUNTIME DESTINATION bin -+ ARCHIVE DESTINATION lib -+ LIBRARY DESTINATION lib -+) -+ -+install( -+ FILES -+ mkvmuxer.hpp -+ mkvmuxertypes.hpp -+ mkvmuxerutil.hpp -+ mkvparser.hpp -+ mkvreader.hpp -+ mkvwriter.hpp -+ webmids.hpp -+ DESTINATION -+ include/libwebm -+) -+ -+install( -+ DIRECTORY mkvmuxer/ -+ DESTINATION include/libwebm/mkvmuxer -+ FILES_MATCHING PATTERN "*.h" -+) -+ -+install( -+ DIRECTORY mkvparser/ -+ DESTINATION include/libwebm/mkvparser -+ FILES_MATCHING PATTERN "*.h" -+) -+ -+install( -+ DIRECTORY webvtt/ -+ DESTINATION include/libwebm/webvtt -+ FILES_MATCHING PATTERN "*.h" -+) -+ -+install( -+ DIRECTORY common/ -+ DESTINATION include/libwebm/common -+ FILES_MATCHING PATTERN "*.h" -+) -+ - if (WIN32) - # Use libwebm and libwebm.lib for project and library name on Windows (instead - # webm and webm.lib). -@@ -337,18 +383,22 @@ if (WIN32) - set_target_properties(webm PROPERTIES PREFIX lib) - endif () - --add_executable(mkvparser_sample ${mkvparser_sample_sources}) --target_link_libraries(mkvparser_sample LINK_PUBLIC webm) -+if (ENABLE_SAMPLES) -+ add_executable(mkvparser_sample ${mkvparser_sample_sources}) -+ target_link_libraries(mkvparser_sample LINK_PUBLIC webm) - --add_executable(mkvmuxer_sample ${mkvmuxer_sample_sources} -- $) --target_link_libraries(mkvmuxer_sample LINK_PUBLIC webm) -+ add_executable(mkvmuxer_sample ${mkvmuxer_sample_sources} -+ $) -+ target_link_libraries(mkvmuxer_sample LINK_PUBLIC webm) -+endif() - --add_executable(dumpvtt ${dumpvtt_sources} $) --target_link_libraries(dumpvtt LINK_PUBLIC webm) -+if (ENABLE_TOOLS) -+ add_executable(dumpvtt ${dumpvtt_sources} $) -+ target_link_libraries(dumpvtt LINK_PUBLIC webm) - --add_executable(vttdemux ${vttdemux_sources}) --target_link_libraries(vttdemux LINK_PUBLIC webm) -+ add_executable(vttdemux ${vttdemux_sources}) -+ target_link_libraries(vttdemux LINK_PUBLIC webm) -+endif() - - if (ENABLE_WEBMINFO) - add_executable(webm_info ${webm_info_sources}) +diff --git a/build/msvc_runtime.cmake b/build/msvc_runtime.cmake +index 7058577..a5a18df 100644 +--- a/build/msvc_runtime.cmake ++++ b/build/msvc_runtime.cmake +@@ -15,7 +15,6 @@ if(MSVC) + CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE + CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO) + if(${flag_var} MATCHES "/MD") +- string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}") + endif(${flag_var} MATCHES "/MD") + endforeach(flag_var) + endif() diff --git a/ports/libwebm/fix-export-config.patch b/ports/libwebm/fix-export-config.patch new file mode 100644 index 00000000000000..161b6bec7c4b54 --- /dev/null +++ b/ports/libwebm/fix-export-config.patch @@ -0,0 +1,25 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ebb3333..8fd53ef 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -459,13 +459,19 @@ endif() + # webm_parser headers are rooted at webm/. + set_target_properties(webm PROPERTIES PUBLIC_HEADER + "${webm_parser_public_headers}") ++set_target_properties(webm PROPERTIES EXPORT_NAME libwebm) ++target_include_directories(webm PUBLIC $) + install( +- TARGETS webm ++ TARGETS webm EXPORT unofficial-libwebm-targets + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/webm) + ++install(EXPORT unofficial-libwebm-targets ++ FILE unofficial-libwebm-config.cmake ++ NAMESPACE unofficial::libwebm:: ++ DESTINATION share/unofficial-libwebm) + # Install common headers into a subdirectory to avoid breaking nested includes. + install(FILES ${libwebm_common_public_headers} + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/webm/common) diff --git a/ports/libwebm/portfile.cmake b/ports/libwebm/portfile.cmake index 8b9c4401296fe9..de67ba446bfbb9 100644 --- a/ports/libwebm/portfile.cmake +++ b/ports/libwebm/portfile.cmake @@ -1,33 +1,28 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO webmproject/libwebm - REF 82a1d2330e113a14e545d806eb5419f09374255f #1.0.0.28 - SHA512 7baf6f702f0e4498c9b0affebeba3ff28192c5f3dadfa5a17db2306816b3a9e31ce7a474e4d344ba136e5acf097c32d4ff61ce99861d427cdfb2f20e317d7e15 + REF libwebm-${VERSION} + SHA512 d80ecb37d21586aeff14d0282dfbcde7c71644b6952d3f32f538c6e5eb6cfe835c0eb777d5c633070d796526fbc645b70741c2278c106fb74ed0705123b9a200 HEAD_REF master PATCHES Fix-cmake.patch + fix-export-config.patch ) -if(VCPKG_CRT_LINKAGE STREQUAL "dynamic") - set(LIBWEBM_CRT_LINKAGE -DMSVC_RUNTIME=dll) -else() - set(LIBWEBM_CRT_LINKAGE -DMSVC_RUNTIME=static) -endif() - vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - ${LIBWEBM_CRT_LINKAGE} - -DENABLE_SAMPLES=OFF - -DENABLE_TOOLS=OFF - -DENABLE_WEBMTS=OFF - -DENABLE_WEBMINFO=OFF + ${LIBWEBM_CRT_LINKAGE} + -DENABLE_SAMPLE_PROGRAMS=OFF + -DENABLE_TESTS=OFF + -DENABLE_WEBMTS=OFF + -DENABLE_WEBMINFO=OFF ) vcpkg_cmake_install() vcpkg_copy_pdbs() - +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-libwebm) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL "${SOURCE_PATH}/LICENSE.TXT" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) \ No newline at end of file +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.TXT") diff --git a/ports/libwebm/vcpkg.json b/ports/libwebm/vcpkg.json index 0f986243668206..7d5925a17455c0 100644 --- a/ports/libwebm/vcpkg.json +++ b/ports/libwebm/vcpkg.json @@ -1,9 +1,10 @@ { "name": "libwebm", - "version": "1.0.0.28", + "version": "1.0.0.31", "port-version": 1, "description": "WebM File Parser", "homepage": "https://github.com/webmproject/libwebm", + "license": "BSD-3-Clause", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/libwebp/0002-cmake-config.patch b/ports/libwebp/0002-cmake-config.patch index af6be52320aed2..ad191405eec5d1 100644 --- a/ports/libwebp/0002-cmake-config.patch +++ b/ports/libwebp/0002-cmake-config.patch @@ -1,11 +1,11 @@ diff --git a/cmake/WebPConfig.cmake.in b/cmake/WebPConfig.cmake.in -index f334739..43f10e0 100644 +index a0d721f..8726c09 100644 --- a/cmake/WebPConfig.cmake.in +++ b/cmake/WebPConfig.cmake.in -@@ -12,5 +12,12 @@ include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") - +@@ -13,7 +13,14 @@ include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") set_and_check(WebP_INCLUDE_DIR "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@") - set(WEBP_INCLUDE_DIRS ${WebP_INCLUDE_DIRS}) + set(WebP_INCLUDE_DIRS ${WebP_INCLUDE_DIR}) + set(WEBP_INCLUDE_DIRS ${WebP_INCLUDE_DIR}) -set(WebP_LIBRARIES "@INSTALLED_LIBRARIES@") +set(WebP_LIBRARIES "") +include(SelectLibraryConfigurations) @@ -16,3 +16,5 @@ index f334739..43f10e0 100644 + list(APPEND WebP_LIBRARIES ${_vcpkg_${_vcpkg_libwebp_lib}_LIBRARIES}) +endforeach() set(WEBP_LIBRARIES "${WebP_LIBRARIES}") + + check_required_components(WebP) diff --git a/ports/libwebp/0003-simd.patch b/ports/libwebp/0003-simd.patch index 523e05d4433c9b..3c362364db19a3 100644 --- a/ports/libwebp/0003-simd.patch +++ b/ports/libwebp/0003-simd.patch @@ -1,5 +1,5 @@ diff --git a/cmake/cpu.cmake b/cmake/cpu.cmake -index 7513ca8..38ec73b 100644 +index 040c524..f345b89 100644 --- a/cmake/cpu.cmake +++ b/cmake/cpu.cmake @@ -50,7 +50,7 @@ if(MSVC AND CMAKE_C_COMPILER_ID STREQUAL "MSVC") @@ -11,8 +11,8 @@ index 7513ca8..38ec73b 100644 endif() set(SIMD_DISABLE_FLAGS) else() -@@ -110,6 +110,9 @@ foreach(I_SIMD RANGE ${WEBP_SIMD_FLAGS_RANGE}) - "src/dsp/*${WEBP_SIMD_FILE_EXTENSION}") +@@ -111,6 +111,9 @@ foreach(I_SIMD RANGE ${WEBP_SIMD_FLAGS_RANGE}) + "${CMAKE_CURRENT_LIST_DIR}/../src/dsp/*${WEBP_SIMD_FILE_EXTENSION}") if(WEBP_HAVE_${WEBP_SIMD_FLAG}) # Memorize the file and flags. + if("${SIMD_COMPILE_FLAG}" STREQUAL "") diff --git a/ports/libwebp/0008-sdl.patch b/ports/libwebp/0008-sdl.patch index 134ed975f8a63d..7622ca4d8f6d26 100644 --- a/ports/libwebp/0008-sdl.patch +++ b/ports/libwebp/0008-sdl.patch @@ -1,43 +1,31 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 0a5af42..636eef7 100644 +index b785a8e..f214a32 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -647,26 +647,32 @@ if(WEBP_BUILD_EXTRAS) - ${CMAKE_CURRENT_BINARY_DIR}/src ${SDL_INCLUDE_DIR}) +@@ -665,6 +665,10 @@ if(WEBP_BUILD_EXTRAS) + ${CMAKE_CURRENT_BINARY_DIR}/src ${SDL2_INCLUDE_DIRS}) set(WEBP_HAVE_SDL 1) target_compile_definitions(vwebp_sdl PUBLIC WEBP_HAVE_SDL) + target_compile_definitions(vwebp_sdl PRIVATE WEBP_HAVE_JUST_SDL_H) + if(WIN32) + target_link_libraries(vwebp_sdl dxguid winmm) + endif() - endif() - endif() - if(WEBP_BUILD_WEBP_JS) - # The default stack size changed from 5MB to 64KB in 3.1.27. See - # https://crbug.com/webp/614. - if(EMSCRIPTEN_VERSION VERSION_GREATER_EQUAL "3.1.27") - # TOTAL_STACK size was renamed to STACK_SIZE in 3.1.27. The old name was - # kept for compatibility, but prefer the new one in case it is removed in - # the future. - set(emscripten_stack_size "-sSTACK_SIZE=5MB") - else() - set(emscripten_stack_size "-sTOTAL_STACK=5MB") - endif() - # wasm2js does not support SIMD. -+ find_package(SDL REQUIRED) + set(CMAKE_REQUIRED_INCLUDES "${SDL2_INCLUDE_DIRS}") + check_c_source_compiles( +@@ -699,8 +703,9 @@ if(WEBP_BUILD_WEBP_JS) if(NOT WEBP_ENABLE_SIMD) # JavaScript version add_executable(webp_js ${CMAKE_CURRENT_SOURCE_DIR}/extras/webp_to_sdl.c) -- target_link_libraries(webp_js webpdecoder SDL) +- target_link_libraries(webp_js webpdecoder SDL2) + target_link_libraries(webp_js webpdecoder ${SDL_LIBRARY}) target_include_directories(webp_js PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) + target_include_directories(webp_js PRIVATE ${SDL_INCLUDE_DIR}) set(WEBP_HAVE_SDL 1) set_target_properties( webp_js -@@ -675,12 +681,15 @@ if(WEBP_BUILD_WEBP_JS) - -sEXPORTED_RUNTIME_METHODS=cwrap") +@@ -715,12 +720,15 @@ if(WEBP_BUILD_WEBP_JS) + -sALLOW_MEMORY_GROWTH") set_target_properties(webp_js PROPERTIES OUTPUT_NAME webp) target_compile_definitions(webp_js PUBLIC EMSCRIPTEN WEBP_HAVE_SDL) + target_compile_definitions(webp_js PUBLIC EMSCRIPTEN WEBP_HAVE_JUST_SDL_H) @@ -45,11 +33,11 @@ index 0a5af42..636eef7 100644 # WASM version add_executable(webp_wasm ${CMAKE_CURRENT_SOURCE_DIR}/extras/webp_to_sdl.c) -- target_link_libraries(webp_wasm webpdecoder SDL) +- target_link_libraries(webp_wasm webpdecoder SDL2) + target_link_libraries(webp_wasm webpdecoder ${SDL_LIBRARY}) target_include_directories(webp_wasm PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) + target_include_directories(webp_wasm PRIVATE ${SDL_INCLUDE_DIR}) + target_compile_definitions(webp_wasm PUBLIC EMSCRIPTEN WEBP_HAVE_JUST_SDL_H) set_target_properties( webp_wasm - PROPERTIES LINK_FLAGS "-sWASM=1 ${emscripten_stack_size} \ + PROPERTIES diff --git a/ports/libwebp/0010-fix_build.patch b/ports/libwebp/0010-fix_build.patch deleted file mode 100644 index c33bee25e6dd08..00000000000000 --- a/ports/libwebp/0010-fix_build.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 636eef7..80361f1 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -452,6 +452,7 @@ endif() - if(WEBP_BUILD_ANIM_UTILS - OR WEBP_BUILD_CWEBP - OR WEBP_BUILD_DWEBP -+ OR WEBP_BUILD_EXTRAS - OR WEBP_BUILD_GIF2WEBP - OR WEBP_BUILD_IMG2WEBP - OR WEBP_BUILD_VWEBP -@@ -488,6 +489,8 @@ if(WEBP_BUILD_ANIM_UTILS - TARGET exampleutil imageioutil imagedec imageenc - PROPERTY INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR}/src - ${CMAKE_CURRENT_BINARY_DIR}/src) -+ target_include_directories(imagedec PRIVATE ${WEBP_DEP_IMG_INCLUDE_DIRS}) -+ target_include_directories(imageenc PRIVATE ${WEBP_DEP_IMG_INCLUDE_DIRS}) - endif() - - if(WEBP_BUILD_DWEBP) diff --git a/ports/libwebp/0011-fix-include.patch b/ports/libwebp/0011-fix-include.patch deleted file mode 100644 index 899378541d46c9..00000000000000 --- a/ports/libwebp/0011-fix-include.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/cmake/WebPConfig.cmake.in b/cmake/WebPConfig.cmake.in -index 74a5891..4c084d9 100644 ---- a/cmake/WebPConfig.cmake.in -+++ b/cmake/WebPConfig.cmake.in -@@ -11,7 +11,7 @@ endif() - include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") - - set_and_check(WebP_INCLUDE_DIR "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@") --set(WEBP_INCLUDE_DIRS ${WebP_INCLUDE_DIRS}) -+set(WEBP_INCLUDE_DIRS ${WebP_INCLUDE_DIR}) - set(WebP_LIBRARIES "") - include(SelectLibraryConfigurations) - foreach(_vcpkg_libwebp_lib IN ITEMS @INSTALLED_LIBRARIES@ sharpyuv) diff --git a/ports/libwebp/portfile.cmake b/ports/libwebp/portfile.cmake index 45bb1c31194932..eef807ab06d6ec 100644 --- a/ports/libwebp/portfile.cmake +++ b/ports/libwebp/portfile.cmake @@ -2,14 +2,12 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO webmproject/libwebp REF "v${VERSION}" - SHA512 2faa1bee1b73ded2b1460fc50a5973a37eefdc7b88d6a013491ba1c921d61413a653d44a953e8f6a3161ca6183f57ca9fe3be0f0a72b480895a299429a500dcf + SHA512 a922cb84e147f1aeaaac9ff4c6000ebad067a9a4b74d94c25d6c9181f487dfd6d8c7966ac1d239f4fad65cc07ad3d5c82ee9ab4adfa4b125d231056781632548 HEAD_REF master PATCHES 0002-cmake-config.patch 0003-simd.patch 0008-sdl.patch - 0010-fix_build.patch - 0011-fix-include.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS diff --git a/ports/libwebp/vcpkg.json b/ports/libwebp/vcpkg.json index 614a9455e94577..2d1c56b42feb03 100644 --- a/ports/libwebp/vcpkg.json +++ b/ports/libwebp/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libwebp", - "version": "1.3.2", + "version": "1.5.0", "description": "WebP codec: library to encode and decode images in WebP format", "homepage": "https://github.com/webmproject/libwebp", "license": "BSD-3-Clause", @@ -85,7 +85,10 @@ "mux" ] }, - "tiff" + { + "name": "tiff", + "default-features": false + } ] }, "cwebp": { @@ -93,7 +96,10 @@ "dependencies": [ "libjpeg-turbo", "libpng", - "tiff" + { + "name": "tiff", + "default-features": false + } ] }, "dwebp": { @@ -101,7 +107,10 @@ "dependencies": [ "libjpeg-turbo", "libpng", - "tiff" + { + "name": "tiff", + "default-features": false + } ] }, "extras": { @@ -109,7 +118,10 @@ "dependencies": [ "libjpeg-turbo", "libpng", - "tiff" + { + "name": "tiff", + "default-features": false + } ] }, "gif2webp": { @@ -137,7 +149,10 @@ "libwebpmux" ] }, - "tiff" + { + "name": "tiff", + "default-features": false + } ] }, "info": { diff --git a/ports/libwebsockets/fix-find-openssl.patch b/ports/libwebsockets/fix-find-openssl.patch deleted file mode 100644 index 4bd45af3bd75df..00000000000000 --- a/ports/libwebsockets/fix-find-openssl.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff --git a/lib/tls/CMakeLists.txt b/lib/tls/CMakeLists.txt ---- a/lib/tls/CMakeLists.txt (revision a5aae049b2a386712e1be3b417915c0d44c7e675) -+++ b/lib/tls/CMakeLists.txt (date 1642427956730) -@@ -257,7 +257,6 @@ - find_package(PkgConfig QUIET) - pkg_check_modules(PC_OPENSSL openssl QUIET) - find_package(OpenSSL REQUIRED) -- list(APPEND OPENSSL_LIBRARIES ${PC_OPENSSL_LIBRARIES}) - set(OPENSSL_LIBRARIES ${OPENSSL_LIBRARIES} PARENT_SCOPE) - endif() - set(OPENSSL_INCLUDE_DIRS "${OPENSSL_INCLUDE_DIR}") diff --git a/ports/libwebsockets/portfile.cmake b/ports/libwebsockets/portfile.cmake index 6a4419c4642c68..66ff3415b6e835 100644 --- a/ports/libwebsockets/portfile.cmake +++ b/ports/libwebsockets/portfile.cmake @@ -1,14 +1,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO warmcat/libwebsockets - REF b0a749c8e7a8294b68581ce4feac0e55045eb00b # v4.3.2 - SHA512 48c1d59cfdbe6cc043a51e950a614273bd2f9bbfd0ab8436e4ba30bf119cfdbc3e691c02608e8c169356ec79ca96472340d98d17659b66ee60bb998f3695d3c4 + REF 4415e84c095857629863804e941b9e1c2e9347ef # v4.3.3 + SHA512 11aed4ce06af0ef94ce3eaaf32cc2b5735be140dfcda1768cc8ccb0ed97c7bc7bdbb1b2718c6d6ef6a9058de208ba94cae85eedc1c597656300a4181060e31ff HEAD_REF master PATCHES fix-dependency-libuv.patch fix-build-error.patch export-include-path.patch - fix-find-openssl.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" LWS_WITH_STATIC) @@ -170,11 +169,11 @@ string(REPLACE "/../include" "/../../include" LIBWEBSOCKETSCONFIG_CMAKE "${LIBWE file(WRITE "${CURRENT_PACKAGES_DIR}/share/libwebsockets/libwebsockets-config.cmake" "${LIBWEBSOCKETSCONFIG_CMAKE}") if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - vcpkg_replace_string( "${CURRENT_PACKAGES_DIR}/share/libwebsockets/LibwebsocketsTargets-debug.cmake" "websockets_static.lib" "websockets.lib") + vcpkg_replace_string( "${CURRENT_PACKAGES_DIR}/share/libwebsockets/LibwebsocketsTargets-debug.cmake" "websockets_static.lib" "websockets.lib" IGNORE_UNCHANGED) endif() if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - vcpkg_replace_string( "${CURRENT_PACKAGES_DIR}/share/libwebsockets/LibwebsocketsTargets-release.cmake" "websockets_static.lib" "websockets.lib") + vcpkg_replace_string( "${CURRENT_PACKAGES_DIR}/share/libwebsockets/LibwebsocketsTargets-release.cmake" "websockets_static.lib" "websockets.lib" IGNORE_UNCHANGED) endif() if (VCPKG_LIBRARY_LINKAGE STREQUAL static) diff --git a/ports/libwebsockets/vcpkg.json b/ports/libwebsockets/vcpkg.json index c835c97ec4a133..53c1891e482859 100644 --- a/ports/libwebsockets/vcpkg.json +++ b/ports/libwebsockets/vcpkg.json @@ -1,6 +1,7 @@ { "name": "libwebsockets", - "version-semver": "4.3.2", + "version-semver": "4.3.3", + "port-version": 1, "description": "Libwebsockets is a lightweight pure C library built to use minimal CPU and memory resources, and provide fast throughput in both directions as client or server.", "homepage": "https://github.com/warmcat/libwebsockets", "supports": "!uwp", diff --git a/ports/libx11/optimize-configure.patch b/ports/libx11/optimize-configure.patch new file mode 100644 index 00000000000000..d964c2b03faf7e --- /dev/null +++ b/ports/libx11/optimize-configure.patch @@ -0,0 +1,13 @@ +diff --git a/Makefile.am b/Makefile.am +index b14f9d78..2df82fe3 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -4,7 +4,7 @@ else + ORDER=modules src + endif + # Order: nls before specs +-SUBDIRS=include $(ORDER) nls man specs ++SUBDIRS=include $(ORDER) nls + + ACLOCAL_AMFLAGS = -I m4 + diff --git a/ports/libx11/portfile.cmake b/ports/libx11/portfile.cmake index 9c5cfde59af783..f19be986958238 100644 --- a/ports/libx11/portfile.cmake +++ b/ports/libx11/portfile.cmake @@ -14,11 +14,13 @@ vcpkg_from_gitlab( REF 3a30ada60c5217ada37b143b541c8e6f6284c7fa SHA512 441f86ff8293d27459feaa93f85bcd4d02c6bd64fdb4d95199e5ee8a75340c2ce9b0fccd0b05840ce0de30ff3af3d21e6f37c81840e82b37dbddf082911b585d HEAD_REF master - PATCHES cl.build.patch - io_include.patch - ${PATCHES} - vcxserver.patch - add_dl_pc.patch + PATCHES + optimize-configure.patch + cl.build.patch + io_include.patch + ${PATCHES} + vcxserver.patch + add_dl_pc.patch ) set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/xorg/aclocal/\"") diff --git a/ports/libx11/vcpkg.json b/ports/libx11/vcpkg.json index e54cf87f0db51e..86115b78f07ac6 100644 --- a/ports/libx11/vcpkg.json +++ b/ports/libx11/vcpkg.json @@ -1,7 +1,7 @@ { "name": "libx11", "version": "1.8.1", - "port-version": 1, + "port-version": 2, "description": "The X Window System is a network-transparent window system that was designed at MIT.", "homepage": "https://www.x.org/wiki/", "license": "MIT", diff --git a/ports/libxcrypt/portfile.cmake b/ports/libxcrypt/portfile.cmake index fac97500e4d77c..d5211df754c26b 100644 --- a/ports/libxcrypt/portfile.cmake +++ b/ports/libxcrypt/portfile.cmake @@ -1,10 +1,33 @@ set(VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS enabled) +# Requirements from https://github.com/besser82/libxcrypt?tab=readme-ov-file#build-requirements-and-instructions +message( +"${PORT} currently requires the following libraries from the system package manager: + autoconf automake libtool pkg-config +These can be installed on Debian systems via sudo apt install autoconf automake libtool pkg-config" +) +find_program(AUTORECONF_BIN autoreconf) +if(NOT AUTORECONF_BIN) + message(FATAL_ERROR "${PORT} requires autoconf from the system package manager (example: \"sudo apt install autoconf\")") +endif() +find_program(LIBTOOL_BIN libtoolize) +if(NOT LIBTOOL_BIN) + message(FATAL_ERROR "${PORT} requires libtool from the system package manager (example: \"sudo apt install libtool\")") +endif() + +vcpkg_download_distfile(PATCH_FIX_ERROR_STRICT_OVERFLOW + URLS https://github.com/besser82/libxcrypt/commit/7fc153170ea6c2938c0392794778de7ec995f8f9.patch?full_index=1 + SHA512 55f4709c52f6d0a29f159348821c06e3f5df0fae83f487b7a52ce61cd3f6a3a0f48023159fb7029d0a5a3decee36ac6a429cc91e23a83996a3265d681fa11929 + FILENAME besser82-libxcrypt-7fc153170ea6c2938c0392794778de7ec995f8f9.patch +) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO besser82/libxcrypt REF "v${VERSION}" SHA512 61e5e393654f37775457474d4170098314879ee79963d423c1c461e80dc5dc74f0c161dd8754f016ce96109167be6c580ad23994fa1d2c38c54b96e602f3aece + PATCHES + "${PATCH_FIX_ERROR_STRICT_OVERFLOW}" ) vcpkg_configure_make( diff --git a/ports/libxcrypt/vcpkg.json b/ports/libxcrypt/vcpkg.json index e0f08eb1832d0e..04267a232b596f 100644 --- a/ports/libxcrypt/vcpkg.json +++ b/ports/libxcrypt/vcpkg.json @@ -1,6 +1,7 @@ { "name": "libxcrypt", "version": "4.4.36", + "port-version": 2, "description": "libxcrypt is a modern library for one-way hashing of passwords. On Linux-based systems, by default libxcrypt will be binary backward compatible with the libcrypt.so.1 shipped as part of the GNU C Library.", "homepage": "https://github.com/besser82/libxcrypt", "license": "LGPL-2.1-only", diff --git a/ports/libxcvt/vcpkg.json b/ports/libxcvt/vcpkg.json index 0037a0ff88f20c..bc7bcd5785f05b 100644 --- a/ports/libxcvt/vcpkg.json +++ b/ports/libxcvt/vcpkg.json @@ -1,8 +1,15 @@ { "name": "libxcvt", "version": "0.1.2", + "port-version": 1, "description": "A library providing a standalone version of the X server implementation of the VESA CVT standard timing modelines generator.", "homepage": "https://gitlab.freedesktop.org/xorg/lib/libxcvt", "license": null, - "supports": "!windows" + "supports": "!windows", + "dependencies": [ + { + "name": "vcpkg-tool-meson", + "host": true + } + ] } diff --git a/ports/libxdf/fix-pugixml-dependency.patch b/ports/libxdf/fix-pugixml-dependency.patch deleted file mode 100644 index 5b888b9866df7a..00000000000000 --- a/ports/libxdf/fix-pugixml-dependency.patch +++ /dev/null @@ -1,65 +0,0 @@ -From ca070dfdd96db5c9eb9a5a88d1193f25b13e01f3 Mon Sep 17 00:00:00 2001 -From: myd7349 -Date: Mon, 31 Jul 2023 23:50:40 +0800 -Subject: [PATCH] Fix missing pugixml dependency in generated CMake package - file - ---- - CMakeLists.txt | 14 ++++++++++++-- - libxdfConfig.cmake.in | 9 +++++++++ - 2 files changed, 21 insertions(+), 2 deletions(-) - create mode 100644 libxdfConfig.cmake.in - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 98cc03f..42f9a91 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -43,18 +43,28 @@ target_include_directories(xdf PUBLIC - $ - $ - ) -+include(CMakePackageConfigHelpers) - include(GNUInstallDirs) -+configure_package_config_file( -+ ${CMAKE_CURRENT_LIST_DIR}/libxdfConfig.cmake.in -+ ${CMAKE_CURRENT_BINARY_DIR}/libxdfConfig.cmake -+ INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} -+) - install(TARGETS xdf -- EXPORT "${PROJECT_NAME}Config" -+ EXPORT "${PROJECT_NAME}Targets" - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - ) --install(EXPORT "${PROJECT_NAME}Config" -+install(EXPORT "${PROJECT_NAME}Targets" - COMPONENT ${PROJECT_NAME} - NAMESPACE "XDF::" - DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} - ) -+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libxdfConfig.cmake -+ COMPONENT ${PROJECT_NAME} -+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} -+) - - # set(CPACK_STRIP_FILES ON) - # set(CPACK_ARCHIVE_COMPONENT_INSTALL ON) -diff --git a/libxdfConfig.cmake.in b/libxdfConfig.cmake.in -new file mode 100644 -index 0000000..84331f0 ---- /dev/null -+++ b/libxdfConfig.cmake.in -@@ -0,0 +1,9 @@ -+@PACKAGE_INIT@ -+ -+include(CMakeFindDependencyMacro) -+ -+find_dependency(pugixml) -+ -+if(NOT TARGET XDF::xdf) -+ include("${CMAKE_CURRENT_LIST_DIR}/libxdfTargets.cmake") -+endif() --- -2.30.1.windows.1 - diff --git a/ports/libxdf/portfile.cmake b/ports/libxdf/portfile.cmake index ac5f9d409ac916..cb567774b47ca4 100644 --- a/ports/libxdf/portfile.cmake +++ b/ports/libxdf/portfile.cmake @@ -4,10 +4,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO xdf-modules/libxdf REF "v${VERSION}" - SHA512 81ff3598442d3ea166ec54b74248ad7b7eca5fcfdb72526978966398ad9e6524883183e71b68e349c46c2705779bf2b4922ce097f01afe7a62faa449ab8fa075 + SHA512 17b68a307118a1a1375ad1a4717d5bd83515daea51623f617d0c5673435fb79df2bbc7445504b274495481b089f93b10bec025a05ef641478eff77e36d420e4c HEAD_REF main - PATCHES - fix-pugixml-dependency.patch ) vcpkg_cmake_configure( diff --git a/ports/libxdf/vcpkg.json b/ports/libxdf/vcpkg.json index c2075708db13e6..9d96bc1fdb12d2 100644 --- a/ports/libxdf/vcpkg.json +++ b/ports/libxdf/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libxdf", - "version": "0.99.8", + "version": "0.99.9", "description": "C++ library for loading multimodal, multi-rate signals stored in XDF files.", "homepage": "https://xdf-modules.github.io/libxdf/", "license": "BSD-2-Clause", diff --git a/ports/libxdiff/fix-usage-error.patch b/ports/libxdiff/fix-usage-error.patch new file mode 100644 index 00000000000000..e7f28e30b30d82 --- /dev/null +++ b/ports/libxdiff/fix-usage-error.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 33c34c2..1d93cde 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -87,8 +87,9 @@ INSTALL ( + EXPORT XDiffTargets + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib +- RUNTIME DESTINATION lib ++ RUNTIME DESTINATION bin + ) ++target_include_directories(xdiff INTERFACE "$" "$") + + WRITE_BASIC_PACKAGE_VERSION_FILE ( + "${CMAKE_CURRENT_BINARY_DIR}/XDiff/XDiffConfigVersion.cmake" diff --git a/ports/libxdiff/portfile.cmake b/ports/libxdiff/portfile.cmake index eb2bc82771c8c9..74dbc2d30a3983 100644 --- a/ports/libxdiff/portfile.cmake +++ b/ports/libxdiff/portfile.cmake @@ -9,6 +9,8 @@ vcpkg_from_github( REF ${LIBXDIFF_REF} SHA512 ${LIBXDIFF_SHA512} HEAD_REF master + PATCHES + fix-usage-error.patch ) vcpkg_cmake_configure( @@ -35,7 +37,7 @@ if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL release) endif() endif() -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") vcpkg_copy_pdbs() diff --git a/ports/libxdiff/vcpkg.json b/ports/libxdiff/vcpkg.json index 73a404c921d8ed..5c54cdf44e0de1 100644 --- a/ports/libxdiff/vcpkg.json +++ b/ports/libxdiff/vcpkg.json @@ -1,7 +1,7 @@ { "name": "libxdiff", "version": "0.23", - "port-version": 3, + "port-version": 4, "description": "The LibXDiff library implements basic and yet complete functionalities to create file differences/patches to both binary and text files. The library uses memory files as file abstraction to achieve both performance and portability.", "homepage": "https://github.com/Drako/libxdiff", "supports": "!uwp", diff --git a/ports/libxfont/portfile.cmake b/ports/libxfont/portfile.cmake index a4af82e27908d7..4769a7bfb33868 100644 --- a/ports/libxfont/portfile.cmake +++ b/ports/libxfont/portfile.cmake @@ -35,10 +35,12 @@ if(VCPKG_TARGET_IS_WINDOWS) file(READ "${_file}" _contents) string(REPLACE "-lm" "" _contents "${_contents}") file(WRITE "${_file}" "${_contents}") - set(_file "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/xfont2.pc") - file(READ "${_file}" _contents) - string(REPLACE "-lm" "" _contents "${_contents}") - file(WRITE "${_file}" "${_contents}") + if(NOT VCPKG_BUILD_TYPE) + set(_file "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/xfont2.pc") + file(READ "${_file}" _contents) + string(REPLACE "-lm" "" _contents "${_contents}") + file(WRITE "${_file}" "${_contents}") + endif() endif() vcpkg_fixup_pkgconfig() diff --git a/ports/libxfont/vcpkg.json b/ports/libxfont/vcpkg.json index 8fac451fbcc40b..c200e478fc32e6 100644 --- a/ports/libxfont/vcpkg.json +++ b/ports/libxfont/vcpkg.json @@ -1,6 +1,7 @@ { "name": "libxfont", "version": "2.0.5", + "port-version": 1, "description": "X font handling library for server & utilities", "homepage": "https://gitlab.freedesktop.org/xorg/lib/libxfont", "license": null, diff --git a/ports/libxkbcommon/build.patch b/ports/libxkbcommon/build.patch index 9cc9ea9b2bc326..fc51387fc1cc0d 100644 --- a/ports/libxkbcommon/build.patch +++ b/ports/libxkbcommon/build.patch @@ -1,9 +1,8 @@ diff --git a/tools/how-to-type.c b/tools/how-to-type.c -index 0a6f79e68..c1205004d 100644 +index 72aea1b..783373a 100644 --- a/tools/how-to-type.c +++ b/tools/how-to-type.c -@@ -25,8 +25,10 @@ - +@@ -26,7 +26,9 @@ #include #include #include @@ -14,11 +13,11 @@ index 0a6f79e68..c1205004d 100644 #include "xkbcommon/xkbcommon.h" diff --git a/tools/tools-common.c b/tools/tools-common.c -index 254499d8c..2465a88c2 100644 +index 8eb3f4b..8b22307 100644 --- a/tools/tools-common.c +++ b/tools/tools-common.c @@ -42,6 +42,7 @@ - #ifdef _MSC_VER + #ifdef _WIN32 #include #include +#include diff --git a/ports/libxkbcommon/disable-test.patch b/ports/libxkbcommon/disable-test.patch new file mode 100644 index 00000000000000..eceb06be4d75ac --- /dev/null +++ b/ports/libxkbcommon/disable-test.patch @@ -0,0 +1,20 @@ +diff --git a/meson.build b/meson.build +index 2de4ee9..bb53561 100644 +--- a/meson.build ++++ b/meson.build +@@ -601,6 +601,7 @@ configure_file(input: 'test/xkeyboard-config-test.py.in', + configuration: xkct_config) + + # Tests ++if false + test_env = environment() + test_env.set('XKB_LOG_LEVEL', 'debug') + test_env.set('XKB_LOG_VERBOSITY', '10') +@@ -873,6 +874,7 @@ if get_option('enable-x11') + env: bench_env, + ) + endif ++endif + + + # Documentation. diff --git a/ports/libxkbcommon/fix_msvc_build.patch b/ports/libxkbcommon/fix_msvc_build.patch deleted file mode 100644 index 9caecd1cb62973..00000000000000 --- a/ports/libxkbcommon/fix_msvc_build.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/meson.build b/meson.build -index 47c436f8d..3fdbe4709 100644 ---- a/meson.build -+++ b/meson.build -@@ -641,7 +641,7 @@ if get_option('enable-x11') - ) - # test/x11comp is meant to be run, but it is (temporarily?) disabled. - # See: https://github.com/xkbcommon/libxkbcommon/issues/30 -- executable('test-x11comp', 'test/x11comp.c', dependencies: x11_test_dep) -+ # executable('test-x11comp', 'test/x11comp.c', dependencies: x11_test_dep) - endif - if get_option('enable-xkbregistry') - test( diff --git a/ports/libxkbcommon/portfile.cmake b/ports/libxkbcommon/portfile.cmake index 87b4547e958678..b42574867490ff 100644 --- a/ports/libxkbcommon/portfile.cmake +++ b/ports/libxkbcommon/portfile.cmake @@ -6,17 +6,18 @@ else() set(PATCHES "") if(VCPKG_TARGET_IS_WINDOWS) #vcpkg_check_linkage(ONLY_STATIC_LIBRARY) # Meson is not able to automatically export symbols for DLLs - set(PATCHES fix_msvc_build.patch - build.patch) + set(PATCHES build.patch) endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO xkbcommon/libxkbcommon - REF 57af9cb71f19f37394399b549f7cb7b0d9fe3988 # v 1.4.1 - SHA512 0f1ecdf12c3cc6ff547a9cf42aa8ce1c63acbf2f6fb766899e5e8dbda401e25dd8137c2f59a04dadd445b4873bb80b8ae8b23f88140e5a318186c308a65921f5 + REF "xkbcommon-${VERSION}" + SHA512 454fbb2861405ca957d64035e924c1bbb7d43db7867903963fc053b7ecb64a8fba89a21cc8ac18ebeec9b61ae0789fb88c52521a850dc371857f28b08e80167b HEAD_REF master - PATCHES ${PATCHES} + PATCHES + disable-test.patch + ${PATCHES} ) vcpkg_find_acquire_program(FLEX) @@ -51,5 +52,5 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") endif() # Handle copyright -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") endif() diff --git a/ports/libxkbcommon/vcpkg.json b/ports/libxkbcommon/vcpkg.json index a3f5bfce922d41..30e85a783f36b3 100644 --- a/ports/libxkbcommon/vcpkg.json +++ b/ports/libxkbcommon/vcpkg.json @@ -1,7 +1,6 @@ { "name": "libxkbcommon", - "version": "1.4.1", - "port-version": 1, + "version": "1.7.0", "description": "keymap handling library for toolkits and window systems", "homepage": "https://xkbcommon.org/", "license": null, diff --git a/ports/libxlsxwriter/dependencies.diff b/ports/libxlsxwriter/dependencies.diff index eb7a1cf9f80495..27f26380ae2008 100644 --- a/ports/libxlsxwriter/dependencies.diff +++ b/ports/libxlsxwriter/dependencies.diff @@ -1,12 +1,12 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index e656184..776c88a 100644 +index 0e855c77..36ea4195 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -225,8 +225,8 @@ message("zlib version: " ${ZLIB_VERSION}) +@@ -230,8 +230,8 @@ message("zlib version: " ${ZLIB_VERSION}) # MINIZIP if (USE_SYSTEM_MINIZIP) -- find_package(MINIZIP REQUIRED "1.0") +- find_package(MINIZIP "1.0" REQUIRED) - list(APPEND LXW_PRIVATE_INCLUDE_DIRS ${MINIZIP_INCLUDE_DIRS}) + find_package(MINIZIP NAMES unofficial-minizip REQUIRED) + set(MINIZIP_LIBRARIES unofficial::minizip::minizip) diff --git a/ports/libxlsxwriter/fix-zlib-ver-required.patch b/ports/libxlsxwriter/fix-zlib-ver-required.patch deleted file mode 100644 index d2d1b104a47a13..00000000000000 --- a/ports/libxlsxwriter/fix-zlib-ver-required.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 776c88a..ccc057d 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -219,7 +219,7 @@ enable_language(CXX) - list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake) - - # ZLIB --find_package(ZLIB REQUIRED "1.0") -+find_package(ZLIB "1.0" REQUIRED) - list(APPEND LXW_PRIVATE_INCLUDE_DIRS ${ZLIB_INCLUDE_DIRS}) - message("zlib version: " ${ZLIB_VERSION}) - diff --git a/ports/libxlsxwriter/portfile.cmake b/ports/libxlsxwriter/portfile.cmake index 7d9427d484bf9e..ab56ec4e0d14a3 100644 --- a/ports/libxlsxwriter/portfile.cmake +++ b/ports/libxlsxwriter/portfile.cmake @@ -1,12 +1,11 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO jmcnamara/libxlsxwriter - REF "RELEASE_${VERSION}" - SHA512 bd7db0fcf25ebf492b4d8f7da8fdb6cc79400d7d0fa5856ddae259cb24817034fc97d4828cbde42434f41198dcfb6732ac63c756abd962689f4249ca64bf19c6 - HEAD_REF master + REF "v${VERSION}" + SHA512 4d1df3b66e694629025ba4154a746d896f9fa32c727267cfbeacf72a3fc70d1b34c7bc767a03bca81395bbe2ff366fc4f4184c2c40126bc6b2d58b33a758cc8f + HEAD_REF main PATCHES dependencies.diff - fix-zlib-ver-required.patch ) file(REMOVE_RECURSE "${SOURCE_PATH}/third_party/minizip") diff --git a/ports/libxlsxwriter/vcpkg.json b/ports/libxlsxwriter/vcpkg.json index f7d4f00afdbf1d..e6b7e178159b47 100644 --- a/ports/libxlsxwriter/vcpkg.json +++ b/ports/libxlsxwriter/vcpkg.json @@ -1,10 +1,10 @@ { "name": "libxlsxwriter", - "version": "1.1.5", - "port-version": 2, + "version": "1.1.8", + "port-version": 1, "description": "Libxlsxwriter is a C library that can be used to write text, numbers, formulas and hyperlinks to multiple worksheets in an Excel 2007+ XLSX file.", "homepage": "https://github.com/jmcnamara/libxlsxwriter", - "license": null, + "license": "BSD-2-Clause", "dependencies": [ "minizip", { diff --git a/ports/libxml2/disable-docs.patch b/ports/libxml2/disable-docs.patch index 848961429d65e5..15ab0a6c2c7819 100644 --- a/ports/libxml2/disable-docs.patch +++ b/ports/libxml2/disable-docs.patch @@ -1,20 +1,22 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index f922d5ab..70466bc7 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -599,15 +599,5 @@ if(LIBXML2_WITH_PYTHON) - endif() - --install(FILES doc/xml2-config.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 COMPONENT documentation) --install(FILES doc/xmlcatalog.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 COMPONENT documentation) --install(FILES doc/xmllint.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 COMPONENT documentation) --install(DIRECTORY doc/ DESTINATION ${CMAKE_INSTALL_DOCDIR} COMPONENT documentation -- PATTERN "Makefile.*" EXCLUDE -- PATTERN "*.1" EXCLUDE -- PATTERN "*.py" EXCLUDE -- PATTERN "*.res" EXCLUDE -- PATTERN "*.xml" EXCLUDE -- PATTERN "*.xsl" EXCLUDE) - - configure_package_config_file( - libxml2-config.cmake.cmake.in libxml2-config.cmake +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f99fd368..38dcd377 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -586,17 +586,6 @@ if(LIBXML2_WITH_PYTHON) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libxml2.py DESTINATION ${LIBXML2_PYTHON_INSTALL_DIR} COMPONENT runtime) + endif() + +-install(FILES doc/xml2-config.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 COMPONENT documentation) +-install(FILES doc/xmlcatalog.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 COMPONENT documentation) +-install(FILES doc/xmllint.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 COMPONENT documentation) +-install(DIRECTORY doc/ DESTINATION ${CMAKE_INSTALL_DOCDIR} COMPONENT documentation +- PATTERN "Makefile.*" EXCLUDE +- PATTERN "*.1" EXCLUDE +- PATTERN "*.py" EXCLUDE +- PATTERN "*.res" EXCLUDE +- PATTERN "*.xml" EXCLUDE +- PATTERN "*.xsl" EXCLUDE) +- + configure_package_config_file( + libxml2-config.cmake.cmake.in libxml2-config.cmake + INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libxml2-${PROJECT_VERSION} diff --git a/ports/libxml2/fix_cmakelist.patch b/ports/libxml2/fix_cmakelist.patch index 7be171290410cb..e450b2d95f8b68 100644 --- a/ports/libxml2/fix_cmakelist.patch +++ b/ports/libxml2/fix_cmakelist.patch @@ -1,119 +1,34 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 9701bdc..39e96ee 100644 +index f99fd368..3246a42c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -393,15 +393,15 @@ endif() - if(LIBXML2_WITH_ICU) - target_link_libraries(LibXml2 PRIVATE ICU::data ICU::i18n ICU::uc) - if(WIN32) -- set(ICU_LIBS "-licudt -licuin -licuuc") -+ set(ICU_LIBS "icu-i18n") - else() -- set(ICU_LIBS "-licudata -licui18n -licuuc") -+ set(ICU_LIBS "icu-i18n") - endif() - endif() - - if(LIBXML2_WITH_LZMA) - target_link_libraries(LibXml2 PRIVATE LibLZMA::LibLZMA) -- set(LZMA_LIBS "-llzma") -+ set(LZMA_LIBS "liblzma") - endif() - - if(LIBXML2_WITH_THREADS) -@@ -411,7 +411,7 @@ endif() - - if(LIBXML2_WITH_ZLIB) - target_link_libraries(LibXml2 PRIVATE ZLIB::ZLIB) -- set(Z_LIBS "-lz") -+ set(Z_LIBS "zlib") - endif() - - set_target_properties( -@@ -425,23 +425,9 @@ set_target_properties( - SOVERSION ${LIBXML_MAJOR_VERSION} +@@ -438,7 +438,7 @@ set_target_properties( + SOVERSION ${LIBXML_MAJOR_VERSION} ) -+set(XML_LIB_NAME xml2) - if(MSVC) -- if(BUILD_SHARED_LIBS) -- set_target_properties( -- LibXml2 -- PROPERTIES -- DEBUG_POSTFIX d -- ) -- else() -- set_target_properties( -- LibXml2 -- PROPERTIES -- DEBUG_POSTFIX sd -- MINSIZEREL_POSTFIX s -- RELEASE_POSTFIX s -- RELWITHDEBINFO_POSTFIX s -- ) -- endif() -+ set(XML_LIB_NAME libxml2) - endif() - - install(FILES ${LIBXML2_HDRS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/libxml2/libxml COMPONENT development) -@@ -574,30 +560,30 @@ endif() - - configure_package_config_file( - libxml2-config.cmake.cmake.in libxml2-config.cmake -- INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libxml2-${PROJECT_VERSION} -+ INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libxml2 - ) - - install( - FILES ${CMAKE_CURRENT_BINARY_DIR}/libxml2-config.cmake -- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libxml2-${PROJECT_VERSION} -+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libxml2 - COMPONENT development - ) - - write_basic_package_version_file( - ${CMAKE_CURRENT_BINARY_DIR}/libxml2-config-version.cmake - VERSION ${PROJECT_VERSION} -- COMPATIBILITY ExactVersion -+ COMPATIBILITY SameMinorVersion - ) - - install( - FILES ${CMAKE_CURRENT_BINARY_DIR}/libxml2-config-version.cmake -- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libxml2-${PROJECT_VERSION} -+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libxml2 - COMPONENT development - ) - - install( - EXPORT LibXml2 -- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libxml2-${PROJECT_VERSION} -+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libxml2 - NAMESPACE LibXml2:: - FILE libxml2-export.cmake - COMPONENT development -@@ -635,9 +621,7 @@ set(includedir "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}") +-if(MSVC) ++if(0) + if(BUILD_SHARED_LIBS) + set_target_properties( + LibXml2 +@@ -653,7 +653,11 @@ list(JOIN XML_PRIVATE_LIBS " " XML_PRIVATE_LIBS) + + set(XML_INCLUDEDIR "-I\${includedir}/libxml2") + set(XML_LIBDIR "-L\${libdir}") ++if(NOT MSVC) + set(XML_LIBS "-lxml2") ++else() ++set(XML_LIBS "-llibxml2") ++endif() + + if(BUILD_SHARED_LIBS) + set(XML_PC_PRIVATE ".private") +@@ -679,7 +683,7 @@ set(includedir "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}") configure_file(libxml-2.0.pc.in libxml-2.0.pc @ONLY) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libxml-2.0.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig COMPONENT development) -if(WIN32) -- set(prefix "\$(cd \"\$(dirname \"\$0\")\"; pwd -P)/..") --endif() -+set(prefix "\$(cd \"\$(dirname \"\$0\")\"; pwd -P)/..") ++if(1) + set(prefix "\$(cd \"\$(dirname \"\$0\")\"; pwd -P)/..") + endif() configure_file(xml2-config.in xml2-config @ONLY) - install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/xml2-config DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT development) - -diff --git a/libxml-2.0.pc.in b/libxml-2.0.pc.in -index 88e3963b..0d1706c9 100644 ---- a/libxml-2.0.pc.in -+++ b/libxml-2.0.pc.in -@@ -8,6 +8,7 @@ Name: libXML - Version: @VERSION@ - Description: libXML library version2. - Requires: --Libs: -L${libdir} @XML_LIBS@ --Libs.private: @XML_PRIVATE_LIBS@ @LIBS@ -+Requires.private: @ICU_LIBS@ @Z_LIBS@ @LZMA_LIBS@ -+Libs: -L${libdir} -l@XML_LIB_NAME@ -+Libs.private: @THREAD_LIBS@ @ICONV_LIBS@ @LIBM@ @WINSOCK_LIBS@ @LIBS@ - Cflags: @XML_INCLUDEDIR@ @XML_CFLAGS@ diff --git a/ports/libxml2/fix_ios_compilation.patch b/ports/libxml2/fix_ios_compilation.patch new file mode 100644 index 00000000000000..16a2423f5fcf4c --- /dev/null +++ b/ports/libxml2/fix_ios_compilation.patch @@ -0,0 +1,87 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0a279c8..8e771ee 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -136,7 +136,7 @@ if (NOT MSVC) + check_include_files(fcntl.h HAVE_FCNTL_H) + check_function_exists(fpclass HAVE_FPCLASS) + check_function_exists(ftime HAVE_FTIME) +- check_function_exists(getentropy HAVE_GETENTROPY) ++ check_symbol_exists(getentropy "sys/random.h" HAVE_GETENTROPY) + check_function_exists(gettimeofday HAVE_GETTIMEOFDAY) + check_library_exists(history append_history "" HAVE_LIBHISTORY) + check_library_exists(readline readline "" HAVE_LIBREADLINE) +@@ -149,7 +149,6 @@ if (NOT MSVC) + check_function_exists(stat HAVE_STAT) + check_include_files(stdint.h HAVE_STDINT_H) + check_include_files(sys/mman.h HAVE_SYS_MMAN_H) +- check_include_files(sys/random.h HAVE_SYS_RANDOM_H) + check_include_files(sys/select.h HAVE_SYS_SELECT_H) + check_include_files(sys/socket.h HAVE_SYS_SOCKET_H) + check_include_files(sys/stat.h HAVE_SYS_STAT_H) +diff --git a/config.h.cmake.in b/config.h.cmake.in +index 2f4aeba..79f1cdb 100644 +--- a/config.h.cmake.in ++++ b/config.h.cmake.in +@@ -69,9 +69,6 @@ + /* Define to 1 if you have the header file. */ + #cmakedefine HAVE_SYS_MMAN_H 1 + +-/* Define to 1 if you have the header file. */ +-#cmakedefine HAVE_SYS_RANDOM_H 1 +- + /* Define to 1 if you have the header file. */ + #cmakedefine HAVE_SYS_SELECT_H 1 + +diff --git a/configure.ac b/configure.ac +index 48cd2f0..0f09c61 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -304,7 +304,6 @@ AC_CHECK_HEADERS([stdint.h]) + AC_CHECK_HEADERS([fcntl.h unistd.h sys/stat.h]) + AC_CHECK_HEADERS([sys/mman.h]) + AC_CHECK_HEADERS([sys/time.h sys/timeb.h]) +-AC_CHECK_HEADERS([sys/random.h]) + AC_CHECK_HEADERS([dl.h dlfcn.h]) + AC_CHECK_HEADERS([glob.h]) + AM_CONDITIONAL(WITH_GLOB, test "$ac_cv_header_glob_h" = "yes") +@@ -317,9 +316,7 @@ AH_VERBATIM([HAVE_MUNMAP_AFTER],[/* mmap() is no good without munmap() */ + # undef /**/ HAVE_MMAP + #endif]) + +-AC_CHECK_DECL([getentropy], +- [AC_DEFINE([HAVE_GETENTROPY], [1], [getentropy])], [], +- [#include ]) ++AC_CHECK_DECLS([getentropy], [], [], [#include ]) + + dnl + dnl Checks for inet libraries +diff --git a/dict.c b/dict.c +index 49e1c6b..46bb4d4 100644 +--- a/dict.c ++++ b/dict.c +@@ -928,13 +928,11 @@ xmlDictQLookup(xmlDictPtr dict, const xmlChar *prefix, const xmlChar *name) { + #define WIN32_LEAN_AND_MEAN + #include + #include +-#elif defined(HAVE_GETENTROPY) ++#elif HAVE_GETENTROPY + #ifdef HAVE_UNISTD_H + #include + #endif +- #ifdef HAVE_SYS_RANDOM_H +- #include +- #endif ++ #include + #else + #include + #endif +@@ -965,7 +963,7 @@ xmlInitRandom(void) { + "error code %lu\n", GetLastError()); + abort(); + } +-#elif defined(HAVE_GETENTROPY) ++#elif HAVE_GETENTROPY + while (1) { + if (getentropy(globalRngState, sizeof(globalRngState)) == 0) + break; diff --git a/ports/libxml2/portfile.cmake b/ports/libxml2/portfile.cmake index 9f1cb2c3acc9e7..e62bc9d2a4c9a7 100644 --- a/ports/libxml2/portfile.cmake +++ b/ports/libxml2/portfile.cmake @@ -1,13 +1,27 @@ -vcpkg_from_gitlab( - GITLAB_URL https://gitlab.gnome.org/ +vcpkg_download_distfile(FIX_COMPATIBILITY_PATCH + URLS https://github.com/GNOME/libxml2/commit/b347a008a745778630a9eb4fbd29694f3c135bfa.diff?full_index=1 + FILENAME Fix-compatibility-in-package-version-file.patch + SHA512 7f5e5f53444c12924b0fefdf3013fa4dab76fb17f552dd827628739a6e65c9817ae7182e1817cea2317e2fc9b8a200ecce4f8cb5661a2614c0548a5b3e508b66 +) + +vcpkg_download_distfile(ADD_MISSING_BCRYPT_PATCH + URLS https://github.com/GNOME/libxml2/commit/fe1ee0f25f43e33a9981fd6fe7b0483a8c8b5e8d.diff?full_index=1 + FILENAME Add-missing-Bcrypt-link.patch + SHA512 22bc2fe4c365a2c9991508484daa3d884ff91803df48b3847f71b2283e240ef3ce4fdc1d230932d837ff94dc02fc53e76e2e5a1c956ef037caacb13d8f9b3982 +) + +vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO GNOME/libxml2 REF "v${VERSION}" - SHA512 527e66f6260a399318cfacc06db3ede4b16178ef17492ed0d515884aa00fce685f9e6932cd117df0d83e2440b5a5392c3d5fbe187b601cf19769b495e0865c87 + SHA512 dfe0529dd2fbb7dc9e79505b9c6ff7f29979fa4392d534c1b8859fa9934c2e7d4da3429265d718292056809a58080af32b130263625cdeb358123774c27da7c6 HEAD_REF master PATCHES disable-docs.patch fix_cmakelist.patch + fix_ios_compilation.patch + ${FIX_COMPATIBILITY_PATCH} + ${ADD_MISSING_BCRYPT_PATCH} ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS @@ -19,7 +33,11 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS "lzma" LIBXML2_WITH_LZMA "zlib" LIBXML2_WITH_ZLIB "tools" LIBXML2_WITH_PROGRAMS + "icu" LIBXML2_WITH_ICU ) + +vcpkg_find_acquire_program(PKGCONFIG) + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS @@ -30,8 +48,6 @@ vcpkg_cmake_configure( -DLIBXML2_WITH_CATALOG=ON -DLIBXML2_WITH_DEBUG=ON -DLIBXML2_WITH_ISO8859X=ON - -DLIBXML2_WITH_ICU=OFF # Culprit of linkage issues? Solving this is probably another PR - -DLIBXML2_WITH_MEM_DEBUG=OFF -DLIBXML2_WITH_MODULES=ON -DLIBXML2_WITH_OUTPUT=ON -DLIBXML2_WITH_PATTERN=ON @@ -50,11 +66,12 @@ vcpkg_cmake_configure( -DLIBXML2_WITH_XINCLUDE=ON -DLIBXML2_WITH_XPATH=ON -DLIBXML2_WITH_XPTR=ON + "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/libxml2") +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/libxml2-${VERSION}") vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() diff --git a/ports/libxml2/vcpkg.json b/ports/libxml2/vcpkg.json index 042db9ebecaf0b..dc1d0938356016 100644 --- a/ports/libxml2/vcpkg.json +++ b/ports/libxml2/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libxml2", - "version": "2.11.5", + "version": "2.13.5", "port-version": 1, "description": "Libxml2 is the XML C parser and toolkit developed for the Gnome project (but usable outside of the Gnome platform).", "homepage": "https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home", @@ -35,6 +35,12 @@ "libiconv" ] }, + "icu": { + "description": "Add ICU support", + "dependencies": [ + "icu" + ] + }, "legacy": { "description": "Add deprecated APIs for compatibility" }, diff --git a/ports/libxmlmm/CMakeLists.txt b/ports/libxmlmm/CMakeLists.txt index e423c6df73bd53..98b281ff548a4c 100644 --- a/ports/libxmlmm/CMakeLists.txt +++ b/ports/libxmlmm/CMakeLists.txt @@ -40,7 +40,7 @@ target_link_libraries (libxmlmm PUBLIC LibXml2::LibXml2) set_target_properties(libxmlmm PROPERTIES CXX_STANDARD 17 PUBLIC_HEADER "${HEADERS_LIBXMLMM}" - PREFIX "" + OUTPUT_NAME xmlmm ) target_include_directories(libxmlmm PUBLIC @@ -58,3 +58,6 @@ install(EXPORT unofficial-libxmlmm-targets NAMESPACE unofficial::libxmlmm:: DESTINATION share/unofficial-libxmlmm ) + +configure_file(libxmlmm.pc.in ${CMAKE_CURRENT_BINARY_DIR}/libxmlmm.pc @ONLY) +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libxmlmm.pc DESTINATION lib/pkgconfig) diff --git a/ports/libxmlmm/portfile.cmake b/ports/libxmlmm/portfile.cmake index b676af2f1254ed..c13f65f56416c8 100644 --- a/ports/libxmlmm/portfile.cmake +++ b/ports/libxmlmm/portfile.cmake @@ -5,16 +5,16 @@ vcpkg_from_github( SHA512 4f619e730de2f88b891ef31dd7ced2e6be75fff7f3852ec178843bf8d099d2e1ea84e0fcde35ff7fefc201b026f63e4b5d55f88e48334c49a0333be0327894df HEAD_REF master ) - file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DVERSION=${VERSION} ) - vcpkg_cmake_install() - vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/unofficial-libxmlmm-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/unofficial-libxmlmm") vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-libxmlmm) diff --git a/ports/libxmlmm/unofficial-libxmlmm-config.cmake b/ports/libxmlmm/unofficial-libxmlmm-config.cmake index 16a46deec0858a..b56118b35bb306 100644 --- a/ports/libxmlmm/unofficial-libxmlmm-config.cmake +++ b/ports/libxmlmm/unofficial-libxmlmm-config.cmake @@ -1,3 +1,3 @@ include(CMakeFindDependencyMacro) find_dependency(LibXml2) -include("${CMAKE_CURRENT_LIST_DIR}/unofficial-libxmlmm-config.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/unofficial-libxmlmm-targets.cmake") diff --git a/ports/libxmlmm/vcpkg.json b/ports/libxmlmm/vcpkg.json index 2de6d14465d372..488051ae46420a 100644 --- a/ports/libxmlmm/vcpkg.json +++ b/ports/libxmlmm/vcpkg.json @@ -1,12 +1,15 @@ { "name": "libxmlmm", "version": "0.6.0", - "port-version": 3, + "port-version": 4, "description": "Libxmlmm is a C++ wrapper for libxml 2.0 that only relies on standard C++ and libxml2.", "homepage": "https://github.com/rioki/libxmlmm", "license": "MIT", "dependencies": [ - "libxml2", + { + "name": "libxml2", + "default-features": false + }, { "name": "vcpkg-cmake", "host": true diff --git a/ports/libxmlpp/portfile.cmake b/ports/libxmlpp/portfile.cmake index 011bc5f48abd29..7a8861a313d263 100644 --- a/ports/libxmlpp/portfile.cmake +++ b/ports/libxmlpp/portfile.cmake @@ -1,10 +1,9 @@ -#..\src\libxml++-5-7c4d4a4cea.clean\meson.build:278:4: ERROR: Problem encountered: Static builds are not supported by MSVC-style builds -set(LIBXMLPP_VERSION 5.0.0) - +string(REGEX MATCH "^([0-9]*[.][0-9]*)" MAJOR_MINOR "${VERSION}") vcpkg_download_distfile(ARCHIVE - URLS "https://ftp.gnome.org/pub/GNOME/sources/libxml++/5.0/libxml++-${LIBXMLPP_VERSION}.tar.xz" - FILENAME "libxml++-${LIBXMLPP_VERSION}.tar.xz" - SHA512 ae8d7a178e7a3b48a9f0e1ea303e8a4e4d879d0d9367124ede3783d0c31e31c862b98e5d28d72edc4c0b19c6b457ead2d25664efd33d65e44fd52c5783ec3091 + URLS "https://ftp.gnome.org/pub/GNOME/sources/libxml++/${MAJOR_MINOR}/libxml++-${VERSION}.tar.xz" + "https://www.mirrorservice.org/sites/ftp.gnome.org/pub/GNOME/sources/libxml++/${MAJOR_MINOR}/libxml++-${VERSION}.tar.xz" + FILENAME "libxml++-${VERSION}.tar.xz" + SHA512 bba28edf40c60ac186ff1b704d9f4f41f73c1be3126cfb345005283b32bb5c9a596b8def64be8ad8e295e1e169bed91d120d5105cbbb6cecc4675d10b897dfe6 ) vcpkg_extract_source_archive( @@ -16,16 +15,14 @@ vcpkg_configure_meson( SOURCE_PATH "${SOURCE_PATH}" OPTIONS -Dbuild-documentation=false + -Dbuild-manual=false -Dvalidation=false # Validate the tutorial XML file -Dbuild-examples=false -Dbuild-tests=false - -Dmsvc14x-parallel-installable=false # Use separate DLL and LIB filenames for Visual Studio 2017 and 2019 -Dbuild-deprecated-api=true # Build deprecated API and include it in the library ) vcpkg_install_meson() vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() -# Handle copyright and readme -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libxmlpp RENAME copyright) -file(INSTALL ${SOURCE_PATH}/README DESTINATION ${CURRENT_PACKAGES_DIR}/share/libxmlpp) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/libxmlpp/vcpkg.json b/ports/libxmlpp/vcpkg.json index 517ba3f2d9d756..7cae0a468625b2 100644 --- a/ports/libxmlpp/vcpkg.json +++ b/ports/libxmlpp/vcpkg.json @@ -1,12 +1,15 @@ { "name": "libxmlpp", - "version": "5.0.0", - "port-version": 3, - "description": "a C++ wrapper for the libxml XML parser library.", - "supports": "!(windows & static)", + "version": "5.4.0", + "description": "A C++ wrapper for the libxml XML parser library.", + "homepage": "https://libxmlplusplus.github.io/libxmlplusplus/", + "license": "LGPL-2.1-or-later", "dependencies": [ "glibmm", - "libxml2", + { + "name": "libxml2", + "default-features": false + }, { "name": "vcpkg-tool-meson", "host": true diff --git a/ports/libxpm/portfile.cmake b/ports/libxpm/portfile.cmake index 10c8f6932deb6e..0fe418a286932f 100644 --- a/ports/libxpm/portfile.cmake +++ b/ports/libxpm/portfile.cmake @@ -1,19 +1,24 @@ 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_check_linkage(ONLY_STATIC_LIBRARY) + return() +endif() + +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() vcpkg_from_gitlab( GITLAB_URL https://gitlab.freedesktop.org/xorg OUT_SOURCE_PATH SOURCE_PATH REPO lib/libxpm REF "libXpm-${VERSION}" - SHA512 006d5fb2fd951b8857b8d409d65ebe4f819dc51df3bbe933ef9b879a9dc832b0828481c7c0cac453a82a1e81f39990fc49819314a443a1082bdaea6044bb3013 + SHA512 30d473b6184d56643114ab1f7719f033ac5ecfd9fd46ebefc03db171a82a809d996046a039c922c184046310fc12a088467ca73740386b3e73b1e699bde78db7 PATCHES remove_strings_h.patch fix-dependency-gettext.patch strcasecmp.patch + subdirs.diff tools.patch # will look for libxt otherwise ) @@ -33,18 +38,9 @@ vcpkg_configure_make( ) vcpkg_install_make() - -vcpkg_fixup_pkgconfig(SYSTEM_LIBRARIES pthread) +vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -if(VCPKG_LIBRARY_LINKAGE STREQUAL static OR NOT VCPKG_TARGET_IS_WINDOWS) - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") -endif() - -#vcpkg_copy_tools(TOOL_NAMES sxpm cxpm AUTOCLEAN) - -# Handle copyright -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) -endif() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/libxpm/remove_strings_h.patch b/ports/libxpm/remove_strings_h.patch index 6afeee016647b9..290796f0b5325e 100644 --- a/ports/libxpm/remove_strings_h.patch +++ b/ports/libxpm/remove_strings_h.patch @@ -2,15 +2,13 @@ diff --git a/src/XpmI.h b/src/XpmI.h index 4360ad3b9..a8d78b0ba 100644 --- a/src/XpmI.h +++ b/src/XpmI.h -@@ -325,8 +325,10 @@ FUNC(xpmstrcasecmp, int, (char *s1, char *s2)); +@@ -332,7 +332,9 @@ FUNC(xpmstrcasecmp, int, (char *s1, char *s2)); #else #undef xpmstrcasecmp #define xpmstrcasecmp strcasecmp -+#if !defined(_MSC_VER) ++# if !defined(_MSC_VER) #include ++# endif #endif -+#endif - FUNC(xpmatoui, unsigned int, - (char *p, unsigned int l, unsigned int *ui_return)); - \ No newline at end of file + HFUNC(xpmatoui, unsigned int, diff --git a/ports/libxpm/subdirs.diff b/ports/libxpm/subdirs.diff new file mode 100644 index 00000000000000..b149184ba13510 --- /dev/null +++ b/ports/libxpm/subdirs.diff @@ -0,0 +1,13 @@ +diff --git a/Makefile.am b/Makefile.am +index 235ee1f..d8d0f66 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -1,7 +1,7 @@ + # Daniel Stone disowns all copyright on this file; no warranty is given as to its + # suitability or otherwise. + +-SUBDIRS = doc include man src sxpm cxpm test ++SUBDIRS = include src + + ACLOCAL_AMFLAGS = -I m4 + diff --git a/ports/libxpm/vcpkg.json b/ports/libxpm/vcpkg.json index f34d6b6ae7e734..1a5095f13cca7d 100644 --- a/ports/libxpm/vcpkg.json +++ b/ports/libxpm/vcpkg.json @@ -1,16 +1,12 @@ { "name": "libxpm", - "version": "3.5.16", + "version": "3.5.17", "description": "XPM format pixmap library", - "homepage": "https://github.com/freedesktop/libXpm", + "homepage": "https://gitlab.freedesktop.org/xorg/lib/libxpm", "license": "MIT", "supports": "windows | linux", "dependencies": [ "libx11", - { - "name": "vcpkg-cmake", - "host": true - }, "xorg-macros", "xproto" ], @@ -24,7 +20,8 @@ "features": [ "tools" ] - } + }, + "gettext-libintl" ] } } diff --git a/ports/libxslt/fix-gcrypt-deps.patch b/ports/libxslt/fix-gcrypt-deps.patch index 6d91a7248d4f7b..fc5b07c7e36cd5 100644 --- a/ports/libxslt/fix-gcrypt-deps.patch +++ b/ports/libxslt/fix-gcrypt-deps.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6dc6501..d36a049 100644 +index fb352475..4113fbff 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -317,7 +317,9 @@ target_include_directories( +@@ -319,7 +319,9 @@ target_include_directories( if(LIBXSLT_WITH_CRYPTO AND NOT WIN32) target_link_libraries(LibExslt PRIVATE Gcrypt::Gcrypt) @@ -12,9 +12,9 @@ index 6dc6501..d36a049 100644 + string(APPEND EXSLT_PRIVATE_REQUIRES " libgcrypt") endif() - target_link_libraries(LibExslt PUBLIC LibXslt LibXml2::LibXml2) + if(UNIX) diff --git a/FindGcrypt.cmake b/FindGcrypt.cmake -index 781113d..a78fa84 100644 +index 781113d5..6f680beb 100644 --- a/FindGcrypt.cmake +++ b/FindGcrypt.cmake @@ -1,3 +1,20 @@ @@ -38,7 +38,7 @@ index 781113d..a78fa84 100644 include(FindPackageHandleStandardArgs) include(SelectLibraryConfigurations) -@@ -38,3 +53,4 @@ if(GCRYPT_FOUND AND NOT TARGET Gcrypt::Gcrypt) +@@ -38,3 +55,4 @@ if(GCRYPT_FOUND AND NOT TARGET Gcrypt::Gcrypt) INTERFACE_INCLUDE_DIRECTORIES "${GCRYPT_INCLUDE_DIRS}" ) endif() diff --git a/ports/libxslt/libexslt-pkgconfig.patch b/ports/libxslt/libexslt-pkgconfig.patch index b500a8108ca906..be4933faf75e33 100644 --- a/ports/libxslt/libexslt-pkgconfig.patch +++ b/ports/libxslt/libexslt-pkgconfig.patch @@ -1,5 +1,5 @@ diff --git a/libexslt.pc.in b/libexslt.pc.in -index 1d60563..50089e8 100644 +index f448bb83..791bcdda 100644 --- a/libexslt.pc.in +++ b/libexslt.pc.in @@ -7,7 +7,8 @@ includedir=@includedir@ @@ -9,6 +9,6 @@ index 1d60563..50089e8 100644 -Requires: libxml-2.0, libxslt +Requires: libxslt +Requires.private: @EXSLT_PRIVATE_REQUIRES@ - Cflags: @EXSLT_INCLUDEDIR@ + Cflags: @EXSLT_INCLUDEDIR@ @LIBEXSLT_CFLAGS@ Libs: @EXSLT_LIBDIR@ -lexslt Libs.private: @EXSLT_PRIVATE_LIBS@ diff --git a/ports/libxslt/msvc-no-suffix.patch b/ports/libxslt/msvc-no-suffix.patch index 243687fc579404..421e933bdb8118 100644 --- a/ports/libxslt/msvc-no-suffix.patch +++ b/ports/libxslt/msvc-no-suffix.patch @@ -1,9 +1,9 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index d8679fb..6dc6501 100644 +index fb352475..a4bb094e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -244,7 +249,7 @@ set_target_properties( - VERSION ${PROJECT_VERSION} +@@ -247,7 +247,7 @@ set_target_properties( + SOVERSION ${LIBXSLT_MAJOR_VERSION} ) -if(MSVC) @@ -11,8 +11,8 @@ index d8679fb..6dc6501 100644 if(BUILD_SHARED_LIBS) set_target_properties( LibXslt -@@ -327,7 +332,7 @@ set_target_properties( - VERSION ${LIBEXSLT_VERSION} +@@ -340,7 +340,7 @@ set_target_properties( + SOVERSION ${LIBEXSLT_MAJOR_VERSION} ) -if(MSVC) diff --git a/ports/libxslt/portfile.cmake b/ports/libxslt/portfile.cmake index 6624f6a781822f..9aca6f0abf0ad7 100644 --- a/ports/libxslt/portfile.cmake +++ b/ports/libxslt/portfile.cmake @@ -1,8 +1,14 @@ +vcpkg_download_distfile(FIX_PACKAGE_VERSION_PATCH + URLS https://github.com/GNOME/libxslt/commit/7504032097712714aafe309d54f2ad57e3364bac.diff?full_index=1 + FILENAME Fix-package-version.patch + SHA512 972921decf374fe8a4cad4e09890ce0d5961ee05e3c52d117c09fe8bde1a4540ebe212e767f8a95d281945240f29a90fd15e37104f45d47440032737d41dc8d0 +) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO GNOME/libxslt - REF v1.1.37 - SHA512 4e7a57cbe02ceea34404213a88bdbb63a756edfab63063ce3979b670816ae3f6fb3637a49508204e6e46b936628e0a3b8b77e9201530a1184225bd68da403b25 + REF "v${VERSION}" + SHA512 0974419e0eae3cd4070ca52341b3df2d1b873b30d0ede2143274fcd0ef8653d5ac55b5f0faad56d8cf60443fefb01c5f5ddecff4b7638ba28e450e88f1c3d3c4 HEAD_REF master PATCHES python3.patch @@ -10,12 +16,17 @@ vcpkg_from_github( libexslt-pkgconfig.patch fix-gcrypt-deps.patch skip-install-docs.patch + ${FIX_PACKAGE_VERSION_PATCH} ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES "python" LIBXSLT_WITH_PYTHON "crypto" LIBXSLT_WITH_CRYPTO + "plugins" LIBXSLT_WITH_MODULES + "profiler" LIBXSLT_WITH_PROFILER + "thread" LIBXSLT_WITH_THREADS + "tools" LIBXSLT_WITH_PROGRAMS ) if("python" IN_LIST FEATURES) vcpkg_find_acquire_program(PYTHON3) @@ -28,16 +39,13 @@ vcpkg_cmake_configure( OPTIONS ${FEATURE_OPTIONS} -DLIBXSLT_WITH_TESTS:BOOL=OFF - -DLIBXSLT_WITH_THREADS:BOOL=ON OPTIONS_RELEASE ${FEATURE_OPTIONS_RELEASE} -DLIBXSLT_WITH_XSLT_DEBUG:BOOL=OFF - -DLIBXSLT_WITH_MEM_DEBUG:BOOL=OFF -DLIBXSLT_WITH_DEBUGGER:BOOL=OFF OPTIONS_DEBUG ${FEATURE_OPTIONS_DEBUG} -DLIBXSLT_WITH_XSLT_DEBUG:BOOL=ON - -DLIBXSLT_WITH_MEM_DEBUG:BOOL=ON -DLIBXSLT_WITH_DEBUGGER:BOOL=ON ) vcpkg_cmake_install() @@ -55,8 +63,10 @@ if(NOT VCPKG_BUILD_TYPE) vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/libxslt/debug/xslt-config" [[$(cd "$(dirname "$0")"; pwd -P)/..]] [[$(cd "$(dirname "$0")/../../../debug"; pwd -P)]]) vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/libxslt/debug/xslt-config" [[${prefix}/include]] [[${prefix}/../include]]) endif() -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/libxslt/xsltconfig.h" "#define LIBXSLT_DEFAULT_PLUGINS_PATH() \"${CURRENT_INSTALLED_DIR}/lib/libxslt-plugins\"" "") -vcpkg_copy_tools(TOOL_NAMES xsltproc AUTO_CLEAN) +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/libxslt/xsltconfig.h" "#define LIBXSLT_DEFAULT_PLUGINS_PATH() \"${CURRENT_INSTALLED_DIR}/lib/libxslt-plugins\"" "" IGNORE_UNCHANGED) +if("tools" IN_LIST FEATURES) + vcpkg_copy_tools(TOOL_NAMES xsltproc AUTO_CLEAN) +endif() vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() @@ -72,12 +82,17 @@ if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) if(NOT VCPKG_BUILD_TYPE) vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libxslt.pc" " -lxslt" " -llibxslt") vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libexslt.pc" " -lexslt" " -llibexslt") - endif() + endif() endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin) +endif() + file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/libxslt") file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -file(INSTALL "${SOURCE_PATH}/Copyright" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/Copyright") diff --git a/ports/libxslt/python3.patch b/ports/libxslt/python3.patch index fc86d1fc56e8cb..bca1d1dcbd7fe4 100644 --- a/ports/libxslt/python3.patch +++ b/ports/libxslt/python3.patch @@ -1,10 +1,10 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index d8679fb..6dc6501 100644 +index fb352475..75bd44a5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -35,6 +35,11 @@ if(LIBXSLT_WITH_PYTHON) +@@ -63,6 +63,11 @@ if(LIBXSLT_WITH_PYTHON) check_symbol_exists(F_GETFL fcntl.h HAVE_F_GETFL) - if(HAVE_UNISTD_H AND HAVE_F_GETFL) + if(WIN32 OR (HAVE_UNISTD_H AND HAVE_F_GETFL)) find_package(Python COMPONENTS Interpreter Development REQUIRED) + elseif(1) + find_package(Python3 COMPONENTS Interpreter Development REQUIRED) diff --git a/ports/libxslt/skip-install-docs.patch b/ports/libxslt/skip-install-docs.patch index a5d59f3254031b..5d11ea8e41d767 100644 --- a/ports/libxslt/skip-install-docs.patch +++ b/ports/libxslt/skip-install-docs.patch @@ -1,15 +1,17 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6dc6501..d36a049 100644 +index fb352475..23fe90f6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -432,10 +434,12 @@ if(LIBXSLT_WITH_PYTHON) +@@ -474,12 +474,14 @@ if(LIBXSLT_WITH_PYTHON) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libxslt.py DESTINATION ${LIBXSLT_PYTHON_INSTALL_DIR} COMPONENT runtime) endif() +if(VCPKG_INSTALL_DOCS) install(FILES libexslt/libexslt.3 DESTINATION ${CMAKE_INSTALL_MANDIR}/man3 COMPONENT documentation) install(FILES libxslt/libxslt.3 DESTINATION ${CMAKE_INSTALL_MANDIR}/man3 COMPONENT documentation) - install(FILES doc/xsltproc.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 COMPONENT documentation) + if(LIBXSLT_WITH_PROGRAMS) + install(FILES doc/xsltproc.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 COMPONENT documentation) + endif() install(DIRECTORY doc/ DESTINATION ${CMAKE_INSTALL_DATADIR}/doc/libxslt COMPONENT documentation PATTERN Makefile.* EXCLUDE) +endif() diff --git a/ports/libxslt/vcpkg.json b/ports/libxslt/vcpkg.json index 8b9e8b83bc22c4..879c7e82508dee 100644 --- a/ports/libxslt/vcpkg.json +++ b/ports/libxslt/vcpkg.json @@ -1,13 +1,15 @@ { "name": "libxslt", - "version": "1.1.37", - "port-version": 2, + "version": "1.1.42", "description": "Libxslt is a XSLT library implemented in C for XSLT 1.0 and most of EXSLT", "homepage": "https://github.com/GNOME/libxslt", "license": null, "supports": "!uwp", "dependencies": [ - "libxml2", + { + "name": "libxml2", + "default-features": false + }, { "name": "vcpkg-cmake", "host": true @@ -18,7 +20,7 @@ } ], "default-features": [ - "default-features" + "thread" ], "features": { "crypto": { @@ -28,16 +30,22 @@ "libgcrypt" ] }, - "default-features": { - "description": "default features for the current platform" - }, "plugins": { "description": "(deprecated)", "supports": "!static" }, + "profiler": { + "description": "Build with profiling support" + }, "python": { "description": "Builds with python support", "supports": "!windows" + }, + "thread": { + "description": "Enable multi-threading support" + }, + "tools": { + "description": "Build the utilities" } } } diff --git a/ports/libxt/portfile.cmake b/ports/libxt/portfile.cmake index a6e3ceebb00940..7109c42a91dbdd 100644 --- a/ports/libxt/portfile.cmake +++ b/ports/libxt/portfile.cmake @@ -17,8 +17,8 @@ vcpkg_from_gitlab( GITLAB_URL https://gitlab.freedesktop.org/xorg OUT_SOURCE_PATH SOURCE_PATH REPO lib/libxt - REF edd70bdfbbd16247e3d9564ca51d864f82626eb7 # 1.2.1 - SHA512 c49876253dfd187e7d56a098d3d992157daefa2c25ee732eaae5818ee04513bedd807d2f265085db2e82c0b1821e152a88fb4998c0002f6ac57204543fe18566 + REF "libXt-${VERSION}" + SHA512 7cb22be9706bd7d089e84c09a99597f730ca858a9f8134d2741916b28cd4786e236beaad568c8b7ab8cdcfdea1c49140cefac528244bab8c94d48dc4729267e8 HEAD_REF master PATCHES windows_build.patch diff --git a/ports/libxt/vcpkg.json b/ports/libxt/vcpkg.json index 99029921010212..1376103c4d016c 100644 --- a/ports/libxt/vcpkg.json +++ b/ports/libxt/vcpkg.json @@ -1,7 +1,6 @@ { "name": "libxt", - "version": "1.2.1", - "port-version": 1, + "version": "1.3.0", "description": "X Toolkit Intrinsics library", "homepage": "https://gitlab.freedesktop.org/xorg/lib/libxt", "license": null, diff --git a/ports/libyaml/portfile.cmake b/ports/libyaml/portfile.cmake index 577b426755083f..3a839ee45cc842 100644 --- a/ports/libyaml/portfile.cmake +++ b/ports/libyaml/portfile.cmake @@ -1,4 +1,4 @@ -if (WIN32) +if(VCPKG_TARGET_IS_WINDOWS) set(PATCHES fix-POSIX_name.patch) endif() diff --git a/ports/libyaml/vcpkg.json b/ports/libyaml/vcpkg.json index 4dd2ec9bfdd971..ba805ab0488ce0 100644 --- a/ports/libyaml/vcpkg.json +++ b/ports/libyaml/vcpkg.json @@ -1,7 +1,7 @@ { "name": "libyaml", "version": "0.2.5", - "port-version": 4, + "port-version": 5, "description": "A C library for parsing and emitting YAML.", "homepage": "https://github.com/yaml/libyaml", "dependencies": [ diff --git a/ports/libyuv/cmake.diff b/ports/libyuv/cmake.diff new file mode 100644 index 00000000000000..843afb9aa575a2 --- /dev/null +++ b/ports/libyuv/cmake.diff @@ -0,0 +1,63 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9a20941d..d161326c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -4,8 +4,9 @@ + + include(CheckCSourceCompiles) + ++cmake_minimum_required(VERSION 3.12) + project ( YUV C CXX ) # "C" is required even for C++ projects +-cmake_minimum_required( VERSION 2.8.12 ) ++option( BUILD_TOOLS "Build tools" OFF ) + option( UNIT_TEST "Built unit tests" OFF ) + + set ( ly_base_dir ${PROJECT_SOURCE_DIR} ) +@@ -149,6 +150,8 @@ if(WIN32) + set_target_properties( ${ly_lib_shared} PROPERTIES IMPORT_PREFIX "lib" ) + endif() + ++if (BUILD_TOOLS) ++ + # this creates the cpuid tool + add_executable ( cpuid ${ly_base_dir}/util/cpuid.c ) + target_link_libraries ( cpuid ${ly_lib_static} ) +@@ -161,10 +164,13 @@ target_link_libraries ( yuvconvert ${ly_lib_static} ) + add_executable ( yuvconstants ${ly_base_dir}/util/yuvconstants.c ) + target_link_libraries ( yuvconstants ${ly_lib_static} ) + ++endif() ++ + find_package ( JPEG ) + if (JPEG_FOUND) + include_directories( ${JPEG_INCLUDE_DIR} ) +- target_link_libraries( ${ly_lib_shared} ${JPEG_LIBRARY} ) ++ target_link_libraries( ${ly_lib_static} PRIVATE JPEG::JPEG ) ++ target_link_libraries( ${ly_lib_shared} PRIVATE JPEG::JPEG ) + add_definitions( -DHAVE_JPEG ) + endif() + +@@ -211,9 +217,20 @@ endif() + + + # install the conversion tool, .so, .a, and all the header files +-install ( TARGETS yuvconvert DESTINATION bin ) +-install ( TARGETS ${ly_lib_static} DESTINATION lib ) +-install ( TARGETS ${ly_lib_shared} LIBRARY DESTINATION lib RUNTIME DESTINATION bin ARCHIVE DESTINATION lib ) ++if (BUILD_TOOLS) ++ install(TARGETS yuvconvert yuvconstants) ++endif() ++if(BUILD_SHARED_LIBS) ++ target_include_directories(${ly_lib_shared} PUBLIC $) ++ install(TARGETS ${ly_lib_shared} EXPORT libyuv-targets) ++ set_target_properties(${ly_lib_shared} PROPERTIES EXPORT_NAME "${ly_lib_static}") # vcpkg legacy ++ add_definitions(-DLIBYUV_BUILDING_SHARED_LIBRARY) ++else() ++ target_include_directories(${ly_lib_static} PUBLIC $) ++ install(TARGETS ${ly_lib_static} EXPORT libyuv-targets) ++ set_target_properties(${ly_lib_shared} PROPERTIES EXCLUDE_FROM_ALL 1) ++endif() ++install(EXPORT libyuv-targets DESTINATION share/libyuv) + install ( DIRECTORY ${PROJECT_SOURCE_DIR}/include/ DESTINATION include ) + + # create the .deb and .rpm packages using cpack diff --git a/ports/libyuv/fix-cmakelists.patch b/ports/libyuv/fix-cmakelists.patch deleted file mode 100644 index 76b2275f02530e..00000000000000 --- a/ports/libyuv/fix-cmakelists.patch +++ /dev/null @@ -1,89 +0,0 @@ -Subject: [PATCH] patch cmakelist for vcpkg ---- -Index: CMakeLists.txt -IDEA additional info: -Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP -<+>UTF-8 -=================================================================== -diff --git a/CMakeLists.txt b/CMakeLists.txt ---- a/CMakeLists.txt (revision 010dea8ba4158896e5608a52dd4372ca7f57cdca) -+++ b/CMakeLists.txt (revision da9ae4ff969b9722ce90b800d514fa26ad1fdf87) -@@ -2,18 +2,21 @@ - # Originally created for "roxlu build system" to compile libyuv on windows - # Run with -DTEST=ON to build unit tests - -+CMAKE_MINIMUM_REQUIRED( VERSION 3.12) -+ - PROJECT ( YUV C CXX ) # "C" is required even for C++ projects --CMAKE_MINIMUM_REQUIRED( VERSION 2.8.12 ) - OPTION( TEST "Built unit tests" OFF ) - -+SET( CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE ON ) -+ - SET ( ly_base_dir ${PROJECT_SOURCE_DIR} ) - SET ( ly_src_dir ${ly_base_dir}/source ) - SET ( ly_inc_dir ${ly_base_dir}/include ) - SET ( ly_tst_dir ${ly_base_dir}/unit_test ) - SET ( ly_lib_name yuv ) - SET ( ly_lib_static ${ly_lib_name} ) --SET ( ly_lib_shared ${ly_lib_name}_shared ) - -+FILE ( GLOB_RECURSE ly_include_files ${ly_inc_dir}/libyuv/*.h ) - FILE ( GLOB_RECURSE ly_source_files ${ly_src_dir}/*.cc ) - LIST ( SORT ly_source_files ) - -@@ -28,27 +31,20 @@ - - # this creates the static library (.a) - ADD_LIBRARY ( ${ly_lib_static} STATIC ${ly_source_files} ) -- --# this creates the shared library (.so) --ADD_LIBRARY ( ${ly_lib_shared} SHARED ${ly_source_files} ) --SET_TARGET_PROPERTIES ( ${ly_lib_shared} PROPERTIES OUTPUT_NAME "${ly_lib_name}" ) --SET_TARGET_PROPERTIES ( ${ly_lib_shared} PROPERTIES PREFIX "lib" ) --if(WIN32) -- SET_TARGET_PROPERTIES ( ${ly_lib_shared} PROPERTIES IMPORT_PREFIX "lib" ) --endif() -+SET_TARGET_PROPERTIES ( ${ly_lib_static} PROPERTIES PUBLIC_HEADER include/libyuv.h ) - - # this creates the conversion tool --ADD_EXECUTABLE ( yuvconvert ${ly_base_dir}/util/yuvconvert.cc ) --TARGET_LINK_LIBRARIES ( yuvconvert ${ly_lib_static} ) -+ADD_EXECUTABLE ( yuvconvert ${ly_base_dir}/util/yuvconvert.cc ) -+TARGET_LINK_LIBRARIES ( yuvconvert ${ly_lib_static} ) - - # this creates the yuvconstants tool --ADD_EXECUTABLE ( yuvconstants ${ly_base_dir}/util/yuvconstants.c ) --TARGET_LINK_LIBRARIES ( yuvconstants ${ly_lib_static} ) -+ADD_EXECUTABLE ( yuvconstants ${ly_base_dir}/util/yuvconstants.c ) -+TARGET_LINK_LIBRARIES ( yuvconstants ${ly_lib_static} ) - - find_package ( JPEG ) - if (JPEG_FOUND) -- include_directories( ${JPEG_INCLUDE_DIR} ) -- target_link_libraries( ${ly_lib_shared} ${JPEG_LIBRARY} ) -+ include_directories( ${JPEG_INCLUDE_DIR}) -+ target_link_libraries(${ly_lib_static} PUBLIC ${JPEG_LIBRARY}) - add_definitions( -DHAVE_JPEG ) - endif() - -@@ -87,14 +83,13 @@ - target_link_libraries(libyuv_unittest gflags) - add_definitions(-DLIBYUV_USE_GFLAGS) - endif() --endif() -+endif() - -- - # install the conversion tool, .so, .a, and all the header files --INSTALL ( PROGRAMS ${CMAKE_BINARY_DIR}/yuvconvert DESTINATION bin ) --INSTALL ( TARGETS ${ly_lib_static} DESTINATION lib ) --INSTALL ( TARGETS ${ly_lib_shared} LIBRARY DESTINATION lib RUNTIME DESTINATION bin ) --INSTALL ( DIRECTORY ${PROJECT_SOURCE_DIR}/include/ DESTINATION include ) -+INSTALL ( TARGETS yuvconvert DESTINATION tools ) -+INSTALL ( FILES ${ly_include_files} DESTINATION include/libyuv ) -+INSTALL ( TARGETS ${ly_lib_static} EXPORT libyuv-targets DESTINATION lib INCLUDES DESTINATION include PUBLIC_HEADER DESTINATION include ) -+INSTALL( EXPORT libyuv-targets DESTINATION share/cmake/libyuv/ EXPORT_LINK_INTERFACE_LIBRARIES ) - - # create the .deb and .rpm packages using cpack - INCLUDE ( CM_linux_packages.cmake ) diff --git a/ports/libyuv/portfile.cmake b/ports/libyuv/portfile.cmake index 0605f3cf4645db..80450bccefa3fe 100644 --- a/ports/libyuv/portfile.cmake +++ b/ports/libyuv/portfile.cmake @@ -1,38 +1,51 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - vcpkg_from_git( OUT_SOURCE_PATH SOURCE_PATH URL https://chromium.googlesource.com/libyuv/libyuv - REF 0faf8dd0e004520a61a603a4d2996d5ecc80dc3f + REF a37e6bc81b52d39cdcfd0f1428f5d6c2b2bc9861 # 1896 Fixes build error on macOS Homebrew LLVM 19 # Check https://chromium.googlesource.com/libyuv/libyuv/+/refs/heads/main/include/libyuv/version.h for a version! PATCHES - fix-cmakelists.patch + cmake.diff +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + tools BUILD_TOOLS ) vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - ${BUILD_OPTIONS} + ${FEATURE_OPTIONS} OPTIONS_DEBUG - -DCMAKE_DEBUG_POSTFIX=d + -DBUILD_TOOLS=OFF ) vcpkg_cmake_install() -vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup() +if("tools" IN_LIST FEATURES) + vcpkg_copy_tools(TOOL_NAMES yuvconvert yuvconstants AUTO_CLEAN) +endif() -vcpkg_cmake_config_fixup(CONFIG_PATH share/cmake/libyuv) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/libyuv/basic_types.h" "defined(LIBYUV_USING_SHARED_LIBRARY)" "1") +endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -configure_file(${CMAKE_CURRENT_LIST_DIR}/libyuv-config.cmake ${CURRENT_PACKAGES_DIR}/share/${PORT} COPYONLY) -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/libyuv-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") vcpkg_cmake_get_vars(cmake_vars_file) include("${cmake_vars_file}") -if (VCPKG_DETECTED_CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") - message(WARNING "Use MSVC to compile libyuv results in a very slow library. (https://github.com/microsoft/vcpkg/issues/28446)") - file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage-msvc" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME "usage") -else () - file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -endif () \ No newline at end of file +if(VCPKG_DETECTED_CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") + file(APPEND "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" [[ + +Attention: +You are using MSVC to compile libyuv. This build won't compile any +of the acceleration codes, which results in a very slow library. +See workarounds: https://github.com/microsoft/vcpkg/issues/28446 +]]) +endif() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/libyuv/usage b/ports/libyuv/usage index fa0be3879ab14f..b4c7d12f9904ea 100644 --- a/ports/libyuv/usage +++ b/ports/libyuv/usage @@ -1,4 +1,5 @@ libyuv provides CMake targets: - find_package(libyuv CONFIG REQUIRED) - target_link_libraries(main PRIVATE yuv) \ No newline at end of file + # Unofficial config package and target from vcpkg + find_package(libyuv CONFIG REQUIRED) + target_link_libraries(main PRIVATE yuv) diff --git a/ports/libyuv/usage-msvc b/ports/libyuv/usage-msvc deleted file mode 100644 index 009c5b6d099467..00000000000000 --- a/ports/libyuv/usage-msvc +++ /dev/null @@ -1,9 +0,0 @@ -libyuv provides CMake targets: - - find_package(libyuv CONFIG REQUIRED) - target_link_libraries(main PRIVATE yuv) - - # WARNING - # You are using MSVC to compile libyuv, which results in a very slow library. - # MSVC won't compile any of the acceleration codes. - # See workarounds: https://github.com/microsoft/vcpkg/issues/28446 diff --git a/ports/libyuv/vcpkg.json b/ports/libyuv/vcpkg.json index 46d61c0c2eefdf..4b8c9cef5ca6d8 100644 --- a/ports/libyuv/vcpkg.json +++ b/ports/libyuv/vcpkg.json @@ -1,6 +1,7 @@ { "name": "libyuv", - "version": "1857", + "version": "1896", + "port-version": 1, "description": "libyuv is an open source project that includes YUV scaling and conversion functionality", "homepage": "https://chromium.googlesource.com/libyuv/libyuv", "license": null, @@ -18,5 +19,11 @@ "name": "vcpkg-cmake-get-vars", "host": true } - ] + ], + "features": { + "tools": { + "description": "build command line tool", + "supports": "!android & !ios & !xbox & !wasm32" + } + } } diff --git a/ports/libzim/cross-builds.diff b/ports/libzim/cross-builds.diff index 0916513f91de73..8e3b4679ad64db 100644 --- a/ports/libzim/cross-builds.diff +++ b/ports/libzim/cross-builds.diff @@ -1,10 +1,13 @@ diff --git a/meson.build b/meson.build -index 85d8da7..7f97dbc 100644 +index f3e7a27..d946c49 100644 --- a/meson.build +++ b/meson.build -@@ -3,7 +3,7 @@ project('libzim', ['c', 'cpp'], +@@ -1,9 +1,9 @@ + project('libzim', ['c', 'cpp'], + version : '9.0.0', license : 'GPL2', - default_options : ['c_std=c11', 'cpp_std=c++11']) +- default_options : ['c_std=c11', 'cpp_std=c++17', 'werror=true']) ++ default_options : ['c_std=c11', 'cpp_std=c++17']) -if build_machine.system() != 'windows' +if host_machine.system() != 'windows' or meson.get_compiler('cpp').get_id() == 'gcc' diff --git a/ports/libzim/disable-gtest.diff b/ports/libzim/disable-gtest.diff deleted file mode 100644 index 7609c09c832ed1..00000000000000 --- a/ports/libzim/disable-gtest.diff +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/meson.build b/meson.build -index d887f9a..270413d 100644 ---- a/meson.build -+++ b/meson.build -@@ -81,7 +81,7 @@ else - icu_dep = dependency('icu-i18n', required:false, static:static_linkage) - endif - --gtest_dep = dependency('gtest', main:true, fallback:['gtest', 'gtest_main_dep'], required:false) -+gtest_dep = dependency('', required:false) - - inc = include_directories('include') - diff --git a/ports/libzim/dllexport.diff b/ports/libzim/dllexport.diff index d643f4110237b5..212eb9e541c2a9 100644 --- a/ports/libzim/dllexport.diff +++ b/ports/libzim/dllexport.diff @@ -1,52 +1,16 @@ diff --git a/include/zim/zim.h b/include/zim/zim.h -index 5d1af80..6171f56 100644 +index 80e8596..631cfab 100644 --- a/include/zim/zim.h +++ b/include/zim/zim.h -@@ -33,14 +33,16 @@ - #define DEPRECATED - #endif +@@ -35,8 +35,10 @@ + + #include --#if (defined _WIN32 || defined __CYGWIN__) && defined LIBZIM_EXPORT_DLL -+#include -+ -+#if defined(LIBZIM_DLL) && defined(LIBZIM_BUILDING_LIBRARY) +-#if defined(_MSC_VER) && defined(LIBZIM_EXPORT_DLL) ++#if defined(_WIN32) && defined(LIBZIM_EXPORT_DLL) #define LIBZIM_API __declspec(dllexport) -+#elif defined(LIBZIM_DLL) ++#elif defined(_WIN32) && defined(LIBZIM_IMPORT_DLL) + #define LIBZIM_API __declspec(dllimport) #else #define LIBZIM_API #endif - --#include -- - namespace zim - { - // An index of an entry (in a zim file) -diff --git a/meson.build b/meson.build -index 7f97dbc..8fd13d7 100644 ---- a/meson.build -+++ b/meson.build -@@ -14,6 +14,10 @@ sizeof_size_t = cpp.sizeof('size_t') - private_conf = configuration_data() - public_conf = configuration_data() - -+if host_machine.system() == 'windows' and get_option('default_library') == 'shared' -+ public_conf.set('LIBZIM_DLL', true) -+endif -+ - private_conf.set('VERSION', '"@0@"'.format(meson.project_version())) - public_conf.set('LIBZIM_VERSION', '"@0@"'.format(meson.project_version())) - private_conf.set('DIRENT_CACHE_SIZE', get_option('DIRENT_CACHE_SIZE')) -diff --git a/src/meson.build b/src/meson.build -index 4529b7c..956b145 100644 ---- a/src/meson.build -+++ b/src/meson.build -@@ -75,7 +75,7 @@ libzim = library('zim', - include_directories : inc, - dependencies : deps, - link_args : extra_link_args, -- cpp_args : extra_cpp_args, -+ cpp_args : extra_cpp_args + '-DLIBZIM_BUILDING_LIBRARY', - version: meson.project_version(), - install : true) - libzim_dep = declare_dependency(link_with: libzim, diff --git a/ports/libzim/portfile.cmake b/ports/libzim/portfile.cmake index 85b0bf595a10d0..c1a751a4b64477 100644 --- a/ports/libzim/portfile.cmake +++ b/ports/libzim/portfile.cmake @@ -2,12 +2,12 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO openzim/libzim REF "${VERSION}" - SHA512 4554a9237f5167f6f94aad76ef0e847e949c47c6ee2a89bbd6e587da3b3a3e2d0a8b2d03f7a0fbde0e0dc96fb61bf8c115b3ef3cbd7eff5e880f152bee9b29f0 + SHA512 55d18535d677d3249c8331ceac1acd4afa650de1f61a0aa3ffc1c98ca2a395bc657c774d01780f1a2c2aedd7d9c5d2e7d9f5e717ed879de84dc6d1be6accfe5e HEAD_REF main PATCHES cross-builds.diff dllexport.diff - disable-gtest.diff + subdirs.diff ) set(EXTRA_OPTIONS "") @@ -29,5 +29,9 @@ vcpkg_copy_pdbs() vcpkg_fixup_pkgconfig() +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/zim/zim.h" "defined(LIBZIM_IMPORT_DLL)" "1") +endif() + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/libzim/subdirs.diff b/ports/libzim/subdirs.diff new file mode 100644 index 00000000000000..a30a1444faa206 --- /dev/null +++ b/ports/libzim/subdirs.diff @@ -0,0 +1,20 @@ +diff --git a/meson.build b/meson.build +index d946c49..eded01d 100644 +--- a/meson.build ++++ b/meson.build +@@ -90,6 +90,7 @@ subdir('include') + subdir('scripts') + subdir('static') + subdir('src') ++if false + if get_option('examples') + subdir('examples') + endif +@@ -97,6 +98,7 @@ subdir('test') + if get_option('doc') + subdir('docs') + endif ++endif + + pkg_mod = import('pkgconfig') + pkg_mod.generate(libraries : libzim, diff --git a/ports/libzim/vcpkg.json b/ports/libzim/vcpkg.json index 58a4f0efbd61b9..53ab0e0a250b82 100644 --- a/ports/libzim/vcpkg.json +++ b/ports/libzim/vcpkg.json @@ -1,11 +1,10 @@ { "name": "libzim", - "version": "8.2.0", - "port-version": 2, + "version": "9.0.0", "description": "The Libzim is the reference implementation for the ZIM file format. It's a software library to read and write ZIM files on many systems and architectures. More information about the ZIM format and the openZIM project at https://openzim.org/.", "homepage": "https://github.com/openzim/libzim", "license": "GPL-2.0-or-later", - "supports": "!android & !xbox", + "supports": "!android & !uwp & !xbox", "dependencies": [ "icu", "liblzma", diff --git a/ports/libzip/fix-dependency.patch b/ports/libzip/fix-dependency.patch index da3d799a8038e8..f2c1a06bd309bd 100644 --- a/ports/libzip/fix-dependency.patch +++ b/ports/libzip/fix-dependency.patch @@ -1,62 +1,14 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index d00a4f9f..cf85fc4b 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -197,7 +197,7 @@ if(ENABLE_LZMA) - endif(ENABLE_LZMA) - - if(ENABLE_ZSTD) -- find_package(Zstd 1.3.6) -+ find_package(Zstd NAMES zstd 1.3.6) - if(Zstd_FOUND) - set(HAVE_LIBZSTD 1) - else() -@@ -301,7 +301,7 @@ foreach(LIB ${LIBS_PRIVATE}) - endforeach() - string(REGEX REPLACE "-lBZip2::BZip2" "-lbz2" LIBS ${LIBS}) - string(REGEX REPLACE "-lLibLZMA::LibLZMA" "-llzma" LIBS ${LIBS}) --string(REGEX REPLACE "-lZstd::Zstd" "-lzstd" LIBS ${LIBS}) -+string(REGEX REPLACE "-l$,zstd::libzstd_shared,zstd::libzstd_static>" "-lzstd" LIBS ${LIBS}) - string(REGEX REPLACE "-lOpenSSL::Crypto" "-lssl -lcrypto" LIBS ${LIBS}) - string(REGEX REPLACE "-lZLIB::ZLIB" "-lz" LIBS ${LIBS}) - string(REGEX REPLACE "-lGnuTLS::GnuTLS" "-lgnutls" LIBS ${LIBS}) -diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt -index 1213fa0a..b6446cbd 100644 ---- a/lib/CMakeLists.txt -+++ b/lib/CMakeLists.txt -@@ -147,7 +147,7 @@ endif() - - if(HAVE_LIBZSTD) - target_sources(zip PRIVATE zip_algorithm_zstd.c) -- target_link_libraries(zip PRIVATE Zstd::Zstd) -+ target_link_libraries(zip PRIVATE $,zstd::libzstd_shared,zstd::libzstd_static>) - endif() - - if(HAVE_COMMONCRYPTO) diff --git a/libzip-config.cmake.in b/libzip-config.cmake.in -index 5b9aa558..f9adc538 100644 +index 8061530..81a38bb 100644 --- a/libzip-config.cmake.in +++ b/libzip-config.cmake.in -@@ -1,8 +1,20 @@ - @PACKAGE_INIT@ +@@ -2,7 +2,7 @@ + + # We need to supply transitive dependencies if this config is for a static library + set(IS_SHARED @BUILD_SHARED_LIBS@) +-if (NOT IS_SHARED) ++if (1) + include(CMakeFindDependencyMacro) + set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_LIST_DIR}/modules") - # only needed for static library, and doesn't work as-is --#include(CMakeFindDependencyMacro) --#find_dependency(ZLIB::ZLIB) -+include(CMakeFindDependencyMacro) -+if(@ENABLE_BZIP2@) -+ find_dependency(BZip2) -+endif() -+if(@ENABLE_LZMA@) -+ find_dependency(LibLZMA) -+endif() -+if(@ENABLE_ZSTD@) -+ find_dependency(zstd) -+endif() -+if(@ENABLE_OPENSSL@) -+ find_dependency(OpenSSL) -+endif() -+find_dependency(ZLIB) - # how to handle the optional dependencies? - # Provide all our library targets to users. - include("${CMAKE_CURRENT_LIST_DIR}/libzip-targets.cmake") + \ No newline at end of file diff --git a/ports/libzip/portfile.cmake b/ports/libzip/portfile.cmake index daad8957269f19..18b491382ea02f 100644 --- a/ports/libzip/portfile.cmake +++ b/ports/libzip/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO nih-at/libzip - REF 5532f9baa0c44cc5435ad135686a4ea009075b9a #v1.9.2 - SHA512 1105bc48c8a554a7fce84028197427b02ff53508592889b37e81cc419eb208d91112b98df2bf2d6f5629887e4418230ee36e3bf03c9ae39cdc39cfa90e7e3e7f + REF "v${VERSION}" + SHA512 1b0bffe579de5d2c52b23075f5351a5670e9f7a364c14a876ca3c490a85c0c9b1ebd9a97e729c5c7e71d496a3a0a8f28505bfadd7d8423954d3547a9a8f63841 HEAD_REF master PATCHES fix-dependency.patch @@ -46,4 +46,4 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/libzip" "${CURRENT_PACKAGES_DIR file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # Copy copright information -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/libzip/use-requires.patch b/ports/libzip/use-requires.patch index b39bcb4480174c..3d4debe2d389bb 100644 --- a/ports/libzip/use-requires.patch +++ b/ports/libzip/use-requires.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index cf85fc4b7..90615fec9 100644 +index b2e7724..0af7929 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -41,12 +41,14 @@ endif() +@@ -43,12 +43,14 @@ endif() if(ENABLE_GNUTLS) find_package(Nettle 3.0) find_package(GnuTLS) @@ -17,16 +17,15 @@ index cf85fc4b7..90615fec9 100644 endif() if(WIN32) if(ENABLE_WINDOWS_CRYPTO) -@@ -177,7 +179,7 @@ int main(int argc, char *argv[]) { }" HAVE_NULLABLE) +@@ -191,6 +193,7 @@ int main(int argc, char *argv[]) { }" HAVE_NULLABLE) test_big_endian(WORDS_BIGENDIAN) find_package(ZLIB 1.1.2 REQUIRED) -- +list(APPEND REQUIRES zlib) - if(ENABLE_BZIP2) - find_package(BZip2) - if(BZIP2_FOUND) -@@ -185,6 +187,7 @@ if(ENABLE_BZIP2) + # so developers on systems where zlib is named differently (Windows, sometimes) + # can override the name used in the pkg-config file + if (NOT ZLIB_LINK_LIBRARY_NAME) +@@ -227,6 +230,7 @@ if(ENABLE_BZIP2) else() message(WARNING "-- bzip2 library not found; bzip2 support disabled") endif(BZIP2_FOUND) @@ -34,7 +33,7 @@ index cf85fc4b7..90615fec9 100644 endif(ENABLE_BZIP2) if(ENABLE_LZMA) -@@ -194,6 +197,7 @@ if(ENABLE_LZMA) +@@ -236,6 +240,7 @@ if(ENABLE_LZMA) else() message(WARNING "-- lzma library not found; lzma/xz support disabled") endif(LIBLZMA_FOUND) @@ -42,26 +41,28 @@ index cf85fc4b7..90615fec9 100644 endif(ENABLE_LZMA) if(ENABLE_ZSTD) -@@ -203,6 +207,7 @@ if(ENABLE_ZSTD) +@@ -250,6 +255,7 @@ if(ENABLE_ZSTD) else() message(WARNING "-- zstd library not found; zstandard support disabled") - endif(Zstd_FOUND) + endif(zstd_FOUND) + list(APPEND REQUIRES libzstd) endif(ENABLE_ZSTD) if (COMMONCRYPTO_FOUND) -@@ -299,13 +304,14 @@ foreach(LIB ${LIBS_PRIVATE}) - endif() +@@ -347,15 +353,16 @@ foreach(LIB ${LIBS_PRIVATE}) set(LIBS "${LIBS} -l${LIB}") endforeach() + STRING(CONCAT zlib_link_name "-l" ${ZLIB_LINK_LIBRARY_NAME}) -string(REGEX REPLACE "-lBZip2::BZip2" "-lbz2" LIBS ${LIBS}) -string(REGEX REPLACE "-lLibLZMA::LibLZMA" "-llzma" LIBS ${LIBS}) --string(REGEX REPLACE "-l$,zstd::libzstd_shared,zstd::libzstd_static>" "-lzstd" LIBS ${LIBS}) --string(REGEX REPLACE "-lOpenSSL::Crypto" "-lssl -lcrypto" LIBS ${LIBS}) --string(REGEX REPLACE "-lZLIB::ZLIB" "-lz" LIBS ${LIBS}) +string(REGEX REPLACE "-lBZip2::BZip2" "" LIBS ${LIBS}) +string(REGEX REPLACE "-lLibLZMA::LibLZMA" "" LIBS ${LIBS}) -+string(REGEX REPLACE "-l$,zstd::libzstd_shared,zstd::libzstd_static>" "" LIBS ${LIBS}) + if(ENABLE_ZSTD) +- string(REGEX REPLACE "-l${zstd_TARGET}" "-lzstd" LIBS ${LIBS}) ++ string(REGEX REPLACE "-l${zstd_TARGET}" "" LIBS ${LIBS}) + endif() +-string(REGEX REPLACE "-lOpenSSL::Crypto" "-lssl -lcrypto" LIBS ${LIBS}) +-string(REGEX REPLACE "-lZLIB::ZLIB" ${zlib_link_name} LIBS ${LIBS}) +string(REGEX REPLACE "-lOpenSSL::Crypto" "" LIBS ${LIBS}) +string(REGEX REPLACE "-lZLIB::ZLIB" "" LIBS ${LIBS}) string(REGEX REPLACE "-lGnuTLS::GnuTLS" "-lgnutls" LIBS ${LIBS}) @@ -71,7 +72,7 @@ index cf85fc4b7..90615fec9 100644 if(LIBZIP_DO_INSTALL) install(FILES ${PROJECT_BINARY_DIR}/libzip.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) diff --git a/libzip.pc.in b/libzip.pc.in -index d51b0ab63..755685c03 100644 +index d51b0ab..07b3b50 100644 --- a/libzip.pc.in +++ b/libzip.pc.in @@ -9,6 +9,7 @@ zipcmp=${bindir}/zipcmp diff --git a/ports/libzip/vcpkg.json b/ports/libzip/vcpkg.json index 5a3ab4fe82ae9e..7ff39ae3641b05 100644 --- a/ports/libzip/vcpkg.json +++ b/ports/libzip/vcpkg.json @@ -1,7 +1,6 @@ { "name": "libzip", - "version": "1.9.2", - "port-version": 2, + "version": "1.10.1", "description": "A library for reading, creating, and modifying zip archives.", "homepage": "https://github.com/nih-at/libzip", "license": "BSD-3-Clause", diff --git a/ports/libzippp/portfile.cmake b/ports/libzippp/portfile.cmake index 5b9c820587dcb4..de3f0daada57b8 100644 --- a/ports/libzippp/portfile.cmake +++ b/ports/libzippp/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ctabin/libzippp - REF 7bc5e5d7de8808acd0a00fc2f993bf9141086c22 #v7.0-1.10.1 with CXX std version c++11 - SHA512 f84aaab7ccf3d2f90ed1b49e9d71059c045e8aab08bc185a2d63f2ff6ba106c185e7d8938fe653fe96797e9f4f36fb04c12927a4339250ac431eed01ebf900bb + REF 7e65f6cd173da8f20393d331ceb697482b206edf #v7.1-1.10.1 with CXX std version c++11 + SHA512 0076e39f6c1375d61e70dedc5132c48a8191534f2e6aeb042fe0f80c2aa068112e709446b29f84e513bf40ad532816c07155c2bc8ff86114e9c2f45b3f514fc0 HEAD_REF master ) diff --git a/ports/libzippp/vcpkg.json b/ports/libzippp/vcpkg.json index 4aa6d9e78f31a3..84cc33d77f0b37 100644 --- a/ports/libzippp/vcpkg.json +++ b/ports/libzippp/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libzippp", - "version": "7.0-1.10.1", + "version": "7.1-1.10.1", "description": "Simple basic C++ wrapper around the libzip library. It is meant to be a portable and easy-to-use library for ZIP handling", "homepage": "https://github.com/ctabin/libzippp", "license": "BSD-3-Clause", diff --git a/ports/lief/fix-cmakelists.patch b/ports/lief/fix-cmakelists.patch new file mode 100644 index 00000000000000..bb087a6f1538d1 --- /dev/null +++ b/ports/lief/fix-cmakelists.patch @@ -0,0 +1,49 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index fc2b679..4ec92b9 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -113,19 +113,7 @@ message(STATUS "CMAKE_CXX_IMPLICIT_LINK_LIBRARIES: ${CMAKE_CXX_IMPLICIT_LINK_LIB + message(STATUS "CMAKE_SYSTEM_PROCESSOR: ${CMAKE_SYSTEM_PROCESSOR}") + message(STATUS "CMAKE_MSVC_RUNTIME_LIBRARY: ${CMAKE_MSVC_RUNTIME_LIBRARY}") + +-if(LIEF_INSTALL) +- if(UNIX) +- include(GNUInstallDirs) +- set(CMAKE_INSTALL_LIBDIR "lib") +- else() +- set(CMAKE_INSTALL_LIBDIR "lib") +- set(CMAKE_INSTALL_DATADIR "share") + set(CMAKE_INSTALL_INCLUDEDIR "include") +- set(CMAKE_INSTALL_BINDIR "bin") +- set(CMAKE_INSTALL_DATAROOTDIR "share") +- message(STATUS "Setting installation destination to: ${CMAKE_INSTALL_PREFIX}") +- endif() +-endif() + + # LIEF Source definition + # ====================== +@@ -318,7 +306,9 @@ else() + ${CMAKE_CURRENT_BINARY_DIR}/include/LIEF/third-party/internal/span.hpp) + endif() + +-target_link_libraries(LIB_LIEF PRIVATE lief_spdlog) ++find_package(fmt CONFIG REQUIRED) ++find_package(spdlog CONFIG REQUIRED) ++target_link_libraries(LIB_LIEF PRIVATE fmt::fmt spdlog::spdlog) + + if(ANDROID AND LIEF_LOGGING) + target_link_libraries(LIB_LIEF PUBLIC log) +@@ -507,11 +497,11 @@ if(LIEF_INSTALL) + endif() + + install( +- TARGETS LIB_LIEF lief_spdlog ++ TARGETS LIB_LIEF + EXPORT LIEFExport + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} +- RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT libraries + INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + + install( diff --git a/ports/lief/fix-liefconfig-cmake-in.patch b/ports/lief/fix-liefconfig-cmake-in.patch new file mode 100644 index 00000000000000..637686f1466812 --- /dev/null +++ b/ports/lief/fix-liefconfig-cmake-in.patch @@ -0,0 +1,24 @@ +diff --git a/cmake/LIEFConfig.cmake.in b/cmake/LIEFConfig.cmake.in +index dba7363..7f88f98 100644 +--- a/cmake/LIEFConfig.cmake.in ++++ b/cmake/LIEFConfig.cmake.in +@@ -69,7 +69,7 @@ macro(LIEF_load_targets lib_type) + return() + endif () + +- if("${lib_type}" STREQUAL "static") ++ if(1) + # Need to find all dependencies even if they're private when LIEF is + # compiled statically + include(CMakeFindDependencyMacro) +@@ -93,6 +93,10 @@ macro(LIEF_load_targets lib_type) + if(NOT @LIEF_DISABLE_FROZEN@ AND @LIEF_OPT_FROZEN_EXTERNAL@) + find_dependency(frozen) + endif() ++ ++ find_dependency(tl-expected) ++ find_dependency(fmt) ++ check_required_components(lief) + endif() + + # Include the respective targets file diff --git a/ports/lief/fix-vcpkg-includes.patch b/ports/lief/fix-vcpkg-includes.patch new file mode 100644 index 00000000000000..1bcbdcac4bc6e1 --- /dev/null +++ b/ports/lief/fix-vcpkg-includes.patch @@ -0,0 +1,52 @@ +diff --git a/src/BinaryStream/BinaryStream.cpp b/src/BinaryStream/BinaryStream.cpp +index 83e618c..6447b7b 100644 +--- a/src/BinaryStream/BinaryStream.cpp ++++ b/src/BinaryStream/BinaryStream.cpp +@@ -15,7 +15,7 @@ + */ + #include "LIEF/BinaryStream/BinaryStream.hpp" + #include "LIEF/DWARF/enums.hpp" +-#include "third-party/utfcpp.hpp" ++#include + + #include + #include +diff --git a/src/PE/Builder.cpp b/src/PE/Builder.cpp +index 8cbe7b2..994e9bf 100644 +--- a/src/PE/Builder.cpp ++++ b/src/PE/Builder.cpp +@@ -21,7 +21,7 @@ + + #include "logging.hpp" + +-#include "third-party/utfcpp.hpp" ++#include + + + #include "LIEF/PE/Builder.hpp" +diff --git a/src/logging.cpp b/src/logging.cpp +index 39936fe..f5e1345 100644 +--- a/src/logging.cpp ++++ b/src/logging.cpp +@@ -20,7 +20,7 @@ + #include "logging.hpp" + + #include "spdlog/spdlog.h" +-#include "spdlog/fmt/bundled/args.h" ++#include + #include "spdlog/sinks/stdout_color_sinks.h" + #include "spdlog/sinks/basic_file_sink.h" + #include "spdlog/sinks/android_sink.h" +diff --git a/src/utils.cpp b/src/utils.cpp +index 0acbba1..b624a1d 100644 +--- a/src/utils.cpp ++++ b/src/utils.cpp +@@ -22,7 +22,7 @@ + #include "LIEF/utils.hpp" + #include "LIEF/errors.hpp" + +-#include "third-party/utfcpp.hpp" ++#include + + #include "LIEF/config.h" + #include "logging.hpp" diff --git a/ports/lief/portfile.cmake b/ports/lief/portfile.cmake new file mode 100644 index 00000000000000..a9b196904a3574 --- /dev/null +++ b/ports/lief/portfile.cmake @@ -0,0 +1,71 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO lief-project/LIEF + REF ${VERSION} + SHA512 776d26bc5d8ec7bca823d1c0fc821b0efc2411976901e1fca0ffecbc64591798e9e21a483c1637e9877bdd921dc463ffaef4eeb6a76d9dd8463c97c5f50834d4 + HEAD_REF master + PATCHES + fix-cmakelists.patch + fix-liefconfig-cmake-in.patch + fix-vcpkg-includes.patch +) + +file(REMOVE_RECURSE "${SOURCE_PATH}/third-party") + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + "c-api" LIEF_C_API # C API + "enable-json" LIEF_ENABLE_JSON # Enable JSON-related APIs + "extra-warnings" LIEF_EXTRA_WARNINGS # Enable extra warning from the compiler + "logging" LIEF_LOGGING # Enable logging + "logging-debug" LIEF_LOGGING_DEBUG # Enable debug logging + + "use-ccache" LIEF_USE_CCACHE # Use ccache to speed up compilation + + "elf" LIEF_ELF # Build LIEF with ELF module + "pe" LIEF_PE # Build LIEF with PE module + "macho" LIEF_MACHO # Build LIEF with MachO module + + "oat" LIEF_OAT # Build LIEF with OAT module + "dex" LIEF_DEX # Build LIEF with DEX module + "vdex" LIEF_VDEX # Build LIEF with VDEX module + "art" LIEF_ART # Build LIEF with ART module +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} + -DLIEF_EXAMPLES=OFF + + # Build with external vcpkg dependencies + -DLIEF_OPT_MBEDTLS_EXTERNAL=ON + -DLIEF_EXTERNAL_SPDLOG=ON + -DLIEF_OPT_NLOHMANN_JSON_EXTERNAL=ON + -DLIEF_OPT_FROZEN_EXTERNAL=ON + -DLIEF_OPT_EXTERNAL_SPAN=ON + -DLIEF_OPT_UTFCPP_EXTERNAL=ON + -DLIEF_OPT_EXTERNAL_EXPECTED=ON + -DLIEF_DISABLE_FROZEN=OFF + -DLIEF_DISABLE_EXCEPTIONS=OFF + + "-DLIEF_EXTERNAL_SPAN_DIR=${_VCPKG_INSTALLED_DIR}/${TARGET_TRIPLET}/include/tcb" +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/LIEF") + +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/lief/LIEFConfig.cmake" + [[include("${LIEF_${lib_type}_export}")]] + [[include("${CMAKE_CURRENT_LIST_DIR}/LIEFExport-${lib_type}.cmake")]] +) + +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" +) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/lief/vcpkg.json b/ports/lief/vcpkg.json new file mode 100644 index 00000000000000..43769dd2807b22 --- /dev/null +++ b/ports/lief/vcpkg.json @@ -0,0 +1,79 @@ +{ + "name": "lief", + "version-semver": "0.16.1", + "description": "LIEF - Library to Instrument Executable Formats", + "homepage": "https://lief.quarkslab.com", + "license": "Apache-2.0", + "dependencies": [ + "fmt", + "frozen", + "mbedtls", + "spdlog", + "tcb-span", + "tl-expected", + "utfcpp", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "default-features": [ + "art", + "dex", + "elf", + "enable-json", + "logging", + "macho", + "oat", + "pe", + "vdex" + ], + "features": { + "art": { + "description": "Build LIEF with ART module" + }, + "c-api": { + "description": "C API" + }, + "dex": { + "description": "Build LIEF with DEX module" + }, + "elf": { + "description": "Build LIEF with ELF module" + }, + "enable-json": { + "description": "Enable JSON-related APIs", + "dependencies": [ + "nlohmann-json" + ] + }, + "extra-warnings": { + "description": "Enable extra warning from the compiler" + }, + "logging": { + "description": "Enable logging" + }, + "logging-debug": { + "description": "Enable debug logging" + }, + "macho": { + "description": "Build LIEF with MachO module" + }, + "oat": { + "description": "Build LIEF with OAT module" + }, + "pe": { + "description": "Build LIEF with PE module" + }, + "use-ccache": { + "description": "Use ccache to speed up compilation" + }, + "vdex": { + "description": "Build LIEF with VDEX module" + } + } +} diff --git a/ports/lightgbm/portfile.cmake b/ports/lightgbm/portfile.cmake new file mode 100644 index 00000000000000..ce4f93c25de75f --- /dev/null +++ b/ports/lightgbm/portfile.cmake @@ -0,0 +1,34 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO microsoft/LightGBM + REF v${VERSION} + SHA512 f968f984a0881a5eadd898dded367b799b619e3cc80415dec8b623897e84d7e1e1034f20179125354b93759ea1b8a3e334cfa506427442810ef098bc93fd4634 + PATCHES + vcpkg_lightgbm_use_vcpkg_libs.patch +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + gpu USE_GPU + openmp USE_OPENMP +) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + set(BUILD_STATIC_LIB "OFF") +else() + set(BUILD_STATIC_LIB "ON") +endif() + +vcpkg_cmake_configure( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS + -DBUILD_STATIC_LIB=${BUILD_STATIC_LIB} + ${FEATURE_OPTIONS} +) + +vcpkg_cmake_install() + +vcpkg_copy_tools(TOOL_NAMES lightgbm AUTO_CLEAN) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/lightgbm/vcpkg.json b/ports/lightgbm/vcpkg.json new file mode 100644 index 00000000000000..0e8f3a7041c833 --- /dev/null +++ b/ports/lightgbm/vcpkg.json @@ -0,0 +1,35 @@ +{ + "name": "lightgbm", + "version": "4.5.0", + "description": [ + "A fast, distributed, high performance gradient boosting (GBT, GBDT, GBRT, GBM or MART) framework based on decision tree algorithms.", + "Designed to be distributed and efficient and comes with faster training speeds, higher efficiency, lower memory usage and support of parallel, distributed, and GPU learning." + ], + "homepage": "https://github.com/microsoft/LightGBM", + "license": "Apache-2.0", + "supports": "!android & !osx & !uwp", + "dependencies": [ + "eigen3", + "fast-double-parser", + "fmt", + { + "name": "vcpkg-cmake", + "host": true + } + ], + "default-features": [ + "openmp" + ], + "features": { + "gpu": { + "description": "GPU support using Boost.Compute", + "dependencies": [ + "boost-compute", + "opencl" + ] + }, + "openmp": { + "description": "Support for multi-threading using OpenMP" + } + } +} diff --git a/ports/lightgbm/vcpkg_lightgbm_use_vcpkg_libs.patch b/ports/lightgbm/vcpkg_lightgbm_use_vcpkg_libs.patch new file mode 100644 index 00000000000000..65f69548f1356e --- /dev/null +++ b/ports/lightgbm/vcpkg_lightgbm_use_vcpkg_libs.patch @@ -0,0 +1,66 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3492289b..6284b6e0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -115,18 +115,17 @@ if(USE_SWIG) + endif() + endif() + +-set(EIGEN_DIR "${PROJECT_SOURCE_DIR}/external_libs/eigen") +-include_directories(${EIGEN_DIR}) ++find_package(Eigen3 CONFIG REQUIRED) + + # See https://gitlab.com/libeigen/eigen/-/blob/master/COPYING.README + add_definitions(-DEIGEN_MPL2_ONLY) + add_definitions(-DEIGEN_DONT_PARALLELIZE) + +-set(FAST_DOUBLE_PARSER_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/external_libs/fast_double_parser/include") +-include_directories(${FAST_DOUBLE_PARSER_INCLUDE_DIR}) ++find_package(fmt CONFIG REQUIRED) ++get_target_property(VCPKG_INCLUDE_DIR fmt::fmt INTERFACE_INCLUDE_DIRECTORIES) ++set(FMT_INCLUDE_DIR ${VCPKG_INCLUDE_DIR}/fmt) + +-set(FMT_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/external_libs/fmt/include") +-include_directories(${FMT_INCLUDE_DIR}) ++find_path(FAST_DOUBLE_PARSER_INCLUDE_DIR fast_double_parser.h) + + if(__BUILD_FOR_R) + find_package(LibR REQUIRED) +@@ -181,15 +180,13 @@ if(USE_OPENMP) + endif() + + if(USE_GPU) +- set(BOOST_COMPUTE_HEADER_DIR ${PROJECT_SOURCE_DIR}/external_libs/compute/include) +- include_directories(${BOOST_COMPUTE_HEADER_DIR}) + find_package(OpenCL REQUIRED) + include_directories(${OpenCL_INCLUDE_DIRS}) + message(STATUS "OpenCL include directory: " ${OpenCL_INCLUDE_DIRS}) + if(WIN32) + set(Boost_USE_STATIC_LIBS ON) + endif() +- find_package(Boost 1.56.0 COMPONENTS filesystem system REQUIRED) ++ find_package(Boost 1.56.0 COMPONENTS filesystem system compute REQUIRED) + if(WIN32) + # disable autolinking in boost + add_definitions(-DBOOST_ALL_NO_LIB) +@@ -458,9 +455,11 @@ endif() + + add_library(lightgbm_objs OBJECT ${SOURCES}) + ++target_link_libraries(lightgbm_objs PUBLIC Eigen3::Eigen fmt::fmt) ++ + if(BUILD_CLI) + add_executable(lightgbm src/main.cpp src/application/application.cpp) +- target_link_libraries(lightgbm PRIVATE lightgbm_objs) ++ target_link_libraries(lightgbm PRIVATE lightgbm_objs Eigen3::Eigen fmt::fmt) + endif() + + set(API_SOURCES "src/c_api.cpp") +@@ -471,6 +470,7 @@ if(__BUILD_FOR_R) + endif() + + add_library(lightgbm_capi_objs OBJECT ${API_SOURCES}) ++target_link_libraries(lightgbm_capi_objs PUBLIC Eigen3::Eigen fmt::fmt) + + if(BUILD_STATIC_LIB) + add_library(_lightgbm STATIC) diff --git a/ports/lilv/CMakeLists.txt b/ports/lilv/CMakeLists.txt deleted file mode 100644 index 7dd5cbeba64eee..00000000000000 --- a/ports/lilv/CMakeLists.txt +++ /dev/null @@ -1,96 +0,0 @@ -cmake_minimum_required(VERSION 3.17) -project(lilv C) - -find_package(lv2 CONFIG REQUIRED) -find_package(serd CONFIG REQUIRED) -find_package(sord CONFIG REQUIRED) -find_package(sratom CONFIG REQUIRED) - -add_library(lilv - src/collections.c - src/filesystem.c - src/instance.c - src/lib.c - src/node.c - src/plugin.c - src/pluginclass.c - src/port.c - src/query.c - src/scalepoint.c - src/state.c - src/ui.c - src/util.c - src/world.c - src/zix/tree.c -) - -if(CMAKE_SYSTEM_NAME STREQUAL "Windows" OR CMAKE_SYSTEM_NAME STREQUAL "MinGW") - set(LILV_PATH_SEP [[;]]) - set(LILV_DIR_SEP [[\\]]) - set(LV2_PATH [[%APPDATA%\\LV2;%COMMONPROGRAMFILES%\\LV2]]) -elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin") - set(LILV_PATH_SEP ":") - set(LILV_DIR_SEP "/") - set(LV2_PATH "~/Library/Audio/Plug-Ins/LV2:~/.lv2:/usr/local/lib/lv2:/usr/lib/lv2:/Library/Audio/Plug-Ins/LV2") -else() - set(LILV_PATH_SEP ":") - set(LILV_DIR_SEP "/") - set(LV2_PATH "~/.lv2:/usr/lib/lv2:/usr/local/lib/lv2") -endif() - -file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/lilv_config.h.in" [[ -#define LILV_PATH_SEP "@LILV_PATH_SEP@" -#define LILV_DIR_SEP "@LILV_DIR_SEP@" -#define LILV_DEFAULT_LV2_PATH "@LV2_PATH@" -]]) -configure_file("${CMAKE_CURRENT_BINARY_DIR}/lilv_config.h.in" "${CMAKE_CURRENT_BINARY_DIR}/lilv_config.h") - -target_include_directories(lilv - PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/src" "${CMAKE_CURRENT_BINARY_DIR}" -) - -target_link_libraries(lilv - PUBLIC lv2::lv2 - PRIVATE serd::serd sord::sord sratom::sratom -) - -set_target_properties(lilv PROPERTIES - C_STANDARD 99 - C_STANDARD_REQUIRED ON -) - -target_compile_definitions(lilv PRIVATE LILV_INTERNAL _CRT_SECURE_NO_WARNINGS) - -if(BUILD_SHARED_LIBS) - target_compile_definitions(lilv PUBLIC LILV_SHARED) -endif() - -install( - TARGETS lilv - EXPORT lilv-targets - INCLUDES DESTINATION include -) - -if(NOT DISABLE_INSTALL_HEADERS) - install(DIRECTORY lilv DESTINATION include) -endif() - -install( - EXPORT lilv-targets - NAMESPACE lilv:: - DESTINATION "${CMAKE_INSTALL_PREFIX}/share/lilv" -) - -file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/lilv-config.cmake" [[ -include(CMakeFindDependencyMacro) -find_dependency(lv2 CONFIG) -find_dependency(serd CONFIG) -find_dependency(sord CONFIG) -find_dependency(sratom CONFIG) -include("${CMAKE_CURRENT_LIST_DIR}/lilv-targets.cmake") -]]) - -install( - FILES "${CMAKE_CURRENT_BINARY_DIR}/lilv-config.cmake" - DESTINATION "${CMAKE_INSTALL_PREFIX}/share/lilv" -) diff --git a/ports/lilv/portfile.cmake b/ports/lilv/portfile.cmake index 9a7952360cbdc4..8d62a2b556ad4c 100644 --- a/ports/lilv/portfile.cmake +++ b/ports/lilv/portfile.cmake @@ -2,24 +2,39 @@ vcpkg_from_gitlab( GITLAB_URL https://gitlab.com OUT_SOURCE_PATH SOURCE_PATH REPO lv2/lilv - REF v0.24.10 - SHA512 be47b72f2671f3bbab219944519b990156547e26aa432c2618273683c86dc23ae3b071d1de586f45dfda3ea8dbbc095429ad318fda60efcf715ae917a7caa34b + REF "v${VERSION}" + SHA512 844d72a07d3978e1cc908962f0fb957b47032277a419e1639885e3a49d27278fc48ab774229d18ba2b811bab755c8a1cbfa10b805de5f1cfe1bc2f9424913f5a HEAD_REF master ) -file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +set(options "") +if("tools" IN_LIST FEATURES) + list(APPEND options -Dtools=enabled) +else() + list(APPEND options -Dtools=disabled) +endif() -vcpkg_cmake_configure( +vcpkg_configure_meson( SOURCE_PATH "${SOURCE_PATH}" - OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=1 + OPTIONS + ${options} + -Dbindings_cpp=enabled + -Dbindings_py=disabled + -Ddocs=disabled + -Dtests=disabled ) -vcpkg_cmake_install() - +vcpkg_install_meson() vcpkg_copy_pdbs() -vcpkg_cmake_config_fixup() -file( - INSTALL "${SOURCE_PATH}/COPYING" - DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" - RENAME copyright +vcpkg_fixup_pkgconfig() + +if("tools" IN_LIST FEATURES) + vcpkg_copy_tools(TOOL_NAMES lv2apply lv2bench lv2info lv2ls AUTO_CLEAN) +endif() + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/etc" + "${CURRENT_PACKAGES_DIR}/debug/share" ) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/lilv/vcpkg.json b/ports/lilv/vcpkg.json index 748c91b23d54a8..1cce4e42faa936 100644 --- a/ports/lilv/vcpkg.json +++ b/ports/lilv/vcpkg.json @@ -1,7 +1,7 @@ { "name": "lilv", - "version": "0.24.10", - "port-version": 2, + "version": "0.24.24", + "port-version": 1, "description": "Lilv is a C library for simple use of LV2 plugins in applications.", "homepage": "https://drobilla.net/software/lilv", "license": "ISC", @@ -12,12 +12,18 @@ "sord", "sratom", { - "name": "vcpkg-cmake", + "name": "vcpkg-tool-meson", "host": true }, - { - "name": "vcpkg-cmake-config", - "host": true + "zix" + ], + "features": { + "tools": { + "description": "Build tools", + "supports": "!windows", + "dependencies": [ + "libsndfile" + ] } - ] + } } diff --git a/ports/linenoise-ng/portfile.cmake b/ports/linenoise-ng/portfile.cmake deleted file mode 100644 index c85d8d31d16e74..00000000000000 --- a/ports/linenoise-ng/portfile.cmake +++ /dev/null @@ -1,21 +0,0 @@ -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO arangodb/linenoise-ng - REF 4754bee2d8eb3c4511e6ac87cac62255b2011e2f - SHA512 080c6b4cde911a162885a2e6fc95143ab481b4dcc0f8b871a55a071ccb4ab868b19201ec17475a3c3ceef1b82325d757913383b3c46da6946ddc8bfc0d82d9ca - HEAD_REF master -) - - -vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - DISABLE_PARALLEL_CONFIGURE -) - -vcpkg_cmake_install() -vcpkg_copy_pdbs() - -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") - -# Handle copyright -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/linenoise-ng/vcpkg.json b/ports/linenoise-ng/vcpkg.json deleted file mode 100644 index 8690f9deb078f8..00000000000000 --- a/ports/linenoise-ng/vcpkg.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "name": "linenoise-ng", - "version-string": "4754bee2d8eb3", - "port-version": 3, - "description": "A small, portable GNU readline replacement for Linux, Windows and MacOS which is capable of handling UTF-8 characters.", - "dependencies": [ - { - "name": "vcpkg-cmake", - "host": true - } - ] -} diff --git a/ports/litehtml/fix-relative-includes.patch b/ports/litehtml/fix-relative-includes.patch index c9b42e9575c758..e86cb5e0efc3a6 100644 --- a/ports/litehtml/fix-relative-includes.patch +++ b/ports/litehtml/fix-relative-includes.patch @@ -1,17 +1,8 @@ -From 42cf79c0292d655eec41c486710bf610063bdfd8 Mon Sep 17 00:00:00 2001 -From: Sean Farrell -Date: Thu, 23 Feb 2023 14:17:52 +0100 -Subject: [PATCH] Fix relative includes. - ---- - include/litehtml.h | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - diff --git a/include/litehtml.h b/include/litehtml.h index 98a24e0..d20addd 100644 --- a/include/litehtml.h +++ b/include/litehtml.h -@@ -1,10 +1,10 @@ +@@ -1,11 +1,11 @@ #ifndef LITEHTML_H #define LITEHTML_H @@ -20,13 +11,12 @@ index 98a24e0..d20addd 100644 -#include -#include -#include +-#include +#include "html.h" +#include "document.h" +#include "html_tag.h" +#include "stylesheet.h" +#include "element.h" ++#include "utf8_strings.h" #endif // LITEHTML_H --- -2.33.0.windows.2 - diff --git a/ports/litehtml/portfile.cmake b/ports/litehtml/portfile.cmake index 679c8d46ba20b9..bad41e7bf065e3 100644 --- a/ports/litehtml/portfile.cmake +++ b/ports/litehtml/portfile.cmake @@ -1,9 +1,9 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO litehtml/litehtml - REF v0.6 - SHA512 b774ed96e53780865e789875f571f96ebce1cd2ff0c05a06ae68a67aec44375cc282c07f77fc87131d422aceddba32bbf3e8e498c870883d8e042adb30834c39 - PATCHES + REF v0.9 + SHA512 2a156671b770a6a20ab00184d9869af779248dd1fb898930b3b479ee88d8b7d84f51fdbd689ae4124530ab70c8697b6641cf06b220631ce4fec4622e63845ea3 + PATCHES use-vcpkg-gumbo.patch fix-relative-includes.patch ) @@ -15,8 +15,7 @@ endif() vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DBUILD_TESTING=OFF - -DLITEHTML_UTF8=ON + -DLITEHTML_BUILD_TESTING=OFF ) vcpkg_cmake_install() diff --git a/ports/litehtml/use-vcpkg-gumbo.patch b/ports/litehtml/use-vcpkg-gumbo.patch index c7796fb00008b1..b387df617dc9fa 100644 --- a/ports/litehtml/use-vcpkg-gumbo.patch +++ b/ports/litehtml/use-vcpkg-gumbo.patch @@ -1,14 +1,3 @@ -From 4ca6d9846bfc39c4aa98d6a41f298078b4bebf8d Mon Sep 17 00:00:00 2001 -From: Sean Farrell -Date: Thu, 23 Feb 2023 08:15:37 +0100 -Subject: [PATCH] Use vcpkg's gumbo - ---- - CMakeLists.txt | 8 ++------ - cmake/litehtmlConfig.cmake | 2 +- - src/document.cpp | 2 +- - 3 files changed, 4 insertions(+), 8 deletions(-) - diff --git a/CMakeLists.txt b/CMakeLists.txt index fe71729..21e77c8 100644 --- a/CMakeLists.txt @@ -25,9 +14,9 @@ index fe71729..21e77c8 100644 +find_package(unofficial-gumbo CONFIG REQUIRED) set(SOURCE_LITEHTML - src/background.cpp + src/codepoint.cpp @@ -153,7 +149,7 @@ if (LITEHTML_UTF8) - endif() + target_include_directories(${PROJECT_NAME} PRIVATE include/${PROJECT_NAME}) # Gumbo -target_link_libraries(${PROJECT_NAME} PUBLIC gumbo) @@ -49,14 +38,11 @@ index 8bd1ea8..51a9d42 100644 --- a/src/document.cpp +++ b/src/document.cpp @@ -26,7 +26,7 @@ + #include #include #include - #include -#include "gumbo.h" +#include #include "utf8_strings.h" - - litehtml::document::document(litehtml::document_container* objContainer, litehtml::context* ctx) --- -2.33.0.windows.2 - + #include "render_item.h" + #include "render_table.h" diff --git a/ports/litehtml/vcpkg.json b/ports/litehtml/vcpkg.json index da8c92718ad05d..721de0dfb88692 100644 --- a/ports/litehtml/vcpkg.json +++ b/ports/litehtml/vcpkg.json @@ -1,7 +1,6 @@ { "name": "litehtml", - "version": "0.6.0", - "port-version": 2, + "version": "0.9.0", "description": "litehtml is the lightweight HTML rendering engine with CSS2/CSS3 support.", "homepage": "https://github.com/litehtml/litehtml", "license": "BSD-3-Clause", diff --git a/ports/live555/CMakeLists.txt b/ports/live555/CMakeLists.txt index d5b71ea1629244..57cca4b002f36e 100644 --- a/ports/live555/CMakeLists.txt +++ b/ports/live555/CMakeLists.txt @@ -17,19 +17,29 @@ if (NOT MSVC) add_compile_options(-DSOCKLEN_T=socklen_t) endif() +if (CMAKE_SYSTEM_NAME MATCHES "Darwin") + add_compile_options(-DBSD=1) + add_compile_options(-DHAVE_SOCKADDR_LEN=1) + add_compile_options(-DTIME_BASE=int) + add_compile_options(-DNEED_XLOCALE_H=1) +endif() + file(GLOB BASIC_USAGE_ENVIRONMENT_SRCS BasicUsageEnvironment/*.c BasicUsageEnvironment/*.cpp) add_library(BasicUsageEnvironment ${BASIC_USAGE_ENVIRONMENT_SRCS}) +target_include_directories(BasicUsageEnvironment PUBLIC $) file(GLOB GROUPSOCK_SRCS groupsock/*.c groupsock/*.cpp) add_library(groupsock ${GROUPSOCK_SRCS}) +target_include_directories(groupsock PUBLIC $) file(GLOB LIVEMEDIA_SRCS liveMedia/*.c liveMedia/*.cpp) add_library(liveMedia ${LIVEMEDIA_SRCS}) find_package(OpenSSL REQUIRED) -target_include_directories(liveMedia PRIVATE "${OPENSSL_INCLUDE_DIR}") +target_include_directories(liveMedia PRIVATE "${OPENSSL_INCLUDE_DIR}" PUBLIC $) file(GLOB USAGE_ENVIRONMENT_SRCS UsageEnvironment/*.c UsageEnvironment/*.cpp) add_library(UsageEnvironment ${USAGE_ENVIRONMENT_SRCS}) +target_include_directories(UsageEnvironment PUBLIC $) file(WRITE "${CMAKE_BINARY_DIR}/unofficial-live555-config.cmake" [[ diff --git a/ports/live555/portfile.cmake b/ports/live555/portfile.cmake index c439cb5e66b6fb..b1cc11b0bf2270 100644 --- a/ports/live555/portfile.cmake +++ b/ports/live555/portfile.cmake @@ -1,9 +1,10 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +string(REPLACE "-" "." format_version ${VERSION}) vcpkg_download_distfile(ARCHIVE - URLS "http://live555.com/liveMedia/public/live.2023.07.24.tar.gz" - FILENAME "live.2023.07.24.tar.gz" -SHA512 d0708a087d9252b2f13d7b2e14c47e24e895ac329d5dd640a00756e92c846c57573198f6cc79e88272567babf5b0bb8cb268e750685efe8b9693fd9aec384e70 + URLS "http://live555.com/liveMedia/public/live.${format_version}.tar.gz" + FILENAME "live.${format_version}.tar.gz" + SHA512 ee2bf17d2803c4bb6f49408a123de9238273749b9c110113facbf78eb01b9961bbd04178335f40d36425c9f96a26ee3da57e970f86d4912b4ec42ab6f4b2c7e9 ) vcpkg_extract_source_archive( diff --git a/ports/live555/vcpkg.json b/ports/live555/vcpkg.json index 6406ec614cdc92..b519c88b441fb1 100644 --- a/ports/live555/vcpkg.json +++ b/ports/live555/vcpkg.json @@ -1,6 +1,6 @@ { "name": "live555", - "version-date": "2023-07-24", + "version-date": "2024-11-28", "description": "A complete RTSP server application", "homepage": "http://www.live555.com/liveMedia", "license": "GPL-3.0-or-later", diff --git a/ports/llfio/portfile.cmake b/ports/llfio/portfile.cmake index 1722bb977422e5..f317aad94bbf17 100644 --- a/ports/llfio/portfile.cmake +++ b/ports/llfio/portfile.cmake @@ -8,17 +8,16 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ned14/llfio - REF b588deb7593d62e3afc025f85477d09b8012fb90 - SHA512 47b43c716406d2847b16c33730376dc2a98ad8d079319387087ba4b37fdf5623c660fc53c92e2f90995a877001a7a739985d15d0b5133e079254e2d85ba5d8e4 + REF 2af67dad6d87ec37a4dd042c48f5d0edcdeff326 + SHA512 207cf7b113aa7703a9197254a01bde794a1ec5ab8ab94e690913344b29bb2579e942f12260ce6c208fb919e11731f57d2e5c80ca85ccf1d98f6747a1681be7a9 HEAD_REF develop - PATCHES ) vcpkg_from_github( OUT_SOURCE_PATH NTKEC_SOURCE_PATH REPO ned14/ntkernel-error-category - REF bbd44623594142155d49bd3ce8820d3cf9da1e1e - SHA512 589d3bc7bca98ca8d05ce9f5cf009dd98b8884bdf3739582f2f6cbf5a324ce95007ea041450ed935baa4a401b4a0242c181fb6d2dcf7ad91587d75f05491f50e + REF 5e50ff9af36a029c8ead9e0a833aa78304e95f28 + SHA512 a3b8bfba8b22c79913ced23358c4a5ec56d2f2f8ca8da3ebd2e7cfaa783363d92d9de1b49766756c7b008114eee31c1509195232adcc364446eae724489be930 HEAD_REF master ) @@ -35,7 +34,7 @@ file(RENAME "${NTKEC_SOURCE_PATH}" "${SOURCE_PATH}/include/llfio/ntkernel-error- set(extra_config) # cmake does not correctly set CMAKE_SYSTEM_PROCESSOR when targeting ARM on Windows if(VCPKG_TARGET_IS_WINDOWS AND (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")) - list(APPEND extra_config -DLLFIO_ASSUME_CROSS_COMPILING=On) + list(APPEND extra_config -DLLFIO_ASSUME_CROSS_COMPILING=ON) endif() # setting CMAKE_CXX_STANDARD here to prevent llfio from messing with compiler flags # the cmake package config requires said C++ standard target transitively via quickcpplib @@ -57,14 +56,15 @@ endif() vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DPROJECT_IS_DEPENDENCY=On - -Dquickcpplib_DIR=${CURRENT_INSTALLED_DIR}/share/quickcpplib + -Dllfio_IS_DEPENDENCY=On + "-DCMAKE_PREFIX_PATH=${CURRENT_INSTALLED_DIR}" ${LLFIO_FEATURE_OPTIONS} -DLLFIO_FORCE_OPENSSL_OFF=ON -DLLFIO_ENABLE_DEPENDENCY_SMOKE_TEST=ON # Leave this always on to test everything compiles -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON -DCXX_CONCEPTS_FLAGS= -DCXX_COROUTINES_FLAGS= + -DCMAKE_POLICY_DEFAULT_CMP0091=NEW # MSVC detection fails without this ${extra_config} ) @@ -83,8 +83,9 @@ vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/llfio) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") if("status-code" IN_LIST FEATURES) - file(INSTALL "${CURRENT_PORT_DIR}/usage-status-code-${VCPKG_LIBRARY_LINKAGE}" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + set(_USAGE_FEATURE "status-code") else() - file(INSTALL "${CURRENT_PORT_DIR}/usage-error-code-${VCPKG_LIBRARY_LINKAGE}" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + set(_USAGE_FEATURE "error-code") endif() +file(INSTALL "${CURRENT_PORT_DIR}/usage-${_USAGE_FEATURE}-${VCPKG_LIBRARY_LINKAGE}" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME usage) vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/Licence.txt") diff --git a/ports/llfio/vcpkg.json b/ports/llfio/vcpkg.json index da0e059b5d98da..704a216b65a797 100644 --- a/ports/llfio/vcpkg.json +++ b/ports/llfio/vcpkg.json @@ -1,7 +1,6 @@ { "name": "llfio", - "version-date": "2023-03-13", - "port-version": 1, + "version-date": "2024-09-05", "maintainers": [ "Niall Douglas ", "Henrik Gaßmann " diff --git a/ports/llgi/fix-cmake-use-vcpkg.patch b/ports/llgi/fix-cmake-use-vcpkg.patch new file mode 100644 index 00000000000000..d5205d41c1b232 --- /dev/null +++ b/ports/llgi/fix-cmake-use-vcpkg.patch @@ -0,0 +1,49 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 30cb2da..dbc051b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -232,8 +232,13 @@ if(BUILD_VULKAN_COMPILER OR BUILD_TOOL) + spirv-cross-util) + + else() +- list(APPEND LLGI_THIRDPARTY_INCLUDES ${GLSLANG_INCLUDE_DIR} +- ${SPIRVCROSS_INCLUDE_DIR}) ++ # from vcpkg ++ find_package(glslang CONFIG REQUIRED) ++ find_package(spirv_cross_core CONFIG REQUIRED) ++ find_package(spirv_cross_glsl CONFIG REQUIRED) ++ find_package(spirv_cross_hlsl CONFIG REQUIRED) ++ find_package(spirv_cross_msl CONFIG REQUIRED) ++ find_package(spirv_cross_cpp CONFIG REQUIRED) + + endif() + +diff --git a/tools/ShaderTranspilerCore/CMakeLists.txt b/tools/ShaderTranspilerCore/CMakeLists.txt +index 4ce40d4..d4950ce 100644 +--- a/tools/ShaderTranspilerCore/CMakeLists.txt ++++ b/tools/ShaderTranspilerCore/CMakeLists.txt +@@ -24,6 +24,10 @@ else() + + endif() + ++target_link_libraries(ShaderTranspilerCore PUBLIC ++ glslang::glslang glslang::SPIRV glslang::OSDependent glslang::MachineIndependent glslang::GenericCodeGen glslang::glslang-default-resource-limits glslang::OGLCompiler glslang::SPVRemapper glslang::HLSL ++ spirv-cross-cpp spirv-cross-glsl spirv-cross-msl spirv-cross-hlsl ++) + if(USE_THIRDPARTY_DIRECTORY) + add_dependencies(ShaderTranspilerCore EP_glslang EP_SPIRV-Cross) + endif() +diff --git a/CMakeLists.txt b/CMakeLists.txt +index dbc051b..b898b4c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -27,9 +27,6 @@ option(SPIRVCROSS_WITHOUT_INSTALL "Compile with spirv-cross without install" + OFF) + option(USE_CREATE_COMPILER_FUNCTION "Whether LLGI::CreateCompiler is used." ON) + +-if(LINUX) +- set(BUILD_VULKAN TRUE) +-endif() + + option(USE_MSVC_RUNTIME_LIBRARY_DLL "compile as multithreaded DLL" ON) + diff --git a/ports/llgi/fix-sources.patch b/ports/llgi/fix-sources.patch new file mode 100644 index 00000000000000..90837de54df8a6 --- /dev/null +++ b/ports/llgi/fix-sources.patch @@ -0,0 +1,14 @@ +diff --git a/tools/ShaderTranspilerCore/ShaderTranspilerCore.h b/tools/ShaderTranspilerCore/ShaderTranspilerCore.h +index 269afa6..1d1015f 100644 +--- a/tools/ShaderTranspilerCore/ShaderTranspilerCore.h ++++ b/tools/ShaderTranspilerCore/ShaderTranspilerCore.h +@@ -1,7 +1,7 @@ + + #pragma once +- +-#include ++#include ++#include + + #include "../../src/LLGI.Base.h" + #include diff --git a/ports/llgi/portfile.cmake b/ports/llgi/portfile.cmake new file mode 100644 index 00000000000000..9ddbcda297d311 --- /dev/null +++ b/ports/llgi/portfile.cmake @@ -0,0 +1,52 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO altseed/LLGI + REF 8f8510e2dffa1d747ff6ebb0da341198e75291ec + SHA512 d521b47f293b90faed28f9648facdfae327c6122ea6391683a08e48558fdf62ce0d3977f78aef3bc276d77ab19fc40ab3cc4d27311dd5a292e0884635fe7c9d3 + HEAD_REF master + PATCHES + fix-cmake-use-vcpkg.patch + fix-sources.patch +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + vulkan BUILD_VULKAN + vulkan BUILD_VULKAN_COMPILER + tool BUILD_TOOL +) + +string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "dynamic" USE_DYNAMIC_RUNTIME) + +# linux build requires x11-xcb +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} + -DBUILD_TEST=OFF + -DBUILD_EXAMPLE=OFF + -DUSE_CREATE_COMPILER_FUNCTION=ON + -DUSE_THIRDPARTY_DIRECTORY=OFF # prevent ExternalProject_Add + -DUSE_MSVC_RUNTIME_LIBRARY_DLL:BOOL=${USE_DYNAMIC_RUNTIME} + -DGLSLANG_WITHOUT_INSTALL=OFF + -DSPIRVCROSS_WITHOUT_INSTALL=OFF + MAYBE_UNUSED_VARIABLES + USE_MSVC_RUNTIME_LIBRARY_DLL +) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake") + +if("tool" IN_LIST FEATURES) + vcpkg_copy_tools(TOOL_NAMES ShaderTranspiler AUTO_CLEAN) +endif() + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/debug/bin" + "${CURRENT_PACKAGES_DIR}/bin" +) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") \ No newline at end of file diff --git a/ports/llgi/vcpkg.json b/ports/llgi/vcpkg.json new file mode 100644 index 00000000000000..8bc8e525bc723e --- /dev/null +++ b/ports/llgi/vcpkg.json @@ -0,0 +1,35 @@ +{ + "name": "llgi", + "version-date": "2023-12-19", + "homepage": "https://github.com/altseed/LLGI", + "license": null, + "supports": "!(uwp | android)", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "tool": { + "description": "Build ShaderTranspiler", + "dependencies": [ + "glslang", + "spirv-cross" + ] + }, + "vulkan": { + "description": "Build vulkan modules", + "supports": "windows | linux", + "dependencies": [ + "glslang", + "spirv-cross", + "vulkan" + ] + } + } +} diff --git a/ports/llhttp/portfile.cmake b/ports/llhttp/portfile.cmake index 96925d8eeae10d..b679523467c2ce 100644 --- a/ports/llhttp/portfile.cmake +++ b/ports/llhttp/portfile.cmake @@ -4,7 +4,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO nodejs/llhttp REF refs/tags/release/v${VERSION} - SHA512 d3e2c45f631e8bbc5b4b72f931a1af3e7b4f9d2851856a3c797577a3c261c7da15606efe41ff6b4f26713274f44eb3086019711461cb6bbe04e561b20af40a6f + SHA512 7e6f5427b4b6d778ecefff892db78894ef4fd22a79e9c1f2c24d38d603d885755bdc8b0e8202b47c8bc209d3caf45a7293214617390a7a9c33bffbaab59fe5da PATCHES fix-usage.patch ) diff --git a/ports/llhttp/vcpkg.json b/ports/llhttp/vcpkg.json index f1822b1146b2e3..e857c2be396718 100644 --- a/ports/llhttp/vcpkg.json +++ b/ports/llhttp/vcpkg.json @@ -1,6 +1,6 @@ { "name": "llhttp", - "version": "9.1.2", + "version": "9.2.1", "description": "Port of http_parser to llparse.", "homepage": "https://github.com/nodejs/llhttp", "license": "MIT", diff --git a/ports/llnl-units/portfile.cmake b/ports/llnl-units/portfile.cmake new file mode 100644 index 00000000000000..906ddd608f79b7 --- /dev/null +++ b/ports/llnl-units/portfile.cmake @@ -0,0 +1,23 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO LLNL/units + REF "v${VERSION}" + SHA512 b0c40248a25adff97d3bd6eb6899bf7ed9a4622857a6eb0d62d040db6e60141fac201362710bbe417d8c284adcec89f8742815fcf17f30557e822d8f4e08fc4e + HEAD_REF main +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DUNITS_CMAKE_PROJECT_NAME=LLNL-UNITS + -DUNITS_ENABLE_TESTS=OFF + -DUNITS_BUILD_FUZZ_TARGETS=OFF + -DLLNL-UNITS_ENABLE_ERROR_ON_WARNINGS=OFF + -DLLNL-UNITS_ENABLE_EXTRA_COMPILER_WARNINGS=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME llnl-units CONFIG_PATH lib/cmake/llnl-units) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/llnl-units/usage b/ports/llnl-units/usage new file mode 100644 index 00000000000000..47da448bdd007e --- /dev/null +++ b/ports/llnl-units/usage @@ -0,0 +1,4 @@ +llnl-units provides CMake targets: + + find_package(llnl-units CONFIG REQUIRED) + target_link_libraries(main PRIVATE llnl-units::units) diff --git a/ports/llnl-units/vcpkg.json b/ports/llnl-units/vcpkg.json new file mode 100644 index 00000000000000..cdbfd29fd891f8 --- /dev/null +++ b/ports/llnl-units/vcpkg.json @@ -0,0 +1,16 @@ +{ + "name": "llnl-units", + "version": "0.9.1", + "description": "A run-time C++ library for working with units of measurement and conversions between them and with string representations of units and measurements", + "homepage": "https://github.com/LLNL/units", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/llvm/0002-fix-tools-install-dir.patch b/ports/llvm/0002-fix-tools-install-dir.patch index 4d0e5710a7e82b..93d4bb309014c6 100644 --- a/ports/llvm/0002-fix-tools-install-dir.patch +++ b/ports/llvm/0002-fix-tools-install-dir.patch @@ -11,9 +11,8 @@ flang/tools/f18/CMakeLists.txt | 2 +- flang/tools/flang-driver/CMakeLists.txt | 2 +- lld/cmake/modules/AddLLD.cmake | 2 +- - lld/tools/lld/CMakeLists.txt | 2 +- lldb/cmake/modules/AddLLDB.cmake | 2 +- - 15 files changed, 16 insertions(+), 16 deletions(-) + 14 files changed, 15 insertions(+), 15 deletions(-) diff --git a/bolt/cmake/modules/AddBOLT.cmake b/bolt/cmake/modules/AddBOLT.cmake index 1f69b9046320..b0de5186dde4 100644 @@ -29,10 +28,10 @@ index 1f69b9046320..b0de5186dde4 100644 if(NOT LLVM_ENABLE_IDE) diff --git a/clang-tools-extra/clang-tidy/tool/CMakeLists.txt b/clang-tools-extra/clang-tidy/tool/CMakeLists.txt -index 3ce552872015..ce5a899ebe6d 100644 +index b220cbea80f1..b94501ec82ab 100644 --- a/clang-tools-extra/clang-tidy/tool/CMakeLists.txt +++ b/clang-tools-extra/clang-tidy/tool/CMakeLists.txt -@@ -64,6 +64,6 @@ install(PROGRAMS clang-tidy-diff.py +@@ -65,6 +65,6 @@ install(PROGRAMS clang-tidy-diff.py DESTINATION "${CMAKE_INSTALL_DATADIR}/clang" COMPONENT clang-tidy) install(PROGRAMS run-clang-tidy.py @@ -41,10 +40,10 @@ index 3ce552872015..ce5a899ebe6d 100644 COMPONENT clang-tidy RENAME run-clang-tidy) diff --git a/clang-tools-extra/modularize/CMakeLists.txt b/clang-tools-extra/modularize/CMakeLists.txt -index 28635ca1089d..4516c8fb7ad0 100644 +index eb5383c3ad44..39a34dfe8c71 100644 --- a/clang-tools-extra/modularize/CMakeLists.txt +++ b/clang-tools-extra/modularize/CMakeLists.txt -@@ -24,5 +24,5 @@ clang_target_link_libraries(modularize +@@ -27,5 +27,5 @@ clang_target_link_libraries(modularize ) install(TARGETS modularize @@ -78,16 +77,18 @@ index 0ae1b4e55244..7774cd27afcd 100644 install(TARGETS c-index-test diff --git a/clang/tools/clang-format/CMakeLists.txt b/clang/tools/clang-format/CMakeLists.txt -index 30c93f8667c8..5c6f87f62e8e 100644 +index 1c61a3c8fb80..4220d90274bd 100644 --- a/clang/tools/clang-format/CMakeLists.txt +++ b/clang/tools/clang-format/CMakeLists.txt -@@ -36,5 +36,5 @@ install(FILES clang-format.py +@@ -36,7 +36,7 @@ install(FILES clang-format.py DESTINATION "${CMAKE_INSTALL_DATADIR}/clang" COMPONENT clang-format) install(PROGRAMS git-clang-format - DESTINATION "${CMAKE_INSTALL_BINDIR}" + DESTINATION "${CLANG_TOOLS_INSTALL_DIR}" COMPONENT clang-format) + + if (WIN32 AND NOT CYGWIN) diff --git a/clang/tools/scan-build-py/CMakeLists.txt b/clang/tools/scan-build-py/CMakeLists.txt index 3aca22c0b0a8..a8283219c99f 100644 --- a/clang/tools/scan-build-py/CMakeLists.txt @@ -150,10 +151,10 @@ index 41ce8738e7bf..d9659c4cf53a 100644 if(NOT LLVM_ENABLE_IDE) diff --git a/flang/tools/f18/CMakeLists.txt b/flang/tools/f18/CMakeLists.txt -index d7538feef121..ec8b7737ee22 100644 +index ba6c6642c0b6..ab2802aeeaaa 100644 --- a/flang/tools/f18/CMakeLists.txt +++ b/flang/tools/f18/CMakeLists.txt -@@ -75,7 +75,7 @@ if (NOT WIN32) +@@ -83,7 +83,7 @@ if (NOT WIN32) @ONLY ) add_custom_target(flang-to-external-fc ALL DEPENDS ${CMAKE_BINARY_DIR}/bin/flang-to-external-fc) @@ -173,36 +174,23 @@ index 3ce8b407450d..6b2e2b0dc33a 100644 -install(TARGETS flang-new DESTINATION "${CMAKE_INSTALL_BINDIR}") +install(TARGETS flang-new DESTINATION "${FLANG_TOOLS_INSTALL_DIR}") diff --git a/lld/cmake/modules/AddLLD.cmake b/lld/cmake/modules/AddLLD.cmake -index d3924f7243d4..318b41b73705 100644 +index 2ee066b41535..c6a4740ab9eb 100644 --- a/lld/cmake/modules/AddLLD.cmake +++ b/lld/cmake/modules/AddLLD.cmake -@@ -47,7 +47,7 @@ macro(add_lld_tool name) - get_target_export_arg(${name} LLD export_to_lldtargets) - install(TARGETS ${name} - ${export_to_lldtargets} -- RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" -+ RUNTIME DESTINATION "${LLD_TOOLS_INSTALL_DIR}" - COMPONENT ${name}) - - if(NOT CMAKE_CONFIGURATION_TYPES) -diff --git a/lld/tools/lld/CMakeLists.txt b/lld/tools/lld/CMakeLists.txt -index 12628395680b..ee58ed439a3a 100644 ---- a/lld/tools/lld/CMakeLists.txt -+++ b/lld/tools/lld/CMakeLists.txt -@@ -29,7 +29,7 @@ lld_target_link_libraries(lld - ) - - install(TARGETS lld -- RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") -+ RUNTIME DESTINATION "${LLD_TOOLS_INSTALL_DIR}") +@@ -56,7 +56,7 @@ macro(add_lld_tool name) + get_target_export_arg(${name} LLD export_to_lldtargets) + install(TARGETS ${name} + ${export_to_lldtargets} +- RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" ++ RUNTIME DESTINATION "${LLD_TOOLS_INSTALL_DIR}" + COMPONENT ${name}) - if(NOT LLD_SYMLINKS_TO_CREATE) - set(LLD_SYMLINKS_TO_CREATE + if(NOT CMAKE_CONFIGURATION_TYPES) diff --git a/lldb/cmake/modules/AddLLDB.cmake b/lldb/cmake/modules/AddLLDB.cmake -index d47a30f5e109..f0bbc0e50627 100644 +index 328e883ddbe5..86eebba45e01 100644 --- a/lldb/cmake/modules/AddLLDB.cmake +++ b/lldb/cmake/modules/AddLLDB.cmake -@@ -216,7 +216,7 @@ function(add_lldb_executable name) +@@ -221,7 +221,7 @@ function(add_lldb_executable name) endif() if(ARG_GENERATE_INSTALL) diff --git a/ports/llvm/0003-fix-llvm-config.patch b/ports/llvm/0003-fix-llvm-config.patch index e1231d578d4cb9..568cb17cbb0517 100644 --- a/ports/llvm/0003-fix-llvm-config.patch +++ b/ports/llvm/0003-fix-llvm-config.patch @@ -2,7 +2,7 @@ 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/llvm/tools/llvm-config/llvm-config.cpp b/llvm/tools/llvm-config/llvm-config.cpp -index e86eb2b44b10..04e00944f891 100644 +index d5b76b1bb6c1..9fedcb2ab75f 100644 --- a/llvm/tools/llvm-config/llvm-config.cpp +++ b/llvm/tools/llvm-config/llvm-config.cpp @@ -304,7 +304,7 @@ int main(int argc, char **argv) { diff --git a/ports/llvm/0007-fix-compiler-rt-warnings.patch b/ports/llvm/0007-fix-compiler-rt-warnings.patch deleted file mode 100644 index 67ce0079b475b7..00000000000000 --- a/ports/llvm/0007-fix-compiler-rt-warnings.patch +++ /dev/null @@ -1,45 +0,0 @@ - compiler-rt/lib/asan/CMakeLists.txt | 2 +- - compiler-rt/lib/interception/CMakeLists.txt | 2 +- - compiler-rt/lib/ubsan/CMakeLists.txt | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/compiler-rt/lib/asan/CMakeLists.txt b/compiler-rt/lib/asan/CMakeLists.txt -index 1bfc6f0c5e37..f35c385c379a 100644 ---- a/compiler-rt/lib/asan/CMakeLists.txt -+++ b/compiler-rt/lib/asan/CMakeLists.txt -@@ -92,7 +92,7 @@ append_rtti_flag(OFF ASAN_CFLAGS) - - # Silence warnings in system headers with MSVC. - if(NOT CLANG_CL) -- append_list_if(COMPILER_RT_HAS_EXTERNAL_FLAG "/experimental:external /external:W0 /external:anglebrackets" ASAN_CFLAGS) -+ append_list_if(COMPILER_RT_HAS_EXTERNAL_FLAG "/experimental:external;/external:W0;/external:anglebrackets" ASAN_CFLAGS) - endif() - - # Too many existing bugs, needs cleanup. -diff --git a/compiler-rt/lib/interception/CMakeLists.txt b/compiler-rt/lib/interception/CMakeLists.txt -index 3242cf50e35f..abe9229340be 100644 ---- a/compiler-rt/lib/interception/CMakeLists.txt -+++ b/compiler-rt/lib/interception/CMakeLists.txt -@@ -21,7 +21,7 @@ append_rtti_flag(OFF INTERCEPTION_CFLAGS) - - # Silence warnings in system headers with MSVC. - if(NOT CLANG_CL) -- append_list_if(COMPILER_RT_HAS_EXTERNAL_FLAG "/experimental:external /external:W0 /external:anglebrackets" INTERCEPTION_CFLAGS) -+ append_list_if(COMPILER_RT_HAS_EXTERNAL_FLAG "/experimental:external;/external:W0;/external:anglebrackets" INTERCEPTION_CFLAGS) - endif() - - add_compiler_rt_object_libraries(RTInterception -diff --git a/compiler-rt/lib/ubsan/CMakeLists.txt b/compiler-rt/lib/ubsan/CMakeLists.txt -index 520a024fbede..75b0b12b9da2 100644 ---- a/compiler-rt/lib/ubsan/CMakeLists.txt -+++ b/compiler-rt/lib/ubsan/CMakeLists.txt -@@ -57,7 +57,7 @@ append_list_if(SANITIZER_CAN_USE_CXXABI -DUBSAN_CAN_USE_CXXABI UBSAN_CXXFLAGS) - - # Silence warnings in system headers with MSVC. - if(NOT CLANG_CL) -- append_list_if(COMPILER_RT_HAS_EXTERNAL_FLAG "/experimental:external /external:W0 /external:anglebrackets" UBSAN_CXXFLAGS) -+ append_list_if(COMPILER_RT_HAS_EXTERNAL_FLAG "/experimental:external;/external:W0;/external:anglebrackets" UBSAN_CXXFLAGS) - endif() - - set(UBSAN_LINK_FLAGS ${SANITIZER_COMMON_LINK_FLAGS}) - \ No newline at end of file diff --git a/ports/llvm/75711.patch b/ports/llvm/75711.patch new file mode 100644 index 00000000000000..15287efea84bf9 --- /dev/null +++ b/ports/llvm/75711.patch @@ -0,0 +1,1350 @@ +From afec08ef9f1015ea3fe8d67b92acfbb7837c6e9f Mon Sep 17 00:00:00 2001 +From: Max Winkler +Date: Tue, 19 Mar 2024 08:30:54 -0400 +Subject: [PATCH] [clang] Add `intrin0.h` header to mimic `intrin0.h` used by + MSVC STL for clang-cl (#75711) + +Fixes https://github.com/llvm/llvm-project/issues/53520. + +#### Description #### + +Provide `intrin0.h` to be the minimal set of intrinsics that the MSVC +STL requires. +The `intrin0.h` header matches the latest header provided by MSVC 1939 +which does include some extra intrinsics that the MSVC STL does not use. + +Inside `BuiltinHeaders.def` I kept the header description as `intrin.h`. +If you want me to change those to `intrin0.h` for the moved intrinsics +let me know. + +This should now allow `immintrin.h` to be used with function targets for +runtime cpu detection of simd instruction sets without worrying about +the compile-time overhead from MSVC STL including `intrin.h` on clang. + +I still need to figure out how to best update MSVC STL to detect for the +presence of `intrin0.h` from clang and to use this header over +`intrin.h`. + +#### Testing #### + +Built clang locally and ran the test suite. I still need to do a pass +over the existing unit tests for the ms intrinsics to make sure there +aren't any gaps. Wanted to get this PR up for discussion first. + +Modified latest MSVC STL from github to point to `intrin0.h` for clang. + +Wrote some test files that included MSVC STL headers that rely on +intrinsics such as `atomic`, `bit` and `vector`. Built the unit tests +against x86, arm, aarch64, and x64. + +#### Benchmarks #### + +The following include times are based on the x64 target with the +modified headers in this PR. +These timings were done by using `clang-cl.exe -ftime-trace` and taking +the wall time for parsing `intrin.h` and `intrin0.h`. + +`intrin.h` takes ~897ms to parse. +`intrin0.h` takes ~1ms to parse. + +If there is anything required or a different approach is preferred let +me know. I would very much like to move this over the finish line so we +can use function targets with clang-cl. +--- + clang/lib/Headers/CMakeLists.txt | 2 + + clang/lib/Headers/bmiintrin.h | 6 +- + clang/lib/Headers/immintrin.h | 240 ++++++++++----------------- + clang/lib/Headers/intrin.h | 217 +----------------------- + clang/lib/Headers/intrin0.h | 247 ++++++++++++++++++++++++++++ + clang/lib/Headers/keylockerintrin.h | 13 +- + clang/lib/Headers/x86gprintrin.h | 21 +-- + clang/lib/Headers/x86intrin.h | 30 ++-- + clang/lib/Headers/yvals_core.h | 25 +++ + 10 files changed, 408 insertions(+), 413 deletions(-) + create mode 100644 clang/lib/Headers/intrin0.h + create mode 100644 clang/lib/Headers/yvals_core.h + +diff --git a/clang/lib/Headers/CMakeLists.txt b/clang/lib/Headers/CMakeLists.txt +index 902e33bb95897c..97104ccd8db59c 100644 +--- a/clang/lib/Headers/CMakeLists.txt ++++ b/clang/lib/Headers/CMakeLists.txt +@@ -254,8 +254,10 @@ set(x86_files + ) + + set(windows_only_files ++ intrin0.h + intrin.h + vadefs.h ++ yvals_core.h + ) + + set(utility_files +diff --git a/clang/lib/Headers/bmiintrin.h b/clang/lib/Headers/bmiintrin.h +index d8e57c0cb49404..78bffe68e221a9 100644 +--- a/clang/lib/Headers/bmiintrin.h ++++ b/clang/lib/Headers/bmiintrin.h +@@ -161,8 +161,7 @@ _mm_tzcnt_64(unsigned long long __X) + + #undef __RELAXED_FN_ATTRS + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__BMI__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__BMI__) + + /* Define the default attributes for the functions in this file. */ + #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("bmi"))) +@@ -610,7 +609,6 @@ __blsr_u64(unsigned long long __X) + + #undef __DEFAULT_FN_ATTRS + +-#endif /* !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) \ +- || defined(__BMI__) */ ++#endif /* !defined(__SCE__) || __has_feature(modules) || defined(__BMI__) */ + + #endif /* __BMIINTRIN_H */ +diff --git a/clang/lib/Headers/immintrin.h b/clang/lib/Headers/immintrin.h +index 27800f7a8202c1..508696d3725b9a 100644 +--- a/clang/lib/Headers/immintrin.h ++++ b/clang/lib/Headers/immintrin.h +@@ -16,281 +16,239 @@ + + #include + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__MMX__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__MMX__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__SSE__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__SSE__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__SSE2__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__SSE2__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__SSE3__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__SSE3__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__SSSE3__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__SSSE3__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ ++#if !defined(__SCE__) || __has_feature(modules) || \ + (defined(__SSE4_2__) || defined(__SSE4_1__)) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ ++#if !defined(__SCE__) || __has_feature(modules) || \ + (defined(__AES__) || defined(__PCLMUL__)) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__CLFLUSHOPT__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__CLFLUSHOPT__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__CLWB__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__CLWB__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__AVX__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__AVX__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__AVX2__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__AVX2__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__F16C__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__F16C__) + #include + #endif + + /* No feature check desired due to internal checks */ + #include + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__BMI2__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__BMI2__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__LZCNT__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__LZCNT__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__POPCNT__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__POPCNT__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__FMA__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__FMA__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__AVX512F__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__AVX512F__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__AVX512VL__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__AVX512VL__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__AVX512BW__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__AVX512BW__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__AVX512BITALG__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__AVX512BITALG__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__AVX512CD__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__AVX512CD__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__AVX512VPOPCNTDQ__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__AVX512VPOPCNTDQ__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ ++#if !defined(__SCE__) || __has_feature(modules) || \ + (defined(__AVX512VL__) && defined(__AVX512VPOPCNTDQ__)) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__AVX512VNNI__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__AVX512VNNI__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ ++#if !defined(__SCE__) || __has_feature(modules) || \ + (defined(__AVX512VL__) && defined(__AVX512VNNI__)) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__AVXVNNI__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__AVXVNNI__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__AVX512DQ__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__AVX512DQ__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ ++#if !defined(__SCE__) || __has_feature(modules) || \ + (defined(__AVX512VL__) && defined(__AVX512BITALG__)) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ ++#if !defined(__SCE__) || __has_feature(modules) || \ + (defined(__AVX512VL__) && defined(__AVX512BW__)) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ ++#if !defined(__SCE__) || __has_feature(modules) || \ + (defined(__AVX512VL__) && defined(__AVX512CD__)) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ ++#if !defined(__SCE__) || __has_feature(modules) || \ + (defined(__AVX512VL__) && defined(__AVX512DQ__)) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__AVX512ER__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__AVX512ER__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__AVX512IFMA__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__AVX512IFMA__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ ++#if !defined(__SCE__) || __has_feature(modules) || \ + (defined(__AVX512IFMA__) && defined(__AVX512VL__)) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__AVXIFMA__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__AVXIFMA__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__AVX512VBMI__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__AVX512VBMI__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ ++#if !defined(__SCE__) || __has_feature(modules) || \ + (defined(__AVX512VBMI__) && defined(__AVX512VL__)) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__AVX512VBMI2__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__AVX512VBMI2__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ ++#if !defined(__SCE__) || __has_feature(modules) || \ + (defined(__AVX512VBMI2__) && defined(__AVX512VL__)) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__AVX512PF__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__AVX512PF__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__AVX512FP16__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__AVX512FP16__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ ++#if !defined(__SCE__) || __has_feature(modules) || \ + (defined(__AVX512VL__) && defined(__AVX512FP16__)) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__AVX512BF16__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__AVX512BF16__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ ++#if !defined(__SCE__) || __has_feature(modules) || \ + (defined(__AVX512VL__) && defined(__AVX512BF16__)) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__PKU__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__PKU__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__VPCLMULQDQ__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__VPCLMULQDQ__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__VAES__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__VAES__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__GFNI__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__GFNI__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__AVXVNNIINT8__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__AVXVNNIINT8__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__AVXNECONVERT__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__AVXNECONVERT__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__SHA512__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__SHA512__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__SM3__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__SM3__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__SM4__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__SM4__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__AVXVNNIINT16__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__AVXVNNIINT16__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__RDPID__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__RDPID__) + /// Reads the value of the IA32_TSC_AUX MSR (0xc0000103). + /// + /// \headerfile +@@ -304,8 +262,7 @@ _rdpid_u32(void) { + } + #endif // __RDPID__ + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__RDRND__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__RDRND__) + /// Returns a 16-bit hardware-generated random value. + /// + /// \headerfile +@@ -367,8 +324,7 @@ _rdrand64_step(unsigned long long *__p) + } + #endif /* __RDRND__ */ + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__FSGSBASE__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__FSGSBASE__) + #ifdef __x86_64__ + /// Reads the FS base register. + /// +@@ -481,8 +437,7 @@ _writegsbase_u64(unsigned long long __V) + #endif + #endif /* __FSGSBASE__ */ + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__MOVBE__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__MOVBE__) + + /* The structs used below are to force the load/store to be unaligned. This + * is accomplished with the __packed__ attribute. The __may_alias__ prevents +@@ -598,139 +553,118 @@ _storebe_i64(void * __P, long long __D) { + #endif + #endif /* __MOVBE */ + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__RTM__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__RTM__) + #include + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__SHA__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__SHA__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__FXSR__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__FXSR__) + #include + #endif + + /* No feature check desired due to internal MSC_VER checks */ + #include + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__XSAVEOPT__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__XSAVEOPT__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__XSAVEC__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__XSAVEC__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__XSAVES__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__XSAVES__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__SHSTK__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__SHSTK__) + #include + #endif + + /* Intrinsics inside adcintrin.h are available at all times. */ + #include + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__ADX__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__ADX__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__RDSEED__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__RDSEED__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__WBNOINVD__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__WBNOINVD__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__CLDEMOTE__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__CLDEMOTE__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__WAITPKG__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__WAITPKG__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__MOVDIRI__) || defined(__MOVDIR64B__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__MOVDIRI__) || \ ++ defined(__MOVDIR64B__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__PCONFIG__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__PCONFIG__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__SGX__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__SGX__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__PTWRITE__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__PTWRITE__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__INVPCID__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__INVPCID__) + #include + #endif +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__AMX_FP16__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__AMX_FP16__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__KL__) || defined(__WIDEKL__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__KL__) || \ ++ defined(__WIDEKL__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__AMX_TILE__) || defined(__AMX_INT8__) || defined(__AMX_BF16__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__AMX_TILE__) || \ ++ defined(__AMX_INT8__) || defined(__AMX_BF16__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__AMX_COMPLEX__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__AMX_COMPLEX__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ ++#if !defined(__SCE__) || __has_feature(modules) || \ + defined(__AVX512VP2INTERSECT__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ ++#if !defined(__SCE__) || __has_feature(modules) || \ + (defined(__AVX512VL__) && defined(__AVX512VP2INTERSECT__)) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__ENQCMD__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__ENQCMD__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__SERIALIZE__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__SERIALIZE__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__TSXLDTRK__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__TSXLDTRK__) + #include + #endif + +diff --git a/clang/lib/Headers/intrin.h b/clang/lib/Headers/intrin.h +index a6395143db54c2..fd27955fbe002d 100644 +--- a/clang/lib/Headers/intrin.h ++++ b/clang/lib/Headers/intrin.h +@@ -15,6 +15,8 @@ + #ifndef __INTRIN_H + #define __INTRIN_H + ++#include ++ + /* First include the standard intrinsics. */ + #if defined(__i386__) || defined(__x86_64__) + #include +@@ -131,8 +133,6 @@ void __writefsqword(unsigned long, unsigned __int64); + void __writefsword(unsigned long, unsigned short); + void __writemsr(unsigned long, unsigned __int64); + void *_AddressOfReturnAddress(void); +-unsigned char _BitScanForward(unsigned long *_Index, unsigned long _Mask); +-unsigned char _BitScanReverse(unsigned long *_Index, unsigned long _Mask); + unsigned char _bittest(long const *, long); + unsigned char _bittestandcomplement(long *, long); + unsigned char _bittestandreset(long *, long); +@@ -151,7 +151,6 @@ long _InterlockedExchangeAdd_HLERelease(long volatile *, long); + __int64 _InterlockedExchangeAdd64_HLEAcquire(__int64 volatile *, __int64); + __int64 _InterlockedExchangeAdd64_HLERelease(__int64 volatile *, __int64); + void _ReadBarrier(void); +-void _ReadWriteBarrier(void); + unsigned int _rorx_u32(unsigned int, const unsigned int); + int _sarx_i32(int, unsigned int); + #if __STDC_HOSTED__ +@@ -182,12 +181,6 @@ unsigned char __readgsbyte(unsigned long); + unsigned long __readgsdword(unsigned long); + unsigned __int64 __readgsqword(unsigned long); + unsigned short __readgsword(unsigned long); +-unsigned __int64 __shiftleft128(unsigned __int64 _LowPart, +- unsigned __int64 _HighPart, +- unsigned char _Shift); +-unsigned __int64 __shiftright128(unsigned __int64 _LowPart, +- unsigned __int64 _HighPart, +- unsigned char _Shift); + void __stosq(unsigned __int64 *, unsigned __int64, size_t); + unsigned char __vmx_on(unsigned __int64 *); + unsigned char __vmx_vmclear(unsigned __int64 *); +@@ -236,212 +229,10 @@ unsigned __int64 _shlx_u64(unsigned __int64, unsigned int); + unsigned __int64 _shrx_u64(unsigned __int64, unsigned int); + __int64 __mulh(__int64, __int64); + unsigned __int64 __umulh(unsigned __int64, unsigned __int64); +-__int64 _mul128(__int64, __int64, __int64*); +-unsigned __int64 _umul128(unsigned __int64, +- unsigned __int64, +- unsigned __int64*); ++__int64 _mul128(__int64, __int64, __int64 *); + + #endif /* __x86_64__ */ + +-#if defined(__x86_64__) || defined(__arm__) || defined(__aarch64__) +- +-unsigned char _BitScanForward64(unsigned long *_Index, unsigned __int64 _Mask); +-unsigned char _BitScanReverse64(unsigned long *_Index, unsigned __int64 _Mask); +- +-#endif +- +-#if defined(__i386__) || defined(__x86_64__) || defined(__arm__) || defined(__aarch64__) +-__int64 _InterlockedDecrement64(__int64 volatile *_Addend); +-__int64 _InterlockedExchange64(__int64 volatile *_Target, __int64 _Value); +-__int64 _InterlockedExchangeAdd64(__int64 volatile *_Addend, __int64 _Value); +-__int64 _InterlockedExchangeSub64(__int64 volatile *_Subend, __int64 _Value); +-__int64 _InterlockedIncrement64(__int64 volatile *_Addend); +-__int64 _InterlockedOr64(__int64 volatile *_Value, __int64 _Mask); +-__int64 _InterlockedXor64(__int64 volatile *_Value, __int64 _Mask); +-__int64 _InterlockedAnd64(__int64 volatile *_Value, __int64 _Mask); +- +-#endif +- +-/*----------------------------------------------------------------------------*\ +-|* Interlocked Exchange Add +-\*----------------------------------------------------------------------------*/ +-#if defined(__arm__) || defined(__aarch64__) +-char _InterlockedExchangeAdd8_acq(char volatile *_Addend, char _Value); +-char _InterlockedExchangeAdd8_nf(char volatile *_Addend, char _Value); +-char _InterlockedExchangeAdd8_rel(char volatile *_Addend, char _Value); +-short _InterlockedExchangeAdd16_acq(short volatile *_Addend, short _Value); +-short _InterlockedExchangeAdd16_nf(short volatile *_Addend, short _Value); +-short _InterlockedExchangeAdd16_rel(short volatile *_Addend, short _Value); +-long _InterlockedExchangeAdd_acq(long volatile *_Addend, long _Value); +-long _InterlockedExchangeAdd_nf(long volatile *_Addend, long _Value); +-long _InterlockedExchangeAdd_rel(long volatile *_Addend, long _Value); +-__int64 _InterlockedExchangeAdd64_acq(__int64 volatile *_Addend, __int64 _Value); +-__int64 _InterlockedExchangeAdd64_nf(__int64 volatile *_Addend, __int64 _Value); +-__int64 _InterlockedExchangeAdd64_rel(__int64 volatile *_Addend, __int64 _Value); +-#endif +-/*----------------------------------------------------------------------------*\ +-|* Interlocked Increment +-\*----------------------------------------------------------------------------*/ +-#if defined(__arm__) || defined(__aarch64__) +-short _InterlockedIncrement16_acq(short volatile *_Value); +-short _InterlockedIncrement16_nf(short volatile *_Value); +-short _InterlockedIncrement16_rel(short volatile *_Value); +-long _InterlockedIncrement_acq(long volatile *_Value); +-long _InterlockedIncrement_nf(long volatile *_Value); +-long _InterlockedIncrement_rel(long volatile *_Value); +-__int64 _InterlockedIncrement64_acq(__int64 volatile *_Value); +-__int64 _InterlockedIncrement64_nf(__int64 volatile *_Value); +-__int64 _InterlockedIncrement64_rel(__int64 volatile *_Value); +-#endif +-/*----------------------------------------------------------------------------*\ +-|* Interlocked Decrement +-\*----------------------------------------------------------------------------*/ +-#if defined(__arm__) || defined(__aarch64__) +-short _InterlockedDecrement16_acq(short volatile *_Value); +-short _InterlockedDecrement16_nf(short volatile *_Value); +-short _InterlockedDecrement16_rel(short volatile *_Value); +-long _InterlockedDecrement_acq(long volatile *_Value); +-long _InterlockedDecrement_nf(long volatile *_Value); +-long _InterlockedDecrement_rel(long volatile *_Value); +-__int64 _InterlockedDecrement64_acq(__int64 volatile *_Value); +-__int64 _InterlockedDecrement64_nf(__int64 volatile *_Value); +-__int64 _InterlockedDecrement64_rel(__int64 volatile *_Value); +-#endif +-/*----------------------------------------------------------------------------*\ +-|* Interlocked And +-\*----------------------------------------------------------------------------*/ +-#if defined(__arm__) || defined(__aarch64__) +-char _InterlockedAnd8_acq(char volatile *_Value, char _Mask); +-char _InterlockedAnd8_nf(char volatile *_Value, char _Mask); +-char _InterlockedAnd8_rel(char volatile *_Value, char _Mask); +-short _InterlockedAnd16_acq(short volatile *_Value, short _Mask); +-short _InterlockedAnd16_nf(short volatile *_Value, short _Mask); +-short _InterlockedAnd16_rel(short volatile *_Value, short _Mask); +-long _InterlockedAnd_acq(long volatile *_Value, long _Mask); +-long _InterlockedAnd_nf(long volatile *_Value, long _Mask); +-long _InterlockedAnd_rel(long volatile *_Value, long _Mask); +-__int64 _InterlockedAnd64_acq(__int64 volatile *_Value, __int64 _Mask); +-__int64 _InterlockedAnd64_nf(__int64 volatile *_Value, __int64 _Mask); +-__int64 _InterlockedAnd64_rel(__int64 volatile *_Value, __int64 _Mask); +-#endif +-/*----------------------------------------------------------------------------*\ +-|* Bit Counting and Testing +-\*----------------------------------------------------------------------------*/ +-#if defined(__arm__) || defined(__aarch64__) +-unsigned char _interlockedbittestandset_acq(long volatile *_BitBase, +- long _BitPos); +-unsigned char _interlockedbittestandset_nf(long volatile *_BitBase, +- long _BitPos); +-unsigned char _interlockedbittestandset_rel(long volatile *_BitBase, +- long _BitPos); +-unsigned char _interlockedbittestandreset_acq(long volatile *_BitBase, +- long _BitPos); +-unsigned char _interlockedbittestandreset_nf(long volatile *_BitBase, +- long _BitPos); +-unsigned char _interlockedbittestandreset_rel(long volatile *_BitBase, +- long _BitPos); +-#endif +-/*----------------------------------------------------------------------------*\ +-|* Interlocked Or +-\*----------------------------------------------------------------------------*/ +-#if defined(__arm__) || defined(__aarch64__) +-char _InterlockedOr8_acq(char volatile *_Value, char _Mask); +-char _InterlockedOr8_nf(char volatile *_Value, char _Mask); +-char _InterlockedOr8_rel(char volatile *_Value, char _Mask); +-short _InterlockedOr16_acq(short volatile *_Value, short _Mask); +-short _InterlockedOr16_nf(short volatile *_Value, short _Mask); +-short _InterlockedOr16_rel(short volatile *_Value, short _Mask); +-long _InterlockedOr_acq(long volatile *_Value, long _Mask); +-long _InterlockedOr_nf(long volatile *_Value, long _Mask); +-long _InterlockedOr_rel(long volatile *_Value, long _Mask); +-__int64 _InterlockedOr64_acq(__int64 volatile *_Value, __int64 _Mask); +-__int64 _InterlockedOr64_nf(__int64 volatile *_Value, __int64 _Mask); +-__int64 _InterlockedOr64_rel(__int64 volatile *_Value, __int64 _Mask); +-#endif +-/*----------------------------------------------------------------------------*\ +-|* Interlocked Xor +-\*----------------------------------------------------------------------------*/ +-#if defined(__arm__) || defined(__aarch64__) +-char _InterlockedXor8_acq(char volatile *_Value, char _Mask); +-char _InterlockedXor8_nf(char volatile *_Value, char _Mask); +-char _InterlockedXor8_rel(char volatile *_Value, char _Mask); +-short _InterlockedXor16_acq(short volatile *_Value, short _Mask); +-short _InterlockedXor16_nf(short volatile *_Value, short _Mask); +-short _InterlockedXor16_rel(short volatile *_Value, short _Mask); +-long _InterlockedXor_acq(long volatile *_Value, long _Mask); +-long _InterlockedXor_nf(long volatile *_Value, long _Mask); +-long _InterlockedXor_rel(long volatile *_Value, long _Mask); +-__int64 _InterlockedXor64_acq(__int64 volatile *_Value, __int64 _Mask); +-__int64 _InterlockedXor64_nf(__int64 volatile *_Value, __int64 _Mask); +-__int64 _InterlockedXor64_rel(__int64 volatile *_Value, __int64 _Mask); +-#endif +-/*----------------------------------------------------------------------------*\ +-|* Interlocked Exchange +-\*----------------------------------------------------------------------------*/ +-#if defined(__arm__) || defined(__aarch64__) +-char _InterlockedExchange8_acq(char volatile *_Target, char _Value); +-char _InterlockedExchange8_nf(char volatile *_Target, char _Value); +-char _InterlockedExchange8_rel(char volatile *_Target, char _Value); +-short _InterlockedExchange16_acq(short volatile *_Target, short _Value); +-short _InterlockedExchange16_nf(short volatile *_Target, short _Value); +-short _InterlockedExchange16_rel(short volatile *_Target, short _Value); +-long _InterlockedExchange_acq(long volatile *_Target, long _Value); +-long _InterlockedExchange_nf(long volatile *_Target, long _Value); +-long _InterlockedExchange_rel(long volatile *_Target, long _Value); +-__int64 _InterlockedExchange64_acq(__int64 volatile *_Target, __int64 _Value); +-__int64 _InterlockedExchange64_nf(__int64 volatile *_Target, __int64 _Value); +-__int64 _InterlockedExchange64_rel(__int64 volatile *_Target, __int64 _Value); +-#endif +-/*----------------------------------------------------------------------------*\ +-|* Interlocked Compare Exchange +-\*----------------------------------------------------------------------------*/ +-#if defined(__arm__) || defined(__aarch64__) +-char _InterlockedCompareExchange8_acq(char volatile *_Destination, +- char _Exchange, char _Comparand); +-char _InterlockedCompareExchange8_nf(char volatile *_Destination, +- char _Exchange, char _Comparand); +-char _InterlockedCompareExchange8_rel(char volatile *_Destination, +- char _Exchange, char _Comparand); +-short _InterlockedCompareExchange16_acq(short volatile *_Destination, +- short _Exchange, short _Comparand); +-short _InterlockedCompareExchange16_nf(short volatile *_Destination, +- short _Exchange, short _Comparand); +-short _InterlockedCompareExchange16_rel(short volatile *_Destination, +- short _Exchange, short _Comparand); +-long _InterlockedCompareExchange_acq(long volatile *_Destination, +- long _Exchange, long _Comparand); +-long _InterlockedCompareExchange_nf(long volatile *_Destination, +- long _Exchange, long _Comparand); +-long _InterlockedCompareExchange_rel(long volatile *_Destination, +- long _Exchange, long _Comparand); +-__int64 _InterlockedCompareExchange64_acq(__int64 volatile *_Destination, +- __int64 _Exchange, __int64 _Comparand); +-__int64 _InterlockedCompareExchange64_nf(__int64 volatile *_Destination, +- __int64 _Exchange, __int64 _Comparand); +-__int64 _InterlockedCompareExchange64_rel(__int64 volatile *_Destination, +- __int64 _Exchange, __int64 _Comparand); +-#endif +-#if defined(__x86_64__) || defined(__aarch64__) +-unsigned char _InterlockedCompareExchange128(__int64 volatile *_Destination, +- __int64 _ExchangeHigh, +- __int64 _ExchangeLow, +- __int64 *_ComparandResult); +-#endif +-#if defined(__aarch64__) +-unsigned char _InterlockedCompareExchange128_acq(__int64 volatile *_Destination, +- __int64 _ExchangeHigh, +- __int64 _ExchangeLow, +- __int64 *_ComparandResult); +-unsigned char _InterlockedCompareExchange128_nf(__int64 volatile *_Destination, +- __int64 _ExchangeHigh, +- __int64 _ExchangeLow, +- __int64 *_ComparandResult); +-unsigned char _InterlockedCompareExchange128_rel(__int64 volatile *_Destination, +- __int64 _ExchangeHigh, +- __int64 _ExchangeLow, +- __int64 *_ComparandResult); +-#endif +- + /*----------------------------------------------------------------------------*\ + |* movs, stos + \*----------------------------------------------------------------------------*/ +@@ -583,8 +374,6 @@ unsigned int _CountLeadingOnes(unsigned long); + unsigned int _CountLeadingOnes64(unsigned __int64); + unsigned int _CountLeadingSigns(long); + unsigned int _CountLeadingSigns64(__int64); +-unsigned int _CountLeadingZeros(unsigned long); +-unsigned int _CountLeadingZeros64(unsigned _int64); + unsigned int _CountOneBits(unsigned long); + unsigned int _CountOneBits64(unsigned __int64); + +diff --git a/clang/lib/Headers/intrin0.h b/clang/lib/Headers/intrin0.h +new file mode 100644 +index 00000000000000..31f362ec84d5c5 +--- /dev/null ++++ b/clang/lib/Headers/intrin0.h +@@ -0,0 +1,247 @@ ++/* ===-------- intrin.h ---------------------------------------------------=== ++ * ++ * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. ++ * See https://llvm.org/LICENSE.txt for license information. ++ * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception ++ * ++ *===-----------------------------------------------------------------------=== ++ */ ++ ++/* Only include this if we're compiling for the windows platform. */ ++#ifndef _MSC_VER ++#include_next ++#else ++ ++#ifndef __INTRIN0_H ++#define __INTRIN0_H ++ ++#ifdef __x86_64__ ++#include ++#endif ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++unsigned char _BitScanForward(unsigned long *_Index, unsigned long _Mask); ++unsigned char _BitScanReverse(unsigned long *_Index, unsigned long _Mask); ++void _ReadWriteBarrier(void); ++ ++#if defined(__aarch64__) ++unsigned int _CountLeadingZeros(unsigned long); ++unsigned int _CountLeadingZeros64(unsigned _int64); ++unsigned char _InterlockedCompareExchange128_acq(__int64 volatile *_Destination, ++ __int64 _ExchangeHigh, ++ __int64 _ExchangeLow, ++ __int64 *_ComparandResult); ++unsigned char _InterlockedCompareExchange128_nf(__int64 volatile *_Destination, ++ __int64 _ExchangeHigh, ++ __int64 _ExchangeLow, ++ __int64 *_ComparandResult); ++unsigned char _InterlockedCompareExchange128_rel(__int64 volatile *_Destination, ++ __int64 _ExchangeHigh, ++ __int64 _ExchangeLow, ++ __int64 *_ComparandResult); ++#endif ++ ++#ifdef __x86_64__ ++unsigned __int64 _umul128(unsigned __int64, unsigned __int64, ++ unsigned __int64 *); ++unsigned __int64 __shiftleft128(unsigned __int64 _LowPart, ++ unsigned __int64 _HighPart, ++ unsigned char _Shift); ++unsigned __int64 __shiftright128(unsigned __int64 _LowPart, ++ unsigned __int64 _HighPart, ++ unsigned char _Shift); ++#endif ++ ++#if defined(__x86_64__) || defined(__i386__) ++void _mm_pause(void); ++#endif ++ ++#if defined(__x86_64__) || defined(__aarch64__) ++unsigned char _InterlockedCompareExchange128(__int64 volatile *_Destination, ++ __int64 _ExchangeHigh, ++ __int64 _ExchangeLow, ++ __int64 *_ComparandResult); ++#endif ++ ++#if defined(__x86_64__) || defined(__arm__) || defined(__aarch64__) ++unsigned char _BitScanForward64(unsigned long *_Index, unsigned __int64 _Mask); ++unsigned char _BitScanReverse64(unsigned long *_Index, unsigned __int64 _Mask); ++#endif ++ ++#if defined(__i386__) || defined(__x86_64__) || defined(__arm__) || \ ++ defined(__aarch64__) ++__int64 _InterlockedDecrement64(__int64 volatile *_Addend); ++__int64 _InterlockedExchange64(__int64 volatile *_Target, __int64 _Value); ++__int64 _InterlockedExchangeAdd64(__int64 volatile *_Addend, __int64 _Value); ++__int64 _InterlockedExchangeSub64(__int64 volatile *_Subend, __int64 _Value); ++__int64 _InterlockedIncrement64(__int64 volatile *_Addend); ++__int64 _InterlockedOr64(__int64 volatile *_Value, __int64 _Mask); ++__int64 _InterlockedXor64(__int64 volatile *_Value, __int64 _Mask); ++__int64 _InterlockedAnd64(__int64 volatile *_Value, __int64 _Mask); ++#endif ++ ++#if defined(__arm__) || defined(__aarch64__) ++/*----------------------------------------------------------------------------*\ ++|* Interlocked Exchange Add ++\*----------------------------------------------------------------------------*/ ++char _InterlockedExchangeAdd8_acq(char volatile *_Addend, char _Value); ++char _InterlockedExchangeAdd8_nf(char volatile *_Addend, char _Value); ++char _InterlockedExchangeAdd8_rel(char volatile *_Addend, char _Value); ++short _InterlockedExchangeAdd16_acq(short volatile *_Addend, short _Value); ++short _InterlockedExchangeAdd16_nf(short volatile *_Addend, short _Value); ++short _InterlockedExchangeAdd16_rel(short volatile *_Addend, short _Value); ++long _InterlockedExchangeAdd_acq(long volatile *_Addend, long _Value); ++long _InterlockedExchangeAdd_nf(long volatile *_Addend, long _Value); ++long _InterlockedExchangeAdd_rel(long volatile *_Addend, long _Value); ++__int64 _InterlockedExchangeAdd64_acq(__int64 volatile *_Addend, ++ __int64 _Value); ++__int64 _InterlockedExchangeAdd64_nf(__int64 volatile *_Addend, __int64 _Value); ++__int64 _InterlockedExchangeAdd64_rel(__int64 volatile *_Addend, ++ __int64 _Value); ++ ++/*----------------------------------------------------------------------------*\ ++|* Interlocked Increment ++\*----------------------------------------------------------------------------*/ ++short _InterlockedIncrement16_acq(short volatile *_Value); ++short _InterlockedIncrement16_nf(short volatile *_Value); ++short _InterlockedIncrement16_rel(short volatile *_Value); ++long _InterlockedIncrement_acq(long volatile *_Value); ++long _InterlockedIncrement_nf(long volatile *_Value); ++long _InterlockedIncrement_rel(long volatile *_Value); ++__int64 _InterlockedIncrement64_acq(__int64 volatile *_Value); ++__int64 _InterlockedIncrement64_nf(__int64 volatile *_Value); ++__int64 _InterlockedIncrement64_rel(__int64 volatile *_Value); ++ ++/*----------------------------------------------------------------------------*\ ++|* Interlocked Decrement ++\*----------------------------------------------------------------------------*/ ++short _InterlockedDecrement16_acq(short volatile *_Value); ++short _InterlockedDecrement16_nf(short volatile *_Value); ++short _InterlockedDecrement16_rel(short volatile *_Value); ++long _InterlockedDecrement_acq(long volatile *_Value); ++long _InterlockedDecrement_nf(long volatile *_Value); ++long _InterlockedDecrement_rel(long volatile *_Value); ++__int64 _InterlockedDecrement64_acq(__int64 volatile *_Value); ++__int64 _InterlockedDecrement64_nf(__int64 volatile *_Value); ++__int64 _InterlockedDecrement64_rel(__int64 volatile *_Value); ++ ++/*----------------------------------------------------------------------------*\ ++|* Interlocked And ++\*----------------------------------------------------------------------------*/ ++char _InterlockedAnd8_acq(char volatile *_Value, char _Mask); ++char _InterlockedAnd8_nf(char volatile *_Value, char _Mask); ++char _InterlockedAnd8_rel(char volatile *_Value, char _Mask); ++short _InterlockedAnd16_acq(short volatile *_Value, short _Mask); ++short _InterlockedAnd16_nf(short volatile *_Value, short _Mask); ++short _InterlockedAnd16_rel(short volatile *_Value, short _Mask); ++long _InterlockedAnd_acq(long volatile *_Value, long _Mask); ++long _InterlockedAnd_nf(long volatile *_Value, long _Mask); ++long _InterlockedAnd_rel(long volatile *_Value, long _Mask); ++__int64 _InterlockedAnd64_acq(__int64 volatile *_Value, __int64 _Mask); ++__int64 _InterlockedAnd64_nf(__int64 volatile *_Value, __int64 _Mask); ++__int64 _InterlockedAnd64_rel(__int64 volatile *_Value, __int64 _Mask); ++ ++/*----------------------------------------------------------------------------*\ ++|* Bit Counting and Testing ++\*----------------------------------------------------------------------------*/ ++unsigned char _interlockedbittestandset_acq(long volatile *_BitBase, ++ long _BitPos); ++unsigned char _interlockedbittestandset_nf(long volatile *_BitBase, ++ long _BitPos); ++unsigned char _interlockedbittestandset_rel(long volatile *_BitBase, ++ long _BitPos); ++unsigned char _interlockedbittestandreset_acq(long volatile *_BitBase, ++ long _BitPos); ++unsigned char _interlockedbittestandreset_nf(long volatile *_BitBase, ++ long _BitPos); ++unsigned char _interlockedbittestandreset_rel(long volatile *_BitBase, ++ long _BitPos); ++ ++/*----------------------------------------------------------------------------*\ ++|* Interlocked Or ++\*----------------------------------------------------------------------------*/ ++char _InterlockedOr8_acq(char volatile *_Value, char _Mask); ++char _InterlockedOr8_nf(char volatile *_Value, char _Mask); ++char _InterlockedOr8_rel(char volatile *_Value, char _Mask); ++short _InterlockedOr16_acq(short volatile *_Value, short _Mask); ++short _InterlockedOr16_nf(short volatile *_Value, short _Mask); ++short _InterlockedOr16_rel(short volatile *_Value, short _Mask); ++long _InterlockedOr_acq(long volatile *_Value, long _Mask); ++long _InterlockedOr_nf(long volatile *_Value, long _Mask); ++long _InterlockedOr_rel(long volatile *_Value, long _Mask); ++__int64 _InterlockedOr64_acq(__int64 volatile *_Value, __int64 _Mask); ++__int64 _InterlockedOr64_nf(__int64 volatile *_Value, __int64 _Mask); ++__int64 _InterlockedOr64_rel(__int64 volatile *_Value, __int64 _Mask); ++ ++/*----------------------------------------------------------------------------*\ ++|* Interlocked Xor ++\*----------------------------------------------------------------------------*/ ++char _InterlockedXor8_acq(char volatile *_Value, char _Mask); ++char _InterlockedXor8_nf(char volatile *_Value, char _Mask); ++char _InterlockedXor8_rel(char volatile *_Value, char _Mask); ++short _InterlockedXor16_acq(short volatile *_Value, short _Mask); ++short _InterlockedXor16_nf(short volatile *_Value, short _Mask); ++short _InterlockedXor16_rel(short volatile *_Value, short _Mask); ++long _InterlockedXor_acq(long volatile *_Value, long _Mask); ++long _InterlockedXor_nf(long volatile *_Value, long _Mask); ++long _InterlockedXor_rel(long volatile *_Value, long _Mask); ++__int64 _InterlockedXor64_acq(__int64 volatile *_Value, __int64 _Mask); ++__int64 _InterlockedXor64_nf(__int64 volatile *_Value, __int64 _Mask); ++__int64 _InterlockedXor64_rel(__int64 volatile *_Value, __int64 _Mask); ++ ++/*----------------------------------------------------------------------------*\ ++|* Interlocked Exchange ++\*----------------------------------------------------------------------------*/ ++char _InterlockedExchange8_acq(char volatile *_Target, char _Value); ++char _InterlockedExchange8_nf(char volatile *_Target, char _Value); ++char _InterlockedExchange8_rel(char volatile *_Target, char _Value); ++short _InterlockedExchange16_acq(short volatile *_Target, short _Value); ++short _InterlockedExchange16_nf(short volatile *_Target, short _Value); ++short _InterlockedExchange16_rel(short volatile *_Target, short _Value); ++long _InterlockedExchange_acq(long volatile *_Target, long _Value); ++long _InterlockedExchange_nf(long volatile *_Target, long _Value); ++long _InterlockedExchange_rel(long volatile *_Target, long _Value); ++__int64 _InterlockedExchange64_acq(__int64 volatile *_Target, __int64 _Value); ++__int64 _InterlockedExchange64_nf(__int64 volatile *_Target, __int64 _Value); ++__int64 _InterlockedExchange64_rel(__int64 volatile *_Target, __int64 _Value); ++ ++/*----------------------------------------------------------------------------*\ ++|* Interlocked Compare Exchange ++\*----------------------------------------------------------------------------*/ ++char _InterlockedCompareExchange8_acq(char volatile *_Destination, ++ char _Exchange, char _Comparand); ++char _InterlockedCompareExchange8_nf(char volatile *_Destination, ++ char _Exchange, char _Comparand); ++char _InterlockedCompareExchange8_rel(char volatile *_Destination, ++ char _Exchange, char _Comparand); ++short _InterlockedCompareExchange16_acq(short volatile *_Destination, ++ short _Exchange, short _Comparand); ++short _InterlockedCompareExchange16_nf(short volatile *_Destination, ++ short _Exchange, short _Comparand); ++short _InterlockedCompareExchange16_rel(short volatile *_Destination, ++ short _Exchange, short _Comparand); ++long _InterlockedCompareExchange_acq(long volatile *_Destination, ++ long _Exchange, long _Comparand); ++long _InterlockedCompareExchange_nf(long volatile *_Destination, long _Exchange, ++ long _Comparand); ++long _InterlockedCompareExchange_rel(long volatile *_Destination, ++ long _Exchange, long _Comparand); ++__int64 _InterlockedCompareExchange64_acq(__int64 volatile *_Destination, ++ __int64 _Exchange, ++ __int64 _Comparand); ++__int64 _InterlockedCompareExchange64_nf(__int64 volatile *_Destination, ++ __int64 _Exchange, __int64 _Comparand); ++__int64 _InterlockedCompareExchange64_rel(__int64 volatile *_Destination, ++ __int64 _Exchange, ++ __int64 _Comparand); ++#endif ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif /* __INTRIN0_H */ ++#endif /* _MSC_VER */ +diff --git a/clang/lib/Headers/keylockerintrin.h b/clang/lib/Headers/keylockerintrin.h +index 1994ac42070ad3..f76e91b4d4b306 100644 +--- a/clang/lib/Headers/keylockerintrin.h ++++ b/clang/lib/Headers/keylockerintrin.h +@@ -28,8 +28,7 @@ + #ifndef _KEYLOCKERINTRIN_H + #define _KEYLOCKERINTRIN_H + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__KL__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__KL__) + + /* Define the default attributes for the functions in this file. */ + #define __DEFAULT_FN_ATTRS \ +@@ -327,11 +326,9 @@ _mm_aesdec256kl_u8(__m128i* __odata, __m128i __idata, const void *__h) { + + #undef __DEFAULT_FN_ATTRS + +-#endif /* !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) \ +- || defined(__KL__) */ ++#endif /* !defined(__SCE__ || __has_feature(modules) || defined(__KL__) */ + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__WIDEKL__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__WIDEKL__) + + /* Define the default attributes for the functions in this file. */ + #define __DEFAULT_FN_ATTRS \ +@@ -524,7 +521,7 @@ _mm_aesdecwide256kl_u8(__m128i __odata[8], const __m128i __idata[8], const void* + + #undef __DEFAULT_FN_ATTRS + +-#endif /* !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) \ +- || defined(__WIDEKL__) */ ++#endif /* !defined(__SCE__) || __has_feature(modules) || defined(__WIDEKL__) \ ++ */ + + #endif /* _KEYLOCKERINTRIN_H */ +diff --git a/clang/lib/Headers/x86gprintrin.h b/clang/lib/Headers/x86gprintrin.h +index ed141879fbc744..3d5cc606d7e63d 100644 +--- a/clang/lib/Headers/x86gprintrin.h ++++ b/clang/lib/Headers/x86gprintrin.h +@@ -10,38 +10,31 @@ + #ifndef __X86GPRINTRIN_H + #define __X86GPRINTRIN_H + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__HRESET__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__HRESET__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__UINTR__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__UINTR__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__USERMSR__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__USERMSR__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__CRC32__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__CRC32__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__PRFCHI__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__PRFCHI__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__RAOINT__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__RAOINT__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__CMPCCXADD__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__CMPCCXADD__) + #include + #endif + +diff --git a/clang/lib/Headers/x86intrin.h b/clang/lib/Headers/x86intrin.h +index 450fd008dab95b..c20bfbb8fe46e2 100644 +--- a/clang/lib/Headers/x86intrin.h ++++ b/clang/lib/Headers/x86intrin.h +@@ -14,53 +14,43 @@ + + #include + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__3dNOW__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__3dNOW__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__PRFCHW__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__PRFCHW__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__SSE4A__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__SSE4A__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__FMA4__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__FMA4__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__XOP__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__XOP__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__TBM__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__TBM__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__LWP__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__LWP__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__MWAITX__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__MWAITX__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__CLZERO__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__CLZERO__) + #include + #endif + +-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \ +- defined(__RDPRU__) ++#if !defined(__SCE__) || __has_feature(modules) || defined(__RDPRU__) + #include + #endif + +diff --git a/clang/lib/Headers/yvals_core.h b/clang/lib/Headers/yvals_core.h +new file mode 100644 +index 00000000000000..5ee194a3e5f5f6 +--- /dev/null ++++ b/clang/lib/Headers/yvals_core.h +@@ -0,0 +1,25 @@ ++//===----- yvals_core.h - Internal MSVC STL core header -------------------===// ++// ++// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. ++// See https://llvm.org/LICENSE.txt for license information. ++// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception ++// ++//===----------------------------------------------------------------------===// ++ ++// Only include this if we are aiming for MSVC compatibility. ++#ifndef _MSC_VER ++#include_next ++#else ++ ++#ifndef __clang_yvals_core_h ++#define __clang_yvals_core_h ++ ++#include_next ++ ++#ifdef _STL_INTRIN_HEADER ++#undef _STL_INTRIN_HEADER ++#define _STL_INTRIN_HEADER ++#endif ++ ++#endif ++#endif diff --git a/ports/llvm/79694.patch b/ports/llvm/79694.patch new file mode 100644 index 00000000000000..702b89a4507b89 --- /dev/null +++ b/ports/llvm/79694.patch @@ -0,0 +1,217 @@ +From 48908fb6d5387082018fb1d8b2f0ddb65e2e2baa Mon Sep 17 00:00:00 2001 +From: Phoebe Wang +Date: Sat, 27 Jan 2024 22:03:06 +0800 +Subject: [PATCH 1/2] [SEH] Ignore EH pad check for internal intrinsics + +Intrinsics like @llvm.seh.scope.begin and @llvm.seh.scope.end which do not throw do not need funclets in catchpads or cleanuppads. + +Fixes #69428 + +Co-authored-by: Robert Cox +--- + llvm/lib/IR/Verifier.cpp | 5 +++ + llvm/test/Verifier/pr69428.ll | 80 +++++++++++++++++++++++++++++++++++ + 2 files changed, 85 insertions(+) + create mode 100644 llvm/test/Verifier/pr69428.ll + +diff --git a/llvm/lib/IR/Verifier.cpp b/llvm/lib/IR/Verifier.cpp +index 91cf91fbc788bd..0f1e9fa40c9b03 100644 +--- a/llvm/lib/IR/Verifier.cpp ++++ b/llvm/lib/IR/Verifier.cpp +@@ -4280,6 +4280,11 @@ void Verifier::visitEHPadPredecessors(Instruction &I) { + if (auto *II = dyn_cast(TI)) { + Check(II->getUnwindDest() == BB && II->getNormalDest() != BB, + "EH pad must be jumped to via an unwind edge", ToPad, II); ++ auto *CalledFn = ++ dyn_cast(II->getCalledOperand()->stripPointerCasts()); ++ if (CalledFn && CalledFn->isIntrinsic() && II->doesNotThrow() && ++ !IntrinsicInst::mayLowerToFunctionCall(CalledFn->getIntrinsicID())) ++ continue; + if (auto Bundle = II->getOperandBundle(LLVMContext::OB_funclet)) + FromPad = Bundle->Inputs[0]; + else +diff --git a/llvm/test/Verifier/pr69428.ll b/llvm/test/Verifier/pr69428.ll +new file mode 100644 +index 00000000000000..22d732076e3af7 +--- /dev/null ++++ b/llvm/test/Verifier/pr69428.ll +@@ -0,0 +1,80 @@ ++; RUN: llvm-as -disable-output %s ++ ++%struct._List_node_emplace_op2 = type { i8 } ++ ++$"??1?$_List_node_emplace_op2@H@@QEAA@XZ" = comdat any ++ ++@"?_List@@3HA" = dso_local local_unnamed_addr global i32 0, align 4 ++ ++; Function Attrs: mustprogress noreturn ++define dso_local void @"?ExecutionEngineaddExecutableDependency@@YAXXZ"() local_unnamed_addr #0 personality ptr @__CxxFrameHandler3 { ++entry: ++ %agg.tmp.ensured.i = alloca %struct._List_node_emplace_op2, align 1 ++ call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %agg.tmp.ensured.i) ++ %0 = load i32, ptr @"?_List@@3HA", align 4 ++ %call.i = call noundef ptr @"??0?$_List_node_emplace_op2@H@@QEAA@H@Z"(ptr noundef nonnull align 1 dereferenceable(1) %agg.tmp.ensured.i, i32 noundef %0) ++ invoke void @llvm.seh.scope.begin() ++ to label %invoke.cont.i unwind label %ehcleanup.i ++ ++invoke.cont.i: ; preds = %entry ++ invoke void @llvm.seh.scope.end() ++ to label %invoke.cont2.i unwind label %ehcleanup.i ++ ++invoke.cont2.i: ; preds = %invoke.cont.i ++ call void @"??1?$_List_node_emplace_op2@H@@QEAA@XZ"(ptr noundef nonnull align 1 dereferenceable(1) %agg.tmp.ensured.i) #6 ++ unreachable ++ ++ehcleanup.i: ; preds = %invoke.cont.i, %entry ++ %1 = cleanuppad within none [] ++ invoke void @llvm.seh.scope.begin() ++ to label %invoke.cont.i.i unwind label %ehcleanup.i.i ++ ++invoke.cont.i.i: ; preds = %ehcleanup.i ++ invoke void @llvm.seh.scope.end() ++ to label %"??1?$_List_node_emplace_op2@H@@QEAA@XZ.exit.i" unwind label %ehcleanup.i.i ++ ++ehcleanup.i.i: ; preds = %invoke.cont.i.i, %ehcleanup.i ++ %2 = cleanuppad within %1 [] ++ call void @"??1_Alloc_construct_ptr@@QEAA@XZ"(ptr noundef nonnull align 1 dereferenceable(1) %agg.tmp.ensured.i) #6 [ "funclet"(token %2) ] ++ cleanupret from %2 unwind to caller ++ ++"??1?$_List_node_emplace_op2@H@@QEAA@XZ.exit.i": ; preds = %invoke.cont.i.i ++ call void @"??1_Alloc_construct_ptr@@QEAA@XZ"(ptr noundef nonnull align 1 dereferenceable(1) %agg.tmp.ensured.i) #6 [ "funclet"(token %1) ] ++ cleanupret from %1 unwind to caller ++} ++ ++declare dso_local noundef ptr @"??0?$_List_node_emplace_op2@H@@QEAA@H@Z"(ptr noundef nonnull returned align 1 dereferenceable(1), i32 noundef) unnamed_addr #1 ++ ++declare dso_local i32 @__CxxFrameHandler3(...) ++ ++; Function Attrs: nofree nosync nounwind memory(none) ++declare dso_local void @llvm.seh.scope.begin() #2 ++ ++; Function Attrs: nofree nosync nounwind memory(none) ++declare dso_local void @llvm.seh.scope.end() #2 ++ ++; Function Attrs: mustprogress nounwind ++define linkonce_odr dso_local void @"??1?$_List_node_emplace_op2@H@@QEAA@XZ"(ptr noundef nonnull align 1 dereferenceable(1) %this) unnamed_addr #3 comdat align 2 personality ptr @__CxxFrameHandler3 { ++entry: ++ invoke void @llvm.seh.scope.begin() ++ to label %invoke.cont unwind label %ehcleanup ++ ++invoke.cont: ; preds = %entry ++ invoke void @llvm.seh.scope.end() ++ to label %invoke.cont2 unwind label %ehcleanup ++ ++invoke.cont2: ; preds = %invoke.cont ++ tail call void @"??1_Alloc_construct_ptr@@QEAA@XZ"(ptr noundef nonnull align 1 dereferenceable(1) %this) #6 ++ ret void ++ ++ehcleanup: ; preds = %invoke.cont, %entry ++ %0 = cleanuppad within none [] ++ call void @"??1_Alloc_construct_ptr@@QEAA@XZ"(ptr noundef nonnull align 1 dereferenceable(1) %this) #6 [ "funclet"(token %0) ] ++ cleanupret from %0 unwind to caller ++} ++ ++; Function Attrs: nounwind ++declare dso_local void @"??1_Alloc_construct_ptr@@QEAA@XZ"(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #4 ++ ++; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) ++declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #5 + +From a9ea5c30d2fe81ed8774812bf13700c6a81e4900 Mon Sep 17 00:00:00 2001 +From: Phoebe Wang +Date: Fri, 2 Feb 2024 20:19:50 +0800 +Subject: [PATCH 2/2] Simplify test case + +--- + llvm/test/Verifier/pr69428.ll | 56 ++++++++--------------------------- + 1 file changed, 12 insertions(+), 44 deletions(-) + +diff --git a/llvm/test/Verifier/pr69428.ll b/llvm/test/Verifier/pr69428.ll +index 22d732076e3af7..be8733bea1ab39 100644 +--- a/llvm/test/Verifier/pr69428.ll ++++ b/llvm/test/Verifier/pr69428.ll +@@ -2,17 +2,13 @@ + + %struct._List_node_emplace_op2 = type { i8 } + +-$"??1?$_List_node_emplace_op2@H@@QEAA@XZ" = comdat any ++@"?_List@@3HA" = global i32 0, align 4 + +-@"?_List@@3HA" = dso_local local_unnamed_addr global i32 0, align 4 +- +-; Function Attrs: mustprogress noreturn +-define dso_local void @"?ExecutionEngineaddExecutableDependency@@YAXXZ"() local_unnamed_addr #0 personality ptr @__CxxFrameHandler3 { ++define void @"?ExecutionEngineaddExecutableDependency@@YAXXZ"() personality ptr @__CxxFrameHandler3 { + entry: + %agg.tmp.ensured.i = alloca %struct._List_node_emplace_op2, align 1 +- call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %agg.tmp.ensured.i) + %0 = load i32, ptr @"?_List@@3HA", align 4 +- %call.i = call noundef ptr @"??0?$_List_node_emplace_op2@H@@QEAA@H@Z"(ptr noundef nonnull align 1 dereferenceable(1) %agg.tmp.ensured.i, i32 noundef %0) ++ %call.i = call noundef ptr @"??0?$_List_node_emplace_op2@H@@QEAA@H@Z"(ptr %agg.tmp.ensured.i, i32 %0) + invoke void @llvm.seh.scope.begin() + to label %invoke.cont.i unwind label %ehcleanup.i + +@@ -21,7 +17,7 @@ invoke.cont.i: ; preds = %entry + to label %invoke.cont2.i unwind label %ehcleanup.i + + invoke.cont2.i: ; preds = %invoke.cont.i +- call void @"??1?$_List_node_emplace_op2@H@@QEAA@XZ"(ptr noundef nonnull align 1 dereferenceable(1) %agg.tmp.ensured.i) #6 ++ call void @"??1?$_List_node_emplace_op2@H@@QEAA@XZ"(ptr %agg.tmp.ensured.i) #6 + unreachable + + ehcleanup.i: ; preds = %invoke.cont.i, %entry +@@ -35,46 +31,18 @@ invoke.cont.i.i: ; preds = %ehcleanup.i + + ehcleanup.i.i: ; preds = %invoke.cont.i.i, %ehcleanup.i + %2 = cleanuppad within %1 [] +- call void @"??1_Alloc_construct_ptr@@QEAA@XZ"(ptr noundef nonnull align 1 dereferenceable(1) %agg.tmp.ensured.i) #6 [ "funclet"(token %2) ] ++ call void @"??1_Alloc_construct_ptr@@QEAA@XZ"(ptr %agg.tmp.ensured.i) #6 [ "funclet"(token %2) ] + cleanupret from %2 unwind to caller + + "??1?$_List_node_emplace_op2@H@@QEAA@XZ.exit.i": ; preds = %invoke.cont.i.i +- call void @"??1_Alloc_construct_ptr@@QEAA@XZ"(ptr noundef nonnull align 1 dereferenceable(1) %agg.tmp.ensured.i) #6 [ "funclet"(token %1) ] ++ call void @"??1_Alloc_construct_ptr@@QEAA@XZ"(ptr %agg.tmp.ensured.i) #6 [ "funclet"(token %1) ] + cleanupret from %1 unwind to caller + } + +-declare dso_local noundef ptr @"??0?$_List_node_emplace_op2@H@@QEAA@H@Z"(ptr noundef nonnull returned align 1 dereferenceable(1), i32 noundef) unnamed_addr #1 +- +-declare dso_local i32 @__CxxFrameHandler3(...) +- +-; Function Attrs: nofree nosync nounwind memory(none) +-declare dso_local void @llvm.seh.scope.begin() #2 +- +-; Function Attrs: nofree nosync nounwind memory(none) +-declare dso_local void @llvm.seh.scope.end() #2 +- +-; Function Attrs: mustprogress nounwind +-define linkonce_odr dso_local void @"??1?$_List_node_emplace_op2@H@@QEAA@XZ"(ptr noundef nonnull align 1 dereferenceable(1) %this) unnamed_addr #3 comdat align 2 personality ptr @__CxxFrameHandler3 { +-entry: +- invoke void @llvm.seh.scope.begin() +- to label %invoke.cont unwind label %ehcleanup +- +-invoke.cont: ; preds = %entry +- invoke void @llvm.seh.scope.end() +- to label %invoke.cont2 unwind label %ehcleanup +- +-invoke.cont2: ; preds = %invoke.cont +- tail call void @"??1_Alloc_construct_ptr@@QEAA@XZ"(ptr noundef nonnull align 1 dereferenceable(1) %this) #6 +- ret void +- +-ehcleanup: ; preds = %invoke.cont, %entry +- %0 = cleanuppad within none [] +- call void @"??1_Alloc_construct_ptr@@QEAA@XZ"(ptr noundef nonnull align 1 dereferenceable(1) %this) #6 [ "funclet"(token %0) ] +- cleanupret from %0 unwind to caller +-} +- +-; Function Attrs: nounwind +-declare dso_local void @"??1_Alloc_construct_ptr@@QEAA@XZ"(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #4 ++declare i32 @__CxxFrameHandler3(...) ++declare void @llvm.seh.scope.begin() ++declare void @llvm.seh.scope.end() + +-; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) +-declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #5 ++declare void @"??1?$_List_node_emplace_op2@H@@QEAA@XZ"(ptr) ++declare void @"??1_Alloc_construct_ptr@@QEAA@XZ"(ptr) ++declare ptr @"??0?$_List_node_emplace_op2@H@@QEAA@H@Z"(ptr, i32) diff --git a/ports/llvm/82407.patch b/ports/llvm/82407.patch new file mode 100644 index 00000000000000..c51086b9e0e4f0 --- /dev/null +++ b/ports/llvm/82407.patch @@ -0,0 +1,112 @@ +From 5fcaeaddccc0f7e370bf7bebce113d8d52e1b1bd Mon Sep 17 00:00:00 2001 +From: Shafik Yaghmour +Date: Tue, 20 Feb 2024 11:22:39 -0800 +Subject: [PATCH] [Clang][Sema] Fix incorrect rejection default construction of + union with nontrivial member + +In 765d8a192180f8f33618087b15c022fe758044af we impelemented a fix for incorrect deletion of +default constructors in unions. This fix missed a case and so this PR will +extend the fix to cover the additional case. + +Fixes: https://github.com/llvm/llvm-project/issues/81774 +--- + clang/lib/Sema/SemaDeclCXX.cpp | 18 +++++++++++++++--- + .../test/CodeGen/union-non-trivial-member.cpp | 17 +++++++++++++++++ + clang/test/SemaCXX/cxx0x-nontrivial-union.cpp | 11 +++++++++++ + 4 files changed, 46 insertions(+), 3 deletions(-) + + Bug Fixes to AST Handling + ^^^^^^^^^^^^^^^^^^^^^^^^^ +diff --git a/clang/lib/Sema/SemaDeclCXX.cpp b/clang/lib/Sema/SemaDeclCXX.cpp +index 79263bc3ff671..25a4b4381ca25 100644 +--- a/clang/lib/Sema/SemaDeclCXX.cpp ++++ b/clang/lib/Sema/SemaDeclCXX.cpp +@@ -9442,9 +9442,21 @@ bool SpecialMemberDeletionInfo::shouldDeleteForSubobjectCall( + + int DiagKind = -1; + +- if (SMOR.getKind() == Sema::SpecialMemberOverloadResult::NoMemberOrDeleted) +- DiagKind = !Decl ? 0 : 1; +- else if (SMOR.getKind() == Sema::SpecialMemberOverloadResult::Ambiguous) ++ if (SMOR.getKind() == Sema::SpecialMemberOverloadResult::NoMemberOrDeleted) { ++ if (CSM == Sema::CXXDefaultConstructor && Field && ++ Field->getParent()->isUnion()) { ++ // [class.default.ctor]p2: ++ // A defaulted default constructor for class X is defined as deleted if ++ // - X is a union that has a variant member with a non-trivial default ++ // constructor and no variant member of X has a default member ++ // initializer ++ const auto *RD = cast(Field->getParent()); ++ if (!RD->hasInClassInitializer()) ++ DiagKind = !Decl ? 0 : 1; ++ } else { ++ DiagKind = !Decl ? 0 : 1; ++ } ++ } else if (SMOR.getKind() == Sema::SpecialMemberOverloadResult::Ambiguous) + DiagKind = 2; + else if (!isAccessible(Subobj, Decl)) + DiagKind = 3; +diff --git a/clang/test/CodeGen/union-non-trivial-member.cpp b/clang/test/CodeGen/union-non-trivial-member.cpp +index fdc9fd16911e1..8b055a9970fc7 100644 +--- a/clang/test/CodeGen/union-non-trivial-member.cpp ++++ b/clang/test/CodeGen/union-non-trivial-member.cpp +@@ -15,14 +15,25 @@ union UnionNonTrivial { + non_trivial_constructor b{}; + }; + ++struct Handle { ++ Handle(int) {} ++}; ++ ++union UnionNonTrivialEqualInit { ++ int NoState = 0; ++ Handle CustomState; ++}; ++ + void f() { + UnionInt u1; + UnionNonTrivial u2; ++ UnionNonTrivialEqualInit u3; + } + + // CHECK: define dso_local void @_Z1fv() + // CHECK: call void @_ZN8UnionIntC1Ev + // CHECK-NEXT: call void @_ZN15UnionNonTrivialC1Ev ++// CHECK-NEXT: call void @_ZN24UnionNonTrivialEqualInitC1Ev + + // CHECK: define {{.*}}void @_ZN8UnionIntC1Ev + // CHECK: call void @_ZN8UnionIntC2Ev +@@ -30,8 +41,14 @@ void f() { + // CHECK: define {{.*}}void @_ZN15UnionNonTrivialC1Ev + // CHECK: call void @_ZN15UnionNonTrivialC2Ev + ++// CHECK: define {{.*}}void @_ZN24UnionNonTrivialEqualInitC1Ev ++// CHECK: call void @_ZN24UnionNonTrivialEqualInitC2Ev ++ + // CHECK: define {{.*}}void @_ZN8UnionIntC2Ev + // CHECK: store i32 1000 + + // CHECK: define {{.*}}void @_ZN15UnionNonTrivialC2Ev + // CHECK: call void @_ZN23non_trivial_constructorC1Ev ++ ++// CHECK: define {{.*}}void @_ZN24UnionNonTrivialEqualInitC2Ev ++// CHECK: store i32 0 +diff --git a/clang/test/SemaCXX/cxx0x-nontrivial-union.cpp b/clang/test/SemaCXX/cxx0x-nontrivial-union.cpp +index c7cdf76d850db..833642b3d739a 100644 +--- a/clang/test/SemaCXX/cxx0x-nontrivial-union.cpp ++++ b/clang/test/SemaCXX/cxx0x-nontrivial-union.cpp +@@ -188,3 +188,14 @@ static_assert(U2().b.x == 100, ""); + static_assert(U3().b.x == 100, ""); + + } // namespace GH48416 ++ ++namespace GH81774 { ++struct Handle { ++ Handle(int) {} ++}; ++// Should be well-formed because NoState has a brace-or-equal-initializer. ++union a { ++ int NoState = 0; ++ Handle CustomState; ++} b; ++} // namespace GH81774 diff --git a/ports/llvm/add-include-chrono.patch b/ports/llvm/add-include-chrono.patch new file mode 100644 index 00000000000000..839920a922553b --- /dev/null +++ b/ports/llvm/add-include-chrono.patch @@ -0,0 +1,12 @@ +diff --git a/lldb/tools/lldb-dap/ProgressEvent.h b/lldb/tools/lldb-dap/ProgressEvent.h +index dac2197..72317b8 100644 +--- a/lldb/tools/lldb-dap/ProgressEvent.h ++++ b/lldb/tools/lldb-dap/ProgressEvent.h +@@ -7,6 +7,7 @@ + //===----------------------------------------------------------------------===// + + #include ++#include + #include + #include + #include diff --git a/ports/llvm/portfile.cmake b/ports/llvm/portfile.cmake index 51ed7d9b23579e..1d10911aff89e9 100644 --- a/ports/llvm/portfile.cmake +++ b/ports/llvm/portfile.cmake @@ -4,7 +4,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO llvm/llvm-project REF "llvmorg-${VERSION}" - SHA512 362ddb94fdd22d05bd11c950f1711eafbd47424f6da0b1b061da012ef1b39dd8f7efeb91b53c036ea0708aa3845893fe39d1fb529ac3b928df738b88717d1aee + SHA512 9e9ec501336127339347c01ffd47768d501a84ef415c6a72fe56d31e867f982baeb3c4659be8e9b8475848a460357f33a6b2aa0ee9f81150e363963b98387bc0 HEAD_REF main PATCHES 0001-fix-install-package-dir.patch @@ -13,7 +13,10 @@ vcpkg_from_github( 0004-disable-libomp-aliases.patch 0005-remove-numpy.patch 0006-create-destination-mlir-directory.patch - 0007-fix-compiler-rt-warnings.patch # fixed in upstream + 75711.patch # [clang] Add intrin0.h header to mimic intrin0.h used by MSVC STL for clang-cl #75711 + 79694.patch # [SEH] Ignore EH pad check for internal intrinsics #79694 + 82407.patch # [Clang][Sema] Fix incorrect rejection default construction of union with nontrivial member #82407 + add-include-chrono.patch # https://github.com/llvm/llvm-project/pull/118059 ) vcpkg_check_features( @@ -31,6 +34,7 @@ vcpkg_check_features( enable-ios COMPILER_RT_ENABLE_IOS enable-eh LLVM_ENABLE_EH enable-bindings LLVM_ENABLE_BINDINGS + export-symbols LLVM_EXPORT_SYMBOLS_FOR_PLUGINS ) vcpkg_cmake_get_vars(cmake_vars_file) @@ -103,7 +107,7 @@ if("clang" IN_LIST FEATURES OR "clang-tools-extra" IN_LIST FEATURES) # 1) LLVM/Clang tools are relocated from ./bin/ to ./tools/llvm/ (CLANG_TOOLS_INSTALL_DIR=tools/llvm) # 2) Clang resource files should be relocated from lib/clang/ to ../tools/llvm/lib/clang/ string(REGEX MATCH "^[0-9]+" CLANG_VERSION_MAJOR ${VERSION}) - list(APPEND FEATURE_OPTIONS -DCLANG_RESOURCE_DIR=../tools/llvm/lib/clang/${CLANG_VERSION_MAJOR}) + list(APPEND FEATURE_OPTIONS -DCLANG_RESOURCE_DIR=lib/clang/${CLANG_VERSION_MAJOR}) endif() if("clang-tools-extra" IN_LIST FEATURES) list(APPEND LLVM_ENABLE_PROJECTS "clang-tools-extra") @@ -157,17 +161,14 @@ if("mlir" IN_LIST FEATURES) endif() if("openmp" IN_LIST FEATURES) list(APPEND LLVM_ENABLE_PROJECTS "openmp") + # Perl is required for the OpenMP run-time + vcpkg_find_acquire_program(PERL) list(APPEND FEATURE_OPTIONS -DLIBOMP_INSTALL_ALIASES=OFF -DOPENMP_ENABLE_LIBOMPTARGET=OFF # Currently libomptarget cannot be compiled on Windows or MacOS X. -DOPENMP_ENABLE_OMPT_TOOLS=OFF # Currently tools are not tested well on Windows or MacOS X. + -DPERL_EXECUTABLE=${PERL} ) - # Perl is required for the OpenMP run-time - vcpkg_find_acquire_program(PERL) - get_filename_component(PERL_PATH ${PERL} DIRECTORY) - vcpkg_add_to_path(${PERL_PATH}) - # Skip post-build check - set(VCPKG_POLICY_SKIP_DUMPBIN_CHECKS enabled) endif() if("polly" IN_LIST FEATURES) list(APPEND LLVM_ENABLE_PROJECTS "polly") @@ -194,6 +195,13 @@ if("libcxxabi" IN_LIST FEATURES) endif() if("libunwind" IN_LIST FEATURES) list(APPEND LLVM_ENABLE_RUNTIMES "libunwind") + list(APPEND FEATURE_OPTIONS + -DLIBCXXABI_USE_LLVM_UNWINDER=ON + ) +else() + list(APPEND FEATURE_OPTIONS + -DLIBCXXABI_USE_LLVM_UNWINDER=OFF + ) endif() if("pstl" IN_LIST FEATURES) if(VCPKG_DETECTED_CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") @@ -327,20 +335,34 @@ llvm_cmake_package_config_fixup("polly" DO_NOT_DELETE_PARENT_CONFIG_PATH) llvm_cmake_package_config_fixup("ParallelSTL" FEATURE_NAME "pstl" DO_NOT_DELETE_PARENT_CONFIG_PATH CONFIG_PATH "lib/cmake/ParallelSTL") llvm_cmake_package_config_fixup("llvm") -set(empty_dirs) +if("mlir" IN_LIST FEATURES) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/mlir/MLIRConfig.cmake" "set(MLIR_MAIN_SRC_DIR \"${SOURCE_PATH}/mlir\")" "") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/mlir/MLIRConfig.cmake" "${CURRENT_BUILDTREES_DIR}" "\${MLIR_INCLUDE_DIRS}") +endif() +vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}") + +# Move Clang's runtime libraries from bin/lib to tools/${PORT}/lib +if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/lib") + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/${PORT}") + file(RENAME "${CURRENT_PACKAGES_DIR}/bin/lib" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/lib") +endif() +if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/bin/lib") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin/lib") +endif() + +# Remove empty directories to avoid vcpkg warning +set(empty_dirs) if("clang-tools-extra" IN_LIST FEATURES) list(APPEND empty_dirs "${CURRENT_PACKAGES_DIR}/include/clang-tidy/plugin") list(APPEND empty_dirs "${CURRENT_PACKAGES_DIR}/include/clang-tidy/misc/ConfusableTable") endif() - if("pstl" IN_LIST FEATURES) list(APPEND empty_dirs "${CURRENT_PACKAGES_DIR}/lib/cmake") if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") list(APPEND empty_dirs "${CURRENT_PACKAGES_DIR}/debug/lib/cmake") endif() endif() - if("flang" IN_LIST FEATURES) list(APPEND empty_dirs "${CURRENT_PACKAGES_DIR}/include/flang/CMakeFiles") list(APPEND empty_dirs "${CURRENT_PACKAGES_DIR}/include/flang/Config") @@ -350,7 +372,6 @@ if("flang" IN_LIST FEATURES) list(APPEND empty_dirs "${CURRENT_PACKAGES_DIR}/include/flang/Optimizer/HLFIR/CMakeFiles") list(APPEND empty_dirs "${CURRENT_PACKAGES_DIR}/include/flang/Optimizer/Transforms/CMakeFiles") endif() - if(empty_dirs) foreach(empty_dir IN LISTS empty_dirs) if(NOT EXISTS "${empty_dir}") @@ -366,8 +387,7 @@ if(empty_dirs) endforeach() endif() -vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) - +# Remove debug headers and tools if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share" @@ -375,17 +395,9 @@ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") ) endif() -if("mlir" IN_LIST FEATURES) - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/mlir/MLIRConfig.cmake" "set(MLIR_MAIN_SRC_DIR \"${SOURCE_PATH}/mlir\")" "") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/mlir/MLIRConfig.cmake" "${CURRENT_BUILDTREES_DIR}" "\${MLIR_INCLUDE_DIRS}") -endif() - +# LLVM generates shared libraries in a static build (LLVM-C.dll, libclang.dll, LTO.dll, Remarks.dll, ...) +# for the corresponding export targets (used in LLVMExports-.cmake files on the Windows platform) if(VCPKG_TARGET_IS_WINDOWS) - # LLVM still generates a few DLLs in the static build: - # * LLVM-C.dll - # * libclang.dll - # * LTO.dll - # * Remarks.dll set(VCPKG_POLICY_DLLS_IN_STATIC_LIBRARY enabled) else() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" diff --git a/ports/llvm/vcpkg.json b/ports/llvm/vcpkg.json index 03203dbb57af1d..9bd2cb8a414d4c 100644 --- a/ports/llvm/vcpkg.json +++ b/ports/llvm/vcpkg.json @@ -1,9 +1,10 @@ { "name": "llvm", - "version": "17.0.2", + "version": "18.1.6", + "port-version": 4, "description": "The LLVM Compiler Infrastructure.", "homepage": "https://llvm.org", - "license": "Apache-2.0", + "license": "Apache-2.0 WITH LLVM-exception", "supports": "!uwp & !(arm & windows)", "dependencies": [ { @@ -189,6 +190,9 @@ "zstd" ] }, + "export-symbols": { + "description": "Export symbols for plugins." + }, "flang": { "description": "Include Fortran front end.", "dependencies": [ @@ -293,7 +297,8 @@ "name": "llvm", "default-features": false, "features": [ - "tools" + "tools", + "utils" ] } ] @@ -451,7 +456,16 @@ "description": "Build LLVM tools." }, "utils": { - "description": "Build LLVM utils." + "description": "Build LLVM utils.", + "dependencies": [ + { + "name": "llvm", + "default-features": false, + "features": [ + "tools" + ] + } + ] } } } diff --git a/ports/lmdb/portfile.cmake b/ports/lmdb/portfile.cmake index 2e32aca98934be..af5591dd8ac93f 100644 --- a/ports/lmdb/portfile.cmake +++ b/ports/lmdb/portfile.cmake @@ -1,8 +1,9 @@ -vcpkg_from_github( +vcpkg_from_gitlab( OUT_SOURCE_PATH SOURCE_PATH - REPO LMDB/lmdb + GITLAB_URL https://git.openldap.org + REPO openldap/openldap REF "LMDB_${VERSION}" - SHA512 a5763ff94af0b5bbc2406c52890797e6232e77593bacdb240441ed30c8634e4e6de6eba206880475544e21561ccd0be2dee16733d6ec35483eb1dbbb81913a8d + SHA512 57404b35adb5136fcdf60552c2dd2626b9753868f2707d3279725e08145cee3be0d311189b2c6ef6879f25cf09962e6b423c70c8a2e09ef1b368948e873d92b5 HEAD_REF master PATCHES getopt-win32.diff diff --git a/ports/lmdb/vcpkg.json b/ports/lmdb/vcpkg.json index f743855b266896..0cd17684fb2cc4 100644 --- a/ports/lmdb/vcpkg.json +++ b/ports/lmdb/vcpkg.json @@ -1,6 +1,6 @@ { "name": "lmdb", - "version": "0.9.31", + "version": "0.9.33", "description": "LMDB is an extraordinarily fast, memory-efficient database", "homepage": "https://github.com/LMDB/lmdb", "license": "OLDAP-2.8", diff --git a/ports/lockpp/portfile.cmake b/ports/lockpp/portfile.cmake index 1af259ee94153a..157303505202e2 100644 --- a/ports/lockpp/portfile.cmake +++ b/ports/lockpp/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Soundux/lockpp - REF v1.0.2 - SHA512 6d92d3bbcbad3e2afd844ab95526e1eb49a7722d0d9d972ff85df561bbb9dc0b7a8aa5c83847f6832a806e52dde427ec0bcd11570b095d9cce7e35b3717e1f51 + REF "v${VERSION}" + SHA512 ce2572ff53096a53cda722e47bbd23e4c3a8b3856de9dfe775b7468cd5f7fcbc86412457af091b8977dd0b41d161c103b679c7a98016f6e9d3ab70aaa360648f HEAD_REF master ) diff --git a/ports/lockpp/vcpkg.json b/ports/lockpp/vcpkg.json index bc5b348775e06c..46466f13605be8 100644 --- a/ports/lockpp/vcpkg.json +++ b/ports/lockpp/vcpkg.json @@ -1,6 +1,6 @@ { "name": "lockpp", - "version": "1.0.2", + "version": "3.0", "description": "A C++17 Library that provides mutex protected objects", "homepage": "https://github.com/Soundux/lockpp", "license": "MIT", diff --git a/ports/log4cplus/portfile.cmake b/ports/log4cplus/portfile.cmake index ddc9756078bd66..938e87e15849ec 100644 --- a/ports/log4cplus/portfile.cmake +++ b/ports/log4cplus/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO log4cplus/log4cplus - REF REL_2_1_0 - SHA512 fd26ae73e898af6896046e5e567bfc664bc8e81568c8cdbe5ff6316054b875af7fa946f7b1f011a96b0d3b53dc3f7f9411cbc2ffa07b674777cb0def2743ede8 + REF REL_2_1_1 + SHA512 ddc63ad574aed7d13980308c1f4d3a31a7fa9c7d4a14de923f9b3a851492d17f64f34166b6be77fc8584c0e98cd1f34ed3d9ba268e7456fd1ff3b7d8125dbe3a HEAD_REF master ) @@ -42,11 +42,16 @@ vcpkg_cmake_configure( vcpkg_cmake_install() vcpkg_fixup_pkgconfig() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/log4cplus) - vcpkg_copy_pdbs() +if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/log4cplus.pc" "-llog4cplus" "-llog4cplusD") +endif() + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE "${CURRENT_PACKAGES_DIR}/share/${PORT}/ChangeLog" + "${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSE" + "${CURRENT_PACKAGES_DIR}/share/${PORT}/README.md") -# Handle copyright -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/log4cplus/vcpkg.json b/ports/log4cplus/vcpkg.json index 0b0bf070f5743b..2d3bd2f320eba1 100644 --- a/ports/log4cplus/vcpkg.json +++ b/ports/log4cplus/vcpkg.json @@ -1,8 +1,9 @@ { "name": "log4cplus", - "version": "2.1.0", + "version": "2.1.1", "description": "A simple to use C++ logging API providing thread--safe, flexible, and arbitrarily granular control over log management and configuration", "homepage": "https://github.com/log4cplus/log4cplus", + "license": "Apache-2.0 AND BSD-2-Clause", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/log4cxx/fix-find-package.patch b/ports/log4cxx/fix-find-package.patch new file mode 100644 index 00000000000000..f92da1c8ec9f27 --- /dev/null +++ b/ports/log4cxx/fix-find-package.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 498d0b5..22815a5 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -67,7 +67,7 @@ find_package(APR-Util REQUIRED) + find_package( Threads REQUIRED ) + + # Find expat for XML parsing +-find_package(EXPAT REQUIRED) ++find_package(expat CONFIG REQUIRED) + if(TARGET EXPAT::EXPAT) + set(EXPAT_LIBRARIES EXPAT::EXPAT) + elseif(TARGET expat::expat) diff --git a/ports/log4cxx/portfile.cmake b/ports/log4cxx/portfile.cmake index efacf7905d9fb3..553bf70d6ca8c8 100644 --- a/ports/log4cxx/portfile.cmake +++ b/ports/log4cxx/portfile.cmake @@ -1,16 +1,24 @@ vcpkg_download_distfile(ARCHIVE URLS "https://archive.apache.org/dist/logging/log4cxx/${VERSION}/apache-log4cxx-${VERSION}.tar.gz" FILENAME "apache-log4cxx-${VERSION}.tar.gz" - SHA512 66a66eab933a6afd0779e3f73f65afa4fb82481208b591fd7c7c86ded805f50abcd9cdf954bdb49e1e7f5198e6c1c4fff8a7e180ff5fff9491f1946e9ba6fe2b + SHA512 0956fd034fd1a98d2e48ed461578c1e85da02d176850a580195b6a60b959feaf402a2743cc84ccb5d467dd924ee46422b8a7b39d2be9ee131e4e275e65ba839c ) vcpkg_extract_source_archive( SOURCE_PATH ARCHIVE "${ARCHIVE}" + PATCHES + fix-find-package.patch ) +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + qt LOG4CXX_QT_SUPPORT + fmt ENABLE_FMT_LAYOUT +) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS + ${FEATURE_OPTIONS} -DLOG4CXX_INSTALL_PDB=OFF # Installing pdbs failed on debug static. So, disable it and let vcpkg_copy_pdbs() do it -DBUILD_TESTING=OFF ) @@ -33,5 +41,4 @@ ${_contents}" file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") -# Handle copyright -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/log4cxx/vcpkg.json b/ports/log4cxx/vcpkg.json index f7769b3fd43c8a..e5f04a4fc03e87 100644 --- a/ports/log4cxx/vcpkg.json +++ b/ports/log4cxx/vcpkg.json @@ -1,6 +1,6 @@ { "name": "log4cxx", - "version": "1.1.0", + "version": "1.3.1", "description": "Apache log4cxx is a logging framework for C++ patterned after Apache log4j, which uses Apache Portable Runtime for most platform-specific code and should be usable on any platform supported by APR", "homepage": "https://logging.apache.org/log4cxx", "license": "Apache-2.0", @@ -17,5 +17,22 @@ "name": "vcpkg-cmake-config", "host": true } - ] + ], + "features": { + "fmt": { + "description": "Include the log4cxx::FMTLayout class that uses libfmt to layout messages", + "dependencies": [ + "fmt" + ] + }, + "qt": { + "description": "Allow QString values in the LOG4CXX_WARN, LOG4CXX_INFO, LOG4CXX_DEBUG etc. macros", + "dependencies": [ + { + "name": "qt5-base", + "default-features": false + } + ] + } + } } diff --git a/ports/loguru/CMakeLists.txt b/ports/loguru/CMakeLists.txt deleted file mode 100644 index 473392aa83a9ed..00000000000000 --- a/ports/loguru/CMakeLists.txt +++ /dev/null @@ -1,55 +0,0 @@ -cmake_minimum_required(VERSION 3.12) - -project(loguru CXX) -set(CMAKE_CXX_STANDARD 11) - -option(INSTALL_HEADERS "Install header files" ON) -option(BUILD_WITH_FMT "Build with fmt support" OFF) - -set(loguru_headers - loguru.hpp -) -set(loguru_sources - loguru.cpp -) - -add_library(loguru ${loguru_sources}) -target_include_directories(loguru PUBLIC - $ - $) - -if(BUILD_WITH_FMT) - target_compile_definitions(loguru PRIVATE LOGURU_USE_FMTLIB=1) - find_package(fmt CONFIG REQUIRED) - target_link_libraries(loguru PUBLIC fmt::fmt) -endif() - -if(UNIX) - set(THREADS_PREFER_PTHREAD_FLAG ON) - find_package(Threads REQUIRED) - target_link_libraries(loguru PUBLIC Threads::Threads ${CMAKE_DL_LIBS}) -endif() - -set(LOGURU_INCLUDE_INSTALL_DIR include/loguru CACHE PATH "Install directory for headers") -if(INSTALL_HEADERS) - install(FILES ${loguru_headers} DESTINATION ${LOGURU_INCLUDE_INSTALL_DIR}) -endif() - -set(INCLUDE_INSTALL_DIR ${LOGURU_INCLUDE_INSTALL_DIR}) - -include(CMakePackageConfigHelpers) -configure_package_config_file(loguruConfig.cmake.in - ${CMAKE_CURRENT_BINARY_DIR}/loguruConfig.cmake - INSTALL_DESTINATION share/loguru - NO_CHECK_REQUIRED_COMPONENTS_MACRO - PATH_VARS INCLUDE_INSTALL_DIR) - -install(TARGETS loguru - EXPORT loguruTargets - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib -) - -install(FILES ${CMAKE_CURRENT_BINARY_DIR}/loguruConfig.cmake DESTINATION share/loguru) -install(EXPORT loguruTargets DESTINATION share/loguru) diff --git a/ports/loguru/loguruConfig.cmake.in b/ports/loguru/loguruConfig.cmake.in deleted file mode 100644 index b75b189e0484e0..00000000000000 --- a/ports/loguru/loguruConfig.cmake.in +++ /dev/null @@ -1,9 +0,0 @@ -@PACKAGE_INIT@ - -if(UNIX) - include(CMakeFindDependencyMacro) - find_dependency(Threads) -endif() - -set_and_check(loguru_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@") -include("${CMAKE_CURRENT_LIST_DIR}/loguruTargets.cmake") diff --git a/ports/loguru/portfile.cmake b/ports/loguru/portfile.cmake index a581eab88be6df..b6643845b5c103 100644 --- a/ports/loguru/portfile.cmake +++ b/ports/loguru/portfile.cmake @@ -1,37 +1,33 @@ +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO emilk/loguru - REF 9c2fea0d4530657f23259be4132f8101c98b579e #v2.1.0 - SHA512 49eebf8648f9d29273af76dca0a4e49155daa3664e98979df005e64eb0fa9f4eeb4228245327d469772c51076571acbe39a644eba531444d8676d9709a7e3914 + REF 4adaa185883e3c04da25913579c451d3c32cfac1 #v2.1.0 + SHA512 813c9f9171a828a40270a3ad9f98124586eb56d37f263d55cd1ea6ac997d64431e2ae846f3dc0b477f8bf30873270c53b4bd7e6b6fc52259d2fd36126b24bbe6 HEAD_REF master ) -if(VCPKG_TARGET_IS_WINDOWS) - file(INSTALL ${SOURCE_PATH}/loguru.hpp DESTINATION ${CURRENT_PACKAGES_DIR}/include/loguru) - file(INSTALL ${SOURCE_PATH}/loguru.cpp DESTINATION ${CURRENT_PACKAGES_DIR}/include/loguru) -endif() - -if(VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX) - configure_file(${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt ${SOURCE_PATH}/CMakeLists.txt COPYONLY) - configure_file(${CMAKE_CURRENT_LIST_DIR}/loguruConfig.cmake.in ${SOURCE_PATH}/loguruConfig.cmake.in COPYONLY) +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + fmt BUILD_WITH_FMT +) - vcpkg_check_features( - OUT_FEATURE_OPTIONS FEATURE_OPTIONS - FEATURES - fmt BUILD_WITH_FMT - ) +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS_DEBUG + -DINSTALL_HEADERS=OFF + OPTIONS + ${FEATURE_OPTIONS} + ) - vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - OPTIONS_DEBUG - -DINSTALL_HEADERS=OFF - OPTIONS - ${FEATURE_OPTIONS} - ) +vcpkg_cmake_install() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/loguru") +vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() - vcpkg_cmake_install() - vcpkg_cmake_config_fixup() - vcpkg_copy_pdbs() -endif() -file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/copyright DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +vcpkg_install_copyright(FILE_LIST "${CMAKE_CURRENT_LIST_DIR}/copyright") diff --git a/ports/loguru/vcpkg.json b/ports/loguru/vcpkg.json index d6705d6faf0e6a..758da8eb4a8737 100644 --- a/ports/loguru/vcpkg.json +++ b/ports/loguru/vcpkg.json @@ -1,7 +1,7 @@ { "name": "loguru", "version": "2.1.0", - "port-version": 3, + "port-version": 4, "description": "A lightweight and flexible C++ logging library", "homepage": "https://github.com/emilk/loguru", "dependencies": [ diff --git a/ports/lpeg/CMakeLists.txt b/ports/lpeg/CMakeLists.txt index 993e570d73c56d..b35118b62e9804 100644 --- a/ports/lpeg/CMakeLists.txt +++ b/ports/lpeg/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.0) +cmake_minimum_required(VERSION 3.11) project(lpeg) find_path(LUA_INCLUDE_DIR lua.h PATH_SUFFIXES lua) @@ -12,13 +12,40 @@ add_library(lpeg lpprint.c lpcap.c lpcode.c + lpcset.c lpeg.def) target_include_directories(lpeg PRIVATE ${LPEG_INCLUDES}) target_link_libraries(lpeg PRIVATE ${LPEG_LIBRARIES}) install(TARGETS lpeg + EXPORT unofficial-lpeg-targets RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) install(FILES re.lua DESTINATION share/lua) + +include(CMakePackageConfigHelpers) + +configure_package_config_file( + "${CMAKE_CURRENT_SOURCE_DIR}/unofficial-${PROJECT_NAME}-config.cmake.in" + "${CMAKE_CURRENT_BINARY_DIR}/unofficial-${PROJECT_NAME}-config.cmake" + INSTALL_DESTINATION "share/unofficial-${PROJECT_NAME}" +) + +set(VERSION_FILE_PATH "${CMAKE_CURRENT_BINARY_DIR}/unofficial-${PROJECT_NAME}-config-version.cmake") +write_basic_package_version_file( + "${VERSION_FILE_PATH}" + VERSION "${LPEG_VERSION}" + COMPATIBILITY SameMajorVersion +) + +install( + FILES "${CMAKE_CURRENT_BINARY_DIR}/unofficial-${PROJECT_NAME}-config.cmake" + DESTINATION "share/unofficial-${PROJECT_NAME}" +) + +install( + EXPORT "unofficial-${PROJECT_NAME}-targets" + NAMESPACE "unofficial::${PROJECT_NAME}::" + DESTINATION "share/unofficial-${PROJECT_NAME}") diff --git a/ports/lpeg/portfile.cmake b/ports/lpeg/portfile.cmake index 3a8fc8bfae3e3c..d9d513ae095c21 100644 --- a/ports/lpeg/portfile.cmake +++ b/ports/lpeg/portfile.cmake @@ -1,9 +1,7 @@ -set(LPEG_VER 1.0.2) - vcpkg_download_distfile(ARCHIVE - URLS "http://www.inf.puc-rio.br/~roberto/lpeg/lpeg-${LPEG_VER}.tar.gz" - FILENAME "lpeg-${LPEG_VER}.tar.gz" - SHA512 110527ddf9f8e5e8a80ef0ae8847c8ba8cd2597dba3bfe2865cba9af60daafbb885f21e74231952f5ab793d021e050b482066a821c6954d52090a5eae77e9814 + URLS "https://www.inf.puc-rio.br/~roberto/lpeg/lpeg-${VERSION}.tar.gz" + FILENAME "lpeg-${VERSION}.tar.gz" + SHA512 01b2a4ceb2d110e143603bc63c84a59736ea735dd0ed9866286ba115d41be48d09c9ff21c8e2327974d2296944f6508d50a5c3a18f26ac1d81b8b2fc41f61222 ) vcpkg_extract_source_archive( @@ -13,18 +11,23 @@ vcpkg_extract_source_archive( file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") file(COPY "${CMAKE_CURRENT_LIST_DIR}/lpeg.def" DESTINATION "${SOURCE_PATH}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/unofficial-lpeg-config.cmake.in" DESTINATION "${SOURCE_PATH}") vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + "-DLPEG_VERSION=${VERSION}" ) vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME "unofficial-lpeg") # Remove debug share file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") # Handle copyright file(INSTALL "${SOURCE_PATH}/lpeg.html" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") # Allow empty include directory set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) diff --git a/ports/lpeg/unofficial-lpeg-config.cmake.in b/ports/lpeg/unofficial-lpeg-config.cmake.in new file mode 100644 index 00000000000000..fcf6683bf5bbe1 --- /dev/null +++ b/ports/lpeg/unofficial-lpeg-config.cmake.in @@ -0,0 +1,5 @@ +@PACKAGE_INIT@ + +include("${CMAKE_CURRENT_LIST_DIR}/unofficial-lpeg-targets.cmake") +set(UNOFFICIAL_LPEG_LUA_FILES "${PACKAGE_PREFIX_DIR}/share/lua/re.lua") +check_required_components(lpeg) diff --git a/ports/lpeg/usage b/ports/lpeg/usage new file mode 100644 index 00000000000000..19ef17b04f26aa --- /dev/null +++ b/ports/lpeg/usage @@ -0,0 +1,13 @@ +lpeg provides CMake targets: + + find_package(unofficial-lpeg CONFIG REQUIRED) + target_link_libraries(main PRIVATE unofficial::lpeg::lpeg) + +UNOFFICIAL_LPEG_LUA_FILES will be set to the path of re.lua + + add_custom_command(TARGET main POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy + ${UNOFFICIAL_LPEG_LUA_FILES} + $) + + install(FILES ${UNOFFICIAL_LPEG_LUA_FILES} DESTINATION my_lua_path) diff --git a/ports/lpeg/vcpkg.json b/ports/lpeg/vcpkg.json index 82fb1d2a9e75dd..905e19293b902c 100644 --- a/ports/lpeg/vcpkg.json +++ b/ports/lpeg/vcpkg.json @@ -1,14 +1,19 @@ { "name": "lpeg", - "version": "1.0.2", - "port-version": 4, + "version": "1.1.0", + "port-version": 1, "description": "LPeg is a pattern-matching library for Lua, based on Parsing Expression Grammars (PEGs).", "homepage": "https://www.inf.puc-rio.br/~roberto/lpeg", + "license": "MIT", "dependencies": [ "lua", { "name": "vcpkg-cmake", "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } ] } diff --git a/ports/ls-qpack/cmake-config.diff b/ports/ls-qpack/cmake-config.diff new file mode 100644 index 00000000000000..cecde595743ac9 --- /dev/null +++ b/ports/ls-qpack/cmake-config.diff @@ -0,0 +1,44 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 86510b3..acca8be 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -36,10 +36,9 @@ if(LSQPACK_XXH) + target_sources(ls-qpack PRIVATE deps/xxhash/xxhash.c) + set(LSQPACK_DEPENDS "") + else() +- find_package(PkgConfig REQUIRED) +- pkg_check_modules(XXH REQUIRED IMPORTED_TARGET libxxhash) +- target_link_libraries(ls-qpack PUBLIC PkgConfig::XXH) +- set(LSQPACK_DEPENDS "libxxhash") ++ find_package(xxHash CONFIG REQUIRED) ++ target_link_libraries(ls-qpack PRIVATE xxHash::xxhash) ++ set(LSQPACK_DEPENDS "libxxhash") + endif() + + if(WIN32) +@@ -125,10 +124,14 @@ endif() + include(GNUInstallDirs) + configure_file(lsqpack.pc.in lsqpack.pc @ONLY) + ++configure_file(ls-qpack-config.cmake.in ls-qpack-config.cmake @ONLY) + install(TARGETS ls-qpack EXPORT ls-qpack-config + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++install(FILES "${CMAKE_CURRENT_BINARY_DIR}/ls-qpack-config.cmake" ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/ls-qpack) + install( + EXPORT ls-qpack-config ++ FILE ls-qpack-targets.cmake + NAMESPACE ls-qpack:: + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/ls-qpack + ) +diff --git a/ls-qpack-config.cmake.in b/ls-qpack-config.cmake.in +new file mode 100644 +index 0000000..533e076 +--- /dev/null ++++ b/ls-qpack-config.cmake.in +@@ -0,0 +1,5 @@ ++if(NOT "@BUILD_SHARED_LIBS@" AND NOT "@LSQPACK_XXH@") ++ include(CMakeFindDependencyMacro) ++ find_dependency(xxHash CONFIG) ++endif() ++include("${CMAKE_CURRENT_LIST_DIR}/ls-qpack-targets.cmake") diff --git a/ports/ls-qpack/emscripten.diff b/ports/ls-qpack/emscripten.diff new file mode 100644 index 00000000000000..57ef1a0964d88d --- /dev/null +++ b/ports/ls-qpack/emscripten.diff @@ -0,0 +1,21 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index bcb58e3..320144b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -41,7 +41,7 @@ else() + set(LSQPACK_DEPENDS "libxxhash") + endif() + +-if(WIN32) ++if(WIN32 OR EMSCRIPTEN) + target_include_directories(ls-qpack PUBLIC + $ + $ +@@ -149,6 +149,6 @@ if(LSQPACK_BIN) + DESTINATION ${CMAKE_INSTALL_BINDIR}) + endif() + +-if(WIN32) ++if(WIN32 OR EMSCRIPTEN) + install(DIRECTORY wincompat/sys DESTINATION include) + endif() diff --git a/ports/ls-qpack/mingw.diff b/ports/ls-qpack/mingw.diff new file mode 100644 index 00000000000000..b3560295108586 --- /dev/null +++ b/ports/ls-qpack/mingw.diff @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1369bd1..bcb58e3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -48,7 +48,7 @@ if(WIN32) + ) + endif() + +-if(WIN32) ++if(MSVC) + target_compile_options(ls-qpack PRIVATE + /Wall + /wd4100 # unreffed parameter diff --git a/ports/ls-qpack/pkgconfig.diff b/ports/ls-qpack/pkgconfig.diff new file mode 100644 index 00000000000000..7141ad8724a42c --- /dev/null +++ b/ports/ls-qpack/pkgconfig.diff @@ -0,0 +1,34 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 32eed1c..1369bd1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -123,6 +123,8 @@ endif() + + include(GNUInstallDirs) + configure_file(lsqpack.pc.in lsqpack.pc @ONLY) ++install(FILES "${CMAKE_CURRENT_BINARY_DIR}/lsqpack.pc" ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) + + configure_file(ls-qpack-config.cmake.in ls-qpack-config.cmake @ONLY) + install(TARGETS ls-qpack EXPORT ls-qpack-config +@@ -149,7 +151,4 @@ endif() + + if(WIN32) + install(DIRECTORY wincompat/sys DESTINATION include) +-else() +- install(FILES "${CMAKE_CURRENT_BINARY_DIR}/lsqpack.pc" +- DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) + endif() +diff --git a/lsqpack.pc.in b/lsqpack.pc.in +index 7eac772..7c65072 100644 +--- a/lsqpack.pc.in ++++ b/lsqpack.pc.in +@@ -7,6 +7,6 @@ Name: @PROJECT_NAME@ + Description: @CMAKE_PROJECT_DESCRIPTION@ + URL: @CMAKE_PROJECT_HOMEPAGE_URL@ + Version: @PROJECT_VERSION@ +-Requires: @LSQPACK_DEPENDS@ ++Requires.private: @LSQPACK_DEPENDS@ + Cflags: -I"${includedir}" +-Libs: -L"${libdir}" -llsqpack ++Libs: -L"${libdir}" -lls-qpack diff --git a/ports/ls-qpack/portfile.cmake b/ports/ls-qpack/portfile.cmake new file mode 100644 index 00000000000000..2717fd74035da5 --- /dev/null +++ b/ports/ls-qpack/portfile.cmake @@ -0,0 +1,37 @@ +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO litespeedtech/ls-qpack + REF "v${VERSION}" + SHA512 951056564be6f2a2562001ad1a83731df41a1c8b8d91bf44e138c962befe2af1919daf0d94b57b05b49bb83656334c00ed2c642d81075f1e0cece1a46b31006b + HEAD_REF master + PATCHES + cmake-config.diff + pkgconfig.diff + mingw.diff + emscripten.diff +) +file(REMOVE_RECURSE "${SOURCE_PATH}/deps") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DLSQPACK_TESTS=OFF + -DLSQPACK_BIN=OFF + -DLSQPACK_XXH=OFF +) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/ls-qpack) + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" +) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/ls-qpack/vcpkg.json b/ports/ls-qpack/vcpkg.json new file mode 100644 index 00000000000000..50e5e0c66cc8f0 --- /dev/null +++ b/ports/ls-qpack/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "ls-qpack", + "version": "2.6.0", + "description": "QPACK compression library for use with HTTP/3", + "homepage": "https://github.com/litespeedtech/ls-qpack", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "xxhash" + ] +} diff --git a/ports/lua/portfile.cmake b/ports/lua/portfile.cmake index 293e06e4861120..d90be142b0d565 100644 --- a/ports/lua/portfile.cmake +++ b/ports/lua/portfile.cmake @@ -1,7 +1,7 @@ vcpkg_download_distfile(ARCHIVE URLS "https://www.lua.org/ftp/lua-${VERSION}.tar.gz" FILENAME "lua-${VERSION}.tar.gz" - SHA512 d90c6903355ee1309cb0d92a8a024522ff049091a117ea21efb585b5de35776191cd67d17a65b18c2f9d374795b7c944f047576f0e3fe818d094b26f0e4845c5 + SHA512 98c5c8978dfdf867e37e9eb3b3ec83dee92d199243b5119505da83895e33f10d43c841be6a7d3b106daba8a0b2bd25fe099ebff8f87831dcc55c79c78b97d8b8 ) vcpkg_extract_source_archive( SOURCE_PATH diff --git a/ports/lua/vcpkg.json b/ports/lua/vcpkg.json index b1170fc59040ba..214e020ede8127 100644 --- a/ports/lua/vcpkg.json +++ b/ports/lua/vcpkg.json @@ -1,6 +1,6 @@ { "name": "lua", - "version": "5.4.6", + "version": "5.4.7", "description": "A powerful, fast, lightweight, embeddable scripting language", "homepage": "https://www.lua.org", "license": null, diff --git a/ports/luafilesystem/CMakeLists.txt b/ports/luafilesystem/CMakeLists.txt index 79dd424f422bd9..4ff75b9e1745b6 100644 --- a/ports/luafilesystem/CMakeLists.txt +++ b/ports/luafilesystem/CMakeLists.txt @@ -1,17 +1,46 @@ -cmake_minimum_required(VERSION 3.0) -project(luafilesystem) - -find_path(LUA_INCLUDE_DIR lua.h PATH_SUFFIXES lua) -find_library(LUA_LIBRARY lua) -set(LFS_INCLUDES ${LUA_INCLUDE_DIR}) -set(LFS_LIBRARIES ${LUA_LIBRARY}) - -add_library( lfs src/lfs.h src/lfs.c src/lfs.def) - -target_include_directories(lfs PRIVATE ${LFS_INCLUDES}) -target_link_libraries(lfs PRIVATE ${LFS_LIBRARIES}) - -install(TARGETS lfs - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib) +cmake_minimum_required(VERSION 3.11) +project(luafilesystem) + +find_path(LUA_INCLUDE_DIR lua.h PATH_SUFFIXES lua) +find_library(LUA_LIBRARY lua) +set(LFS_INCLUDES ${LUA_INCLUDE_DIR}) +set(LFS_LIBRARIES ${LUA_LIBRARY}) + +add_library(lfs src/lfs.h src/lfs.c src/lfs.def) + +target_include_directories(lfs PRIVATE ${LFS_INCLUDES}) +target_link_libraries(lfs PRIVATE ${LFS_LIBRARIES}) +target_include_directories(lfs INTERFACE $) + +install(TARGETS lfs + EXPORT "unofficial-${PROJECT_NAME}-targets" + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) + +include(CMakePackageConfigHelpers) + +configure_package_config_file( + "${CMAKE_CURRENT_SOURCE_DIR}/unofficial-${PROJECT_NAME}-config.cmake.in" + "${CMAKE_CURRENT_BINARY_DIR}/unofficial-${PROJECT_NAME}-config.cmake" + INSTALL_DESTINATION "share/unofficial-${PROJECT_NAME}" +) + +set(VERSION_FILE_PATH "${CMAKE_CURRENT_BINARY_DIR}/unofficial-${PROJECT_NAME}-config-version.cmake") +write_basic_package_version_file( + "${VERSION_FILE_PATH}" + VERSION "${LFS_VERSION}" + COMPATIBILITY SameMajorVersion +) + +install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/src/lfs.h" DESTINATION "include/luafilesystem") + +install( + FILES "${CMAKE_CURRENT_BINARY_DIR}/unofficial-${PROJECT_NAME}-config.cmake" + DESTINATION "share/unofficial-${PROJECT_NAME}" +) + +install( + EXPORT "unofficial-${PROJECT_NAME}-targets" + NAMESPACE "unofficial::${PROJECT_NAME}::" + DESTINATION "share/unofficial-${PROJECT_NAME}") diff --git a/ports/luafilesystem/portfile.cmake b/ports/luafilesystem/portfile.cmake index 9fde932cab774f..251280cf5acbe3 100644 --- a/ports/luafilesystem/portfile.cmake +++ b/ports/luafilesystem/portfile.cmake @@ -11,16 +11,23 @@ vcpkg_from_github( ) file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/unofficial-luafilesystem-config.cmake.in" DESTINATION "${SOURCE_PATH}") vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DLFS_VERSION="${VERSION}" ) vcpkg_cmake_install() vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(PACKAGE_NAME "unofficial-luafilesystem") -# Handle copyright -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" +) -# Allow empty include directory -set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) +# Handle copyright +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/luafilesystem/unofficial-luafilesystem-config.cmake.in b/ports/luafilesystem/unofficial-luafilesystem-config.cmake.in new file mode 100644 index 00000000000000..c03cd5eee40f49 --- /dev/null +++ b/ports/luafilesystem/unofficial-luafilesystem-config.cmake.in @@ -0,0 +1,6 @@ +@PACKAGE_INIT@ + +include("${CMAKE_CURRENT_LIST_DIR}/unofficial-luafilesystem-targets.cmake") + + +check_required_components(luafilesystem) diff --git a/ports/luafilesystem/usage b/ports/luafilesystem/usage new file mode 100644 index 00000000000000..2029ca3321c221 --- /dev/null +++ b/ports/luafilesystem/usage @@ -0,0 +1,4 @@ +luafilesystem provides CMake targets: + + find_package(unofficial-luafilesystem CONFIG REQUIRED) + target_link_libraries(main PRIVATE unofficial::luafilesystem::lfs) diff --git a/ports/luafilesystem/vcpkg.json b/ports/luafilesystem/vcpkg.json index e0ed0a18372391..d26128707af220 100644 --- a/ports/luafilesystem/vcpkg.json +++ b/ports/luafilesystem/vcpkg.json @@ -1,14 +1,19 @@ { "name": "luafilesystem", "version": "1.8.0", - "port-version": 4, + "port-version": 7, "description": "LuaFileSystem is a Lua library developed to complement the set of functions related to file systems offered by the standard Lua distribution.", "homepage": "https://github.com/keplerproject/luafilesystem", + "supports": "!uwp", "dependencies": [ "lua", { "name": "vcpkg-cmake", "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } ] } diff --git a/ports/luajit/luajit.pc b/ports/luajit/luajit.pc new file mode 100644 index 00000000000000..877303cec9e1a6 --- /dev/null +++ b/ports/luajit/luajit.pc @@ -0,0 +1,24 @@ +# Package information for LuaJIT to be used by pkg-config. +majver=2 +minver=1 +relver=0 +version=${majver}.${minver}.${relver}-beta3 +abiver=51 + +prefix=handled-by-fixup +multilib=lib +exec_prefix=${prefix} +libdir=${exec_prefix}/${multilib} +libname=lua${abiver} +includedir=${prefix}/include/luajit + +INSTALL_LMOD=${prefix}/share/lua/${abiver} +INSTALL_CMOD=${prefix}/${multilib}/lua/${abiver} + +Name: LuaJIT +Description: Just-in-time compiler for Lua +URL: https://luajit.org +Version: ${version} +Requires: +Libs: -L${libdir} -l${libname} +Cflags: -I${includedir} diff --git a/ports/luajit/luajit.pc.win.in b/ports/luajit/luajit.pc.win.in deleted file mode 100644 index b90d065426b03a..00000000000000 --- a/ports/luajit/luajit.pc.win.in +++ /dev/null @@ -1,24 +0,0 @@ -# Package information for LuaJIT to be used by pkg-config. -majver=2 -minver=1 -relver=0 -version=${majver}.${minver}.${relver}-beta3 -abiver=51 - -prefix=@PREFIX@ -multilib=lib -exec_prefix=${prefix} -libdir=${exec_prefix}/${multilib} -libname=lua${abiver} -includedir=${prefix}/include/luajit - -INSTALL_LMOD=${prefix}/share/lua/${abiver} -INSTALL_CMOD=${prefix}/${multilib}/lua/${abiver} - -Name: LuaJIT -Description: Just-in-time compiler for Lua -URL: https://luajit.org -Version: ${version} -Requires: -Libs: -L${libdir} -l${libname} -Cflags: -I${includedir} @LJIT_MSVC_PC_CFLAGS@ diff --git a/ports/luajit/portfile.cmake b/ports/luajit/portfile.cmake index 242636a3d25c19..98042ee1262298 100644 --- a/ports/luajit/portfile.cmake +++ b/ports/luajit/portfile.cmake @@ -23,11 +23,8 @@ if(VCPKG_DETECTED_MSVC) # minilua tool with the target toolchain. This will work for native builds and # for targeting x86 from x64 hosts. (UWP and ARM64 is unsupported.) vcpkg_list(SET options) - set(PKGCONFIG_CFLAGS "") if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") list(APPEND options "MSVCBUILD_OPTIONS=static") - else() - set(PKGCONFIG_CFLAGS "/DLUA_BUILD_AS_DLL=1") endif() vcpkg_install_nmake(SOURCE_PATH "${SOURCE_PATH}" @@ -36,9 +33,13 @@ if(VCPKG_DETECTED_MSVC) ${options} ) - configure_file("${CMAKE_CURRENT_LIST_DIR}/luajit.pc.win.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/luajit.pc" @ONLY) + if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/luajit/luaconf.h" "defined(LUA_BUILD_AS_DLL)" "1") + endif() + + file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/luajit.pc" DESTINATION "${CURRENT_PACKAGES_DIR}/lib/pkgconfig") if(NOT VCPKG_BUILD_TYPE) - configure_file("${CMAKE_CURRENT_LIST_DIR}/luajit.pc.win.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/luajit.pc" @ONLY) + file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/luajit.pc" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") endif() vcpkg_copy_pdbs() diff --git a/ports/luajit/vcpkg.json b/ports/luajit/vcpkg.json index 41e1275a2d1250..9436f4bfc1c64f 100644 --- a/ports/luajit/vcpkg.json +++ b/ports/luajit/vcpkg.json @@ -1,7 +1,7 @@ { "name": "luajit", "version-date": "2023-01-04", - "port-version": 4, + "port-version": 5, "description": "LuaJIT is a Just-In-Time (JIT) compiler for the Lua programming language.", "homepage": "https://github.com/LuaJIT/LuaJIT", "license": "MIT", diff --git a/ports/luasec/CMakeLists.txt b/ports/luasec/CMakeLists.txt index 386af144077248..6432cef0f9a5c1 100644 --- a/ports/luasec/CMakeLists.txt +++ b/ports/luasec/CMakeLists.txt @@ -10,8 +10,10 @@ set(LUASEC_LIBRARIES ${LUA_LIBRARY} OpenSSL::SSL OpenSSL::Crypto - OpenSSL::applink - ws2_32) + OpenSSL::applink) +if(WIN32) + set(PLATFORM_LIBRARIES ws2_32) +endif() add_library(lua-ssl src/config.c @@ -22,11 +24,17 @@ add_library(lua-ssl src/options.c src/luasocket/buffer.c src/luasocket/io.c - src/luasocket/timeout.c - src/luasocket/wsocket.c) + src/luasocket/timeout.c) +if(WIN32) + target_sources(lua-ssl PRIVATE + src/luasocket/wsocket.c) +else() + target_sources(lua-ssl PRIVATE + src/luasocket/usocket.c) +endif() target_include_directories(lua-ssl PRIVATE ${LUASEC_INCLUDES}) -target_link_libraries(lua-ssl PRIVATE ${LUASEC_LIBRARIES}) +target_link_libraries(lua-ssl PRIVATE ${LUASEC_LIBRARIES} ${PLATFORM_LIBRARIES}) set_target_properties(lua-ssl PROPERTIES PREFIX "") install(TARGETS lua-ssl diff --git a/ports/luasec/portfile.cmake b/ports/luasec/portfile.cmake index ced0899615310e..e69027a0525092 100644 --- a/ports/luasec/portfile.cmake +++ b/ports/luasec/portfile.cmake @@ -1,15 +1,10 @@ -set(LUASEC_REVISION "v${VERSION}") -set(LUASEC_HASH cfa4187518445abc6591bd0c24924122b62252be25ffd5564cf291f9a2ae3702a5fa299ffd265d2e0e8315b90d6783eccace4ff560f54f299161d3c5e3749508) - -if (VCPKG_TARGET_IS_WINDOWS) - vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) -endif() +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO brunoos/luasec - REF ${LUASEC_REVISION} - SHA512 ${LUASEC_HASH} + REPO lunarmodules/luasec + REF "v${VERSION}" + SHA512 8f0c4b5ff87c024685b23770e1d342467554b8dc19a1704076e184d9e84b966f171091c31d1da135ab009e850275adc2bf2720fc9f32c83ac23f0a42f13d311f HEAD_REF master ) diff --git a/ports/luasec/vcpkg.json b/ports/luasec/vcpkg.json index 25b94e81563286..3fa5724902fca1 100644 --- a/ports/luasec/vcpkg.json +++ b/ports/luasec/vcpkg.json @@ -1,11 +1,12 @@ { "name": "luasec", - "version": "1.3.1", + "version": "1.3.2", + "port-version": 2, "maintainers": "Stephen Baker ", "description": "LuaSec depends on OpenSSL, and integrates with LuaSocket to make it easy to add secure connections to any Lua applications or scripts.", - "homepage": "https://github.com/brunoos/luasec", + "homepage": "https://github.com/lunarmodules/luasec", "license": "MIT", - "supports": "!(windows & static)", + "supports": "!staticcrt", "dependencies": [ "lua", "luasocket", diff --git a/ports/luasocket/CMakeLists.txt b/ports/luasocket/CMakeLists.txt index 3ab763debc0259..b07f043217e6c3 100644 --- a/ports/luasocket/CMakeLists.txt +++ b/ports/luasocket/CMakeLists.txt @@ -1,14 +1,14 @@ -cmake_minimum_required(VERSION 3.0.2) +cmake_minimum_required(VERSION 3.10) project(luasocket) -if(NOT WIN32) - message(FATAL_ERROR "Written for windows only") +if(WIN32) + set(PLATFORM_LIBRARIES ws2_32) endif() find_path(LUA_INCLUDE_DIR lua.h PATH_SUFFIXES lua) find_library(LUA_LIBRARY lua) set(LUASOCKET_INCLUDES ${LUA_INCLUDE_DIR} src) -set(LUASOCKET_LIBRARIES ${LUA_LIBRARY} ws2_32) +set(LUASOCKET_LIBRARIES ${LUA_LIBRARY} ${PLATFORM_LIBRARIES}) add_library(socket.core src/luasocket.c @@ -22,33 +22,106 @@ add_library(socket.core src/select.c src/tcp.c src/udp.c - src/compat.c - src/wsocket.c) - -add_library(mime.core - src/mime.c src/compat.c) - +if(WIN32) + target_sources(socket.core PRIVATE + src/wsocket.c) +elseif (UNIX) + target_sources(socket.core PRIVATE + src/usocket.c) +endif() +set_target_properties(socket.core PROPERTIES + RUNTIME_OUTPUT_DIRECTORY "socket" + LIBRARY_OUTPUT_DIRECTORY "socket" + PREFIX "" + RUNTIME_OUTPUT_NAME "core" + LIBRARY_OUTPUT_NAME "core") target_include_directories(socket.core PRIVATE ${LUASOCKET_INCLUDES}) target_link_libraries(socket.core PRIVATE ${LUASOCKET_LIBRARIES}) +add_library(mime.core + src/mime.c + src/compat.c) +set_target_properties(mime.core PROPERTIES + RUNTIME_OUTPUT_DIRECTORY "mime" + LIBRARY_OUTPUT_DIRECTORY "mime" + PREFIX "" + RUNTIME_OUTPUT_NAME "core" + LIBRARY_OUTPUT_NAME "core") target_include_directories(mime.core PRIVATE ${LUASOCKET_INCLUDES}) target_link_libraries(mime.core PRIVATE ${LUASOCKET_LIBRARIES}) -add_definitions( - "-DLUASOCKET_API=__declspec(dllexport)" - "-DMIME_API=__declspec(dllexport)") +if(UNIX) + add_library(socket.unix + src/buffer.c + src/compat.c + src/auxiliar.c + src/options.c + src/timeout.c + src/io.c + src/usocket.c + src/unix.c + src/unixdgram.c + src/unixstream.c) + set_target_properties(socket.unix PROPERTIES + RUNTIME_OUTPUT_DIRECTORY "socket" + LIBRARY_OUTPUT_DIRECTORY "socket" + PREFIX "" + RUNTIME_OUTPUT_NAME "unix" + LIBRARY_OUTPUT_NAME "unix") + target_include_directories(socket.unix PRIVATE ${LUASOCKET_INCLUDES}) + target_link_libraries(socket.unix PRIVATE ${LUASOCKET_LIBRARIES}) + + add_library(socket.serial + src/buffer.c + src/compat.c + src/auxiliar.c + src/options.c + src/timeout.c + src/io.c + src/usocket.c + src/serial.c) + set_target_properties(socket.serial PROPERTIES + RUNTIME_OUTPUT_DIRECTORY "socket" + LIBRARY_OUTPUT_DIRECTORY "socket" + PREFIX "" + RUNTIME_OUTPUT_NAME "serial" + LIBRARY_OUTPUT_NAME "serial") + target_include_directories(socket.serial PRIVATE ${LUASOCKET_INCLUDES}) + target_link_libraries(socket.serial PRIVATE ${LUASOCKET_LIBRARIES}) +endif() + +if(WIN32) + if("${BUILD_TYPE}" STREQUAL "STATIC") + add_definitions( + "-DLUASOCKET_API=") + else() + add_definitions( + "-DLUASOCKET_API=__declspec(dllexport)") + endif() +endif() install(TARGETS socket.core RUNTIME DESTINATION bin/socket - LIBRARY DESTINATION lib + LIBRARY DESTINATION lib/socket ARCHIVE DESTINATION lib) install(TARGETS mime.core RUNTIME DESTINATION bin/mime - LIBRARY DESTINATION lib + LIBRARY DESTINATION lib/mime ARCHIVE DESTINATION lib) +if(UNIX) + install(TARGETS socket.unix + RUNTIME DESTINATION bin/socket + LIBRARY DESTINATION lib/socket + ARCHIVE DESTINATION lib) + install(TARGETS socket.serial + RUNTIME DESTINATION bin/socket + LIBRARY DESTINATION lib/socket + ARCHIVE DESTINATION lib) +endif() + install(FILES src/ltn12.lua src/socket.lua diff --git a/ports/luasocket/portfile.cmake b/ports/luasocket/portfile.cmake index a2a126e8ad2ee2..1a56337a1e7ae7 100644 --- a/ports/luasocket/portfile.cmake +++ b/ports/luasocket/portfile.cmake @@ -7,8 +7,16 @@ vcpkg_from_github( file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + set(BUILD_TYPE SHARED) +else() + set(BUILD_TYPE STATIC) +endif() + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TYPE=${BUILD_TYPE} ) vcpkg_cmake_install() @@ -19,19 +27,6 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") # Handle copyright vcpkg_install_copyright(FILE_LIST ${SOURCE_PATH}/LICENSE) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") -# Handle socket dll name - file(RENAME "${CURRENT_PACKAGES_DIR}/bin/socket/socket.core.dll" "${CURRENT_PACKAGES_DIR}/bin/socket/core.dll" RESULT temp) - file(RENAME "${CURRENT_PACKAGES_DIR}/bin/socket/socket.core.pdb" "${CURRENT_PACKAGES_DIR}/bin/socket/core.pdb" RESULT temp) - file(RENAME "${CURRENT_PACKAGES_DIR}/debug/bin/socket/socket.core.dll" "${CURRENT_PACKAGES_DIR}/debug/bin/socket/core.dll" RESULT temp) - file(RENAME "${CURRENT_PACKAGES_DIR}/debug/bin/socket/socket.core.pdb" "${CURRENT_PACKAGES_DIR}/debug/bin/socket/core.pdb" RESULT temp) - -# Handle mime dll name - file(RENAME "${CURRENT_PACKAGES_DIR}/bin/mime/mime.core.dll" "${CURRENT_PACKAGES_DIR}/bin/mime/core.dll" RESULT temp) - file(RENAME "${CURRENT_PACKAGES_DIR}/bin/mime/mime.core.pdb" "${CURRENT_PACKAGES_DIR}/bin/mime/core.pdb" RESULT temp) - file(RENAME "${CURRENT_PACKAGES_DIR}/debug/bin/mime/mime.core.dll" "${CURRENT_PACKAGES_DIR}/debug/bin/mime/core.dll" RESULT temp) - file(RENAME "${CURRENT_PACKAGES_DIR}/debug/bin/mime/mime.core.pdb" "${CURRENT_PACKAGES_DIR}/debug/bin/mime/core.pdb" RESULT temp) -endif() # Allow empty include directory set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) diff --git a/ports/luasocket/vcpkg.json b/ports/luasocket/vcpkg.json index 719065696084d5..bfae0ba4e629b4 100644 --- a/ports/luasocket/vcpkg.json +++ b/ports/luasocket/vcpkg.json @@ -1,10 +1,10 @@ { "name": "luasocket", "version": "3.1.0", + "port-version": 1, "description": "LuaSocket is a Lua extension library that is composed by two parts: a C core that provides support for the TCP and UDP transport layers, and a set of Lua modules that add support for functionality commonly needed by applications that deal with the Internet.", "homepage": "https://lunarmodules.github.io/luasocket/", "license": "MIT", - "supports": "windows", "dependencies": [ "lua", { diff --git a/ports/luau/cmake-config-export.patch b/ports/luau/cmake-config-export.patch new file mode 100644 index 00000000000000..eb59a870212dd2 --- /dev/null +++ b/ports/luau/cmake-config-export.patch @@ -0,0 +1,137 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 51fa919e..9854f32c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -65,30 +65,30 @@ add_library(Luau.VM.Internals INTERFACE) + + include(Sources.cmake) + +-target_include_directories(Luau.Common INTERFACE Common/include) ++target_include_directories(Luau.Common INTERFACE $ $) + + target_compile_features(Luau.CLI.lib PUBLIC cxx_std_17) + target_link_libraries(Luau.CLI.lib PRIVATE Luau.Common) + + target_compile_features(Luau.Ast PUBLIC cxx_std_17) +-target_include_directories(Luau.Ast PUBLIC Ast/include) ++target_include_directories(Luau.Ast PUBLIC $ $) + target_link_libraries(Luau.Ast PUBLIC Luau.Common Luau.CLI.lib) + + target_compile_features(Luau.Compiler PUBLIC cxx_std_17) +-target_include_directories(Luau.Compiler PUBLIC Compiler/include) ++target_include_directories(Luau.Compiler PUBLIC $ $) + target_link_libraries(Luau.Compiler PUBLIC Luau.Ast) + + target_compile_features(Luau.Config PUBLIC cxx_std_17) +-target_include_directories(Luau.Config PUBLIC Config/include) ++target_include_directories(Luau.Config PUBLIC $ $) + target_link_libraries(Luau.Config PUBLIC Luau.Ast) + + target_compile_features(Luau.Analysis PUBLIC cxx_std_17) +-target_include_directories(Luau.Analysis PUBLIC Analysis/include) ++target_include_directories(Luau.Analysis PUBLIC $ $) + target_link_libraries(Luau.Analysis PUBLIC Luau.Ast Luau.EqSat Luau.Config) + target_link_libraries(Luau.Analysis PRIVATE Luau.Compiler Luau.VM) + + target_compile_features(Luau.EqSat PUBLIC cxx_std_17) +-target_include_directories(Luau.EqSat PUBLIC EqSat/include) ++target_include_directories(Luau.EqSat PUBLIC $ $) + target_link_libraries(Luau.EqSat PUBLIC Luau.Common) + + target_compile_features(Luau.CodeGen PRIVATE cxx_std_17) +@@ -97,7 +97,7 @@ target_link_libraries(Luau.CodeGen PRIVATE Luau.VM Luau.VM.Internals) # Code gen + target_link_libraries(Luau.CodeGen PUBLIC Luau.Common) + + target_compile_features(Luau.VM PRIVATE cxx_std_11) +-target_include_directories(Luau.VM PUBLIC VM/include) ++target_include_directories(Luau.VM PUBLIC $ $) + target_link_libraries(Luau.VM PUBLIC Luau.Common) + + target_include_directories(isocline PUBLIC extern/isocline/include) +@@ -182,22 +182,6 @@ if(MSVC AND LUAU_BUILD_CLI) + set_target_properties(Luau.Repl.CLI PROPERTIES LINK_FLAGS_DEBUG /STACK:2097152) + endif() + +-# embed .natvis inside the library debug information +-if(MSVC) +- target_link_options(Luau.Ast INTERFACE /NATVIS:${CMAKE_CURRENT_SOURCE_DIR}/tools/natvis/Ast.natvis) +- target_link_options(Luau.Analysis INTERFACE /NATVIS:${CMAKE_CURRENT_SOURCE_DIR}/tools/natvis/Analysis.natvis) +- target_link_options(Luau.CodeGen INTERFACE /NATVIS:${CMAKE_CURRENT_SOURCE_DIR}/tools/natvis/CodeGen.natvis) +- target_link_options(Luau.VM INTERFACE /NATVIS:${CMAKE_CURRENT_SOURCE_DIR}/tools/natvis/VM.natvis) +-endif() +- +-# make .natvis visible inside the solution +-if(MSVC_IDE) +- target_sources(Luau.Ast PRIVATE tools/natvis/Ast.natvis) +- target_sources(Luau.Analysis PRIVATE tools/natvis/Analysis.natvis) +- target_sources(Luau.CodeGen PRIVATE tools/natvis/CodeGen.natvis) +- target_sources(Luau.VM PRIVATE tools/natvis/VM.natvis) +-endif() +- + # On Windows and Android threads are provided, on Linux/Mac/iOS we use pthreads + add_library(osthreads INTERFACE) + if(CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin|iOS") +@@ -287,3 +271,54 @@ foreach(LIB Luau.Ast Luau.Compiler Luau.Config Luau.Analysis Luau.EqSat Luau.Cod + endif() + endif() + endforeach() ++ ++# luau package ++include(GNUInstallDirs) ++include(CMakePackageConfigHelpers) ++ ++write_basic_package_version_file( ++ ${CMAKE_CURRENT_BINARY_DIR}/unofficial-luau-config-version.cmake ++ VERSION "${VERSION}" ++ COMPATIBILITY AnyNewerVersion ++) ++ ++install(FILES ++ ${CMAKE_CURRENT_BINARY_DIR}/unofficial-luau-config-version.cmake ++ ${CMAKE_CURRENT_SOURCE_DIR}/cmake/unofficial-luau-config.cmake ++ DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/unofficial-luau ++) ++ ++install( ++ TARGETS Luau.Common Luau.Ast Luau.Compiler Luau.Config Luau.Analysis Luau.VM Luau.CLI.lib Luau.EqSat ++ EXPORT unofficial-luau-targets ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++) ++ ++if (LUAU_BUILD_CLI) ++ install( ++ TARGETS Luau.Repl.CLI ++ EXPORT unofficial-luau-targets ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" ++ ) ++endif() ++ ++install( ++ DIRECTORY "${CMAKE_SOURCE_DIR}/Common/include/" ++ DIRECTORY "${CMAKE_SOURCE_DIR}/Ast/include/" ++ DIRECTORY "${CMAKE_SOURCE_DIR}/Compiler/include/" ++ DIRECTORY "${CMAKE_SOURCE_DIR}/Config/include/" ++ DIRECTORY "${CMAKE_SOURCE_DIR}/Analysis/include/" ++ DIRECTORY "${CMAKE_SOURCE_DIR}/VM/include/" ++ DIRECTORY "${CMAKE_SOURCE_DIR}/VM/src/" ++ DESTINATION "include/luau" ++ FILES_MATCHING ++ PATTERN "*.h" ++) ++ ++install( ++ EXPORT unofficial-luau-targets ++ NAMESPACE unofficial::luau:: ++ DESTINATION "${CMAKE_INSTALL_DATADIR}/unofficial-luau" ++) +\ No newline at end of file +diff --git a/cmake/unofficial-luau-config.cmake b/cmake/unofficial-luau-config.cmake +new file mode 100644 +index 00000000..2680ef31 +--- /dev/null ++++ b/cmake/unofficial-luau-config.cmake +@@ -0,0 +1 @@ ++include(${CMAKE_CURRENT_LIST_DIR}/unofficial-luau-targets.cmake) +\ No newline at end of file diff --git a/ports/luau/portfile.cmake b/ports/luau/portfile.cmake new file mode 100644 index 00000000000000..2d730827bbacbd --- /dev/null +++ b/ports/luau/portfile.cmake @@ -0,0 +1,39 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO luau-lang/luau + REF ${VERSION} + SHA512 a3be52f7958d364693c0bc2541b08082852917b53a80cc4fbdde3167c9068b269f8476882592eafac4c4d674ed6d51ba25a52eaa3b2b6d4dce4603f6aad73f6b + HEAD_REF master + PATCHES + cmake-config-export.patch +) + +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + tool LUAU_BUILD_CLI +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DVERSION=${VERSION} + ${FEATURE_OPTIONS} + OPTIONS_DEBUG + -DLUAU_BUILD_CLI=OFF +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(PACKAGE_NAME "unofficial-luau") + +if("tool" IN_LIST FEATURES) + vcpkg_copy_tools(TOOL_NAMES luau AUTO_CLEAN) +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") \ No newline at end of file diff --git a/ports/luau/vcpkg.json b/ports/luau/vcpkg.json new file mode 100644 index 00000000000000..b090db08b8e436 --- /dev/null +++ b/ports/luau/vcpkg.json @@ -0,0 +1,22 @@ +{ + "name": "luau", + "version": "0.651", + "description": "A fast, small, safe, gradually typed embeddable scripting language derived from Lua", + "homepage": "https://github.com/luau-lang/luau", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "tool": { + "description": "Builds luau executable" + } + } +} diff --git a/ports/lunarg-vulkantools/portfile.cmake b/ports/lunarg-vulkantools/portfile.cmake new file mode 100644 index 00000000000000..26ad69c9fbd6a0 --- /dev/null +++ b/ports/lunarg-vulkantools/portfile.cmake @@ -0,0 +1,37 @@ +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO LunarG/VulkanTools + REF "vulkan-sdk-${VERSION}" + SHA512 2d1f5d91aa79b206640e65bba2dadfe881524e9a5e1694df5092e6d59d00f06cd981bd026c0c12528f6b243da7564be98211ce6f6538bd1fd51698f91aa24d47 + HEAD_REF main +) + +vcpkg_replace_string("${SOURCE_PATH}/via/CMakeLists.txt" "jsoncpp_static" "JsonCpp::JsonCpp") + +x_vcpkg_get_python_packages(PYTHON_VERSION "3" PACKAGES jsonschema OUT_PYTHON_VAR PYTHON3) +get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY) +vcpkg_add_to_path("${PYTHON3_DIR}") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DVULKAN_HEADERS_INSTALL_DIR=${CURRENT_INSTALLED_DIR} + -DBUILD_TESTS:BOOL=OFF + OPTIONS_RELEASE + -DVULKAN_LOADER_INSTALL_DIR=${CURRENT_INSTALLED_DIR} + OPTIONS_DEBUG + -DVULKAN_LOADER_INSTALL_DIR=${CURRENT_INSTALLED_DIR}/debug + +) +vcpkg_cmake_install() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") + +vcpkg_copy_tools(TOOL_NAMES vkvia vkconfig AUTO_CLEAN ) + +set(VCPKG_POLICY_DLLS_WITHOUT_LIBS enabled) +set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) diff --git a/ports/lunarg-vulkantools/vcpkg.json b/ports/lunarg-vulkantools/vcpkg.json new file mode 100644 index 00000000000000..7b4b654f457646 --- /dev/null +++ b/ports/lunarg-vulkantools/vcpkg.json @@ -0,0 +1,27 @@ +{ + "name": "lunarg-vulkantools", + "version": "1.3.296.0", + "description": "Tools to aid in Vulkan development", + "homepage": "https://github.com/LunarG/VulkanTools", + "license": null, + "supports": "!osx & !staticcrt", + "dependencies": [ + "jsoncpp", + "qt5-base", + "valijson", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + { + "name": "vcpkg-get-python-packages", + "host": true + }, + "vulkan-loader", + "vulkan-utility-libraries" + ] +} diff --git a/ports/lunasvg/fix-cmake.patch b/ports/lunasvg/fix-cmake.patch index b00ea77f2fdd44..9e60400d1b1d47 100644 --- a/ports/lunasvg/fix-cmake.patch +++ b/ports/lunasvg/fix-cmake.patch @@ -2,20 +2,17 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt index ea4b2d2..f622d45 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -32,7 +32,10 @@ install(FILES +@@ -32,7 +32,11 @@ install(FILES ) install(TARGETS lunasvg -- LIBRARY DESTINATION ${LUNASVG_LIBDIR} -- ARCHIVE DESTINATION ${LUNASVG_LIBDIR} -- INCLUDES DESTINATION ${LUNASVG_INCDIR} --) + EXPORT unofficial-lunasvg-config -+ RUNTIME DESTINATION bin -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib -+ PUBLIC_HEADER DESTINATION include) -+ ++ PUBLIC_HEADER DESTINATION include ++ RUNTIME DESTINATION bin + LIBRARY DESTINATION ${LUNASVG_LIBDIR} + ARCHIVE DESTINATION ${LUNASVG_LIBDIR} + INCLUDES DESTINATION ${LUNASVG_INCDIR} + ) +install(EXPORT unofficial-lunasvg-config NAMESPACE unofficial::lunasvg:: DESTINATION share/unofficial-lunasvg) \ No newline at end of file diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt diff --git a/ports/lunasvg/portfile.cmake b/ports/lunasvg/portfile.cmake index 199792591f93ec..bfddc37e421a07 100644 --- a/ports/lunasvg/portfile.cmake +++ b/ports/lunasvg/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO sammycage/lunasvg REF "v${VERSION}" - SHA512 368f76ae3c04fbcb08406d9e7793af37b5e28ab90ffe0978fae8783620a45af3270fcd4e895c553e3e651f0ba07e37355acffd9f0aab1bf9ef822f465de21073 + SHA512 4c771c292d73d4a1c1498011fe8969b9f04a58853d2977c3ce4895d5ad6c1a282c8bfba5e4f1d045e56e0820e57a3a21d3cc0d178efe6ad73c82121aa75b1cdf HEAD_REF master PATCHES fix-cmake.patch @@ -19,8 +19,11 @@ vcpkg_cmake_install() vcpkg_copy_pdbs() vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-lunasvg) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/lunasvg.h" "defined(LUNASVG_BUILD_STATIC)" "1") +endif() + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -# Handle copyright vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/lunasvg/vcpkg.json b/ports/lunasvg/vcpkg.json index 661e49c2badbe0..ab5d407ed61d0b 100644 --- a/ports/lunasvg/vcpkg.json +++ b/ports/lunasvg/vcpkg.json @@ -1,7 +1,6 @@ { "name": "lunasvg", - "version": "2.3.8", - "port-version": 1, + "version": "2.4.1", "description": "lunasvg is a standalone SVG rendering library in C++", "homepage": "https://github.com/sammycage/lunasvg", "license": "MIT", diff --git a/ports/lv2/CMakeLists.txt b/ports/lv2/CMakeLists.txt deleted file mode 100644 index a1d3d13cceeea4..00000000000000 --- a/ports/lv2/CMakeLists.txt +++ /dev/null @@ -1,35 +0,0 @@ -cmake_minimum_required(VERSION 3.17) -project(lv2 NONE) - -add_library(lv2 INTERFACE) - -install( - TARGETS lv2 - EXPORT lv2-config - INCLUDES DESTINATION include -) - -install( - DIRECTORY lv2 - DESTINATION include - FILES_MATCHING PATTERN "*.h" -) -install(FILES lv2/core/lv2.h DESTINATION include) - -# Install headers to old URI-style paths, using mapping from wscript -file(READ wscript WSCRIPT) -string(REGEX MATCHALL "'[^']+' *: *'lv2/[^']+'" SPEC_MAP "${WSCRIPT}") -foreach(PAIR ${SPEC_MAP}) - string(REGEX MATCH "'([^']+)' *: *'([^']+)'" _ "${PAIR}") - install( - DIRECTORY "lv2/${CMAKE_MATCH_1}/" - DESTINATION "include/${CMAKE_MATCH_2}" - FILES_MATCHING PATTERN "*.h" - ) -endforeach() - -install( - EXPORT lv2-config - NAMESPACE lv2:: - DESTINATION share/lv2 -) diff --git a/ports/lv2/lv2-config.cmake b/ports/lv2/lv2-config.cmake new file mode 100644 index 00000000000000..5bb249df2f23b4 --- /dev/null +++ b/ports/lv2/lv2-config.cmake @@ -0,0 +1,13 @@ +if(NOT TARGET lv2::lv2) + get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) + get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) + get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) + + add_library(lv2::lv2 INTERFACE IMPORTED) + + set_target_properties(lv2::lv2 PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" + ) + + unset(_IMPORT_PREFIX) +endif() diff --git a/ports/lv2/portfile.cmake b/ports/lv2/portfile.cmake index 1c4e8640d3eba3..6c31cf8bfdfad9 100644 --- a/ports/lv2/portfile.cmake +++ b/ports/lv2/portfile.cmake @@ -1,23 +1,23 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO lv2/lv2 - REF cd152104c84bcee9fec22ef780cec2af7ba85d0c #v1.18.2 - SHA512 77220524481e97222b12782a89efdcfcb73ee6ac9b9aac88741475c60a2c21049153297860a24b77c0ebd4de32d38a38232ba4fc64d12b8558a56ef50b316801 - HEAD_REF master + REF "v${VERSION}" + SHA512 d63a223b1e1ab9282392637ea2878cfca5dc466553dcea45fb6d8bc5fe657d0705f01db45affcda29344166fba2738a33da5c15ef44ceec58989e406131e1ded + HEAD_REF main ) -file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") - -vcpkg_cmake_configure( +vcpkg_configure_meson( SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -Ddocs=disabled + -Dplugins=disabled + -Dtests=disabled ) -vcpkg_cmake_install() +vcpkg_install_meson() +vcpkg_fixup_pkgconfig() -vcpkg_cmake_config_fixup() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") -file( - INSTALL "${SOURCE_PATH}/COPYING" - DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" - RENAME copyright -) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/lv2-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/lv2/vcpkg.json b/ports/lv2/vcpkg.json index 8d0b0cda349489..260b5deabdf09d 100644 --- a/ports/lv2/vcpkg.json +++ b/ports/lv2/vcpkg.json @@ -1,17 +1,13 @@ { "name": "lv2", - "version-semver": "1.18.2", + "version": "1.18.10", "port-version": 1, "description": "LV2 is a plugin standard for audio systems. It defines a minimal yet extensible C API for plugin code and a format for plugin \"bundles\".", "homepage": "https://lv2plug.in", "license": "ISC", "dependencies": [ { - "name": "vcpkg-cmake", - "host": true - }, - { - "name": "vcpkg-cmake-config", + "name": "vcpkg-tool-meson", "host": true } ] diff --git a/ports/lwlog/portfile.cmake b/ports/lwlog/portfile.cmake new file mode 100644 index 00000000000000..7604e1346331c8 --- /dev/null +++ b/ports/lwlog/portfile.cmake @@ -0,0 +1,19 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ChristianPanov/lwlog + REF "v${VERSION}" + SHA512 d331b1fb64180370c0c5cdd3b292cc27430fa4bf83d47ad69ad5aba9ee1605657b457d899bc71a779f4ef397f9f4e8c1b91c296deae1fa616de853d52deef8ed + HEAD_REF master +) + +vcpkg_cmake_configure(SOURCE_PATH ${SOURCE_PATH}) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(PACKAGE_NAME lwlog_lib CONFIG_PATH lib/cmake) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/lwlog/vcpkg.json b/ports/lwlog/vcpkg.json new file mode 100644 index 00000000000000..bef2c135235933 --- /dev/null +++ b/ports/lwlog/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "lwlog", + "version": "1.3.0", + "description": "Very fast synchronous and asynchronous C++17 logging library", + "homepage": "https://github.com/ChristianPanov/lwlog", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/lz4/CMakeLists.txt b/ports/lz4/CMakeLists.txt deleted file mode 100644 index a35c8b2d1a7b75..00000000000000 --- a/ports/lz4/CMakeLists.txt +++ /dev/null @@ -1,58 +0,0 @@ -cmake_minimum_required(VERSION 3.0) -project(lz4 C) - -if(MSVC AND BUILD_SHARED_LIBS) - add_definitions(-DLZ4_DLL_EXPORT) -endif() -add_definitions(-DXXH_NAMESPACE=LZ4_) - -set(CMAKE_INSTALL_PREFIX "${CMAKE_CURRENT_LIST_DIR}" CACHE PATH "Install prefix") -set(INSTALL_BIN_DIR "bin" CACHE PATH "Path where exe and dll will be installed") -set(INSTALL_LIB_DIR "lib" CACHE PATH "Path where lib will be installed") -set(INSTALL_INCLUDE_DIR "include" CACHE PATH "Path where headers will be installed") -set(INSTALL_CMAKE_DIR "share/lz4" CACHE PATH "Path where cmake configs will be installed") - -file(GLOB LZ4_HEADERS lib/*.h) -list(REMOVE_ITEM LZ4_HEADERS "${CMAKE_CURRENT_LIST_DIR}/lib/xxhash.h") - -add_library(lz4 - ${LZ4_HEADERS} - lib/lz4.c - lib/lz4frame.c - lib/lz4hc.c - lib/xxhash.c -) - -target_include_directories(lz4 PUBLIC $ $) -set_target_properties(lz4 PROPERTIES PUBLIC_HEADER "${LZ4_HEADERS}") - -install(TARGETS lz4 - EXPORT lz4Config - RUNTIME DESTINATION "${INSTALL_BIN_DIR}" - ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" - LIBRARY DESTINATION "${INSTALL_LIB_DIR}" - PUBLIC_HEADER DESTINATION "${INSTALL_INCLUDE_DIR}" - PRIVATE_HEADER DESTINATION "${INSTALL_INCLUDE_DIR}" - COMPONENT dev -) - -FILE(GLOB lz4h "${CMAKE_CURRENT_LIST_DIR}/lib/*.h") -list(REMOVE_ITEM lz4h "${CMAKE_CURRENT_LIST_DIR}/lib/xxhash.h") -INSTALL(FILES ${lz4h} DESTINATION "${INSTALL_INCLUDE_DIR}") - -install(EXPORT lz4Config - FILE lz4-config.cmake - NAMESPACE lz4:: - DESTINATION "${INSTALL_CMAKE_DIR}" -) - -# Export the package for use from the build-tree (this registers the build-tree with a global CMake-registry) -export(PACKAGE lz4) - -# Create pkgconfig module file -file(STRINGS "lib/lz4.h" LZ4_H REGEX "^#define LZ4_VERSION_(MAJOR|MINOR|RELEASE) ") -string(REGEX REPLACE "^.*MAJOR +([0-9]+).*MINOR +([0-9]+).*RELEASE +([0-9]+).*$" "\\1.\\2.\\3" VERSION "${LZ4_H}") -set(INCLUDEDIR [[${prefix}/include]]) -set(LIBDIR [[${prefix}/lib]]) -configure_file(lib/liblz4.pc.in lib/liblz4.pc @ONLY) -install(FILES "${CMAKE_CURRENT_BINARY_DIR}/lib/liblz4.pc" DESTINATION "lib/pkgconfig") diff --git a/ports/lz4/portfile.cmake b/ports/lz4/portfile.cmake index 80df95aebced2f..7e8f514bd5591e 100644 --- a/ports/lz4/portfile.cmake +++ b/ports/lz4/portfile.cmake @@ -1,15 +1,22 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO lz4/lz4 - REF v1.9.4 - SHA512 043a9acb2417624019d73db140d83b80f1d7c43a6fd5be839193d68df8fd0b3f610d7ed4d628c2a9184f7cde9a0fd1ba9d075d8251298e3eb4b3a77f52736684 + REF v${VERSION} + SHA512 8c4ceb217e6dc8e7e0beba99adc736aca8963867bcf9f970d621978ba11ce92855912f8b66138037a1d2ae171e8e17beb7be99281fea840106aa60373c455b28 HEAD_REF dev + PATCHES + target-lz4-lz4.diff ) -file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + tools LZ4_BUILD_CLI +) vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" + SOURCE_PATH "${SOURCE_PATH}/build/cmake" + OPTIONS + ${FEATURE_OPTIONS} OPTIONS_DEBUG -DCMAKE_DEBUG_POSTFIX=d ) @@ -17,6 +24,13 @@ vcpkg_cmake_configure( vcpkg_cmake_install() vcpkg_copy_pdbs() +if("tools" IN_LIST FEATURES) + vcpkg_copy_tools( + TOOL_NAMES lz4 + AUTO_CLEAN + ) +endif() + if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") set(DLL_IMPORT "1 && defined(_MSC_VER)") else() @@ -29,12 +43,20 @@ foreach(FILE lz4.h lz4frame.h) ) endforeach() -vcpkg_cmake_config_fixup() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/lz4") + vcpkg_fixup_pkgconfig() if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/liblz4.pc" " -llz4" " -llz4d") endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -file(INSTALL "${SOURCE_PATH}/lib/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +set(LICENSE_FILES "${SOURCE_PATH}/lib/LICENSE") +if("tools" IN_LIST FEATURES) + list(APPEND LICENSE_FILES "${SOURCE_PATH}/programs/COPYING") +endif() +vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES}) diff --git a/ports/lz4/target-lz4-lz4.diff b/ports/lz4/target-lz4-lz4.diff new file mode 100644 index 00000000000000..9d0a81395b6cd8 --- /dev/null +++ b/ports/lz4/target-lz4-lz4.diff @@ -0,0 +1,17 @@ +diff --git a/build/cmake/lz4Config.cmake.in b/build/cmake/lz4Config.cmake.in +index e9c9473..4b48032 100644 +--- a/build/cmake/lz4Config.cmake.in ++++ b/build/cmake/lz4Config.cmake.in +@@ -1,2 +1,10 @@ + @PACKAGE_INIT@ +-include( "${CMAKE_CURRENT_LIST_DIR}/lz4Targets.cmake" ) +\ No newline at end of file ++include( "${CMAKE_CURRENT_LIST_DIR}/lz4Targets.cmake" ) ++if(NOT TARGET lz4::lz4) ++ add_library(lz4::lz4 INTERFACE IMPORTED) ++ if("@BUILD_SHARED_LIBS@") ++ set_target_properties(lz4::lz4 PROPERTIES INTERFACE_LINK_LIBRARIES LZ4::lz4_shared) ++ else() ++ set_target_properties(lz4::lz4 PROPERTIES INTERFACE_LINK_LIBRARIES LZ4::lz4_static) ++ endif() ++endif() diff --git a/ports/lz4/usage b/ports/lz4/usage new file mode 100644 index 00000000000000..79ce4af1e1c9a4 --- /dev/null +++ b/ports/lz4/usage @@ -0,0 +1,8 @@ +lz4 provides CMake targets: + + find_package(lz4 CONFIG REQUIRED) + target_link_libraries(main PRIVATE lz4::lz4) + +lz4 provides pkg-config modules: + + liblz4 diff --git a/ports/lz4/vcpkg.json b/ports/lz4/vcpkg.json index 22db2d32a2660d..29acb79d850202 100644 --- a/ports/lz4/vcpkg.json +++ b/ports/lz4/vcpkg.json @@ -1,10 +1,9 @@ { "name": "lz4", - "version": "1.9.4", - "port-version": 1, + "version": "1.10.0", "description": "Lossless compression algorithm, providing compression speed at 400 MB/s per core.", "homepage": "https://github.com/lz4/lz4", - "license": "BSD-2-Clause AND GPL-2.0-only", + "license": "BSD-2-Clause", "dependencies": [ { "name": "vcpkg-cmake", @@ -14,5 +13,11 @@ "name": "vcpkg-cmake-config", "host": true } - ] + ], + "features": { + "tools": { + "description": "Build lz4 binary", + "license": "GPL-2.0-or-later" + } + } } diff --git a/ports/lzav/portfile.cmake b/ports/lzav/portfile.cmake new file mode 100644 index 00000000000000..190af12f7254e6 --- /dev/null +++ b/ports/lzav/portfile.cmake @@ -0,0 +1,11 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO avaneev/lzav + REF ${VERSION} + SHA512 456c1d422bf884643862f81d461baae75f24247a2789ea8dabd7203293fa73a197e5e6895492be57c12a9f8dace9d3dc810b8b1a3e4a264768dbda6e28e1ee59 + HEAD_REF master +) + +file(COPY "${SOURCE_PATH}/lzav.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/lzav/vcpkg.json b/ports/lzav/vcpkg.json new file mode 100644 index 00000000000000..32bf36a3b3bdfc --- /dev/null +++ b/ports/lzav/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "lzav", + "version": "4.0", + "description": "Fast In-Memory Data Compression Algorithm (inline C/C++)", + "homepage": "https://github.com/avaneev/lzav", + "license": "MIT" +} diff --git a/ports/lzokay/portfile.cmake b/ports/lzokay/portfile.cmake index 496e115d10ad9d..497c049f600358 100644 --- a/ports/lzokay/portfile.cmake +++ b/ports/lzokay/portfile.cmake @@ -2,9 +2,9 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO jackoalan/lzokay - REF 546a9695271e8a8b4711383f828172754fd825f2 - SHA512 b4e96183ea52dc5ba0d88b4b9b27baa2c3e2c540b1bfd50cf7a3c2569337fbe9d73dd9939cb456d5f7459df8e10d84677d40ee33f7d524f0f5f8a723d7a70583 + REPO AxioDL/lzokay + REF db2df1fcbebc2ed06c10f727f72567d40f06a2be + SHA512 0e0c597cb74985ef2fc3329392dadf87c0ffc84287cdb2f04e6a70d2e74dcc79732de18872ff05d0906fac2d53749c3db6f2ccd32b906f5a8b81310810eae8eb HEAD_REF master ) diff --git a/ports/lzokay/vcpkg.json b/ports/lzokay/vcpkg.json index e50fda6a0ab4d6..21676ce9fa0912 100644 --- a/ports/lzokay/vcpkg.json +++ b/ports/lzokay/vcpkg.json @@ -1,9 +1,8 @@ { "name": "lzokay", - "version-date": "2020-07-30", - "port-version": 2, + "version-date": "2023-10-22", "description": "lzokay – MIT licensed C++ implementation of LZO compression/decompression algorithm", - "homepage": "https://github.com/jackoalan/lzokay", + "homepage": "https://github.com/AxioDL/lzokay", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/maddy/portfile.cmake b/ports/maddy/portfile.cmake index ff17336386ff24..ea622127c8c93f 100644 --- a/ports/maddy/portfile.cmake +++ b/ports/maddy/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO progsource/maddy REF "${VERSION}" - SHA512 a99d0d5db1ada9d6238b714d90d9146fbb49f76ef150f180ea19e554eb15463ca4dfbece289cff501a48e72445757059a6cc4629a20ac3c7756ac10fc93d097d + SHA512 7c8b7570fcb73901f605f1c33bd3459ab1775e375a013cf1d92c8e8381880bfaeb895c7eac244429f67953cc039999d07c4c0fb6c3a5edfe8af32ef0d89ed294 HEAD_REF master ) diff --git a/ports/maddy/vcpkg.json b/ports/maddy/vcpkg.json index 40154169e9f3a6..244caf04975390 100644 --- a/ports/maddy/vcpkg.json +++ b/ports/maddy/vcpkg.json @@ -1,6 +1,6 @@ { "name": "maddy", - "version": "1.2.0", + "version": "1.3.0", "description": "C++ Markdown to HTML header-only parser library", "homepage": "https://github.com/progsource/maddy", "license": "MIT", diff --git a/ports/magic-enum/portfile.cmake b/ports/magic-enum/portfile.cmake index b98ec397025094..74034e2c5ca6f8 100644 --- a/ports/magic-enum/portfile.cmake +++ b/ports/magic-enum/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Neargye/magic_enum REF "v${VERSION}" - SHA512 0bee01840d69a102f9c07e063a8314f40593bd476545176ba2895549b899d6c619d76588e2d55e2c71c2812cd41c1f802e0718461e8b31d37ac6264273001236 + SHA512 8b61c621ff2a6981b4ff89f7df577091ffc9382d443c061db612fb61822dbf6ef8aba69ea35d1c435dcffbd7434cb4ccc5d12bbe2deba1cf0a5316c979ee6a4b HEAD_REF master ) @@ -17,11 +17,8 @@ vcpkg_cmake_configure( ) vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH share/cmake/magic_enum PACKAGE_NAME magic_enum) +vcpkg_fixup_pkgconfig() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/magic_enum PACKAGE_NAME magic_enum) - -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") - -# Handle copyright -configure_file("${SOURCE_PATH}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/magic-enum/vcpkg.json b/ports/magic-enum/vcpkg.json index 63be06d0d6c594..93cac6f285ac04 100644 --- a/ports/magic-enum/vcpkg.json +++ b/ports/magic-enum/vcpkg.json @@ -1,6 +1,7 @@ { "name": "magic-enum", - "version": "0.9.3", + "version": "0.9.7", + "port-version": 1, "description": "Header-only C++17 library provides static reflection for enums, work with any enum type without any macro or boilerplate code.", "homepage": "https://github.com/Neargye/magic_enum", "license": "MIT", diff --git a/ports/magma/clang-cuda.patch b/ports/magma/clang-cuda.patch new file mode 100644 index 00000000000000..5aaee14ff8e448 --- /dev/null +++ b/ports/magma/clang-cuda.patch @@ -0,0 +1,50 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index eeb0bb0b8f..6a5e0a747a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -310,10 +309,17 @@ if (MAGMA_ENABLE_CUDA) + ) + else() + # No Position Independent Code on Windows. Compiler will complain if you add that flag. +- target_compile_options(magma_nvcc_flags +- INTERFACE +- $<$:--compiler-options;${FORTRAN_CONVENTION}> +- ) ++ if(NOT CMAKE_CUDA_COMPILER_ID STREQUAL "Clang") ++ target_compile_options(magma_nvcc_flags ++ INTERFACE ++ $<$:--compiler-options;${FORTRAN_CONVENTION}> ++ ) ++ else() ++ target_compile_options(magma_nvcc_flags ++ INTERFACE ++ $<$:${FORTRAN_CONVENTION}> ++ ) ++ endif() + endif(COMPILER_SUPPORTS_FPIC) + + set(MAGMA_HAVE_CUDA "1") +diff --git a/control/magma_internal.h b/control/magma_internal.h +index 2310659235..c4d0eb8f6b 100644 +--- a/control/magma_internal.h ++++ b/control/magma_internal.h +@@ -33,7 +33,7 @@ + // functions where Microsoft fails to provide C99 standard + // (only with Microsoft, not with nvcc on Windows) + // in both magma_internal.h and testings.h +- #ifndef __NVCC__ ++ #if !defined(__NVCC__) && !defined(__clang__) + + #include + #define copysign(x,y) _copysign(x,y) +@@ -42,7 +42,9 @@ + #define isfinite(x) _finite(x) + // note _snprintf has slightly different semantics than snprintf + #define snprintf _snprintf +- ++ #elif !defined(__NVCC__) ++ // make sure this actually uses the C version and not the C++ overloads ++ #define copysign(x,y) copysign((double)x,(double)y) + #endif + + #else diff --git a/ports/magma/disable-openmp-msvc.patch b/ports/magma/disable-openmp-msvc.patch new file mode 100644 index 00000000000000..b1439952a7f053 --- /dev/null +++ b/ports/magma/disable-openmp-msvc.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 828911d05f..a4f5b35ef3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -103,6 +103,10 @@ endif() + + # ---------------------------------------- + # locate OpenMP ++if(MSVC AND CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") ++ set(CMAKE_DISBLE_FIND_PACKAGE_OpenMP ON) ++ # MSVC OpenMP is not enough to compile ++endif() + find_package( OpenMP ) + if (OPENMP_FOUND) + message( STATUS "Found OpenMP" ) diff --git a/ports/magma/fix-min-max.patch b/ports/magma/fix-min-max.patch new file mode 100644 index 00000000000000..0aa48275f287fe --- /dev/null +++ b/ports/magma/fix-min-max.patch @@ -0,0 +1,60 @@ +diff --git a/magmablas/cgbtf2_kernels.cu b/magmablas/cgbtf2_kernels.cu +index 1b44273..e769534 100644 +--- a/magmablas/cgbtf2_kernels.cu ++++ b/magmablas/cgbtf2_kernels.cu +@@ -12,6 +12,10 @@ + + #include "magma_internal.h" + #if defined(MAGMA_HAVE_CUDA) ++#if CUDA_VERSION >= 12060 ++#undef max ++#undef min ++#endif + #include + namespace cg = cooperative_groups; + #elif defined(MAGMA_HAVE_HIP) +diff --git a/magmablas/dgbtf2_kernels.cu b/magmablas/dgbtf2_kernels.cu +index c2af4f4..c2e0b4d 100644 +--- a/magmablas/dgbtf2_kernels.cu ++++ b/magmablas/dgbtf2_kernels.cu +@@ -12,6 +12,10 @@ + + #include "magma_internal.h" + #if defined(MAGMA_HAVE_CUDA) ++#if CUDA_VERSION >= 12060 ++#undef max ++#undef min ++#endif + #include + namespace cg = cooperative_groups; + #elif defined(MAGMA_HAVE_HIP) +diff --git a/magmablas/sgbtf2_kernels.cu b/magmablas/sgbtf2_kernels.cu +index bbc691a..752c5f7 100644 +--- a/magmablas/sgbtf2_kernels.cu ++++ b/magmablas/sgbtf2_kernels.cu +@@ -12,6 +12,10 @@ + + #include "magma_internal.h" + #if defined(MAGMA_HAVE_CUDA) ++#if CUDA_VERSION >= 12060 ++#undef max ++#undef min ++#endif + #include + namespace cg = cooperative_groups; + #elif defined(MAGMA_HAVE_HIP) +diff --git a/magmablas/zgbtf2_kernels.cu b/magmablas/zgbtf2_kernels.cu +index c1afa3b..3ea8136 100644 +--- a/magmablas/zgbtf2_kernels.cu ++++ b/magmablas/zgbtf2_kernels.cu +@@ -12,6 +12,10 @@ + + #include "magma_internal.h" + #if defined(MAGMA_HAVE_CUDA) ++#if CUDA_VERSION >= 12060 ++#undef max ++#undef min ++#endif + #include + namespace cg = cooperative_groups; + #elif defined(MAGMA_HAVE_HIP) diff --git a/ports/magma/no-tests.patch b/ports/magma/no-tests.patch new file mode 100644 index 00000000000000..4a7d92636fe7ff --- /dev/null +++ b/ports/magma/no-tests.patch @@ -0,0 +1,35 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a4f5b35ef3..eeb0bb0b8f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -663,7 +670,7 @@ target_link_libraries( lapacktest + + # ---------------------------------------- + # compile tester library +-add_library( tester ${libtest_all} ) ++add_library( tester EXCLUDE_FROM_ALL ${libtest_all} ) + target_link_libraries( tester + magma + lapacktest +@@ -726,11 +726,12 @@ foreach( filename ${testing_all} ) + list( APPEND testing_all_cpp ${filename} ) + endif() + endforeach() ++set(testing_all_cpp "") + foreach( TEST ${testing_all_cpp} ) + string( REGEX REPLACE "\\.(cpp|f90|F90)" "" EXE ${TEST} ) + string( REGEX REPLACE "testing/" "" EXE ${EXE} ) + #message( "${TEST} --> ${EXE}" ) +- add_executable( ${EXE} ${TEST} ) ++ add_executable( ${EXE} EXCLUDE_FROM_ALL ${TEST} ) + target_link_libraries( ${EXE} tester lapacktest magma ) + list( APPEND testing ${EXE} ) + endforeach() +@@ -749,6 +750,7 @@ endif() + + set( CMAKE_RUNTIME_OUTPUT_DIRECTORY "${SPARSE_TEST_DIR}" ) + cmake_policy( SET CMP0037 OLD) ++set(sparse_testing_all "") + foreach( TEST ${sparse_testing_all} ) + string( REGEX REPLACE "\\.(cpp|f90|F90)" "" EXE ${TEST} ) + string( REGEX REPLACE "${SPARSE_TEST_DIR}/" "" EXE ${EXE} ) diff --git a/ports/magma/portfile.cmake b/ports/magma/portfile.cmake new file mode 100644 index 00000000000000..8220eb0ac6baab --- /dev/null +++ b/ports/magma/portfile.cmake @@ -0,0 +1,55 @@ + +set(opts "") +if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + set(opts + -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS:BOOL=ON + -DCMAKE_CUDA_SEPARABLE_COMPILATION:BOOL=OFF + ) +endif() + +vcpkg_download_distfile( + dist_file + URLS https://icl.utk.edu/projectsfiles/magma/downloads/magma-${VERSION}.tar.gz + FILENAME magma-${VERSION}.tar.gz + SHA512 4c2d7c472a69f3b0d491410900db1622478476673e4896dcec26060b839918cdf3cfdfb2680ecbb2042335e8bcc11c44244a82d11e15ba93c489ae5c66d7385a +) + +vcpkg_extract_source_archive( + src_path + ARCHIVE "${dist_file}" + PATCHES + disable-openmp-msvc.patch + no-tests.patch + clang-cuda.patch + fix-min-max.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH "${src_path}" + OPTIONS + -DMAGMA_ENABLE_CUDA=ON + -DMAGMA_ENABLE_HIP=OFF # HIP is backend and seems additive?! + -DUSE_FORTRAN=OFF + ${opts} +) + +vcpkg_cmake_install() + +vcpkg_fixup_pkgconfig() + +file(READ "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/magma.pc" contents) +string(REGEX REPLACE "Cflags: [^\n]+" "Cflags: -I\${includedir}" contents "${contents}") +file(WRITE "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/magma.pc" "${contents}") + +if(NOT VCPKG_BUILD_TYPE) + file(READ "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/magma.pc" contents) + string(REGEX REPLACE "Cflags: [^\n]+" "Cflags: -I\${includedir}" contents "${contents}") + file(WRITE "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/magma.pc" "${contents}") +endif() + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" +) + +vcpkg_install_copyright(FILE_LIST "${src_path}/COPYRIGHT") diff --git a/ports/magma/vcpkg.json b/ports/magma/vcpkg.json new file mode 100644 index 00000000000000..d7443df3a4889c --- /dev/null +++ b/ports/magma/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "magma", + "version": "2.8.0", + "port-version": 1, + "description": "Matrix Algebra on GPU and Multi-core Architectures (MAGMA) is a collection of next-generation linear algebra libraries for heterogeneous computing", + "homepage": "https://icl.utk.edu/magma/", + "license": null, + "dependencies": [ + "blas", + "cuda", + "lapack", + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/ports/magnum-plugins/portfile.cmake b/ports/magnum-plugins/portfile.cmake index 1cc3719d2d4610..03659c2557b6bb 100644 --- a/ports/magnum-plugins/portfile.cmake +++ b/ports/magnum-plugins/portfile.cmake @@ -53,10 +53,14 @@ endif() # Head only features set(ALL_SUPPORTED_FEATURES ${ALL_FEATURES}) if(NOT VCPKG_USE_HEAD_VERSION) - list(REMOVE_ITEM ALL_SUPPORTED_FEATURES cgltfimporter glslangshaderconverter - ktximageconverter ktximporter openexrimageconverter openexrimporter - spirvtoolsshaderconverter stbdxtimageconverter) - message(WARNING "Features cgltfimporter, glslangshaderconverter, ktximageconverter, ktximporter, openexrimageconverter, openexrimporter, spirvtoolsshaderconverter and stbdxtimageconverter are not available when building non-head version.") + set(head_only cgltfimporter glslangshaderconverter ktximageconverter ktximporter openexrimageconverter openexrimporter spirvtoolsshaderconverter stbdxtimageconverter) + foreach(_feature ${head_only}) + if("${_feature}" IN_LIST FEATURES) + list(JOIN head_only ", " features_list) + message(FATAL_ERROR "Features ${features_list} are not avaliable when building non-head version.") + endif() + endforeach() + list(REMOVE_ITEM ALL_SUPPORTED_FEATURES ${head_only}) endif() set(_COMPONENTS "") @@ -127,9 +131,15 @@ else() # # We delete the import libraries here to avoid the auto-magic linking # for plugins which are loaded at runtime. - if(WIN32) + if(VCPKG_TARGET_IS_WINDOWS) + set(VCPKG_POLICY_DLLS_WITHOUT_LIBS enabled) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/magnum") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/magnum-d") + file(GLOB maybe_empty "${CURRENT_PACKAGES_DIR}/lib/*") + if(maybe_empty STREQUAL "") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/") + endif() endif() endif() diff --git a/ports/magnum-plugins/vcpkg.json b/ports/magnum-plugins/vcpkg.json index 5daaf11f28e888..6fe7ded5225d9d 100644 --- a/ports/magnum-plugins/vcpkg.json +++ b/ports/magnum-plugins/vcpkg.json @@ -1,7 +1,7 @@ { "name": "magnum-plugins", "version-string": "2020.06", - "port-version": 11, + "port-version": 13, "description": "Plugins for magnum, C++11/C++14 graphics middleware for games and data visualization", "homepage": "https://magnum.graphics/", "license": null, @@ -20,11 +20,8 @@ } ], "default-features": [ - "cgltfimporter", "ddsimporter", "icoimporter", - "ktximageconverter", - "ktximporter", "miniexrimageconverter", "opengeximporter", "stanfordimporter", diff --git a/ports/magnum/006-fix-build.patch b/ports/magnum/006-fix-build.patch new file mode 100644 index 00000000000000..002b013f023130 --- /dev/null +++ b/ports/magnum/006-fix-build.patch @@ -0,0 +1,70 @@ +diff --git a/src/Magnum/Vk/Enums.cpp b/src/Magnum/Vk/Enums.cpp +index ad8b6d063..b7dffb74f 100644 +--- a/src/Magnum/Vk/Enums.cpp ++++ b/src/Magnum/Vk/Enums.cpp +@@ -36,17 +36,17 @@ namespace Magnum { namespace Vk { + + namespace { + +-constexpr VkPrimitiveTopology PrimitiveTopologyMapping[]{ ++constexpr UnsignedInt PrimitiveTopologyMapping[]{ + VK_PRIMITIVE_TOPOLOGY_POINT_LIST, + VK_PRIMITIVE_TOPOLOGY_LINE_LIST, +- VkPrimitiveTopology(~UnsignedInt{}), ++ ~UnsignedInt{}, + VK_PRIMITIVE_TOPOLOGY_LINE_STRIP, + VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST, + VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP, + VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN, +- VkPrimitiveTopology(~UnsignedInt{}), /* Instances */ +- VkPrimitiveTopology(~UnsignedInt{}), /* Faces */ +- VkPrimitiveTopology(~UnsignedInt{}) /* Edges */ ++ ~UnsignedInt{}, /* Instances */ ++ ~UnsignedInt{}, /* Faces */ ++ ~UnsignedInt{} /* Edges */ + }; + + constexpr VkIndexType IndexTypeMapping[]{ +@@ -94,12 +94,12 @@ constexpr VkSamplerMipmapMode SamplerMipmapModeMapping[]{ + VK_SAMPLER_MIPMAP_MODE_LINEAR + }; + +-constexpr VkSamplerAddressMode SamplerAddressModeMapping[]{ ++constexpr UnsignedInt SamplerAddressModeMapping[]{ + VK_SAMPLER_ADDRESS_MODE_REPEAT, + VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT, + VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE, + VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER, +- VkSamplerAddressMode(~UnsignedInt{}), ++ ~UnsignedInt{}, + }; + + } +@@ -119,10 +119,10 @@ VkPrimitiveTopology vkPrimitiveTopology(const Magnum::MeshPrimitive primitive) { + + CORRADE_ASSERT(UnsignedInt(primitive) - 1 < Containers::arraySize(PrimitiveTopologyMapping), + "Vk::vkPrimitiveTopology(): invalid primitive" << primitive, {}); +- const VkPrimitiveTopology out = PrimitiveTopologyMapping[UnsignedInt(primitive) - 1]; +- CORRADE_ASSERT(out != VkPrimitiveTopology(~UnsignedInt{}), ++ const UnsignedInt out = PrimitiveTopologyMapping[UnsignedInt(primitive) - 1]; ++ CORRADE_ASSERT(out != ~UnsignedInt{}, + "Vk::vkPrimitiveTopology(): unsupported primitive" << primitive, {}); +- return out; ++ return VkPrimitiveTopology(out); + } + + bool hasVkIndexType(const Magnum::MeshIndexType type) { +@@ -224,10 +224,10 @@ bool hasVkSamplerAddressMode(const Magnum::SamplerWrapping wrapping) { + VkSamplerAddressMode vkSamplerAddressMode(const Magnum::SamplerWrapping wrapping) { + CORRADE_ASSERT(UnsignedInt(wrapping) < Containers::arraySize(SamplerAddressModeMapping), + "Vk::vkSamplerAddressMode(): invalid wrapping" << wrapping, {}); +- const VkSamplerAddressMode out = SamplerAddressModeMapping[UnsignedInt(wrapping)]; +- CORRADE_ASSERT(out != VkSamplerAddressMode(~UnsignedInt{}), ++ const UnsignedInt out = SamplerAddressModeMapping[UnsignedInt(wrapping)]; ++ CORRADE_ASSERT(out != ~UnsignedInt{}, + "Vk::vkSamplerAddressMode(): unsupported wrapping" << wrapping, {}); +- return out; ++ return VkSamplerAddressMode(out); + } + + }} diff --git a/ports/magnum/portfile.cmake b/ports/magnum/portfile.cmake index 44b512d34e2b26..6a7079fb460310 100644 --- a/ports/magnum/portfile.cmake +++ b/ports/magnum/portfile.cmake @@ -9,48 +9,22 @@ vcpkg_from_github( 003-fix-FindGLFW.patch 004-fix-FindOpenAL.patch 005-fix-find-sdl2.patch + 006-fix-build.patch # From https://github.com/mosra/magnum/issues/642#issuecomment-2217261862 ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_PLUGINS_STATIC) -# Remove platform-specific feature that are not available -# on current target platform from all features. - -# For documentation on VCPKG_CMAKE_SYSTEM_NAME see -# https://github.com/microsoft/vcpkg/blob/master/docs/users/triplets.md#vcpkg_cmake_system_name - set(ALL_SUPPORTED_FEATURES ${ALL_FEATURES}) -# Windows Desktop -if(NOT "${VCPKG_CMAKE_SYSTEM_NAME}" STREQUAL "") - list(REMOVE_ITEM ALL_SUPPORTED_FEATURES wglcontext windowlesswglapplication) -endif() - -# Universal Windows Platform -if(NOT "${VCPKG_CMAKE_SYSTEM_NAME}" STREQUAL "WindowsStore") - # No UWP specific features -endif() - -# Mac OSX -if(NOT "${VCPKG_CMAKE_SYSTEM_NAME}" STREQUAL "Darwin") - list(REMOVE_ITEM ALL_SUPPORTED_FEATURES cglcontext windowlesscglapplication) -endif() - -# Linux -if(NOT "${VCPKG_CMAKE_SYSTEM_NAME}" STREQUAL "Linux") - list(REMOVE_ITEM ALL_SUPPORTED_FEATURES glxcontext windowlessglxapplication) -endif() - -# WebAssembly / Linux -if(NOT "${VCPKG_CMAKE_SYSTEM_NAME}" MATCHES "(Emscripten|Linux)") - list(REMOVE_ITEM ALL_SUPPORTED_FEATURES eglcontext windowlesseglapplication) -endif() # Head only features if(NOT VCPKG_USE_HEAD_VERSION) - list(REMOVE_ITEM ALL_SUPPORTED_FEATURES anyshaderconverter shadertools shaderconverter - vk-info) - message(WARNING "Features anyshaderconverter, shadertools, shaderconverter and vk-info are not avaliable when building non-head version.") + foreach(_feature anyshaderconverter shadertools shaderconverter vk-info) + if("${_feature}" IN_LIST FEATURES) + message(FATAL_ERROR "Features anyshaderconverter, shadertools, shaderconverter and vk-info are not avaliable when building non-head version.") + endif() + endforeach() + list(REMOVE_ITEM ALL_SUPPORTED_FEATURES anyshaderconverter shadertools shaderconverter vk-info) endif() set(_COMPONENTS "") @@ -97,9 +71,7 @@ set(_TOOLS imageconverter sceneconverter) if(VCPKG_USE_HEAD_VERSION) -list(APPEND _TOOLS - shaderconverter - vk-info) + list(APPEND _TOOLS shaderconverter vk-info) endif() foreach(_tool IN LISTS _TOOLS) if("${_tool}" IN_LIST FEATURES) @@ -147,7 +119,7 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(COPY ${LIB_TO_MOVE_DBG} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/magnum") else() - if(WIN32) + if(VCPKG_TARGET_IS_WINDOWS) file(GLOB_RECURSE LIB_TO_REMOVE "${CURRENT_PACKAGES_DIR}/lib/magnum/*") file(GLOB_RECURSE LIB_TO_KEEP "${CURRENT_PACKAGES_DIR}/lib/magnum/*Any*") if(LIB_TO_KEEP) @@ -157,24 +129,40 @@ else() file(REMOVE ${LIB_TO_REMOVE}) endif() - file(GLOB_RECURSE LIB_TO_REMOVE_DBG "${CURRENT_PACKAGES_DIR}/debug/lib/magnum-d/*") - file(GLOB_RECURSE LIB_TO_KEEP_DBG "${CURRENT_PACKAGES_DIR}/debug/lib/magnum-d/*Any*") + if (VCPKG_TARGET_IS_UWP) + set(debug_dir "magnum") + else() + set(debug_dir "magnum-d") + endif() + + file(GLOB_RECURSE LIB_TO_REMOVE_DBG "${CURRENT_PACKAGES_DIR}/debug/lib/${debug_dir}/*") + file(GLOB_RECURSE LIB_TO_KEEP_DBG "${CURRENT_PACKAGES_DIR}/debug/lib/${debug_dir}/*Any*") if(LIB_TO_KEEP_DBG) list(REMOVE_ITEM LIB_TO_REMOVE_DBG ${LIB_TO_KEEP_DBG}) endif() if(LIB_TO_REMOVE_DBG) file(REMOVE ${LIB_TO_REMOVE_DBG}) endif() - - # fonts and fontconverters don't have Any* plugins - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/magnum/fonts") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/magnum/fontconverters") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/magnum-d/fonts") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/magnum-d/fontconverters") + + # remove maybe empty dirs + foreach(subdir "fonts" "importers" "fontconverters" "imageconverters" "audioimporters") + file(GLOB maybe_empty "${CURRENT_PACKAGES_DIR}/lib/magnum/${subdir}/*") + if(maybe_empty STREQUAL "") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/magnum/${subdir}") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/${debug_dir}/${subdir}") + endif() + endforeach() + + file(GLOB maybe_empty "${CURRENT_PACKAGES_DIR}/lib/magnum/*") + if(maybe_empty STREQUAL "") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/magnum") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/${debug_dir}") + endif() + endif() file(COPY "${CMAKE_CURRENT_LIST_DIR}/magnumdeploy.ps1" DESTINATION "${CURRENT_PACKAGES_DIR}/bin/magnum") - file(COPY "${CMAKE_CURRENT_LIST_DIR}/magnumdeploy.ps1" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin/magnum-d") + file(COPY "${CMAKE_CURRENT_LIST_DIR}/magnumdeploy.ps1" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin/${debug_dir}") endif() file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/magnum/vcpkg.json b/ports/magnum/vcpkg.json index 04d5b3a9282a77..a6490bca7bd054 100644 --- a/ports/magnum/vcpkg.json +++ b/ports/magnum/vcpkg.json @@ -1,7 +1,7 @@ { "name": "magnum", "version-string": "2020.06", - "port-version": 14, + "port-version": 19, "description": "C++11/C++14 graphics middleware for games and data visualization", "homepage": "https://magnum.graphics/", "license": null, @@ -30,7 +30,6 @@ "anyimageimporter", "anysceneconverter", "anysceneimporter", - "anyshaderconverter", "debugtools", "gl", "meshtools", @@ -38,7 +37,6 @@ "scenegraph", "sdl2application", "shaders", - "shadertools", "text", "texturetools", "trade" @@ -61,6 +59,7 @@ "dependencies": [ { "name": "corrade", + "default-features": false, "features": [ "pluginmanager" ] @@ -142,6 +141,7 @@ }, "cglcontext": { "description": "CglContext library", + "supports": "osx", "dependencies": [ { "name": "magnum", @@ -157,6 +157,7 @@ }, "distancefieldconverter": { "description": "magnum-distancefieldconverter utility", + "supports": "!ios & !android", "dependencies": [ { "name": "magnum", @@ -171,6 +172,7 @@ }, "eglcontext": { "description": "EglContext library", + "supports": "!windows & !osx", "dependencies": [ { "name": "magnum", @@ -183,6 +185,7 @@ }, "fontconverter": { "description": "magnum-fontconverter utility", + "supports": "!ios & !android", "dependencies": [ { "name": "magnum", @@ -196,10 +199,12 @@ ] }, "gl": { - "description": "GL library" + "description": "GL library", + "supports": "!uwp" }, "gl-info": { "description": "gl-info utility", + "supports": "!ios", "dependencies": [ { "name": "magnum", @@ -218,6 +223,7 @@ }, "glxcontext": { "description": "GlxContext library", + "supports": "!windows & !osx", "dependencies": [ { "name": "magnum", @@ -231,6 +237,13 @@ "imageconverter": { "description": "magnum-imageconverter utility", "dependencies": [ + { + "name": "corrade", + "default-features": false, + "features": [ + "dynamic-pluginmanager" + ] + }, { "name": "magnum", "default-features": false, @@ -300,6 +313,7 @@ "dependencies": [ { "name": "corrade", + "default-features": false, "features": [ "testsuite" ] @@ -320,6 +334,7 @@ "name": "magnum", "default-features": false, "features": [ + "meshtools", "trade" ] } @@ -328,6 +343,13 @@ "sceneconverter": { "description": "magnum-sceneconverter utility", "dependencies": [ + { + "name": "corrade", + "default-features": false, + "features": [ + "dynamic-pluginmanager" + ] + }, { "name": "magnum", "default-features": false, @@ -379,6 +401,7 @@ "dependencies": [ { "name": "corrade", + "default-features": false, "features": [ "pluginmanager" ] @@ -431,6 +454,7 @@ "dependencies": [ { "name": "corrade", + "default-features": false, "features": [ "pluginmanager" ] @@ -469,6 +493,7 @@ }, "wglcontext": { "description": "WglContext library", + "supports": "windows & !uwp", "dependencies": [ { "name": "magnum", @@ -481,6 +506,7 @@ }, "windowlesscglapplication": { "description": "WindowlessCglApplication library", + "supports": "osx", "dependencies": [ { "name": "magnum", @@ -493,6 +519,7 @@ }, "windowlesseglapplication": { "description": "WindowlessEglApplication library", + "supports": "!windows & !osx & !ios", "dependencies": [ { "name": "magnum", @@ -505,6 +532,7 @@ }, "windowlessglxapplication": { "description": "WindowlessGlxApplication library", + "supports": "!windows & !osx & !ios", "dependencies": [ { "name": "magnum", @@ -517,6 +545,7 @@ }, "windowlesswglapplication": { "description": "WindowlessWglApplication library", + "supports": "windows & !uwp", "dependencies": [ { "name": "magnum", diff --git a/ports/mailio/portfile.cmake b/ports/mailio/portfile.cmake index 9171b35eae0449..24ae1c16d9e328 100644 --- a/ports/mailio/portfile.cmake +++ b/ports/mailio/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO karastojko/mailio - REF cc887a7808d9c55e07c8a7503c7ae2e2d7485120 # version_0-21-0 - SHA512 7125bfe4274e1e126e335b2e4b5743ef54d5dc0b6fd83f0c10e7578b57924d3e398af6b3865fdee3de587e2e2d7c33d95dbe017b1966649e68cf52f2dd268ee5 + REF "${VERSION}" + SHA512 f343ac56f4235bb4ab164630be78d1db112d5ad853dc9a41b55fee5b9755bc8215cc4a6e5d1dd65099b538d792e75d782932173533398d9e48b691a8e9f3182c HEAD_REF master ) @@ -11,6 +11,7 @@ vcpkg_cmake_configure( OPTIONS -DMAILIO_BUILD_DOCUMENTATION=OFF -DMAILIO_BUILD_EXAMPLES=OFF + -DMAILIO_BUILD_TESTS=OFF ) vcpkg_cmake_install() vcpkg_cmake_config_fixup( @@ -20,4 +21,5 @@ vcpkg_cmake_config_fixup( vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/mailio/vcpkg.json b/ports/mailio/vcpkg.json index c2f639f9e8c6d0..14ec9847728d76 100644 --- a/ports/mailio/vcpkg.json +++ b/ports/mailio/vcpkg.json @@ -1,7 +1,6 @@ { "name": "mailio", - "version": "0.21.0", - "port-version": 2, + "version": "0.24.0", "maintainers": "Tomislav Karastojković ", "description": "mailio is a cross platform C++ library for MIME format and SMTP, POP3 and IMAP protocols. It is based on the standard C++ 17 and Boost library.", "homepage": "https://github.com/karastojko/mailio", diff --git a/ports/manifold/portfile.cmake b/ports/manifold/portfile.cmake new file mode 100644 index 00000000000000..5091fe1dad8349 --- /dev/null +++ b/ports/manifold/portfile.cmake @@ -0,0 +1,27 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO elalish/manifold + REF v${VERSION} + SHA512 881d3b0e3ff03794ce66b09c4a7be675e5dcd5d5b269d62ad5c5de177e76a01460f6f0fb55a2973a92abda3bf32b8a08bafdff5c0b379ae095d9806eb5669022 +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DMANIFOLD_TEST=OFF + -DMANIFOLD_CROSS_SECTION=ON + -DMANIFOLD_CBIND=ON + -DMANIFOLD_PYBIND=OFF + -DMANIFOLD_JSBIND=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/manifold) +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" +) + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/manifold/usage b/ports/manifold/usage new file mode 100644 index 00000000000000..401910838ba742 --- /dev/null +++ b/ports/manifold/usage @@ -0,0 +1,4 @@ +manifold provides CMake targets: + + find_package(manifold CONFIG REQUIRED) + target_link_libraries(main PRIVATE manifold::manifold) diff --git a/ports/manifold/vcpkg.json b/ports/manifold/vcpkg.json new file mode 100644 index 00000000000000..b9a4ec2ec98f61 --- /dev/null +++ b/ports/manifold/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "manifold", + "version": "3.0.0", + "description": "Geometry library for topological robustness.", + "homepage": "https://github.com/elalish/manifold", + "license": "Apache-2.0", + "dependencies": [ + "clipper2", + "tbb", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/mapbox-polylabel/portfile.cmake b/ports/mapbox-polylabel/portfile.cmake index 8a981e3af536b9..c371022cf8035f 100644 --- a/ports/mapbox-polylabel/portfile.cmake +++ b/ports/mapbox-polylabel/portfile.cmake @@ -3,8 +3,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mapbox/polylabel - REF v1.1.0 - SHA512 597920397969a1ae12fc2ad2bdd8143f32f6fa0b27b46a5fb6d7315b8456bbcb335e52c36277b50e3daa4658a0f3826863871df4f4a7868e923899af5832f783 + REF "v${VERSION}" + SHA512 e739b0f9c293fd1fd50de56be0804b638ad4ca5ca2c6ee6272907cffc99e133f183f62dd75ca415983ebf9a03da07910b2fa5e8d18b606a6faf7b14baa930622 HEAD_REF master ) diff --git a/ports/mapbox-polylabel/vcpkg.json b/ports/mapbox-polylabel/vcpkg.json index 6b58ad14926f08..59e6722833ff30 100644 --- a/ports/mapbox-polylabel/vcpkg.json +++ b/ports/mapbox-polylabel/vcpkg.json @@ -1,6 +1,6 @@ { "name": "mapbox-polylabel", - "version-semver": "1.1.0", + "version-semver": "2.0.1", "description": "A fast algorithm for finding the pole of inaccessibility of a polygon (in JavaScript and C++)", "homepage": "https://github.com/mapbox/polylabel", "license": "ISC", diff --git a/ports/mapnik/fix-compatibility-with-boost-1.85.patch b/ports/mapnik/fix-compatibility-with-boost-1.85.patch new file mode 100644 index 00000000000000..0b418518651700 --- /dev/null +++ b/ports/mapnik/fix-compatibility-with-boost-1.85.patch @@ -0,0 +1,15 @@ + include/mapnik/filesystem.hpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/include/mapnik/filesystem.hpp b/include/mapnik/filesystem.hpp +index 98ec5f8..1f57a3c 100644 +--- a/include/mapnik/filesystem.hpp ++++ b/include/mapnik/filesystem.hpp +@@ -26,6 +26,7 @@ + #ifdef USE_BOOST_FILESYSTEM + #include // for absolute, exists, etc + #include // for path, operator/ ++#include // for directory_iterator + #else + #include + #endif diff --git a/ports/mapnik/missing-include.patch b/ports/mapnik/missing-include.patch deleted file mode 100644 index 49b80d400611cf..00000000000000 --- a/ports/mapnik/missing-include.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/plugins/input/csv/csv_utils.cpp b/plugins/input/csv/csv_utils.cpp -index 382b1ce..c0256de 100644 ---- a/plugins/input/csv/csv_utils.cpp -+++ b/plugins/input/csv/csv_utils.cpp -@@ -40,6 +40,8 @@ - #include - #include - -+#include -+ - namespace csv_utils { - namespace detail { - diff --git a/ports/mapnik/portfile.cmake b/ports/mapnik/portfile.cmake index 8ff420149a1cc0..2743fdfec6abef 100644 --- a/ports/mapnik/portfile.cmake +++ b/ports/mapnik/portfile.cmake @@ -3,11 +3,10 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mapnik/mapnik - REF 123232ffde565af38afd06fe3e8edd9bfdce93bc - SHA512 b940312688fcece8bb52b8b687fcc60eaac159d4737966eacacbafbde6fbd3245f9acf170d55a664a781908282cb21347bd4b79bd08b8ab2461270ef453b10c5 + REF 283e2762d4c2175aa30f4f18ca383d1f69dcfaf6 + SHA512 8ce914249c54d7d30e53fcccb7400fd98696390e53d18d97848b46ff99945bb76772dc8d3e7d37aad87db3ea67c6b00fd6bea04d5bc6ea09449d429caccea339 HEAD_REF master - PATCHES - missing-include.patch + PATCHES fix-compatibility-with-boost-1.85.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS diff --git a/ports/mapnik/vcpkg.json b/ports/mapnik/vcpkg.json index f7c80e196bd48b..969394eab687e7 100644 --- a/ports/mapnik/vcpkg.json +++ b/ports/mapnik/vcpkg.json @@ -1,7 +1,6 @@ { "name": "mapnik", - "version-date": "2023-06-12", - "port-version": 2, + "version-date": "2024-04-18", "description": "Mapnik is an open source toolkit for developing mapping applications.", "homepage": "https://github.com/mapnik/mapnik", "license": "LGPL-2.1-only", @@ -10,6 +9,7 @@ "boost-assign", "boost-bimap", "boost-filesystem", + "boost-format", "boost-geometry", "boost-gil", "boost-interprocess", @@ -124,7 +124,10 @@ ] }, "input-raster": { - "description": "RASTER input plugin" + "description": "RASTER input plugin", + "dependencies": [ + "boost-format" + ] }, "input-shape": { "description": "SHAPE input plugin" diff --git a/ports/marble/cpack.patch b/ports/marble/cpack.patch new file mode 100644 index 00000000000000..e3f7baa63a282a --- /dev/null +++ b/ports/marble/cpack.patch @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 307735839..bfdb50d2f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -356,7 +356,6 @@ add_subdirectory(doc) + add_subdirectory(src) + add_subdirectory(data) + +-include(DistTarget) + + add_subdirectory(tests) + diff --git a/ports/marble/portfile.cmake b/ports/marble/portfile.cmake index b2ad99a5a51093..be0297b1779fe8 100644 --- a/ports/marble/portfile.cmake +++ b/ports/marble/portfile.cmake @@ -2,11 +2,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KDE/marble - REF 7def3b68fd5de9b7f0734410a9f955bd1082097b #v22.04.0 - SHA512 2977a051a7f91603dea5960ddf0fed2fd5a991d554bce899ce4d8a0d3648546ff2c4c75bebcd3704d07d875b656ab7dc64c567b1bc9f6975745be327375faa90 + REF "v${VERSION}" + SHA512 06d2c9f4c85a5ab66825701fa949f35756ff2f09acc65c2ac5c367bd245ee1b674214070a01f828124d8add3f9cdd06e68e0e93091e47501210c5686ae68f29f HEAD_REF master PATCHES qtfix.patch + protobuf.patch + cpack.patch ) vcpkg_cmake_configure( @@ -36,7 +38,7 @@ file(COPY ${MKSPECS} DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}/mkspecs" file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/plugins" "${CURRENT_PACKAGES_DIR}/debug/plugins" "${CURRENT_PACKAGES_DIR}/data" "${CURRENT_PACKAGES_DIR}/debug/data" - "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/mkspecs" "${CURRENT_PACKAGES_DIR}/debug/mkspecs" "${CURRENT_PACKAGES_DIR}/debug/share" "${CURRENT_PACKAGES_DIR}/debug/lib/plugins" "${CURRENT_PACKAGES_DIR}/lib/plugins" @@ -44,15 +46,17 @@ file(REMOVE_RECURSE ) file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/bin") -file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/bin") file(RENAME "${CURRENT_PACKAGES_DIR}/astro.dll" "${CURRENT_PACKAGES_DIR}/bin/astro.dll") file(RENAME "${CURRENT_PACKAGES_DIR}/marbledeclarative.dll" "${CURRENT_PACKAGES_DIR}/bin/marbledeclarative.dll") file(RENAME "${CURRENT_PACKAGES_DIR}/marblewidget-qt5.dll" "${CURRENT_PACKAGES_DIR}/bin/marblewidget-qt5.dll") file(RENAME "${CURRENT_PACKAGES_DIR}/marble-qt.exe" "${CURRENT_PACKAGES_DIR}/tools/marble/marble-qt.exe") -file(RENAME "${CURRENT_PACKAGES_DIR}/debug/astrod.dll" "${CURRENT_PACKAGES_DIR}/debug/bin/astrod.dll") -file(RENAME "${CURRENT_PACKAGES_DIR}/debug/marbledeclaratived.dll" "${CURRENT_PACKAGES_DIR}/debug/bin/marbledeclaratived.dll") -file(RENAME "${CURRENT_PACKAGES_DIR}/debug/marblewidget-qt5d.dll" "${CURRENT_PACKAGES_DIR}/debug/bin/marblewidget-qt5d.dll") +if(NOT VCPKG_BUILD_TYPE) + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/bin") + file(RENAME "${CURRENT_PACKAGES_DIR}/debug/astrod.dll" "${CURRENT_PACKAGES_DIR}/debug/bin/astrod.dll") + file(RENAME "${CURRENT_PACKAGES_DIR}/debug/marbledeclaratived.dll" "${CURRENT_PACKAGES_DIR}/debug/bin/marbledeclaratived.dll") + file(RENAME "${CURRENT_PACKAGES_DIR}/debug/marblewidget-qt5d.dll" "${CURRENT_PACKAGES_DIR}/debug/bin/marblewidget-qt5d.dll") +endif() vcpkg_copy_pdbs() diff --git a/ports/marble/protobuf.patch b/ports/marble/protobuf.patch new file mode 100644 index 00000000000000..0df882a7a073f7 --- /dev/null +++ b/ports/marble/protobuf.patch @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a8f024c2a..307735839 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -109,6 +109,7 @@ endif() + # Find Qt dependencies + + find_package(Protobuf) ++set(Protobuf_FOUND 0) + set_package_properties(Protobuf PROPERTIES TYPE OPTIONAL PURPOSE "Parsing of OSM PBF files.") + + if(ANDROID) diff --git a/ports/marble/vcpkg.json b/ports/marble/vcpkg.json index 730236632c3c3b..0b28d2e6bfb293 100644 --- a/ports/marble/vcpkg.json +++ b/ports/marble/vcpkg.json @@ -1,7 +1,7 @@ { "name": "marble", - "version-string": "22.04.0", - "port-version": 2, + "version-string": "24.08.2", + "port-version": 1, "description": "Marble KDE library", "homepage": "https://marble.kde.org", "license": "LGPL-2.1-or-later", diff --git a/ports/marchingcubecpp/portfile.cmake b/ports/marchingcubecpp/portfile.cmake new file mode 100644 index 00000000000000..bb937964360e1a --- /dev/null +++ b/ports/marchingcubecpp/portfile.cmake @@ -0,0 +1,20 @@ +# header-only library +set(VCPKG_BUILD_TYPE release) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO aparis69/MarchingCubeCpp + REF f03a1b3ec29b1d7d865691ca8aea4f1eb2c2873d + SHA512 879204bbfe6a9ad6a6b050b2ba5126884e0b7d01c883d7319dc1deed0c3f6d1658493ba4b39bfcce8c9643739e812d2d69cdbd9be92cd728e0fcccfeb64f898e +) + +# Install source files +file(INSTALL + "${SOURCE_PATH}/MC.h" + "${SOURCE_PATH}/noise.h" + DESTINATION + "${CURRENT_PACKAGES_DIR}/include/${PORT}" +) + +# Install license +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/README.md") diff --git a/ports/marchingcubecpp/vcpkg.json b/ports/marchingcubecpp/vcpkg.json new file mode 100644 index 00000000000000..2223d070297f30 --- /dev/null +++ b/ports/marchingcubecpp/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "marchingcubecpp", + "version-date": "2023-09-11", + "description": "Marching cube implementation.", + "homepage": "https://github.com/aparis69/MarchingCubeCpp", + "license": "MIT" +} diff --git a/ports/mariadb-connector-cpp/fix-carray.diff b/ports/mariadb-connector-cpp/fix-carray.diff new file mode 100644 index 00000000000000..a4918e2a935b2f --- /dev/null +++ b/ports/mariadb-connector-cpp/fix-carray.diff @@ -0,0 +1,12 @@ +diff --git a/include/conncpp/CArray.hpp b/include/conncpp/CArray.hpp +index f3e4634..e0f62eb 100644 +--- a/include/conncpp/CArray.hpp ++++ b/include/conncpp/CArray.hpp +@@ -24,6 +24,7 @@ + #include "buildconf.hpp" + #include + #include ++#include + + + namespace sql diff --git a/ports/mariadb-connector-cpp/install.diff b/ports/mariadb-connector-cpp/install.diff new file mode 100644 index 00000000000000..f9ff6158e97660 --- /dev/null +++ b/ports/mariadb-connector-cpp/install.diff @@ -0,0 +1,53 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5a10e1e..4a4732b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -690,14 +690,16 @@ IF(MINGW) + ENDIF() + + INCLUDE(symlink) ++if(NOT BUILD_SHARED_LIBS) + CREATE_SYMLINK(lib${LIBRARY_NAME}${CMAKE_STATIC_LIBRARY_SUFFIX} ${STATIC_LIBRARY_NAME} ${INSTALL_LIBDIR}) ++endif() + + ADD_DEPENDENCIES(${LIBRARY_NAME} DEPENDENCIES_FOR_PACKAGE) + + ########## Packaging ########## + + # MSI +-IF(WIN32) ++IF(0) + IF(WITH_MSI) + ADD_CUSTOM_COMMAND(TARGET ${LIBRARY_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} ARGS -DDRIVER_LIB_DIR=$ +@@ -714,13 +716,30 @@ ELSE() + #MESSAGE(STATUS "Configuring to generate PKG package") + #ADD_SUBDIRECTORY(osxinstall) + ENDIF() ++ if(BUILD_SHARED_LIBS) ++ set_target_properties(${STATIC_LIBRARY_NAME} PROPERTIES EXCLUDE_FROM_ALL 1) ++ target_include_directories(${LIBRARY_NAME} INTERFACE $) + INSTALL(TARGETS ${LIBRARY_NAME} ++ EXPORT unofficial-mariadb-connector-cpp ++ RUNTIME DESTINATION ${INSTALL_BINDIR} + LIBRARY DESTINATION ${INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${INSTALL_LIBDIR} + COMPONENT SharedLibraries) ++ else() ++ set_target_properties(${LIBRARY_NAME} PROPERTIES EXCLUDE_FROM_ALL 1) ++ set_target_properties(${STATIC_LIBRARY_NAME} PROPERTIES EXPORT_NAME ${LIBRARY_NAME}) ++ target_include_directories(${STATIC_LIBRARY_NAME} INTERFACE $) + INSTALL(TARGETS + ${STATIC_LIBRARY_NAME} ++ EXPORT unofficial-mariadb-connector-cpp + ARCHIVE DESTINATION ${INSTALL_LIBDIR} + COMPONENT Development) ++ endif() ++ install(EXPORT unofficial-mariadb-connector-cpp ++ DESTINATION share/unofficial-mariadb-connector-cpp ++ NAMESPACE unofficial::mariadb-connector-cpp:: ++ FILE unofficial-mariadb-connector-cpp-targets.cmake ++ ) + + MESSAGE(STATUS "Documentation installed to ${INSTALL_DOCDIR}") + MESSAGE(STATUS "License file installed to ${INSTALL_LICENSEDIR}") diff --git a/ports/mariadb-connector-cpp/libmariadb.diff b/ports/mariadb-connector-cpp/libmariadb.diff new file mode 100644 index 00000000000000..7e494d22b76428 --- /dev/null +++ b/ports/mariadb-connector-cpp/libmariadb.diff @@ -0,0 +1,25 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index db28fd9..1692f72 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -545,7 +545,11 @@ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/src/maconncpp.def.in + ${CMAKE_CURRENT_SOURCE_DIR}/src/maconncpp.def) + + # Dynamic linking is default on non-Windows +-IF(MARIADB_LINK_DYNAMIC) ++IF(1) ++ FIND_PACKAGE(unofficial-libmariadb CONFIG REQUIRED) ++ SET(MARIADB_CLIENT_TARGET_NAME unofficial::libmariadb) ++ ADD_LIBRARY(mariadbclient ALIAS unofficial::libmariadb) ++ELSEIF(MARIADB_LINK_DYNAMIC) + IF(USE_SYSTEM_INSTALLED_LIB) + IF(MINGW) + # I guess -l can be removed here. Also, for build with c/c as submodule this will have to me moved on top level out of this IF's +@@ -601,6 +605,7 @@ ENDIF() + + + ADD_LIBRARY(${LIBRARY_NAME}_obj OBJECT ${MACPP_SOURCES}) ++TARGET_LINK_LIBRARIES(${LIBRARY_NAME}_obj PRIVATE unofficial::libmariadb) + IF(UNIX) + SET_TARGET_PROPERTIES(${LIBRARY_NAME}_obj PROPERTIES COMPILE_FLAGS "${CMAKE_SHARED_LIBRARY_C_FLAGS}") + ENDIF() diff --git a/ports/mariadb-connector-cpp/mingw.diff b/ports/mariadb-connector-cpp/mingw.diff new file mode 100644 index 00000000000000..4bd56bc75f4bde --- /dev/null +++ b/ports/mariadb-connector-cpp/mingw.diff @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ffa175a..82be8d1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -428,7 +428,7 @@ IF(WIN32) + ENDIF() + ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS -DWIN32_LEAN_AND_MEAN) + SET(INSTALL_PLUGINDIR "${MARIADB_DEFAULT_PLUGINS_SUBDIR}") +- SET(PLATFORM_DEPENDENCIES ${PLATFORM_DEPENDENCIES} version.lib) ++ SET(PLATFORM_DEPENDENCIES ${PLATFORM_DEPENDENCIES} version) + ENDIF() + + ### Build options, initial settings and platform defaults diff --git a/ports/mariadb-connector-cpp/portfile.cmake b/ports/mariadb-connector-cpp/portfile.cmake new file mode 100644 index 00000000000000..7094c815b5b900 --- /dev/null +++ b/ports/mariadb-connector-cpp/portfile.cmake @@ -0,0 +1,36 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO mariadb-corporation/mariadb-connector-cpp + REF ${VERSION} + HEAD_REF master + SHA512 90ce780e19babda02608134c99e8c0e7601a41ee5531097735beb54ec94c2dd38ecf4f457e9cac04831d7e886fe7c7b7a6d9fe799bf71d52ba168158ec36dc67 + PATCHES + fix-carray.diff + libmariadb.diff + mingw.diff + install.diff +) + + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + DISABLE_PARALLEL_CONFIGURE + OPTIONS + -DINSTALL_LIBDIR=lib + -DUSE_SYSTEM_INSTALLED_LIB=ON + -DWITH_MSI=OFF + -DWITH_UNIT_TESTS=OFF +) + +vcpkg_cmake_install() + +file(INSTALL "${CURRENT_PORT_DIR}/unofficial-${PORT}-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/unofficial-${PORT}") +vcpkg_cmake_config_fixup(PACKAGE_NAME "unofficial-${PORT}") + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/share/doc" +) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/mariadb-connector-cpp/unofficial-mariadb-connector-cpp-config.cmake b/ports/mariadb-connector-cpp/unofficial-mariadb-connector-cpp-config.cmake new file mode 100644 index 00000000000000..c09ab8776a02f1 --- /dev/null +++ b/ports/mariadb-connector-cpp/unofficial-mariadb-connector-cpp-config.cmake @@ -0,0 +1,3 @@ +include(CMakeFindDependencyMacro) +find_dependency(unofficial-libmariadb CONFIG) +include("${CMAKE_CURRENT_LIST_DIR}/unofficial-mariadb-connector-cpp-targets.cmake") diff --git a/ports/mariadb-connector-cpp/vcpkg.json b/ports/mariadb-connector-cpp/vcpkg.json new file mode 100644 index 00000000000000..0728d058b7135e --- /dev/null +++ b/ports/mariadb-connector-cpp/vcpkg.json @@ -0,0 +1,21 @@ +{ + "name": "mariadb-connector-cpp", + "version": "1.1.5", + "description": "Connector/c++ for MariaDB.", + "homepage": "https://mariadb.com/docs/appdev/connector-cpp/", + "license": "LGPL-2.1-or-later", + "dependencies": [ + { + "name": "libmariadb", + "default-features": false + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/materialx/portfile.cmake b/ports/materialx/portfile.cmake index da56e07be004d4..71d4238672aabf 100644 --- a/ports/materialx/portfile.cmake +++ b/ports/materialx/portfile.cmake @@ -1,25 +1,32 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO AcademySoftwareFoundation/MaterialX - REF b1ba83b312576fc58f02a6a7db40b18ddbe4f87f # 1.38.4 - SHA512 3988c42d487e391f9f0f3ab5f34eaa26c7f450079695d96954b871e078eecfe692daa9917279560ba3f10bf771685df3da6e26273d575a23a11c3d17fb897c62 + REF "v${VERSION}" + SHA512 ca743e619f51bddd67419c79a31e9fb92dd7883e8c182897c1d8cea2e5dc51cddf13ac8cc798cfa0f022dacf4fd77881aefc24f3184f8b7273651ba55c7df400 HEAD_REF main ) +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + glsl-generator MATERIALX_BUILD_GEN_GLSL + mdl-generator MATERIALX_BUILD_GEN_MDL + osl-generator MATERIALX_BUILD_GEN_OSL + render MATERIALX_BUILD_RENDER +) +if ((VCPKG_TARGET_IS_ANDROID OR VCPKG_TARGET_IS_LINUX) AND MATERIALX_BUILD_RENDER) + message(WARNING "${PORT} currently requires the following libraries from the system package manager:\n libx11-dev\n\nThese can be installed on Ubuntu systems via apt-get install libx11-dev.") +endif() + string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" OPTION_BUILD_SHARED_LIB) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - OPTIONS + OPTIONS ${FEATURE_OPTIONS} "-DMATERIALX_BUILD_SHARED_LIBS:BOOL=${OPTION_BUILD_SHARED_LIB}" "-DMATERIALX_BUILD_JS:BOOL=NO" "-DMATERIALX_BUILD_PYTHON:BOOL=NO" "-DMATERIALX_BUILD_VIEWER:BOOL=NO" "-DMATERIALX_BUILD_DOCS:BOOL=NO" - "-DMATERIALX_BUILD_GEN_GLSL:BOOL=NO" - "-DMATERIALX_BUILD_GEN_OSL:BOOL=NO" - "-DMATERIALX_BUILD_GEN_MDL:BOOL=NO" - "-DMATERIALX_BUILD_RENDER:BOOL=NO" "-DMATERIALX_BUILD_OIIO:BOOL=NO" "-DMATERIALX_BUILD_TESTS:BOOL=NO" "-DMATERIALX_PYTHON_LTO:BOOL=NO" @@ -44,6 +51,14 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/LICENSE" "${CURRENT_PACKAGES_DIR}/debug/README.md" "${CURRENT_PACKAGES_DIR}/debug/THIRD-PARTY.md" - "${CURRENT_PACKAGES_DIR}/debug/include") + "${CURRENT_PACKAGES_DIR}/debug/include" + + # MaterialXGenShader explicitely install resources + "${CURRENT_PACKAGES_DIR}/include/MaterialXRender/External/OpenImageIO" + + # Based on how OSL does it, it could be that those `.mdl` source would be better located inside `libraries/pbrlib/genmdl/**` + # But it seems that they are instead installed into `libraries/mdl` + "${CURRENT_PACKAGES_DIR}/include/MaterialXGenMdl/mdl" +) -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/materialx/vcpkg.json b/ports/materialx/vcpkg.json index 60fc20236cf118..37fad382082cc4 100644 --- a/ports/materialx/vcpkg.json +++ b/ports/materialx/vcpkg.json @@ -1,6 +1,7 @@ { "name": "materialx", - "version": "1.38.4", + "version": "1.39.1", + "port-version": 2, "description": "MaterialX is an open standard for the exchange of rich material and look-development content across applications and renderers.", "homepage": "https://www.materialx.org/", "license": "Apache-2.0", @@ -14,5 +15,19 @@ "name": "vcpkg-cmake-config", "host": true } - ] + ], + "features": { + "glsl-generator": { + "description": "Build the GLSL shader generator back-end." + }, + "mdl-generator": { + "description": "Build the MDL shader generator back-end." + }, + "osl-generator": { + "description": "Build the OSL shader generator back-end." + }, + "render": { + "description": "Build the MaterialX Render library." + } + } } diff --git a/ports/mathgl/portfile.cmake b/ports/mathgl/portfile.cmake index 6eaf3884ce8273..df0ad2b5e50490 100644 --- a/ports/mathgl/portfile.cmake +++ b/ports/mathgl/portfile.cmake @@ -102,8 +102,8 @@ list(REMOVE_DUPLICATES tools) vcpkg_copy_tools(TOOL_NAMES ${tools} AUTO_CLEAN) vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/mgl2/config.h" "#define MGL_INSTALL_DIR \"${CURRENT_PACKAGES_DIR}\"" "") -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/mgl2/config.h" "#define MGL_FONT_PATH\t\"${CURRENT_PACKAGES_DIR}/fonts\"" "") # there is no fonts folder -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/mgl2/config.h" "#define MGL_FONT_PATH\t\"${CURRENT_PACKAGES_DIR}/share/mathgl/fonts\"" "") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/mgl2/config.h" "#define MGL_FONT_PATH\t\"${CURRENT_PACKAGES_DIR}/fonts\"" "" IGNORE_UNCHANGED) # there is no fonts folder +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/mgl2/config.h" "#define MGL_FONT_PATH\t\"${CURRENT_PACKAGES_DIR}/share/mathgl/fonts\"" "" IGNORE_UNCHANGED) file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/mathgl/vcpkg.json b/ports/mathgl/vcpkg.json index fd235b0b9edfc5..df76d14e608055 100644 --- a/ports/mathgl/vcpkg.json +++ b/ports/mathgl/vcpkg.json @@ -1,10 +1,10 @@ { "name": "mathgl", "version": "8.0.1", - "port-version": 5, + "port-version": 7, "description": "MathGL is a free library of fast C++ routines for the plotting of the data varied in one or more dimensions", "license": "GPL-3.0-only", - "supports": "!uwp & !xbox", + "supports": "!uwp & !xbox & !android", "dependencies": [ "getopt", { diff --git a/ports/mathter/portfile.cmake b/ports/mathter/portfile.cmake new file mode 100644 index 00000000000000..dbd175aa29c0db --- /dev/null +++ b/ports/mathter/portfile.cmake @@ -0,0 +1,26 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO petiaccja/Mathter + REF "v${VERSION}" + SHA512 da4fc266a8e3bdbe388e85e5f65e7a8b54fe65264175f5348f1fbb1a5bfbcf1b2ddf4ffaecd4a1f0ac22e78fdc665a52f4929a872592ce20ce69112187d6a6e0 + HEAD_REF master +) + +set(VCPKG_BUILD_TYPE release) # header-only port + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DMATHTER_BUILD_TESTS:BOOL=OFF + -DMATHTER_BUILD_BENCHMARKS:BOOL=OFF + -DMATHTER_VERSION:STRING=${VERSION} + -DMATHTER_CMAKE_INSTALL_DIR:STRING=share/${PORT} + -DMATHTER_ENABLE_SIMD:BOOL=ON +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENCE.md") +configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" COPYONLY) diff --git a/ports/mathter/usage b/ports/mathter/usage new file mode 100644 index 00000000000000..7e24cde00d3a41 --- /dev/null +++ b/ports/mathter/usage @@ -0,0 +1,4 @@ +mathter provides CMake targets: + + find_package(Mathter CONFIG REQUIRED) + target_link_libraries(TestMathter PRIVATE Mathter::Mathter) diff --git a/ports/mathter/vcpkg.json b/ports/mathter/vcpkg.json new file mode 100644 index 00000000000000..a63ee39acd82ea --- /dev/null +++ b/ports/mathter/vcpkg.json @@ -0,0 +1,21 @@ +{ + "name": "mathter", + "version": "2.0.0", + "description": "A flexible and fast matrix, transform, and geometry library.", + "homepage": "https://github.com/petiaccja/Mathter", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + { + "name": "xsimd", + "version>=": "13.0.0" + } + ] +} diff --git a/ports/matio/portfile.cmake b/ports/matio/portfile.cmake index 9d9bd70db7de5c..e34920220a3166 100644 --- a/ports/matio/portfile.cmake +++ b/ports/matio/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO tbeu/matio - REF e9e063e08ef2a27fcc22b1e526258fea5a5de329 # v1.5.23 - SHA512 78b13f4796870158f5cf2b8234c0ab6dc8b449cba49608ce40c51a3f91994c33c29b8a6de1ceed94a81fc7faa798d8c3a45a275f3a3abba70a0cd7be731e1d9c + REF "v${VERSION}" + SHA512 3ede0ce0c328fc79bff75933368d8ec9eea1d8cb28ea32a41bedb3f184e1c3362bb37bfb582838bc954ab0fff8c9dfd5a1e86831e657c06c2b2bd9d1e47020ff HEAD_REF master PATCHES fix-dependencies.patch ) @@ -11,10 +11,10 @@ string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - hdf5 MATIO_WITH_HDF5 + mat73 MATIO_WITH_HDF5 + mat73 MATIO_MAT73 zlib MATIO_WITH_ZLIB extended-sparse MATIO_EXTENDED_SPARSE - mat73 MATIO_MAT73 pic MATIO_PIC ) diff --git a/ports/matio/vcpkg.json b/ports/matio/vcpkg.json index 5e6aa4d8ce3abb..e79f55724982a7 100644 --- a/ports/matio/vcpkg.json +++ b/ports/matio/vcpkg.json @@ -1,7 +1,7 @@ { "name": "matio", - "version": "1.5.23", - "port-version": 3, + "version": "1.5.27", + "port-version": 1, "description": "MATLAB MAT File I/O Library", "homepage": "https://github.com/tbeu/matio", "license": "BSD-2-Clause", @@ -12,15 +12,15 @@ } ], "default-features": [ - "hdf5", + "mat73", "zlib" ], "features": { "extended-sparse": { "description": "Enable extended sparse matrix data types not supported in MATLAB" }, - "hdf5": { - "description": "Check for HDF5 library", + "mat73": { + "description": "Enable support for version 7.3 MAT files using the HDF5 library", "dependencies": [ { "name": "hdf5", @@ -35,18 +35,6 @@ } ] }, - "mat73": { - "description": "Enable support for version 7.3 MAT files", - "dependencies": [ - { - "name": "matio", - "default-features": false, - "features": [ - "hdf5" - ] - } - ] - }, "pic": { "description": "Enable position-independent code (PIC), i.e., compilation with the -fPIC flag" }, diff --git a/ports/matplotplusplus/fix-dependencies.patch b/ports/matplotplusplus/fix-dependencies.patch index 46be79a615f7e7..71fcad78692c57 100644 --- a/ports/matplotplusplus/fix-dependencies.patch +++ b/ports/matplotplusplus/fix-dependencies.patch @@ -1,5 +1,5 @@ diff --git a/Matplot++Config.cmake.in b/Matplot++Config.cmake.in -index fc9ceca..1601015 100644 +index 5c402ad..1601015 100644 --- a/Matplot++Config.cmake.in +++ b/Matplot++Config.cmake.in @@ -1,4 +1,5 @@ @@ -8,7 +8,7 @@ index fc9ceca..1601015 100644 # How this Matplot++ installation was built set(MATPLOT_BUILT_SHARED "@MATPLOTPP_BUILD_SHARED_LIBS@") -@@ -10,12 +11,44 @@ if (NOT CMAKE_CXX_COMPILER_ID STREQUAL MATPLOT_BUILT_CXX_COMPILER_ID) +@@ -10,16 +11,44 @@ if (NOT CMAKE_CXX_COMPILER_ID STREQUAL MATPLOT_BUILT_CXX_COMPILER_ID) message(WARNING "This installation of Matplot++ was built with ${MATPLOT_BUILT_CXX_COMPILER_ID}.") endif() @@ -51,12 +51,16 @@ index fc9ceca..1601015 100644 - include(CMakeFindDependencyMacro) list(APPEND CMAKE_MODULE_PATH ${MATPLOT_CONFIG_INSTALL_DIR}) list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}") -- find_dependency(Filesystem COMPONENTS Experimental Final) +- # OpenGL backend +- if (@MATPLOTPP_BUILD_EXPERIMENTAL_OPENGL_BACKEND@) +- find_dependency(glad) +- find_dependency(glfw3) +- endif() list(POP_BACK CMAKE_MODULE_PATH) endif() diff --git a/source/3rd_party/CMakeLists.txt b/source/3rd_party/CMakeLists.txt -index b5656e1..7ff4046 100644 +index b5656e1..7c2d1f3 100644 --- a/source/3rd_party/CMakeLists.txt +++ b/source/3rd_party/CMakeLists.txt @@ -1,6 +1,7 @@ @@ -67,166 +71,121 @@ index b5656e1..7ff4046 100644 if(WITH_SYSTEM_NODESOUP) find_path(NODESOUP_INCLUDE_DIR nodesoup.hpp REQUIRED) find_library(NODESOUP_LIB nodesoup REQUIRED) -@@ -47,6 +48,7 @@ if(MASTER_PROJECT AND NOT BUILD_SHARED_LIBS) +@@ -46,7 +47,7 @@ if(MASTER_PROJECT AND NOT BUILD_SHARED_LIBS) + EXPORT Matplot++Targets ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/Matplot++) endif() - +- +endif() ####################################################### ### CImg ### -@@ -69,57 +71,69 @@ find_package(PkgConfig) +@@ -69,57 +70,52 @@ find_package(PkgConfig) # Lots of optional packages are not a good idea in general. # It makes the library much less "packagable" (https://youtu.be/sBP17HQAQjk) # and much more difficult to make sure it works on multiple OSs -find_package(JPEG) -if(JPEG_FOUND) -+ -+if (WITH_JPEG) -+find_package(JPEG REQUIRED) -+if(1) ++if(WITH_JPEG) ++ find_package(JPEG REQUIRED) target_compile_definitions(cimg INTERFACE cimg_use_jpeg) target_link_libraries(cimg INTERFACE ${JPEG_LIBRARIES}) target_include_directories(cimg INTERFACE ${JPEG_INCLUDE_DIRS}) endif() -+endif() -find_package(TIFF) -if(TIFF_FOUND) -+if (WITH_TIFF) -+find_package(TIFF REQUIRED) -+if(1) ++if(WITH_TIFF) ++ find_package(TIFF REQUIRED) target_compile_definitions(cimg INTERFACE cimg_use_tiff) target_link_libraries(cimg INTERFACE ${TIFF_LIBRARIES}) target_include_directories(cimg INTERFACE ${TIFF_INCLUDE_DIRS}) endif() -+endif() -find_package(ZLIB) -if(ZLIB_FOUND) - find_package(PNG) - if (PNG_FOUND) -+if (WITH_ZLIB) -+find_package(ZLIB REQUIRED) -+if(1) -+ find_package(libpng CONFIG REQUIRED) -+ if (1) - target_compile_definitions(cimg INTERFACE cimg_use_zlib cimg_use_png) +- target_compile_definitions(cimg INTERFACE cimg_use_zlib cimg_use_png) - target_include_directories(cimg INTERFACE ${ZLIB_INCLUDE_DIRS} ${PNG_INCLUDE_DIRS}) - target_link_libraries(cimg INTERFACE ${ZLIB_LIBRARIES} ${PNG_LIBRARIES}) -+ target_link_libraries(cimg INTERFACE ZLIB::ZLIB png) - endif () +- endif () ++if(WITH_ZLIB) ++ find_package(ZLIB REQUIRED) ++ find_package(libpng CONFIG REQUIRED) ++ target_compile_definitions(cimg INTERFACE cimg_use_zlib cimg_use_png) ++ target_link_libraries(cimg INTERFACE ZLIB::ZLIB png) endif() -+endif() -find_package(LAPACK) -if(LAPACK_FOUND) -+if (WITH_LAPACK) -+find_package(LAPACK REQUIRED) -+if(1) ++if(WITH_LAPACK) ++ find_package(LAPACK REQUIRED) target_compile_definitions(cimg INTERFACE cimg_use_lapack) target_link_libraries(cimg INTERFACE ${LAPACK_LIBRARIES}) target_include_directories(cimg INTERFACE ${LAPACK_INCLUDE_DIRS}) endif() -+endif() -find_package(BLAS) -if(BLAS_FOUND) -+if (WITH_BLAS) -+find_package(BLAS REQUIRED) -+if(1) ++if(WITH_BLAS) ++ find_package(BLAS REQUIRED) target_compile_definitions(cimg INTERFACE cimg_use_blas) target_link_libraries(cimg INTERFACE ${BLAS_LIBRARIES}) target_include_directories(cimg INTERFACE ${BLAS_INCLUDE_DIRS}) endif() -+endif() -find_package(FFTW) -if(FFTW_FOUND) -+if (WITH_FFTW3) -+find_package(FFTW3 CONFIG REQUIRED) -+if(1) ++if(WITH_FFTW3) ++ find_package(FFTW3 CONFIG REQUIRED) target_compile_definitions(cimg INTERFACE cimg_use_fftw3) - target_link_libraries(cimg INTERFACE ${FFTW_LIBRARIES}) - target_include_directories(cimg INTERFACE ${FFTW_INCLUDE_DIRS}) + target_link_libraries(cimg INTERFACE FFTW3::fftw3) -+endif() endif() if (CMAKE_MODULE_PATH) - find_package(OpenCV QUIET) - if (OpenCV_FOUND) + if (WITH_OPENCV) -+ find_package(OpenCV CONFIG REQUIRED) -+ if (1) ++ find_package(OpenCV CONFIG REQUIRED) target_compile_definitions(cimg INTERFACE cimg_use_opencv) - target_link_libraries(cimg INTERFACE ${OpenCV_LIBRARIES}) - target_include_directories(cimg INTERFACE ${OpenCV_INCLUDE_DIRS}) + target_link_libraries(cimg INTERFACE opencv_core) -+ endif() endif() else() message("No CMAKE_MODULE_PATH path for OpenCV configured") diff --git a/source/matplot/CMakeLists.txt b/source/matplot/CMakeLists.txt -index fe9ad53..b06ed7e 100644 +index a0428ac..b6abc8e 100644 --- a/source/matplot/CMakeLists.txt +++ b/source/matplot/CMakeLists.txt -@@ -1,5 +1,4 @@ - if(NOT MINGW) --find_package(Filesystem REQUIRED COMPONENTS Experimental Final) - endif() - - ####################################################### -@@ -102,12 +101,13 @@ target_include_directories(matplot - $) +@@ -112,7 +112,8 @@ target_include_directories(matplot + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/matplot/detail/exports.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/matplot/detail) # Dependencies +-target_link_libraries_system(matplot PRIVATE cimg nodesoup) +find_package(nodesoup CONFIG REQUIRED) - if(NOT MINGW) --target_link_libraries_system(matplot -- PRIVATE cimg nodesoup std::filesystem) -+target_link_libraries(matplot -+ PRIVATE cimg nodesoup::nodesoup) - else() --target_link_libraries_system(matplot -- PRIVATE cimg nodesoup) -+target_link_libraries(matplot -+ PRIVATE cimg nodesoup::nodesoup) - endif() ++target_link_libraries_system(matplot PRIVATE cimg nodesoup::nodesoup) # Required compiler features required -@@ -134,7 +134,6 @@ maybe_target_pedantic_warnings(matplot) - # Use experimental filesystem if std::filesystem is not available yet - if(NOT MINGW) - if (CXX_FILESYSTEM_IS_EXPERIMENTAL) -- target_compile_definitions(matplot PRIVATE CXX_FILESYSTEM_IS_EXPERIMENTAL) - endif() - endif() - # Some hack to not depend on FILE* internals -@@ -217,7 +216,7 @@ if (MATPLOTPP_BUILD_EXPERIMENTAL_OPENGL_BACKEND) - find_package(OpenGL REQUIRED) + # https://cmake.org/cmake/help/v3.14/manual/cmake-compile-features.7.html#requiring-language-standards +@@ -215,7 +216,7 @@ if (MATPLOTPP_BUILD_EXPERIMENTAL_OPENGL_BACKEND) + find_package(OpenGL) # https://github.com/Dav1dde/glad -- find_package(GLAD QUIET) +- find_package(glad CONFIG) + find_package(GLAD NAMES glad CONFIG REQUIRED) - if (NOT GLAD_FOUND AND NOT TARGET glad) - # Use CPM only if not found, to avoid ODR violations - # find_package(GLAD REQUIRE) would suffice if it worked well -@@ -233,7 +232,7 @@ if (MATPLOTPP_BUILD_EXPERIMENTAL_OPENGL_BACKEND) - endif () + if (NOT glad_FOUND) + find_package(GLAD QUIET) + endif() +@@ -238,7 +239,7 @@ if (MATPLOTPP_BUILD_EXPERIMENTAL_OPENGL_BACKEND) + endif() # https://github.com/glfw/glfw - find_package(glfw3 QUIET) + find_package(GLFW3 NAMES glfw3 CONFIG REQUIRED) - if (NOT GLFW3_FOUND AND NOT TARGET glfw) + if ((NOT glfw3_FOUND AND NOT GLFW3_FOUND) OR NOT TARGET glfw) # Use CPM only if not found, to avoid ODR violations # find_package(glfw3 REQUIRE) would suffice if it worked well -@@ -247,7 +246,7 @@ if (MATPLOTPP_BUILD_EXPERIMENTAL_OPENGL_BACKEND) - backend/opengl.h - backend/opengl.cpp - ) -- target_link_libraries(matplot_opengl PUBLIC matplot glad glfw ${CMAKE_DL_LIBS}) -+ target_link_libraries(matplot_opengl PUBLIC matplot glad::glad glfw ${CMAKE_DL_LIBS}) - - list(APPEND TARGETS matplot_opengl) - endif() diff --git a/ports/matplotplusplus/portfile.cmake b/ports/matplotplusplus/portfile.cmake index 5531f19ad0c60c..dfd2f950f355d9 100644 --- a/ports/matplotplusplus/portfile.cmake +++ b/ports/matplotplusplus/portfile.cmake @@ -10,7 +10,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO alandefreitas/matplotplusplus REF "v${VERSION}" - SHA512 9193381fd9d4925259f28a03da33231b3da1273237e7510b93da1ca076610455746feb4ea0d8aa9a4a9e46a5f5f344fc1322f7ffc57963837dbe8b0be0b811ac + SHA512 8ecb13fa206ff6762dec74c4de0778bf275e1ebf11ec1b48e8c0e544cf2990220e1be2b3bc9c658f06cb6714c9cc103fa81f10c079a32128218ebdaf265514d5 HEAD_REF master PATCHES fix-dependencies.patch diff --git a/ports/matplotplusplus/vcpkg.json b/ports/matplotplusplus/vcpkg.json index 6b6795991f9331..c60556ee1d610c 100644 --- a/ports/matplotplusplus/vcpkg.json +++ b/ports/matplotplusplus/vcpkg.json @@ -1,7 +1,6 @@ { "name": "matplotplusplus", - "version": "1.2.0", - "port-version": 1, + "version": "1.2.1", "description": "A C++ graphics library for data visualization", "homepage": "https://alandefreitas.github.io/matplotplusplus/", "license": "MIT", diff --git a/ports/mbedtls/enable-pthread.patch b/ports/mbedtls/enable-pthread.patch index 6353103769c327..590386d85ce1a4 100755 --- a/ports/mbedtls/enable-pthread.patch +++ b/ports/mbedtls/enable-pthread.patch @@ -1,102 +1,54 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 8833246..f68ab02 100644 +index 2eba16d..a46cb3d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -28,6 +28,7 @@ set(MBEDTLS_DIR ${CMAKE_CURRENT_SOURCE_DIR}) - - option(USE_PKCS11_HELPER_LIBRARY "Build mbed TLS with the pkcs11-helper library." OFF) - option(ENABLE_ZLIB_SUPPORT "Build mbed TLS with zlib library." OFF) -+option(ENABLE_PTHREAD "Build mbed TLS with pthread" OFF) - - option(ENABLE_PROGRAMS "Build mbed TLS programs." ON) - -@@ -231,6 +232,8 @@ else() - set(LIB_INSTALL_DIR lib) - endif() - -+include_directories(${CMAKE_CURRENT_BINARY_DIR}/include/) -+ - if(ENABLE_ZLIB_SUPPORT) - find_package(ZLIB) - -@@ -239,6 +242,17 @@ if(ENABLE_ZLIB_SUPPORT) - endif(ZLIB_FOUND) - endif(ENABLE_ZLIB_SUPPORT) - -+if(ENABLE_PTHREAD) -+ if(WIN32) -+ find_package(pthreads_windows REQUIRED) -+ include_directories(${PThreads4W_INCLUDE_DIR}) -+ else() -+ set(CMAKE_THREAD_PREFER_PTHREAD ON) -+ find_package(Threads REQUIRED) -+ endif() -+ set(LINK_WITH_PTHREAD ON) +@@ -123,7 +123,17 @@ endif() + # We now potentially need to link all executables against PThreads, if available + set(CMAKE_THREAD_PREFER_PTHREAD TRUE) + set(THREADS_PREFER_PTHREAD_FLAG TRUE) +-find_package(Threads) ++if(NOT LINK_WITH_PTHREAD) ++ set(CMAKE_DISABLE_FIND_PACKAGE_Threads ON) ++elseif(WIN32 AND NOT MINGW) ++ find_package(PThreads4W REQUIRED) ++ set(CMAKE_THREAD_LIBS_INIT PThreads4W::PThreads4W) ++ add_definitions(-DLINK_WITH_PTHREAD) ++else() ++ find_package(Threads REQUIRED) ++ set(CMAKE_THREAD_LIBS_INIT Threads::Threads) ++ add_definitions(-DLINK_WITH_PTHREAD) +endif() -+ - add_subdirectory(include) - add_subdirectory(3rdparty) -diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt -index 62c0f62..7923202 100644 ---- a/include/CMakeLists.txt -+++ b/include/CMakeLists.txt -@@ -1,10 +1,14 @@ - option(INSTALL_MBEDTLS_HEADERS "Install mbed TLS headers." ON) - -+configure_file(mbedtls/config_threading.h.in mbedtls/config_threading.h) -+ - if(INSTALL_MBEDTLS_HEADERS) - - file(GLOB headers "mbedtls/*.h") - file(GLOB psa_headers "psa/*.h") -- -+ -+ set(headers ${headers} ${CMAKE_CURRENT_BINARY_DIR}/mbedtls/config_threading.h) -+ - install(FILES ${headers} - DESTINATION include/mbedtls - PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ) -diff --git a/include/mbedtls/config.h b/include/mbedtls/config.h -index 1e6e052..51c20da 100644 ---- a/include/mbedtls/config.h -+++ b/include/mbedtls/config.h -@@ -24,6 +24,8 @@ - * limitations under the License. + # If this is the root project add longer list of available CMAKE_BUILD_TYPE values + if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) +diff --git a/cmake/MbedTLSConfig.cmake.in b/cmake/MbedTLSConfig.cmake.in +index b65bbab..5919c37 100644 +--- a/cmake/MbedTLSConfig.cmake.in ++++ b/cmake/MbedTLSConfig.cmake.in +@@ -1,3 +1,11 @@ + @PACKAGE_INIT@ + ++if("@LINK_WITH_PTHREAD@") ++ include(CMakeFindDependencyMacro) ++ if(WIN32 AND NOT MINGW) ++ find_dependency(PThreads4W) ++ else() ++ find_dependency(Threads) ++ endif() ++endif() + include("${CMAKE_CURRENT_LIST_DIR}/MbedTLSTargets.cmake") +diff --git a/include/mbedtls/mbedtls_config.h b/include/mbedtls/mbedtls_config.h +index 3592141..174cabc 100644 +--- a/include/mbedtls/mbedtls_config.h ++++ b/include/mbedtls/mbedtls_config.h +@@ -2091,6 +2091,10 @@ + * Uncomment this to enable pthread mutexes. */ - -+#include "mbedtls/config_threading.h" -+ - #ifndef MBEDTLS_CONFIG_H - #define MBEDTLS_CONFIG_H - -diff --git a/include/mbedtls/config_threading.h.in b/include/mbedtls/config_threading.h.in -new file mode 100644 -index 0000000..9d5d42e ---- /dev/null -+++ b/include/mbedtls/config_threading.h.in -@@ -0,0 +1,6 @@ -+#cmakedefine ENABLE_PTHREAD -+ -+#ifdef ENABLE_PTHREAD + //#define MBEDTLS_THREADING_PTHREAD ++#ifdef LINK_WITH_PTHREAD +#define MBEDTLS_THREADING_C +#define MBEDTLS_THREADING_PTHREAD +#endif -\ No newline at end of file -diff --git a/library/CMakeLists.txt b/library/CMakeLists.txt -index 33e2cfc..4b99331 100644 ---- a/library/CMakeLists.txt -+++ b/library/CMakeLists.txt -@@ -137,7 +137,11 @@ if(ENABLE_ZLIB_SUPPORT) - endif(ENABLE_ZLIB_SUPPORT) - - if(LINK_WITH_PTHREAD) -- set(libs ${libs} pthread) -+ if(WIN32) -+ set(libs ${libs} ${PThreads4W_LIBRARY}) -+ else() -+ set(libs ${libs} pthread) -+ endif() - endif() - if(LINK_WITH_TRUSTED_STORAGE) + /** + * \def MBEDTLS_USE_PSA_CRYPTO diff --git a/ports/mbedtls/portfile.cmake b/ports/mbedtls/portfile.cmake index e2aff063c9b9a2..f7f2fb74ef8de6 100644 --- a/ports/mbedtls/portfile.cmake +++ b/ports/mbedtls/portfile.cmake @@ -1,38 +1,49 @@ -set(VCPKG_LIBRARY_LINKAGE static) +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) # https://github.com/Mbed-TLS/mbedtls/issues/470 +endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO ARMmbed/mbedtls - REF v2.28.1 - SHA512 b71d052acfb83daff11e0182f32b0ad0af7c59d2b74bd19f270531a3da9ed3ce1d3adcaf756e161bf05a10fe1b6b7753e360e9dbb5b7b123f09201b1202ef689 - HEAD_REF mbedtls-2.28 + REPO Mbed-TLS/mbedtls + REF "v${VERSION}" + SHA512 e7985a4e7e07328ae55fdad5212f71ac6af903f2b670c6d4bc2a8d6a4b9b7343697a2fd350a836b9425590c838615cd5b2fa851940bd137bb759fa35cd9f0ee8 + HEAD_REF development PATCHES enable-pthread.patch ) +file(WRITE "${SOURCE_PATH}/framework/CMakeLists.txt" "# empty placeholder") vcpkg_check_features( OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - pthreads ENABLE_PTHREAD + pthreads LINK_WITH_PTHREAD ) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" USE_SHARED_MBEDTLS_LIBRARY) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" USE_STATIC_MBEDTLS_LIBRARY) + vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} -DENABLE_TESTING=OFF -DENABLE_PROGRAMS=OFF -DMBEDTLS_FATAL_WARNINGS=FALSE + -DUSE_SHARED_MBEDTLS_LIBRARY=${USE_SHARED_MBEDTLS_LIBRARY} + -DUSE_STATIC_MBEDTLS_LIBRARY=${USE_STATIC_MBEDTLS_LIBRARY} + OPTIONS_DEBUG + -DINSTALL_MBEDTLS_HEADERS=OFF ) vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/MbedTLS") -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) - -if (VCPKG_TARGET_IS_WINDOWS AND pthreads IN_LIST FEATURES) - file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -endif () +if(LINK_WITH_PTHREAD) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/mbedtls/mbedtls_config.h" "#ifdef LINK_WITH_PTHREAD" "#if 1") + file(COPY "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +endif() -vcpkg_copy_pdbs() +file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/mbedtls/usage b/ports/mbedtls/usage new file mode 100644 index 00000000000000..e6dd9f6a01bdd1 --- /dev/null +++ b/ports/mbedtls/usage @@ -0,0 +1,18 @@ +mbedtls provides CMake targets: + + find_package(MbedTLS CONFIG REQUIRED) + # everything + target_link_libraries(main PRIVATE MbedTLS::mbedtls) + # X.509 certificate manipulation + target_link_libraries(main PRIVATE MbedTLS::mbedx509) + # cryptographic primitives + target_link_libraries(main PRIVATE MbedTLS::mbedcrypto) + +mbedtls provides pkg-config modules: + + # everything + mbedtls + # X.509 certificate manipulation + mbedx509 + # cryptographic primitives + mbedcrypto diff --git a/ports/mbedtls/vcpkg-cmake-wrapper.cmake b/ports/mbedtls/vcpkg-cmake-wrapper.cmake index 40a0bccb4dfbae..9d9be2fef46f94 100644 --- a/ports/mbedtls/vcpkg-cmake-wrapper.cmake +++ b/ports/mbedtls/vcpkg-cmake-wrapper.cmake @@ -1,29 +1,23 @@ -include(FindPackageHandleStandardArgs) - -find_path(MBEDTLS_INCLUDE_DIR mbedtls/ssl.h) - -find_library(MBEDTLS_CRYPTO_LIBRARY mbedcrypto) -find_package(pthreads_windows QUIET) -set(MBEDTLS_CRYPTO_LIBRARY ${MBEDTLS_CRYPTO_LIBRARY} ${PThreads4W_LIBRARY}) -find_library(MBEDTLS_X509_LIBRARY mbedx509) -find_library(MBEDTLS_TLS_LIBRARY mbedtls) -set(MBEDTLS_LIBRARIES ${MBEDTLS_CRYPTO_LIBRARY} ${MBEDTLS_X509_LIBRARY} ${MBEDTLS_TLS_LIBRARY}) - -if (MBEDTLS_INCLUDE_DIR AND EXISTS "${MBEDTLS_INCLUDE_DIR}/mbedtls/version.h") - file( - STRINGS ${MBEDTLS_INCLUDE_DIR}/mbedtls/version.h _MBEDTLS_VERLINE - REGEX "^#define[ \t]+MBEDTLS_VERSION_STRING[\t ].*" - ) - string(REGEX REPLACE ".*MBEDTLS_VERSION_STRING[\t ]+\"(.*)\"" "\\1" MBEDTLS_VERSION ${_MBEDTLS_VERLINE}) +_find_package(${ARGS}) +if(WIN32 AND NOT MINGW) + find_package(PThreads4W) + string(FIND "${MBEDTLS_CRYPTO_LIBRARY}" "${PThreads4W_LIBRARY}" pthreads_in_mbedtls) + if(pthreads_in_mbedtls EQUAL "-1") + list(APPEND MBEDTLS_CRYPTO_LIBRARY ${PThreads4W_LIBRARY}) + endif() + string(FIND "${MBEDTLS_LIBRARIES}" "${PThreads4W_LIBRARY}" pthreads_in_mbedtls) + if(pthreads_in_mbedtls EQUAL "-1") + list(APPEND MBEDTLS_LIBRARIES ${PThreads4W_LIBRARY}) + endif() +else() + set(THREADS_PREFER_PTHREAD_FLAG 1) + find_package(Threads) + string(FIND "${MBEDTLS_CRYPTO_LIBRARY}" "${CMAKE_THREAD_LIBS_INIT}" pthreads_in_mbedtls) + if(pthreads_in_mbedtls EQUAL "-1") + list(APPEND MBEDTLS_CRYPTO_LIBRARY ${CMAKE_THREAD_LIBS_INIT}) + endif() + string(FIND "${MBEDTLS_LIBRARIES}" "${CMAKE_THREAD_LIBS_INIT}" pthreads_in_mbedtls) + if(pthreads_in_mbedtls EQUAL "-1") + list(APPEND MBEDTLS_LIBRARIES ${CMAKE_THREAD_LIBS_INIT}) + endif() endif() - -find_package_handle_standard_args( - mbedTLS - REQUIRED_VARS - MBEDTLS_INCLUDE_DIR - MBEDTLS_CRYPTO_LIBRARY - MBEDTLS_X509_LIBRARY - MBEDTLS_TLS_LIBRARY - PThreads4W_FOUND - VERSION_VAR MBEDTLS_VERSION -) diff --git a/ports/mbedtls/vcpkg.json b/ports/mbedtls/vcpkg.json index b0eb96bb46ea7e..c867de028c0e6a 100644 --- a/ports/mbedtls/vcpkg.json +++ b/ports/mbedtls/vcpkg.json @@ -1,10 +1,9 @@ { "name": "mbedtls", - "version": "2.28.1", + "version": "3.6.1", "description": "An open source, portable, easy to use, readable and flexible SSL library", - "homepage": "https://github.com/ARMmbed/mbedtls", - "license": "Apache-2.0", - "supports": "!uwp", + "homepage": "https://www.trustedfirmware.org/projects/mbed-tls/", + "license": "Apache-2.0 OR GPL-2.0-or-later", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/mchehab-zbar/c99.patch b/ports/mchehab-zbar/c99.patch deleted file mode 100644 index 8b906fcaa99a39..00000000000000 --- a/ports/mchehab-zbar/c99.patch +++ /dev/null @@ -1,89 +0,0 @@ -diff --git a/zbar/symbol.c b/zbar/symbol.c -index 27dbc87..1059a72 100644 ---- a/zbar/symbol.c -+++ b/zbar/symbol.c -@@ -100,40 +100,29 @@ const char *zbar_get_orientation_name (zbar_orientation_t orient) - - int _zbar_get_symbol_hash (zbar_symbol_type_t sym) - { -- static const signed char hash[ZBAR_CODE128 + 1] = { -- [0 ... ZBAR_CODE128] = -1, -- -- /* [ZBAR_FOO] = 0, is empty */ -- [ZBAR_SQCODE] = 1, -- [ZBAR_CODE128] = 2, -- [ZBAR_EAN13] = 3, -- [ZBAR_UPCA] = 4, -- [ZBAR_EAN8] = 5, -- [ZBAR_UPCE] = 6, -- [ZBAR_ISBN13] = 7, -- [ZBAR_ISBN10] = 8, -- [ZBAR_CODE39] = 9, -- [ZBAR_I25] = 10, -- [ZBAR_PDF417] = 11, -- [ZBAR_QRCODE] = 12, -- [ZBAR_DATABAR] = 13, -- [ZBAR_DATABAR_EXP] = 14, -- [ZBAR_CODE93] = 15, -- [ZBAR_EAN2] = 16, -- [ZBAR_EAN5] = 17, -- [ZBAR_COMPOSITE] = 18, -- [ZBAR_CODABAR] = 19, -- -- /* Please update NUM_SYMS accordingly */ -- }; -- int h; -- -- assert (sym >= ZBAR_PARTIAL && sym <= ZBAR_CODE128); -- -- h = hash[sym]; -- assert (h >= 0 && h < NUM_SYMS); -- -- return h; -+ switch(sym) -+ { -+ default: return -1; -+ case ZBAR_SQCODE: return 1; -+ case ZBAR_CODE128: return 2; -+ case ZBAR_EAN13: return 3; -+ case ZBAR_UPCA: return 4; -+ case ZBAR_EAN8: return 5; -+ case ZBAR_UPCE: return 6; -+ case ZBAR_ISBN13: return 7; -+ case ZBAR_ISBN10: return 8; -+ case ZBAR_CODE39: return 9; -+ case ZBAR_I25: return 10; -+ case ZBAR_PDF417: return 11; -+ case ZBAR_QRCODE: return 12; -+ case ZBAR_DATABAR: return 13; -+ case ZBAR_DATABAR_EXP: return 14; -+ case ZBAR_CODE93: return 15; -+ case ZBAR_EAN2: return 16; -+ case ZBAR_EAN5: return 17; -+ case ZBAR_COMPOSITE: return 18; -+ case ZBAR_CODABAR: return 19; -+ } - } - - void _zbar_symbol_free (zbar_symbol_t *sym) -diff --git a/zbar/window/win.c b/zbar/window/win.c -index b949f65..7edcfa2 100644 ---- a/zbar/window/win.c -+++ b/zbar/window/win.c -@@ -194,7 +194,7 @@ int _zbar_window_draw_polygon (zbar_window_t *w, - win_set_rgb(hdc, rgb); - - point_t org = w->scaled_offset; -- POINT gdipts[npts + 1]; -+ POINT* gdipts = malloc((npts + 1) * sizeof(POINT)); - int i; - for(i = 0; i < npts; i++) { - point_t p = window_scale_pt(w, pts[i]); -@@ -204,6 +204,7 @@ int _zbar_window_draw_polygon (zbar_window_t *w, - gdipts[npts] = gdipts[0]; - - Polyline(hdc, gdipts, npts + 1); -+ free(gdipts); - return(0); - } - diff --git a/ports/mchehab-zbar/issue219.patch b/ports/mchehab-zbar/issue219.patch deleted file mode 100644 index 2f86a7c3aa356e..00000000000000 --- a/ports/mchehab-zbar/issue219.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/zbar/decoder/databar.c b/zbar/decoder/databar.c -index 8cfa848..ffb972e 100644 ---- a/zbar/decoder/databar.c -+++ b/zbar/decoder/databar.c -@@ -695,7 +695,7 @@ lookup_sequence (databar_segment_t *seg, - seq[i++] = s; - } - dbprintf(2, "}"); -- seq[n] = -1; -+ if (n<22) {seq[n]=-1;} /* https://github.com/mchehab/zbar/issues/219 */ - return(fixed < 1); - } - diff --git a/ports/mchehab-zbar/portfile.cmake b/ports/mchehab-zbar/portfile.cmake index 9992aaaaf3e420..6fd8a5230ae8d8 100644 --- a/ports/mchehab-zbar/portfile.cmake +++ b/ports/mchehab-zbar/portfile.cmake @@ -2,11 +2,9 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mchehab/zbar REF "${VERSION}" - SHA512 d73d71873bec68ee021997512a9edbd223f5f5fe43c66c4dd3502224ba6009be2e5e1714766cb8e1056244673e87e0939ed0319116f61d7371b5ab79fb5e04eb + SHA512 2dd607afbb1e52346bfb740f916c8616112d14153f071f82458b7c653f647b332290a5089543abebfe1c7679eae98b349a84777185d61cfb9ff275bfecc6e08f HEAD_REF master PATCHES - c99.patch - issue219.patch windows.patch x64.patch ) @@ -17,10 +15,9 @@ if("nls" IN_LIST FEATURES) else() vcpkg_list(APPEND options "--disable-nls") set(ENV{AUTOPOINT} true) # true, the program + set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_HOST_INSTALLED_DIR}/share/gettext/aclocal/\"") # Simulate the relevant effects of (interactive) `gettextize`. file(TOUCH "${SOURCE_PATH}/po/Makefile.in.in") - file(GLOB_RECURSE m4_files "${CURRENT_HOST_INSTALLED_DIR}/share/gettext/aclocal/*.m4") - file(INSTALL ${m4_files} DESTINATION "${SOURCE_PATH}/config") endif() vcpkg_configure_make( diff --git a/ports/mchehab-zbar/vcpkg.json b/ports/mchehab-zbar/vcpkg.json index c56b3f779e3c04..94ac20a0d23fa0 100644 --- a/ports/mchehab-zbar/vcpkg.json +++ b/ports/mchehab-zbar/vcpkg.json @@ -1,7 +1,6 @@ { "name": "mchehab-zbar", - "version": "0.23.90", - "port-version": 5, + "version": "0.23.93", "description": "ZBar is an open source software suite for reading bar codes from various sources, including webcams. This fork is actively maintained.", "homepage": "https://github.com/mchehab/zbar", "license": "LGPL-2.1-or-later", diff --git a/ports/mchehab-zbar/windows.patch b/ports/mchehab-zbar/windows.patch index 877099bf2ac68e..ad38e35376170c 100644 --- a/ports/mchehab-zbar/windows.patch +++ b/ports/mchehab-zbar/windows.patch @@ -1,5 +1,5 @@ diff --git a/configure.ac b/configure.ac -index c8fea14..eb0a097 100644 +index f0f9723..9e79db9 100644 --- a/configure.ac +++ b/configure.ac @@ -55,7 +55,7 @@ AC_DEFINE_UNQUOTED([LIB_VERSION_REVISION], @@ -11,45 +11,17 @@ index c8fea14..eb0a097 100644 AM_CXXFLAGS="$AM_CFLAGS" AC_SUBST([AM_CPPFLAGS]) AC_SUBST([AM_CFLAGS]) -diff --git a/zbar/libzbar.rc b/zbar/libzbar.rc -index 413635b..c241f82 100644 ---- a/zbar/libzbar.rc -+++ b/zbar/libzbar.rc -@@ -17,8 +17,7 @@ VS_VERSION_INFO VERSIONINFO - VALUE "InternalName", "libzbar" - VALUE "OriginalFilename", "libzbar-" XSTR(LIB_VERSION_MAJOR) ".dll" - -- VALUE "FileVersion", XSTR(LIB_VERSION_MAJOR) "." \ -- XSTR(LIB_VERSION_MINOR) "." XSTR(LIB_VERSION_REVISION) -+ VALUE "FileVersion", XSTR(LIB_VERSION_MAJOR) "." XSTR(LIB_VERSION_MINOR) "." XSTR(LIB_VERSION_REVISION) - VALUE "ProductVersion", PACKAGE_VERSION - - VALUE "FileDescription", "Bar code reader library" diff --git a/zbar/processor.h b/zbar/processor.h -index d5e9fef..54d6584 100644 +index a8289e0..8a7e33c 100644 --- a/zbar/processor.h +++ b/zbar/processor.h -@@ -27,7 +27,9 @@ - #ifdef HAVE_INTTYPES_H - # include +@@ -29,7 +29,9 @@ #endif --#include -+#ifndef WIN32 -+# include -+#endif #include #include ++#ifndef WIN32 + #include ++#endif -diff --git a/zbar/thread.h b/zbar/thread.h -index 96d6415..252d3f2 100644 ---- a/zbar/thread.h -+++ b/zbar/thread.h -@@ -35,7 +35,7 @@ - # define HAVE_THREADS - # define ZTHREAD DWORD WINAPI - --typedef ZTHREAD (zbar_thread_proc_t)(void*); -+typedef ZTHREAD zbar_thread_proc_t(void*); - - typedef DWORD zbar_thread_id_t; - + #include + #include "error.h" diff --git a/ports/mchehab-zbar/x64.patch b/ports/mchehab-zbar/x64.patch index c8eefac8edf2c0..abd6b7b9871a0a 100644 --- a/ports/mchehab-zbar/x64.patch +++ b/ports/mchehab-zbar/x64.patch @@ -1,18 +1,18 @@ diff --git a/zbar/decoder.c b/zbar/decoder.c -index 7f7336f..e9ffc45 100644 +index 6c41b7f..cbf0bb7 100644 --- a/zbar/decoder.c +++ b/zbar/decoder.c @@ -25,6 +25,7 @@ - #include /* malloc, calloc, free */ - #include /* snprintf */ - #include /* memset, strlen */ -+#include /* offsetof */ + #include /* snprintf */ + #include /* malloc, calloc, free */ + #include /* memset, strlen */ ++#include /* offsetof */ #include -@@ -113,7 +114,7 @@ void zbar_decoder_destroy (zbar_decoder_t *dcode) +@@ -113,7 +114,7 @@ void zbar_decoder_destroy(zbar_decoder_t *dcode) - void zbar_decoder_reset (zbar_decoder_t *dcode) + void zbar_decoder_reset(zbar_decoder_t *dcode) { - memset(dcode, 0, (long)&dcode->buf_alloc - (long)dcode); + memset(dcode, 0, offsetof(zbar_decoder_t, buf_alloc)); diff --git a/ports/md4c/cmake.patch b/ports/md4c/cmake.patch new file mode 100644 index 00000000000000..29d046a4253f48 --- /dev/null +++ b/ports/md4c/cmake.patch @@ -0,0 +1,21 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index aec8293..600d51b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -51,16 +51,6 @@ elseif(MSVC) + # Disable warnings about the so-called unsecured functions: + add_definitions(/D_CRT_SECURE_NO_WARNINGS) + add_compile_options(/W3) +- +- # Specify proper C runtime library: +- string(REGEX REPLACE "/M[DT]d?" "" CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}") +- string(REGEX REPLACE "/M[DT]d?" "" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}") +- string(REGEX REPLACE "/M[DT]d?" "" CMAKE_C_FLAGS_RELWITHDEBINFO "{$CMAKE_C_FLAGS_RELWITHDEBINFO}") +- string(REGEX REPLACE "/M[DT]d?" "" CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL}") +- set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /MTd") +- set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /MT") +- set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELEASE} /MT") +- set(CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_RELEASE} /MT") + endif() + + include(GNUInstallDirs) diff --git a/ports/md4c/portfile.cmake b/ports/md4c/portfile.cmake new file mode 100644 index 00000000000000..6532cf090e737d --- /dev/null +++ b/ports/md4c/portfile.cmake @@ -0,0 +1,23 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO mity/md4c + REF "release-${VERSION}" + SHA512 30607ba39d6c59329f5a56a90cd816ff60b82ea752ac2b9df356d756529cfc49170019fae5df32fa94afc0e2a186c66eaf56fa6373d18436c06ace670675ba85 + HEAD_REF master + PATCHES + "cmake.patch" +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS -DBUILD_MD2HTML_EXECUTABLE=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/md4c") +vcpkg_fixup_pkgconfig() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" COPYONLY) diff --git a/ports/md4c/usage b/ports/md4c/usage new file mode 100644 index 00000000000000..ea22b43e345d55 --- /dev/null +++ b/ports/md4c/usage @@ -0,0 +1,4 @@ +md4c provides CMake targets: + +find_package(md4c CONFIG REQUIRED) +target_link_libraries(main PRIVATE md4c::md4c) diff --git a/ports/md4c/vcpkg.json b/ports/md4c/vcpkg.json new file mode 100644 index 00000000000000..b2eb4bb1646945 --- /dev/null +++ b/ports/md4c/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "md4c", + "version": "0.5.2", + "description": "MD4C is a C library providing a Markdown parser.", + "homepage": "https://github.com/mity/md4c", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/mdl-sdk/001-freeimage-from-vcpkg.patch b/ports/mdl-sdk/001-freeimage-from-vcpkg.patch deleted file mode 100644 index 9dcc6edcc51e12..00000000000000 --- a/ports/mdl-sdk/001-freeimage-from-vcpkg.patch +++ /dev/null @@ -1,81 +0,0 @@ -diff --git a/cmake/dependencies/add_freeimage.cmake b/cmake/dependencies/add_freeimage.cmake -index 944d452..3916352 100644 ---- a/cmake/dependencies/add_freeimage.cmake -+++ b/cmake/dependencies/add_freeimage.cmake -@@ -67,13 +67,4 @@ else() - ) - endif() - endif() -- -- # copy runtime dependencies -- # copy system libraries only on windows, we assume the libraries are installed in a unix environment -- if(NOT __TARGET_ADD_DEPENDENCY_NO_RUNTIME_COPY AND WINDOWS) -- target_copy_to_output_dir(TARGET ${__TARGET_ADD_DEPENDENCY_TARGET} -- FILES -- ${MDL_DEPENDENCY_FREEIMAGE_SHARED} -- ) -- endif() - endif() -diff --git a/cmake/find/find_freeimage_ext.cmake b/cmake/find/find_freeimage_ext.cmake -index b11573a..703458e 100644 ---- a/cmake/find/find_freeimage_ext.cmake -+++ b/cmake/find/find_freeimage_ext.cmake -@@ -28,6 +28,9 @@ - - function(FIND_FREEIMAGE_EXT) - -+ find_package(freeimage CONFIG REQUIRED) -+ if(0) -+ - set(FREEIMAGE_DIR "NOT-SPECIFIED" CACHE PATH "Directory that contains the freeimage library and the corresponding headers.") - #----------------------------------------------------------------------------------------------- - -@@ -90,6 +93,35 @@ function(FIND_FREEIMAGE_EXT) - endif() - endif() - -+ else() -+ get_target_property(_FREEIMAGE_INCLUDE freeimage::FreeImage INTERFACE_INCLUDE_DIRECTORIES) -+ get_target_property(_FREEIMAGE_DEPENDENCIES freeimage::FreeImage INTERFACE_LINK_LIBRARIES ) -+ -+ get_target_property(_FREEIMAGE_SHARED freeimage::FreeImage IMPORTED_LOCATION) -+ if(NOT _FREEIMAGE_SHARED) -+ get_target_property(_FREEIMAGE_SHARED freeimage::FreeImage IMPORTED_LOCATION_RELEASE) -+ endif() -+ if(NOT _FREEIMAGE_SHARED) -+ get_target_property(_FREEIMAGE_SHARED freeimage::FreeImage IMPORTED_LOCATION_DEBUG) -+ endif() -+ -+ get_target_property(_FREEIMAGE_TYPE freeimage::FreeImage TYPE) -+ if(${_FREEIMAGE_TYPE} STREQUAL "SHARED_LIBRARY") -+ get_target_property(_FREEIMAGE_LIB freeimage::FreeImage IMPORTED_IMPLIB) -+ if(NOT _FREEIMAGE_LIB) -+ get_target_property(_FREEIMAGE_LIB freeimage::FreeImage IMPORTED_IMPLIB_RELEASE) -+ endif() -+ if(NOT _FREEIMAGE_LIB) -+ get_target_property(_FREEIMAGE_LIB freeimage::FreeImage IMPORTED_IMPLIB_DEBUG) -+ endif() -+ endif() -+ -+ find_file(_FREEIMAGE_HEADER_FILE "FreeImage.h" -+ HINTS -+ ${_FREEIMAGE_INCLUDE} -+ ) -+ endif() -+ - # error if dependencies can not be resolved - if(NOT EXISTS ${_FREEIMAGE_INCLUDE} OR (WINDOWS AND NOT EXISTS ${_FREEIMAGE_LIB}) OR NOT EXISTS ${_FREEIMAGE_SHARED}) - message(STATUS "FREEIMAGE_DIR: ${FREEIMAGE_DIR}") -diff --git a/src/shaders/plugin/freeimage/CMakeLists.txt b/src/shaders/plugin/freeimage/CMakeLists.txt -index a28b50e..910141e 100644 ---- a/src/shaders/plugin/freeimage/CMakeLists.txt -+++ b/src/shaders/plugin/freeimage/CMakeLists.txt -@@ -69,7 +69,7 @@ add_library(mdl::nv_freeimage ALIAS ${PROJECT_NAME}) - # add dependencies other dependencies - target_add_dependencies(TARGET ${PROJECT_NAME} - DEPENDS -- freeimage -+ freeimage::FreeImage - mdl::base-system-version - ) - diff --git a/ports/mdl-sdk/002-install-rules.patch b/ports/mdl-sdk/002-install-rules.patch deleted file mode 100644 index 331575ea4e6597..00000000000000 --- a/ports/mdl-sdk/002-install-rules.patch +++ /dev/null @@ -1,171 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1f1902c..623bec8 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -53,6 +53,9 @@ option(MDL_LOG_FILE_DEPENDENCIES "Prints the list of files that is copied after - set(MDL_ADDITIONAL_COMPILER_DEFINES "MDL_SOURCE_RELEASE" CACHE STRING "Additional compile defines that are passed to each of the projects") - set(MDL_ADDITIONAL_COMPILER_OPTIONS "" CACHE STRING "Additional compile options that are passed to each of the projects") - -+include(GNUInstallDirs) -+include(CMakePackageConfigHelpers) -+ - # set the default installation path - if(NOT DEFINED CMAKE_INSTALL_PREFIX OR CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) - set(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/install CACHE PATH "..." FORCE) -@@ -235,3 +238,35 @@ foreach(_TEST_POST ${MDL_TEST_LIST_POST}) - add_subdirectory(${_TEST_POST}) - endforeach() - -+# Config -+#-------------------------------------------------------------------------------------------------- -+ -+set(PATH_EXPORT_TARGETS "${CMAKE_INSTALL_DATADIR}/unofficial-mdl/unofficial-mdl-targets.cmake") -+configure_package_config_file( -+ "${CMAKE_CURRENT_SOURCE_DIR}/unofficial-mdl-config.cmake.in" -+ "${CMAKE_CURRENT_BINARY_DIR}/unofficial-mdl-config.cmake" -+ PATH_VARS -+ PATH_EXPORT_TARGETS -+ INSTALL_DESTINATION ${CMAKE_INSTALL_DATADIR}/unofficial-mdl -+) -+ -+write_basic_package_version_file("${CMAKE_CURRENT_BINARY_DIR}/unofficial-mdl-config-version.cmake" -+ VERSION 2021.0.1 -+ COMPATIBILITY SameMajorVersion -+) -+ -+# Install -+#-------------------------------------------------------------------------------------------------- -+ -+install( -+ EXPORT unofficial-mdl-targets -+ NAMESPACE "unofficial::mdl::" -+ DESTINATION "${CMAKE_INSTALL_DATADIR}/unofficial-mdl" -+) -+ -+install( -+ FILES -+ ${CMAKE_CURRENT_BINARY_DIR}/unofficial-mdl-config.cmake -+ ${CMAKE_CURRENT_BINARY_DIR}/unofficial-mdl-config-version.cmake -+ DESTINATION "${CMAKE_INSTALL_DATADIR}/unofficial-mdl" -+) -diff --git a/cmake/utilities.cmake b/cmake/utilities.cmake -index 5e9774f..51dc65c 100644 ---- a/cmake/utilities.cmake -+++ b/cmake/utilities.cmake -@@ -705,6 +705,7 @@ function(CREATE_FROM_BASE_PRESET) - # adjust output file name if requested - if(CREATE_FROM_BASE_PRESET_OUTPUT_NAME) - set_target_properties(${CREATE_FROM_BASE_PRESET_TARGET} PROPERTIES OUTPUT_NAME ${CREATE_FROM_BASE_PRESET_OUTPUT_NAME}) -+ set_target_properties(${CREATE_FROM_BASE_PRESET_TARGET} PROPERTIES EXPORT_NAME ${CREATE_FROM_BASE_PRESET_OUTPUT_NAME}) - endif() - - # log message -@@ -1143,6 +1144,15 @@ endfunction() - # ------------------------------------------------------------------------------------------------- - # basic install logic to copy the entire output folder - -+set(_MDL_PROD_TARGETS -+ prod-lib-mdl_core -+ prod-lib-mdl_sdk -+ prod-bin-i18n -+ prod-bin-mdlc -+ prod-bin-mdlm -+ shaders-plugin-dds -+ shaders-plugin-freeimage -+) - function(ADD_TARGET_INSTALL) - set(options) - set(oneValueArgs TARGET DESTINATION) -@@ -1152,6 +1162,14 @@ function(ADD_TARGET_INSTALL) - # - ADD_TARGET_INSTALL_TARGET - # - ADD_TARGET_INSTALL_DESTINATION - -+ if(${ADD_TARGET_INSTALL_TARGET} IN_LIST _MDL_PROD_TARGETS) -+ install( -+ TARGETS ${ADD_TARGET_INSTALL_TARGET} -+ EXPORT unofficial-mdl-targets -+ ) -+ return() -+ endif() -+ - install(DIRECTORY $/ - DESTINATION ${ADD_TARGET_INSTALL_DESTINATION} - USE_SOURCE_PERMISSIONS - -diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt -index 246303d..28934b4 100644 ---- a/include/CMakeLists.txt -+++ b/include/CMakeLists.txt -@@ -229,3 +229,8 @@ source_group("base" FILES ${PROJECT_HEADERS_BASE}) - source_group("math" FILES ${PROJECT_HEADERS_MATH}) - source_group("mdl" FILES ${PROJECT_HEADERS_MDL}) - source_group("neuraylib" FILES ${PROJECT_HEADERS_NEURAYLIB}) -+ -+install( -+ DIRECTORY "${CMAKE_CURRENT_LIST_DIR}/mi" -+ TYPE INCLUDE -+) -diff --git a/src/prod/lib/mdl_core/CMakeLists.txt b/src/prod/lib/mdl_core/CMakeLists.txt -index b60a1fc..3c3d2f4 100644 ---- a/src/prod/lib/mdl_core/CMakeLists.txt -+++ b/src/prod/lib/mdl_core/CMakeLists.txt -@@ -42,9 +42,15 @@ create_from_base_preset( - EMBED_RC "mdl_core.rc" - ) - -+target_include_directories(${PROJECT_NAME} -+ PUBLIC -+ $ -+) -+ - # customize name - set_target_properties(${PROJECT_NAME} PROPERTIES PREFIX "lib") - set_target_properties(${PROJECT_NAME} PROPERTIES OUTPUT_NAME "mdl_core") -+set_target_properties(${PROJECT_NAME} PROPERTIES EXPORT_NAME "mdl_core") - - if(MACOSX) - set_target_properties(${PROJECT_NAME} PROPERTIES SUFFIX ".so") # corresponding to the binary release -diff --git a/src/prod/lib/mdl_sdk/CMakeLists.txt b/src/prod/lib/mdl_sdk/CMakeLists.txt -index 6ddfc24..51c84e7 100644 ---- a/src/prod/lib/mdl_sdk/CMakeLists.txt -+++ b/src/prod/lib/mdl_sdk/CMakeLists.txt -@@ -44,9 +44,15 @@ create_from_base_preset( - EMBED_RC "mdl_sdk.rc" - ) - -+target_include_directories(${PROJECT_NAME} -+ PUBLIC -+ $ -+) -+ - # customize name - set_target_properties(${PROJECT_NAME} PROPERTIES PREFIX "lib") - set_target_properties(${PROJECT_NAME} PROPERTIES OUTPUT_NAME "mdl_sdk") -+set_target_properties(${PROJECT_NAME} PROPERTIES EXPORT_NAME "mdl_sdk") - - if(MACOSX) - set_target_properties(${PROJECT_NAME} PROPERTIES SUFFIX ".so") # corresponding to the binary release -diff --git a/src/shaders/plugin/dds/CMakeLists.txt b/src/shaders/plugin/dds/CMakeLists.txt -index 81558b0..179e1df 100644 ---- a/src/shaders/plugin/dds/CMakeLists.txt -+++ b/src/shaders/plugin/dds/CMakeLists.txt -@@ -65,6 +65,7 @@ create_from_base_preset( - # customize name - set_target_properties(${PROJECT_NAME} PROPERTIES PREFIX "") - set_target_properties(${PROJECT_NAME} PROPERTIES OUTPUT_NAME "dds") -+set_target_properties(${PROJECT_NAME} PROPERTIES EXPORT_NAME "dds") - - if(MACOSX) - set_target_properties(${PROJECT_NAME} PROPERTIES SUFFIX ".so") # corresponding to the binary release -diff --git a/src/shaders/plugin/freeimage/CMakeLists.txt b/src/shaders/plugin/freeimage/CMakeLists.txt -index b3ae039..a28b50e 100644 ---- a/src/shaders/plugin/freeimage/CMakeLists.txt -+++ b/src/shaders/plugin/freeimage/CMakeLists.txt -@@ -56,6 +56,7 @@ create_from_base_preset( - # customize name - set_target_properties(${PROJECT_NAME} PROPERTIES PREFIX "") - set_target_properties(${PROJECT_NAME} PROPERTIES OUTPUT_NAME "nv_freeimage") -+set_target_properties(${PROJECT_NAME} PROPERTIES EXPORT_NAME "nv_freeimage") - - if(MACOSX) - set_target_properties(${PROJECT_NAME} PROPERTIES SUFFIX ".so") # corresponding to the binary release diff --git a/ports/mdl-sdk/003-freeimage-disable-faxg3.patch b/ports/mdl-sdk/003-freeimage-disable-faxg3.patch deleted file mode 100644 index c2fed9cfda39b1..00000000000000 --- a/ports/mdl-sdk/003-freeimage-disable-faxg3.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/shaders/plugin/freeimage/freeimage_image_plugin_impl.cpp b/src/shaders/plugin/freeimage/freeimage_image_plugin_impl.cpp -index ff79628..f22d05b 100644 ---- a/src/shaders/plugin/freeimage/freeimage_image_plugin_impl.cpp -+++ b/src/shaders/plugin/freeimage/freeimage_image_plugin_impl.cpp -@@ -270,7 +270,7 @@ Plugin_description g_plugin_list[] = { - Plugin_description( "fi_cut" , FIF_CUT ), - Plugin_description( "fi_dds" , FIF_DDS ), - Plugin_description( "fi_exr" , FIF_EXR ), -- Plugin_description( "fi_faxg3" , FIF_FAXG3 ), -+ // Plugin_description( "fi_faxg3" , FIF_FAXG3 ), # not shipped with vcpkg - Plugin_description( "fi_gif" , FIF_GIF ), - Plugin_description( "fi_hdr" , FIF_HDR ), - Plugin_description( "fi_ico" , FIF_ICO ), diff --git a/ports/mdl-sdk/004-missing-std-includes.patch b/ports/mdl-sdk/004-missing-std-includes.patch deleted file mode 100644 index 18fd7d902803db..00000000000000 --- a/ports/mdl-sdk/004-missing-std-includes.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff --git a/src/api/api/neuray/neuray_class_factory.h b/src/api/api/neuray/neuray_class_factory.h -index b8b5b55..c226458 100644 ---- a/src/api/api/neuray/neuray_class_factory.h -+++ b/src/api/api/neuray/neuray_class_factory.h -@@ -40,6 +40,7 @@ - - #include - #include -+#include - - #include - #include -diff --git a/src/api/api/neuray/neuray_mdl_resource_callback.h b/src/api/api/neuray/neuray_mdl_resource_callback.h -index 5439cfb..cd803fa 100644 ---- a/src/api/api/neuray/neuray_mdl_resource_callback.h -+++ b/src/api/api/neuray/neuray_mdl_resource_callback.h -@@ -35,6 +35,7 @@ - - #include - #include -+#include - - #include - #include -diff --git a/src/base/util/registry/config_registry_impl.cpp b/src/base/util/registry/config_registry_impl.cpp -index 01ad0c1..dd089ec 100644 ---- a/src/base/util/registry/config_registry_impl.cpp -+++ b/src/base/util/registry/config_registry_impl.cpp -@@ -37,6 +37,7 @@ - #include - #include - #include -+#include - - namespace MI { - namespace CONFIG { diff --git a/ports/mdl-sdk/005-missing-link-windows-crypt-libraries.patch b/ports/mdl-sdk/005-missing-link-windows-crypt-libraries.patch deleted file mode 100644 index 9eb00efc08e027..00000000000000 --- a/ports/mdl-sdk/005-missing-link-windows-crypt-libraries.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/src/io/scene/CMakeLists.txt b/src/io/scene/CMakeLists.txt -index 5a0a1c6..37a0a19 100644 ---- a/src/io/scene/CMakeLists.txt -+++ b/src/io/scene/CMakeLists.txt -@@ -104,5 +104,10 @@ target_add_dependencies(TARGET ${PROJECT_NAME} - boost - ) - -+target_compile_definitions(${PROJECT_NAME} -+ PRIVATE -+ BOOST_UUID_FORCE_AUTO_LINK # for some reason this is not working while using vcpkg boost-uuid -+) -+ - # add tests if available - add_tests(POST) diff --git a/ports/mdl-sdk/006-guard-nonexisting-targets.patch b/ports/mdl-sdk/006-guard-nonexisting-targets.patch deleted file mode 100644 index 723d544292d1a4..00000000000000 --- a/ports/mdl-sdk/006-guard-nonexisting-targets.patch +++ /dev/null @@ -1,38 +0,0 @@ -diff --git a/src/mdl/jit/llvm/CMakeLists.txt b/src/mdl/jit/llvm/CMakeLists.txt -index 70f7f50..13857be 100644 ---- a/src/mdl/jit/llvm/CMakeLists.txt -+++ b/src/mdl/jit/llvm/CMakeLists.txt -@@ -289,11 +289,16 @@ endforeach() - - # ------------------------------------------------------------------------------------------------- - # set options for all other projects that are build in addition to the libs we need --set(ADDITIONAL_LLVM_TARGETS -- obj.llvm-tblgen -- llvm-tblgen -+set(ADDITIONAL_LLVM_TARGETS -+ llvm-tblgen - ) - -+ -+# LLVM_ENABLE_OBJLIB cf. dist\cmake\modules\TableGen.cmake:125 -+if(NOT (CMAKE_GENERATOR STREQUAL "Ninja" AND NOT CMAKE_VERSION VERSION_LESS 3.9) AND NOT XCODE) -+ list(APPEND ADDITIONAL_LLVM_TARGETS obj.llvm-tblgen) -+endif() -+ - foreach(_ADD_LLVM ${ADDITIONAL_LLVM_TARGETS}) - message(STATUS "setting flags for ${_ADD_LLVM}") - llvm_target_setup(TARGET ${_ADD_LLVM}) -@@ -360,9 +365,10 @@ if(WINDOWS) - ) - endif() - -- set(_LLVM_EXCLUDE ${_LLVM_EXCLUDE} -- LLVMVisualizers -- ) -+ # LLVM_ADD_NATIVE_VISUALIZERS_TO_SOLUTION cf. dist\CMakeLists.txt:559 -+ if (MSVC_IDE AND NOT (MSVC_VERSION LESS 1900)) -+ list(APPEND _LLVM_EXCLUDE LLVMVisualizers) -+ endif() - endif() - - diff --git a/ports/mdl-sdk/007-plugin-options.patch b/ports/mdl-sdk/007-plugin-options.patch deleted file mode 100644 index 4a877d036e6861..00000000000000 --- a/ports/mdl-sdk/007-plugin-options.patch +++ /dev/null @@ -1,48 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index def8fce..33dc3de 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -47,6 +47,8 @@ set(MDL_EXAMPLES_FOLDER ${CMAKE_SOURCE_DIR}/examples CACHE PATH "The folder that - option(MDL_BUILD_SDK_EXAMPLES "Adds MDL SDK examples to the build." ON) - option(MDL_BUILD_CORE_EXAMPLES "Adds MDL Core examples to the build." ON) - option(MDL_BUILD_ARNOLD_PLUGIN "Enable the build of the MDL Arnold plugin." OFF) -+option(MDL_BUILD_DDS_PLUGIN "Enable the build of the MDL DDS image plugin." ON) -+option(MDL_BUILD_FREEIMAGE_PLUGIN "Enable the build of the MDL Freeimage image plugin." ON) - option(MDL_LOG_PLATFORM_INFOS "Prints some infos about the current build system (relevant for error reports)." ON) - option(MDL_LOG_DEPENDENCIES "Prints the list of dependencies during the generation step." OFF) - option(MDL_LOG_FILE_DEPENDENCIES "Prints the list of files that is copied after a successful build." OFF) -@@ -148,8 +150,12 @@ add_subdirectory(${MDL_SRC_FOLDER}/prod/bin/mdlm) - - # PLUGINS - #-------------------------------------------------------------------------------------------------- --add_subdirectory(${MDL_SRC_FOLDER}/shaders/plugin/dds) --add_subdirectory(${MDL_SRC_FOLDER}/shaders/plugin/freeimage) -+if(MDL_BUILD_DDS_PLUGIN) -+ add_subdirectory(${MDL_SRC_FOLDER}/shaders/plugin/dds) -+endif() -+if(MDL_BUILD_FREEIMAGE_PLUGIN) -+ add_subdirectory(${MDL_SRC_FOLDER}/shaders/plugin/freeimage) -+endif() - - # EXAMPLES - #-------------------------------------------------------------------------------------------------- -diff --git a/cmake/utilities.cmake b/cmake/utilities.cmake -index ecdb672..74f54e0 100644 ---- a/cmake/utilities.cmake -+++ b/cmake/utilities.cmake -@@ -1148,9 +1148,13 @@ set(_MDL_PROD_TARGETS - prod-bin-i18n - prod-bin-mdlc - prod-bin-mdlm -- shaders-plugin-dds -- shaders-plugin-freeimage - ) -+if(MDL_BUILD_DDS_PLUGIN) -+ list(APPEND _MDL_PROD_TARGETS shaders-plugin-dds) -+endif() -+if(MDL_BUILD_FREEIMAGE_PLUGIN) -+ list(APPEND _MDL_PROD_TARGETS shaders-plugin-freeimage) -+endif() - function(ADD_TARGET_INSTALL) - set(options) - set(oneValueArgs TARGET DESTINATION) diff --git a/ports/mdl-sdk/008-build-static-llvm.patch b/ports/mdl-sdk/008-build-static-llvm.patch index 778fa7bdef0f5b..d391f655af5d24 100644 --- a/ports/mdl-sdk/008-build-static-llvm.patch +++ b/ports/mdl-sdk/008-build-static-llvm.patch @@ -1,17 +1,10 @@ -diff --git a/src/mdl/jit/llvm/dist/cmake/modules/AddLLVM.cmake b/src/mdl/jit/llvm/dist/cmake/modules/AddLLVM.cmake -index ce2057f..7ad8dfe 100644 ---- a/src/mdl/jit/llvm/dist/cmake/modules/AddLLVM.cmake -+++ b/src/mdl/jit/llvm/dist/cmake/modules/AddLLVM.cmake -@@ -616,11 +616,7 @@ macro(add_llvm_library name) - "" - "" - ${ARGN}) -- if( BUILD_SHARED_LIBS OR ARG_SHARED ) -- llvm_add_library(${name} SHARED ${ARG_UNPARSED_ARGUMENTS}) -- else() -- llvm_add_library(${name} ${ARG_UNPARSED_ARGUMENTS}) -- endif() -+ llvm_add_library(${name} STATIC ${ARG_UNPARSED_ARGUMENTS}) +--- a/src/mdl/jit/llvm/CMakeLists.txt ++++ b/src/mdl/jit/llvm/CMakeLists.txt +@@ -152,6 +152,7 @@ - # Libraries that are meant to only be exposed via the build tree only are - # never installed and are only exported as a target in the special build tree + set(LLVM_CMAKE_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/dist CACHE PATH "LLVM source root.") + set(LLVM_NATIVE_BUILD ${CMAKE_CURRENT_BINARY_DIR}/dist/NATIVE CACHE PATH "Binary root dir for LLVM tablegen.") ++set(BUILD_SHARED_LIBS OFF) + + # speed up build is not working properly on all platforms and configurations + if(WINDOWS) diff --git a/ports/mdl-sdk/009-include-priority-vendored-llvm.patch b/ports/mdl-sdk/009-include-priority-vendored-llvm.patch deleted file mode 100644 index 6f300482a9c2d0..00000000000000 --- a/ports/mdl-sdk/009-include-priority-vendored-llvm.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/cmake/dependencies/add_llvm.cmake b/cmake/dependencies/add_llvm.cmake -index e477c57..0e323d0 100644 ---- a/cmake/dependencies/add_llvm.cmake -+++ b/cmake/dependencies/add_llvm.cmake -@@ -100,7 +100,7 @@ set(_LLVM_LIB_NAMES - LLVMSupport - ) - --target_include_directories(${__TARGET_ADD_DEPENDENCY_TARGET} -+target_include_directories(${__TARGET_ADD_DEPENDENCY_TARGET} BEFORE - PRIVATE - ${mdl-jit-llvm_SOURCE_DIR}/dist/include - ${mdl-jit-llvm_BINARY_DIR}/dist/include diff --git a/ports/mdl-sdk/010-workaround-gcc-bit.patch b/ports/mdl-sdk/010-workaround-gcc-bit.patch deleted file mode 100644 index 9583a46813d390..00000000000000 --- a/ports/mdl-sdk/010-workaround-gcc-bit.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/include/mi/base/types.h b/include/mi/base/types.h -index a6faabe..47f836b 100644 ---- a/include/mi/base/types.h -+++ b/include/mi/base/types.h -@@ -349,7 +349,7 @@ namespace { - /// float fval( 0.0f ); - /// Uint32 uval( binary_cast(fval) ); - /// \endcode --#if (defined(_WIN32) && defined(_HAS_CXX20) && _HAS_CXX20) || (defined(__GNUC__) && (__GNUC__ >= 11 )) -+#if (defined(_WIN32) && defined(_HAS_CXX20) && _HAS_CXX20) || (defined(__GNUC__) && (__GNUC__ >= 12 )) - #include - template constexpr T binary_cast(const S& src) noexcept { return std::bit_cast(src); } - #else diff --git a/ports/mdl-sdk/011-fix-python.patch b/ports/mdl-sdk/011-fix-python.patch deleted file mode 100644 index e0a9ff5fe187b2..00000000000000 --- a/ports/mdl-sdk/011-fix-python.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/src/mdl/compiler/compiler_hlsl/gen_hlsl_intrinsics.py -+++ b/src/mdl/compiler/compiler_hlsl/gen_hlsl_intrinsics.py -@@ -383,7 +383,7 @@ namespace { - def get_db_hlsl(): - global g_db_hlsl - if g_db_hlsl is None: -- with open(g_templ_name, "rU") as f: -+ with open(g_templ_name, "r") as f: - g_db_hlsl = db_hlsl(f) - return g_db_hlsl - diff --git a/ports/mdl-sdk/012-remove-wrong-llvm-cxx-standard.patch b/ports/mdl-sdk/012-remove-wrong-llvm-cxx-standard.patch new file mode 100755 index 00000000000000..85dc43f85125e4 --- /dev/null +++ b/ports/mdl-sdk/012-remove-wrong-llvm-cxx-standard.patch @@ -0,0 +1,11 @@ +diff -u -r 2024.0.4-cda7c53572.clean/src/mdl/jit/llvm/CMakeLists.txt 2024.0.4-cda7c53572/src/mdl/jit/llvm/CMakeLists.txt +--- 2024.0.4-cda7c53572.clean/src/mdl/jit/llvm/CMakeLists.txt 2024-10-25 14:15:40.000000000 +0200 ++++ 2024.0.4-cda7c53572/src/mdl/jit/llvm/CMakeLists.txt 2024-10-25 14:22:28.000000000 +0200 +@@ -267,7 +267,6 @@ + "-fPIC" + "-m64" + "-stdlib=libc++" +- "$<$:-std=c++11>" + "-fvisibility-inlines-hidden" + "-Wno-deprecated-declarations" + "-Wno-inconsistent-missing-override" diff --git a/ports/mdl-sdk/013-openimageio-3.0.patch b/ports/mdl-sdk/013-openimageio-3.0.patch new file mode 100644 index 00000000000000..32e221721d4eac --- /dev/null +++ b/ports/mdl-sdk/013-openimageio-3.0.patch @@ -0,0 +1,100 @@ +diff -u -r a/cmake/find/find_boost_ext.cmake b/cmake/find/find_boost_ext.cmake +--- a/cmake/find/find_boost_ext.cmake ++++ b/cmake/find/find_boost_ext.cmake +@@ -38,13 +38,7 @@ + set(Boost_NO_WARN_NEW_VERSIONS ON CACHE INTERNAL "") + #set(Boost_DEBUG ON) + +- if(MDL_BUILD_OPENIMAGEIO_PLUGIN OR MDL_BUILD_CORE_EXAMPLES) +- # OpenImageIO needs Boost::filesystem and Boost::thread. +- find_package(Boost COMPONENTS filesystem thread) +- else() +- # Otherwise the Boost headers are sufficient. +- find_package(Boost) +- endif() ++ find_package(Boost) + + set(Boost_FOUND ${Boost_FOUND} CACHE INTERNAL "Dependency boost has been resolved.") + +diff -u -r a/cmake/find/find_openimageio_ext.cmake b/cmake/find/find_openimageio_ext.cmake +--- a/cmake/find/find_openimageio_ext.cmake ++++ b/cmake/find/find_openimageio_ext.cmake +@@ -4,19 +4,17 @@ + + function(FIND_OPENIMAGEIO_EXT) + +- if(${CMAKE_VERSION} VERSION_LESS "3.19.0") +- find_package(OpenImageIO) +- if(OpenImageIO_FOUND) +- if(${OpenImageIO_VERSION} VERSION_LESS "2.4") +- set(OpenImageIO_FOUND OFF) +- message(WARNING "Found OpenImageIO version ${OpenImageIO_VERSION} is too old.") +- elseif(${OpenImageIO_VERSION} VERSION_GREATER_EQUAL "3.0") +- set(OpenImageIO_FOUND OFF) +- message(WARNING "Found OpenImageIO version ${OpenImageIO_VERSION} is too new.") +- endif() ++ # Explicit code since a version range on find_package() does not support multiple major ++ # versions. ++ find_package(OpenImageIO) ++ if(OpenImageIO_FOUND) ++ if(${OpenImageIO_VERSION} VERSION_LESS "2.4") ++ set(OpenImageIO_FOUND OFF) ++ message(WARNING "Found OpenImageIO version ${OpenImageIO_VERSION} is too old.") ++ elseif(${OpenImageIO_VERSION} VERSION_GREATER_EQUAL "4.0") ++ set(OpenImageIO_FOUND OFF) ++ message(WARNING "Found OpenImageIO version ${OpenImageIO_VERSION} is too new.") + endif() +- else() +- find_package(OpenImageIO 2.4...<3.0) + endif() + + # See https://github.com/microsoft/vcpkg/issues/29284 +diff -u -r a/src/shaders/plugin/openimageio/openimageio_utilities.cpp b/src/shaders/plugin/openimageio/openimageio_utilities.cpp +--- a/src/shaders/plugin/openimageio/openimageio_utilities.cpp ++++ b/src/shaders/plugin/openimageio/openimageio_utilities.cpp +@@ -421,14 +421,22 @@ + + const char* proxytype () const override { return "nv_reader"; } + void close() override { m_reader.reset(); } ++#if OIIO_VERSION >= OIIO_MAKE_VERSION(3,0,0) ++ int64_t tell() const override { return m_reader->tell_absolute(); } ++#else + int64_t tell() override { return m_reader->tell_absolute(); } ++#endif + bool seek( int64_t offset) override { return m_reader->seek_absolute( offset); } + size_t read( void* buf, size_t size) override; + size_t write( const void* buf, size_t size) override; + size_t pread( void* buf, size_t size, int64_t offset) override; + size_t pwrite( const void* buf, size_t size, int64_t offset) override; + size_t size() const override { return m_reader->get_file_size(); } ++#if OIIO_VERSION >= OIIO_MAKE_VERSION(3,0,0) ++ void flush() override { } ++#else + void flush() const override { } ++#endif + + private: + /// The wrapped reader. +@@ -502,14 +510,22 @@ + + const char* proxytype () const override { return "nv_writer"; } + void close() override { m_writer.reset(); } ++#if OIIO_VERSION >= OIIO_MAKE_VERSION(3,0,0) ++ int64_t tell() const override { return m_writer->tell_absolute(); } ++#else + int64_t tell() override { return m_writer->tell_absolute(); } ++#endif + bool seek( int64_t offset) override { return m_writer->seek_absolute( offset); } + size_t read( void* buf, size_t size) override; + size_t write( const void* buf, size_t size) override; + size_t pread( void* buf, size_t size, int64_t offset) override; + size_t pwrite( const void* buf, size_t size, int64_t offset) override; + size_t size() const override { return m_writer->get_file_size(); } ++#if OIIO_VERSION >= OIIO_MAKE_VERSION(3,0,0) ++ void flush() override { m_writer->flush(); } ++#else + void flush() const override { m_writer->flush(); } ++#endif + + private: + /// The wrapped writer. diff --git a/ports/mdl-sdk/portfile.cmake b/ports/mdl-sdk/portfile.cmake index 8148fa1a6e7dd0..43e465e5b23bd3 100644 --- a/ports/mdl-sdk/portfile.cmake +++ b/ports/mdl-sdk/portfile.cmake @@ -1,165 +1,139 @@ -vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) - -# Notes on Clang 7 binary download: -# MDL-SDK requires Clang version 7.0.0 previsely as a *build tool* not as a *source compiler* as it is usually used. -# This ports provides CMake instructions to fetch and use it to build this port - and only for this purpose: -# it will not be installed and as such not be usable by any other ports. -# -# More details on the why below: -# MDL-SDK supports its own source file format (NVIDIA MDL sources `.mdl`), and can codegen executable code at runtime using its own vendored and modified version of LLVM 7.0.0. -# Also, at buildtime MDL-SDK also "pre-compile" MDL core libraries as LLVM bitcode directly into its binaries (through generated c array in headers) using this very Clang 7.0.0. -# To have everything working together, we have to use a Clang as build tool which match the vendored LLVM version so that LLVM bitcode can be loaded/linked properly as it is not compatible across MLLVM versions. - -# Clang 7 build tool - -set(LLVM_VERSION 7.0.0) -set(LLVM_BASE_URL "https://releases.llvm.org/${LLVM_VERSION}") - -if(VCPKG_HOST_IS_WINDOWS) - set(LLVM_FILENAME "LLVM-${LLVM_VERSION}-win64.exe") - set(LLVM_HASH c2b1342469275279f833fdc1e17ba5a9f99021306d6ab3d7209822a01d690767739eebf92fd9f23a44de5c5d00260fed50d5262b23a8eccac55b8ae901e2815c) -elseif(VCPKG_HOST_IS_LINUX) - set(LLVM_FILENAME "clang+llvm-${LLVM_VERSION}-x86_64-linux-gnu-ubuntu-16.04.tar.xz") - set(LLVM_HASH fb3dc588137426dc28a20ef5e34e9341b18114f03bf7d83fafbb301efbfd801bba08615b804817c80252e366de9d2f8efbef034e53a1b885b34c86c2fbbf9c28) -elseif(VCPKG_HOST_IS_FREEBSD) - set(LLVM_FILENAME "clang+llvm-${LLVM_VERSION}-amd64-unknown-freebsd11.tar.xz") - set(LLVM_HASH d501484c38cfced196128866a19f7fef1e0b5d609ea050d085b7deab04ac8cc2bbf74b3cfe6cd90d8ea17a1d9cfca028a6c933f0736153ba48785ddc8646574f) -elseif(VCPKG_HOST_IS_OSX) - set(LLVM_FILENAME "clang+llvm-${LLVM_VERSION}-x86_64-apple-darwin.tar.xz") - set(LLVM_HASH c5ca6a7756e0cecdf78d4d0c522fe7e803d4b1b2049cb502a034fe8f5ca30fcbf0e738ebfbc89c87de8adcd90ea64f637eb82e9130bb846b43b91f67dfa4b916) -else() - message(FATAL_ERROR "Pre-built binaries for Clang 7 not available, aborting install (platform: ${VCPKG_CMAKE_SYSTEM_NAME}).") -endif() - -vcpkg_download_distfile(LLVM_ARCHIVE_PATH - URLS "${LLVM_BASE_URL}/${LLVM_FILENAME}" - SHA512 ${LLVM_HASH} - FILENAME "${LLVM_FILENAME}" -) - -if(VCPKG_TARGET_IS_WINDOWS) - get_filename_component(LLVM_BASENAME "${LLVM_FILENAME}" NAME_WE) - set(LLVM_DIRECTORY "${CURRENT_BUILDTREES_DIR}/src/${LLVM_BASENAME}") - file(REMOVE_RECURSE "${LLVM_DIRECTORY}") - file(MAKE_DIRECTORY "${LLVM_DIRECTORY}") - - vcpkg_find_acquire_program(7Z) - vcpkg_execute_in_download_mode( - COMMAND ${7Z} x - "${LLVM_ARCHIVE_PATH}" - "-o${LLVM_DIRECTORY}" - -y -bso0 -bsp0 - WORKING_DIRECTORY "${LLVM_DIRECTORY}" - ) -else() - vcpkg_extract_source_archive(LLVM_DIRECTORY - ARCHIVE "${LLVM_ARCHIVE_PATH}" - SOURCE_BASE "clang+llvm-${LLVM_VERSION}" - ) -endif() - -set(LLVM_CLANG7 "${LLVM_DIRECTORY}/bin/clang${VCPKG_HOST_EXECUTABLE_SUFFIX}") -if(NOT EXISTS "${LLVM_CLANG7}") - message(FATAL_ERROR "Missing required build tool clang 7, please check your setup.") -endif() - -# MDL-SDK - -# The patch "workaround gcc bit" works around included with gcc included with Ubuntu 22.04 -# failing to compile as used here, with errors originating *inside* like: -# [156/1742] /usr/bin/c++ -DBIT64=1 -DDEBUG -DHAS_SSE -DMDL_SOURCE_RELEASE -DMI_PLATFORM=\"linux-x86-64-gcc\" -DMI_PLATFORM_UNIX -DX86=1 -D_DEBUG -I/home/bion/vcpkg/buildtrees/mdl-sdk/x64-linux-dbg/src/base/system/main -I/home/bion/vcpkg/buildtrees/mdl-sdk/src/830ab63109-115b19fca8/src/base/system/main -I/home/bion/vcpkg/buildtrees/mdl-sdk/src/830ab63109-115b19fca8/include -I/home/bion/vcpkg/buildtrees/mdl-sdk/src/830ab63109-115b19fca8/src -fPIC -g -fPIC -fno-strict-aliasing -march=nocona -gdwarf-3 -gstrict-dwarf -Wall -Wvla -Wno-init-list-lifetime -Wno-placement-new -Wno-parentheses -Wno-sign-compare -Wno-narrowing -Wno-unused-but-set-variable -Wno-unused-local-typedefs -Wno-deprecated-declarations -Wno-unknown-pragmas -std=gnu++17 -MD -MT src/base/system/main/CMakeFiles/base-system-main.dir/module_registration_entry.cpp.o -MF src/base/system/main/CMakeFiles/base-system-main.dir/module_registration_entry.cpp.o.d -o src/base/system/main/CMakeFiles/base-system-main.dir/module_registration_entry.cpp.o -c /home/bion/vcpkg/buildtrees/mdl-sdk/src/830ab63109-115b19fca8/src/base/system/main/module_registration_entry.cpp -# FAILED: src/base/system/main/CMakeFiles/base-system-main.dir/module_registration_entry.cpp.o -# /usr/bin/c++ -DBIT64=1 -DDEBUG -DHAS_SSE -DMDL_SOURCE_RELEASE -DMI_PLATFORM=\"linux-x86-64-gcc\" -DMI_PLATFORM_UNIX -DX86=1 -D_DEBUG -I/home/bion/vcpkg/buildtrees/mdl-sdk/x64-linux-dbg/src/base/system/main -I/home/bion/vcpkg/buildtrees/mdl-sdk/src/830ab63109-115b19fca8/src/base/system/main -I/home/bion/vcpkg/buildtrees/mdl-sdk/src/830ab63109-115b19fca8/include -I/home/bion/vcpkg/buildtrees/mdl-sdk/src/830ab63109-115b19fca8/src -fPIC -g -fPIC -fno-strict-aliasing -march=nocona -gdwarf-3 -gstrict-dwarf -Wall -Wvla -Wno-init-list-lifetime -Wno-placement-new -Wno-parentheses -Wno-sign-compare -Wno-narrowing -Wno-unused-but-set-variable -Wno-unused-local-typedefs -Wno-deprecated-declarations -Wno-unknown-pragmas -std=gnu++17 -MD -MT src/base/system/main/CMakeFiles/base-system-main.dir/module_registration_entry.cpp.o -MF src/base/system/main/CMakeFiles/base-system-main.dir/module_registration_entry.cpp.o.d -o src/base/system/main/CMakeFiles/base-system-main.dir/module_registration_entry.cpp.o -c /home/bion/vcpkg/buildtrees/mdl-sdk/src/830ab63109-115b19fca8/src/base/system/main/module_registration_entry.cpp -# In file included from /home/bion/vcpkg/buildtrees/mdl-sdk/src/830ab63109-115b19fca8/src/base/system/main/types.h:37, -# from /home/bion/vcpkg/buildtrees/mdl-sdk/src/830ab63109-115b19fca8/src/base/system/main/module_registration_entry.h:39, -# from /home/bion/vcpkg/buildtrees/mdl-sdk/src/830ab63109-115b19fca8/src/base/system/main/module_registration_entry.cpp:34: -# /home/bion/vcpkg/buildtrees/mdl-sdk/src/830ab63109-115b19fca8/include/mi/base/types.h: In function ‘constexpr T mi::base::binary_cast(const S&)’: -# /home/bion/vcpkg/buildtrees/mdl-sdk/src/830ab63109-115b19fca8/include/mi/base/types.h:356:89: error: ‘bit_cast’ is not a member of ‘mi::base::std’ -# 356 | template constexpr T binary_cast(const S& src) noexcept { return std::bit_cast(src); } -# | ^~~~~~~~ -# /home/bion/vcpkg/buildtrees/mdl-sdk/src/830ab63109-115b19fca8/include/mi/base/types.h:356:99: error: expected primary-expression before ‘,’ token -# 356 | template constexpr T binary_cast(const S& src) noexcept { return std::bit_cast(src); } -# | ^ -# /home/bion/vcpkg/buildtrees/mdl-sdk/src/830ab63109-115b19fca8/include/mi/base/types.h:356:101: error: expected primary-expression before ‘>’ token -# 356 | template constexpr T binary_cast(const S& src) noexcept { return std::bit_cast(src); } -# | ^ - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO NVIDIA/MDL-SDK - REF d6c9a6560265025a30d16fcd9d664f830ab63109 - SHA512 d6161a317ca0fd3cf8c782f058fc43765d611b5f6a8e82da736f5164a0e1829a46f75e376715fcb7cb9521406365aa88880ed44235b2bf63899affcc5bd54091 - HEAD_REF master - PATCHES - 001-freeimage-from-vcpkg.patch - 002-install-rules.patch - 003-freeimage-disable-faxg3.patch - 004-missing-std-includes.patch - 005-missing-link-windows-crypt-libraries.patch - 006-guard-nonexisting-targets.patch - 007-plugin-options.patch - 008-build-static-llvm.patch - 009-include-priority-vendored-llvm.patch - 010-workaround-gcc-bit.patch - 011-fix-python.patch -) - -string(COMPARE NOTEQUAL "${VCPKG_CRT_LINKAGE}" "static" _MVSC_CRT_LINKAGE_OPTION) - -vcpkg_find_acquire_program(PYTHON3) - -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - FEATURES - dds MDL_BUILD_DDS_PLUGIN - freeimage MDL_BUILD_FREEIMAGE_PLUGIN -) - -file(COPY "${CMAKE_CURRENT_LIST_DIR}/unofficial-mdl-config.cmake.in" DESTINATION "${SOURCE_PATH}") - -vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - -DMDL_LOG_DEPENDENCIES:BOOL=ON - - -DMDL_MSVC_DYNAMIC_RUNTIME_EXAMPLES:BOOL=${_MVSC_CRT_LINKAGE_OPTION} - - -DMDL_ENABLE_CUDA_EXAMPLES:BOOL=OFF - -DMDL_ENABLE_OPENGL_EXAMPLES:BOOL=OFF - -DMDL_ENABLE_QT_EXAMPLES:BOOL=OFF - -DMDL_ENABLE_D3D12_EXAMPLES:BOOL=OFF - -DMDL_ENABLE_OPTIX7_EXAMPLES:BOOL=OFF - -DMDL_ENABLE_MATERIALX:BOOL=OFF - - -DMDL_BUILD_SDK_EXAMPLES:BOOL=OFF - -DMDL_BUILD_CORE_EXAMPLES:BOOL=OFF - -DMDL_BUILD_ARNOLD_PLUGIN:BOOL=OFF - - -Dpython_PATH:PATH=${PYTHON3} - -Dclang_PATH:PATH=${LLVM_CLANG7} - - ${FEATURE_OPTIONS} - - MAYBE_UNUSED_VARIABLES - -DCMAKE_DISABLE_FIND_PACKAGE_GLEW=ON - -DCMAKE_DISABLE_FIND_PACKAGE_glfw3=ON - -DCMAKE_DISABLE_FIND_PACKAGE_LibXml2=ON - -DCMAKE_DISABLE_FIND_PACKAGE_OCaml=ON - -DCMAKE_DISABLE_FIND_PACKAGE_OpenGL=ON - -DCMAKE_DISABLE_FIND_PACKAGE_Qt5=ON - -DCMAKE_DISABLE_FIND_PACKAGE_Subversion=ON -) - -vcpkg_cmake_install() - -vcpkg_copy_pdbs() -vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-mdl) -vcpkg_copy_tools( - TOOL_NAMES i18n mdlc mdlm - AUTO_CLEAN -) - -file(REMOVE_RECURSE - "${CURRENT_PACKAGES_DIR}/debug/include" -) - -file(INSTALL "${SOURCE_PATH}/LICENSE.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) + + + +# Clang +# +# The MDL SDK includes a vendored copy of a specific LLVM version, to generate +# JIT code at runtime for various backends. This code needs to be linked with +# parts that are precompiled at build time. This precompilation step needs a +# matching clang compiler. +# +# This port provides CMake instructions to fetch clang and use it to build this +# port. It will not be installed, and is not usable by other ports. + +# There are no MacOS binaries for 12.0.1, use 12.0.0 instead. +if(VCPKG_HOST_IS_OSX) + set(LLVM_VERSION 12.0.0) +else() + set(LLVM_VERSION 12.0.1) +endif() + +set(LLVM_BASE_URL "https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_VERSION}") + +if(VCPKG_HOST_IS_WINDOWS AND (VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")) + set(LLVM_FILENAME "LLVM-${LLVM_VERSION}-win64.exe") + set(LLVM_HASH 733bfb425af2e7e4f187fca6d9cfdf7ecc9aa846ef2c227d57fad7cc67d114bde27e49385df362cb399c4aa0e2d481890e2148756a18925b0229ad516a9f8bb4) +elseif(VCPKG_HOST_IS_LINUX AND (VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")) + set(LLVM_FILENAME "clang+llvm-${LLVM_VERSION}-x86_64-linux-gnu-ubuntu-16.04.tar.xz") + set(LLVM_HASH 6f1eb4ef9885ea7ce56581000e42595f72be37901c213377c8716d160b84441fd017a0a062b188e574a6873b320d3bf2c850beb9822cf4c0025c543effb37a00) +elseif(VCPKG_HOST_IS_LINUX AND (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")) + set(LLVM_FILENAME "clang+llvm-${LLVM_VERSION}-aarch64-linux-gnu.tar.xz") + set(LLVM_HASH 7a979641def7d575bf5c9dbc0343212b31d840e65b06b89fcdf37e7835c56ba8d695a6508f13516eecc3a0ea87409e548993c64265a700e83789c9c5c8d1f88b) +elseif(VCPKG_HOST_IS_OSX AND (VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")) + set(LLVM_FILENAME "clang+llvm-${LLVM_VERSION}-x86_64-apple-darwin.tar.xz") + set(LLVM_HASH 2e74791425c12dacc201c5cfc38be7abe0ac670ddb079e75d477bf3f78d1dad442d1b4c819d67e0ba51c4474d8b7a726d4c50b7ad69d536e30edc38d1dce78b8) +else() + message(FATAL_ERROR "Pre-built binaries for Clang ${LLVM_VERSION} not available, aborting install.") +endif() + +vcpkg_download_distfile(LLVM_ARCHIVE_PATH + URLS "${LLVM_BASE_URL}/${LLVM_FILENAME}" + SHA512 ${LLVM_HASH} + FILENAME "${LLVM_FILENAME}" +) + +if(VCPKG_TARGET_IS_WINDOWS) + get_filename_component(LLVM_BASENAME "${LLVM_FILENAME}" NAME_WE) + set(LLVM_DIRECTORY "${CURRENT_BUILDTREES_DIR}/src/${LLVM_BASENAME}") + file(REMOVE_RECURSE "${LLVM_DIRECTORY}") + file(MAKE_DIRECTORY "${LLVM_DIRECTORY}") + + vcpkg_find_acquire_program(7Z) + vcpkg_execute_in_download_mode( + COMMAND ${7Z} x "${LLVM_ARCHIVE_PATH}" "-o${LLVM_DIRECTORY}" -y -bso0 -bsp0 + WORKING_DIRECTORY "${LLVM_DIRECTORY}" + ) +else() + vcpkg_extract_source_archive(LLVM_DIRECTORY + ARCHIVE "${LLVM_ARCHIVE_PATH}" + SOURCE_BASE "clang+llvm-${LLVM_VERSION}" + ) +endif() + +set(LLVM_CLANG "${LLVM_DIRECTORY}/bin/clang${VCPKG_HOST_EXECUTABLE_SUFFIX}") +if(NOT EXISTS "${LLVM_CLANG}") + message(FATAL_ERROR "Missing required build tool clang ${LLVM_VERSION}, please check your setup.") +endif() + + + +# MDL-SDK +# +# Note about "supports:" in vcpkg.json: +# !x86, !(windows & (staticcrt | arm | uwp)), !android: not supported by the MDL SDK +# !(osx & arm): no precompiled clang 12 binaries available + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO NVIDIA/MDL-SDK + REF "${VERSION}" + SHA512 56a8ae1912da50e95ecae2368615da9a5d74191ed8b84e343e5b06adda981969d0c9b2a2228a1f4669918b71e8a942f4757fc712cbe995be6e3aca863ad72a04 + HEAD_REF master + PATCHES + 008-build-static-llvm.patch + 012-remove-wrong-llvm-cxx-standard.patch + 013-openimageio-3.0.patch +) + +vcpkg_find_acquire_program(PYTHON3) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + dds MDL_BUILD_DDS_PLUGIN + openimageio MDL_BUILD_OPENIMAGEIO_PLUGIN +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DMDL_LOG_DEPENDENCIES:BOOL=ON + -DMDL_BUILD_SDK:BOOL=ON + -DMDL_BUILD_SDK_EXAMPLES:BOOL=OFF + -DMDL_BUILD_CORE_EXAMPLES:BOOL=OFF + -DMDL_BUILD_DOCUMENTATION:BOOL=OFF + -DMDL_BUILD_ARNOLD_PLUGIN:BOOL=OFF + -DMDL_ENABLE_UNIT_TESTS:BOOL=OFF + -DMDL_ENABLE_PYTHON_BINDINGS:BOOL=OFF + -DMDL_TREAT_RUNTIME_DEPS_AS_BUILD_DEPS:BOOL=OFF + ${FEATURE_OPTIONS} + -Dpython_PATH:PATH=${PYTHON3} + -Dclang_PATH:PATH=${LLVM_CLANG} +) + +vcpkg_cmake_install() + +vcpkg_copy_pdbs() + +vcpkg_copy_tools( + TOOL_NAMES i18n mdl_distiller_cli mdlc mdlm mdltlc + AUTO_CLEAN +) + +vcpkg_cmake_config_fixup(PACKAGE_NAME "mdl") + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/doc" + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/doc" +) + +# install usage file +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +# merge all license files into copyright +file(INSTALL "${SOURCE_PATH}/LICENSE.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(READ "${SOURCE_PATH}/LICENSE_IMAGES.md" _images) +file(APPEND "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" "\n\n${_images}") +file(READ "${SOURCE_PATH}/LICENSE_THIRD_PARTY.md" _third_party) +file(APPEND "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" "\n\n${_third_party}") diff --git a/ports/mdl-sdk/unofficial-mdl-config.cmake.in b/ports/mdl-sdk/unofficial-mdl-config.cmake.in deleted file mode 100644 index be605b2932d6a5..00000000000000 --- a/ports/mdl-sdk/unofficial-mdl-config.cmake.in +++ /dev/null @@ -1,10 +0,0 @@ -@PACKAGE_INIT@ - -include(CMakeFindDependencyMacro) - -find_dependency(Boost) -find_dependency(freeimage CONFIG) -find_dependency(OpenGL) - -include("@PACKAGE_PATH_EXPORT_TARGETS@") -check_required_components("@PROJECT_NAME@") diff --git a/ports/mdl-sdk/usage b/ports/mdl-sdk/usage new file mode 100644 index 00000000000000..53ce12f98c5822 --- /dev/null +++ b/ports/mdl-sdk/usage @@ -0,0 +1,8 @@ +mdl-sdk provides CMake targets: + + find_package(mdl CONFIG REQUIRED) + target_link_libraries(main PRIVATE mdl::mdl_sdk) + + # Or if you want to use only the MDL Core library: + find_package(mdl CONFIG REQUIRED) + target_link_libraries(main PRIVATE mdl::mdl_core) diff --git a/ports/mdl-sdk/vcpkg.json b/ports/mdl-sdk/vcpkg.json index 2f473ed2964a18..c7bb6d3116ad09 100644 --- a/ports/mdl-sdk/vcpkg.json +++ b/ports/mdl-sdk/vcpkg.json @@ -1,24 +1,19 @@ { "name": "mdl-sdk", - "version": "2021.1.2", - "port-version": 3, + "version": "2024.0.4", + "port-version": 1, "description": "NVIDIA Material Definition Language SDK", "homepage": "https://github.com/NVIDIA/MDL-SDK", "license": "BSD-3-Clause", - "supports": "!arm & !x86 & !(windows & static)", + "supports": "!x86 & !(windows & (staticcrt | arm | uwp)) & !(osx & arm) & !android", "dependencies": [ "boost-algorithm", - "boost-any", - "boost-bind", "boost-core", - "boost-function", + "boost-dynamic-bitset", "boost-functional", - "boost-smart-ptr", + "boost-intrusive", "boost-tokenizer", "boost-unordered", - "boost-uuid", - "freeimage", - "opengl", { "name": "vcpkg-cmake", "host": true @@ -32,10 +27,17 @@ "dds": { "description": "Build image plugin for DDS" }, - "freeimage": { - "description": "Build image plugin for various image formats using Freeimage", + "openimageio": { + "description": "Build image plugin for various image formats using OpenImageIO", "dependencies": [ - "freeimage" + { + "name": "openimageio", + "features": [ + "gif", + "openjpeg", + "webp" + ] + } ] } } diff --git a/ports/mecab/portfile.cmake b/ports/mecab/portfile.cmake index b288e2ab3ceb75..83dc2cd8925025 100644 --- a/ports/mecab/portfile.cmake +++ b/ports/mecab/portfile.cmake @@ -20,6 +20,8 @@ file(COPY "${SOURCE_PATH}/mecab/COPYING" DESTINATION "${SOURCE_PATH}/mecab/src") vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}/mecab/src" WINDOWS_USE_MSBUILD + OPTIONS + -DCMAKE_CXX_STANDARD=11 # 17 does not allow 'register' ) vcpkg_cmake_install() diff --git a/ports/mecab/vcpkg.json b/ports/mecab/vcpkg.json index b59d7130ec59e6..ff532e5d69b687 100644 --- a/ports/mecab/vcpkg.json +++ b/ports/mecab/vcpkg.json @@ -1,7 +1,7 @@ { "name": "mecab", "version-date": "2019-09-25", - "port-version": 5, + "port-version": 6, "description": "A morphological analysis engine based on CRF", "supports": "!uwp & !(arm & windows)", "dependencies": [ diff --git a/ports/meekrosoft-fff/portfile.cmake b/ports/meekrosoft-fff/portfile.cmake new file mode 100644 index 00000000000000..3c1589520eee1b --- /dev/null +++ b/ports/meekrosoft-fff/portfile.cmake @@ -0,0 +1,12 @@ +set(VCPKG_BUILD_TYPE release) # Header-only library + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO meekrosoft/fff + REF "v${VERSION}" + SHA512 92890152f37e9e8b3961be2b8d2633f374ce1a16f4d78d8c6ea070a5ca35c08a75b71227465133b6ffd5bfb481246a73df4109f8b141fa83c7e22b0d31e6f903 + HEAD_REF master +) + +file(INSTALL "${SOURCE_PATH}/fff.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/meekrosoft-fff/vcpkg.json b/ports/meekrosoft-fff/vcpkg.json new file mode 100644 index 00000000000000..61de59e87af913 --- /dev/null +++ b/ports/meekrosoft-fff/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "meekrosoft-fff", + "version": "1.1", + "description": "A testing micro framework for creating function test doubles", + "homepage": "https://github.com/meekrosoft/fff", + "license": "MIT" +} diff --git a/ports/mesa/clover-llvm-move-to-modern-pass-manager.patch b/ports/mesa/clover-llvm-move-to-modern-pass-manager.patch deleted file mode 100644 index 902336776cbd19..00000000000000 --- a/ports/mesa/clover-llvm-move-to-modern-pass-manager.patch +++ /dev/null @@ -1,127 +0,0 @@ -From 2d4fe5f229791fde52846b3f583c12508b5109d6 Mon Sep 17 00:00:00 2001 -From: Dave Airlie -Date: Fri, 25 Aug 2023 12:43:44 +1000 -Subject: [PATCH] clover/llvm: move to modern pass manager. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This seems like it should work, but I haven't tested it yet. - -Tested-by: Dieter Nützel -Part-of: ---- - .../frontends/clover/llvm/invocation.cpp | 64 +++++++++++++++---- - 1 file changed, 51 insertions(+), 13 deletions(-) - -diff --git a/src/gallium/frontends/clover/llvm/invocation.cpp b/src/gallium/frontends/clover/llvm/invocation.cpp -index 7a50fea332395..43d26fe1abbce 100644 ---- a/src/gallium/frontends/clover/llvm/invocation.cpp -+++ b/src/gallium/frontends/clover/llvm/invocation.cpp -@@ -27,13 +27,17 @@ - #include - #include - #include -+#include - #include --#include -+#include - #include - #ifdef HAVE_CLOVER_SPIRV - #include - #endif - -+#include -+#include -+#include - #include - #include - #include -@@ -439,10 +443,10 @@ clover::llvm::compile_program(const std::string &source, - - namespace { - void -- optimize(Module &mod, unsigned optimization_level, -+ optimize(Module &mod, -+ const std::string& ir_target, -+ unsigned optimization_level, - bool internalize_symbols) { -- ::llvm::legacy::PassManager pm; -- - // By default, the function internalizer pass will look for a function - // called "main" and then mark all other functions as internal. Marking - // functions as internal enables the optimizer to perform optimizations -@@ -458,19 +462,53 @@ namespace { - if (internalize_symbols) { - std::vector names = - map(std::mem_fn(&Function::getName), get_kernels(mod)); -- pm.add(::llvm::createInternalizePass( -+ internalizeModule(mod, - [=](const ::llvm::GlobalValue &gv) { - return std::find(names.begin(), names.end(), - gv.getName()) != names.end(); -- })); -+ }); - } - -- ::llvm::PassManagerBuilder pmb; -- pmb.OptLevel = optimization_level; -- pmb.LibraryInfo = new ::llvm::TargetLibraryInfoImpl( -- ::llvm::Triple(mod.getTargetTriple())); -- pmb.populateModulePassManager(pm); -- pm.run(mod); -+ -+ const char *opt_str = NULL; -+ LLVMCodeGenOptLevel level; -+ switch (optimization_level) { -+ case 0: -+ default: -+ opt_str = "default"; -+ level = LLVMCodeGenLevelNone; -+ break; -+ case 1: -+ opt_str = "default"; -+ level = LLVMCodeGenLevelLess; -+ break; -+ case 2: -+ opt_str = "default"; -+ level = LLVMCodeGenLevelDefault; -+ break; -+ case 3: -+ opt_str = "default"; -+ level = LLVMCodeGenLevelAggressive; -+ break; -+ } -+ -+ const target &target = ir_target; -+ LLVMTargetRef targ; -+ char *err_message; -+ -+ if (LLVMGetTargetFromTriple(target.triple.c_str(), &targ, &err_message)) -+ return; -+ LLVMTargetMachineRef tm = -+ LLVMCreateTargetMachine(targ, target.triple.c_str(), -+ target.cpu.c_str(), "", level, -+ LLVMRelocDefault, LLVMCodeModelDefault); -+ -+ if (!tm) -+ return; -+ LLVMPassBuilderOptionsRef opts = LLVMCreatePassBuilderOptions(); -+ LLVMRunPasses(wrap(&mod), opt_str, tm, opts); -+ -+ LLVMDisposeTargetMachine(tm); - } - - std::unique_ptr -@@ -500,7 +538,7 @@ clover::llvm::link_program(const std::vector &binaries, - auto c = create_compiler_instance(dev, dev.ir_target(), options, r_log); - auto mod = link(*ctx, *c, binaries, r_log); - -- optimize(*mod, c->getCodeGenOpts().OptimizationLevel, !create_library); -+ optimize(*mod, dev.ir_target(), c->getCodeGenOpts().OptimizationLevel, !create_library); - - static std::atomic_uint seq(0); - const std::string id = "." + mod->getModuleIdentifier() + "-" + --- -GitLab - diff --git a/ports/mesa/gallium-fix-build-with-llvm-17.patch b/ports/mesa/gallium-fix-build-with-llvm-17.patch deleted file mode 100644 index cea5a17f30798d..00000000000000 --- a/ports/mesa/gallium-fix-build-with-llvm-17.patch +++ /dev/null @@ -1,42 +0,0 @@ -From cda32e18a08fa2f2289a7409f37f44d5643e6aea Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 23 Jun 2023 01:20:38 -0700 -Subject: [PATCH] gallium: Fix build with llvm 17 - -These headers are not available for C files in llvm 17+ -and they seem to be not needed to compile after all with llvm 17 -so add conditions to exclude them for llvm >= 17 - -Signed-off-by: Khem Raj ---- - src/gallium/auxiliary/gallivm/lp_bld_init.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_init.c b/src/gallium/auxiliary/gallivm/lp_bld_init.c -index cd2108f3a088d..b1a4d0388a6a0 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_init.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_init.c -@@ -46,15 +46,19 @@ - #if GALLIVM_USE_NEW_PASS == 1 - #include - #elif GALLIVM_HAVE_CORO == 1 -+#if LLVM_VERSION_MAJOR < 17 - #include --#if LLVM_VERSION_MAJOR >= 7 -+#endif -+#if LLVM_VERSION_MAJOR >= 7 && LLVM_VERSION_MAJOR < 17 - #include - #endif - #if LLVM_VERSION_MAJOR <= 8 && (DETECT_ARCH_AARCH64 || DETECT_ARCH_ARM || DETECT_ARCH_S390 || DETECT_ARCH_MIPS64) - #include - #endif -+#if LLVM_VERSION_MAJOR < 17 - #include - #endif -+#endif - - unsigned gallivm_perf = 0; - --- -GitLab - diff --git a/ports/mesa/portfile.cmake b/ports/mesa/portfile.cmake index d2f25670dd6fcd..b0916dd81de465 100644 --- a/ports/mesa/portfile.cmake +++ b/ports/mesa/portfile.cmake @@ -8,15 +8,14 @@ vcpkg_from_gitlab( OUT_SOURCE_PATH SOURCE_PATH REPO mesa/mesa REF mesa-${VERSION} - SHA512 96f7602c98d532a269116bd5d3f9cbe87ca4425b309467cc19f83277a0faaa9804edea72dcaeb6f7774cac17790d5d76b58c357ef639cb6064e7480d93b861bf + SHA512 202b2b20ffe7d357570a0d0bf0b53dc246b3e903738e8c8a000c5f61109ab5233d62de217444f49fd62927f8c418d929e5a2a5a800d1e39e334d50eb090e850c FILE_DISAMBIGUATOR 1 HEAD_REF master - PATCHES - gallium-fix-build-with-llvm-17.patch - clover-llvm-move-to-modern-pass-manager.patch ) x_vcpkg_get_python_packages(PYTHON_VERSION "3" OUT_PYTHON_VAR "PYTHON3" PACKAGES setuptools mako) +get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY) +vcpkg_add_to_path(PREPEND "${PYTHON3_DIR}") vcpkg_find_acquire_program(FLEX) get_filename_component(FLEX_DIR "${FLEX}" DIRECTORY) @@ -25,7 +24,7 @@ vcpkg_find_acquire_program(BISON) get_filename_component(BISON_DIR "${BISON}" DIRECTORY) vcpkg_add_to_path(PREPEND "${BISON_DIR}") -if(WIN32) # WIN32 HOST probably has win_flex and win_bison! +if(CMAKE_HOST_WIN32) # WIN32 HOST probably has win_flex and win_bison! if(NOT EXISTS "${FLEX_DIR}/flex${VCPKG_HOST_EXECUTABLE_SUFFIX}") if(FLEX_DIR MATCHES "${DOWNLOADS}") file(CREATE_LINK "${FLEX}" "${FLEX_DIR}/flex${VCPKG_HOST_EXECUTABLE_SUFFIX}") @@ -44,13 +43,9 @@ endif() # For features https://github.com/pal1000/mesa-dist-win should be probably studied a bit more. list(APPEND MESA_OPTIONS -Dzstd=enabled) -list(APPEND MESA_OPTIONS -Dshared-llvm=auto) -list(APPEND MESA_OPTIONS -Dlibunwind=disabled) -list(APPEND MESA_OPTIONS -Dlmsensors=disabled) list(APPEND MESA_OPTIONS -Dvalgrind=disabled) -list(APPEND MESA_OPTIONS -Dglvnd=false) -list(APPEND MESA_OPTIONS -Dglx=disabled) -list(APPEND MESA_OPTIONS -Dgbm=disabled) +list(APPEND MESA_OPTIONS -Dshared-llvm=disabled) +list(APPEND MESA_OPTIONS -Dcpp_rtti=true) if("offscreen" IN_LIST FEATURES) list(APPEND MESA_OPTIONS -Dosmesa=true) @@ -64,29 +59,32 @@ else() list(APPEND MESA_OPTIONS -Dllvm=disabled) endif() +set(use_gles OFF) if("gles1" IN_LIST FEATURES) list(APPEND MESA_OPTIONS -Dgles1=enabled) + set(use_gles ON) else() list(APPEND MESA_OPTIONS -Dgles1=disabled) endif() if("gles2" IN_LIST FEATURES) list(APPEND MESA_OPTIONS -Dgles2=enabled) + set(use_gles ON) else() list(APPEND MESA_OPTIONS -Dgles2=disabled) endif() -if("opengl" IN_LIST FEATURES) - list(APPEND MESA_OPTIONS -Dopengl=true) + +if(use_gles) + list(APPEND MESA_OPTIONS -Dshared-glapi=enabled) # shared GLAPI required when building two or more of the following APIs - gles1 gles2 else() - list(APPEND MESA_OPTIONS -Dopengl=false) + list(APPEND MESA_OPTIONS -Dshared-glapi=auto) endif() -if("egl" IN_LIST FEATURES) # EGL feature only works on Linux + +if("egl" IN_LIST FEATURES) list(APPEND MESA_OPTIONS -Degl=enabled) else() list(APPEND MESA_OPTIONS -Degl=disabled) endif() -list(APPEND MESA_OPTIONS -Dshared-glapi=enabled) #shared GLAPI required when building two or more of the following APIs - opengl, gles1 gles2 - if(VCPKG_TARGET_IS_WINDOWS) list(APPEND MESA_OPTIONS -Dplatforms=['windows']) list(APPEND MESA_OPTIONS -Dmicrosoft-clc=disabled) @@ -100,10 +98,12 @@ vcpkg_configure_meson( SOURCE_PATH "${SOURCE_PATH}" OPTIONS -Dgles-lib-suffix=_mesa - #-D egl-lib-suffix=_mesa -Dbuild-tests=false ${MESA_OPTIONS} - ) + ADDITIONAL_BINARIES + python=['${PYTHON3}','-I'] + python3=['${PYTHON3}','-I'] +) vcpkg_install_meson() vcpkg_fixup_pkgconfig() diff --git a/ports/mesa/vcpkg.json b/ports/mesa/vcpkg.json index dbf67a89b777fb..2f29d664d4566b 100644 --- a/ports/mesa/vcpkg.json +++ b/ports/mesa/vcpkg.json @@ -1,6 +1,7 @@ { "name": "mesa", - "version": "23.2.1", + "version": "24.0.7", + "port-version": 2, "description": "Mesa - The 3D Graphics Library", "homepage": "https://www.mesa3d.org/", "license": "MIT AND BSL-1.0 AND SGI-B-2.0", @@ -29,8 +30,7 @@ "default-features": false, "features": [ "gles1", - "gles2", - "opengl" + "gles2" ] }, { @@ -52,25 +52,13 @@ "gles1": { "description": "Build support for OpenGL ES 1.x", "dependencies": [ - { - "name": "mesa", - "default-features": false, - "features": [ - "opengl" - ] - } + "opengl" ] }, "gles2": { "description": "Build support for OpenGL ES 2.x and 3.x", "dependencies": [ - { - "name": "mesa", - "default-features": false, - "features": [ - "opengl" - ] - } + "opengl" ] }, "llvm": { @@ -112,18 +100,6 @@ }, "offscreen": { "description": "Build with support for offscreen rendering (OSMesa)", - "dependencies": [ - { - "name": "mesa", - "default-features": false, - "features": [ - "opengl" - ] - } - ] - }, - "opengl": { - "description": "Build support for OpenGL (all versions)", "dependencies": [ "opengl" ] diff --git a/ports/meshoptimizer/portfile.cmake b/ports/meshoptimizer/portfile.cmake index 2feb437a45a178..ec9536d7313a53 100644 --- a/ports/meshoptimizer/portfile.cmake +++ b/ports/meshoptimizer/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO zeux/meshoptimizer - REF v0.19 - SHA512 4de938cb8fbbbe42305511a18e1cba64d6774751604d64f06a6e581fa739c656528b443fdda492459138b9a42c898af8d1d0752777b48a8832e3bef08eb4a522 + REF v${VERSION} + SHA512 6fbb9c5a98dad8616562d60ed5eb08030c101edd81fb028d906ea0aa8261369e942c0eeadf163283c8acac7858728b9277ef557cb8d38e972c7fe97771c0b4c4 HEAD_REF master ) diff --git a/ports/meshoptimizer/vcpkg.json b/ports/meshoptimizer/vcpkg.json index d6cff3b0534700..75ae417222aae7 100644 --- a/ports/meshoptimizer/vcpkg.json +++ b/ports/meshoptimizer/vcpkg.json @@ -1,7 +1,6 @@ { "name": "meshoptimizer", - "version": "0.19", - "port-version": 1, + "version": "0.22", "description": "Mesh optimization library that makes meshes smaller and faster to render", "homepage": "https://github.com/zeux/meshoptimizer", "license": "MIT", diff --git a/ports/mfx-dispatch/portfile.cmake b/ports/mfx-dispatch/portfile.cmake index 6ede0337301ca2..693a5650b003a7 100644 --- a/ports/mfx-dispatch/portfile.cmake +++ b/ports/mfx-dispatch/portfile.cmake @@ -1,25 +1,30 @@ vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO lu-zero/mfx_dispatch - REF 1.35.1 - SHA512 12517338342d3e653043a57e290eb9cffd190aede0c3a3948956f1c7f12f0ea859361cf3e534ab066b96b1c211f68409c67ef21fd6d76b68cc31daef541941b0 - HEAD_REF master - PATCHES - fix-unresolved-symbol.patch - fix-pkgconf.patch + OUT_SOURCE_PATH SOURCE_PATH + REPO lu-zero/mfx_dispatch + REF "${VERSION}" + SHA512 12517338342d3e653043a57e290eb9cffd190aede0c3a3948956f1c7f12f0ea859361cf3e534ab066b96b1c211f68409c67ef21fd6d76b68cc31daef541941b0 + HEAD_REF master + PATCHES + fix-unresolved-symbol.patch + fix-pkgconf.patch ) -set(LIBRARY_TYPE ${VCPKG_LIBRARY_LINKAGE}) -if (LIBRARY_TYPE STREQUAL "dynamic") - set(LIBRARY_TYPE "shared") +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + ) + vcpkg_cmake_install() + vcpkg_copy_pdbs() +else() + if(VCPKG_TARGET_IS_MINGW) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + endif() + vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + ) + vcpkg_install_make() endif() - -vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" -) - -vcpkg_cmake_install() -vcpkg_copy_pdbs() vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/mfx-dispatch/vcpkg.json b/ports/mfx-dispatch/vcpkg.json index 505a076b1c86e9..888e39c4268467 100644 --- a/ports/mfx-dispatch/vcpkg.json +++ b/ports/mfx-dispatch/vcpkg.json @@ -1,15 +1,16 @@ { "name": "mfx-dispatch", "version": "1.35.1", - "port-version": 3, + "port-version": 4, "description": "Open source Intel media sdk dispatcher", "homepage": "https://github.com/lu-zero/mfx_dispatch", "license": "BSD-3-Clause", - "supports": "!linux & !uwp & !osx", + "supports": "((x86 | x64) & (android | linux)) | (windows & !uwp)", "dependencies": [ { "name": "vcpkg-cmake", - "host": true + "host": true, + "platform": "windows & !mingw" } ] } diff --git a/ports/michaelmiller-sec21/portfile.cmake b/ports/michaelmiller-sec21/portfile.cmake new file mode 100644 index 00000000000000..ce86cb409efc0c --- /dev/null +++ b/ports/michaelmiller-sec21/portfile.cmake @@ -0,0 +1,23 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO MichaelMiller-/sec21 + REF "v${VERSION}" + SHA512 b9aab9d305e435db066f413a8e49d5622e83dc02d8e0ff0150a0edabf1b1dfd286f7aa5a3593b34c6f616fdd79caa3edbfeb09ff3b66aab80c0138aa2ca5950c + HEAD_REF master +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS -DBUILD_TESTING=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME "sec21" CONFIG_PATH lib/cmake/sec21) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") + +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" COPYONLY) diff --git a/ports/michaelmiller-sec21/usage b/ports/michaelmiller-sec21/usage new file mode 100644 index 00000000000000..fedcc9b3771af9 --- /dev/null +++ b/ports/michaelmiller-sec21/usage @@ -0,0 +1,4 @@ +michaelmiller-sec21 provides CMake targets: + +find_package(sec21 CONFIG REQUIRED) +target_link_libraries(main PRIVATE sec21::sec21) diff --git a/ports/michaelmiller-sec21/vcpkg.json b/ports/michaelmiller-sec21/vcpkg.json new file mode 100644 index 00000000000000..82e96b09e25a25 --- /dev/null +++ b/ports/michaelmiller-sec21/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "michaelmiller-sec21", + "version": "1.0.1", + "description": "sec21 is a collection of useful functions and classes.", + "homepage": "https://github.com/MichaelMiller-/sec21", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/micro-gl/portfile.cmake b/ports/micro-gl/portfile.cmake new file mode 100644 index 00000000000000..7ed9e8a47ae942 --- /dev/null +++ b/ports/micro-gl/portfile.cmake @@ -0,0 +1,17 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO micro-gl/micro-gl + REF 1c1dafeccb1b92467d3fd82de00e022a318c8ce8 + SHA512 57dd6d8bd633a79d5837c70572547e090c87bbec3e5e0d4f2914f0af11d683b200a452568a78964a3eaa271a6d316863a9a5f2a5f79ae7649e279904ec950962 + HEAD_REF master +) + +vcpkg_replace_string("${SOURCE_PATH}/CMakeLists.txt" "add_subdirectory(examples)" "") + +vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}") + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(PACKAGE_NAME microgl CONFIG_PATH "share/microgl/cmake") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.MD") diff --git a/ports/micro-gl/vcpkg.json b/ports/micro-gl/vcpkg.json new file mode 100644 index 00000000000000..ca831da03c3815 --- /dev/null +++ b/ports/micro-gl/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "micro-gl", + "version-date": "2024-06-18", + "description": "Fast, Super Slim, Embeddable, Headers only C++11 vector graphics library, that can run on any 32/64 bits computer without FPU or GPU. No standard library required.", + "homepage": "https://micro-gl.github.io/docs/microgl", + "license": null, + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/microsoft-signalr/fix-miss-header.patch b/ports/microsoft-signalr/fix-miss-header.patch new file mode 100644 index 00000000000000..f929c373f68b89 --- /dev/null +++ b/ports/microsoft-signalr/fix-miss-header.patch @@ -0,0 +1,36 @@ +diff --git a/src/signalrclient/binary_message_parser.h b/src/signalrclient/binary_message_parser.h +index 349b979..f33533d 100644 +--- a/src/signalrclient/binary_message_parser.h ++++ b/src/signalrclient/binary_message_parser.h +@@ -5,6 +5,7 @@ + #pragma once + + #ifdef USE_MSGPACK ++#include + + namespace signalr + { +diff --git a/src/signalrclient/signalr_client_config.cpp b/src/signalrclient/signalr_client_config.cpp +index adbc3ae..dbca837 100644 +--- a/src/signalrclient/signalr_client_config.cpp ++++ b/src/signalrclient/signalr_client_config.cpp +@@ -5,6 +5,7 @@ + #include "stdafx.h" + #include "signalrclient/signalr_client_config.h" + #include "signalr_default_scheduler.h" ++#include + + namespace signalr + { +diff --git a/src/signalrclient/transport_factory.cpp b/src/signalrclient/transport_factory.cpp +index 7443672..a8add79 100644 +--- a/src/signalrclient/transport_factory.cpp ++++ b/src/signalrclient/transport_factory.cpp +@@ -6,6 +6,7 @@ + #include "transport_factory.h" + #include "websocket_transport.h" + #include "signalrclient/websocket_client.h" ++#include + + namespace signalr + { diff --git a/ports/microsoft-signalr/portfile.cmake b/ports/microsoft-signalr/portfile.cmake index d48abb7fee872d..96dd2d53e9e918 100644 --- a/ports/microsoft-signalr/portfile.cmake +++ b/ports/microsoft-signalr/portfile.cmake @@ -1,3 +1,12 @@ +if(EXISTS ${CURRENT_INSTALLED_DIR}/share/signalrclient/copyright) + message(FATAL_ERROR "'${PORT}' conflicts with 'signalrclient'. Please remove signalrclient:${TARGET_TRIPLET}, and try to install ${PORT}:${TARGET_TRIPLET} again.") +endif() +vcpkg_download_distfile(PATCH_FIX_GCC_13_COMPILATION + URLS https://github.com/aspnet/SignalR-Client-Cpp/commit/66458704cf588eae28b490b73bbc8261bf04f31a.diff?full_index=1 + SHA512 e8b6edbc84f9f6fd1fe5f0f63a1b66004d562c3926ab9130a2ce4fa7137e6b1d4d5c407b95f2867e452863578ffd03ca3be3326dac19d14baf77416c71e237c9 + FILENAME aspnet-SignalR-Client-Cpp-pr-96.diff +) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO aspnet/SignalR-Client-Cpp @@ -6,6 +15,8 @@ vcpkg_from_github( HEAD_REF main PATCHES find-msgpack.patch + "${PATCH_FIX_GCC_13_COMPILATION}" + fix-miss-header.patch ) vcpkg_check_features( @@ -21,6 +32,7 @@ vcpkg_cmake_configure( -DBUILD_TESTING=OFF ${FEATURE_OPTIONS} -DWALL=OFF + -DWERROR=OFF "-DJSONCPP_LIB=JsonCpp::JsonCpp" ) diff --git a/ports/microsoft-signalr/vcpkg.json b/ports/microsoft-signalr/vcpkg.json index b6a78e67cc4109..502101e7356d55 100644 --- a/ports/microsoft-signalr/vcpkg.json +++ b/ports/microsoft-signalr/vcpkg.json @@ -1,7 +1,7 @@ { "name": "microsoft-signalr", "version": "0.1.0-alpha4", - "port-version": 8, + "port-version": 12, "description": "C++ Client for ASP.NET Core SignalR.", "homepage": "https://github.com/aspnet/SignalR-Client-Cpp", "dependencies": [ diff --git a/ports/milerius-sfml-imgui/FixFindPackageIssue.patch b/ports/milerius-sfml-imgui/FixFindPackageIssue.patch deleted file mode 100644 index 062e55cde3de93..00000000000000 --- a/ports/milerius-sfml-imgui/FixFindPackageIssue.patch +++ /dev/null @@ -1,54 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 27b8bd8..33fe623 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -2,8 +2,8 @@ if (${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR}) - message(FATAL_ERROR "Prevented in-tree built. Please create a build directory outside of the source code and call cmake from there") - endif () - --project(sfml-imgui) - cmake_minimum_required(VERSION 3.9) -+project(milerius-sfml-imgui) - set(CMAKE_EXPORT_COMPILE_COMMANDS ON) - - ##! Package -@@ -26,7 +26,7 @@ include(CMakePackageConfigHelpers) - - install(TARGETS - ${PROJECT_NAME} -- EXPORT sfml-imgui-targets -+ EXPORT milerius-sfml-imgui-targets - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -@@ -39,7 +39,7 @@ install(EXPORT ${PROJECT_NAME}-targets - ) - - configure_package_config_file( -- "${PROJECT_SOURCE_DIR}/cmake/${PROJECT_NAME}-config.cmake.in" -+ "${PROJECT_SOURCE_DIR}/cmake/sfml-imgui-config.cmake.in" - "${PROJECT_BINARY_DIR}/${PROJECT_NAME}-config.cmake" - INSTALL_DESTINATION lib/cmake/${PROJECT_NAME} - ) -@@ -51,6 +51,6 @@ install(FILES - install(DIRECTORY - ${CMAKE_CURRENT_SOURCE_DIR}/sfml-imgui - DESTINATION -- ${CMAKE_INSTALL_INCLUDEDIR}/sfml-imgui -+ ${CMAKE_INSTALL_INCLUDEDIR}/ - FILES_MATCHING PATTERN "*.h*" - ) -diff --git a/cmake/sfml-imgui-config.cmake.in b/cmake/sfml-imgui-config.cmake.in -index cd790be..e1bdd77 100644 ---- a/cmake/sfml-imgui-config.cmake.in -+++ b/cmake/sfml-imgui-config.cmake.in -@@ -2,5 +2,5 @@ - find_package(SFML CONFIG REQUIRED graphics) - find_package(imgui CONFIG REQUIRED) - find_package(OpenGL REQUIRED) --include("${CMAKE_CURRENT_LIST_DIR}/sfml-imgui-targets.cmake") --check_required_components("sfml-imgui") -\ No newline at end of file -+include("${CMAKE_CURRENT_LIST_DIR}/milerius-sfml-imgui-targets.cmake") -+check_required_components("milerius-sfml-imgui") -\ No newline at end of file diff --git a/ports/milerius-sfml-imgui/cpp11.patch b/ports/milerius-sfml-imgui/cpp11.patch deleted file mode 100644 index 61dd830d584c9b..00000000000000 --- a/ports/milerius-sfml-imgui/cpp11.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 27b8bd8..ac65300 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -14,6 +14,7 @@ find_package(OpenGL REQUIRED) - ##! Library - add_library(${PROJECT_NAME} SHARED sfml-imgui/imgui-SFML.cpp) - target_link_libraries(${PROJECT_NAME} PUBLIC imgui::imgui sfml-graphics OpenGL::GL) -+target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_11) - - target_include_directories(${PROJECT_NAME} PUBLIC - $ diff --git a/ports/milerius-sfml-imgui/fix-imgui-dependency.patch b/ports/milerius-sfml-imgui/fix-imgui-dependency.patch deleted file mode 100644 index 2799a558b7f256..00000000000000 --- a/ports/milerius-sfml-imgui/fix-imgui-dependency.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/sfml-imgui/imgui-SFML.cpp b/sfml-imgui/imgui-SFML.cpp -index 36a1a91..cacc9a8 100644 ---- a/sfml-imgui/imgui-SFML.cpp -+++ b/sfml-imgui/imgui-SFML.cpp -@@ -159,7 +159,7 @@ namespace - // Returns first id of connected joystick - unsigned int getConnectedJoystickId(); - -- void updateJoystickActionState(ImGuiIO& io, ImGuiNavInput_ action); -+ void updateJoystickActionState(ImGuiIO& io, ImGuiNavInput action); - void updateJoystickDPadState(ImGuiIO& io); - void updateJoystickLStickState(ImGuiIO& io); - } -@@ -734,7 +734,7 @@ namespace - ImGui::SFML::SetJoytickLStickThreshold(5.f); - } - -- void updateJoystickActionState(ImGuiIO& io, ImGuiNavInput_ action) -+ void updateJoystickActionState(ImGuiIO& io, ImGuiNavInput action) - { - bool isPressed = sf::Joystick::isButtonPressed(s_joystickId, s_joystickMapping[action]); - io.NavInputs[action] = isPressed ? 1.0f : 0.0f; diff --git a/ports/milerius-sfml-imgui/portfile.cmake b/ports/milerius-sfml-imgui/portfile.cmake deleted file mode 100644 index 2f722b769b1991..00000000000000 --- a/ports/milerius-sfml-imgui/portfile.cmake +++ /dev/null @@ -1,24 +0,0 @@ -vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO Milerius/imgui-sfml-shared - REF 1.1 - SHA512 191184f7b302f643bd7c241b69d9f9edc0d03c6f5a0b3a49f57ac84f3828202f8065291fb17993073a2c07f1237ba491de677c47e2f8160dc70ea77f20eb1946 - HEAD_REF master - PATCHES - FixFindPackageIssue.patch - cpp11.patch - fix-imgui-dependency.patch -) - -vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" -) - -vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/milerius-sfml-imgui) -vcpkg_copy_pdbs() - -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/milerius-sfml-imgui/vcpkg.json b/ports/milerius-sfml-imgui/vcpkg.json deleted file mode 100644 index 8e7e4c59dd5025..00000000000000 --- a/ports/milerius-sfml-imgui/vcpkg.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "milerius-sfml-imgui", - "version": "1.1", - "port-version": 6, - "description": "imgui dll for sfml usage", - "homepage": "https://github.com/Milerius/imgui-sfml-shared", - "license": "MIT", - "dependencies": [ - "imgui", - "sfml", - { - "name": "vcpkg-cmake", - "host": true - }, - { - "name": "vcpkg-cmake-config", - "host": true - } - ] -} diff --git a/ports/mimalloc/add_ref_to_page_malloc_zero.patch b/ports/mimalloc/add_ref_to_page_malloc_zero.patch new file mode 100644 index 00000000000000..1783c762f216c1 --- /dev/null +++ b/ports/mimalloc/add_ref_to_page_malloc_zero.patch @@ -0,0 +1,12 @@ +diff --git a/src/alloc.c b/src/alloc.c +index 86aaae75..b543e859 100644 +--- a/src/alloc.c ++++ b/src/alloc.c +@@ -584,6 +584,7 @@ mi_decl_nodiscard void* mi_new_reallocn(void* p, size_t newcount, size_t size) { + #ifdef __cplusplus + void* _mi_externs[] = { + (void*)&_mi_page_malloc, ++ (void*)&_mi_page_malloc_zero, + (void*)&_mi_heap_malloc_zero, + (void*)&_mi_heap_malloc_zero_ex, + (void*)&mi_malloc, diff --git a/ports/mimalloc/fix-cmake.patch b/ports/mimalloc/fix-cmake.patch index 3164b1b3c0b5fa..6b57a466a146ca 100644 --- a/ports/mimalloc/fix-cmake.patch +++ b/ports/mimalloc/fix-cmake.patch @@ -1,16 +1,17 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index bcfe91d8..a1e5a2b7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -380,11 +380,11 @@ target_link_libraries(mimalloc PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/bin/mimalloc-redirect${MIMALLOC_REDIRECT_SUFFIX}.lib) +@@ -471,10 +471,10 @@ if(MI_BUILD_SHARED) add_custom_command(TARGET mimalloc POST_BUILD COMMAND "${CMAKE_COMMAND}" -E copy "${CMAKE_CURRENT_SOURCE_DIR}/bin/mimalloc-redirect${MIMALLOC_REDIRECT_SUFFIX}.dll" $ COMMENT "Copy mimalloc-redirect${MIMALLOC_REDIRECT_SUFFIX}.dll to output directory") -- install(FILES "$/mimalloc-redirect${MIMALLOC_REDIRECT_SUFFIX}.dll" DESTINATION ${mi_install_libdir}) +- install(FILES "$/mimalloc-redirect${MIMALLOC_REDIRECT_SUFFIX}.dll" DESTINATION ${mi_install_bindir}) + install(FILES "$/mimalloc-redirect${MIMALLOC_REDIRECT_SUFFIX}.dll" DESTINATION ${CMAKE_INSTALL_BINDIR}) endif() -- install(TARGETS mimalloc EXPORT mimalloc DESTINATION ${mi_install_libdir} LIBRARY) -+ install(TARGETS mimalloc EXPORT mimalloc ARCHIVE DESTINATION ${mi_install_libdir} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${mi_install_libdir} NAMELINK_SKIP) +- install(TARGETS mimalloc EXPORT mimalloc ARCHIVE DESTINATION ${mi_install_libdir} RUNTIME DESTINATION ${mi_install_bindir} LIBRARY DESTINATION ${mi_install_libdir}) ++ install(TARGETS mimalloc EXPORT mimalloc ARCHIVE DESTINATION ${mi_install_libdir} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${mi_install_libdir}) install(EXPORT mimalloc DESTINATION ${mi_install_cmakedir}) endif() - # static library diff --git a/ports/mimalloc/fix-param.patch b/ports/mimalloc/fix-param.patch new file mode 100644 index 00000000000000..e4c40afca06e28 --- /dev/null +++ b/ports/mimalloc/fix-param.patch @@ -0,0 +1,13 @@ +diff --git a/src/arena.c b/src/arena.c +index 648ee84..ee55989 100644 +--- a/src/arena.c ++++ b/src/arena.c +@@ -794,7 +794,7 @@ bool _mi_arena_segment_clear_abandoned(mi_segment_t* segment ) + // clears the thread_id. + void _mi_arena_segment_mark_abandoned(mi_segment_t* segment) + { +- mi_atomic_store_release(&segment->thread_id, 0); ++ mi_atomic_store_release(&segment->thread_id, (uintptr_t)0); + mi_assert_internal(segment->used == segment->abandoned); + if (segment->memid.memkind != MI_MEM_ARENA) { + // not in an arena; count it as abandoned and return diff --git a/ports/mimalloc/portfile.cmake b/ports/mimalloc/portfile.cmake index 6d2cb0901e3e1a..1b569f14f40db4 100644 --- a/ports/mimalloc/portfile.cmake +++ b/ports/mimalloc/portfile.cmake @@ -1,11 +1,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO microsoft/mimalloc - REF "v${VERSION}" - SHA512 01c7bdfd001ebc34bb0918fe4ecff42a4ec316fbbd73d4dda52c93c31e5712595758a595ae7ea436f445ecc0ebbf7f9c63d9c572f1c1c5a9e96f51fc524a4875 + REF "v${VERSION}" + SHA512 4e30976758015c76a146acc1bfc8501e2e5c61b81db77d253de0d58a8edef987669243f232210667b32ef8da3a33286642acb56ba526fd24c4ba925b44403730 HEAD_REF master PATCHES fix-cmake.patch + add_ref_to_page_malloc_zero.patch + fix-param.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS @@ -39,11 +41,12 @@ vcpkg_copy_pdbs() file(COPY "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" + "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" ) vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/mimalloc) -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") vcpkg_replace_string( "${CURRENT_PACKAGES_DIR}/include/mimalloc.h" "!defined(MI_SHARED_LIB)" @@ -54,5 +57,18 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") vcpkg_fixup_pkgconfig() +set(mi_basename "mimalloc") +if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "static") + string(APPEND mi_basename "-static") +endif() +if("secure" IN_LIST FEATURES) + string(APPEND mi_basename "-secure") +endif() +if(NOT "mimalloc" STREQUAL "${mi_basename}") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/mimalloc.pc" " -lmimalloc" " -l${mi_basename}") +endif() +if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/mimalloc.pc" " -lmimalloc" " -l${mi_basename}-debug") +endif() vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/mimalloc/usage b/ports/mimalloc/usage new file mode 100644 index 00000000000000..df1eac25126269 --- /dev/null +++ b/ports/mimalloc/usage @@ -0,0 +1,9 @@ +mimalloc provides CMake targets: + + find_package(mimalloc CONFIG REQUIRED) + target_link_libraries(main PRIVATE $,mimalloc-static,mimalloc>) + +To ensure the mimalloc-override.dll is loaded at runtime on Windows with +dynamic linkage, it is suggested to insert some call to the mimalloc API +in the main function, eg. `mi_version()`. Cf. +https://github.com/microsoft/mimalloc/blob/dev/readme.md#dynamic-override-on-windows diff --git a/ports/mimalloc/vcpkg-cmake-wrapper.cmake b/ports/mimalloc/vcpkg-cmake-wrapper.cmake index 4e2a70c4b5e3b5..15ad8478258034 100644 --- a/ports/mimalloc/vcpkg-cmake-wrapper.cmake +++ b/ports/mimalloc/vcpkg-cmake-wrapper.cmake @@ -1,5 +1,17 @@ _find_package(${ARGS}) +if(CMAKE_CURRENT_LIST_DIR STREQUAL "${MIMALLOC_CMAKE_DIR}/${MIMALLOC_VERSION_DIR}") + set(MIMALLOC_INCLUDE_DIR "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include") + # As in vcpkg.cmake + if(NOT DEFINED CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE MATCHES "^[Dd][Ee][Bb][Uu][Gg]$") + set(MIMALLOC_LIBRARY_DIR "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib") + else() + set(MIMALLOC_LIBRARY_DIR "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib") + endif() + set(MIMALLOC_OBJECT_DIR "MIMALLOC_OBJECT_DIR-NOTFOUND") # not installed + set(MIMALLOC_TARGET_DIR "${MIMALLOC_LIBRARY_DIR}") +endif() + if(TARGET mimalloc AND NOT TARGET mimalloc-static) add_library(mimalloc-static INTERFACE IMPORTED) set_target_properties(mimalloc-static PROPERTIES INTERFACE_LINK_LIBRARIES mimalloc) diff --git a/ports/mimalloc/vcpkg.json b/ports/mimalloc/vcpkg.json index 2a2836e7346112..2a6c73211a23ce 100644 --- a/ports/mimalloc/vcpkg.json +++ b/ports/mimalloc/vcpkg.json @@ -1,6 +1,7 @@ { "name": "mimalloc", - "version": "2.1.1", + "version": "2.1.7", + "port-version": 1, "description": "Compact general purpose allocator with excellent performance", "homepage": "https://github.com/microsoft/mimalloc", "license": "MIT", diff --git a/ports/mimicpp/portfile.cmake b/ports/mimicpp/portfile.cmake new file mode 100644 index 00000000000000..a4e2ab8499d35f --- /dev/null +++ b/ports/mimicpp/portfile.cmake @@ -0,0 +1,26 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO DNKpp/mimicpp + REF "v${VERSION}" + SHA512 facdf604ce481d291b7f265c7c5dbbb348a8623cf8ee1bb873b70988c8e7d3b0b170fd81f1bc297c28ba6ee09510b50a0f790c5473d6a9c1ad9633304f8c0124 + HEAD_REF main +) + +set(VCPKG_BUILD_TYPE release) # header-only port + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DMIMICPP_BUILD_TESTS=OFF + -DMIMICPP_BUILD_EXAMPLES=OFF + -DMIMICPP_CONFIGURE_DOXYGEN=OFF + -DMIMICPP_ENABLE_AMALGAMATE_HEADERS=OFF +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/mimipp/cmake) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE_1_0.txt") diff --git a/ports/mimicpp/vcpkg.json b/ports/mimicpp/vcpkg.json new file mode 100644 index 00000000000000..2a0a8f95fbe742 --- /dev/null +++ b/ports/mimicpp/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "mimicpp", + "version": "6", + "description": "mimic++, a modern and (mostly) macro free mocking framework.", + "homepage": "https://github.com/DNKpp/mimicpp", + "license": "BSL-1.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/miniaudio/portfile.cmake b/ports/miniaudio/portfile.cmake index 9c9e2f76b12a82..8837a8bf4df64d 100644 --- a/ports/miniaudio/portfile.cmake +++ b/ports/miniaudio/portfile.cmake @@ -2,8 +2,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mackron/miniaudio - REF 9a7663496fc06f7a9439c752fd7666ca93328c20 - SHA512 ada4c52bdf91b7ce3530616f28adb50803e40d7b6d01a6c2d127211a1497a4fb99f6e3d2c37f5422bcad4c7ef99f916846c8c6ad05ac1b68756c0337b9720ad8 + REF "${VERSION}" + SHA512 0c67ff7d9112409fea5af7756c1bc14bca4acfa45a97896ea339cdab228ac3dcc843c492e6da9dc75d4cd6f6b795ee80fe3ad9c4c746d7db691b1216f86e456d HEAD_REF master ) diff --git a/ports/miniaudio/vcpkg.json b/ports/miniaudio/vcpkg.json index bb184f8921bc80..b20a03c704afe9 100644 --- a/ports/miniaudio/vcpkg.json +++ b/ports/miniaudio/vcpkg.json @@ -1,6 +1,6 @@ { "name": "miniaudio", - "version": "0.11.14", + "version": "0.11.21", "description": "Audio playback and capture library written in C, in a single source file", "homepage": "https://github.com/mackron/miniaudio", "license": "Unlicense OR MIT-0" diff --git a/ports/minifb/portfile.cmake b/ports/minifb/portfile.cmake index eb299edb147bd0..3389c2a139f165 100644 --- a/ports/minifb/portfile.cmake +++ b/ports/minifb/portfile.cmake @@ -3,8 +3,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO emoon/minifb - REF 1e087f1e9fe5bd33cdb2210b8e92d513ff7dc339 # 2023-02-03 - SHA512 482bdcdb81d9f163ac7ff1224297331bfee68e53778a9170bfec52c8150c840445cb1338250bfc3e780aef011e3e95e7df3d7134183e59df947f69109a27108a + REF 2ce2449b1bc8d7c6d20c31b86244f1e540f2e788 # 2023-09-21 + SHA512 cbadc06df99f833fedcd9eb9d5afab4572272a9dfd0f4084a2b79a64dc98f19bcddbb6f43992b16f005d26054c454e3cfc34e3e210cdd93ad1adb89e19463a4d HEAD_REF master ) diff --git a/ports/minifb/vcpkg.json b/ports/minifb/vcpkg.json index 7059dca89bf4f5..07ef620853a52b 100644 --- a/ports/minifb/vcpkg.json +++ b/ports/minifb/vcpkg.json @@ -1,6 +1,6 @@ { "name": "minifb", - "version-date": "2023-02-03", + "version-date": "2023-09-21", "description": "MiniFB (Mini FrameBuffer) is a small cross platform library that makes it easy to render (32-bit) pixels in a window.", "homepage": "https://github.com/emoon/minifb", "license": "MIT", diff --git a/ports/minio-cpp/portfile.cmake b/ports/minio-cpp/portfile.cmake index 7712247569bdad..33e83da73766a0 100644 --- a/ports/minio-cpp/portfile.cmake +++ b/ports/minio-cpp/portfile.cmake @@ -1,21 +1,21 @@ -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO minio/minio-cpp - REF v0.1.1 - SHA512 88bd07688f27ca1b1cd7cba592ffe13e08619f0a1f8aa11a37276e455e1dcf025c347452819980452d67e6e4899af11e8f7b1662dc05a87db03000e876d1155b - HEAD_REF main -) - -vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - DISABLE_PARALLEL_CONFIGURE - OPTIONS - -DBUILD_DOC=OFF - -DBUILD_EXAMPLES=OFF -) - -vcpkg_cmake_install() -vcpkg_copy_pdbs() -vcpkg_fixup_pkgconfig() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO minio/minio-cpp + REF "v${VERSION}" + SHA512 c0748e757513aea394f76a0286294e668421096bfa64892d66aef69d611bcbda7c4ccf9d4df2502a9a92206b613c7d27011f4c9948e25b286feff8b64c952b1e + HEAD_REF main +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + DISABLE_PARALLEL_CONFIGURE +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME miniocpp CONFIG_PATH "lib/cmake/miniocpp") + +vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/minio-cpp/vcpkg.json b/ports/minio-cpp/vcpkg.json index b207d4fa67dc2e..546ec6fd07ad82 100644 --- a/ports/minio-cpp/vcpkg.json +++ b/ports/minio-cpp/vcpkg.json @@ -1,11 +1,10 @@ { "name": "minio-cpp", - "version": "0.1.1", - "port-version": 1, + "version": "0.3.0", "description": "The MinIO C++ Client SDK provides simple APIs to access any Amazon S3 compatible object storage", "homepage": "https://github.com/minio/minio-cpp", "license": "Apache-2.0", - "supports": "!windows & !uwp", + "supports": "!uwp", "dependencies": [ "curlpp", { @@ -24,6 +23,7 @@ { "name": "vcpkg-cmake-config", "host": true - } + }, + "zlib" ] } diff --git a/ports/miniupnpc/portfile.cmake b/ports/miniupnpc/portfile.cmake index 72d5872771c38c..78d66aebb9d10f 100644 --- a/ports/miniupnpc/portfile.cmake +++ b/ports/miniupnpc/portfile.cmake @@ -2,8 +2,8 @@ string(REPLACE "." "_" MINIUPNPC_VERSION "${VERSION}") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO miniupnp/miniupnp - REF "miniupnpc_${MINIUPNPC_VERSION}" - SHA512 575d6be8271c11bb48f95c7f0a7aed82619e9cb871a530d75a47867ef663807e888a6e66be0cd201f29ef3c7df860ee855481d464edb65881e83a6f16279ba76 + REF "miniupnpd_${MINIUPNPC_VERSION}" + SHA512 f461b57446d9086e8fc2caf6ef202a78d204b2580d6096aca63234fda53302cad03840b14cc0d8b68e9033049b749be46e35c3737cc6cbcd2ad30c59b737a390 HEAD_REF master ) @@ -30,13 +30,9 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") else() - file(GLOB DEBUG_TOOLS "${CURRENT_PACKAGES_DIR}/debug/bin/*.exe") file(GLOB RELEASE_TOOLS "${CURRENT_PACKAGES_DIR}/bin/*.exe") - file( - INSTALL ${RELEASE_TOOLS} - DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}" - ) - vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}") - file(REMOVE ${DEBUG_TOOLS} ${RELEASE_TOOLS}) + if(${RELEASE_TOOLS}) + vcpkg_copy_tools(TOOL_NAMES ${RELEASE_TOOLS} AUTO_CLEAN) + endif() endif() vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/miniupnpc/vcpkg.json b/ports/miniupnpc/vcpkg.json index dab22f50983eb5..568a768dd0f05d 100644 --- a/ports/miniupnpc/vcpkg.json +++ b/ports/miniupnpc/vcpkg.json @@ -1,6 +1,6 @@ { "name": "miniupnpc", - "version": "2.2.5", + "version": "2.3.7", "description": "UPnP client library/tool to access Internet Gateway Devices", "supports": "!uwp", "dependencies": [ diff --git a/ports/miniz/portfile.cmake b/ports/miniz/portfile.cmake index ce62e14f410382..f884348668c976 100644 --- a/ports/miniz/portfile.cmake +++ b/ports/miniz/portfile.cmake @@ -11,6 +11,7 @@ vcpkg_cmake_configure( OPTIONS -DBUILD_EXAMPLES=OFF -DINSTALL_PROJECT=ON + -DCMAKE_POLICY_DEFAULT_CMP0057=NEW ) vcpkg_cmake_install() diff --git a/ports/miniz/vcpkg.json b/ports/miniz/vcpkg.json index 1516a0c5f31fe6..9cdb8e1a3f8859 100644 --- a/ports/miniz/vcpkg.json +++ b/ports/miniz/vcpkg.json @@ -1,6 +1,7 @@ { "name": "miniz", "version": "3.0.2", + "port-version": 1, "description": "Single C source file zlib-replacement library", "homepage": "https://github.com/richgel999/miniz", "license": "MIT", diff --git a/ports/minizip-ng/dependencies.diff b/ports/minizip-ng/dependencies.diff new file mode 100644 index 00000000000000..dabd0cd71b6963 --- /dev/null +++ b/ports/minizip-ng/dependencies.diff @@ -0,0 +1,78 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9ded851..8f3c767 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -254,7 +254,7 @@ if(MZ_BZIP2) + list(APPEND MINIZIP_LIB ${BZIP2_LIBRARIES}) + list(APPEND MINIZIP_LBD ${BZIP2_LIBRARY_DIRS}) + +- set(PC_PRIVATE_LIBS "${PC_PRIVATE_LIBS} -lbz2") ++ set(PC_PRIVATE_DEPS "${PC_PRIVATE_DEPS} bzip2") + elseif(MZ_FETCH_LIBS) + clone_repo(bzip2 https://sourceware.org/git/bzip2.git master) + +@@ -298,7 +298,6 @@ if(MZ_LZMA) + if(NOT MZ_FORCE_FETCH_LIBS) + find_package(PkgConfig QUIET) + if(PKGCONFIG_FOUND) +- pkg_check_modules(LIBLZMA liblzma) + endif() + if(NOT LIBLZMA_FOUND) + find_package(LibLZMA QUIET) +@@ -313,7 +312,7 @@ if(MZ_LZMA) + list(APPEND MINIZIP_LIB ${LIBLZMA_LIBRARIES}) + list(APPEND MINIZIP_LBD ${LIBLZMA_LIBRARY_DIRS}) + +- set(PC_PRIVATE_LIBS "${PC_PRIVATE_LIBS} -llzma") ++ set(PC_PRIVATE_DEPS "${PC_PRIVATE_DEPS} liblzma") + elseif(MZ_FETCH_LIBS) + set(BUILD_TESTING OFF CACHE BOOL "Build lzma tests" FORCE) + +@@ -344,10 +343,9 @@ if(MZ_ZSTD) + if(NOT MZ_FORCE_FETCH_LIBS) + find_package(PkgConfig QUIET) + if(PKGCONFIG_FOUND) +- pkg_check_modules(ZSTD libzstd) + endif() + if(NOT ZSTD_FOUND) +- find_package(ZSTD QUIET) ++ find_package(ZSTD NAMES zstd REQUIRED) + if(ZSTD_FOUND) + if(TARGET zstd::libzstd_static) + list(APPEND ZSTD_LIBRARIES zstd::libzstd_static) +@@ -365,7 +363,7 @@ if(MZ_ZSTD) + list(APPEND MINIZIP_LIB ${ZSTD_LIBRARIES}) + list(APPEND MINIZIP_LBD ${ZSTD_LIBRARY_DIRS}) + +- set(PC_PRIVATE_LIBS "${PC_PRIVATE_LIBS} -lzstd") ++ set(PC_PRIVATE_DEPS "${PC_PRIVATE_DEPS} libzstd") + elseif(MZ_FETCH_LIBS) + set(ZSTD_BUILD_PROGRAMS OFF CACHE BOOL "Build zstd programs") + +@@ -405,7 +403,6 @@ if(MZ_OPENSSL) + # Check to see if openssl installation is present + find_package(PkgConfig) + if(PKGCONFIG_FOUND) +- pkg_check_modules(OPENSSL openssl) + endif() + if(NOT OPENSSL_FOUND) + find_package(OpenSSL) +@@ -426,8 +423,8 @@ if(MZ_OPENSSL) + endif() + + foreach(i ${OPENSSL_LIBRARIES}) +- set(PC_PRIVATE_LIBS "${PC_PRIVATE_LIBS} -l${i}") + endforeach() ++ set(PC_PRIVATE_DEPS "${PC_PRIVATE_DEPS} openssl") + else() + message(STATUS "OpenSSL library not found") + +@@ -735,7 +732,7 @@ if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL) + if(MINIZIP_DEP_PKG) + string(APPEND MINIZIP_CONFIG_CONTENT "include(CMakeFindDependencyMacro)\n") + foreach(pkg_name ${MINIZIP_DEP_PKG}) +- string(APPEND MINIZIP_CONFIG_CONTENT "find_dependency(${pkg_name} REQUIRED)\n") ++ string(APPEND MINIZIP_CONFIG_CONTENT "find_dependency(${pkg_name})\n") + endforeach() + endif() + string(APPEND MINIZIP_CONFIG_CONTENT "include(\"\${CMAKE_CURRENT_LIST_DIR}/${MINIZIP_TARGET}.cmake\")") diff --git a/ports/minizip-ng/fix-pkgconfig.patch b/ports/minizip-ng/fix-pkgconfig.patch deleted file mode 100644 index 08d0bbc03db1de..00000000000000 --- a/ports/minizip-ng/fix-pkgconfig.patch +++ /dev/null @@ -1,43 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 5ca7729e..9af0a7ad 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -128,6 +128,7 @@ set(MINIZIP_HDR - mz_zip_rw.h) - - set(PC_PRIVATE_LIBS) -+set(PC_PRIVATE_DEPS) - - # Check for system includes - check_include_file(stdint.h HAVE_STDINT_H) -@@ -184,7 +185,7 @@ if(MZ_ZLIB) - list(APPEND MINIZIP_LIB ${ZLIBNG_LIBRARIES}) - list(APPEND MINIZIP_LBD ${ZLIBNG_LIBRARY_DIRS}) - -- set(PC_PRIVATE_LIBS " -lz-ng") -+ set(PC_PRIVATE_DEPS "zlib-ng") - set(ZLIB_COMPAT OFF) - elseif(ZLIB_FOUND AND NOT MZ_FORCE_FETCH_LIBS) - message(STATUS "Using ZLIB ${ZLIB_VERSION}") -@@ -193,7 +194,7 @@ if(MZ_ZLIB) - list(APPEND MINIZIP_LIB ${ZLIB_LIBRARIES}) - list(APPEND MINIZIP_LBD ${ZLIB_LIBRARY_DIRS}) - -- set(PC_PRIVATE_LIBS " -lz") -+ set(PC_PRIVATE_DEPS "zlib") - set(ZLIB_COMPAT ON) - elseif(MZ_FETCH_LIBS) - clone_repo(zlib https://github.com/madler/zlib) -diff --git a/minizip.pc.cmakein b/minizip.pc.cmakein -index d8a0dd72..7aecd852 100644 ---- a/minizip.pc.cmakein -+++ b/minizip.pc.cmakein -@@ -8,7 +8,7 @@ Name: @MINIZIP_TARGET@ - Description: Zip manipulation library - Version: @VERSION@ - --Requires: zlib -+Requires.private: @PC_PRIVATE_DEPS@ - Libs: -L${libdir} -L${sharedlibdir} -l@MINIZIP_TARGET@ - Libs.private:@PC_PRIVATE_LIBS@ - Cflags: -I${includedir} diff --git a/ports/minizip-ng/fix_find_zstd.patch b/ports/minizip-ng/fix_find_zstd.patch deleted file mode 100644 index ec06fa67797835..00000000000000 --- a/ports/minizip-ng/fix_find_zstd.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6f6c6bc..1856944 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -334,12 +334,8 @@ endif() - if(MZ_ZSTD) - # Check if zstd is present - if(NOT MZ_FORCE_FETCH_LIBS) -- find_package(PkgConfig QUIET) -- if(PKGCONFIG_FOUND) -- pkg_check_modules(ZSTD libzstd) -- endif() - if(NOT ZSTD_FOUND) -- find_package(ZSTD QUIET) -+ find_package(ZSTD NAMES zstd REQUIRED) - if(ZSTD_FOUND) - if(TARGET zstd::libzstd_static) - list(APPEND ZSTD_LIBRARIES zstd::libzstd_static) diff --git a/ports/minizip-ng/portfile.cmake b/ports/minizip-ng/portfile.cmake index 958d6ee79c20c3..2b5d906cdcb9e8 100644 --- a/ports/minizip-ng/portfile.cmake +++ b/ports/minizip-ng/portfile.cmake @@ -6,28 +6,26 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO zlib-ng/minizip-ng REF "${VERSION}" - SHA512 857450c3a51a75269afdffdcbaaa6d05894913dd98a91e307129b5e61766f6e3d20bca5841afa41bbe6ca88ad0666c462079a5e1fe73718c2dffd05219c8f258 + SHA512 af9c8743d34bbc8f371a018debfab5f857aadb9a1129b048dbce9085122bef209ade34837784f91424c9eba92406d2e222476d9f8038839908679f7b7dc9e3eb HEAD_REF master PATCHES - fix_find_zstd.patch - fix-pkgconfig.patch + dependencies.diff ) vcpkg_check_features( OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES pkcrypt MZ_PKCRYPT - wzaes MZ_WZAES + wzaes MZ_WZAES openssl MZ_OPENSSL - bzip2 MZ_BZIP2 - lzma MZ_LZMA - zlib MZ_ZLIB - zstd MZ_ZSTD + bzip2 MZ_BZIP2 + lzma MZ_LZMA + zlib MZ_ZLIB + zstd MZ_ZSTD ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - DISABLE_PARALLEL_CONFIGURE OPTIONS ${FEATURE_OPTIONS} -DMZ_FETCH_LIBS=OFF diff --git a/ports/minizip-ng/vcpkg.json b/ports/minizip-ng/vcpkg.json index 4f0ca912dbbe4a..5126e4f80eaf11 100644 --- a/ports/minizip-ng/vcpkg.json +++ b/ports/minizip-ng/vcpkg.json @@ -1,6 +1,6 @@ { "name": "minizip-ng", - "version": "4.0.1", + "version": "4.0.7", "description": "minizip-ng is a zip manipulation library written in C that is supported on Windows, macOS, and Linux.", "homepage": "https://github.com/zlib-ng/minizip-ng", "license": "Zlib", diff --git a/ports/minizip/minizip-win32.def b/ports/minizip/minizip-win32.def index 2d57c841a9a3f2..2f108199d4be77 100644 --- a/ports/minizip/minizip-win32.def +++ b/ports/minizip/minizip-win32.def @@ -3,18 +3,18 @@ EXPORTS fill_win32_filefunc64 fill_win32_filefunc64A fill_win32_filefunc64W + win32_open64_file_func + win32_open64_file_funcA + win32_open64_file_funcW win32_open_file_func win32_read_file_func win32_write_file_func + win32_tell_file_func win32_tell64_file_func + win32_seek_file_func win32_seek64_file_func win32_close_file_func win32_error_file_func - win32_open64_file_func - win32_open64_file_funcA - win32_open64_file_funcW - win32_tell_file_func - win32_seek_file_func unzRepair zip_copyright zipOpen diff --git a/ports/minizip/portfile.cmake b/ports/minizip/portfile.cmake index 646560913ce082..8c4a79f1db9c7a 100644 --- a/ports/minizip/portfile.cmake +++ b/ports/minizip/portfile.cmake @@ -3,7 +3,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO madler/zlib REF "v${VERSION}" - SHA512 78eecf335b14af1f7188c039a4d5297b74464d61156e4f12a485c74beec7d62c4159584ad482a07ec57ae2616d58873e45b09cb8ea822bb5b17e43d163df84e9 + SHA512 8c9642495bafd6fad4ab9fb67f09b268c69ff9af0f4f20cf15dfc18852ff1f312bd8ca41de761b3f8d8e90e77d79f2ccacd3d4c5b19e475ecf09d021fdfe9088 HEAD_REF master PATCHES 0001-remove-ifndef-NOUNCRYPT.patch @@ -60,7 +60,7 @@ endif() if ("bzip2" IN_LIST FEATURES) file(GLOB HEADERS "${CURRENT_PACKAGES_DIR}/include/minizip/*.h") foreach(HEADER ${HEADERS}) - vcpkg_replace_string("${HEADER}" "#ifdef HAVE_BZIP2" "#if 1") + vcpkg_replace_string("${HEADER}" "#ifdef HAVE_BZIP2" "#if 1" IGNORE_UNCHANGED) endforeach() endif() diff --git a/ports/minizip/vcpkg.json b/ports/minizip/vcpkg.json index e4cb6462b1cf72..1466a32885d690 100644 --- a/ports/minizip/vcpkg.json +++ b/ports/minizip/vcpkg.json @@ -1,6 +1,6 @@ { "name": "minizip", - "version": "1.3", + "version": "1.3.1", "port-version": 1, "description": "Minizip zip file manipulation library", "homepage": "https://github.com/madler/zlib", diff --git a/ports/mlpack/portfile.cmake b/ports/mlpack/portfile.cmake index 95058e350d1eb6..fc22051883b69e 100644 --- a/ports/mlpack/portfile.cmake +++ b/ports/mlpack/portfile.cmake @@ -3,13 +3,15 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mlpack/mlpack REF "${VERSION}" - SHA512 899a70f76bee626ef00993bedea188f8a2e9db5f0faec41cf125607b7c4bbda16d0e0343aac757618cd48fcb520f968539a8a97d89cf577037f69c624caf8bc6 + SHA512 2be9c3b8e2874ebbf9e39ade1d65774e1d7d08eea1427d592ef9f49f6a35a1441585749e043e058cbcb8f5e7eae4cf589b0f4931c59ae6c0fed74c32bac0f4b3 HEAD_REF master ) # Copy the header files -file(GLOB HEADERS "${SOURCE_PATH}/src/*.hpp" "${SOURCE_PATH}/src/mlpack/*.hpp") -file(COPY ${HEADERS} DESTINATION "${CURRENT_PACKAGES_DIR}/include/mlpack") +file(GLOB HEADERS_SRC "${SOURCE_PATH}/src/*.hpp") +file(GLOB HEADERS_MLPACK "${SOURCE_PATH}/src/mlpack/*.hpp") +file(COPY ${HEADERS_SRC} DESTINATION "${CURRENT_PACKAGES_DIR}/include") +file(COPY ${HEADERS_MLPACK} DESTINATION "${CURRENT_PACKAGES_DIR}/include/mlpack") file(COPY "${SOURCE_PATH}/src/mlpack/methods/" DESTINATION "${CURRENT_PACKAGES_DIR}/include/mlpack/methods") file(COPY "${SOURCE_PATH}/src/mlpack/core/" DESTINATION "${CURRENT_PACKAGES_DIR}/include/mlpack/core") diff --git a/ports/mlpack/usage b/ports/mlpack/usage index 3dd87b74242f64..2c44d416f602cf 100644 --- a/ports/mlpack/usage +++ b/ports/mlpack/usage @@ -1,4 +1,4 @@ The package mlpack is header only and can be used from CMake via: - find_path(MLPACK_INCLUDE_DIRS "mlpack/mlpack.hpp") + find_path(MLPACK_INCLUDE_DIRS "mlpack.hpp") target_include_directories(main PRIVATE ${MLPACK_INCLUDE_DIRS}) diff --git a/ports/mlpack/vcpkg.json b/ports/mlpack/vcpkg.json index c421b4746f1924..7e18c4be046846 100644 --- a/ports/mlpack/vcpkg.json +++ b/ports/mlpack/vcpkg.json @@ -1,6 +1,6 @@ { "name": "mlpack", - "version": "4.2.0", + "version": "4.5.1", "description": "mlpack is an intuitive, fast, and flexible header-only C++ machine learning library with bindings to other languages.", "homepage": "https://github.com/mlpack/mlpack", "license": "BSD-3-Clause", @@ -9,25 +9,6 @@ "armadillo", "cereal", "ensmallen", - "stb", - { - "name": "vcpkg-cmake", - "host": true - }, - { - "name": "vcpkg-cmake-config", - "host": true - } - ], - "features": { - "openmp": { - "description": "use OpenMP for parallelization." - }, - "tools": { - "description": "Build command-line executables.", - "dependencies": [ - "boost-format" - ] - } - } + "stb" + ] } diff --git a/ports/mnn/fix-linux.patch b/ports/mnn/fix-linux.patch new file mode 100644 index 00000000000000..af63ee5fa30570 --- /dev/null +++ b/ports/mnn/fix-linux.patch @@ -0,0 +1,44 @@ +diff --git a/source/backend/cpu/CPUFixedPoint.hpp b/source/backend/cpu/CPUFixedPoint.hpp +index a5c44f9..fd2e979 100644 +--- a/source/backend/cpu/CPUFixedPoint.hpp ++++ b/source/backend/cpu/CPUFixedPoint.hpp +@@ -17,7 +17,7 @@ limitations under the License. + #define CPUFixedPoint_HPP + + #include +-#include ++#include + #include + #include + #include +diff --git a/source/backend/opencl/schema/current/CLCache_generated.h b/source/backend/opencl/schema/current/CLCache_generated.h +index 434a666..fc972b5 100644 +--- a/source/backend/opencl/schema/current/CLCache_generated.h ++++ b/source/backend/opencl/schema/current/CLCache_generated.h +@@ -403,7 +403,7 @@ inline const flatbuffers::TypeTable *ShaderTypeTable() { + "buildInfo" + }; + static const flatbuffers::TypeTable tt = { +- flatbuffers::ST_TABLE, 3, type_codes, nullptr, nullptr, names ++ flatbuffers::ST_TABLE, 3, type_codes, nullptr, nullptr, nullptr, names + }; + return &tt; + } +@@ -420,7 +420,7 @@ inline const flatbuffers::TypeTable *AutotuningTypeTable() { + "localSize" + }; + static const flatbuffers::TypeTable tt = { +- flatbuffers::ST_TABLE, 3, type_codes, nullptr, nullptr, names ++ flatbuffers::ST_TABLE, 3, type_codes, nullptr, nullptr, nullptr, names + }; + return &tt; + } +@@ -439,7 +439,7 @@ inline const flatbuffers::TypeTable *CacheTypeTable() { + "tunings" + }; + static const flatbuffers::TypeTable tt = { +- flatbuffers::ST_TABLE, 2, type_codes, type_refs, nullptr, names ++ flatbuffers::ST_TABLE, 2, type_codes, type_refs, nullptr, nullptr, names + }; + return &tt; + } diff --git a/ports/mnn/portfile.cmake b/ports/mnn/portfile.cmake index 4ae56b27624cf3..70d5162d45850a 100644 --- a/ports/mnn/portfile.cmake +++ b/ports/mnn/portfile.cmake @@ -10,6 +10,7 @@ vcpkg_from_github( HEAD_REF master PATCHES use-package-and-install.patch + fix-linux.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS diff --git a/ports/mnn/vcpkg.json b/ports/mnn/vcpkg.json index 013a8352f73e60..fc696495d8b257 100644 --- a/ports/mnn/vcpkg.json +++ b/ports/mnn/vcpkg.json @@ -1,7 +1,7 @@ { "name": "mnn", "version": "1.1.0", - "port-version": 5, + "port-version": 6, "description": "MNN is a blazing fast, lightweight deep learning framework, battle-tested by business-critical use cases in Alibaba", "homepage": "https://www.mnn.zone/", "license": "Apache-2.0", diff --git a/ports/modern-cpp-kafka/portfile.cmake b/ports/modern-cpp-kafka/portfile.cmake index fbbe3d25e2f3aa..87b57bf1c20eef 100644 --- a/ports/modern-cpp-kafka/portfile.cmake +++ b/ports/modern-cpp-kafka/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO morganstanley/modern-cpp-kafka REF "v${VERSION}" - SHA512 5071ba4aeb80d94fd078df054e3a36249e2e433bda2af4c26686cd5b0615d622cfd964c7193d075cc549a572cfa5b11bc4bbab9e00de7c80ea2bbf4a9d797201 + SHA512 a6a921cc5037baaa0632fed350b4b5a3d5d47116397ae2638f9121997dbf7842d6406a889833ae551d738cd1bb189c5cec152b14f59644aec38ac9b6b5883a0b HEAD_REF main ) diff --git a/ports/modern-cpp-kafka/vcpkg.json b/ports/modern-cpp-kafka/vcpkg.json index 3dae28c28a9448..8935e8801fd737 100644 --- a/ports/modern-cpp-kafka/vcpkg.json +++ b/ports/modern-cpp-kafka/vcpkg.json @@ -1,6 +1,6 @@ { "name": "modern-cpp-kafka", - "version-string": "2023.03.07", + "version-string": "2024.07.03", "description": "A C++ API for Kafka clients (i.e. KafkaProducer, KafkaConsumer, AdminClient)", "homepage": "https://github.com/morganstanley/modern-cpp-kafka", "license": "Apache-2.0", diff --git a/ports/mongo-c-driver/disable-dynamic-when-static.patch b/ports/mongo-c-driver/disable-dynamic-when-static.patch index 4404dfcad42cf3..9ac02063a56f70 100644 --- a/ports/mongo-c-driver/disable-dynamic-when-static.patch +++ b/ports/mongo-c-driver/disable-dynamic-when-static.patch @@ -1,72 +1,65 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3a40f52..d080479 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -358,11 +358,11 @@ if (USE_SYSTEM_LIBBSON) + + set (USING_SYSTEM_BSON TRUE) + if (NOT TARGET mongo::bson_shared) +- message (FATAL_ERROR "System libbson built without shared library target") ++ + endif () + set (BSON_LIBRARIES mongo::bson_shared) + if (NOT TARGET mongo::bson_static) +- message (FATAL_ERROR "System libbson built without static library target") ++ + endif () + set (BSON_STATIC_LIBRARIES mongo::bson_static) + endif () diff --git a/src/libmongoc/CMakeLists.txt b/src/libmongoc/CMakeLists.txt -index bf95bd0c1..c9900b7fa 100644 +index fcab819..be0bfb2 100644 --- a/src/libmongoc/CMakeLists.txt +++ b/src/libmongoc/CMakeLists.txt -@@ -745,6 +745,7 @@ if (MONGOC_ENABLE_STATIC_BUILD) - set_target_properties (mcd_rpc PROPERTIES OUTPUT_NAME "mcd-rpc") - endif () - +@@ -889,7 +889,7 @@ set ( + "${mongo-c-driver_SOURCE_DIR}/src/uthash" + ) + +-if (ENABLE_SHARED) +if (NOT MONGOC_ENABLE_STATIC_BUILD) - add_library (mongoc_shared SHARED ${SOURCES} ${HEADERS} ${HEADERS_FORWARDING}) - set_target_properties (mongoc_shared PROPERTIES CMAKE_CXX_VISIBILITY_PRESET hidden) - target_link_libraries (mongoc_shared PRIVATE ${LIBRARIES} PUBLIC ${BSON_LIBRARIES}) -@@ -786,7 +787,7 @@ target_include_directories ( - set_target_properties (mongoc_shared PROPERTIES VERSION 0.0.0 SOVERSION 0) - set_target_properties (mongoc_shared PROPERTIES OUTPUT_NAME "${MONGOC_OUTPUT_BASENAME}-${MONGOC_API_VERSION}") - --if (MONGOC_ENABLE_STATIC_BUILD) -+else() + add_library (mongoc_shared SHARED ${SOURCES} ${HEADERS} ${HEADERS_FORWARDING}) + if(WIN32) + # Add resource-definition script for Windows shared library (.dll). +@@ -966,7 +966,7 @@ if (ENABLE_SHARED) + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") + endif () # ENABLE_SHM_COUNTERS + +-endif () # ENABLE_SHARED ++endif () # NOT MONGOC_ENABLE_STATIC_BUILD + + if (MONGOC_ENABLE_STATIC_BUILD) add_library (mongoc_static STATIC ${SOURCES} ${HEADERS} ${HEADERS_FORWARDING}) - if(ENABLE_COVERAGE) - target_compile_options(mongoc_static PRIVATE --coverage) -@@ -840,7 +841,11 @@ if (ENABLE_APPLE_FRAMEWORK) +@@ -1364,7 +1364,7 @@ if (MONGOC_ENABLE_STATIC_INSTALL) + list (APPEND TARGETS_TO_INSTALL mongoc_static) endif () - - add_executable (mongoc-stat ${PROJECT_SOURCE_DIR}/../../src/tools/mongoc-stat.c) -+if (NOT MONGOC_ENABLE_STATIC_BUILD) - target_link_libraries (mongoc-stat mongoc_shared ${LIBRARIES}) -+else() -+target_link_libraries (mongoc-stat mongoc_static ${LIBRARIES}) -+endif() - - # mongoc-stat works if shared memory performance counters are enabled. - if (ENABLE_SHM_COUNTERS) -@@ -1161,7 +1166,7 @@ file (COPY ${PROJECT_SOURCE_DIR}/tests/x509gen DESTINATION ${PROJECT_BINARY_DIR} - file (COPY ${PROJECT_SOURCE_DIR}/tests/release_files DESTINATION ${PROJECT_BINARY_DIR}/tests) - if (MONGOC_ENABLE_STATIC_INSTALL) -- set (TARGETS_TO_INSTALL mongoc_shared mongoc_static) -+ set (TARGETS_TO_INSTALL mongoc_static) - else () - set (TARGETS_TO_INSTALL mongoc_shared) +-if (ENABLE_SHARED) ++if (NOT MONGOC_ENABLE_STATIC_BUILD) + list (APPEND TARGETS_TO_INSTALL mongoc_shared) endif () -@@ -1226,10 +1231,12 @@ configure_file ( - ${CMAKE_CURRENT_SOURCE_DIR}/src/libmongoc-1.0.pc.in - ${CMAKE_CURRENT_BINARY_DIR}/src/libmongoc-1.0.pc - @ONLY) -+if(NOT MONGOC_ENABLE_STATIC_INSTALL) - install ( - FILES ${CMAKE_CURRENT_BINARY_DIR}/src/libmongoc-1.0.pc - DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig - ) -+endif() - if (MONGOC_ENABLE_STATIC_INSTALL) - configure_file ( - ${CMAKE_CURRENT_SOURCE_DIR}/src/libmongoc-static-1.0.pc.in -@@ -1239,7 +1246,7 @@ if (MONGOC_ENABLE_STATIC_INSTALL) - FILES ${CMAKE_CURRENT_BINARY_DIR}/src/libmongoc-static-1.0.pc - DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig - ) --endif () -+else() + +@@ -1419,6 +1419,7 @@ endif() + set_property(TARGET ${TARGETS_TO_INSTALL} APPEND PROPERTY pkg_config_INCLUDE_DIRECTORIES "${MONGOC_HEADER_INSTALL_DIR}") + # Deprecated alias for libmongoc-1.0.pc, see CDRIVER-2086. ++if (NOT MONGOC_ENABLE_STATIC_BUILD) if (MONGOC_ENABLE_SSL) configure_file ( -@@ -1251,6 +1258,7 @@ if (MONGOC_ENABLE_SSL) + ${CMAKE_CURRENT_SOURCE_DIR}/src/libmongoc-ssl-1.0.pc.in +@@ -1429,6 +1430,7 @@ if (MONGOC_ENABLE_SSL) DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig ) endif () -+endif() ++endif () include (CMakePackageConfigHelpers) - set (INCLUDE_INSTALL_DIRS "${MONGOC_HEADER_INSTALL_DIR}") + diff --git a/ports/mongo-c-driver/fix-dependencies.patch b/ports/mongo-c-driver/fix-dependencies.patch index 90c9585c559a48..1e4c348bf8defc 100644 --- a/ports/mongo-c-driver/fix-dependencies.patch +++ b/ports/mongo-c-driver/fix-dependencies.patch @@ -1,24 +1,22 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 71c13fd..8464824 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -205,11 +205,9 @@ if (ENABLE_BSON STREQUAL SYSTEM) +diff --git a/build/cmake/libmongoc-static-1.0-config.cmake.in b/build/cmake/libmongoc-static-1.0-config.cmake.in +index bec3163..a32d5f3 100644 +--- a/build/cmake/libmongoc-static-1.0-config.cmake.in ++++ b/build/cmake/libmongoc-static-1.0-config.cmake.in +@@ -24,6 +24,9 @@ set (MONGOC_STATIC_VERSION_FULL @libmongoc_VERSION_FULL@) - set (USING_SYSTEM_BSON TRUE) - if (NOT TARGET mongo::bson_shared) -- message (FATAL_ERROR "System libbson built without shared library target") - endif () - set (BSON_LIBRARIES mongo::bson_shared) - if (NOT TARGET mongo::bson_static) -- message (FATAL_ERROR "System libbson built without static library target") - endif () - set (BSON_STATIC_LIBRARIES mongo::bson_static) - endif () + include(CMakeFindDependencyMacro) + find_dependency (mongoc-1.0) ++if("@ENABLE_SNAPPY@" STREQUAL "ON") ++ find_dependency(Snappy CONFIG) ++endif() + + set(MONGOC_STATIC_LIBRARY mongo::mongoc_static) + set(MONGOC_STATIC_LIBRARIES mongo::mongoc_static) diff --git a/src/libmongoc/CMakeLists.txt b/src/libmongoc/CMakeLists.txt -index d108e5d..a097016 100644 +index 0a18f5a..5346a9d 100644 --- a/src/libmongoc/CMakeLists.txt +++ b/src/libmongoc/CMakeLists.txt -@@ -51,7 +51,7 @@ configure_file ( +@@ -50,7 +50,7 @@ endif () set (ZLIB_INCLUDE_DIRS "") if (ENABLE_ZLIB MATCHES "SYSTEM|AUTO") message (STATUS "Searching for zlib CMake packages") @@ -27,16 +25,7 @@ index d108e5d..a097016 100644 if (ZLIB_FOUND) message (STATUS " zlib found version \"${ZLIB_VERSION_STRING}\"") message (STATUS " zlib include path \"${ZLIB_INCLUDE_DIRS}\"") -@@ -146,7 +146,7 @@ if (NOT ENABLE_SSL STREQUAL OFF) - if (ENABLE_SSL STREQUAL "OPENSSL" - OR (NOT APPLE AND NOT WIN32 AND ENABLE_SSL STREQUAL "AUTO")) - # Sets OPENSSL_FOUND on success. -- include (FindOpenSSL) -+ find_package(OpenSSL REQUIRED) - endif () - - if (ENABLE_SSL STREQUAL LIBRESSL) -@@ -364,10 +364,10 @@ else () +@@ -468,10 +468,10 @@ else () endif () # Sets SNAPPY_LIBRARIES and SNAPPY_INCLUDE_DIRS. @@ -49,45 +38,61 @@ index d108e5d..a097016 100644 - include_directories ("${SNAPPY_INCLUDE_DIRS}") endif () - set (MONGOC_ENABLE_SHM_COUNTERS 0) -diff --git a/src/libmongoc/build/cmake/libmongoc-1.0-config.cmake.in b/src/libmongoc/build/cmake/libmongoc-1.0-config.cmake.in -index feeca02..1ec92ae 100644 ---- a/src/libmongoc/build/cmake/libmongoc-1.0-config.cmake.in -+++ b/src/libmongoc/build/cmake/libmongoc-1.0-config.cmake.in -@@ -19,6 +19,10 @@ set (MONGOC_MINOR_VERSION @MONGOC_MINOR_VERSION@) - set (MONGOC_MICRO_VERSION @MONGOC_MICRO_VERSION@) - set (MONGOC_VERSION @MONGOC_VERSION@) - -+include(CMakeFindDependencyMacro) -+if("@ENABLE_SNAPPY@" STREQUAL "ON") -+ find_dependency(Snappy CONFIG) -+endif() - find_package (libbson-1.0 "@MONGOC_MAJOR_VERSION@.@MONGOC_MINOR_VERSION@" REQUIRED) + mongo_bool01 (MONGOC_ENABLE_SHM_COUNTERS ENABLE_SHM_COUNTERS) +@@ -759,7 +759,7 @@ set (STATIC_LIBRARIES + ) - @PACKAGE_INIT@ -diff --git a/src/libmongoc/build/cmake/libmongoc-static-1.0-config.cmake.in b/src/libmongoc/build/cmake/libmongoc-static-1.0-config.cmake.in -index 6f05b0c..0e388e6 100644 ---- a/src/libmongoc/build/cmake/libmongoc-static-1.0-config.cmake.in -+++ b/src/libmongoc/build/cmake/libmongoc-static-1.0-config.cmake.in -@@ -19,6 +19,10 @@ set (MONGOC_STATIC_MINOR_VERSION @MONGOC_MINOR_VERSION@) - set (MONGOC_STATIC_MICRO_VERSION @MONGOC_MICRO_VERSION@) - set (MONGOC_STATIC_VERSION @MONGOC_VERSION@) - -+include(CMakeFindDependencyMacro) -+if("@ENABLE_SNAPPY@" STREQUAL "ON") -+ find_dependency(Snappy CONFIG) -+endif() - find_package (libbson-static-1.0 "@MONGOC_MAJOR_VERSION@.@MONGOC_MINOR_VERSION@" REQUIRED) - - @PACKAGE_INIT@ + # utf8proc configuration +-find_package(Utf8Proc REQUIRED) ++find_package(unofficial-utf8proc CONFIG REQUIRED) + set(UTF8PROC_INCLUDE_DIRS, "") + if (USE_BUNDLED_UTF8PROC) + set ( +@@ -955,7 +955,7 @@ if (MONGOC_ENABLE_STATIC_BUILD) + set_target_properties (mongoc_static PROPERTIES + VERSION 0.0.0 + OUTPUT_NAME "${MONGOC_OUTPUT_BASENAME}-static-${MONGOC_API_VERSION}" +- pkg_config_REQUIRES "libbson-static-1.0" ++ pkg_config_REQUIRES "libbson-static-1.0 libutf8proc" + ) + if(MONGOC_ENABLE_STATIC_INSTALL) + mongo_generate_pkg_config (mongoc_static FILENAME libmongoc-static-${MONGOC_API_VERSION}.pc INSTALL) diff --git a/src/libmongoc/src/mongoc-config.cmake b/src/libmongoc/src/mongoc-config.cmake -index 7fe7cf4..12611a3 100644 +index 31e6cbc..cdbb756 100644 --- a/src/libmongoc/src/mongoc-config.cmake +++ b/src/libmongoc/src/mongoc-config.cmake -@@ -1,3 +1,6 @@ +@@ -1,5 +1,8 @@ include(CMakeFindDependencyMacro) -+if("@ENABLE_SNAPPY@" STREQUAL "ON") + find_dependency(bson-1.0 @libmongoc_VERSION@) ++if("@ENABLE_SNAPPY@") + find_dependency(Snappy CONFIG) +endif() - find_dependency(bson-1.0 @MONGOC_MAJOR_VERSION@.@MONGOC_MINOR_VERSION@.@MONGOC_MICRO_VERSION@) - include("${CMAKE_CURRENT_LIST_DIR}/mongoc-targets.cmake") + + # If we need to import a TLS package for our imported targets, do that now: + set(MONGOC_TLS_BACKEND [[@TLS_BACKEND@]]) +@@ -13,8 +16,6 @@ if(_tls_package) + set(CMAKE_MODULE_PATH "${_prev_path}") + endif() + +-include("${CMAKE_CURRENT_LIST_DIR}/mongoc-targets.cmake") +- + unset(_required) + unset(_quiet) + if(${CMAKE_FIND_PACKAGE_NAME}_FIND_REQUIRED) +@@ -29,9 +30,8 @@ if(NOT _mongoc_built_with_bundled_utf8proc AND NOT TARGET PkgConfig::PC_UTF8PROC + # libmongoc was compiled against an external utf8proc and links against a + # FindPkgConfig-generated IMPORTED target. Find that package and generate that + # imported target here: +- find_dependency(PkgConfig) +- pkg_check_modules(PC_UTF8PROC ${_required} ${_quiet} libutf8proc IMPORTED_TARGET GLOBAL) + endif() ++find_dependency(unofficial-utf8proc CONFIG) + + # Find dependencies for SASL + set(_sasl_backend [[@SASL_BACKEND@]]) +@@ -43,3 +43,5 @@ if(_sasl_backend STREQUAL "Cyrus") + find_dependency(SASL2 2.0) + set(CMAKE_MODULE_PATH "${_prev_path}") + endif() ++ ++include("${CMAKE_CURRENT_LIST_DIR}/mongoc-targets.cmake") diff --git a/ports/mongo-c-driver/fix-include-directory.patch b/ports/mongo-c-driver/fix-include-directory.patch index 411604fe36f129..965f1d17a2f5ea 100644 --- a/ports/mongo-c-driver/fix-include-directory.patch +++ b/ports/mongo-c-driver/fix-include-directory.patch @@ -1,8 +1,8 @@ diff --git a/src/libmongoc/CMakeLists.txt b/src/libmongoc/CMakeLists.txt -index 86f59ae..d108e5d 100644 +index 4675313..847e073 100644 --- a/src/libmongoc/CMakeLists.txt +++ b/src/libmongoc/CMakeLists.txt -@@ -1172,7 +1172,7 @@ else () +@@ -1255,7 +1255,7 @@ else () endif () set (MONGOC_HEADER_INSTALL_DIR @@ -11,23 +11,3 @@ index 86f59ae..d108e5d 100644 ) install ( -diff --git a/src/libmongoc/src/libmongoc-1.0.pc.in b/src/libmongoc/src/libmongoc-1.0.pc.in -index 1b489d8..991603e 100644 ---- a/src/libmongoc/src/libmongoc-1.0.pc.in -+++ b/src/libmongoc/src/libmongoc-1.0.pc.in -@@ -8,4 +8,4 @@ Description: The libmongoc MongoDB client library. - Version: @VERSION@ - Requires: libbson-1.0 - Libs: -L${libdir} -lmongoc-1.0 --Cflags: -I${includedir}/libmongoc-@MONGOC_API_VERSION@ -+Cflags: -I${includedir} -diff --git a/src/libmongoc/src/libmongoc-static-1.0.pc.in b/src/libmongoc/src/libmongoc-static-1.0.pc.in -index d59ee64..c23bb62 100644 ---- a/src/libmongoc/src/libmongoc-static-1.0.pc.in -+++ b/src/libmongoc/src/libmongoc-static-1.0.pc.in -@@ -8,4 +8,4 @@ Description: The libmongoc MongoDB client library. - Version: @VERSION@ - Requires: libbson-static-1.0 - Libs: -L${libdir} -lmongoc-static-1.0 @MONGOC_LIBRARIES@ --Cflags: -I${includedir}/libmongoc-@MONGOC_API_VERSION@ -DMONGOC_STATIC -+Cflags: -I${includedir}/libmongoc -DMONGOC_STATIC diff --git a/ports/mongo-c-driver/fix-mingw.patch b/ports/mongo-c-driver/fix-mingw.patch index 2695cea12af271..c52566ddac6a1a 100644 --- a/ports/mongo-c-driver/fix-mingw.patch +++ b/ports/mongo-c-driver/fix-mingw.patch @@ -1,55 +1,42 @@ -diff --git a/build/cmake/FindResSearch.cmake b/build/cmake/FindResSearch.cmake -index fcd791b..346f715 100644 ---- a/build/cmake/FindResSearch.cmake -+++ b/build/cmake/FindResSearch.cmake -@@ -2,7 +2,7 @@ include (CheckSymbolExists) - - if (ENABLE_SRV STREQUAL ON OR ENABLE_SRV STREQUAL AUTO) - if (WIN32) -- set (RESOLV_LIBRARIES Dnsapi) -+ set (RESOLV_LIBRARIES dnsapi) - set (MONGOC_HAVE_DNSAPI 1) - set (MONGOC_HAVE_RES_NSEARCH 0) - set (MONGOC_HAVE_RES_NDESTROY 0) diff --git a/src/libmongoc/CMakeLists.txt b/src/libmongoc/CMakeLists.txt -index 2e1f854..95e6b6b 100644 +index be0bfb2..6e295d6 100644 --- a/src/libmongoc/CMakeLists.txt +++ b/src/libmongoc/CMakeLists.txt -@@ -688,7 +688,7 @@ if (NOT ENABLE_SSL STREQUAL OFF) - ${PROJECT_SOURCE_DIR}/src/mongoc/mongoc-stream-tls-secure-channel.c - ${PROJECT_SOURCE_DIR}/src/mongoc/mongoc-secure-channel.c - ) -- set (SSL_LIBRARIES secur32.lib crypt32.lib Bcrypt.lib) -+ set (SSL_LIBRARIES secur32.lib crypt32.lib bcrypt.lib) - elseif (LIBRESSL) - message (STATUS "Compiling against LibreSSL") - set (SOURCES ${SOURCES} -@@ -714,7 +714,7 @@ if (MONGOC_ENABLE_SASL) - message (STATUS "Compiling against Windows SSPI") - set (SOURCES ${SOURCES} ${PROJECT_SOURCE_DIR}/src/mongoc/mongoc-cluster-sspi.c) - set (SOURCES ${SOURCES} ${PROJECT_SOURCE_DIR}/src/mongoc/mongoc-sspi.c) -- set (SASL_LIBRARIES secur32.lib crypt32.lib Shlwapi.lib) -+ set (SASL_LIBRARIES secur32.lib crypt32.lib shlwapi.lib) - endif () - else () - message (STATUS "SASL disabled") +@@ -206,7 +206,7 @@ endfunction() + # Per-backend link libs/options: + set(SecureTransport/LINK_LIBRARIES "-framework CoreFoundation" "-framework Security") + set(SecureTransport/pkg_config_LIBS -framework Corefoundation -framework Security) +-set(SecureChannel/LINK_LIBRARIES secur32.lib crypt32.lib Bcrypt.lib) ++set(SecureChannel/LINK_LIBRARIES secur32.lib crypt32.lib bcrypt.lib) + set(SecureChannel/pkg_config_LIBS ${SecureChannel/LINK_LIBRARIES}) + set(LibreSSL/LINK_LIBRARIES LibreSSL::TLS LibreSSL::Crypto) + set(LibreSSL/pkg_config_LIBS -ltls -lcrypto) +@@ -357,7 +357,7 @@ function(_use_sasl libname) + target_link_libraries(_mongoc-dependencies INTERFACE _mongoc-sasl_backend) + install(TARGETS _mongoc-sasl_backend EXPORT mongoc-targets) + if(libname STREQUAL "SSPI") +- target_link_libraries(_mongoc-sasl_backend INTERFACE secur32.lib crypt32.lib Shlwapi.lib) ++ target_link_libraries(_mongoc-sasl_backend INTERFACE secur32.lib crypt32.lib shlwapi.lib) + set(backend "SSPI") + elseif(libname STREQUAL "CYRUS") + find_package(SASL2 2.0 REQUIRED) diff --git a/src/libmongoc/src/mongoc/mongoc-client.c b/src/libmongoc/src/mongoc/mongoc-client.c -index 457c841..7b6d585 100644 +index 80f15f8..28a0742 100644 --- a/src/libmongoc/src/mongoc/mongoc-client.c +++ b/src/libmongoc/src/mongoc/mongoc-client.c -@@ -19,8 +19,8 @@ +@@ -18,8 +18,8 @@ #include "mongoc-config.h" #ifdef MONGOC_HAVE_DNSAPI /* for DnsQuery_UTF8 */ -#include -#include +#include -+#include ++#include #include #else #if defined(MONGOC_HAVE_RES_NSEARCH) || defined(MONGOC_HAVE_RES_SEARCH) diff --git a/src/libmongoc/src/mongoc/mongoc-socket.c b/src/libmongoc/src/mongoc/mongoc-socket.c -index e085adb..592bc89 100644 +index e417d7d..cccabf5 100644 --- a/src/libmongoc/src/mongoc/mongoc-socket.c +++ b/src/libmongoc/src/mongoc/mongoc-socket.c @@ -25,7 +25,7 @@ @@ -60,9 +47,9 @@ index e085adb..592bc89 100644 +#include #include #endif - + #include diff --git a/src/libmongoc/src/mongoc/mongoc-sspi-private.h b/src/libmongoc/src/mongoc/mongoc-sspi-private.h -index 60996fc..3745eff 100644 +index a2df035..a1ade8a 100644 --- a/src/libmongoc/src/mongoc/mongoc-sspi-private.h +++ b/src/libmongoc/src/mongoc/mongoc-sspi-private.h @@ -28,7 +28,7 @@ BSON_BEGIN_DECLS diff --git a/ports/mongo-c-driver/libmongoc-1.0-config.cmake b/ports/mongo-c-driver/libmongoc-1.0-config.cmake deleted file mode 100644 index 1126bf417aca22..00000000000000 --- a/ports/mongo-c-driver/libmongoc-1.0-config.cmake +++ /dev/null @@ -1,5 +0,0 @@ -include(CMakeFindDependencyMacro) -find_dependency(libmongoc-static-1.0 ${${CMAKE_FIND_PACKAGE_NAME}_FIND_VERSION} CONFIG) -set(MONGOC_DEFINITIONS "${MONGOC_STATIC_DEFINITIONS}") -set(MONGOC_INCLUDE_DIRS "${MONGOC_STATIC_INCLUDE_DIRS}") -set(MONGOC_LIBRARIES "${MONGOC_STATIC_LIBRARIES}") diff --git a/ports/mongo-c-driver/pkgconfig.patch b/ports/mongo-c-driver/pkgconfig.patch deleted file mode 100644 index 65a94c20bc8834..00000000000000 --- a/ports/mongo-c-driver/pkgconfig.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff --git a/src/libmongoc/CMakeLists.txt b/src/libmongoc/CMakeLists.txt -index 1b32e6c..2e1f854 100644 ---- a/src/libmongoc/CMakeLists.txt -+++ b/src/libmongoc/CMakeLists.txt -@@ -1207,6 +1207,22 @@ set (VERSION "${MONGOC_VERSION}") - set (prefix "${CMAKE_INSTALL_PREFIX}") - set (libdir "\${prefix}/${CMAKE_INSTALL_LIBDIR}") - -+set(MONGOC_REQUIRES_PRIVATE zlib) -+set(ZLIB_LIBRARIES "") -+if(ENABLE_SSL STREQUAL "OPENSSL") -+ string(APPEND MONGOC_REQUIRES_PRIVATE " openssl") -+ set(SSL_LIBRARIES "") -+endif() -+if(ENABLE_ICU) -+ string(APPEND MONGOC_REQUIRES_PRIVATE " icu-uc") -+ set(ICU_LIBRARIES "") -+endif() -+if(ENABLE_SNAPPY) -+ set(SNAPPY_LIBRARIES "-lsnappy") -+ if(CMAKE_BUILD_TYPE STREQUAL "Debug") -+ string(APPEND SNAPPY_LIBRARIES "d") -+ endif() -+endif() - foreach ( - FLAG - ${SASL_LIBRARIES} ${SSL_LIBRARIES} ${SHM_LIBRARIES} ${RESOLV_LIBRARIES} -diff --git a/src/libmongoc/src/libmongoc-static-1.0.pc.in b/src/libmongoc/src/libmongoc-static-1.0.pc.in -index c23bb62..7b38f0a 100644 ---- a/src/libmongoc/src/libmongoc-static-1.0.pc.in -+++ b/src/libmongoc/src/libmongoc-static-1.0.pc.in -@@ -9,3 +9,4 @@ Version: @VERSION@ - Requires: libbson-static-1.0 - Libs: -L${libdir} -lmongoc-static-1.0 @MONGOC_LIBRARIES@ - Cflags: -I${includedir}/libmongoc -DMONGOC_STATIC -+Requires.private: @MONGOC_REQUIRES_PRIVATE@ diff --git a/ports/mongo-c-driver/portfile.cmake b/ports/mongo-c-driver/portfile.cmake index f04c6575adb457..4cb6061b206424 100644 --- a/ports/mongo-c-driver/portfile.cmake +++ b/ports/mongo-c-driver/portfile.cmake @@ -1,21 +1,21 @@ # This port needs to be updated at the same time as libbson - -vcpkg_minimum_required(VERSION 2022-10-12) # for ${VERSION} - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mongodb/mongo-c-driver REF "${VERSION}" - SHA512 242416638bf6722ccda67ecc15cf78f8531f1a4ae0e89fd66cde74221d7b98b859442f5b70628802972961e69156fd7afcc916d7a83cc134d5723eb0b6e15cc9 + SHA512 8624966472603d5a20b2b01488660897b3ba9910fb69a41996852836bd5d4eb7e2c7fcfba3bdfcb01715ed83d08c7f9e93f98b59d1fe88f67f1a5a7de9b0a42e HEAD_REF master PATCHES disable-dynamic-when-static.patch - fix-include-directory.patch # vcpkg legacy decision fix-dependencies.patch + fix-include-directory.patch fix-mingw.patch - pkgconfig.patch + remove_abs_patch.cmake ) file(WRITE "${SOURCE_PATH}/VERSION_CURRENT" "${VERSION}") +file(TOUCH "${SOURCE_PATH}/src/utf8proc-editable") +file(GLOB vendored_libs "${SOURCE_PATH}/src/utf8proc-*" "${SOURCE_PATH}/src/zlib-*/*.h") +file(REMOVE_RECURSE ${vendored_libs}) # Cannot use string(COMPARE EQUAL ...) set(ENABLE_STATIC OFF) @@ -25,7 +25,6 @@ endif() vcpkg_check_features(OUT_FEATURE_OPTIONS OPTIONS FEATURES - icu ENABLE_ICU snappy ENABLE_SNAPPY zstd ENABLE_ZSTD ) @@ -44,33 +43,51 @@ if(VCPKG_TARGET_IS_ANDROID) vcpkg_list(APPEND OPTIONS -DENABLE_SRV=OFF) endif() +vcpkg_find_acquire_program(PKGCONFIG) + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" + DISABLE_PARALLEL_CONFIGURE OPTIONS ${OPTIONS} + "-DBUILD_VERSION=${VERSION}" + -DUSE_BUNDLED_UTF8PROC=OFF -DUSE_SYSTEM_LIBBSON=ON + -DENABLE_CLIENT_SIDE_ENCRYPTION=OFF -DENABLE_EXAMPLES=OFF + -DENABLE_SASL=OFF -DENABLE_SHM_COUNTERS=OFF -DENABLE_STATIC=${ENABLE_STATIC} -DENABLE_TESTS=OFF -DENABLE_UNINSTALL=OFF -DENABLE_ZLIB=SYSTEM - -DVCPKG_HOST_TRIPLET=${HOST_TRIPLET} # for host pkgconf in PATH + -DCMAKE_DISABLE_FIND_PACKAGE_Python=ON + -DCMAKE_DISABLE_FIND_PACKAGE_Python3=ON + "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" ) vcpkg_cmake_install() vcpkg_copy_pdbs() + +if("snappy" IN_LIST FEATURES AND VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libmongoc-static-1.0.pc" " -lSnappy::snappy" "") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libmongoc-static-1.0.pc" "Requires: " "Requires: snappy ") + if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libmongoc-static-1.0.pc" " -lSnappy::snappy" "") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libmongoc-static-1.0.pc" "Requires: " "Requires: snappy ") + endif() +endif() vcpkg_fixup_pkgconfig() -vcpkg_cmake_config_fixup(PACKAGE_NAME mongoc-1.0 CONFIG_PATH "lib/cmake/mongoc-1.0" DO_NOT_DELETE_PARENT_CONFIG_PATH) +# deprecated +vcpkg_cmake_config_fixup(PACKAGE_NAME libmongoc-1.0 CONFIG_PATH "lib/cmake/libmongoc-1.0" DO_NOT_DELETE_PARENT_CONFIG_PATH) if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_cmake_config_fixup(PACKAGE_NAME libmongoc-static-1.0 CONFIG_PATH "lib/cmake/libmongoc-static-1.0" DO_NOT_DELETE_PARENT_CONFIG_PATH) vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/mongoc/mongoc-macros.h" "#define MONGOC_MACROS_H" "#define MONGOC_MACROS_H\n#ifndef MONGOC_STATIC\n#define MONGOC_STATIC\n#endif") - vcpkg_cmake_config_fixup(PACKAGE_NAME libmongoc-static-1.0 CONFIG_PATH "lib/cmake/libmongoc-static-1.0") - file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/share/libmongoc-1.0") - file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/libmongoc-1.0-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/libmongoc-1.0") -else() - vcpkg_cmake_config_fixup(PACKAGE_NAME libmongoc-1.0 CONFIG_PATH "lib/cmake/libmongoc-1.0") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/libmongoc-1.0/libmongoc-1.0-config.cmake" "mongoc_shared" "mongoc_static") endif() +# recommended +vcpkg_cmake_config_fixup(PACKAGE_NAME mongoc-1.0 CONFIG_PATH "lib/cmake/mongoc-1.0") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" diff --git a/ports/mongo-c-driver/remove_abs_patch.cmake b/ports/mongo-c-driver/remove_abs_patch.cmake new file mode 100644 index 00000000000000..f68db18f4bf09e --- /dev/null +++ b/ports/mongo-c-driver/remove_abs_patch.cmake @@ -0,0 +1,13 @@ +diff --git a/src/libmongoc/CMakeLists.txt b/src/libmongoc/CMakeLists.txt +index 6e295d68fb..54ab225ba7 100644 +--- a/src/libmongoc/CMakeLists.txt ++++ b/src/libmongoc/CMakeLists.txt +@@ -474,7 +474,7 @@ if (NOT WIN32) + mongoc_get_accept_args (MONGOC_SOCKET_ARG2 MONGOC_SOCKET_ARG3) + endif () + +-set (MONGOC_CC ${CMAKE_C_COMPILER}) ++cmake_path(GET CMAKE_C_COMPILER FILENAME MONGOC_CC) + set (MONGOC_USER_SET_CFLAGS ${CMAKE_C_FLAGS}) + set (MONGOC_USER_SET_LDFLAGS ${CMAKE_EXE_LINKER_FLAGS}) + diff --git a/ports/mongo-c-driver/usage b/ports/mongo-c-driver/usage index 13331968286228..ae5fca480fc21e 100644 --- a/ports/mongo-c-driver/usage +++ b/ports/mongo-c-driver/usage @@ -1,4 +1,4 @@ mongo-c-driver provides CMake targets: - find_package(mongoc-1.0 CONFIG REQUIRED) - target_link_libraries(main PRIVATE $,mongo::mongoc_shared,mongo::mongoc_static>) + find_package(mongoc-1.0 CONFIG REQUIRED) + target_link_libraries(main PRIVATE $,mongo::mongoc_shared,mongo::mongoc_static>) diff --git a/ports/mongo-c-driver/vcpkg.json b/ports/mongo-c-driver/vcpkg.json index ef533e5213f55c..32d668d06b7122 100644 --- a/ports/mongo-c-driver/vcpkg.json +++ b/ports/mongo-c-driver/vcpkg.json @@ -1,6 +1,6 @@ { "name": "mongo-c-driver", - "version": "1.24.3", + "version": "1.29.2", "description": "Client library written in C for MongoDB.", "homepage": "https://github.com/mongodb/mongo-c-driver", "license": null, @@ -14,6 +14,7 @@ ], "platform": "!windows & !osx & !ios" }, + "utf8proc", { "name": "vcpkg-cmake", "host": true @@ -25,12 +26,6 @@ "zlib" ], "features": { - "icu": { - "description": "Enable ICU support, necessary to use non-ASCII usernames or passwords", - "dependencies": [ - "icu" - ] - }, "openssl": { "description": "Use OpenSSL (even on Windows or Apple systems)", "dependencies": [ @@ -46,10 +41,6 @@ "zstd": { "description": "Enables zstd compressor support", "dependencies": [ - { - "name": "pkgconf", - "host": true - }, "zstd" ] } diff --git a/ports/mongo-cxx-driver/fix-dependencies.patch b/ports/mongo-cxx-driver/fix-dependencies.patch index 215a31a05625b7..2e6dd14d56df37 100644 --- a/ports/mongo-cxx-driver/fix-dependencies.patch +++ b/ports/mongo-cxx-driver/fix-dependencies.patch @@ -1,14 +1,35 @@ diff --git a/src/bsoncxx/CMakeLists.txt b/src/bsoncxx/CMakeLists.txt -index f30aea836..50610ffb1 100644 +index 1e241f5..adf9a27 100644 --- a/src/bsoncxx/CMakeLists.txt +++ b/src/bsoncxx/CMakeLists.txt -@@ -215,6 +215,9 @@ if(BSONCXX_BUILD_STATIC) - bsoncxx_install_deprecated_cmake(bsoncxx-static) - list(APPEND bsoncxx_target_list bsoncxx_static) - set(bsoncxx_pkg_dep "find_dependency(bson-1.0 REQUIRED)") -+ if(BSONCXX_POLY_USE_BOOST) -+ string(APPEND bsoncxx_pkg_dep "\nfind_dependency(Boost)") -+ endif() - endif() - if(BSONCXX_POLY_USE_BOOST) - set(bsoncxx_boost_pkg_dep "find_dependency(Boost 1.56.0 REQUIRED)") +@@ -105,7 +105,7 @@ else() + else() + # Require package of old libbson name (with lib). + if(NOT BSONCXX_LINK_WITH_STATIC_MONGOC) +- find_package(libbson-${LIBBSON_REQUIRED_ABI_VERSION} ${LIBBSON_REQUIRED_VERSION} REQUIRED) ++ find_package(libbson-${LIBBSON_REQUIRED_ABI_VERSION} REQUIRED) + message(STATUS "found libbson version ${BSON_VERSION}") + set(libbson_target ${BSON_LIBRARIES}) + set(libbson_include_directories ${BSON_INCLUDE_DIRS}) +diff --git a/src/mongocxx/CMakeLists.txt b/src/mongocxx/CMakeLists.txt +index 4fe323f..2e27410 100644 +--- a/src/mongocxx/CMakeLists.txt ++++ b/src/mongocxx/CMakeLists.txt +@@ -41,7 +41,7 @@ if(TARGET mongoc_shared OR TARGET mongoc_static) + set(MONGOCXX_PKG_DEP "find_dependency(mongoc-${LIBMONGOC_REQUIRED_ABI_VERSION} REQUIRED)") + else() + # Attempt to find libmongoc by new package name (without lib). +- find_package(mongoc-${LIBMONGOC_REQUIRED_ABI_VERSION} ${LIBMONGOC_REQUIRED_VERSION} QUIET) ++ find_package(mongoc-${LIBMONGOC_REQUIRED_ABI_VERSION} CONFIG REQUIRED) + + if(mongoc-${LIBMONGOC_REQUIRED_ABI_VERSION}_FOUND) + message(STATUS "found libmongoc version ${mongoc-${LIBMONGOC_REQUIRED_ABI_VERSION}_VERSION}") +@@ -56,7 +56,7 @@ else() + else() + # Require package of old libmongoc name (with lib). + if(NOT MONGOCXX_LINK_WITH_STATIC_MONGOC) +- find_package(libmongoc-${LIBMONGOC_REQUIRED_ABI_VERSION} ${LIBMONGOC_REQUIRED_VERSION} REQUIRED) ++ find_package(libmongoc-${LIBMONGOC_REQUIRED_ABI_VERSION} REQUIRED) + message(STATUS "found libmongoc version ${MONGOC_VERSION}") + set(libmongoc_target ${MONGOC_LIBRARIES}) + set(libmongoc_definitions ${MONGOC_DEFINITIONS}) diff --git a/ports/mongo-cxx-driver/libbsoncxx-config.cmake b/ports/mongo-cxx-driver/libbsoncxx-config.cmake deleted file mode 100644 index 33a3e5aedade90..00000000000000 --- a/ports/mongo-cxx-driver/libbsoncxx-config.cmake +++ /dev/null @@ -1,9 +0,0 @@ -include(CMakeFindDependencyMacro) -find_dependency(libbsoncxx-static ${${CMAKE_FIND_PACKAGE_NAME}_FIND_VERSION} CONFIG) -set(LIBBSONCXX_VERSION_MAJOR "${LIBBSONCXX_STATIC_VERSION_MAJOR}") -set(LIBBSONCXX_VERSION_MINOR "${LIBBSONCXX_STATIC_VERSION_MINOR}") -set(LIBBSONCXX_VERSION_PATCH "${LIBBSONCXX_STATIC_VERSION_PATCH}") -set(LIBBSONCXX_PACKAGE_VERSION "${LIBBSONCXX_STATIC_PACKAGE_VERSION}") -set(LIBBSONCXX_DEFINITIONS "${LIBBSONCXX_STATIC_DEFINITIONS}") -set(LIBBSONCXX_INCLUDE_DIRS "${LIBBSONCXX_STATIC_INCLUDE_DIRS}") -set(LIBBSONCXX_LIBRARIES "${LIBBSONCXX_STATIC_LIBRARIES}") diff --git a/ports/mongo-cxx-driver/libmongocxx-config.cmake b/ports/mongo-cxx-driver/libmongocxx-config.cmake deleted file mode 100644 index faba20f2591f0d..00000000000000 --- a/ports/mongo-cxx-driver/libmongocxx-config.cmake +++ /dev/null @@ -1,9 +0,0 @@ -include(CMakeFindDependencyMacro) -find_dependency(libmongocxx-static ${${CMAKE_FIND_PACKAGE_NAME}_FIND_VERSION} CONFIG) -set(LIBMONGOCXX_VERSION_MAJOR "${LIBMONGOCXX_STATIC_VERSION_MAJOR}") -set(LIBMONGOCXX_VERSION_MINOR "${LIBMONGOCXX_STATIC_VERSION_MINOR}") -set(LIBMONGOCXX_VERSION_PATCH "${LIBMONGOCXX_STATIC_VERSION_PATCH}") -set(LIBMONGOCXX_PACKAGE_VERSION "${LIBMONGOCXX_STATIC_PACKAGE_VERSION}") -set(LIBMONGOCXX_DEFINITIONS "${LIBMONGOCXX_STATIC_DEFINITIONS}") -set(LIBMONGOCXX_INCLUDE_DIRS "${LIBMONGOCXX_STATIC_INCLUDE_DIRS}") -set(LIBMONGOCXX_LIBRARIES "${LIBMONGOCXX_STATIC_LIBRARIES}") diff --git a/ports/mongo-cxx-driver/portfile.cmake b/ports/mongo-cxx-driver/portfile.cmake index c943f3e4d06b47..22e2e6fed74dbb 100644 --- a/ports/mongo-cxx-driver/portfile.cmake +++ b/ports/mongo-cxx-driver/portfile.cmake @@ -2,54 +2,33 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mongodb/mongo-cxx-driver REF "r${VERSION}" - SHA512 f9f0d83ee2ef1f3c2dae1f3663b893d819737d4e646d0137fb623b84663382eb93ab36123c2a85247f43ae979a95276fa231d5da8ad62a6da002ab9daecaa0d4 + SHA512 7b6564cb5087b03886f3c99aa5da9e87a898b1bd1098393a7668e39d673d6203a39f7fa95e5bef995f5e53c18654ef1806823cf643a994a8c19a1df75b9eb306 HEAD_REF master PATCHES fix-dependencies.patch ) -file(WRITE "${SOURCE_PATH}/build/VERSION_CURRENT" "${VERSION}") -# This port offered C++17 ABI alternative via features. -# This was reduced to boost only. -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - FEATURES - boost BSONCXX_POLY_USE_BOOST - INVERTED_FEATURES - boost BSONCXX_POLY_USE_STD - boost CMAKE_DISABLE_FIND_PACKAGE_Boost -) +file(WRITE "${SOURCE_PATH}/build/VERSION_CURRENT" "${VERSION}") vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - ${FEATURE_OPTIONS} "-DCMAKE_PROJECT_MONGO_CXX_DRIVER_INCLUDE=${CMAKE_CURRENT_LIST_DIR}/cmake-project-include.cmake" -DBSONCXX_HEADER_INSTALL_DIR=include -DENABLE_TESTS=OFF -DENABLE_UNINSTALL=OFF -DMONGOCXX_HEADER_INSTALL_DIR=include + -DNEED_DOWNLOAD_C_DRIVER=OFF MAYBE_UNUSED_VARIABLES - CMAKE_DISABLE_FIND_PACKAGE_Boost + BSONCXX_HEADER_INSTALL_DIR + MONGOCXX_HEADER_INSTALL_DIR ) vcpkg_cmake_install() vcpkg_copy_pdbs() vcpkg_fixup_pkgconfig() vcpkg_cmake_config_fixup(PACKAGE_NAME "bsoncxx" CONFIG_PATH "lib/cmake/bsoncxx-${VERSION}" DO_NOT_DELETE_PARENT_CONFIG_PATH) -vcpkg_cmake_config_fixup(PACKAGE_NAME "mongocxx" CONFIG_PATH "lib/cmake/mongocxx-${VERSION}" DO_NOT_DELETE_PARENT_CONFIG_PATH) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/bsoncxx/config/export.hpp" - "#define BSONCXX_API_H" "#define BSONCXX_API_H\n#ifndef BSONCXX_STATIC\n#define BSONCXX_STATIC\n#endif") - vcpkg_cmake_config_fixup(PACKAGE_NAME "libbsoncxx-static" CONFIG_PATH "lib/cmake/libbsoncxx-static-${VERSION}" DO_NOT_DELETE_PARENT_CONFIG_PATH) - file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/libbsoncxx-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/libbsoncxx") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/mongocxx/config/export.hpp" - "#define MONGOCXX_API_H" "#define MONGOCXX_API_H\n#ifndef MONGOCXX_STATIC\n#define MONGOCXX_STATIC\n#endif") - vcpkg_cmake_config_fixup(PACKAGE_NAME "libmongocxx-static" CONFIG_PATH "lib/cmake/libmongocxx-static-${VERSION}") - file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/libmongocxx-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/libmongocxx") -else() - vcpkg_cmake_config_fixup(PACKAGE_NAME "libbsoncxx" CONFIG_PATH "lib/cmake/libbsoncxx-${VERSION}" DO_NOT_DELETE_PARENT_CONFIG_PATH) - vcpkg_cmake_config_fixup(PACKAGE_NAME "libmongocxx" CONFIG_PATH "lib/cmake/libmongocxx-${VERSION}") -endif() +vcpkg_cmake_config_fixup(PACKAGE_NAME "mongocxx" CONFIG_PATH "lib/cmake/mongocxx-${VERSION}") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" diff --git a/ports/mongo-cxx-driver/vcpkg.json b/ports/mongo-cxx-driver/vcpkg.json index 76231b86e6e257..54a35e19992034 100644 --- a/ports/mongo-cxx-driver/vcpkg.json +++ b/ports/mongo-cxx-driver/vcpkg.json @@ -1,6 +1,6 @@ { "name": "mongo-cxx-driver", - "version": "3.8.0", + "version": "4.0.0", "description": "MongoDB C++ Driver.", "homepage": "https://github.com/mongodb/mongo-cxx-driver", "license": "Apache-2.0", @@ -15,18 +15,5 @@ "name": "vcpkg-cmake-config", "host": true } - ], - "features": { - "boost": { - "description": [ - "Enables the Boost C++17 polyfill for bsoncxx.", - "Warning: This feature changes the ABI." - ], - "dependencies": [ - "boost-optional", - "boost-smart-ptr", - "boost-utility" - ] - } - } + ] } diff --git a/ports/mongoose/portfile.cmake b/ports/mongoose/portfile.cmake index fefa7abe2f1a6d..d39de8d6dd2015 100644 --- a/ports/mongoose/portfile.cmake +++ b/ports/mongoose/portfile.cmake @@ -4,7 +4,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO cesanta/mongoose REF "${VERSION}" - SHA512 b243ab3e801c99f4c7c063be001e9a0cb30b301c719e2e44e47bdb815618cf1607bb57eba316332927b98de69460ff94ff521a2cf8c02fa03a201304193d4058 + SHA512 d17ebb61d60fd8ab606c6b107d17f4f3942c1f1d0eab7987cc66778e9b345395577dc5a5beb3e061ff8282de75d6104a3aa7bd88c513ba2b1fc1f4e0594e8a3c HEAD_REF master ) diff --git a/ports/mongoose/vcpkg.json b/ports/mongoose/vcpkg.json index 679ebe42769d38..cf44f00fdbd122 100644 --- a/ports/mongoose/vcpkg.json +++ b/ports/mongoose/vcpkg.json @@ -1,6 +1,6 @@ { "name": "mongoose", - "version": "7.12", + "version": "7.16", "description": "Embedded web server / embedded networking library", "homepage": "https://cesanta.com/", "license": null, diff --git a/ports/monkeys-audio/portfile.cmake b/ports/monkeys-audio/portfile.cmake index d24c030ab5ca98..d919e987e5e883 100644 --- a/ports/monkeys-audio/portfile.cmake +++ b/ports/monkeys-audio/portfile.cmake @@ -41,11 +41,13 @@ foreach(VCXPROJ IN ITEMS "${VCXPROJ}" "ProgramDatabase" "OldStyle" + IGNORE_UNCHANGED ) vcpkg_replace_string( "${VCXPROJ}" "EditAndContinue" "OldStyle" + IGNORE_UNCHANGED ) endforeach() diff --git a/ports/monkeys-audio/vcpkg.json b/ports/monkeys-audio/vcpkg.json index f47b7ed329ff36..99811eeb53cfbe 100644 --- a/ports/monkeys-audio/vcpkg.json +++ b/ports/monkeys-audio/vcpkg.json @@ -1,7 +1,7 @@ { "name": "monkeys-audio", "version-string": "10.08", - "port-version": 1, + "port-version": 2, "description": [ "Monkey's Audio is an excellent audio compression tool which has multiple advantages over traditional methods.", "Audio files compressed with it end with .ape extension." diff --git a/ports/moos-core/vcpkg.json b/ports/moos-core/vcpkg.json index 6516d65f1b953c..2fc2564e54e37e 100644 --- a/ports/moos-core/vcpkg.json +++ b/ports/moos-core/vcpkg.json @@ -1,11 +1,11 @@ { "name": "moos-core", "version": "10.4.0", - "port-version": 9, + "port-version": 10, "description": "A very light weight, easy to use middleware.", "homepage": "https://sites.google.com/site/moossoftware/", "license": "GPL-2.0-or-later", - "supports": "!xbox", + "supports": "!xbox & !uwp", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/mosquitto/0005-websocket-shared-lib-name.patch b/ports/mosquitto/0005-websocket-shared-lib-name.patch index 33074e9c1bb175..eba54c174d2b43 100644 --- a/ports/mosquitto/0005-websocket-shared-lib-name.patch +++ b/ports/mosquitto/0005-websocket-shared-lib-name.patch @@ -1,8 +1,8 @@ diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 62ce99e..61f941e 100644 +index e76cc2b..61f941e 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt -@@ -194,13 +194,13 @@ endif (WIN32) +@@ -194,7 +194,7 @@ endif (WIN32) if (WITH_WEBSOCKETS) if (STATIC_WEBSOCKETS) @@ -11,10 +11,3 @@ index 62ce99e..61f941e 100644 if (WIN32) set (MOSQ_LIBS ${MOSQ_LIBS} iphlpapi) link_directories(${mosquitto_SOURCE_DIR}) - endif (WIN32) - else (STATIC_WEBSOCKETS) -- set (MOSQ_LIBS ${MOSQ_LIBS} websockets) -+ set (MOSQ_LIBS ${MOSQ_LIBS} websockets_shared) - endif (STATIC_WEBSOCKETS) - endif (WITH_WEBSOCKETS) - diff --git a/ports/mosquitto/0006-pthreads-for-windows.patch b/ports/mosquitto/0006-pthreads-for-windows.patch deleted file mode 100644 index 14d59946f16dcb..00000000000000 --- a/ports/mosquitto/0006-pthreads-for-windows.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 4c55e05..adece3e 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -68,8 +68,8 @@ option(WITH_THREADING "Include client library threading support?" ON) - if (WITH_THREADING) - add_definitions("-DWITH_THREADING") - if (WIN32) -- find_package(Threads REQUIRED) -- set (PTHREAD_LIBRARIES Threads::Threads) -+ find_package(pthread CONFIG REQUIRED) -+ set (PTHREAD_LIBRARIES PThreads4W::PThreads4W) - set (PTHREAD_INCLUDE_DIR "") - elseif (ANDROID) - set (PTHREAD_LIBRARIES "") diff --git a/ports/mosquitto/portfile.cmake b/ports/mosquitto/portfile.cmake index f1487108e5c374..119ba314f8100f 100644 --- a/ports/mosquitto/portfile.cmake +++ b/ports/mosquitto/portfile.cmake @@ -3,12 +3,11 @@ vcpkg_from_github( REPO eclipse/mosquitto HEAD_REF master REF "v${VERSION}" - SHA512 667216f3e60f9916d5de200d3a205fb5a5c798564c96e44939af6c8e3af85fffa36a63eba47db009b432d14f43883dbca5b92547a458215dd269e91f6bcfb7fa + SHA512 92994ec34cebc56dd9aba1a5c3e082117157b42dc5a4c418a9e57a741ad0f2d909226e432082d21b4c9836d2f13fc37d39a1a77f0122a349d1ba6d50974e5190 PATCHES 0003-add-find_package-libwebsockets.patch 0004-support-static-build.patch 0005-websocket-shared-lib-name.patch - 0006-pthreads-for-windows.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" STATIC_LINKAGE) @@ -73,4 +72,4 @@ endif() configure_file(${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake ${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-cmake-wrapper.cmake @ONLY) file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/mosquitto/vcpkg.json b/ports/mosquitto/vcpkg.json index d298cf9f3973e1..19457cea96de33 100644 --- a/ports/mosquitto/vcpkg.json +++ b/ports/mosquitto/vcpkg.json @@ -1,6 +1,6 @@ { "name": "mosquitto", - "version": "2.0.18", + "version": "2.0.20", "description": "Mosquitto is an open source message broker that implements the MQ Telemetry Transport protocol versions 3.1 and 3.1.1, MQTT provides a lightweight method of carrying out messaging using a publish/subscribe model, This makes it suitable for machine to machine messaging such as with low power sensors or mobile devices such as phones, embedded computers or microcontrollers like the Arduino", "homepage": "https://mosquitto.org/", "license": "EPL-2.0", diff --git a/ports/mozjpeg/portfile.cmake b/ports/mozjpeg/portfile.cmake index 93935242657402..308a41acd6f2e9 100644 --- a/ports/mozjpeg/portfile.cmake +++ b/ports/mozjpeg/portfile.cmake @@ -1,12 +1,15 @@ if(EXISTS "${CURRENT_INSTALLED_DIR}/share/libjpeg-turbo/copyright") message(FATAL_ERROR "Can't build ${PORT} if libjpeg-turbo is installed. Please remove libjpeg-turbo:${TARGET_TRIPLET}, and try to install ${PORT}:${TARGET_TRIPLET} again.") endif() +if(EXISTS "${CURRENT_INSTALLED_DIR}/share/ijg-libjpeg/copyright") + message(FATAL_ERROR "Can't build ${PORT} if ijg-libjpeg is installed. Please remove ijg-libjpeg:${TARGET_TRIPLET}, and try to install ${PORT}:${TARGET_TRIPLET} again.") +endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mozilla/mozjpeg - REF a2d2907ff023227e80c1e4efa809812410275a12 #v4.1.1 - SHA512 77c003406a0b86859c461d92bd216168d6c4f5d55735e4a9ab473d3dbcad03fd4e398204f884dfd03f0fa883da296ac05a8c5242aa40792a3e179627e51db154 + REF "v${VERSION}" + SHA512 90e1b0067740b161398d908e90b976eccc2ee7174496ce9693ba3cdf4727559ecff39744611657d847dd83164b80993152739692a5233aca577ebd052efaf501 HEAD_REF master PATCHES fix-install-error.patch @@ -57,4 +60,4 @@ if (VCPKG_LIBRARY_LINKAGE STREQUAL static) endif() # Handle copyright -file(INSTALL "${SOURCE_PATH}/LICENSE.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") diff --git a/ports/mozjpeg/vcpkg.json b/ports/mozjpeg/vcpkg.json index b3c6bf8822acf5..7723afa5ed8f84 100644 --- a/ports/mozjpeg/vcpkg.json +++ b/ports/mozjpeg/vcpkg.json @@ -1,6 +1,7 @@ { "name": "mozjpeg", - "version": "4.1.1", + "version": "4.1.5", + "port-version": 1, "description": "MozJPEG reduces file sizes of JPEG images while retaining quality and compatibility with the vast majority of the world's deployed decoders. It's compatible with libjpeg API and ABI, and can be used as a drop-in replacement for libjpeg.", "homepage": "https://github.com/mozilla/mozjpeg", "license": "IJG AND BSD-3-Clause AND Zlib", diff --git a/ports/mp-units/config.patch b/ports/mp-units/config.patch index 1642d2b2fcb57d..736b5a75451840 100644 --- a/ports/mp-units/config.patch +++ b/ports/mp-units/config.patch @@ -1,17 +1,20 @@ diff --git a/src/mp-unitsConfig.cmake b/src/mp-unitsConfig.cmake -index 10f82a82..ea637abd 100644 +index f5bee933d..5effb72bf 100644 --- a/src/mp-unitsConfig.cmake +++ b/src/mp-unitsConfig.cmake -@@ -42,10 +42,10 @@ endfunction() +@@ -23,13 +23,9 @@ include(CMakeFindDependencyMacro) - if(MP_UNITS_USE_LIBFMT) + if(NOT MP_UNITS_API_FREESTANDING AND NOT MP_UNITS_API_STD_FORMAT) - find_dependency(fmt) + find_dependency(fmt CONFIG) endif() --find_dependency(gsl-lite) +-if(MP_UNITS_API_CONTRACTS STREQUAL "GSL-LITE") +- find_dependency(gsl-lite) +-elseif(MP_UNITS_API_CONTRACTS STREQUAL "MS-GSL") +- find_dependency(Microsoft.GSL) +-endif() +find_dependency(gsl-lite CONFIG) - # add range-v3 dependency only for clang + libc++ - if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") + include("${CMAKE_CURRENT_LIST_DIR}/mp-unitsTargets.cmake") diff --git a/ports/mp-units/portfile.cmake b/ports/mp-units/portfile.cmake index 4b626bfedd98b2..0b12063d5e457a 100644 --- a/ports/mp-units/portfile.cmake +++ b/ports/mp-units/portfile.cmake @@ -4,22 +4,16 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO mpusz/units + REPO mpusz/mp-units REF "v${VERSION}" - SHA512 994922a391ed5c1d0e023545beeb0bbeb8ec067be408f715d553e509d9106cdb5b27cfbaa69f0ca1a27cdf9532edacaff7d2cabaafd54b1713f9c8add93bc389 + SHA512 7e3a897a0df438d43dc860febe813f84b671caa26195cea1e8df75769d418d5456852200b8f546107c97214e88e77015e044a95d0c45d4c19341288136e11fbc PATCHES config.patch ) -set(USE_LIBFMT OFF) -if ("use-libfmt" IN_LIST FEATURES) - set(USE_LIBFMT ON) -endif() vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}/src" - OPTIONS - -DMP_UNITS_USE_LIBFMT=${USE_LIBFMT} ) vcpkg_cmake_install() diff --git a/ports/mp-units/vcpkg.json b/ports/mp-units/vcpkg.json index 8ad032daa8db51..80e80cb2fe953c 100644 --- a/ports/mp-units/vcpkg.json +++ b/ports/mp-units/vcpkg.json @@ -1,10 +1,12 @@ { "name": "mp-units", - "version": "2.0.0", - "description": "mp-units - A Units Library for C++", - "homepage": "https://github.com/mpusz/units", + "version": "2.4.0", + "port-version": 1, + "description": "The quantities and units library for C++", + "homepage": "https://mpusz.github.io/mp-units", "license": "MIT", "dependencies": [ + "fmt", "gsl-lite", { "name": "vcpkg-cmake", @@ -14,28 +16,5 @@ "name": "vcpkg-cmake-config", "host": true } - ], - "default-features": [ - "default-features" - ], - "features": { - "default-features": { - "description": "Platform specific default features", - "dependencies": [ - { - "name": "mp-units", - "features": [ - "use-libfmt" - ], - "platform": "osx" - } - ] - }, - "use-libfmt": { - "description": "Use libfmt instead of std::format", - "dependencies": [ - "fmt" - ] - } - } + ] } diff --git a/ports/mp3lame/Config.cmake.in b/ports/mp3lame/Config.cmake.in index 9630b9ea1a21ee..eac6faf70c1937 100644 --- a/ports/mp3lame/Config.cmake.in +++ b/ports/mp3lame/Config.cmake.in @@ -6,7 +6,9 @@ get_filename_component(_mp3lame_root "${_mp3lame_root}" PATH) set(_mp3lame_rel_lib "${_mp3lame_root}/lib/@MP3LAME_LIB@") set(_mp3lame_dbg_lib "${_mp3lame_root}/debug/lib/@MP3LAME_LIB@") -if (EXISTS "${_mp3lame_rel_lib}" OR EXISTS "${_mp3lame_dbg_lib}") +set(mp3lame_FOUND FALSE) + +if (EXISTS "${_mp3lame_rel_lib}" OR EXISTS "${_mp3lame_dbg_lib}" AND NOT TARGET mp3lame::mp3lame) add_library(mp3lame::mp3lame UNKNOWN IMPORTED) set_target_properties(mp3lame::mp3lame @@ -47,11 +49,10 @@ if (EXISTS "${_mp3lame_rel_lib}" OR EXISTS "${_mp3lame_dbg_lib}") unset(_mp3lame_mpghip_rel_lib) unset(_mp3lame_mpghip_dbg_lib) +endif() -else() - - set(mp3lame_FOUND FALSE) - +if(TARGET mp3lame::mp3lame) + set(mp3lame_FOUND TRUE) endif() unset(_mp3lame_rel_lib) diff --git a/ports/mp3lame/fix-mingw-w64-compatibility.patch b/ports/mp3lame/fix-mingw-w64-compatibility.patch new file mode 100644 index 00000000000000..2403e1d79b1ac1 --- /dev/null +++ b/ports/mp3lame/fix-mingw-w64-compatibility.patch @@ -0,0 +1,101 @@ +diff --git a/configure.in b/configure.in +index 3f9fddb..0695f42 100644 +--- a/configure.in ++++ b/configure.in +@@ -421,6 +421,7 @@ AC_CHECK_HEADERS(ncurses/termcap.h) + AC_CHECK_LIB(termcap, initscr, HAVE_TERMCAP="termcap") + AC_CHECK_LIB(curses, initscr, HAVE_TERMCAP="curses") + AC_CHECK_LIB(ncurses, initscr, HAVE_TERMCAP="ncurses") ++AC_CHECK_HEADERS(langinfo.h, AC_CHECK_FUNCS(nl_langinfo)) + + AM_ICONV + +diff --git a/frontend/parse.c b/frontend/parse.c +index 752613f..99dc032 100644 +--- a/frontend/parse.c ++++ b/frontend/parse.c +@@ -70,9 +70,11 @@ char *strchr(), *strrchr(); + #ifdef HAVE_ICONV + #include + #include ++#ifdef HAVE_LANGINFO_H + #include + #include + #endif ++#endif + + #if defined _ALLOW_INTERNAL_OPTIONS + #define INTERNAL_OPTS 1 +@@ -146,6 +148,18 @@ strlenMultiByte(char const* str, size_t w) + return n; + } + ++static char* ++currentCharacterEncoding() ++{ ++#ifdef HAVE_LANGINFO_H ++ char* cur_code = nl_langinfo(CODESET); ++#else ++ char* env_lang = getenv("LANG"); ++ char* xxx_code = env_lang == NULL ? NULL : strrchr(env_lang, '.'); ++ char* cur_code = xxx_code == NULL ? "" : xxx_code+1; ++#endif ++ return cur_code; ++} + + static size_t + currCharCodeSize(void) +@@ -153,7 +167,7 @@ currCharCodeSize(void) + size_t n = 1; + char dst[32]; + char* src = "A"; +- char* cur_code = nl_langinfo(CODESET); ++ char* cur_code = currentCharacterEncoding(); + iconv_t xiconv = iconv_open(cur_code, "ISO_8859-1"); + if (xiconv != (iconv_t)-1) { + for (n = 0; n < 32; ++n) { +@@ -181,7 +195,7 @@ char* fromLatin1( char* src ) + size_t const n = l*4; + dst = calloc(n+4, 4); + if (dst != 0) { +- char* cur_code = nl_langinfo(CODESET); ++ char* cur_code = currentCharacterEncoding(); + iconv_t xiconv = iconv_open(cur_code, "ISO_8859-1"); + if (xiconv != (iconv_t)-1) { + char* i_ptr = src; +@@ -205,7 +219,7 @@ char* fromUtf16( char* src ) + size_t const n = l*4; + dst = calloc(n+4, 4); + if (dst != 0) { +- char* cur_code = nl_langinfo(CODESET); ++ char* cur_code = currentCharacterEncoding(); + iconv_t xiconv = iconv_open(cur_code, "UTF-16LE"); + if (xiconv != (iconv_t)-1) { + char* i_ptr = (char*)src; +@@ -231,7 +245,7 @@ char* toLatin1( char* src ) + size_t const n = l*4; + dst = calloc(n+4, 4); + if (dst != 0) { +- char* cur_code = nl_langinfo(CODESET); ++ char* cur_code = currentCharacterEncoding(); + iconv_t xiconv = iconv_open("ISO_8859-1//TRANSLIT", cur_code); + if (xiconv != (iconv_t)-1) { + char* i_ptr = (char*)src; +@@ -257,7 +271,7 @@ char* toUtf16( char* src ) + size_t const n = (l+1)*4; + dst = calloc(n+4, 4); + if (dst != 0) { +- char* cur_code = nl_langinfo(CODESET); ++ char* cur_code = currentCharacterEncoding(); + iconv_t xiconv = iconv_open("UTF-16LE//TRANSLIT", cur_code); + dst[0] = 0xff; + dst[1] = 0xfe; +@@ -1513,7 +1527,7 @@ parse_args_(lame_global_flags * gfp, int argc, char **argv, + enum TextEncoding id3_tenc = TENC_LATIN1; + #endif + +-#ifdef HAVE_ICONV ++#ifdef HAVE_LANGINFO_H + setlocale(LC_CTYPE, ""); + #endif + inPath[0] = '\0'; diff --git a/ports/mp3lame/portfile.cmake b/ports/mp3lame/portfile.cmake index 38fb8f21582850..12fd4ccf51ef5d 100644 --- a/ports/mp3lame/portfile.cmake +++ b/ports/mp3lame/portfile.cmake @@ -8,6 +8,7 @@ vcpkg_from_sourceforge( 00001-msvc-upgrade-solution-up-to-vc11.patch remove_lame_init_old_from_symbol_list.patch # deprecated https://github.com/zlargon/lame/blob/master/include/lame.h#L169 add-macos-universal-config.patch + fix-mingw-w64-compatibility.patch ) if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) @@ -52,12 +53,29 @@ if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) file(WRITE "${SOURCE_PATH}/vc_solution/${machine}_${vcxproj}" "${vcxproj_con}") endforeach() - vcpkg_msbuild_install( - SOURCE_PATH "${SOURCE_PATH}" - PROJECT_SUBPATH "vc_solution/${machine}_vc11_lame.sln" - TARGET "lame" - PLATFORM "${platform}" - ) + if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_msbuild_install( + SOURCE_PATH "${SOURCE_PATH}" + PROJECT_SUBPATH "vc_solution/${machine}_vc11_lame.sln" + TARGET "libmp3lame-static" + PLATFORM "${platform}" + ) + else() + vcpkg_msbuild_install( + SOURCE_PATH "${SOURCE_PATH}" + PROJECT_SUBPATH "vc_solution/${machine}_vc11_lame.sln" + TARGET "libmp3lame" + PLATFORM "${platform}" + ) + endif() + if("frontend" IN_LIST FEATURES) + vcpkg_msbuild_install( + SOURCE_PATH "${SOURCE_PATH}" + PROJECT_SUBPATH "vc_solution/${machine}_vc11_lame.sln" + TARGET "lame" + PLATFORM "${platform}" + ) + endif() if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") @@ -95,6 +113,12 @@ else() endif() endif() + if("frontend" IN_LIST FEATURES) + list(APPEND OPTIONS --enable-frontend) + else() + list(APPEND OPTIONS --disable-frontend) + endif() + if(NOT VCPKG_TARGET_IS_MINGW) list(APPEND OPTIONS --with-pic=yes) endif() diff --git a/ports/mp3lame/vcpkg.json b/ports/mp3lame/vcpkg.json index 03925de590ce74..182893cf7772e4 100644 --- a/ports/mp3lame/vcpkg.json +++ b/ports/mp3lame/vcpkg.json @@ -1,7 +1,7 @@ { "name": "mp3lame", "version": "3.100", - "port-version": 11, + "port-version": 15, "description": "LAME is a high quality MPEG Audio Layer III (MP3) encoder licensed under the LGPL.", "homepage": "https://sourceforge.net/projects/lame", "license": "LGPL-2.0-only", @@ -9,7 +9,18 @@ { "name": "vcpkg-msbuild", "host": true, - "platform": "windows" + "platform": "windows & !mingw" } - ] + ], + "features": { + "frontend": { + "description": "Build the lame frontend", + "dependencies": [ + { + "name": "ncurses", + "platform": "!windows | mingw" + } + ] + } + } } diff --git a/ports/mpg123/fix-checktypesize.patch b/ports/mpg123/fix-checktypesize.patch deleted file mode 100644 index 68af0ca9e88606..00000000000000 --- a/ports/mpg123/fix-checktypesize.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/ports/cmake/src/CMakeLists.txt b/ports/cmake/src/CMakeLists.txt -index 79e1f9b..e057567 100644 ---- a/ports/cmake/src/CMakeLists.txt -+++ b/ports/cmake/src/CMakeLists.txt -@@ -5,6 +5,7 @@ include(CheckFunctionExists) - include(CheckIncludeFile) - include(CheckIncludeFiles) - include(CheckSymbolExists) -+include(CheckTypeSize) - include(CMakeDependentOption) - include(TestBigEndian) - - - diff --git a/ports/mpg123/fix-dllexport.diff b/ports/mpg123/fix-dllexport.diff new file mode 100644 index 00000000000000..efd15ce772d864 --- /dev/null +++ b/ports/mpg123/fix-dllexport.diff @@ -0,0 +1,16 @@ +diff --git a/src/libmpg123/mpg123lib_intern.h b/src/libmpg123/mpg123lib_intern.h +index b46c419..7cd5504 100644 +--- a/src/libmpg123/mpg123lib_intern.h ++++ b/src/libmpg123/mpg123lib_intern.h +@@ -21,7 +21,10 @@ + + // Only portable API plays a role in the library itself, outside of lfs_wrap.c. + // Also, we need to ensure no suffix renaming for the primary implementations. +-#define MPG123_PORTABLE_API ++// But: The _definition_ of non-portable API needs to be present for those ++// primary implementations being exported for DLL builds. Just the largefile ++// renaming needs to be skipped! ++#define MPG123_NO_LARGENAME + #define MPG123_ENUM_API + #include "mpg123.h" + diff --git a/ports/mpg123/fix-m1-build.patch b/ports/mpg123/fix-m1-build.patch deleted file mode 100644 index d198d953b3aa15..00000000000000 --- a/ports/mpg123/fix-m1-build.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/ports/cmake/src/CMakeLists.txt b/ports/cmake/src/CMakeLists.txt -index ee9a1ba..81d23f8 100644 ---- a/ports/cmake/src/CMakeLists.txt -+++ b/ports/cmake/src/CMakeLists.txt -@@ -185,7 +185,7 @@ if(NO_MESSAGES) - set(NO_ERETURN ON) - endif() - --if(WIN32) -+if(WIN32 OR APPLE) - set(HAVE_FPU 1) - else() - cmake_host_system_information(RESULT HAVE_FPU QUERY HAS_FPU) diff --git a/ports/mpg123/fix-modulejack.patch b/ports/mpg123/fix-modulejack.patch deleted file mode 100644 index fd4113270990c3..00000000000000 --- a/ports/mpg123/fix-modulejack.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/ports/cmake/src/CMakeLists.txt b/ports/cmake/src/CMakeLists.txt -index 7147174..76e1743 100644 ---- a/ports/cmake/src/CMakeLists.txt -+++ b/ports/cmake/src/CMakeLists.txt -@@ -238,7 +238,7 @@ if(BUILD_LIBOUT123) - endif() - endif() - -- if(NOT CHECK_MODULES OR NOT JACK_REQUIRED EQUAL -1) -+ if(0) - pkg_search_module(JACK jack) - if(JACK_FOUND) - list(APPEND OUTPUT_MODULES jack) diff --git a/ports/mpg123/have-fpu.diff b/ports/mpg123/have-fpu.diff new file mode 100644 index 00000000000000..57eb3cda19a4b9 --- /dev/null +++ b/ports/mpg123/have-fpu.diff @@ -0,0 +1,13 @@ +diff --git a/ports/cmake/src/CMakeLists.txt b/ports/cmake/src/CMakeLists.txt +index 32bc03c..acd420f 100644 +--- a/ports/cmake/src/CMakeLists.txt ++++ b/ports/cmake/src/CMakeLists.txt +@@ -188,6 +188,8 @@ check_cpu_arch_arm64(ARCH_IS_ARM64) + + if(WIN32 OR (ARCH_IS_ARM64 AND APPLE)) + set(HAVE_FPU 1) ++elseif(CMAKE_CROSSCOMPILING OR DEFINED HAVE_FPU) ++ set(HAVE_FPU 1 CACHE STRING "Override in triplet if needed") + else() + cmake_host_system_information(RESULT HAVE_FPU QUERY HAS_FPU) + endif() diff --git a/ports/mpg123/pkgconfig.diff b/ports/mpg123/pkgconfig.diff new file mode 100644 index 00000000000000..5e2119cff3f426 --- /dev/null +++ b/ports/mpg123/pkgconfig.diff @@ -0,0 +1,66 @@ +diff --git a/ports/cmake/src/CMakeLists.txt b/ports/cmake/src/CMakeLists.txt +index 32bc03c..952141b 100644 +--- a/ports/cmake/src/CMakeLists.txt ++++ b/ports/cmake/src/CMakeLists.txt +@@ -450,3 +450,7 @@ if(UNIX AND NOT PORTABLE_API) + endif() + + configure_file(config.cmake.h.in config.h) ++ ++set(LIBMPG123_LIBS "${LIBMPG123_LIBS}" PARENT_SCOPE) ++set(LIBOUT123_LIBS "${LIBOUT123_LIBS}" PARENT_SCOPE) ++set(LIBSYN123_LIBS "${LIBSYN123_LIBS}" PARENT_SCOPE) +diff --git a/ports/cmake/src/libmpg123/CMakeLists.txt b/ports/cmake/src/libmpg123/CMakeLists.txt +index 7cb08be..3e1c042 100644 +--- a/ports/cmake/src/libmpg123/CMakeLists.txt ++++ b/ports/cmake/src/libmpg123/CMakeLists.txt +@@ -235,6 +235,13 @@ else() + target_sources(${TARGET} PRIVATE ${PLATFORM_SOURCES}) + endif() + ++if(HAVE_M) ++ string(APPEND LIBMPG123_LIBS " -lm") ++endif() ++if(WANT_WIN32_UNICODE) ++ string(APPEND LIBMPG123_LIBS " -lshlwapi") ++endif() ++set(LIBMPG123_LIBS "${LIBMPG123_LIBS}" PARENT_SCOPE) + target_link_libraries(${TARGET} PRIVATE + $<$:m> + $<$:shlwapi>) +diff --git a/ports/cmake/src/libout123/CMakeLists.txt b/ports/cmake/src/libout123/CMakeLists.txt +index d0fe358..cd800d8 100644 +--- a/ports/cmake/src/libout123/CMakeLists.txt ++++ b/ports/cmake/src/libout123/CMakeLists.txt +@@ -18,6 +18,13 @@ add_library(${TARGET} + + set_target_properties(${TARGET} PROPERTIES OUTPUT_NAME out123) + ++if(HAVE_UNIX_DL) ++ string(APPEND LIBOUT123_LIBS " -ldl") ++endif() ++if(WANT_WIN32_UNICODE) ++ string(APPEND LIBOUT123_LIBS " -lshlwapi") ++endif() ++set(LIBOUT123_LIBS "${LIBOUT123_LIBS}" PARENT_SCOPE) + target_link_libraries(${TARGET} PRIVATE + $ + $<$:dl> +diff --git a/ports/cmake/src/libsyn123/CMakeLists.txt b/ports/cmake/src/libsyn123/CMakeLists.txt +index 6edb5b7..0b660f5 100644 +--- a/ports/cmake/src/libsyn123/CMakeLists.txt ++++ b/ports/cmake/src/libsyn123/CMakeLists.txt +@@ -19,6 +19,13 @@ target_include_directories(${TARGET} INTERFACE + "$" + "$") + ++if(HAVE_M) ++ string(APPEND LIBSYN123_LIBS " -lm") ++endif() ++if(WANT_WIN32_UNICODE) ++ string(APPEND LIBSYN123_LIBS " -lshlwapi") ++endif() ++set(LIBSYN123_LIBS "${LIBSYN123_LIBS}" PARENT_SCOPE) + target_link_libraries(${TARGET} PRIVATE + $<$:m> + $<$:shlwapi>) diff --git a/ports/mpg123/portfile.cmake b/ports/mpg123/portfile.cmake index 01856176c5c5fd..8a92c99fc10603 100644 --- a/ports/mpg123/portfile.cmake +++ b/ports/mpg123/portfile.cmake @@ -3,11 +3,11 @@ vcpkg_from_sourceforge( REPO mpg123/mpg123 REF "${VERSION}" FILENAME "mpg123-${VERSION}.tar.bz2" - SHA512 5dd550e06f5d0d432cac1b7e546215e56378b44588c1a98031498473211e08bc4228de45be41f7ba764f7f6c0eb752a6501235bcc3712c9a8d8852ae3c607d98 + SHA512 dccb640b0845061811cb41bf145587e7093556d686d49a748232b079659b46284b6cc40db42d14febceac11277c58edf2b69d1b4c46c223829a3d15478e2e26c PATCHES - fix-checktypesize.patch - fix-modulejack.patch - fix-m1-build.patch + fix-dllexport.diff + have-fpu.diff + pkgconfig.diff ) if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) @@ -24,9 +24,13 @@ vcpkg_cmake_configure( OPTIONS -DUSE_MODULES=OFF -DBUILD_PROGRAMS=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_ALSA=ON + -DCMAKE_DISABLE_FIND_PACKAGE_PkgConfig=ON ${options} MAYBE_UNUSED_VARIABLES BUILD_PROGRAMS + CMAKE_DISABLE_FIND_PACKAGE_ALSA + CMAKE_DISABLE_FIND_PACKAGE_PkgConfig ) vcpkg_cmake_install() vcpkg_copy_pdbs() diff --git a/ports/mpg123/vcpkg.json b/ports/mpg123/vcpkg.json index 57a6faca7fd20f..b4f71a6efdbdf8 100644 --- a/ports/mpg123/vcpkg.json +++ b/ports/mpg123/vcpkg.json @@ -1,7 +1,7 @@ { "name": "mpg123", - "version": "1.31.3", - "port-version": 3, + "version": "1.32.9", + "port-version": 1, "description": "mpg123 is a real time MPEG 1.0/2.0/2.5 audio player/decoder for layers 1, 2 and 3 (MPEG 1.0 layer 3 also known as MP3).", "homepage": "https://sourceforge.net/projects/mpg123/", "license": "LGPL-2.1-or-later", diff --git a/ports/mqtt-cpp/portfile.cmake b/ports/mqtt-cpp/portfile.cmake index dfd641f31b74ed..32e9885ea67de1 100644 --- a/ports/mqtt-cpp/portfile.cmake +++ b/ports/mqtt-cpp/portfile.cmake @@ -1,9 +1,9 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO redboltz/mqtt_cpp - REF v13.1.0 + REF v${VERSION} SHA512 - 71907ba013d844d3b00c932b8598480067c0b2a2088ea95ae6d65a548145b851f6a25135f4e3c1e61cfc3831b024308e872f194bc9af7febe0036edc2e63b9d4 + 70da1f78a032db458b8744d1ed7c3eec97924ad78127ee5aa58cd4fb8e33351874f9d4b2f08aa94a202ee971d3f94d53167da307af3e82b9488aa89796f981e4 HEAD_REF master ) diff --git a/ports/mqtt-cpp/vcpkg.json b/ports/mqtt-cpp/vcpkg.json index 4572af3d7c693a..83ef57dbcbfa16 100644 --- a/ports/mqtt-cpp/vcpkg.json +++ b/ports/mqtt-cpp/vcpkg.json @@ -1,6 +1,6 @@ { "name": "mqtt-cpp", - "version-semver": "13.1.0", + "version-semver": "13.2.1", "description": "Header-only MQTT client/server for C++14 based on Boost.Asio.", "homepage": "https://github.com/redboltz/mqtt_cpp", "license": "BSL-1.0", diff --git a/ports/ms-gsl/portfile.cmake b/ports/ms-gsl/portfile.cmake index 5713e346a84e6e..2296e4e50fda5b 100644 --- a/ports/ms-gsl/portfile.cmake +++ b/ports/ms-gsl/portfile.cmake @@ -2,8 +2,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Microsoft/GSL - REF a3534567187d2edc428efd3f13466ff75fe5805c - SHA512 5bd6aad37fee3b56a2ee2fed10d6ef02fdcf37a1f40b3fb1bbec8146a573e235169b315405d010ab75175674ed82658c8202f40b128a849c5250b4a1b8b0a1b3 + REF v${VERSION} + SHA512 1db14bebab5f2bc0752214f9bf1b84a056b7d83b4a9d296663c43103387baee60373447f62c4e9bc0b8df06a7ce0571a4e2b4a31441c866894eee3ae258fdfc8 HEAD_REF main ) @@ -22,5 +22,4 @@ vcpkg_cmake_config_fixup( file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") -# Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/ms-gsl/vcpkg.json b/ports/ms-gsl/vcpkg.json index ace0f12e7e90a8..a6e4571c565799 100644 --- a/ports/ms-gsl/vcpkg.json +++ b/ports/ms-gsl/vcpkg.json @@ -1,8 +1,9 @@ { "name": "ms-gsl", - "version": "4.0.0", + "version": "4.1.0", "description": "Microsoft implementation of the Guidelines Support Library", "homepage": "https://github.com/Microsoft/GSL", + "license": "MIT", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/ms-ifc-sdk/portfile.cmake b/ports/ms-ifc-sdk/portfile.cmake new file mode 100644 index 00000000000000..682345cd7125d2 --- /dev/null +++ b/ports/ms-ifc-sdk/portfile.cmake @@ -0,0 +1,26 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO microsoft/ifc + REF 0.43.1 + SHA512 c7ce8570d776f875c1a1fed929734ebc73b2cf25106e2a5e80625269f4f91d8106d19da34525cc4d7a694d750788d124e8e1ef082c54a13c9b34fe3da7f9e82d + HEAD_REF main +) + +set(config_path share/cmake/Microsoft.IFC) +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + "-DIFC_INSTALL_CMAKEDIR:PATH=${config_path}" +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup( + PACKAGE_NAME Microsoft.IFC + CONFIG_PATH "${config_path}" +) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(INSTALL "${SOURCE_PATH}/LICENSE.TXT" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/ms-ifc-sdk/usage b/ports/ms-ifc-sdk/usage new file mode 100644 index 00000000000000..f49a254b11a7bf --- /dev/null +++ b/ports/ms-ifc-sdk/usage @@ -0,0 +1,8 @@ +The package Microsoft.IFC provides CMake targets: + + find_package(Microsoft.IFC CONFIG REQUIRED) + target_link_libraries(main PRIVATE Microsoft.IFC::SDK) + + # Or use the individual components of Microsoft.IFC::SDK for advanced use + find_package(Microsoft.IFC CONFIG REQUIRED) + target_link_libraries(main PRIVATE Microsoft.IFC::Core Microsoft.IFC::DOM) diff --git a/ports/ms-ifc-sdk/vcpkg.json b/ports/ms-ifc-sdk/vcpkg.json new file mode 100644 index 00000000000000..c738f26c4b30a7 --- /dev/null +++ b/ports/ms-ifc-sdk/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "ms-ifc-sdk", + "version": "0.43.1", + "description": "SDK for the IFC specification at https://github.com/microsoft/ifc-spec", + "homepage": "https://github.com/microsoft/ifc", + "license": "Apache-2.0 WITH LLVM-exception", + "dependencies": [ + "ms-gsl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/ms-quic/fix-install.patch b/ports/ms-quic/fix-install.patch deleted file mode 100644 index 4df691077096ac..00000000000000 --- a/ports/ms-quic/fix-install.patch +++ /dev/null @@ -1,67 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 96ea265..87eaed5 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -647,6 +647,8 @@ if(QUIC_CODE_CHECK) - endif() - endif() - -+include(GNUInstallDirs) -+ - add_subdirectory(src/inc) - - # Product code -@@ -657,6 +659,8 @@ add_subdirectory(src/bin) - # Tool code - if(QUIC_BUILD_TOOLS) - add_subdirectory(src/tools) -+ install(TARGETS quicattack quicinterop quicinteropserver quicipclient quicipserver -+ quicpcp quicping quicpost quicreach quicsample spinquic) - endif() - - # Performance code -diff --git a/src/bin/CMakeLists.txt b/src/bin/CMakeLists.txt -index 4dda469..2797670 100644 ---- a/src/bin/CMakeLists.txt -+++ b/src/bin/CMakeLists.txt -@@ -29,7 +29,7 @@ endif() - - target_include_directories(msquic PUBLIC - $ -- $) -+ $) - - set(PUBLIC_HEADERS - ../inc/msquic.h -@@ -37,14 +37,17 @@ set(PUBLIC_HEADERS - ../inc/msquic_posix.h - ../inc/quic_sal_stub.h) - --install(TARGETS msquic EXPORT msquic DESTINATION "${main_lib_dest}") --install(FILES ${PUBLIC_HEADERS} DESTINATION "${include_dest}") -+install(TARGETS msquic EXPORT msquic-targets -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) -+install(FILES ${PUBLIC_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) - - configure_file(msquic-config.cmake.in ${CMAKE_BINARY_DIR}/msquic-config.cmake) - --install(FILES ${CMAKE_BINARY_DIR}/msquic-config.cmake DESTINATION ${msquic_dest}) -+install(FILES ${CMAKE_BINARY_DIR}/msquic-config.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/msquic) - --install(EXPORT msquic DESTINATION ${msquic_dest}) -+install(EXPORT msquic-targets DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/msquic) - - if(WIN32) - add_library(msquic.lttng INTERFACE) -diff --git a/src/bin/msquic-config.cmake.in b/src/bin/msquic-config.cmake.in -index dd67624..c561361 100644 ---- a/src/bin/msquic-config.cmake.in -+++ b/src/bin/msquic-config.cmake.in -@@ -1,4 +1,4 @@ - include(CMakeFindDependencyMacro) - @FILENAME_DEP_REPLACE@ - --include(${SELF_DIR}/msquic.cmake) -+include(${SELF_DIR}/msquic-targets.cmake) diff --git a/ports/ms-quic/fix-platform.patch b/ports/ms-quic/fix-platform.patch deleted file mode 100644 index 7041c30d0e3594..00000000000000 --- a/ports/ms-quic/fix-platform.patch +++ /dev/null @@ -1,56 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 0b670cf..f94f4c6 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -309,7 +309,7 @@ if(WIN32) - endif() - else() - # Just doing a normal build. Use the PGD file if present. -- if(EXISTS "${QUIC_PGO_FILE}") -+ if(FALSE) - message(STATUS "Using profile-guided optimization") - configure_file("${QUIC_PGO_FILE}" "${QUIC_OUTPUT_DIR}/msquic.pgd" COPYONLY) - set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /USEPROFILE:PGD=${QUIC_OUTPUT_DIR}/msquic.pgd") -@@ -387,21 +387,29 @@ endif() - if(QUIC_TLS STREQUAL "openssl") - if (WIN32) - if (QUIC_UWP_BUILD) -- message(FATAL_ERROR "UWP is not supported with OpenSSL") -- endif() -- -- if (${CMAKE_GENERATOR_PLATFORM} STREQUAL "arm64") -- set(QUIC_OPENSSL_WIN_ARCH "VC-WIN64-ARM") -- elseif (${CMAKE_GENERATOR_PLATFORM} STREQUAL "arm") -- set(QUIC_OPENSSL_WIN_ARCH "VC-WIN32-ARM") -- elseif (${CMAKE_GENERATOR_PLATFORM} STREQUAL "Win32") -- set(QUIC_OPENSSL_WIN_ARCH "VC-WIN32") -- elseif (${CMAKE_GENERATOR_PLATFORM} STREQUAL "x64") -- set(QUIC_OPENSSL_WIN_ARCH "VC-WIN64A") -+ if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") -+ set(QUIC_OPENSSL_WIN_ARCH "VC-WIN64-ARM") -+ elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") -+ set(QUIC_OPENSSL_WIN_ARCH "VC-WIN32-ARM") -+ elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") -+ set(QUIC_OPENSSL_WIN_ARCH "VC-WIN32-ONECORE") -+ elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") -+ set(QUIC_OPENSSL_WIN_ARCH "VC-WIN64A-ONECORE") -+ endif() - else() -- message(FATAL_ERROR "Unknown Generator Platform ${CMAKE_GENERATOR_PLATFORM}") -+ if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") -+ set(QUIC_OPENSSL_WIN_ARCH "VC-WIN64-ARM") -+ elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") -+ set(QUIC_OPENSSL_WIN_ARCH "VC-WIN32-ARM") -+ elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") -+ set(QUIC_OPENSSL_WIN_ARCH "VC-WIN32") -+ elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") -+ set(QUIC_OPENSSL_WIN_ARCH "VC-WIN64A") -+ endif() -+ endif() -+ if(NOT DEFINED QUIC_OPENSSL_WIN_ARCH) -+ message(FATAL_ERROR "Unknown Platform ${VCPKG_TARGET_ARCHITECTURE}") - endif() -- - set(OPENSSL_DIR ${QUIC_BUILD_DIR}/openssl) - - add_library(OpenSSL_Crypto STATIC IMPORTED) diff --git a/ports/ms-quic/fix-warnings.patch b/ports/ms-quic/fix-warnings.patch deleted file mode 100644 index bf99b886386882..00000000000000 --- a/ports/ms-quic/fix-warnings.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 0f5abcb..aeae310 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -184,7 +184,7 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${QUIC_OUTPUT_DIR}) - set(QUIC_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src/inc) - - if (WIN32) -- set(QUIC_WARNING_FLAGS /WX /W4 /sdl CACHE INTERNAL "") -+ set(QUIC_WARNING_FLAGS /W4 /sdl CACHE INTERNAL "") - set(QUIC_COMMON_FLAGS "") - if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") - list(APPEND QUIC_COMMON_FLAGS /MP) -@@ -193,7 +193,7 @@ if (WIN32) - else() - set(QUIC_COMMON_FLAGS "") - set(QUIC_COMMON_DEFINES _GNU_SOURCE) -- set(QUIC_WARNING_FLAGS -Werror -Wall -Wextra -Wformat=2 -Wno-type-limits -+ set(QUIC_WARNING_FLAGS -Wall -Wextra -Wformat=2 -Wno-type-limits - -Wno-unknown-pragmas -Wno-multichar -Wno-missing-field-initializers - CACHE INTERNAL "") - if (CMAKE_COMPILER_IS_GNUCC AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.0) diff --git a/ports/ms-quic/portfile.cmake b/ports/ms-quic/portfile.cmake deleted file mode 100644 index e4e44d6733f7b3..00000000000000 --- a/ports/ms-quic/portfile.cmake +++ /dev/null @@ -1,80 +0,0 @@ -vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) - -vcpkg_from_github( - OUT_SOURCE_PATH QUIC_SOURCE_PATH - REPO microsoft/msquic - REF v1.2.0 - SHA512 6f63d42d950cbba88764332b31818a8627e7d3ecf7393cdef77daedd35a7bb04ac39c642991afb7cca502a346999233023e3b36011916c67e348179838aa7042 - HEAD_REF master - PATCHES - fix-warnings.patch # Remove /WX, -Werror - fix-platform.patch # Make OpenSSL build use VCPKG_TARGET_ARCHITECTURE - fix-install.patch # Adjust install path of build outputs -) - -vcpkg_from_github( - OUT_SOURCE_PATH OPENSSL_SOURCE_PATH - REPO quictls/openssl - REF a6e9d76db343605dae9b59d71d2811b195ae7434 - SHA512 23510a11203b96476c194a1987c7d4e758375adef0f6dfe319cd8ec4b8dd9b12ea64c4099cf3ba35722b992dad75afb1cfc5126489a5fa59f5ee4d46bdfbeaf6 - HEAD_REF OpenSSL_1_1_1k+quic -) -file(REMOVE_RECURSE ${QUIC_SOURCE_PATH}/submodules) -file(MAKE_DIRECTORY ${QUIC_SOURCE_PATH}/submodules) -file(RENAME ${OPENSSL_SOURCE_PATH} ${QUIC_SOURCE_PATH}/submodules/openssl) - -vcpkg_find_acquire_program(PERL) -get_filename_component(PERL_EXE_PATH ${PERL} DIRECTORY) -vcpkg_add_to_path(${PERL_EXE_PATH}) - -if(NOT VCPKG_HOST_IS_WINDOWS) - find_program(MAKE make) - get_filename_component(MAKE_EXE_PATH ${MAKE} DIRECTORY) - vcpkg_add_to_path(PREPEND ${MAKE_EXE_PATH}) -endif() - - if(VCPKG_TARGET_IS_WINDOWS) - vcpkg_find_acquire_program(NASM) - get_filename_component(NASM_EXE_PATH ${NASM} DIRECTORY) - vcpkg_add_to_path(PREPEND ${NASM_EXE_PATH}) - endif() - -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - FEATURES - tools QUIC_BUILD_TOOLS -) - -string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" STATIC_CRT) - -vcpkg_cmake_configure( - SOURCE_PATH ${QUIC_SOURCE_PATH} - OPTIONS - ${FEATURE_OPTIONS} - -DQUIC_SOURCE_LINK=OFF - -DQUIC_TLS=openssl - -DQUIC_TLS_SECRETS_SUPPORT=ON - -DQUIC_USE_SYSTEM_LIBCRYPTO=OFF - -DQUIC_BUILD_PERF=OFF - -DQUIC_BUILD_TEST=OFF - -DQUIC_STATIC_LINK_CRT=${STATIC_CRT} - -DQUIC_UWP_BUILD=${VCPKG_TARGET_IS_UWP} -) - -vcpkg_cmake_build(TARGET OpenSSL_Build) # separate build log for quictls/openssl -vcpkg_cmake_install() -vcpkg_copy_pdbs() -vcpkg_cmake_config_fixup(PACKAGE_NAME msquic CONFIG_PATH lib/cmake/msquic) - -if("tools" IN_LIST FEATURES) - vcpkg_copy_tools(TOOL_NAMES quicattack quicinterop quicinteropserver quicipclient quicipserver - quicpcp quicping quicpost quicreach quicsample spinquic - AUTO_CLEAN - ) -endif() - -file(INSTALL ${QUIC_SOURCE_PATH}/LICENSE - DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright -) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share - ${CURRENT_PACKAGES_DIR}/debug/include -) diff --git a/ports/ms-quic/vcpkg.json b/ports/ms-quic/vcpkg.json deleted file mode 100644 index d337a8452e35df..00000000000000 --- a/ports/ms-quic/vcpkg.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "name": "ms-quic", - "version": "1.2.0", - "description": "Cross-platform, C implementation of the IETF QUIC protocol", - "homepage": "https://github.com/microsoft/msquic", - "license": "MIT", - "supports": "!(static & staticcrt)", - "dependencies": [ - { - "name": "vcpkg-cmake", - "host": true - }, - { - "name": "vcpkg-cmake-config", - "host": true - } - ], - "features": { - "tools": { - "description": "Install the tools after build" - } - } -} diff --git a/ports/msdfgen/portfile.cmake b/ports/msdfgen/portfile.cmake index 9997d22fac3430..da238b65239527 100644 --- a/ports/msdfgen/portfile.cmake +++ b/ports/msdfgen/portfile.cmake @@ -1,9 +1,8 @@ - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Chlumsky/msdfgen - REF a811ef8935354d3f6d767cff6c4eebeb683777f2 # accessed on 2023-01-20 - SHA512 6c7fb9e9a4f4dee2502e1dca2c4612aae005697476e30664cc263f09e336b1cd0b529d75af667cdd9063ac1dd183867ce9f5bb88731e3071687c87937dab29d9 + REF "v${VERSION}" + SHA512 285bb81418de6c5ad0207e579c9cc3f3d81759008fd9c1c2b62b77e2b4258ca7a3a6ec69d6bed65e1d6408636c3c5473b9ee4f9d18fe5f63da23803ca949c903 HEAD_REF master ) @@ -48,4 +47,4 @@ endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # license -file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/msdfgen/vcpkg.json b/ports/msdfgen/vcpkg.json index fa80a40850fd0c..38643f42337c83 100644 --- a/ports/msdfgen/vcpkg.json +++ b/ports/msdfgen/vcpkg.json @@ -1,7 +1,6 @@ { "name": "msdfgen", - "version": "1.10.0", - "port-version": 1, + "version": "1.12", "description": "Multi-channel signed distance field generator", "homepage": "https://github.com/Chlumsky/msdfgen", "license": "MIT", diff --git a/ports/msgpack-c/portfile.cmake b/ports/msgpack-c/portfile.cmake index 67ff6374b9f765..e7e1830bcc79fc 100644 --- a/ports/msgpack-c/portfile.cmake +++ b/ports/msgpack-c/portfile.cmake @@ -5,8 +5,8 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO msgpack/msgpack-c - REF c-6.0.0 - SHA512 ba7d1b649dd1318f99d45ba5fd44346e53924ba7a121104a080c3865e8c01db3842efa1dc9e01478b962274675ba4632d9daaeb163821d46531b30d6abcda161 + REF "c-${VERSION}" + SHA512 b211af122e894bc0c32fa02ebcc0130ac797d99b7c60688df26247bc020d51b7322b4858fd12a749d28812c5efb66b5dc687cdfe20f4bc68a21eb484d531230a HEAD_REF c_master ) diff --git a/ports/msgpack-c/vcpkg.json b/ports/msgpack-c/vcpkg.json index 694914041a06b9..79b8bbda25a306 100644 --- a/ports/msgpack-c/vcpkg.json +++ b/ports/msgpack-c/vcpkg.json @@ -1,6 +1,6 @@ { "name": "msgpack-c", - "version": "6.0.0", + "version": "6.1.0", "description": "MessagePack is an efficient binary serialization format, which lets you exchange data among multiple languages like JSON, except that it's faster and smaller.", "homepage": "https://github.com/msgpack/msgpack-c", "license": "BSL-1.0", diff --git a/ports/msgpack/portfile.cmake b/ports/msgpack/portfile.cmake index 164ccd4bece9af..77fd6550591525 100644 --- a/ports/msgpack/portfile.cmake +++ b/ports/msgpack/portfile.cmake @@ -5,17 +5,23 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO msgpack/msgpack-c - REF cpp-6.0.0 - SHA512 6f2ec74562f30d12ba81659737c412317848eb27fbc607a2f4f8da4b75534fbfba7d280a5af6fdae3581a6a2582e6cf06d7fbfacc3bdee1174456817dd9f7e30 + REF cpp-${VERSION} + SHA512 3b64605974b64384619c07a4895f8ceb56243046b5c941345594d70baf3ad7749573b83c5b20e83505204fc1905ddb0a7dde1c5109ef8a34b5c848d1bb073946 HEAD_REF cpp_master ) +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + boost MSGPACK_USE_BOOST +) + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DMSGPACK_BUILD_EXAMPLES=OFF -DMSGPACK_BUILD_TESTS=OFF -DMSGPACK_BUILD_DOCS=OFF + ${FEATURE_OPTIONS} ) vcpkg_cmake_install() diff --git a/ports/msgpack/vcpkg.json b/ports/msgpack/vcpkg.json index fcc2ebaae08439..4796d21101cde4 100644 --- a/ports/msgpack/vcpkg.json +++ b/ports/msgpack/vcpkg.json @@ -1,19 +1,10 @@ { "name": "msgpack", - "version": "6.0.0", - "port-version": 1, + "version": "7.0.0", "description": "MessagePack is an efficient binary serialization format, which lets you exchange data among multiple languages like JSON, except that it's faster and smaller.", "homepage": "https://github.com/msgpack/msgpack-c", "license": "BSL-1.0", "dependencies": [ - "boost-assert", - "boost-fusion", - "boost-numeric-conversion", - "boost-optional", - "boost-predef", - "boost-preprocessor", - "boost-utility", - "boost-variant", { "name": "vcpkg-cmake", "host": true @@ -22,5 +13,20 @@ "name": "vcpkg-cmake-config", "host": true } - ] + ], + "features": { + "boost": { + "description": "Build msgpack using Boost", + "dependencies": [ + "boost-assert", + "boost-fusion", + "boost-numeric-conversion", + "boost-optional", + "boost-predef", + "boost-preprocessor", + "boost-utility", + "boost-variant" + ] + } + } } diff --git a/ports/msh3/dependencies_fix.patch b/ports/msh3/dependencies_fix.patch new file mode 100644 index 00000000000000..e8ae8ac89f5797 --- /dev/null +++ b/ports/msh3/dependencies_fix.patch @@ -0,0 +1,22 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c4c0814..f400566 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -36,9 +36,6 @@ set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib") + set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) + + if (WIN32) +- # Statically link the OS included part of the runtime. +- set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") +- set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /NODEFAULTLIB:libucrt.lib /DEFAULTLIB:ucrt.lib") + + add_compile_definitions(WIN32_LEAN_AND_MEAN) + if(HAS_SPECTRE) +@@ -76,6 +73,7 @@ endif() + option(MSH3_USE_EXTERNAL_MSQUIC "Use an external msquic installation") + if(MSH3_USE_EXTERNAL_MSQUIC) + find_package(msquic CONFIG REQUIRED) ++ add_library(msquic_platform ALIAS msquic) # with ports/msquic/exports-for-msh3.diff + else() + # Configure and build + if (WIN32) diff --git a/ports/msh3/portfile.cmake b/ports/msh3/portfile.cmake new file mode 100644 index 00000000000000..2bfa12cd9ce042 --- /dev/null +++ b/ports/msh3/portfile.cmake @@ -0,0 +1,28 @@ +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO nibanks/msh3 + REF v${VERSION} + SHA512 0573647b2bea669b34343379319702513da884949b45b2e678aa6c9677ed8e5947ef85e6dcf47f5e5b798c9bfff62b41df53f65848a465b4b37596f5fefebbe6 + HEAD_REF main + PATCHES + dependencies_fix.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DMSH3_INSTALL_PKGCONFIG=ON + -DMSH3_USE_EXTERNAL_LSQPACK=ON + -DMSH3_USE_EXTERNAL_MSQUIC=ON +) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() +vcpkg_cmake_config_fixup() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/msh3/vcpkg.json b/ports/msh3/vcpkg.json new file mode 100644 index 00000000000000..22770e04854432 --- /dev/null +++ b/ports/msh3/vcpkg.json @@ -0,0 +1,20 @@ +{ + "name": "msh3", + "version": "0.8.0", + "description": "Minimal HTTP/3 library", + "homepage": "https://github.com/nibanks/msh3", + "license": "MIT", + "supports": "!(static & staticcrt)", + "dependencies": [ + "ls-qpack", + "msquic", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/msquic/exports-for-msh3.diff b/ports/msquic/exports-for-msh3.diff new file mode 100644 index 00000000000000..2daf4bc08663cf --- /dev/null +++ b/ports/msquic/exports-for-msh3.diff @@ -0,0 +1,56 @@ +diff --git a/src/bin/darwin/exports.txt b/src/bin/darwin/exports.txt +index e90b06e..c221d2c 100644 +--- a/src/bin/darwin/exports.txt ++++ b/src/bin/darwin/exports.txt +@@ -1,2 +1,6 @@ + _MsQuicOpenVersion + _MsQuicClose ++_CxPlatGetSelfSignedCert ++_CxPlatFreeSelfSignedCert ++_CxPlatLogAssert ++_quic_bugcheck +diff --git a/src/bin/linux/exports.txt b/src/bin/linux/exports.txt +index e11806a..424c443 100644 +--- a/src/bin/linux/exports.txt ++++ b/src/bin/linux/exports.txt +@@ -1,5 +1,9 @@ + msquic + { + global: MsQuicOpenVersion; MsQuicClose; ++ CxPlatGetSelfSignedCert; ++ CxPlatFreeSelfSignedCert; ++ CxPlatLogAssert; ++ quic_bugcheck; + local: *; + }; +diff --git a/src/bin/linux/init.c b/src/bin/linux/init.c +index 29bfa14..61bbc48 100644 +--- a/src/bin/linux/init.c ++++ b/src/bin/linux/init.c +@@ -9,8 +9,15 @@ Abstract: + + --*/ + ++#define QUIC_TEST_APIS 1 + #include "quic_platform.h" + ++void MsQuickChainLoadPlatformSymbolsNoOp() ++{ ++ QUIC_CREDENTIAL_CONFIG* SelfSignedCertParams = (QUIC_CREDENTIAL_CONFIG*)CxPlatGetSelfSignedCert(CXPLAT_SELF_SIGN_CERT_USER, FALSE, NULL); ++ CxPlatFreeSelfSignedCert(SelfSignedCertParams); ++} ++ + void + MsQuicLibraryLoad( + void +diff --git a/src/bin/winuser/msquic.def.in b/src/bin/winuser/msquic.def.in +index afaed5d..fa7d19a 100644 +--- a/src/bin/winuser/msquic.def.in ++++ b/src/bin/winuser/msquic.def.in +@@ -3,3 +3,6 @@ LIBRARY @QUIC_LIBRARY_NAME@ + EXPORTS + MsQuicOpenVersion + MsQuicClose ++ CxPlatGetSelfSignedCert ++ CxPlatFreeSelfSignedCert ++ CxPlatLogAssert diff --git a/ports/msquic/fix-comparing-system-processor-with-win32.patch b/ports/msquic/fix-comparing-system-processor-with-win32.patch new file mode 100644 index 00000000000000..3f4f12eec288bf --- /dev/null +++ b/ports/msquic/fix-comparing-system-processor-with-win32.patch @@ -0,0 +1,22 @@ +diff --git a/submodules/CMakeLists.txt b/submodules/CMakeLists.txt +index a6c592951..0a0ddf0f8 100644 +--- a/submodules/CMakeLists.txt ++++ b/submodules/CMakeLists.txt +@@ -62,7 +62,7 @@ if (WIN32) + set(QUIC_OPENSSL_WIN_ARCH "VC-WIN64-ARM") + elseif (${SYSTEM_PROCESSOR} STREQUAL "arm") + set(QUIC_OPENSSL_WIN_ARCH "VC-WIN32-ARM") +- elseif (${SYSTEM_PROCESSOR} STREQUAL "win32") ++ elseif (${SYSTEM_PROCESSOR} STREQUAL "x86") + set(QUIC_OPENSSL_WIN_ARCH "VC-WIN32-ONECORE") + elseif (${SYSTEM_PROCESSOR} STREQUAL "x64" OR ${SYSTEM_PROCESSOR} STREQUAL "amd64") + set(QUIC_OPENSSL_WIN_ARCH "VC-WIN64A-ONECORE") +@@ -75,7 +75,7 @@ if (WIN32) + set(QUIC_OPENSSL_WIN_ARCH "VC-WIN64-ARM") + elseif (${SYSTEM_PROCESSOR} STREQUAL "arm") + set(QUIC_OPENSSL_WIN_ARCH "VC-WIN32-ARM") +- elseif (${SYSTEM_PROCESSOR} STREQUAL "win32") ++ elseif (${SYSTEM_PROCESSOR} STREQUAL "x86") + set(QUIC_OPENSSL_WIN_ARCH "VC-WIN32") + elseif (${SYSTEM_PROCESSOR} STREQUAL "x64" OR ${SYSTEM_PROCESSOR} STREQUAL "amd64") + set(QUIC_OPENSSL_WIN_ARCH "VC-WIN64A") diff --git a/ports/msquic/fix-install.patch b/ports/msquic/fix-install.patch new file mode 100644 index 00000000000000..9ffb36f53223d6 --- /dev/null +++ b/ports/msquic/fix-install.patch @@ -0,0 +1,24 @@ +diff --git a/src/bin/CMakeLists.txt b/src/bin/CMakeLists.txt +index 18048e3..4fcd161 100644 +--- a/src/bin/CMakeLists.txt ++++ b/src/bin/CMakeLists.txt +@@ -11,6 +11,7 @@ endif() + + if(BUILD_SHARED_LIBS) + add_library(msquic SHARED ${SOURCES}) ++ target_include_directories(msquic PUBLIC $) + target_link_libraries(msquic PRIVATE core msquic_platform inc warnings logging base_link main_binary_link_args) + set_target_properties(msquic PROPERTIES OUTPUT_NAME ${QUIC_LIBRARY_NAME}) + if (NOT WIN32) +@@ -261,7 +262,10 @@ if(WIN32) + endif() + + if(BUILD_SHARED_LIBS) +- install(TARGETS msquic msquic_platform inc logging_inc warnings main_binary_link_args ${OTHER_TARGETS} EXPORT msquic DESTINATION lib) ++ install(TARGETS msquic EXPORT msquic ++ RUNTIME DESTINATION bin ++ ARCHIVE DESTINATION lib ++ LIBRARY DESTINATION lib) + else() + install(FILES ${QUIC_STATIC_LIBRARY} DESTINATION lib) + endif() diff --git a/ports/msquic/fix-uwp-crt.patch b/ports/msquic/fix-uwp-crt.patch new file mode 100644 index 00000000000000..1eb3f748e9e287 --- /dev/null +++ b/ports/msquic/fix-uwp-crt.patch @@ -0,0 +1,17 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3f8f4d58f..df689627c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -598,9 +598,9 @@ if(WIN32) + endif() + + if (NOT QUIC_STATIC_LINK_CRT AND NOT QUIC_STATIC_LINK_PARTIAL_CRT) +- # We are using dynamic linking. Ensure that only the release version of CRT is used. +- message(STATUS "Configuring for release version of dynamically linked CRT") +- set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreadedDLL") ++ # We are using dynamic linking. Ensure that only the dynamic CRT is used. ++ message(STATUS "Configuring for dynamically linked CRT") ++ set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>DLL") + endif() + + else() #!WIN32 diff --git a/ports/msquic/portfile.cmake b/ports/msquic/portfile.cmake new file mode 100644 index 00000000000000..f0be5326f4fe83 --- /dev/null +++ b/ports/msquic/portfile.cmake @@ -0,0 +1,120 @@ +# Upstream supports static linkage, but the port doesn't: +# - There is a vendored fork of OpenSSL, needed for QUIC. +# - Exported config needs fixes. +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH QUIC_SOURCE_PATH + REPO microsoft/msquic + REF "v${VERSION}" + SHA512 c6e4b5f5d9b7e92469a6733a99eaf677909a5b2287869f0bbcc61fbcda6db4a6e920b327ede43fc9b1b0a3d09518c568dc1f38ad5fbb3ace14c1c031012b9968 + HEAD_REF master + PATCHES + fix-install.patch # Adjust install path of build outputs + fix-uwp-crt.patch # https://github.com/microsoft/msquic/pull/4373 + fix-comparing-system-processor-with-win32.patch # https://github.com/microsoft/msquic/pull/4374 + uwp-link-libs.diff + exports-for-msh3.diff +) + +set(QUIC_TLS "schannel") +if("0-rtt" IN_LIST FEATURES) + set(QUIC_TLS "openssl3") + vcpkg_from_github( + OUT_SOURCE_PATH OPENSSL_SOURCE_PATH + REPO quictls/openssl + REF openssl-3.1.7-quic1 + SHA512 230f48a4ef20bfd492b512bd53816a7129d70849afc1426e9ce813273c01884d5474552ecaede05231ca354403f25e2325c972c9c7950ae66dae310800bd19e7 + HEAD_REF openssl-3.1.7+quic + ) + if(NOT EXISTS "${QUIC_SOURCE_PATH}/submodules/openssl3/Configure") + file(REMOVE_RECURSE "${QUIC_SOURCE_PATH}/submodules/openssl3") + file(RENAME "${OPENSSL_SOURCE_PATH}" "${QUIC_SOURCE_PATH}/submodules/openssl3") + endif() +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH XDP_WINDOWS + REPO microsoft/xdp-for-windows + REF v1.0.2 + SHA512 1b26487fa79c8796d4b0d5e09f4fc9acb003d8e079189ec57a36ff03c9c2620829106fdbc4780e298872826f3a97f034d40e04d00a77ded97122874d13bfb145 + HEAD_REF main +) +if(NOT EXISTS "${QUIC_SOURCE_PATH}/submodules/xdp-for-windows/published/external") + # headers only + file(REMOVE_RECURSE "${QUIC_SOURCE_PATH}/submodules/xdp-for-windows") + file(COPY "${XDP_WINDOWS}/published/external" DESTINATION "${QUIC_SOURCE_PATH}/submodules/xdp-for-windows/published") +endif() + +vcpkg_find_acquire_program(PERL) +get_filename_component(PERL_EXE_PATH "${PERL}" DIRECTORY) +vcpkg_add_to_path("${PERL_EXE_PATH}") + +if(VCPKG_HOST_IS_WINDOWS) + vcpkg_find_acquire_program(JOM) + cmake_path(GET JOM PARENT_PATH jom_dir) + vcpkg_add_to_path("${jom_dir}") +else() + find_program(MAKE make) + cmake_path(GET MAKE PARENT_PATH make_dir) + vcpkg_add_to_path("${make_dir}") +endif() + +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_find_acquire_program(NASM) + cmake_path(GET NASM PARENT_PATH nasm_dir) + vcpkg_add_to_path("${nasm_dir}") +endif() + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" QUIC_BUILD_SHARED) +string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" STATIC_CRT) + +vcpkg_cmake_configure( + SOURCE_PATH "${QUIC_SOURCE_PATH}" + OPTIONS + -DQUIC_SOURCE_LINK=OFF + -DQUIC_TLS=${QUIC_TLS} + -DQUIC_USE_SYSTEM_LIBCRYPTO=OFF + -DQUIC_BUILD_PERF=OFF + -DQUIC_BUILD_TEST=OFF + "-DQUIC_BUILD_SHARED=${QUIC_BUILD_SHARED}" + "-DQUIC_STATIC_LINK_CRT=${STATIC_CRT}" + "-DQUIC_STATIC_LINK_PARTIAL_CRT=${STATIC_CRT}" + "-DQUIC_UWP_BUILD=${VCPKG_TARGET_IS_UWP}" +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup() +vcpkg_copy_pdbs() + +set(platform "") +if(VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_IOS) + set(platform "CX_PLATFORM_DARWIN") +elseif(NOT VCPKG_TARGET_IS_WINDOWS) + set(platform "CX_PLATFORM_LINUX") +endif() +if(platform) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/quic_platform.h" + "#elif ${platform}" + "#elif 1 +#ifndef ${platform} +#define ${platform} +#endif") +elseif(VCPKG_TARGET_IS_UWP) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/quic_platform.h" + "#elif _WIN32" + "#elif 1 +#ifndef QUIC_UWP_BUILD +#define QUIC_UWP_BUILD +#endif +#ifndef QUIC_RESTRICTED_BUILD +#define QUIC_RESTRICTED_BUILD +#endif") +endif() + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" +) + +vcpkg_install_copyright(FILE_LIST "${QUIC_SOURCE_PATH}/LICENSE" "${QUIC_SOURCE_PATH}/THIRD-PARTY-NOTICES") diff --git a/ports/msquic/uwp-link-libs.diff b/ports/msquic/uwp-link-libs.diff new file mode 100644 index 00000000000000..3dc68923ea58cc --- /dev/null +++ b/ports/msquic/uwp-link-libs.diff @@ -0,0 +1,47 @@ +diff --git a/src/inc/CMakeLists.txt b/src/inc/CMakeLists.txt +index 48edebd..0a59ee6 100644 +--- a/src/inc/CMakeLists.txt ++++ b/src/inc/CMakeLists.txt +@@ -40,7 +40,7 @@ endif() + + if(WIN32) + if(QUIC_UWP_BUILD) +- target_link_libraries(base_link INTERFACE OneCore ws2_32 ntdll) ++ target_link_libraries(base_link INTERFACE OneCoreUap ws2_32 ntdll) + elseif(QUIC_GAMECORE_BUILD) + target_link_libraries(base_link INTERFACE ntdll advapi32) + if(NOT QUIC_EXTERNAL_TOOLCHAIN) +diff --git a/src/platform/CMakeLists.txt b/src/platform/CMakeLists.txt +index 4a573ae..6fb5887 100644 +--- a/src/platform/CMakeLists.txt ++++ b/src/platform/CMakeLists.txt +@@ -60,7 +60,9 @@ if("${CX_PLATFORM}" STREQUAL "windows") + msquic_platform + PUBLIC + wbemuuid) ++ if(NOT QUIC_UWP_BUILD) + target_link_libraries(msquic_platform PUBLIC winmm) ++ endif() + elseif(QUIC_LINUX_XDP_ENABLED) + find_library(NL_LIB nl-3) + find_library(NL_ROUTE_LIB nl-route-3) +diff --git a/submodules/CMakeLists.txt b/submodules/CMakeLists.txt +index 4bf8117..4468b19 100644 +--- a/submodules/CMakeLists.txt ++++ b/submodules/CMakeLists.txt +@@ -59,13 +59,13 @@ if (WIN32) + if (QUIC_UWP_BUILD) + # Translate target architecture into corresponding OpenSSL build flag + if (${SYSTEM_PROCESSOR} STREQUAL "arm64") +- set(QUIC_OPENSSL_WIN_ARCH "VC-WIN64-ARM") ++ set(QUIC_OPENSSL_WIN_ARCH "VC-WIN64-ARM-UWP") + elseif (${SYSTEM_PROCESSOR} STREQUAL "arm") + set(QUIC_OPENSSL_WIN_ARCH "VC-WIN32-ARM") + elseif (${SYSTEM_PROCESSOR} STREQUAL "x86") + set(QUIC_OPENSSL_WIN_ARCH "VC-WIN32-ONECORE") + elseif (${SYSTEM_PROCESSOR} STREQUAL "x64" OR ${SYSTEM_PROCESSOR} STREQUAL "amd64") +- set(QUIC_OPENSSL_WIN_ARCH "VC-WIN64A-ONECORE") ++ set(QUIC_OPENSSL_WIN_ARCH "VC-WIN64A-UWP") + else() + message(FATAL_ERROR "Unknown Generator Platform ${SYSTEM_PROCESSOR}") + endif() diff --git a/ports/msquic/vcpkg.json b/ports/msquic/vcpkg.json new file mode 100644 index 00000000000000..0a263d79787e09 --- /dev/null +++ b/ports/msquic/vcpkg.json @@ -0,0 +1,35 @@ +{ + "name": "msquic", + "version": "2.4.7", + "port-version": 1, + "description": "Cross-platform, C implementation of the IETF QUIC protocol", + "homepage": "https://github.com/microsoft/msquic", + "license": "MIT", + "supports": "!mingw & !(static & staticcrt)", + "dependencies": [ + { + "name": "msquic", + "features": [ + "0-rtt" + ], + "platform": "!windows" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "0-rtt": { + "description": [ + "Enable 0-RTT connection support.", + "This feature requires the use of (a fork of) OpenSSL 3 also on Windows." + ], + "license": "Apache-2.0" + } + } +} diff --git a/ports/mtlt/portfile.cmake b/ports/mtlt/portfile.cmake new file mode 100644 index 00000000000000..45dd7ac6a9b172 --- /dev/null +++ b/ports/mtlt/portfile.cmake @@ -0,0 +1,23 @@ +set(VCPKG_BUILD_TYPE release) # Header-only library + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO tonitaga/MTLT + REF 8e30e6636b06ad008082e22f37e0d79873142e1b + SHA512 2addaa4f84037a14431b20734fe5ca1ea11c4d9d1a0ddf82a16b9efaacbbac3873038bd16f93ba94288559585ae76d12884166931c91a214a3e3ed0cecea6b3b + HEAD_REF main +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME "mtlt" CONFIG_PATH "lib/cmake/mtlt") +vcpkg_fixup_pkgconfig() +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/mtlt/usage b/ports/mtlt/usage new file mode 100644 index 00000000000000..ea8d6e60ac55d0 --- /dev/null +++ b/ports/mtlt/usage @@ -0,0 +1,4 @@ +The package mtlt provides CMake targets: + + find_package(mtlt REQUIRED) + target_link_libraries(${PROJECT_NAME} PRIVATE mtlt::mtlt) diff --git a/ports/mtlt/vcpkg.json b/ports/mtlt/vcpkg.json new file mode 100644 index 00000000000000..4f29fc3376c659 --- /dev/null +++ b/ports/mtlt/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "mtlt", + "version": "1.0.0", + "description": "Tonitaga 2024. MTLT is a header-only math matrix library that allows you to do compile-time calculations, perform atomic operations, and contains all the basic operations on matrices. The library is written in STL style, supports joint work with STL algorithms. Since C++11", + "homepage": "https://github.com/tonitaga/MTLT", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/mujs/portfile.cmake b/ports/mujs/portfile.cmake index b747376e4975ed..1411803034148f 100644 --- a/ports/mujs/portfile.cmake +++ b/ports/mujs/portfile.cmake @@ -6,7 +6,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ccxvii/mujs REF "${VERSION}" - SHA512 ccffb04171f7ecec2cfa6f0e59859acc911836370a648e4c6703db174631ce316413a64ebf4b32eea3d3b09221ff01861cda91f4b1b9bebf495168f26f90daf5 + SHA512 9ebe0d2926d2621110cb67e701c1cdd87883703d58c49dc08e366b20c93dbdbc2f56e59b710999373bd8aaaee75b2d35adb1dad6929795684a8fff6483d9df25 HEAD_REF master ) diff --git a/ports/mujs/vcpkg.json b/ports/mujs/vcpkg.json index ae4734a1d6c41c..669667252c903b 100644 --- a/ports/mujs/vcpkg.json +++ b/ports/mujs/vcpkg.json @@ -1,7 +1,6 @@ { "name": "mujs", - "version": "1.3.2", - "port-version": 1, + "version": "1.3.5", "description": "An embeddable Javascript interpreter in C", "homepage": "https://github.com/ccxvii/mujs", "license": "ISC", diff --git a/ports/muparser/portfile.cmake b/ports/muparser/portfile.cmake index 23be2ecea43f8f..178176057acfc0 100644 --- a/ports/muparser/portfile.cmake +++ b/ports/muparser/portfile.cmake @@ -1,16 +1,20 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO beltoforion/muparser - REF 59e0ce1e0d35d42713af67788f19797945d81364 # v2.3.4 - SHA512 4d0261b9c155b2697ce7222d87ff19be781919e93154bf69455ce36432f66abe2a1ea80a59f7526990f7859f78259014ef56702aa5c7db2ac8c28c8e9491e1f5 + REF "v${VERSION}" + SHA512 48610dd112b5c8e1ea7615e29c9f9ca185091392b651794de039c14edfad4c62a6ae1d087393fdfd8d03a99f94a6e71275b86ddc8027234d322030bc7c25223e HEAD_REF master ) +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + openmp ENABLE_OPENMP +) + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - OPTIONS + OPTIONS ${FEATURE_OPTIONS} -DENABLE_SAMPLES=OFF - -DENABLE_OPENMP=OFF -DENABLE_WIDE_CHAR=OFF ) @@ -20,9 +24,6 @@ vcpkg_copy_pdbs() vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/muparser") vcpkg_fixup_pkgconfig() -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/muParserDef.h" "#if defined(_UNICODE)" "#if 0") -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/muParserDLL.h" "#ifndef _UNICODE" "#if 1") - if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/muParserFixes.h" "#ifndef MUPARSER_STATIC" "#if 0") else() diff --git a/ports/muparser/vcpkg.json b/ports/muparser/vcpkg.json index 6032c402d495a6..eb7b4a3fd00ecf 100644 --- a/ports/muparser/vcpkg.json +++ b/ports/muparser/vcpkg.json @@ -1,6 +1,6 @@ { "name": "muparser", - "version": "2.3.4", + "version": "2.3.5", "description": "Fast math parser library", "homepage": "https://github.com/beltoforion/muparser", "license": "BSD-2-Clause", @@ -14,5 +14,10 @@ "name": "vcpkg-cmake-config", "host": true } - ] + ], + "features": { + "openmp": { + "description": "Enable OpenMP for multithreading" + } + } } diff --git a/ports/mvfst/portfile.cmake b/ports/mvfst/portfile.cmake index 66186a536cdb52..a02d1adc98b10b 100644 --- a/ports/mvfst/portfile.cmake +++ b/ports/mvfst/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO facebook/mvfst - REF "v${VERSION}" - SHA512 074ad8201e2c35b51bde0f8eaeb22bfe87af80fd9f3dc6c3de343b19d4b3d7738780a208d4719ee4fbd9d3f2f8a1a95b4858e8dc3fad16c26e4a859ecab75eca + REF "v${VERSION}" + SHA512 d0bf90eb2e07a951bcc3414455c5feb4ff7578f5d0c714c9fba2bcb9df2057cb352846a1b99bdde96b5b21095adb19bc1376372aea72e862141f942165d16796 HEAD_REF main ) @@ -10,19 +10,10 @@ vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_TESTS=OFF - -DBUILD_EXAMPLES=OFF -) - -# Prefer installed config files -file(REMOVE - "${SOURCE_PATH}/fizz/cmake/FindGMock.cmake" - "${SOURCE_PATH}/fizz/cmake/FindGflags.cmake" - "${SOURCE_PATH}/fizz/cmake/FindGlog.cmake" - "${SOURCE_PATH}/fizz/cmake/FindLibevent.cmake" ) vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/mvfst) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/mvfst/vcpkg.json b/ports/mvfst/vcpkg.json index e4df0143ae1666..717a0ce5ce49da 100644 --- a/ports/mvfst/vcpkg.json +++ b/ports/mvfst/vcpkg.json @@ -1,10 +1,10 @@ { "name": "mvfst", - "version-string": "2023.10.02.00", + "version-string": "2025.01.06.00", "description": "mvfst (Pronounced move fast) is a client and server implementation of IETF QUIC protocol in C++ by Facebook.", "homepage": "https://github.com/facebook/mvfst", "license": "MIT", - "supports": "!windows", + "supports": "!(windows & !static)", "dependencies": [ "boost-context", "boost-date-time", diff --git a/ports/mygui/fix-tools-lnk2005.patch b/ports/mygui/fix-tools-lnk2005.patch new file mode 100644 index 00000000000000..08a8e23810f10c --- /dev/null +++ b/ports/mygui/fix-tools-lnk2005.patch @@ -0,0 +1,13 @@ +diff --git a/Tools/EditorFramework/ComponentFactory.cpp b/Tools/EditorFramework/ComponentFactory.cpp +index 3311936..701af6d 100644 +--- a/Tools/EditorFramework/ComponentFactory.cpp ++++ b/Tools/EditorFramework/ComponentFactory.cpp +@@ -46,7 +46,7 @@ namespace tools + FACTORY_ITEM(FocusInfoControl) + FACTORY_ITEM(DataListBaseControl) + FACTORY_ITEM(ColourPanel) +- FACTORY_ITEM(BackgroundControl) ++// FACTORY_ITEM(BackgroundControl) + FACTORY_ITEM(TextureBrowseControl) + FACTORY_ITEM(TextFieldControl) + FACTORY_ITEM(SettingsWindow) diff --git a/ports/mygui/platform-lib-static.patch b/ports/mygui/platform-lib-static.patch new file mode 100644 index 00000000000000..d36519de15b5c6 --- /dev/null +++ b/ports/mygui/platform-lib-static.patch @@ -0,0 +1,119 @@ +diff --git a/Platforms/DirectX/DirectXPlatform/CMakeLists.txt b/Platforms/DirectX/DirectXPlatform/CMakeLists.txt +index 169a2afe4..2ea45af2b 100644 +--- a/Platforms/DirectX/DirectXPlatform/CMakeLists.txt ++++ b/Platforms/DirectX/DirectXPlatform/CMakeLists.txt +@@ -9,7 +9,7 @@ include_directories( + + include(${PROJECTNAME}.list) + +-add_library(${PROJECTNAME} ${HEADER_FILES} ${SOURCE_FILES}) ++add_library(${PROJECTNAME} STATIC ${HEADER_FILES} ${SOURCE_FILES}) + + add_dependencies(${PROJECTNAME} MyGUIEngine) + +diff --git a/Platforms/DirectX11/DirectX11Platform/CMakeLists.txt b/Platforms/DirectX11/DirectX11Platform/CMakeLists.txt +index 251fcdbe3..16d4f33a5 100644 +--- a/Platforms/DirectX11/DirectX11Platform/CMakeLists.txt ++++ b/Platforms/DirectX11/DirectX11Platform/CMakeLists.txt +@@ -9,7 +9,7 @@ include_directories( + + include(${PROJECTNAME}.list) + +-add_library(${PROJECTNAME} ${HEADER_FILES} ${SOURCE_FILES}) ++add_library(${PROJECTNAME} STATIC ${HEADER_FILES} ${SOURCE_FILES}) + + add_dependencies(${PROJECTNAME} MyGUIEngine) + +diff --git a/Platforms/Dummy/DummyPlatform/CMakeLists.txt b/Platforms/Dummy/DummyPlatform/CMakeLists.txt +index 1055694f2..625391132 100644 +--- a/Platforms/Dummy/DummyPlatform/CMakeLists.txt ++++ b/Platforms/Dummy/DummyPlatform/CMakeLists.txt +@@ -8,7 +8,7 @@ include_directories( + + include(${PROJECTNAME}.list) + +-add_library(${PROJECTNAME} ${HEADER_FILES} ${SOURCE_FILES}) ++add_library(${PROJECTNAME} STATIC ${HEADER_FILES} ${SOURCE_FILES}) + + add_dependencies(${PROJECTNAME} MyGUIEngine) + +diff --git a/Platforms/Ogre/OgrePlatform/CMakeLists.txt b/Platforms/Ogre/OgrePlatform/CMakeLists.txt +index a151abcf8..23f8a2373 100644 +--- a/Platforms/Ogre/OgrePlatform/CMakeLists.txt ++++ b/Platforms/Ogre/OgrePlatform/CMakeLists.txt +@@ -8,7 +8,7 @@ include_directories( + + include(${PROJECTNAME}.list) + +-add_library(${PROJECTNAME} ${HEADER_FILES} ${SOURCE_FILES}) ++add_library(${PROJECTNAME} STATIC ${HEADER_FILES} ${SOURCE_FILES}) + + add_dependencies(${PROJECTNAME} MyGUIEngine) + +diff --git a/Platforms/OpenGL/OpenGLPlatform/CMakeLists.txt b/Platforms/OpenGL/OpenGLPlatform/CMakeLists.txt +index 0d58d3d71..78eaf0267 100644 +--- a/Platforms/OpenGL/OpenGLPlatform/CMakeLists.txt ++++ b/Platforms/OpenGL/OpenGLPlatform/CMakeLists.txt +@@ -19,7 +19,7 @@ if (NOT MYGUI_USE_SYSTEM_GLEW) + endif () + add_definitions(-DGL_GLEXT_PROTOTYPES) + +-add_library(${PROJECTNAME} ${HEADER_FILES} ${SOURCE_FILES}) ++add_library(${PROJECTNAME} STATIC ${HEADER_FILES} ${SOURCE_FILES}) + + add_dependencies(${PROJECTNAME} MyGUIEngine) + +diff --git a/Platforms/OpenGL3/OpenGL3Platform/CMakeLists.txt b/Platforms/OpenGL3/OpenGL3Platform/CMakeLists.txt +index 27d96da3e..4dcee1601 100644 +--- a/Platforms/OpenGL3/OpenGL3Platform/CMakeLists.txt ++++ b/Platforms/OpenGL3/OpenGL3Platform/CMakeLists.txt +@@ -19,7 +19,7 @@ if (NOT MYGUI_USE_SYSTEM_GLEW) + endif () + add_definitions(-DGL_GLEXT_PROTOTYPES) + +-add_library(${PROJECTNAME} ${HEADER_FILES} ${SOURCE_FILES}) ++add_library(${PROJECTNAME} STATIC ${HEADER_FILES} ${SOURCE_FILES}) + + add_dependencies(${PROJECTNAME} MyGUIEngine) + +diff --git a/Platforms/OpenGLES/OpenGLESPlatform/CMakeLists.txt b/Platforms/OpenGLES/OpenGLESPlatform/CMakeLists.txt +index bd6d9657b..ad31fc158 100644 +--- a/Platforms/OpenGLES/OpenGLESPlatform/CMakeLists.txt ++++ b/Platforms/OpenGLES/OpenGLESPlatform/CMakeLists.txt +@@ -9,7 +9,7 @@ include_directories( + + include(${PROJECTNAME}.list) + add_definitions(-DGL_GLEXT_PROTOTYPES) +-add_library(${PROJECTNAME} ${HEADER_FILES} ${SOURCE_FILES}) ++add_library(${PROJECTNAME} STATIC ${HEADER_FILES} ${SOURCE_FILES}) + + add_dependencies(${PROJECTNAME} MyGUIEngine) + +From 32e39f8de4b750ed5d2332ee18846f23b7e98df5 Mon Sep 17 00:00:00 2001 +From: AnyOldName3 +Date: Tue, 29 Oct 2024 14:53:52 +0000 +Subject: [PATCH] Explicitly mark another library as static + +I've also figured out why this problem wasn't obvious. +It only happens when someone's used the CMake-standard BUILD_SHARED_LIBS option, which controls the default behaviour for add_library. +When MyGUI is built as a standalone project, this won't be set (unless someone's done it manually) so it's fine. +When MyGUI is built as part of a larger project (e.g. package manager like vcpkg or CPM, or as a nested project with FetchContent), it's likely to have been set by something else. + +It might be a good idea to pick the default value of MYGUI_STATIC to match BUILD_SHARED_LIBS if it's set, but I've not done that in this PR. +--- + Common/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Common/CMakeLists.txt b/Common/CMakeLists.txt +index e97507019..87a16290f 100644 +--- a/Common/CMakeLists.txt ++++ b/Common/CMakeLists.txt +@@ -99,7 +99,7 @@ SOURCE_GROUP("Base" FILES + Input/SDL/ResourceSDLPointer.cpp + ) + +-add_library(${PROJECTNAME} ${HEADER_FILES} ${SOURCE_FILES}) ++add_library(${PROJECTNAME} STATIC ${HEADER_FILES} ${SOURCE_FILES}) + + mygui_set_platform_name(${MYGUI_RENDERSYSTEM}) + add_dependencies(${PROJECTNAME} MyGUI.${MYGUI_PLATFORM_NAME}Platform) diff --git a/ports/mygui/portfile.cmake b/ports/mygui/portfile.cmake index d024c74c6a91c8..efb7d5b39c0c4c 100644 --- a/ports/mygui/portfile.cmake +++ b/ports/mygui/portfile.cmake @@ -1,18 +1,16 @@ -# MyGUI supports compiling itself as a DLL, -# but it seems platform-related stuff doesn't support dynamic linkage -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO MyGUI/mygui REF MyGUI${VERSION} - SHA512 202f3df35f0767778b5a91b71dbd1ad3409d0a1977d5fbe3f0d48db430276c71b84edc5a28dd1fdb8e60245b56f2bda99872a4d860b83585f08406b28fb850fe + SHA512 88c69ca2e706af364b72d425f95013eb285501881d8094f8d67e31a54c45ca11b0eb5b62c382af0d4c43f69aa8197648259ac306b72efa7ef3e25eecb9b039cb HEAD_REF master PATCHES fix-generation.patch Install-tools.patch opengl.patch sdl2-static.patch + fix-tools-lnk2005.patch + platform-lib-static.patch ) if(VCPKG_TARGET_ARCHITECTURE STREQUAL "wasm32") @@ -26,15 +24,20 @@ endif() vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES + plugins MYGUI_BUILD_PLUGINS tools MYGUI_BUILD_TOOLS + INVERTED_FEATURES + obsolete MYGUI_DONT_USE_OBSOLETE + plugins MYGUI_DISABLE_PLUGINS ) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" MYGUI_STATIC) + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DMYGUI_STATIC=TRUE + -DMYGUI_STATIC=${MYGUI_STATIC} -DMYGUI_BUILD_DEMOS=FALSE - -DMYGUI_BUILD_PLUGINS=TRUE -DMYGUI_BUILD_UNITTESTS=FALSE -DMYGUI_BUILD_TEST_APP=FALSE -DMYGUI_BUILD_WRAPPER=FALSE @@ -51,6 +54,7 @@ file(REMOVE_RECURSE ) vcpkg_fixup_pkgconfig() +vcpkg_copy_pdbs() if("tools" IN_LIST FEATURES) vcpkg_copy_tools(TOOL_NAMES FontEditor ImageEditor LayoutEditor SkinEditor AUTO_CLEAN) diff --git a/ports/mygui/vcpkg.json b/ports/mygui/vcpkg.json index a569a21bccabed..c62677c02d859a 100644 --- a/ports/mygui/vcpkg.json +++ b/ports/mygui/vcpkg.json @@ -1,6 +1,7 @@ { "name": "mygui", - "version": "3.4.2", + "version": "3.4.3", + "port-version": 3, "description": "Fast, flexible and simple GUI", "homepage": "http://mygui.info", "license": "MIT", @@ -18,12 +19,18 @@ } ], "features": { + "obsolete": { + "description": "Keep obsolete functions." + }, "opengl": { "description": "Use OpenGL render system.", "dependencies": [ "opengl" ] }, + "plugins": { + "description": "Build MyGUI plugins." + }, "tools": { "description": "Install MyGUI tools." } diff --git a/ports/mysql-connector-cpp/cmake-project-include.cmake b/ports/mysql-connector-cpp/cmake-project-include.cmake new file mode 100644 index 00000000000000..4ec447a8714de7 --- /dev/null +++ b/ports/mysql-connector-cpp/cmake-project-include.cmake @@ -0,0 +1,61 @@ +#[[ + vcpkg overloads find_package(). + mysql-connector-cpp overloads find_dependency(). + + To force a strict order of desired effects and to prevent undesired effects, + without heavy patching: + 1. All pristine find_package() must be done here first. + This is with pristine vcpkg toolchain find_package()/find_dependency(). + 2. After that, find_package is overloaded to prevent loading of CMakeFindDependenyMacro. + 3. mysql-connector-cpp installs and uses its custom find_dependency(). +#]] + +set(THREADS_PREFER_PTHREAD_FLAG 1) +find_package(Threads) + +find_package(OpenSSL REQUIRED) + +find_package(Protobuf CONFIG REQUIRED) +#add_library(ext::protobuf ALIAS protobuf::libprotobuf) +add_library(ext::protobuf-lite ALIAS protobuf::libprotobuf-lite) +if(NOT TARGET ext::protoc) + add_executable(ext::protoc IMPORTED) + set_target_properties(ext::protoc PROPERTIES IMPORTED_LOCATION "${WITH_PROTOC}") +endif() + +find_package(RapidJSON CONFIG REQUIRED) +add_library(RapidJSON::rapidjson ALIAS rapidjson) + +find_package(ZLIB REQUIRED) +add_library(ext::z ALIAS ZLIB::ZLIB) + +find_package(lz4 REQUIRED) +add_library(ext::lz4 ALIAS lz4::lz4) + +find_package(zstd REQUIRED) +add_library(ext::zstd ALIAS zstd::libzstd) + +if(WITH_JDBC) + find_package(unofficial-libmysql REQUIRED) + find_path(errmsg_include_dir NAMES errmsg.h PATH_SUFFIXES mysql) + set_property(TARGET unofficial::libmysql::libmysql APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${errmsg_include_dir}") + add_library(MySQL::client ALIAS unofficial::libmysql::libmysql) + + file(READ "${errmsg_include_dir}/mysql_version.h" version_h) + if(NOT version_h MATCHES "#define +MYSQL_SERVER_VERSION +\"([^\"]+)\"") + message(FATAL_ERROR "Failed to detect libmysql version") + endif() + set(MYSQL_VERSION "${CMAKE_MATCH_1}") + if(NOT version_h MATCHES "#define +MYSQL_VERSION_ID +([0-9]+)") + message(FATAL_ERROR "Failed to detect libmysql version ID") + endif() + set(MYSQL_NUM_VERSION "${CMAKE_MATCH_1}") +endif() + +set(known_packages Threads OpenSSL Protobuf RapidJSON ZLIB lz4 zstd unofficial-libmysql) +cmake_policy(SET CMP0057 NEW) +macro(find_package NAME) + if(NOT "${NAME}" IN_LIST known_packages) + message(SEND_ERROR "find_package(${NAME}) not handled in ${CMAKE_CURRENT_LIST_FILE}") + endif() +endmacro() diff --git a/ports/mysql-connector-cpp/dependencies.patch b/ports/mysql-connector-cpp/dependencies.patch deleted file mode 100644 index 8f4a38f651b84a..00000000000000 --- a/ports/mysql-connector-cpp/dependencies.patch +++ /dev/null @@ -1,154 +0,0 @@ -diff --git a/cdk/cmake/DepFindCompression.cmake b/cdk/cmake/DepFindCompression.cmake -index f9fe519f..0f893da8 100644 ---- a/cdk/cmake/DepFindCompression.cmake -+++ b/cdk/cmake/DepFindCompression.cmake -@@ -48,7 +48,12 @@ message(STATUS "Setting up compression libraries.") - ####### - # ZLIB - # --add_ext(zlib zlib.h z ext_zlib) -+if (WIN32) -+ set(ZLIB_NAME zlib) -+else() -+ set(ZLIB_NAME z) -+endif() -+add_ext(zlib zlib.h ${ZLIB_NAME} ext_zlib) - if(NOT ZLIB_FOUND) - message(FATAL_ERROR "Can't build without zlib support") - endif() -diff --git a/cdk/cmake/dependency.cmake b/cdk/cmake/dependency.cmake -index e928e711..30d34fef 100644 ---- a/cdk/cmake/dependency.cmake -+++ b/cdk/cmake/dependency.cmake -@@ -286,10 +286,18 @@ endif() - function(add_ext_lib EXT target name) - # Search for the library - if(DEFINED ${EXT}_ROOT_DIR) -- set(suffix PATHS ${${EXT}_ROOT_DIR} -- PATH_SUFFIXES lib lib64 dll -- NO_DEFAULT_PATH -- ) -+ if(CMAKE_BUILD_TYPE STREQUAL "Debug") -+ set(name "${name}d;${name}") -+ set(suffix PATHS "${${EXT}_ROOT_DIR}/debug" -+ PATH_SUFFIXES lib lib64 dll -+ NO_DEFAULT_PATH -+ ) -+ else() -+ set(suffix PATHS ${${EXT}_ROOT_DIR} -+ PATH_SUFFIXES lib lib64 dll -+ NO_DEFAULT_PATH -+ ) -+ endif() - elseif(DEFINED ${EXT}_LIB_DIR) - set(suffix - PATHS ${${EXT}_LIB_DIR} -@@ -326,9 +334,10 @@ endfunction(add_ext_lib) - # - function(add_ext_exec EXT target name) - # Search for the library -+ string(TOLOWER ${EXT} EXT_LOWER) - if(DEFINED ${EXT}_ROOT_DIR) - set(suffix PATHS ${${EXT}_ROOT_DIR} -- PATH_SUFFIXES bin -+ PATH_SUFFIXES tools/${EXT_LOWER} - NO_DEFAULT_PATH - ) - -diff --git a/cdk/protocol/mysqlx/CMakeLists.txt b/cdk/protocol/mysqlx/CMakeLists.txt -index 97a4b005..cfc81daf 100644 ---- a/cdk/protocol/mysqlx/CMakeLists.txt -+++ b/cdk/protocol/mysqlx/CMakeLists.txt -@@ -135,8 +135,13 @@ else() - target_link_libraries(cdk_proto_mysqlx PRIVATE ext::protobuf-lite) - endif() - -+if (WIN32) -+ set(EXT_ZLIB_NAME ext::zlib) -+else() -+ set(EXT_ZLIB_NAME ext::z) -+endif() - target_link_libraries(cdk_proto_mysqlx -- PRIVATE cdk_foundation ext::z ext::lz4 ext::zstd -+ PRIVATE cdk_foundation ${EXT_ZLIB_NAME} ext::lz4 ext::zstd - ) - - ADD_COVERAGE(cdk_proto_mysqlx) -diff --git a/jdbc/cmake/DepFindMySQL.cmake b/jdbc/cmake/DepFindMySQL.cmake -index 7977381a..d7f4e58b 100644 ---- a/jdbc/cmake/DepFindMySQL.cmake -+++ b/jdbc/cmake/DepFindMySQL.cmake -@@ -167,13 +167,13 @@ function(main) - - find_library(MYSQL_LIB - NAMES ${CMAKE_STATIC_LIBRARY_PREFIX}mysqlclient${CMAKE_STATIC_LIBRARY_SUFFIX} -- PATHS ${MYSQL_LIB_DIR} -+ PATHS "${MYSQL_LIB_DIR}/lib" - NO_DEFAULT_PATH - ) - - find_library(MYSQL_LIB_DEBUG - NAMES ${CMAKE_STATIC_LIBRARY_PREFIX}mysqlclient${CMAKE_STATIC_LIBRARY_SUFFIX} -- PATHS "${MYSQL_LIB_DIR}/debug" -+ PATHS "${MYSQL_LIB_DIR}/debug/lib" - NO_DEFAULT_PATH - ) - -@@ -181,39 +181,39 @@ function(main) - - find_library(MYSQL_DLL - NAMES ${CMAKE_DYNAMIC_LIBRARY_PREFIX}mysqlclient${CMAKE_DYNAMIC_LIBRARY_SUFFIX} -- PATHS ${MYSQL_LIB_DIR} -+ PATHS "${MYSQL_LIB_DIR}/lib" - NO_DEFAULT_PATH - ) - - find_library(MYSQL_DLL_DEBUG - NAMES ${CMAKE_DYNAMIC_LIBRARY_PREFIX}mysqlclient${CMAKE_DYNAMIC_LIBRARY_SUFFIX} -- PATHS "${MYSQL_LIB_DIR}/debug" -+ PATHS "${MYSQL_LIB_DIR}/debug/lib" - NO_DEFAULT_PATH - ) - - else() #WIN32 - -- find_library(MYSQL_DLL -- NAMES libmysql -- PATHS ${MYSQL_LIB_DIR} -+ find_file(MYSQL_DLL -+ NAMES libmysql.dll -+ PATHS "${MYSQL_LIB_DIR}/bin" - NO_DEFAULT_PATH - ) - -- find_library(MYSQL_DLL_DEBUG -- NAMES libmysql -- PATHS "${MYSQL_LIB_DIR}/debug" -+ find_file(MYSQL_DLL_DEBUG -+ NAMES libmysql.dll -+ PATHS "${MYSQL_LIB_DIR}/debug/bin" - NO_DEFAULT_PATH - ) - - find_library(MYSQL_DLL_IMP - NAMES libmysql.lib -- PATHS ${MYSQL_LIB_DIR} -+ PATHS "${MYSQL_LIB_DIR}/lib" - NO_DEFAULT_PATH - ) - - find_library(MYSQL_DLL_IMP_DEBUG - NAMES libmysql.lib -- PATHS "${MYSQL_LIB_DIR}/debug" -+ PATHS "${MYSQL_LIB_DIR}/debug/lib" - NO_DEFAULT_PATH - ) - endif() -@@ -383,6 +383,7 @@ function(main) - # external dependencies. - # - -+ find_package(OpenSSL) - target_link_libraries(MySQL::client-static INTERFACE ${MYSQL_EXTERNAL_DEPENDENCIES}) - - endif() diff --git a/ports/mysql-connector-cpp/depfindprotobuf.diff b/ports/mysql-connector-cpp/depfindprotobuf.diff new file mode 100644 index 00000000000000..f3a82aeb587fe9 --- /dev/null +++ b/ports/mysql-connector-cpp/depfindprotobuf.diff @@ -0,0 +1,24 @@ +diff --git a/cdk/cmake/DepFindProtobuf.cmake b/cdk/cmake/DepFindProtobuf.cmake +index 1fc785e..2ba7e99 100644 +--- a/cdk/cmake/DepFindProtobuf.cmake ++++ b/cdk/cmake/DepFindProtobuf.cmake +@@ -44,9 +44,9 @@ + # + # + +-if(TARGET ext::protobuf) ++if(COMMAND mysqlx_protobuf_generate_cpp) + return() +-endif() ++elseif(0) + + message(STATUS "Setting up Protobuf.") + +@@ -66,6 +66,7 @@ add_ext_targets(protobuf + ) + + ++endif() + # Standard PROTOBUF_GENERATE_CPP modified to our usage + function(mysqlx_protobuf_generate_cpp SRCS HDRS) + IF(NOT ARGN) diff --git a/ports/mysql-connector-cpp/disable-telemetry.diff b/ports/mysql-connector-cpp/disable-telemetry.diff new file mode 100644 index 00000000000000..4ba74a1464efd6 --- /dev/null +++ b/ports/mysql-connector-cpp/disable-telemetry.diff @@ -0,0 +1,14 @@ +diff --git a/jdbc/extra/otel/CMakeLists.txt b/jdbc/extra/otel/CMakeLists.txt +index bbed9bd..d03e2ef 100644 +--- a/jdbc/extra/otel/CMakeLists.txt ++++ b/jdbc/extra/otel/CMakeLists.txt +@@ -9,7 +9,9 @@ if(NOT (WIN32 OR APPLE OR CMAKE_SYSTEM_NAME MATCHES "SunOS")) + message(STATUS "Adding OTel support") + + set(TELEMETRY ON CACHE INTERNAL "Whether connector is built with OTel support") ++endif() + ++if(TELEMETRY) + target_include_directories(otel_api INTERFACE + "${PROJECT_SOURCE_DIR}/extra/otel/${OPENTELEMETRY_CPP_TAG}/api/include" + ) diff --git a/ports/mysql-connector-cpp/dont-preload-cache.diff b/ports/mysql-connector-cpp/dont-preload-cache.diff new file mode 100644 index 00000000000000..d7a8a7fe523e0c --- /dev/null +++ b/ports/mysql-connector-cpp/dont-preload-cache.diff @@ -0,0 +1,20 @@ +diff --git a/cdk/cmake/bootstrap.cmake b/cdk/cmake/bootstrap.cmake +index dd597dd..3d9a41f 100644 +--- a/cdk/cmake/bootstrap.cmake ++++ b/cdk/cmake/bootstrap.cmake +@@ -93,14 +93,7 @@ function(bootstrap) + + message("-- ----") + +- execute_process( +- COMMAND ${CMAKE_COMMAND} +- -G ${CMAKE_GENERATOR} +- ${cmake_opts} +- ${src_dir} +- WORKING_DIRECTORY ${bin_dir} +- RESULT_VARIABLE res +- ) ++ set(res "Cache breaks vcpkg toolchain") + + #message(FATAL_ERROR "!!! STOP") + diff --git a/ports/mysql-connector-cpp/export-targets.patch b/ports/mysql-connector-cpp/export-targets.patch index 0f9e18540c903a..23deca4bb98154 100644 --- a/ports/mysql-connector-cpp/export-targets.patch +++ b/ports/mysql-connector-cpp/export-targets.patch @@ -1,56 +1,60 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index e734714..6d665dc 100644 +index 341ed2d..686b859 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -397,7 +397,7 @@ add_subdirectory(devapi) - # Generate the main connector library. - - merge_libraries(connector xapi devapi) --target_include_directories(connector PUBLIC "${PROJECT_SOURCE_DIR}/include") -+target_include_directories(connector PUBLIC $ $) +@@ -356,9 +356,11 @@ if(WITH_JDBC) + # we use a copy of them placed inside the build tree. + target_include_directories(connector-jdbc +- PUBLIC "${PROJECT_BINARY_DIR}/include/jdbc" +- PUBLIC "${PROJECT_BINARY_DIR}/include/jdbc/cppconn" +- PUBLIC "${PROJECT_SOURCE_DIR}/include" ++ PUBLIC ++ "$" ++ "$" ++ "$" ++ "$" + ) - # -@@ -472,32 +472,23 @@ set_target_properties(connector PROPERTIES - SOVERSION "${ABI_VERSION_MAJOR}" + endif() +@@ -417,7 +419,8 @@ add_version_info(connector ) -- --install(TARGETS connector + target_include_directories(connector PUBLIC +- "${PROJECT_SOURCE_DIR}/include" ++ $ ++ $ + # Note: This is needed when using connector directly from the build tree to + # find headers generated by the build process. + $ +@@ -537,23 +540,18 @@ set_target_properties(connector PROPERTIES + + + install(TARGETS connector - CONFIGURATIONS Release RelWithDebInfo -- ARCHIVE DESTINATION "${INSTALL_LIB_DIR_STATIC}" COMPONENT XDevAPIDev ++ EXPORT unofficial-mysql-connector-cpp-targets + ARCHIVE DESTINATION "${INSTALL_LIB_DIR_STATIC}" COMPONENT XDevAPIDev - RUNTIME DESTINATION "${INSTALL_LIB_DIR}" COMPONENT XDevAPIDll -- LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT XDevAPIDll --) -- ++ RUNTIME DESTINATION "bin" COMPONENT XDevAPIDll + LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT XDevAPIDll + ) + -install(TARGETS connector - CONFIGURATIONS Debug -- ARCHIVE DESTINATION "${INSTALL_LIB_DIR_STATIC}/debug" COMPONENT XDevAPIDev -- RUNTIME DESTINATION "${INSTALL_LIB_DIR}/debug" COMPONENT XDevAPIDll -- LIBRARY DESTINATION "${INSTALL_LIB_DIR}/debug" COMPONENT XDevAPIDll -+install(TARGETS connector EXPORT unofficial-mysql-connector-cpp-targets -+ ARCHIVE DESTINATION lib COMPONENT XDevAPIDev -+ RUNTIME DESTINATION bin COMPONENT XDevAPIDll -+ LIBRARY DESTINATION lib COMPONENT XDevAPIDll - ) +- ARCHIVE DESTINATION "${INSTALL_LIB_DIR_STATIC_DEBUG}" COMPONENT XDevAPIDev +- RUNTIME DESTINATION "${INSTALL_LIB_DIR_DEBUG}" COMPONENT XDevAPIDll +- LIBRARY DESTINATION "${INSTALL_LIB_DIR_DEBUG}" COMPONENT XDevAPIDll +-) if(MSVC AND NOT BUILD_STATIC) install(FILES $ CONFIGURATIONS RelWithDebInfo -- DESTINATION "${INSTALL_LIB_DIR}" -+ DESTINATION bin - COMPONENT Debuginfo - ) - - install(FILES $ - CONFIGURATIONS Debug -- DESTINATION "${INSTALL_LIB_DIR}/debug" -+ DESTINATION bin ++ Release + DESTINATION "${INSTALL_LIB_DIR}" COMPONENT Debuginfo ) - -@@ -604,3 +595,15 @@ endif() +@@ -667,3 +665,15 @@ endif() show_config_options() @@ -66,4 +70,51 @@ index e734714..6d665dc 100644 + NAMESPACE unofficial::mysql-connector-cpp:: + DESTINATION share/unofficial-mysql-connector-cpp +) -\ No newline at end of file +diff --git a/cmake/libutils.cmake b/cmake/libutils.cmake +index 159145f..4d4f7fe 100644 +--- a/cmake/libutils.cmake ++++ b/cmake/libutils.cmake +@@ -164,7 +164,11 @@ function(merge_libraries TARGET) + set_property(SOURCE "${LIBUTILS_SCRIPT_DIR}/empty.cc" PROPERTY LANGUAGE CXX) + + add_library(${TARGET} ${TYPE} "${LIBUTILS_SCRIPT_DIR}/empty.cc") ++ if(TYPE STREQUAL "SHARED") + target_link_libraries(${TARGET} PRIVATE ${ARGN}) ++ else() # merged into whole archive ++ add_dependencies(${TARGET} ${ARGN}) ++ endif() + + # + # Arrange for marge_archives.cmake script to be executed in a POST_BUILD +diff --git a/jdbc/CMakeLists.txt b/jdbc/CMakeLists.txt +index 60e36e4..7117213 100644 +--- a/jdbc/CMakeLists.txt ++++ b/jdbc/CMakeLists.txt +@@ -341,24 +341,19 @@ endif() + + + install(TARGETS connector-jdbc +- CONFIGURATIONS Release RelWithDebInfo ++ EXPORT unofficial-mysql-connector-cpp-targets + ARCHIVE DESTINATION "${INSTALL_LIB_DIR_STATIC}" COMPONENT JDBCDev +- RUNTIME DESTINATION "${INSTALL_LIB_DIR}" COMPONENT JDBCDll ++ RUNTIME DESTINATION "bin" COMPONENT JDBCDll + LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT JDBCDll + ) + +-install(TARGETS connector-jdbc +- CONFIGURATIONS Debug +- ARCHIVE DESTINATION "${INSTALL_LIB_DIR_STATIC_DEBUG}" COMPONENT JDBCDev +- RUNTIME DESTINATION "${INSTALL_LIB_DIR_DEBUG}" COMPONENT JDBCDll +- LIBRARY DESTINATION "${INSTALL_LIB_DIR_DEBUG}" COMPONENT JDBCDll +-) + + + if(MSVC AND NOT BUILD_STATIC) + + install(FILES $ + CONFIGURATIONS RelWithDebInfo ++ Release + DESTINATION "${INSTALL_LIB_DIR}" + COMPONENT Debuginfo + ) diff --git a/ports/mysql-connector-cpp/fix-static-build8.patch b/ports/mysql-connector-cpp/fix-static-build8.patch deleted file mode 100644 index 91cf2739ec9514..00000000000000 --- a/ports/mysql-connector-cpp/fix-static-build8.patch +++ /dev/null @@ -1,105 +0,0 @@ -diff --git a/cdk/cmake/dependency.cmake b/cdk/cmake/dependency.cmake -index a1775da..f9c3edf 100644 ---- a/cdk/cmake/dependency.cmake -+++ b/cdk/cmake/dependency.cmake -@@ -57,6 +57,7 @@ set(EXT_FWD - CMAKE_SYSTEM_NAME CMAKE_SYSTEM_VERSION - CMAKE_SYSTEM_PROCESSOR - CMAKE_C_COMPILER CMAKE_CXX_COMPILER -+ BUILD_SHARED_LIBS STATIC_MSVCRT BUILD_STATIC - ) - - set(EXT_DIR ${CMAKE_CURRENT_LIST_DIR}/ext CACHE INTERNAL "external project utils location") -@@ -117,7 +118,7 @@ function(add_ext NAME) - endif() - - foreach(var ${EXT_FWD}) -- if(${var}) -+ if(DEFINED ${var}) - message("-- option ${var}: ${${var}}") - list(APPEND cmake_opts -D${var}=${${var}}) - endif() -diff --git a/cdk/extra/lz4/CMakeLists.txt b/cdk/extra/lz4/CMakeLists.txt -index 4c3aab0..a1596af 100644 ---- a/cdk/extra/lz4/CMakeLists.txt -+++ b/cdk/extra/lz4/CMakeLists.txt -@@ -34,6 +34,10 @@ include(platform) - - enable_pic() - -+if (MSVC AND STATIC_MSVCRT) -+ message("lz4 using static runtime library") -+ set_msvcrt(STATIC) -+endif (MSVC AND STATIC_MSVCRT) - add_library(lz4 STATIC - lz4.c - lz4frame.c -diff --git a/cdk/extra/zlib/CMakeLists.txt b/cdk/extra/zlib/CMakeLists.txt -index 237c2c3..7746bd0 100644 ---- a/cdk/extra/zlib/CMakeLists.txt -+++ b/cdk/extra/zlib/CMakeLists.txt -@@ -162,6 +162,10 @@ endif() - - # ------------------------------------------------------------------------- - -+if (MSVC AND STATIC_MSVCRT) -+ message("zlib using static runtime library") -+ set_msvcrt(STATIC) -+endif (MSVC AND STATIC_MSVCRT) - ADD_LIBRARY(zlib STATIC - ${ZLIB_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS}) - -diff --git a/cdk/extra/zstd/CMakeLists.txt b/cdk/extra/zstd/CMakeLists.txt -index 2109f3e..a60034e 100644 ---- a/cdk/extra/zstd/CMakeLists.txt -+++ b/cdk/extra/zstd/CMakeLists.txt -@@ -57,6 +57,10 @@ SET(ZSTD_SRCS - lib/dictBuilder/zdict.c - ) - -+if (MSVC AND STATIC_MSVCRT) -+ message("zstd using static runtime library") -+ set_msvcrt(STATIC) -+endif (MSVC AND STATIC_MSVCRT) - ADD_LIBRARY(zstd STATIC ${ZSTD_SRCS}) - set_target_properties(zstd PROPERTIES FOLDER "Misc") - -diff --git a/cmake/libutils.cmake b/cmake/libutils.cmake -index 05ea32e..ff26ba6 100644 ---- a/cmake/libutils.cmake -+++ b/cmake/libutils.cmake -@@ -164,7 +164,11 @@ function(merge_libraries TARGET) - set_property(SOURCE "${LIBUTILS_SCRIPT_DIR}/empty.cc" PROPERTY LANGUAGE CXX) - - add_library(${TARGET} ${TYPE} "${LIBUTILS_SCRIPT_DIR}/empty.cc") -- target_link_libraries(${TARGET} PRIVATE ${ARGN}) -+ if(TYPE STREQUAL "SHARED") -+ target_link_libraries(${TARGET} PRIVATE ${ARGN}) -+ else() -+ add_dependencies(${TARGET} ${ARGN}) -+ endif() - - # - # Arrange for marge_archives.cmake script to be executed in a POST_BUILD -@@ -314,7 +318,7 @@ function(merge_libraries TARGET) - --target ${TARGET}-deps - --config $ - -- -- /nologo /v:q /filelogger /flp:Verbosity=q /flp:ShowCommandLine -+ /nologo /v:q /filelogger /flp:Verbosity=m /flp:ShowCommandLine - /flp:LogFile=\"${log_file}.STATIC\" - - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} -diff --git a/install_layout.cmake b/install_layout.cmake -index 5730ce4..e6514ac 100644 ---- a/install_layout.cmake -+++ b/install_layout.cmake -@@ -177,7 +177,7 @@ set(LIB_NAME_BASE "mysqlcppconn${CONCPP_VERSION_MAJOR}") - set(LIB_NAME_STATIC "${LIB_NAME_BASE}-static") - - if(WIN32 AND STATIC_MSVCRT) -- set(LIB_NAME_STATIC "${LIB_NAME}-mt") -+ set(LIB_NAME_STATIC "${LIB_NAME_STATIC}-mt") - endif() - - if(BUILD_STATIC) diff --git a/ports/mysql-connector-cpp/lib-name-static.diff b/ports/mysql-connector-cpp/lib-name-static.diff new file mode 100644 index 00000000000000..f3fec0aaf30c59 --- /dev/null +++ b/ports/mysql-connector-cpp/lib-name-static.diff @@ -0,0 +1,26 @@ +diff --git a/install_layout.cmake b/install_layout.cmake +index 4a8a511..ee091da 100644 +--- a/install_layout.cmake ++++ b/install_layout.cmake +@@ -219,7 +219,7 @@ set(LIB_NAME_BASE "mysqlcppconnx") + set(LIB_NAME_STATIC "${LIB_NAME_BASE}-static") + + if(WIN32 AND STATIC_MSVCRT) +- set(LIB_NAME_STATIC "${LIB_NAME}-mt") ++ set(LIB_NAME_STATIC "${LIB_NAME_STATIC}-mt") + endif() + + if(BUILD_STATIC) +diff --git a/jdbc/install_layout.cmake b/jdbc/install_layout.cmake +index e9e15a5..a4f7dc0 100644 +--- a/jdbc/install_layout.cmake ++++ b/jdbc/install_layout.cmake +@@ -91,7 +91,7 @@ set(LIB_NAME_BASE "mysqlcppconn") + set(LIB_NAME_STATIC "${LIB_NAME_BASE}-static") + + if(WIN32 AND STATIC_MSVCRT) +- set(LIB_NAME_STATIC "${LIB_NAME}-mt") ++ set(LIB_NAME_STATIC "${LIB_NAME_STATIC}-mt") + endif() + + if(BUILD_STATIC) diff --git a/ports/mysql-connector-cpp/merge-archives.diff b/ports/mysql-connector-cpp/merge-archives.diff new file mode 100644 index 00000000000000..fe9dc2cc433ac1 --- /dev/null +++ b/ports/mysql-connector-cpp/merge-archives.diff @@ -0,0 +1,25 @@ +diff --git a/cmake/libutils/merge_archives.cmake.in b/cmake/libutils/merge_archives.cmake.in +index 33094a6..5b256c6 100644 +--- a/cmake/libutils/merge_archives.cmake.in ++++ b/cmake/libutils/merge_archives.cmake.in +@@ -299,7 +299,7 @@ function(merge_libraries_gcc) + + get_filename_component(name "${lib}" NAME_WE) + # Make sure path is absolute +- get_filename_component(lib "${lib}" ABSOLUTE) ++ get_filename_component(lib "${lib}" ABSOLUTE BASE_DIR "@PROJECT_BINARY_DIR@") + + #message("-- processing lib: ${name} (${lib})") + +@@ -564,6 +564,11 @@ function(process_deps) + # ninja, for example. + + get_filename_component(libpath "${lib}" ABSOLUTE BASE_DIR "${BUILD_DIR}") ++ string(FIND "${libpath}/" "@PROJECT_BINARY_DIR@/" index) ++ if(NOT index STREQUAL "0") ++ message( "! Omitting ${lib}") ++ continue() ++ endif() + + if( + lib MATCHES "${libext}$" diff --git a/ports/mysql-connector-cpp/mysql-concpp-config.cmake b/ports/mysql-connector-cpp/mysql-concpp-config.cmake new file mode 100644 index 00000000000000..4ad08da69a4c52 --- /dev/null +++ b/ports/mysql-connector-cpp/mysql-concpp-config.cmake @@ -0,0 +1,17 @@ +# Partial reimplementation of official interface +include(CMakeFindDependencyMacro) +find_dependency(unofficial-mysql-connector-cpp) +set(suffix "") +if("@BUILD_STATIC@") + set(suffix "-static") +endif() +if(NOT TARGET mysql::concpp-xdevapi${suffix}) + add_library(mysql::concpp${suffix} ALIAS unofficial::mysql-connector-cpp::connector) + add_library(mysql::concpp-xdevapi${suffix} ALIAS unofficial::mysql-connector-cpp::connector) + if(TARGET unofficial::mysql-connector-cpp::connector-jdbc) + add_library(mysql::concpp-jdbc${suffix} ALIAS unofficial::mysql-connector-cpp::connector-jdbc) + endif() +endif() +set(MYSQL_CONCPP_FOUND 1) +set(MYSQL_CONCPP_VERSION "@VERSION@") +set(mysql-concpp_VERSION "@VERSION@") diff --git a/ports/mysql-connector-cpp/mysql-connector-cpp-config.cmake.in b/ports/mysql-connector-cpp/mysql-connector-cpp-config.cmake.in index 5d2e07e750ce71..076ddda8bc7a9d 100644 --- a/ports/mysql-connector-cpp/mysql-connector-cpp-config.cmake.in +++ b/ports/mysql-connector-cpp/mysql-connector-cpp-config.cmake.in @@ -1,8 +1,48 @@ @PACKAGE_INIT@ include(CMakeFindDependencyMacro) - -find_dependency(OpenSSL) +find_dependency(Protobuf CONFIG) +if(NOT "@BUILD_SHARED_LIBS@") + find_dependency(Threads) + find_dependency(OpenSSL) + find_dependency(RapidJSON CONFIG) + find_dependency(ZLIB) + find_dependency(lz4) + find_dependency(zstd) + if("@WITH_JDBC@") + find_dependency(unofficial-libmysql) + endif() +endif() include("${CMAKE_CURRENT_LIST_DIR}/unofficial-mysql-connector-cpp-targets.cmake") + +if(NOT UNOFFICIAL_MYSQL_CONNECTOR_CPP_INITIALIZED) + if(NOT "@BUILD_SHARED_LIBS@") + set_target_properties(unofficial::mysql-connector-cpp::connector PROPERTIES + INTERFACE_LINK_LIBRARIES "$;$;$;$;$;$;$" + ) + # Cf. mysql-concpp-config.cmake.in + if(WIN32) + set_property(TARGET unofficial::mysql-connector-cpp::connector APPEND PROPERTY INTERFACE_LINK_LIBRARIES "dnsapi") + elseif(NOT CMAKE_SYSTEM_NAME MATCHES "FreeBSD") + set_property(TARGET unofficial::mysql-connector-cpp::connector APPEND PROPERTY INTERFACE_LINK_LIBRARIES "resolv;dl") + endif() + if("@WITH_JDBC@") + set_target_properties(unofficial::mysql-connector-cpp::connector-jdbc PROPERTIES + INTERFACE_LINK_LIBRARIES "$" + ) + # Cf. jdbc/driver/CMakeLists.txt + if(WIN32) + set_property(TARGET unofficial::mysql-connector-cpp::connector-jdbc APPEND PROPERTY INTERFACE_LINK_LIBRARIES "dnsapi") + elseif(NOT CMAKE_SYSTEM_NAME MATCHES "FreeBSD") + set_property(TARGET unofficial::mysql-connector-cpp::connector-jdbc APPEND PROPERTY INTERFACE_LINK_LIBRARIES "resolv;dl") + endif() + endif() + endif() + set_property(TARGET unofficial::mysql-connector-cpp::connector APPEND PROPERTY + INTERFACE_LINK_LIBRARIES "$" + ) + set(UNOFFICIAL_MYSQL_CONNECTOR_CPP_INITIALIZED 1 CACHE INTERNAL "") +endif() + check_required_components(mysql-connector-cpp) diff --git a/ports/mysql-connector-cpp/portfile.cmake b/ports/mysql-connector-cpp/portfile.cmake index 7b2a2b8ff6293f..bc9ed713bcfd5d 100644 --- a/ports/mysql-connector-cpp/portfile.cmake +++ b/ports/mysql-connector-cpp/portfile.cmake @@ -2,60 +2,107 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mysql/mysql-connector-cpp REF "${VERSION}" - SHA512 b65c44ef05e3f6ec8613f7d09f6662fc1b4cce5fdf515dec43a20398605acc2555572b788a89b61d6ce835dab3f68183be6610750ae42a6be7d9c24c99ecaacf + SHA512 aa432822d4c9d7f1328bf59e261c362570f6b2237a5a9f730f96f079aba14bdc689f400ab2857c4cdd1dca025eb09eaaf2b26328f3b42d117f24b9182dc2cc0a HEAD_REF master PATCHES - fix-static-build8.patch + depfindprotobuf.diff + disable-telemetry.diff + dont-preload-cache.diff + lib-name-static.diff + merge-archives.diff + save-linker-opts.diff export-targets.patch - dependencies.patch + protobuf-source.patch # Disables upstream log event handling! +) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/mysql-connector-cpp-config.cmake.in" DESTINATION "${SOURCE_PATH}") +file(REMOVE_RECURSE + "${SOURCE_PATH}/cdk/extra/common" + "${SOURCE_PATH}/cdk/extra/exprtest" + "${SOURCE_PATH}/cdk/extra/lz4" + "${SOURCE_PATH}/cdk/extra/ngs_mockup" + "${SOURCE_PATH}/cdk/extra/process_launcher" + "${SOURCE_PATH}/cdk/extra/protobuf" + "${SOURCE_PATH}/cdk/extra/rapidjson" + "${SOURCE_PATH}/cdk/extra/zlib" + "${SOURCE_PATH}/cdk/extra/zstd" + "${SOURCE_PATH}/jdbc/extra/otel/opentelemetry-cpp-1.12.0" ) vcpkg_check_features( - OUT_FEATURE_OPTIONS FEATURE_OPTIONS + OUT_FEATURE_OPTIONS options FEATURES - jdbc WITH_JDBC + jdbc WITH_JDBC ) -file(COPY "${CMAKE_CURRENT_LIST_DIR}/mysql-connector-cpp-config.cmake.in" DESTINATION "${SOURCE_PATH}") +if(VCPKG_CROSSCOMPILING AND EXISTS "${CURRENT_HOST_INSTALLED_DIR}/manual-tools/${PORT}/save_linker_opts${VCPKG_HOST_EXECUTABLE_SUFFIX}") + vcpkg_list(APPEND options "-DWITH_SAVE_LINKER_OPTS=${CURRENT_HOST_INSTALLED_DIR}/manual-tools/${PORT}/save_linker_opts${VCPKG_HOST_EXECUTABLE_SUFFIX}") +endif() string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC) -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED_LIBS) string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" STATIC_MSVCRT) -# Use mysql-connector-cpp's own build process. +# Preparing to merge STATIC library: connector (xapi;devapi) +# CMake Error at cmake/libutils.cmake:297 (message): +# Sorry but building static connector on Windows using MSVC toolset works +# only with msbuild at the moment. +# Call Stack (most recent call first): +# CMakeLists.txt:413 (merge_libraries) +set(USE_MSBUILD_ARG) +if(BUILD_STATIC) + set(USE_MSBUILD_ARG WINDOWS_USE_MSBUILD) +endif() + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - WINDOWS_USE_MSBUILD + ${USE_MSBUILD_ARG} OPTIONS - "-DWITH_SSL=${CURRENT_INSTALLED_DIR}" - "-DWITH_LZ4=${CURRENT_INSTALLED_DIR}" - "-DWITH_ZLIB=${CURRENT_INSTALLED_DIR}" - "-DWITH_ZSTD=${CURRENT_INSTALLED_DIR}" - "-DWITH_PROTOBUF=${CURRENT_INSTALLED_DIR}" + ${options} + "-DCMAKE_PROJECT_INCLUDE=${CURRENT_PORT_DIR}/cmake-project-include.cmake" + "-DWITH_PROTOC=${CURRENT_HOST_INSTALLED_DIR}/tools/protobuf/protoc${VCPKG_HOST_EXECUTABLE_SUFFIX}" -DBUILD_STATIC=${BUILD_STATIC} + -DMYSQLCLIENT_STATIC_LINKING=${BUILD_STATIC} -DSTATIC_MSVCRT=${STATIC_MSVCRT} - -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} - -DWITH_JDBC=${WITH_JDBC} # the following variables are only used by jdbc - "-DMYSQL_INCLUDE_DIR=${CURRENT_INSTALLED_DIR}/include/mysql" - "-DMYSQL_LIB_DIR=${CURRENT_INSTALLED_DIR}" - "-DWITH_BOOST=${CURRENT_INSTALLED_DIR}" - MAYBE_UNUSED_VARIABLES # and they are windows only - MYSQL_INCLUDE_DIR - MYSQL_LIB_DIR - WITH_BOOST + -DINSTALL_LIB_DIR=lib + -DINSTALL_LIB_DIR_DEBUG=lib + -DINSTALL_LIB_DIR_STATIC=lib + -DINSTALL_LIB_DIR_STATIC_DEBUG=lib + -DTELEMETRY=OFF + -DWITH_DOC=OFF + -DWITH_HEADER_CHECKS=OFF + -DWITH_SSL=system + -DWITH_TESTS=OFF + MAYBE_UNUSED_VARIABLES + TELEMETRY ) vcpkg_cmake_install() - vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-mysql-connector-cpp) +configure_file("${CURRENT_PORT_DIR}/mysql-concpp-config.cmake" "${CURRENT_PACKAGES_DIR}/share/mysql-concpp/mysql-concpp-config.cmake" @ONLY) + +if(NOT VCPKG_CROSSCOMPILING AND EXISTS "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/libutils/save_linker_opts${VCPKG_TARGET_EXECUTABLE_SUFFIX}") + vcpkg_copy_tools(TOOL_NAMES save_linker_opts + SEARCH_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/libutils" + DESTINATION "${CURRENT_PACKAGES_DIR}/manual-tools/${PORT}" + ) +endif() + +if(BUILD_STATIC) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/mysqlx/common/api.h" "defined STATIC_CONCPP" "(1)") + if(WITH_JDBC) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/jdbc/cppconn/build_config.h" "ifdef STATIC_CONCPP" "if 1") + endif() +endif() -file(REMOVE +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/INFO_BIN" "${CURRENT_PACKAGES_DIR}/INFO_SRC" "${CURRENT_PACKAGES_DIR}/debug/INFO_BIN" "${CURRENT_PACKAGES_DIR}/debug/INFO_SRC" + "${CURRENT_PACKAGES_DIR}/mysql-concpp-config.cmake" + "${CURRENT_PACKAGES_DIR}/mysql-concpp-config-version.cmake" + "${CURRENT_PACKAGES_DIR}/debug/mysql-concpp-config.cmake" + "${CURRENT_PACKAGES_DIR}/debug/mysql-concpp-config-version.cmake" ) -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -# Handle copyright -file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/mysql-connector-cpp/protobuf-source.patch b/ports/mysql-connector-cpp/protobuf-source.patch new file mode 100644 index 00000000000000..4412dec7e1ae7a --- /dev/null +++ b/ports/mysql-connector-cpp/protobuf-source.patch @@ -0,0 +1,61 @@ +diff --git a/cdk/protocol/mysqlx/protocol.cc b/cdk/protocol/mysqlx/protocol.cc +index d4589c27..c61deca4 100644 +--- a/cdk/protocol/mysqlx/protocol.cc ++++ b/cdk/protocol/mysqlx/protocol.cc +@@ -117,18 +117,15 @@ namespace mysqlx { + Protobuf log handler initialization. + */ + +-static void log_handler(LogLevel level, const char* filename, int line, const std::string& message); + + #ifdef _WIN32 + BOOL CALLBACK log_handler_init(PINIT_ONCE, PVOID, PVOID*) + { +- SetLogHandler(&log_handler); + return TRUE; + } + #else + static void log_handler_init() + { +- SetLogHandler(log_handler); + } + #endif + +@@ -289,37 +286,6 @@ Message* mk_message(Protocol_side side, msg_type_t msg_type) + situation occurs in Protobuf (such as parsing error etc). + */ + +-static void log_handler( +- LogLevel level, const char* /*filename*/, int /*line*/, +- const std::string& message +-) +-{ +- switch(level) +- { +- case LOGLEVEL_FATAL: +- case LOGLEVEL_ERROR: +- /* +- With this code the error description is: +- +- MMM: Protobuf error (cdk:NNN) +- +- where MMM is the message and NNN is the protbuf error code. +- +- TODO: Change description to: +- +- Protobuf error: MMM (cdk:NNN) +- */ +- throw_error(cdkerrc::protobuf_error, message); +- +- case LOGLEVEL_WARNING: +- case LOGLEVEL_INFO: +- default: +- { +- // just ignore for now +- // TODO: this could be used for logging in the future +- } +- } +-} + + /* + Implementation of protobuf's ZeroCopyOutputStream which stores diff --git a/ports/mysql-connector-cpp/save-linker-opts.diff b/ports/mysql-connector-cpp/save-linker-opts.diff new file mode 100644 index 00000000000000..dbf8b1098d786c --- /dev/null +++ b/ports/mysql-connector-cpp/save-linker-opts.diff @@ -0,0 +1,24 @@ +diff --git a/cmake/libutils.cmake b/cmake/libutils.cmake +index 848b7cf..159145f 100644 +--- a/cmake/libutils.cmake ++++ b/cmake/libutils.cmake +@@ -236,8 +236,9 @@ function(merge_libraries TARGET) + # + + add_dependencies(${TARGET}-deps save_linker_opts) ++ set(WITH_SAVE_LINKER_OPTS "${LIBUTILS_BIN_DIR}/save_linker_opts" CACHE FILEPATH "") + set_target_properties(${TARGET}-deps PROPERTIES +- RULE_LAUNCH_LINK "${LIBUTILS_BIN_DIR}/save_linker_opts ${log_file}.STATIC " ++ RULE_LAUNCH_LINK "${WITH_SAVE_LINKER_OPTS} ${log_file}.STATIC " + ) + + # Arrange for ${TARGET}-deps to be built before ${TARGET} +@@ -255,7 +256,7 @@ function(merge_libraries TARGET) + # + + set_target_properties(${TARGET} PROPERTIES +- RULE_LAUNCH_LINK "${LIBUTILS_BIN_DIR}/save_linker_opts ${log_file}.SHARED " ++ RULE_LAUNCH_LINK "${WITH_SAVE_LINKER_OPTS} ${log_file}.SHARED " + ) + + else(NOT MSVC) diff --git a/ports/mysql-connector-cpp/vcpkg.json b/ports/mysql-connector-cpp/vcpkg.json index c52ad5b5b210eb..a793c96d6de6c4 100644 --- a/ports/mysql-connector-cpp/vcpkg.json +++ b/ports/mysql-connector-cpp/vcpkg.json @@ -1,15 +1,25 @@ { "name": "mysql-connector-cpp", - "version": "8.0.32", - "port-version": 1, + "version": "9.1.0", + "port-version": 3, "description": "This is a release of MySQL Connector/C++, the C++ interface for communicating with MySQL servers.", "homepage": "https://github.com/mysql/mysql-connector-cpp", "license": null, - "supports": "!uwp & !(windows & (arm | arm64))", + "supports": "!android & !uwp", "dependencies": [ "lz4", + { + "name": "mysql-connector-cpp", + "host": true, + "platform": "!windows | mingw" + }, "openssl", "protobuf", + { + "name": "protobuf", + "host": true + }, + "rapidjson", { "name": "vcpkg-cmake", "host": true @@ -23,7 +33,7 @@ ], "features": { "jdbc": { - "description": "Legacy JDBC support.", + "description": "Legacy C++ API based on the JDBC4 specification.", "supports": "static", "dependencies": [ "libmysql" diff --git a/ports/nameof/portfile.cmake b/ports/nameof/portfile.cmake index 098fbdea5917c8..2941cd3577219f 100644 --- a/ports/nameof/portfile.cmake +++ b/ports/nameof/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Neargye/nameof REF "v${VERSION}" - SHA512 2b0bad2a3309202bcd6e361c2f2d4a61b474359a6c2df0a8b9e1a6c9e077bbf0c0d18dc5b603ecb4f82cc1f74656aae51e52ece0f7049ac3f75b593f14542b93 + SHA512 88eff4fb9a137c388b39d67eb9e213ed93e6a553dd1295d5db04c6fbc254f6df3da8800de2e0675f574bb3f83ae05141f71efe30ccdd4601a42cf19adaea6e79 HEAD_REF master ) diff --git a/ports/nameof/vcpkg.json b/ports/nameof/vcpkg.json index 2192778699c6d2..dc85772a3df6df 100644 --- a/ports/nameof/vcpkg.json +++ b/ports/nameof/vcpkg.json @@ -1,6 +1,6 @@ { "name": "nameof", - "version": "0.10.3", + "version": "0.10.4", "description": "Nameof operator for modern C++, simply obtain the name of a variable, type, function, macro, and enum.", "homepage": "https://github.com/Neargye/nameof", "license": "MIT", diff --git a/ports/nana/vcpkg.json b/ports/nana/vcpkg.json index 4fc982aa00ed6c..6984de0b4e16c3 100644 --- a/ports/nana/vcpkg.json +++ b/ports/nana/vcpkg.json @@ -1,9 +1,10 @@ { "name": "nana", "version": "1.7.4", - "port-version": 4, + "port-version": 5, "description": "Cross-platform library for GUI programming in modern C++ style.", "homepage": "https://github.com/cnjinhao/nana", + "supports": "!uwp", "dependencies": [ { "name": "fontconfig", diff --git a/ports/nanobind/portfile.cmake b/ports/nanobind/portfile.cmake new file mode 100644 index 00000000000000..4bde1872d4c2a6 --- /dev/null +++ b/ports/nanobind/portfile.cmake @@ -0,0 +1,25 @@ +# nanobind distributes source code to build on-demand. +# The source code is installed into the 'share/${PORT}' directory with +# subdirectories for source `src` and header `include` files +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +set(VCPKG_BUILD_TYPE release) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO wjakob/nanobind + REF "v${VERSION}" + SHA512 e47c2eab39fc507f5cb1b73f76a2eb9a6d475b56b3628e8372296ed7381844aed56ba7b59fb765651e660688be2762d094ec9368beb70201091f01d27a549a3a + HEAD_REF master +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DNB_USE_SUBMODULE_DEPS:BOOL=OFF + -DNB_TEST:BOOL=OFF +) + +vcpkg_cmake_install() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/nanobind/usage b/ports/nanobind/usage new file mode 100644 index 00000000000000..81a3259d31375d --- /dev/null +++ b/ports/nanobind/usage @@ -0,0 +1,8 @@ +The package nanobind provides CMake functions and source code rather than +libraries: + + find_package(nanobind REQUIRED) + nanobind_add_module(my_ext source.cpp) + + # See docs for more configuration options + # https://nanobind.readthedocs.io/en/latest/api_cmake.html diff --git a/ports/nanobind/vcpkg.json b/ports/nanobind/vcpkg.json new file mode 100644 index 00000000000000..bc794789b0b8a2 --- /dev/null +++ b/ports/nanobind/vcpkg.json @@ -0,0 +1,15 @@ +{ + "name": "nanobind", + "version-semver": "2.2.0", + "description": "Tiny and efficient C++/Python bindings", + "homepage": "https://nanobind.readthedocs.io/en/latest/", + "license": "BSD-3-Clause", + "dependencies": [ + "python3", + "robin-map", + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/ports/nanodbc/vcpkg.json b/ports/nanodbc/vcpkg.json index 3afcedb0e52644..296e352833afa4 100644 --- a/ports/nanodbc/vcpkg.json +++ b/ports/nanodbc/vcpkg.json @@ -1,9 +1,10 @@ { "name": "nanodbc", "version": "2.13.0", - "port-version": 7, + "port-version": 8, "description": "A small C++ wrapper for the native C ODBC API.", "homepage": "https://github.com/nanodbc/nanodbc", + "supports": "!uwp", "dependencies": [ { "name": "unixodbc", diff --git a/ports/nanoflann/portfile.cmake b/ports/nanoflann/portfile.cmake index 4ac280eb6a8a4f..933588d401a941 100644 --- a/ports/nanoflann/portfile.cmake +++ b/ports/nanoflann/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO jlblancoc/nanoflann REF "v${VERSION}" - SHA512 2248eed37872737c1f3c031e65d2f892024e35aa81ccf14cf8222289cfe12b5ca3fe461749e060ff822ca9e40dd9cb918216468c1343a42305f7adf780888c50 + SHA512 484f5e17a2d9e7e37c57d52dcb963fb62840ed9aae2da48c4d9ee65bb32cb9b93e77bc4e5e6609f0ae4581462fa7ab20e50064325b460c65585243f956523807 HEAD_REF master ) @@ -14,7 +14,7 @@ vcpkg_cmake_configure( ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH "share/${PORT}/cmake") +vcpkg_cmake_config_fixup(CONFIG_PATH "share/cmake/${PORT}") vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/nanoflann/vcpkg.json b/ports/nanoflann/vcpkg.json index b256753c725d88..76df05733fe705 100644 --- a/ports/nanoflann/vcpkg.json +++ b/ports/nanoflann/vcpkg.json @@ -1,6 +1,6 @@ { "name": "nanoflann", - "version": "1.5.0", + "version": "1.6.3", "description": "nanoflann is a C++11 header-only library for building KD-Trees of datasets with different topologies: R2, R3 (point clouds), SO(2) and SO(3) (2D and 3D rotation groups).", "homepage": "https://github.com/jlblancoc/nanoflann", "license": "BSD-3-Clause", diff --git a/ports/nanojsonc/portfile.cmake b/ports/nanojsonc/portfile.cmake new file mode 100644 index 00000000000000..a5e1b1aba3a0d7 --- /dev/null +++ b/ports/nanojsonc/portfile.cmake @@ -0,0 +1,19 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO open-source-patterns/nanojsonc + REF "${VERSION}" + SHA512 4cb73a0dc42bc6dbc106ed7bf7d22dbbadf3d92d2055d4b96990b62822978c09e580a87ca1666cf0b915b994fada6a1f6b803eb98d8da6b021a0a2c410d538ff + HEAD_REF main +) + +vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_TESTS=OFF) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup() # removes /debug/share +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # removes debug/include + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") # Install License +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") # Install Usage diff --git a/ports/nanojsonc/usage b/ports/nanojsonc/usage new file mode 100644 index 00000000000000..6e1e2c3ae9ecf6 --- /dev/null +++ b/ports/nanojsonc/usage @@ -0,0 +1,4 @@ +The package nanojsonc provides CMake targets: + + find_package(nanojsonc CONFIG REQUIRED) + target_link_libraries(main PRIVATE nanojsonc::nanojsonc) diff --git a/ports/nanojsonc/vcpkg.json b/ports/nanojsonc/vcpkg.json new file mode 100644 index 00000000000000..48109cd78fa874 --- /dev/null +++ b/ports/nanojsonc/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "nanojsonc", + "version": "1.1.0", + "maintainers": "Saad Shams", + "description": "Event-Driven JSON Parser for C", + "homepage": "https://github.com/open-source-patterns/nanojsonc", + "license": "BSD-3-Clause", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/nanomsg/portfile.cmake b/ports/nanomsg/portfile.cmake index 8ae77273c5ce19..5797a04f90940d 100644 --- a/ports/nanomsg/portfile.cmake +++ b/ports/nanomsg/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO nanomsg/nanomsg - REF 1.2 - SHA512 377b3a0b4be6d6decd2711ff84ac1855ae0a298e7557dbe4b7d881c2a76f4e521671b47987b924c434afdad7ff1dfebb50982c8c0afca9b44682c898510d4c92 + REF "${VERSION}" + SHA512 cc119acafe6e000b75299e866b4bace56ec6d8c90e7843ad773efad7b534296d6baf2b75b107c70a0e4fd4cee9763315d87b6f354676b7915732961b89c3adcb HEAD_REF master ) @@ -53,8 +53,9 @@ endif() if(VCPKG_LIBRARY_LINKAGE STREQUAL "static" OR NOT VCPKG_TARGET_IS_WINDOWS) vcpkg_replace_string( ${CURRENT_PACKAGES_DIR}/share/${PORT}/nanomsg-config.cmake - "set_and_check(nanomsg_BINDIR \${PACKAGE_PREFIX_DIR}/bin)" + "set_and_check(nanomsg_BINDIR \${VCPKG_IMPORT_PREFIX}/bin)" "" + IGNORE_UNCHANGED ) endif() diff --git a/ports/nanomsg/vcpkg.json b/ports/nanomsg/vcpkg.json index d8c8ea4c2449e4..40f61f42affff4 100644 --- a/ports/nanomsg/vcpkg.json +++ b/ports/nanomsg/vcpkg.json @@ -1,7 +1,7 @@ { "name": "nanomsg", - "version-semver": "1.2.0", - "port-version": 1, + "version-semver": "1.2.1", + "port-version": 2, "description": [ "A simple high-performance implementation of several \"scalability protocols\".", "These scalability protocols are light-weight messaging protocols which can be used to solve a number of very common messaging patterns, such as request/reply, publish/subscribe, surveyor/respondent, and so forth. These protocols can run over a variety of transports such as TCP, UNIX sockets, and even WebSocket." diff --git a/ports/nanopb/fix-cmakelist-and-pb-header.patch b/ports/nanopb/fix-cmakelist-and-pb-header.patch deleted file mode 100644 index 366fa23205773d..00000000000000 --- a/ports/nanopb/fix-cmakelist-and-pb-header.patch +++ /dev/null @@ -1,49 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 8d241c5..4a3d31e 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -14,11 +14,6 @@ option(nanopb_BUILD_RUNTIME "Build the headers and libraries needed at runtime" - option(nanopb_BUILD_GENERATOR "Build the protoc plugin for code generation" ON) - option(nanopb_MSVC_STATIC_RUNTIME "Link static runtime libraries" ON) - --find_program(nanopb_PROTOC_PATH protoc HINTS generator-bin generator) --if(NOT EXISTS ${nanopb_PROTOC_PATH}) -- message(FATAL_ERROR "protoc compiler not found") --endif() -- - if(NOT DEFINED CMAKE_DEBUG_POSTFIX) - set(CMAKE_DEBUG_POSTFIX "d") - endif() -@@ -39,7 +34,6 @@ if(NOT DEFINED CMAKE_INSTALL_CMAKEDIR) - set(CMAKE_INSTALL_CMAKEDIR "${CMAKE_INSTALL_LIBDIR}/cmake/nanopb") - endif() - --find_package(Python REQUIRED COMPONENTS Interpreter) - execute_process( - COMMAND ${Python_EXECUTABLE} -c - "import os.path, sys, sysconfig; print(os.path.relpath(sysconfig.get_path('purelib'), start=sys.prefix))" -@@ -49,7 +43,9 @@ execute_process( - - if(nanopb_BUILD_GENERATOR) - set(generator_protos nanopb) -- -+ if(NOT DEFINED nanopb_PROTOC_PATH) -+ message(FATAL_ERROR "nanopb_PROTOC_PATH not defined") -+ endif() - foreach(generator_proto IN LISTS generator_protos) - string(REGEX REPLACE "([^;]+)" "${PROJECT_SOURCE_DIR}/generator/proto/\\1.proto" generator_proto_file "${generator_proto}") - string(REGEX REPLACE "([^;]+)" "\\1_pb2.py" generator_proto_py_file "${generator_proto}") -diff --git a/pb.h b/pb.h -index 5b3e1ef..693262b 100644 ---- a/pb.h -+++ b/pb.h -@@ -170,6 +170,9 @@ extern "C" { - # if defined(__ICCARM__) - /* IAR has static_assert keyword but no _Static_assert */ - # define PB_STATIC_ASSERT(COND,MSG) static_assert(COND,#MSG); -+# elif defined(_MSC_VER) -+ /* MSVC has static_assert keyword but no _Static_assert */ -+# define PB_STATIC_ASSERT(COND,MSG) static_assert(COND,#MSG); - # elif defined(PB_C99_STATIC_ASSERT) - /* Classic negative-size-array static assert mechanism */ - # define PB_STATIC_ASSERT(COND,MSG) typedef char PB_STATIC_ASSERT_MSG(MSG, __LINE__, __COUNTER__)[(COND)?1:-1]; diff --git a/ports/nanopb/fix-cmakelist.patch b/ports/nanopb/fix-cmakelist.patch new file mode 100644 index 00000000000000..99bebfe57c66b4 --- /dev/null +++ b/ports/nanopb/fix-cmakelist.patch @@ -0,0 +1,63 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 301501d..c7e8e42 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -16,12 +16,6 @@ option(nanopb_MSVC_STATIC_RUNTIME "Link static runtime libraries" ON) + + set(nanopb_PYTHON_INSTDIR_OVERRIDE "" CACHE PATH "Override the default python installation directory with the given path") + +-find_program(nanopb_PROTOC_PATH protoc PATHS generator-bin generator NO_DEFAULT_PATH) +-find_program(nanopb_PROTOC_PATH protoc) +-if(NOT EXISTS ${nanopb_PROTOC_PATH}) +- message(FATAL_ERROR "protoc compiler not found") +-endif() +- + if(NOT DEFINED CMAKE_DEBUG_POSTFIX) + set(CMAKE_DEBUG_POSTFIX "d") + endif() +@@ -44,7 +38,6 @@ endif() + + # Determine Python module installation path + if (NOT nanopb_PYTHON_INSTDIR_OVERRIDE) +- find_package(Python REQUIRED COMPONENTS Interpreter) + file(TO_CMAKE_PATH "${Python_SITELIB}" PYTHON_INSTDIR) + else() + set(PYTHON_INSTDIR ${nanopb_PYTHON_INSTDIR_OVERRIDE}) +@@ -54,6 +47,10 @@ message(STATUS "Python install dir: ${PYTHON_INSTDIR}") + # Package nanopb generator as Python module 'nanopb' + if(nanopb_BUILD_GENERATOR) + # Copy Python code files related to the generator ++ if(NOT EXISTS ${nanopb_PROTOC_PATH}) ++ message(FATAL_ERROR "protoc compiler not found") ++ endif() ++ + add_custom_target(nanopb_generator ALL + COMMAND ${CMAKE_COMMAND} -E make_directory + ${PROJECT_BINARY_DIR}/nanopb/generator/proto +@@ -83,24 +80,14 @@ if(nanopb_BUILD_GENERATOR) + + # Install Python module files + install( +- DIRECTORY ${PROJECT_BINARY_DIR}/nanopb +- DESTINATION ${PYTHON_INSTDIR} ++ DIRECTORY ${PROJECT_BINARY_DIR}/nanopb/generator ++ DESTINATION ${CMAKE_INSTALL_BINDIR} + FILES_MATCHING + PATTERN *.py + PATTERN *.proto + PATTERN __pycache__ EXCLUDE + ) + +- # Generate a wrapper script that calls nanopb.generator Python module when invoked +- configure_file( +- extra/script_wrappers/nanopb_generator.py.in +- ${PROJECT_BINARY_DIR}/nanopb_generator.py +- ) +- install( +- PROGRAMS ${PROJECT_BINARY_DIR}/nanopb_generator.py +- DESTINATION ${CMAKE_INSTALL_BINDIR} +- ) +- + # Install shell/bat script wrappers for invoking nanopb_generator.py. + # protoc-gen-nanopb is automatically used by protoc when --nanopb_out= option is used. + if(WIN32) diff --git a/ports/nanopb/fix-install-location.patch b/ports/nanopb/fix-install-location.patch deleted file mode 100644 index 9fd1c93c4f1e4a..00000000000000 --- a/ports/nanopb/fix-install-location.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 4a3d31e..82611ef 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -58,12 +58,15 @@ if(nanopb_BUILD_GENERATOR) - install( - FILES ${PROJECT_BINARY_DIR}/${generator_proto_py_file} - ${generator_proto_file} -- DESTINATION ${PYTHON_INSTDIR}/proto/ -+ DESTINATION ${CMAKE_INSTALL_BINDIR}/proto/ - ) - endforeach() - - install( FILES generator/proto/_utils.py -- DESTINATION ${PYTHON_INSTDIR}/proto/ ) -+ DESTINATION ${CMAKE_INSTALL_BINDIR}/proto/ ) -+ -+ install( FILES generator/proto/__init__.py -+ DESTINATION ${CMAKE_INSTALL_BINDIR}/proto/ ) - endif() - - if(WIN32) diff --git a/ports/nanopb/portfile.cmake b/ports/nanopb/portfile.cmake index 006deb809b3f54..efbe880b12a085 100644 --- a/ports/nanopb/portfile.cmake +++ b/ports/nanopb/portfile.cmake @@ -3,12 +3,11 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO nanopb/nanopb - REF 0.4.7 - SHA512 7fb46dad8a432898c8f9e7faa90a55276670dea3b13f15b68010fe126d7f6251ef5715d0dfe5bce66582e80cfdc5d4b1e7f5947e96a058fa7181f0a45da20860 + REF ${VERSION} + SHA512 13b395e5bd5a356119a0139a5b3cb13aa821f9077a311714b88b71bd12b9b633f4158b09b5628eda39c90e52d3b78bf51314f16bc0e15621e43b09392049a284 HEAD_REF master PATCHES - fix-cmakelist-and-pb-header.patch - fix-install-location.patch + fix-cmakelist.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" nanopb_BUILD_STATIC_LIBS) @@ -32,6 +31,9 @@ vcpkg_cmake_configure( -Dnanopb_PROTOC_PATH="${CURRENT_HOST_INSTALLED_DIR}/tools/protobuf/protoc${VCPKG_HOST_EXECUTABLE_SUFFIX}" ${FEATURE_OPTIONS} -DCMAKE_INSTALL_DATADIR=share/${PORT} + MAYBE_UNUSED_VARIABLES + Python_EXECUTABLE + nanopb_PROTOC_PATH ) vcpkg_cmake_install() @@ -39,18 +41,19 @@ vcpkg_copy_pdbs() vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") - if(nanopb_BUILD_GENERATOR) - file(INSTALL "${CURRENT_PACKAGES_DIR}/bin/nanopb_generator.py" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") - if(WIN32) + file(INSTALL "${CURRENT_PACKAGES_DIR}/bin/generator/" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") + if(VCPKG_TARGET_IS_WINDOWS) + file(INSTALL "${CURRENT_PACKAGES_DIR}/bin/nanopb_generator.bat" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") file(INSTALL "${CURRENT_PACKAGES_DIR}/bin/protoc-gen-nanopb.bat" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") - file(INSTALL "${CURRENT_PACKAGES_DIR}/bin/proto/" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}/proto") else() + file(INSTALL "${CURRENT_PACKAGES_DIR}/bin/nanopb_generator" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") file(INSTALL "${CURRENT_PACKAGES_DIR}/bin/protoc-gen-nanopb" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") endif() endif() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") + if(nanopb_BUILD_STATIC_LIBS) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") endif() diff --git a/ports/nanopb/vcpkg.json b/ports/nanopb/vcpkg.json index f63e2203284f0e..c366165d61d04a 100644 --- a/ports/nanopb/vcpkg.json +++ b/ports/nanopb/vcpkg.json @@ -1,7 +1,6 @@ { "name": "nanopb", - "version-semver": "0.4.7", - "port-version": 2, + "version-semver": "0.4.9", "description": "A small code-size Protocol Buffers implementation in ANSI C.", "homepage": "https://jpa.kapsi.fi/nanopb/", "license": "Zlib", diff --git a/ports/nanoprintf/portfile.cmake b/ports/nanoprintf/portfile.cmake index 6cbda191cd86e2..dbb06e02dcebb3 100644 --- a/ports/nanoprintf/portfile.cmake +++ b/ports/nanoprintf/portfile.cmake @@ -3,7 +3,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO charlesnicholson/nanoprintf REF "v${VERSION}" - SHA512 a82da24fcd176c385c8c2d1666416bcbafc3bf3e1b9e1365c8ffd7a0158485c7af6b0dbf7cd0821a7af55238784cd682a0f22fe37527b91ea3f3eaa702c61c46 + SHA512 4b0dffdbb0dc98b5e48b6f0d1d8a39407899a1601a47a4688879c6d47398c65bbe11ae4a06f70ee66d5c600ca0fad859cd11359be906181c722479555ec05ae1 HEAD_REF master ) diff --git a/ports/nanoprintf/vcpkg.json b/ports/nanoprintf/vcpkg.json index 7ed266d05662d4..e25cdfb95b1d6d 100644 --- a/ports/nanoprintf/vcpkg.json +++ b/ports/nanoprintf/vcpkg.json @@ -1,6 +1,6 @@ { "name": "nanoprintf", - "version": "0.3.4", + "version": "0.5.3", "description": "A tiny embeddable printf replacement written in C99", "homepage": "https://github.com/charlesnicholson/nanoprintf" } diff --git a/ports/nanosvg/portfile.cmake b/ports/nanosvg/portfile.cmake index 2769bed5a619d9..b60d3ec9fb8643 100644 --- a/ports/nanosvg/portfile.cmake +++ b/ports/nanosvg/portfile.cmake @@ -1,18 +1,21 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO memononen/nanosvg - REF 9da543e8329fdd81b64eb48742d8ccb09377aed1 - SHA512 9c91df8ac67dbd1a920d5287c6d267c6163d28b6ff75899452ca49097bbe881655799d4b003e667422062d0b7e6aa6bd6bf4c3d941d0301cbc23c6459d8d25d7 + REF 93ce879dc4c04a3ef1758428ec80083c38610b1f + SHA512 14ecaf11efd2f0b983847ded557557a2919cc04fc5e9748118cc0bd33fccae2688afc0dc182ebb8c0deb4b599c697f140185644a087c702fba1e6368f5a5b89c HEAD_REF master - PATCHES fltk.patch # from fltk/nanosvg + PATCHES + fltk.patch # from fltk/nanosvg ) vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}") vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/NanoSVG PACKAGE_NAME NanoSVG) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/NanoSVG) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/nanosvg/vcpkg.json b/ports/nanosvg/vcpkg.json index c2fe5fcd2f08a1..55256afef61490 100644 --- a/ports/nanosvg/vcpkg.json +++ b/ports/nanosvg/vcpkg.json @@ -1,7 +1,7 @@ { "name": "nanosvg", - "version-date": "2022-12-04", - "description": "NanoSVG is a simple stupid single-header-file SVG parse. The output of the parser is a list of cubic bezier shapes..", + "version-date": "2023-12-29", + "description": "NanoSVG is a simple stupid single-header-file SVG parser. It is accompanied by a simple SVG rasterizer.", "homepage": "https://github.com/memononen/nanosvg", "license": "Zlib", "dependencies": [ diff --git a/ports/nativefiledialog-extended/portfile.cmake b/ports/nativefiledialog-extended/portfile.cmake new file mode 100644 index 00000000000000..4cbbb584143f13 --- /dev/null +++ b/ports/nativefiledialog-extended/portfile.cmake @@ -0,0 +1,23 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO btzy/nativefiledialog-extended + REF v${VERSION} + SHA512 4ec3e174a90354c524d9be2776422740f80b73021df94e1942e60ab4310995245554f83097b9b2dcca04d016a8548d3fc0760f73daf724c5c3d72c15cf776bed + HEAD_REF master +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DNFD_BUILD_TESTS=OFF + -DNFD_PORTAL=ON +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(PACKAGE_NAME nfd CONFIG_PATH lib/cmake/nfd) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_copy_pdbs() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/nativefiledialog-extended/vcpkg.json b/ports/nativefiledialog-extended/vcpkg.json new file mode 100644 index 00000000000000..10735c77831a62 --- /dev/null +++ b/ports/nativefiledialog-extended/vcpkg.json @@ -0,0 +1,22 @@ +{ + "name": "nativefiledialog-extended", + "version": "1.2.1", + "description": "Native File Dialog Extended", + "homepage": "https://github.com/btzy/nativefiledialog-extended", + "license": "Zlib", + "supports": "!android & !ios & !uwp", + "dependencies": [ + { + "name": "dbus", + "platform": "!osx & !windows" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/nativefiledialog/CMakeLists.txt b/ports/nativefiledialog/CMakeLists.txt deleted file mode 100644 index 30c9814b1851e8..00000000000000 --- a/ports/nativefiledialog/CMakeLists.txt +++ /dev/null @@ -1,69 +0,0 @@ -cmake_minimum_required(VERSION 3.14) - -project(nfd LANGUAGES C) - -include(GNUInstallDirs) - -option(NFD_GTK_BACKEND "Using GTK backend" ON) - -file(GLOB nfd_sources - "${PROJECT_SOURCE_DIR}/src/*.h" - "${PROJECT_SOURCE_DIR}/src/include/*.h" - "${PROJECT_SOURCE_DIR}/src/nfd_common.c" -) - -if (WIN32) - enable_language(CXX) - list(APPEND nfd_sources "${PROJECT_SOURCE_DIR}/src/nfd_win.cpp") -elseif (${CMAKE_SYSTEM_NAME} MATCHES "Linux") - if (NFD_GTK_BACKEND) - find_package(GTK3 QUIET) - if (GTK3_FOUND) - list(APPEND nfd_sources "${PROJECT_SOURCE_DIR}/src/nfd_gtk.c") - else () - list(APPEND nfd_sources "${PROJECT_SOURCE_DIR}/src/nfd_zenity.c") - endif () - else () - list(APPEND nfd_sources "${PROJECT_SOURCE_DIR}/src/nfd_zenity.c") - endif () -elseif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") - list(APPEND nfd_sources "${PROJECT_SOURCE_DIR}/src/nfd_cocoa.m") -endif () - -add_library(nfd ${nfd_sources}) - -set_target_properties( - nfd - PROPERTIES - DEBUG_POSTFIX "_d" - PUBLIC_HEADER ${CMAKE_CURRENT_LIST_DIR}/src/include/nfd.h -) - -target_compile_definitions( - nfd - PRIVATE - $<$:_CRT_SECURE_NO_WARNINGS> -) - -target_include_directories(nfd PRIVATE - $) - -target_include_directories(nfd INTERFACE - $) - -if (GTK3_FOUND) - target_include_directories(nfd PUBLIC ${GTK3_INCLUDE_DIRS}) - target_link_libraries(nfd PUBLIC ${GTK3_LIBRARIES}) -endif () - -install(TARGETS nfd EXPORT unofficial-nativefiledialog-config) - -install( - EXPORT unofficial-nativefiledialog-config - NAMESPACE unofficial::nativefiledialog:: - DESTINATION share/unofficial-nativefiledialog - PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ -) diff --git a/ports/nativefiledialog/portfile.cmake b/ports/nativefiledialog/portfile.cmake deleted file mode 100644 index 5b4bf0e1887514..00000000000000 --- a/ports/nativefiledialog/portfile.cmake +++ /dev/null @@ -1,37 +0,0 @@ -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - message(FATAL_ERROR "${PORT} does not currently support UWP") -endif() - -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO mlabbe/nativefiledialog - REF 67345b80ebb429ecc2aeda94c478b3bcc5f7888e - SHA512 55edb3730b718b18d4fee7ec9bb479794d0e193ff13f05f26cbcf9ff44c43adb93e228ed7fd708e30c08476366f098bf69139031a84f5e4d6a85eba096fe4654 - HEAD_REF master -) - -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) - -vcpkg_check_features( - OUT_FEATURE_OPTIONS FEATURE_OPTIONS - INVERTED_FEATURES "zenity" NFD_GTK_BACKEND -) - -vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - ${FEATURE_OPTIONS} -) - -vcpkg_cmake_install() - -vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-${PORT} CONFIG_PATH share/unofficial-${PORT}) -vcpkg_fixup_pkgconfig() - -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") - -# Handle copyright -configure_file("${SOURCE_PATH}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) diff --git a/ports/nativefiledialog/vcpkg.json b/ports/nativefiledialog/vcpkg.json deleted file mode 100644 index e78d27349ef89d..00000000000000 --- a/ports/nativefiledialog/vcpkg.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "nativefiledialog", - "version-date": "2022-01-20", - "description": "A tiny, neat C library that portably invokes native file open and save dialogs", - "homepage": "https://github.com/mlabbe/nativefiledialog", - "supports": "!uwp", - "dependencies": [ - { - "name": "vcpkg-cmake", - "host": true - }, - { - "name": "vcpkg-cmake-config", - "host": true - } - ], - "features": { - "zenity": { - "description": "Using Zenity backend on Linux" - } - } -} diff --git a/ports/nayuki-qr-code-generator/vcpkg.json b/ports/nayuki-qr-code-generator/vcpkg.json index f268eccaab050e..960fa947a45c79 100644 --- a/ports/nayuki-qr-code-generator/vcpkg.json +++ b/ports/nayuki-qr-code-generator/vcpkg.json @@ -1,8 +1,10 @@ { "name": "nayuki-qr-code-generator", "version": "1.8.0", + "port-version": 1, "description": "High-quality QR Code generator library in C++", "homepage": "https://github.com/nayuki/QR-Code-generator", + "license": "MIT", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/ncnn/fix_uwp.patch b/ports/ncnn/fix_uwp.patch new file mode 100644 index 00000000000000..d678464aeaa3dc --- /dev/null +++ b/ports/ncnn/fix_uwp.patch @@ -0,0 +1,42 @@ +diff --git a/src/cpu.cpp b/src/cpu.cpp +index e56cd67..3ca1189 100644 +--- a/src/cpu.cpp ++++ b/src/cpu.cpp +@@ -184,6 +184,13 @@ static int g_cpu_is_arm_a53_a55; + #endif // defined __ANDROID__ || defined __linux__ + + #if defined _WIN32 ++#if WINAPI_FAMILY == WINAPI_FAMILY_APP ++static int detectisa(const void* /*some_inst*/) ++{ ++ // uwp does not support seh :( ++ return 0; ++} ++#else // WINAPI_FAMILY == WINAPI_FAMILY_APP + static int g_sigill_caught = 0; + static jmp_buf g_jmpbuf; + +@@ -213,6 +220,7 @@ static int detectisa(const void* some_inst) + + return g_sigill_caught ? 0 : 1; + } ++#endif // WINAPI_FAMILY == WINAPI_FAMILY_APP + + #if defined(__i386__) || defined(__x86_64__) || defined(_M_IX86) || defined(_M_X64) + #ifdef _MSC_VER +@@ -1966,12 +1974,12 @@ static void initialize_global_cpu_info() + + #if defined _WIN32 + #if __arm__ +- g_cpu_support_arm_neon = detectisa(some_neon); ++ g_cpu_support_arm_neon = 1; // all modern windows arm devices have neon + g_cpu_support_arm_vfpv4 = detectisa(some_vfpv4); + #if __aarch64__ + g_cpu_support_arm_cpuid = detectisa(some_cpuid); +- g_cpu_support_arm_asimdhp = detectisa(some_asimdhp); +- g_cpu_support_arm_asimddp = detectisa(some_asimddp); ++ g_cpu_support_arm_asimdhp = detectisa(some_asimdhp) || IsProcessorFeaturePresent(43); // dp implies hp ++ g_cpu_support_arm_asimddp = detectisa(some_asimddp) || IsProcessorFeaturePresent(43); // 43 is PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLE + g_cpu_support_arm_asimdfhm = detectisa(some_asimdfhm); + g_cpu_support_arm_bf16 = detectisa(some_bf16); + g_cpu_support_arm_i8mm = detectisa(some_i8mm); diff --git a/ports/ncnn/portfile.cmake b/ports/ncnn/portfile.cmake index dff1fe35f7ee9d..40000fcc82aec1 100644 --- a/ports/ncnn/portfile.cmake +++ b/ports/ncnn/portfile.cmake @@ -1,16 +1,25 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Tencent/ncnn - REF 20221128 - SHA512 589e52b63eabfac1f8e47acc34bef6a87ce365851a5c4d551665c321938a2d8e622ab211babac38771695b9f4443516577ba1634409a55c2436498a7d28d8218 + REF "${VERSION}" + SHA512 31bc3c2f461a00241fb8f69ca6ea8cc590af6618856b1b84a048bde924e4b474fd883ad5d54dbfbdd1e5b59015889e15ffc4fbafccb3e42e052a02071f2017b1 HEAD_REF master + PATCHES + fix_uwp.patch #https://github.com/Tencent/ncnn/pull/5328 ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED) +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + vulkan NCNN_VULKAN + vulkan NCNN_SYSTEM_GLSLANG +) + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS + ${FEATURE_OPTIONS} -DNCNN_BUILD_TOOLS=OFF -DNCNN_BUILD_EXAMPLES=OFF -DNCNN_BUILD_BENCHMARK=OFF @@ -26,4 +35,4 @@ vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/ncnn/vcpkg.json b/ports/ncnn/vcpkg.json index 13b14a6036dc82..3369007843b65d 100644 --- a/ports/ncnn/vcpkg.json +++ b/ports/ncnn/vcpkg.json @@ -1,6 +1,7 @@ { "name": "ncnn", - "version": "20221128", + "version": "20240102", + "port-version": 1, "description": "ncnn is a high-performance neural network inference computing framework.", "homepage": "https://github.com/Tencent/ncnn", "license": "BSD-3-Clause", @@ -14,5 +15,14 @@ "name": "vcpkg-cmake-config", "host": true } - ] + ], + "features": { + "vulkan": { + "description": "Enable Vulkan support", + "dependencies": [ + "glslang", + "vulkan" + ] + } + } } diff --git a/ports/ncurses/portfile.cmake b/ports/ncurses/portfile.cmake index 820c55afa125c2..f1bf3887df8815 100644 --- a/ports/ncurses/portfile.cmake +++ b/ports/ncurses/portfile.cmake @@ -63,4 +63,4 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/ncurses/usage b/ports/ncurses/usage index e82f435588f013..ff8bc2d610de76 100644 --- a/ports/ncurses/usage +++ b/ports/ncurses/usage @@ -2,6 +2,6 @@ The package ncurses is compatible with built-in CMake variables: set(CURSES_NEED_NCURSES TRUE) find_package(Curses REQUIRED) - target_include_directories(main ${CURSES_INCLUDE_DIRS}) - target_compile_options(main ${CURSES_CFLAGS}) + target_include_directories(main PRIVATE ${CURSES_INCLUDE_DIRS}) + target_compile_options(main PRIVATE ${CURSES_CFLAGS}) target_link_libraries(main PRIVATE ${CURSES_LIBRARIES}) diff --git a/ports/ncurses/vcpkg.json b/ports/ncurses/vcpkg.json index edda15ccfd7867..f1c28604b9e9af 100644 --- a/ports/ncurses/vcpkg.json +++ b/ports/ncurses/vcpkg.json @@ -1,7 +1,7 @@ { "name": "ncurses", "version": "6.4", - "port-version": 1, + "port-version": 2, "description": "Free software emulation of curses in System V Release 4.0, and more", "homepage": "https://invisible-island.net/ncurses/announce.html", "license": "MIT", diff --git a/ports/neargye-semver/portfile.cmake b/ports/neargye-semver/portfile.cmake index adb905b935e689..c2e79987db7e3e 100644 --- a/ports/neargye-semver/portfile.cmake +++ b/ports/neargye-semver/portfile.cmake @@ -1,13 +1,23 @@ -# header-only library +set(VCPKG_BUILD_TYPE release) # header-only port vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Neargye/semver - REF v0.3.0 - SHA512 b620a27d31ca2361e243e4def890ddfc4dfb65a507187c918fabc332d48c420fb10b0e6fb38c83c4c3998a047201e81b70a164c66675351cf4ff9475defc6287 + REF v${VERSION} + SHA512 4757043fe7395d8167fccaf1c1ef91cc321348e21cd5503a05af8cfa57b93d256071f80527545ebc48aad572a90ffb2ad80b613d913b4c3ec7efe0b197c6c669 HEAD_REF master ) -file(COPY "${SOURCE_PATH}/include/semver.hpp" DESTINATION "${CURRENT_PACKAGES_DIR}/include/neargye") +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DSEMVER_OPT_INSTALL=ON + -DSEMVER_OPT_BUILD_EXAMPLES=OFF + -DSEMVER_OPT_BUILD_TESTS=OFF +) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME semver CONFIG_PATH "lib/cmake/semver") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") # empty; rm for vcpkg validity checks -configure_file("${SOURCE_PATH}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) diff --git a/ports/neargye-semver/vcpkg.json b/ports/neargye-semver/vcpkg.json index ddf0a79f6ec1af..d2255e66ed7fca 100644 --- a/ports/neargye-semver/vcpkg.json +++ b/ports/neargye-semver/vcpkg.json @@ -1,8 +1,17 @@ { "name": "neargye-semver", - "version": "0.3.0", - "port-version": 1, + "version": "0.3.1", "description": "C++17 header-only dependency-free versioning library complying with Semantic Versioning 2.0.0", "homepage": "https://github.com/Neargye/semver", - "license": "MIT" + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/ned14-internal-quickcpplib/portfile.cmake b/ports/ned14-internal-quickcpplib/portfile.cmake index 284afcc32abac7..d71d3b8d8a4870 100644 --- a/ports/ned14-internal-quickcpplib/portfile.cmake +++ b/ports/ned14-internal-quickcpplib/portfile.cmake @@ -39,16 +39,6 @@ vcpkg_from_github( quicklib-depheaders.patch ) -# Quickcpplib deploys subsets of the dependency headers into a private subdirectory -if (NOT QUICKCPPLIB_REQUIRE_CXX17) - file(COPY "${CURRENT_INSTALLED_DIR}/include/nonstd/byte.hpp" - DESTINATION "${SOURCE_PATH}/include/quickcpplib/byte/include/nonstd") -endif() -if (NOT QUICKCPPLIB_REQUIRE_CXX20) - file(COPY "${CURRENT_INSTALLED_DIR}/include/nonstd/span.hpp" - DESTINATION "${SOURCE_PATH}/include/quickcpplib/span-lite/include/nonstd") -endif() - vcpkg_from_github( OUT_SOURCE_PATH OPT_SOURCE_PATH REPO akrzemi1/Optional @@ -66,7 +56,9 @@ set(VCPKG_BUILD_TYPE release) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DPROJECT_IS_DEPENDENCY=On + -Dquickcpplib_IS_DEPENDENCY=ON + -DQUICKCPPLIB_USE_SYSTEM_BYTE_LITE=ON + -DQUICKCPPLIB_USE_SYSTEM_SPAN_LITE=ON -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=ON "-DCMAKE_INSTALL_DATADIR=${CURRENT_PACKAGES_DIR}/share/ned14-internal-quickcpplib" @@ -77,20 +69,6 @@ vcpkg_cmake_configure( vcpkg_cmake_install() -if (QUICKCPPLIB_REQUIRE_CXX17) - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/quickcpplib/byte.hpp" "#if QUICKCPPLIB_USE_STD_BYTE" "#if 1") -else () - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/quickcpplib/byte.hpp" "#if QUICKCPPLIB_USE_STD_BYTE" "#if 0") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/quickcpplib/byte.hpp" "#include \"byte/include/nonstd/byte.hpp\"" "#include ") -endif() -if (QUICKCPPLIB_REQUIRE_CXX20) - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/quickcpplib/span.hpp" "#ifdef QUICKCPPLIB_USE_STD_SPAN" "#if 1") -else () - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/quickcpplib/span.hpp" "#ifdef QUICKCPPLIB_USE_STD_SPAN" "#if 0") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/quickcpplib/span.hpp" "#elif(_HAS_CXX20 || __cplusplus >= 202002) && __has_include()" "#elif 0") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/quickcpplib/span.hpp" "#include \"span-lite/include/nonstd/span.hpp\"" "#include ") -endif() - vcpkg_cmake_config_fixup( PACKAGE_NAME quickcpplib CONFIG_PATH lib/cmake/quickcpplib diff --git a/ports/ned14-internal-quickcpplib/sha_manifest.cmake b/ports/ned14-internal-quickcpplib/sha_manifest.cmake index 019734d1001fb8..9048e6c24fa553 100644 --- a/ports/ned14-internal-quickcpplib/sha_manifest.cmake +++ b/ports/ned14-internal-quickcpplib/sha_manifest.cmake @@ -1,5 +1,5 @@ -set(QUICKCPPLIB_REF 79752ee52078003522dca492f98995b45d13d60c) -set(QUICKCPPLIB_SHA512 fa0a1d0d33ab7001e47974469f1437abe8fb273b6b576f7e1da6a8d583b33b3786236a31f43a36d9822ffe3c59d062a441f857f476d0bfe175cccc9b5fdf2593) +set(QUICKCPPLIB_REF 2af3839551eacd2152892d7197b27cd5b87deb38) +set(QUICKCPPLIB_SHA512 7e58a4bfc2a9e0e0c4e77c6f6c597724d4824ff1255562ffcf6c903d840bdb6fe40ba96a43782fdb3ca0eb7ba4d794166fb7d7d0f76060179991682b8ae9b3d6) set(OPTIONAL_REF 2b43315458a99fc5de1da6e7bc0ddd364b26d643) set(OPTIONAL_SHA512 1952386cd3c7b963861f9634055e1baa4181d398d6f1b068a8a3f411368432bdcd42e47aadfa856584ed9a7c724a1c83369243ccb653e650af5c9155b42a84f4) diff --git a/ports/ned14-internal-quickcpplib/vcpkg.json b/ports/ned14-internal-quickcpplib/vcpkg.json index 6dac12d9dd9642..b6e96e1a823719 100644 --- a/ports/ned14-internal-quickcpplib/vcpkg.json +++ b/ports/ned14-internal-quickcpplib/vcpkg.json @@ -1,6 +1,6 @@ { "name": "ned14-internal-quickcpplib", - "version-date": "2023-03-13", + "version-date": "2023-11-22", "maintainers": [ "Niall Douglas ", "Henrik Gaßmann " diff --git a/ports/neon2sse/portfile.cmake b/ports/neon2sse/portfile.cmake index 477e109a016913..0e7ce9d2003c4f 100644 --- a/ports/neon2sse/portfile.cmake +++ b/ports/neon2sse/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO intel/ARM_NEON_2_x86_SSE - REF a1652fd5253afbf3e39357b012974f93511f6108 - SHA512 9f8aa283e48eb3b615da3d89ec4165d1ec9599e8e181059c2b9acb2921ce753ce0f29b8c321d7d6661f10eb67e234c629df75853b87c4139a9bb137dbb3f4fc1 + REF eb8b80b28f956275e291ea04a7beb5ed8289e872 + SHA512 56aa1c886993b8ab0f5939acd53081e4d23373bab19858397a1a668e130a68423b521c4613f2db4e0f108fd2c9133a529575dba14e5e0046a3bb9f11f96ce2bf HEAD_REF master ) @@ -12,7 +12,8 @@ vcpkg_cmake_configure( vcpkg_cmake_install() vcpkg_cmake_config_fixup(PACKAGE_NAME NEON_2_SSE CONFIG_PATH lib/cmake/NEON_2_SSE) -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" "${CURRENT_PACKAGES_DIR}/lib" ) diff --git a/ports/neon2sse/vcpkg.json b/ports/neon2sse/vcpkg.json index c705b9ededdee8..3ff1f84113eb65 100644 --- a/ports/neon2sse/vcpkg.json +++ b/ports/neon2sse/vcpkg.json @@ -1,7 +1,7 @@ { "name": "neon2sse", - "version-date": "2021-09-16", - "description": "Open standard for machine learning interoperability", + "version-date": "2024-11-24", + "description": "The platform independent header allowing to compile any C/C++ code containing ARM NEON intrinsic functions for x86 target systems using SIMD up to AVX2 intrinsic functions", "homepage": "https://github.com/intel/ARM_NEON_2_x86_SSE", "dependencies": [ { diff --git a/ports/netcdf-c/fix-dependency-libmath.patch b/ports/netcdf-c/fix-dependency-libmath.patch index 7b9f6a541618c4..adbfc80ae4c718 100644 --- a/ports/netcdf-c/fix-dependency-libmath.patch +++ b/ports/netcdf-c/fix-dependency-libmath.patch @@ -2,12 +2,19 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt index c36908b..390ac0a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -944,7 +944,7 @@ OPTION(ENABLE_BYTERANGE "Enable byte-range access to remote datasets.." OFF) +@@ -944,6 +944,15 @@ OPTION(ENABLE_BYTERANGE "Enable byte-range access to remote datasets.." OFF) # Check for the math library so it can be explicitly linked. IF(NOT WIN32) -- FIND_LIBRARY(HAVE_LIBM NAMES math m libm) -+ FIND_LIBRARY(HAVE_LIBM NAMES m libm math) ++ block(SCOPE_FOR VARIABLES) ++ if(VCPKG_CRT_LINKAGE STREQUAL "static") ++ list(PREPEND CMAKE_FIND_LIBRARY_SUFFIXES "${CMAKE_STATIC_LIBRARY_SUFFIX}") ++ endif() ++ find_library(HAVE_LIBM_PATH m PATHS ${CMAKE_C_IMPLICIT_LINK_DIRECTORIES}) ++ if(HAVE_LIBM_PATH) ++ set(HAVE_LIBM m CACHE STRING "Math link library") ++ endif() ++ endblock() + FIND_LIBRARY(HAVE_LIBM NAMES math m libm) MESSAGE(STATUS "Found Math library: ${HAVE_LIBM}") IF(NOT HAVE_LIBM) - MESSAGE(FATAL_ERROR "Unable to find the math library.") diff --git a/ports/netcdf-c/vcpkg.json b/ports/netcdf-c/vcpkg.json index e358688880535a..bed76a2e0455f1 100644 --- a/ports/netcdf-c/vcpkg.json +++ b/ports/netcdf-c/vcpkg.json @@ -1,7 +1,7 @@ { "name": "netcdf-c", "version": "4.8.1", - "port-version": 4, + "port-version": 5, "description": "A set of self-describing, machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data.", "homepage": "https://github.com/Unidata/netcdf-c", "dependencies": [ diff --git a/ports/netcpp/portfile.cmake b/ports/netcpp/portfile.cmake new file mode 100644 index 00000000000000..088d95d33a3df2 --- /dev/null +++ b/ports/netcpp/portfile.cmake @@ -0,0 +1,33 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO index1207/netcpp + REF "v${VERSION}" + SHA512 5f0c7a9ad414b868c23cde4c16a605c2029631935b252b3faa4e485ec1efa3dbfe64fd0b068db8e018481b6ac83f819facc1db371470be42c6919fcf69005e17 + HEAD_REF release +) + +set(options -DNETCPP_TEST=OFF) + +vcpkg_find_acquire_program(PKGCONFIG) +list(APPEND options "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}") + +if ("${VCPKG_LIBRARY_LINKAGE}" STREQUAL "dynamic") + list(APPEND options -DNETCPP_BUILD_SHARED=ON) +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${options} + MAYBE_UNUSED_VARIABLES + PKG_CONFIG_EXECUTABLE +) + +vcpkg_cmake_install() +vcpkg_fixup_pkgconfig() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/netcpp PACKAGE_NAME netcpp) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) + +configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" COPYONLY) diff --git a/ports/netcpp/usage b/ports/netcpp/usage new file mode 100644 index 00000000000000..b199e5b6e6a545 --- /dev/null +++ b/ports/netcpp/usage @@ -0,0 +1,4 @@ +netcpp provides CMake targets: + + find_package(netcpp CONFIG REQUIRED) + target_link_libraries(main PRIVATE netcpp::netcpp) diff --git a/ports/netcpp/vcpkg.json b/ports/netcpp/vcpkg.json new file mode 100644 index 00000000000000..4d5bfc322b6b51 --- /dev/null +++ b/ports/netcpp/vcpkg.json @@ -0,0 +1,22 @@ +{ + "name": "netcpp", + "version": "0.5.0", + "description": "A simple asynchronous network library", + "homepage": "https://github.com/index1207/netcpp", + "license": "MIT", + "supports": "windows | linux", + "dependencies": [ + { + "name": "liburing", + "platform": "linux" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/netgen/142.diff b/ports/netgen/142.diff new file mode 100644 index 00000000000000..6e8fe2de1297d1 --- /dev/null +++ b/ports/netgen/142.diff @@ -0,0 +1,13 @@ +diff --git a/cmake/generate_version_file.cmake b/cmake/generate_version_file.cmake +index c4a579d1..c47b6039 100644 +--- a/cmake/generate_version_file.cmake ++++ b/cmake/generate_version_file.cmake +@@ -39,7 +39,7 @@ string(REGEX REPLACE "^v[0-9]+\\.[0-9]+\\.[0-9]+\\-[0-9]+\\-([0-9a-z]+).*" "\\1" + set(NETGEN_VERSION_SHORT ${NETGEN_VERSION_MAJOR}.${NETGEN_VERSION_MINOR}.${NETGEN_VERSION_PATCH}) + set(NETGEN_VERSION_LONG ${NETGEN_VERSION_SHORT}-${NETGEN_VERSION_TWEAK}-${NETGEN_VERSION_HASH}) + +-if(NETGEN_VERSION_TWEAK) ++if(NETGEN_VERSION_TWEAK AND NOT NETGEN_VERSION_TWEAK STREQUAL git_version_string) + # no release version - nightly build + set(NETGEN_VERSION ${NETGEN_VERSION_LONG}) + else() diff --git a/ports/netgen/add_filesystem.patch b/ports/netgen/add_filesystem.patch new file mode 100644 index 00000000000000..47f9c2ae257878 --- /dev/null +++ b/ports/netgen/add_filesystem.patch @@ -0,0 +1,12 @@ +diff --git a/libsrc/core/logging.hpp b/libsrc/core/logging.hpp +index adfed7e..d34d3e9 100644 +--- a/libsrc/core/logging.hpp ++++ b/libsrc/core/logging.hpp +@@ -6,6 +6,7 @@ + #include + #include + #include ++#include + + #include "exception.hpp" + #include "ngcore_api.hpp" diff --git a/ports/netgen/cgns-scoped-enum.patch b/ports/netgen/cgns-scoped-enum.patch new file mode 100644 index 00000000000000..3ea2db45169b8a --- /dev/null +++ b/ports/netgen/cgns-scoped-enum.patch @@ -0,0 +1,69 @@ +diff --git a/libsrc/interface/rw_cgns.cpp b/libsrc/interface/rw_cgns.cpp +index 096fbfdca..edf199cfd 100644 +--- a/libsrc/interface/rw_cgns.cpp ++++ b/libsrc/interface/rw_cgns.cpp +@@ -6,6 +6,37 @@ + + #include + ++//vcpkg builds cgns with scoped enumes. So the associcated types and values need to be correctly scoped. ++#define ElementType_t CGNS_ENUMT(ElementType_t) ++#define GridLocation_t CGNS_ENUMT(GridLocation_t) ++#define PointSetType_t CGNS_ENUMT(PointSetType_t) ++#define DataType_t CGNS_ENUMT(DataType_t) ++#define ZoneType_t CGNS_ENUMT(ZoneType_t) ++#define Unstructured CGNS_ENUMV(Unstructured) ++#define RealDouble CGNS_ENUMV(RealDouble) ++#define MIXED CGNS_ENUMV(MIXED) ++#define EdgeCenter CGNS_ENUMV(EdgeCenter) ++#define KFaceCenter CGNS_ENUMV(KFaceCenter) ++#define JFaceCenter CGNS_ENUMV(JFaceCenter) ++#define IFaceCenter CGNS_ENUMV(IFaceCenter) ++#define FaceCenter CGNS_ENUMV(FaceCenter) ++#define CellCenter CGNS_ENUMV(CellCenter) ++#define Vertex CGNS_ENUMV(Vertex) ++#define BAR_2 CGNS_ENUMV(BAR_2) ++#define BAR_3 CGNS_ENUMV(BAR_3) ++#define TRI_3 CGNS_ENUMV(TRI_3) ++#define TRI_6 CGNS_ENUMV(TRI_6) ++#define QUAD_4 CGNS_ENUMV(QUAD_4) ++#define QUAD_8 CGNS_ENUMV(QUAD_8) ++#define TETRA_4 CGNS_ENUMV(TETRA_4) ++#define TETRA_10 CGNS_ENUMV(TETRA_10) ++#define PYRA_5 CGNS_ENUMV(PYRA_5) ++#define PYRA_13 CGNS_ENUMV(PYRA_13) ++#define HEXA_8 CGNS_ENUMV(HEXA_8) ++#define HEXA_20 CGNS_ENUMV(HEXA_20) ++#define PENTA_6 CGNS_ENUMV(PENTA_6) ++#define PENTA_15 CGNS_ENUMV(PENTA_15) ++ + namespace netgen::cg + { + typedef ngcore::ClosedHashTable, size_t> PointTable; +@@ -215,7 +246,7 @@ namespace netgen::cg + if(codim==2) name += mesh.GetCD2Name(index); + + int ne = 0; +- Array data; ++ Array data; + + if(dim==3) + for(const auto el : mesh.VolumeElements()) +@@ -333,7 +364,7 @@ namespace netgen::cg + ZoneType_t zone_type; + int fn, base, zone; + int first_index_1d, first_index_2d, first_index_3d; +- int nv=0, ne_1d=0, ne_2d=0, ne_3d=0; ++ cgsize_t nv=0, ne_1d=0, ne_2d=0, ne_3d=0; + + Array names_1d, names_2d, names_3d; + +@@ -643,7 +674,7 @@ namespace netgen + int n_vertices = 0; + for (auto zi : Range(1, nzones+1)) + { +- int size[3]; ++ cgsize_t size[3]; + char name[100]; + cg_zone_read(fn,base,zi, name, size); + n_vertices += size[0]; diff --git a/ports/netgen/cmake-adjustments.patch b/ports/netgen/cmake-adjustments.patch new file mode 100644 index 00000000000000..0683f567cb4ca7 --- /dev/null +++ b/ports/netgen/cmake-adjustments.patch @@ -0,0 +1,14 @@ +diff --git a/libsrc/core/CMakeLists.txt b/libsrc/core/CMakeLists.txt +index c4f4795..cd5ad50 100644 +--- a/libsrc/core/CMakeLists.txt ++++ b/libsrc/core/CMakeLists.txt +@@ -28,8 +28,7 @@ endif(USE_PYTHON) + + if(WIN32) + target_compile_options(ngcore PUBLIC /bigobj /MP /W1 /wd4068) +- get_WIN32_WINNT(ver) +- target_compile_definitions(ngcore PUBLIC _WIN32_WINNT=${ver} WNT WNT_WINDOW NOMINMAX MSVC_EXPRESS _CRT_SECURE_NO_WARNINGS HAVE_STRUCT_TIMESPEC WIN32) ++ target_compile_definitions(ngcore PUBLIC WNT WNT_WINDOW NOMINMAX MSVC_EXPRESS _CRT_SECURE_NO_WARNINGS HAVE_STRUCT_TIMESPEC WIN32) + target_link_options(ngcore PUBLIC /ignore:4273 /ignore:4217 /ignore:4049) + endif(WIN32) + diff --git a/ports/netgen/cross-build.patch b/ports/netgen/cross-build.patch new file mode 100644 index 00000000000000..10c4aa9c92805a --- /dev/null +++ b/ports/netgen/cross-build.patch @@ -0,0 +1,64 @@ +diff --git a/libsrc/core/exception.cpp b/libsrc/core/exception.cpp +index 9c99a138..2d5a1ede 100644 +--- a/libsrc/core/exception.cpp ++++ b/libsrc/core/exception.cpp +@@ -36,7 +36,7 @@ namespace ngcore + + + // ********* STUFF FOR GETBACKTRACE *************************** +-#if defined __GNUC__ && !defined __EMSCRIPTEN__ ++#if defined __GNUC__ && !defined __EMSCRIPTEN__ && !defined __ANDROID__ + + #include + #include +diff --git a/libsrc/core/simd.hpp b/libsrc/core/simd.hpp +index d5a6341f..5f07a6d3 100644 +--- a/libsrc/core/simd.hpp ++++ b/libsrc/core/simd.hpp +@@ -28,7 +28,7 @@ + #include "simd_avx512.hpp" + #endif + +-#ifdef __aarch64__ ++#if defined __aarch64__ && !defined __ANDROID__ + #include "simd_arm64.hpp" + #endif + +diff --git a/libsrc/core/utils.hpp b/libsrc/core/utils.hpp +index 79d919c0..1318debf 100644 +--- a/libsrc/core/utils.hpp ++++ b/libsrc/core/utils.hpp +@@ -74,7 +74,7 @@ namespace ngcore + #elif defined(__EMSCRIPTEN__) + return std::chrono::high_resolution_clock::now().time_since_epoch().count(); + #else +-#warning "Unsupported CPU architecture" ++#pragma message ( "Unsupported CPU architecture" ) + return 0; + #endif + } +diff --git a/rules/CMakeLists.txt b/rules/CMakeLists.txt +index 2c281ca3..e2982f28 100644 +--- a/rules/CMakeLists.txt ++++ b/rules/CMakeLists.txt +@@ -1,14 +1,14 @@ + # this file is included from the parent directory (otherwise generated source files are not recognized properly by cmake) + + # generate .cpp files containing the string of the .rls meshing rule files +-if(EMSCRIPTEN) +- add_custom_command(OUTPUT makerls +- COMMAND g++ ${CMAKE_CURRENT_SOURCE_DIR}/rules/makerlsfile.cpp -o ${CMAKE_CURRENT_BINARY_DIR}/makerls +- ) +- set(rules_command ${CMAKE_BINARY_DIR}/makerls) +-else(EMSCRIPTEN) ++if(MAKERLS_EXECUTABLE) ++ add_executable(makerls IMPORTED) ++ set_target_properties(makerls PROPERTIES IMPORTED_LOCATION "${MAKERLS_EXECUTABLE}") ++ set(rules_command makerls) ++else() + add_executable(makerls rules/makerlsfile.cpp) + set(rules_command makerls) ++ install(TARGETS makerls DESTINATION ${NG_INSTALL_DIR} COMPONENT netgen) + endif() + + set(rules diff --git a/ports/netgen/downstream-fixes.patch b/ports/netgen/downstream-fixes.patch new file mode 100644 index 00000000000000..d570ec874211bb --- /dev/null +++ b/ports/netgen/downstream-fixes.patch @@ -0,0 +1,25 @@ +diff --git a/libsrc/stlgeom/stltopology.hpp b/libsrc/stlgeom/stltopology.hpp +index 2a3822f70..a14dc5bda 100644 +--- a/libsrc/stlgeom/stltopology.hpp ++++ b/libsrc/stlgeom/stltopology.hpp +@@ -350,7 +350,7 @@ public: + int GetNP() const { return points.Size(); } + int AddPoint(const Point<3> & p) { points.Append(p); return points.Size(); } + const Point<3> & GetPoint(STLPointId nr) const { return points[nr]; } // .Get(nr); } ++ DLL_HEADER int GetPointNum (const Point<3> & p); +- int GetPointNum (const Point<3> & p); + void SetPoint(STLPointId nr, const Point<3> & p) { points[nr] = p; } // { points.Elem(nr) = p; } + auto & GetPoints() const { return points; } + +diff --git a/nglib/nglib.cpp b/nglib/nglib.cpp +index ee25f3814..c8fe35cb2 100644 +--- a/nglib/nglib.cpp ++++ b/nglib/nglib.cpp +@@ -619,6 +619,7 @@ namespace nglib + } + */ + geo->AddEdges(readedges); ++ readedges.SetSize(0); + } + + if (geo->GetStatus() == STLTopology::STL_GOOD || geo->GetStatus() == STLTopology::STL_WARNING) return NG_OK; diff --git a/ports/netgen/git-ver.patch b/ports/netgen/git-ver.patch new file mode 100644 index 00000000000000..710b6d60c7db4c --- /dev/null +++ b/ports/netgen/git-ver.patch @@ -0,0 +1,14 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6e9f4cc..bf92061 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -430,7 +430,8 @@ endif (USE_MPEG) + ####################################################################### + add_custom_target(ng_generate_version_file + ${CMAKE_COMMAND} +- -DBDIR=${CMAKE_CURRENT_BINARY_DIR} ++ -DBDIR=${CMAKE_CURRENT_BINARY_DIR} ++ -DNETGEN_VERSION_GIT=${NETGEN_VERSION_GIT} + -P ${CMAKE_CURRENT_LIST_DIR}/cmake/generate_version_file.cmake + ) + ####################################################################### diff --git a/ports/netgen/occ-78.patch b/ports/netgen/occ-78.patch new file mode 100644 index 00000000000000..ba67919387c183 --- /dev/null +++ b/ports/netgen/occ-78.patch @@ -0,0 +1,160 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0846f39bd..f7516afa4 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -372,25 +372,20 @@ if (USE_OCC) + TKGeomAlgo + TKGeomBase + TKHLR +- TKIGES + TKLCAF + TKMath + TKMesh + TKOffset + TKPrim +- TKSTEP +- TKSTEP209 +- TKSTEPAttr +- TKSTEPBase +- TKSTL ++ TKDESTL + TKService + TKShHealing + TKTopAlgo + TKV3d + TKVCAF + TKXCAF +- TKXDEIGES +- TKXDESTEP ++ TKDEIGES ++ TKDESTEP + TKXSBase + TKernel + ) +diff --git a/libsrc/occ/Partition_Loop3d.hxx b/libsrc/occ/Partition_Loop3d.hxx +index e1716691c..e8a434911 100644 +--- a/libsrc/occ/Partition_Loop3d.hxx ++++ b/libsrc/occ/Partition_Loop3d.hxx +@@ -10,27 +10,16 @@ + #ifndef _Partition_Loop3d_HeaderFile + #define _Partition_Loop3d_HeaderFile + +-#ifndef _TopTools_ListOfShape_HeaderFile +-#include +-#endif +-#ifndef _TopTools_IndexedDataMapOfShapeListOfShape_HeaderFile +-#include +-#endif +-#ifndef _Standard_Boolean_HeaderFile ++#include + #include +-#endif +-#ifndef _Standard_Real_HeaderFile + #include +-#endif +-#ifndef _Standard_Version_HeaderFile +-#include +-#endif ++#include ++#include + +-#if OCC_VERSION_HEX < 0x070000 ++#if OCC_VERSION_HEX < 0x070000 || OCC_VERSION_HEX > 0x070799 + #else + #include + #include +- #include + #endif + + class TopoDS_Shape; +@@ -38,6 +27,8 @@ class TopoDS_Shape; + #if OCC_VERSION_HEX < 0x070000 + class TopTools_ListOfShape; + class TopTools_MapOfOrientedShape; ++#else ++#include + #endif + + class TopoDS_Edge; +diff --git a/libsrc/occ/occ_edge.cpp b/libsrc/occ/occ_edge.cpp +index 0c907d78b..fd64c9a42 100644 +--- a/libsrc/occ/occ_edge.cpp ++++ b/libsrc/occ/occ_edge.cpp +@@ -55,7 +55,11 @@ namespace netgen + + size_t OCCEdge::GetHash() const + { ++#if OCC_VERSION_HEX < 0x070800 + return edge.HashCode(std::numeric_limits::max()); ++#else ++ return std::hash{}(edge); ++#endif + } + + void OCCEdge::ProjectPoint(Point<3>& p, EdgePointGeomInfo* gi) const +diff --git a/libsrc/occ/occ_face.cpp b/libsrc/occ/occ_face.cpp +index 239982aa8..ea4dd15b4 100644 +--- a/libsrc/occ/occ_face.cpp ++++ b/libsrc/occ/occ_face.cpp +@@ -32,7 +32,11 @@ namespace netgen + + size_t OCCFace::GetHash() const + { ++#if OCC_VERSION_HEX < 0x070800 + return face.HashCode(std::numeric_limits::max()); ++#else ++ return std::hash{}(face); ++#endif + } + + Point<3> OCCFace::GetCenter() const +diff --git a/libsrc/occ/occ_solid.hpp b/libsrc/occ/occ_solid.hpp +index d598de4a2..66f28d73a 100644 +--- a/libsrc/occ/occ_solid.hpp ++++ b/libsrc/occ/occ_solid.hpp +@@ -16,8 +16,11 @@ namespace netgen + OCCSolid(TopoDS_Shape dshape) + : solid(TopoDS::Solid(dshape)) + { } +- ++#if OCC_VERSION_HEX < 0x070800 + size_t GetHash() const override { return solid.HashCode(std::numeric_limits::max()); } ++#else ++ size_t GetHash() const override { return std::hash{}(solid); } ++#endif + }; + } + +diff --git a/libsrc/occ/occ_vertex.cpp b/libsrc/occ/occ_vertex.cpp +index 6e83c8944..be8e38732 100644 +--- a/libsrc/occ/occ_vertex.cpp ++++ b/libsrc/occ/occ_vertex.cpp +@@ -19,6 +19,10 @@ namespace netgen + + size_t OCCVertex::GetHash() const + { ++#if OCC_VERSION_HEX < 0x070800 + return vertex.HashCode(std::numeric_limits::max()); ++#else ++ return std::hash{}(vertex); ++#endif + } + } +diff --git a/libsrc/occ/occgeom.cpp b/libsrc/occ/occgeom.cpp +index bc0383f99..826134ba0 100644 +--- a/libsrc/occ/occgeom.cpp ++++ b/libsrc/occ/occgeom.cpp +@@ -1716,9 +1716,13 @@ namespace netgen + /* + // enumerate shapes and archive only integers + auto my_hash = [](const TopoDS_Shape & key) { ++#if OCC_VERSION_HEX < 0x070800 + auto occ_hash = key.HashCode(1<<31UL); + return std::hash()(occ_hash); ++#else ++ return std::hash{}(key); ++#endif + }; + */ + TopTools_IndexedMapOfShape shape_map; + Array shape_list; diff --git a/ports/netgen/portfile.cmake b/ports/netgen/portfile.cmake new file mode 100644 index 00000000000000..da7b16fd9cdbce --- /dev/null +++ b/ports/netgen/portfile.cmake @@ -0,0 +1,108 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO NGSolve/netgen + REF v${VERSION} + SHA512 82095c51f2486d9f2a59d8fd696e305096ef63df5c40fef1fd95a8e8c3eb3735f7be29929105e588b8c1b6d6941d1e4c05f7f09e0d1c866c1105d5c1c064f932 + HEAD_REF master + PATCHES + git-ver.patch + static-exports.patch + cmake-adjustments.patch + vcpkg-fix-cgns-link.patch + cgns-scoped-enum.patch + downstream-fixes.patch + add_filesystem.patch + occ-78.patch + 142.diff + cross-build.patch +) + +set(OPTIONS "") +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + list(APPEND OPTIONS + "-DNGLIB_LIBRARY_TYPE=STATIC" + "-DNGCORE_LIBRARY_TYPE=STATIC" + "-DNGGUI_LIBRARY_TYPE=STATIC" + ) + string(APPEND VCPKG_C_FLAGS " -DNGSTATIC_BUILD") + string(APPEND VCPKG_CXX_FLAGS " -DNGSTATIC_BUILD") +endif() + +if(VCPKG_CROSSCOMPILING) + list(APPEND OPTIONS "-DMAKERLS_EXECUTABLE=${CURRENT_HOST_INSTALLED_DIR}/tools/${PORT}/makerls${VCPKG_HOST_EXECUTABLE_SUFFIX}") +endif() + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + python USE_PYTHON + cgns USE_CGNS + mpeg USE_MPEG + jpeg USE_JPEG + occ USE_OCC +) + +vcpkg_cmake_configure( + DISABLE_PARALLEL_CONFIGURE + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${OPTIONS} + ${FEATURE_OPTIONS} + -DUSE_SPDLOG=OFF # will be vendored otherwise + -DUSE_GUI=OFF + -DPREFER_SYSTEM_PYBIND11=ON + -DENABLE_UNIT_TESTS=OFF + -DUSE_NATIVE_ARCH=OFF + -DUSE_MPI=OFF + -DUSE_SUPERBUILD=OFF + -DNETGEN_VERSION_GIT=v${VERSION} # this variable is patched in via git-ver.patch + -DNG_INSTALL_DIR_CMAKE=lib/cmake/netgen + -DNG_INSTALL_DIR_BIN=bin + -DNG_INSTALL_DIR_LIB=lib + -DNG_INSTALL_DIR_RES=share + -DNG_INSTALL_DIR_INCLUDE=include + -DNG_INSTALL_DIR_PYTHON=${PYTHON3_SITE} + -DSKBUILD=ON +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/netgen) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") + +if(NOT VCPKG_CROSSCOMPILING) + vcpkg_copy_tools(TOOL_NAMES makerls AUTO_CLEAN) +endif() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") +endif() + +if(USE_OCC) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/nglib.h" "define NGLIB\n" "define NGLIB\n#define OCCGEOMETRY\n") +endif() +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/nglib.h" "defined(NGSTATIC_BUILD)" "1") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/core/ngcore_api.hpp" "!defined(NGSTATIC_BUILD)" "0") +endif() + +set(config_file "${CURRENT_PACKAGES_DIR}/share/netgen/NetgenConfig.cmake") +file(READ "${config_file}" contents) +string(REPLACE "${SOURCE_PATH}" "NOT-USABLE" contents "${contents}") +string(REPLACE [[${NETGEN_CMAKE_DIR}/../../..]] [[${NETGEN_CMAKE_DIR}/../..]] contents "${contents}") +string(REPLACE [[lib/cmake/netgen]] [[share/netgen]] contents "${contents}") +string(REPLACE [[$:]] [[$<$>:]] contents "${contents}") +if(NOT VCPKG_BUILD_TYPE) + string(REPLACE [[/lib/]] [[$<$:/debug>/lib/]] contents "${contents}") + string(REPLACE [[optimized;${VCPKG_IMPORT_PREFIX}$<$:/debug>/lib/]] [[optimized;${VCPKG_IMPORT_PREFIX}/lib/]] contents "${contents}") + string(REPLACE [[debug;${VCPKG_IMPORT_PREFIX}/debug$<$:/debug>/lib/]] [[debug;${VCPKG_IMPORT_PREFIX}/debug/lib/]] contents "${contents}") +endif() +file(WRITE "${config_file}" "${contents}") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +if("python" IN_LIST FEATURES) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/${PYTHON3_SITE}/netgen/config.py" "CMAKE_INSTALL_PREFIX = \"${CURRENT_PACKAGES_DIR}" "CMAKE_INSTALL_PREFIX_NOT_USABLE = \"") + if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/${PYTHON3_SITE}/netgen/config.py" "CMAKE_INSTALL_PREFIX = \"${CURRENT_PACKAGES_DIR}" "CMAKE_INSTALL_PREFIX_NOT_USABLE = \"") + endif() +endif() diff --git a/ports/netgen/static-exports.patch b/ports/netgen/static-exports.patch new file mode 100644 index 00000000000000..452f14cfe58945 --- /dev/null +++ b/ports/netgen/static-exports.patch @@ -0,0 +1,38 @@ +diff --git a/libsrc/core/ngcore_api.hpp b/libsrc/core/ngcore_api.hpp +index e66e9b8..4ecaa05 100644 +--- a/libsrc/core/ngcore_api.hpp ++++ b/libsrc/core/ngcore_api.hpp +@@ -35,8 +35,13 @@ + + + #ifdef WIN32 ++#if !defined(NGSTATIC_BUILD) + #define NGCORE_API_EXPORT __declspec(dllexport) + #define NGCORE_API_IMPORT __declspec(dllimport) ++#else ++ #define NGCORE_API_EXPORT ++ #define NGCORE_API_IMPORT ++#endif + #else + #define NGCORE_API_EXPORT __attribute__((visibility("default"))) + #define NGCORE_API_IMPORT __attribute__((visibility("default"))) +diff --git a/nglib/nglib.h b/nglib/nglib.h +index f8c745a..e4587d2 100644 +--- a/nglib/nglib.h ++++ b/nglib/nglib.h +@@ -26,11 +26,15 @@ + // Philippose - 14.02.2009 + // Modifications for creating a DLL in Windows + #ifdef WIN32 ++ #if defined(NGSTATIC_BUILD) ++ #define NGLIB_API ++ #else + #ifdef nglib_EXPORTS + #define NGLIB_API __declspec(dllexport) + #else + #define NGLIB_API __declspec(dllimport) + #endif ++ #endif + #else + #define NGLIB_API __attribute__((visibility("default"))) + #endif diff --git a/ports/netgen/vcpkg-fix-cgns-link.patch b/ports/netgen/vcpkg-fix-cgns-link.patch new file mode 100644 index 00000000000000..e3fbc22d68e1f9 --- /dev/null +++ b/ports/netgen/vcpkg-fix-cgns-link.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index bf92061..933505d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -500,7 +500,7 @@ endif(ENABLE_CPP_CORE_GUIDELINES_CHECK) + + add_library(netgen_cgns INTERFACE) + if(USE_CGNS) +- find_library( CGNS_LIBRARY NAMES cgns cgnsdll ) ++ find_library( CGNS_LIBRARY NAMES cgnsdll cgns) + find_path( CGNS_INCLUDE_DIR cgnslib.h ) + target_compile_definitions(netgen_cgns INTERFACE NG_CGNS) + target_include_directories(netgen_cgns INTERFACE ${CGNS_INCLUDE_DIR}) diff --git a/ports/netgen/vcpkg.json b/ports/netgen/vcpkg.json new file mode 100644 index 00000000000000..af020132aabc2e --- /dev/null +++ b/ports/netgen/vcpkg.json @@ -0,0 +1,70 @@ +{ + "name": "netgen", + "version": "6.2.2401", + "port-version": 2, + "description": "NETGEN is an automatic 3d tetrahedral mesh generator. It accepts input from constructive solid geometry (CSG) or boundary representation (BRep) from STL file format. The connection to a geometry kernel allows the handling of IGES and STEP files. NETGEN contains modules for mesh optimization and hierarchical mesh refinement.", + "homepage": "https://ngsolve.org/", + "license": "LGPL-2.1-or-later", + "supports": "arm64 | x64", + "dependencies": [ + { + "name": "netgen", + "host": true, + "default-features": false + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "zlib" + ], + "features": { + "cgns": { + "description": "CGNS file read/write support", + "dependencies": [ + { + "name": "cgns", + "default-features": false + } + ] + }, + "jpeg": { + "description": "enable snapshots using library libjpeg", + "dependencies": [ + "libjpeg-turbo" + ] + }, + "mpeg": { + "description": "enable video recording with FFmpeg", + "dependencies": [ + { + "name": "ffmpeg", + "default-features": false, + "features": [ + "avcodec" + ] + } + ] + }, + "occ": { + "description": "build with OpenCascade geometry kernel interface", + "dependencies": [ + { + "name": "opencascade", + "default-features": false + } + ] + }, + "python": { + "description": "Build python bindings", + "dependencies": [ + "pybind11", + "python3" + ] + } + } +} diff --git a/ports/nethost/portfile.cmake b/ports/nethost/portfile.cmake index ae88f9a3418be2..a54bde1c94cfa9 100644 --- a/ports/nethost/portfile.cmake +++ b/ports/nethost/portfile.cmake @@ -1,20 +1,23 @@ -set(COMMIT_HASH v7.0.0) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO dotnet/runtime - REF ${COMMIT_HASH} - SHA512 59210df1d9541018a21a7e89e0f552ad35c849f49be31cf47e2a85086363cdabd2bf8ce652d2024479977ae059d658c3bd18de3bdaeb8cb3ddd71f2413f266bc + REF "v${VERSION}" + SHA512 b37918299f0e8723c41052b86479f91df76c54bcade97305aeef8034b8ebab7768dcac4517bdf6e6173102baf60764f23ce89ae681f1514049ee421a563f713e HEAD_REF master PATCHES 0001-nethost-cmakelists.patch ) -set(PRODUCT_VERSION "7.0.0") - -if(NOT VCPKG_TARGET_IS_WINDOWS) - execute_process(COMMAND sh -c "mkdir -p ${SOURCE_PATH}/artifacts/obj && ${SOURCE_PATH}/eng/native/version/copy_version_files.sh") +file(MAKE_DIRECTORY "${SOURCE_PATH}/artifacts/obj") +set(copy_version_files sh -c "${SOURCE_PATH}/eng/native/version/copy_version_files.sh") +if(VCPKG_HOST_IS_WINDOWS) + set(copy_version_files cmd /C "eng\\native\\version\\copy_version_files.cmd") endif() +vcpkg_execute_required_process( + COMMAND ${copy_version_files} + WORKING_DIRECTORY "${SOURCE_PATH}" + LOGNAME "copy_version_files-${TARGET_TRIPLET}" +) if(VCPKG_TARGET_IS_WINDOWS) set(RID_PLAT "win") @@ -50,12 +53,9 @@ vcpkg_cmake_configure( NO_CHARSET_FLAG OPTIONS "-DSKIP_VERSIONING=1" - "-DCLI_CMAKE_HOST_POLICY_VER:STRING=${PRODUCT_VERSION}" - "-DCLI_CMAKE_HOST_FXR_VER:STRING=${PRODUCT_VERSION}" - "-DCLI_CMAKE_HOST_VER:STRING=${PRODUCT_VERSION}" - "-DCLI_CMAKE_COMMON_HOST_VER:STRING=${PRODUCT_VERSION}" "-DCLI_CMAKE_PKG_RID:STRING=${BASE_RID}" - "-DCLI_CMAKE_COMMIT_HASH:STRING=${COMMIT_HASH}" + "-DCLI_CMAKE_FALLBACK_OS:STRING=${RID_PLAT}" + "-DCLI_CMAKE_COMMIT_HASH:STRING=v${VERSION}" "-DCLR_CMAKE_TARGET_ARCH_${ARCH_NAME}=1" "-DCLR_CMAKE_TARGET_ARCH=${RID_ARCH}" "-DCLR_CMAKE_HOST_ARCH=${RID_ARCH}" @@ -77,5 +77,5 @@ else() vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/nethost.h" "#ifdef NETHOST_USE_AS_STATIC" "#if 0") endif() -file(INSTALL "${SOURCE_PATH}/LICENSE.TXT" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.TXT") file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/nethost/vcpkg.json b/ports/nethost/vcpkg.json index 72d779ff607bb2..b865bcd72f39bb 100644 --- a/ports/nethost/vcpkg.json +++ b/ports/nethost/vcpkg.json @@ -1,6 +1,6 @@ { "name": "nethost", - "version": "7.0.0", + "version": "8.0.3", "description": "Provides a set of APIs that can be used to host .NET Core (dotnet)", "homepage": "https://github.com/dotnet/runtime/tree/main/src/native/corehost/nethost", "license": "MIT", diff --git a/ports/nettle/ccas.patch b/ports/nettle/ccas.patch index 703e622f5ab00a..5bc491ca60ced5 100644 --- a/ports/nettle/ccas.patch +++ b/ports/nettle/ccas.patch @@ -1,73 +1,71 @@ diff --git a/Makefile.in b/Makefile.in -index d00b565..c465d0b 100644 +index 2bf7f1e8..c9607468 100644 --- a/Makefile.in +++ b/Makefile.in -@@ -294,7 +294,7 @@ libhogweed.a: $(hogweed_OBJS) +@@ -303,7 +303,7 @@ libhogweed.a: $(hogweed_OBJS) %.$(OBJEXT): %.asm $(srcdir)/m4-utils.m4 $(srcdir)/asm.m4 config.m4 machine.m4 $(M4) $(srcdir)/m4-utils.m4 $(srcdir)/asm.m4 config.m4 machine.m4 $< >$*.s -- $(COMPILE) -c $*.s +- $(COMPILE) $(ASM_FLAGS) -c $*.s + $(COMPILE_AS) -c $*.s -o $@ %.$(OBJEXT): %.c $(COMPILE) -c $< \ diff --git a/aclocal.m4 b/aclocal.m4 -index 1d218a0..1ff02c8 100644 +index 629db8a7..04ff4d31 100644 --- a/aclocal.m4 +++ b/aclocal.m4 -@@ -301,7 +301,7 @@ AC_DEFUN([GMP_TRY_ASSEMBLE], +@@ -268,7 +268,7 @@ AC_DEFUN([GMP_TRY_ASSEMBLE], [cat >conftest.s <&AC_FD_CC + cat conftest.out >&AS_MESSAGE_LOG_FD ifelse([$2],,:,[$2]) diff --git a/config.make.in b/config.make.in -index f8e1f74..4668884 100644 +index 6aec7c73..8bc5599f 100644 --- a/config.make.in +++ b/config.make.in -@@ -73,6 +73,9 @@ TEST_SHLIB_DIR = ${abs_top_builddir}/.lib +@@ -74,6 +74,8 @@ TEST_SHLIB_DIR = ${abs_top_builddir}/.lib # flags before CPPFLAGS and LDFLAGS. While EXTRA_CFLAGS are added at the end. COMPILE = $(CC) $(PRE_CPPFLAGS) $(CPPFLAGS) $(DEFS) $(CFLAGS) $(EXTRA_CFLAGS) $(DEP_FLAGS) +CCAS = @CCAS@ -+ASMFLAGS = @ASMFLAGS@ -+COMPILE_AS = $(CCAS) $(PRE_CPPFLAGS) $(CPPFLAGS) $(DEFS) $(ASMFLAGS) $(DEP_FLAGS) ++COMPILE_AS = $(CCAS) $(PRE_CPPFLAGS) $(CPPFLAGS) $(DEFS) $(ASM_FLAGS) $(DEP_FLAGS) COMPILE_CXX = $(CXX) $(PRE_CPPFLAGS) $(CPPFLAGS) $(DEFS) $(CXXFLAGS) $(DEP_FLAGS) LINK = $(CC) $(CFLAGS) $(PRE_LDFLAGS) $(LDFLAGS) LINK_CXX = $(CXX) $(CXXFLAGS) $(PRE_LDFLAGS) $(LDFLAGS) diff --git a/configure.ac b/configure.ac -index 1012718..8db139d 100644 +index 4f27e663..324e4706 100644 --- a/configure.ac +++ b/configure.ac -@@ -134,6 +134,10 @@ LSH_RPATH_INIT([`echo $with_lib_path | sed 's/:/ /g'` \ +@@ -148,6 +148,9 @@ LSH_RPATH_INIT([`echo $with_lib_path | sed 's/:/ /g'` \ # Checks for programs. AC_PROG_CC +# Copied from gmp +test -n "$CCAS" || CCAS='$(CC)' +AC_SUBST(CCAS) -+AC_SUBST(ASMFLAGS) NETTLE_CHECK_IFUNC -@@ -321,7 +325,7 @@ W64_ABI=no # For x86_64 windows +@@ -318,7 +321,7 @@ W64_ABI=no # For x86_64 windows case "$host_cpu" in [x86_64 | amd64]) - AC_TRY_COMPILE([ + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -#if defined(__x86_64__) || defined(__arch64__) +#if defined(__x86_64__) || defined(__arch64__) || defined(_M_AMD64) #error 64-bit x86 #endif - ], [], [ -@@ -374,7 +378,7 @@ case "$host_cpu" in + ]], [[]])], [ +@@ -371,7 +374,7 @@ case "$host_cpu" in ;; aarch64*) - AC_TRY_COMPILE([ + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -#if defined(__aarch64__) +#if defined(__aarch64__) || defined(_M_ARM64) #error 64-bit arm #endif - ], [], [ + ]], [[]])], [ diff --git a/ports/nettle/hogweed-arm.def b/ports/nettle/hogweed-arm.def index dd9dccdde81649..59480f345a8ed0 100644 --- a/ports/nettle/hogweed-arm.def +++ b/ports/nettle/hogweed-arm.def @@ -51,8 +51,6 @@ EXPORTS nettle_ecc_point_get nettle_ecc_scalar_random _nettle_ecc_mod_random - _nettle_ecc_hash - _nettle_gost_hash _nettle_ecc_mul_a _nettle_ecc_mul_g _nettle_ecc_mul_m @@ -65,6 +63,7 @@ EXPORTS _nettle_ecc_add_eh _nettle_ecc_dup_eh _nettle_ecc_eh_to_a + _nettle_ecc_nonsec_add_jjj _nettle_ecc_add_jjj _nettle_ecc_add_jja _nettle_ecc_dup_jj @@ -119,7 +118,6 @@ EXPORTS _nettle_gmp_free_limbs _nettle_gmp_alloc _nettle_gmp_free - _nettle_sec_tabselect _nettle_sec_sub_1 _nettle_sec_add_1 nettle_dsa_params_from_der_iterator @@ -280,3 +278,13 @@ EXPORTS nettle_sexp_iterator_check_type nettle_sexp_iterator_check_types nettle_sexp_iterator_assoc + _nettle_rsa_oaep_decrypt + _nettle_rsa_oaep_encrypt + nettle_rsa_oaep_sha256_decrypt + nettle_rsa_oaep_sha384_decrypt + nettle_rsa_oaep_sha512_decrypt + nettle_rsa_oaep_sha256_encrypt + nettle_rsa_oaep_sha384_encrypt + nettle_rsa_oaep_sha512_encrypt + _nettle_oaep_decode_mgf1 + _nettle_oaep_encode_mgf1 diff --git a/ports/nettle/hogweed-arm64.def b/ports/nettle/hogweed-arm64.def index dd9dccdde81649..59480f345a8ed0 100644 --- a/ports/nettle/hogweed-arm64.def +++ b/ports/nettle/hogweed-arm64.def @@ -51,8 +51,6 @@ EXPORTS nettle_ecc_point_get nettle_ecc_scalar_random _nettle_ecc_mod_random - _nettle_ecc_hash - _nettle_gost_hash _nettle_ecc_mul_a _nettle_ecc_mul_g _nettle_ecc_mul_m @@ -65,6 +63,7 @@ EXPORTS _nettle_ecc_add_eh _nettle_ecc_dup_eh _nettle_ecc_eh_to_a + _nettle_ecc_nonsec_add_jjj _nettle_ecc_add_jjj _nettle_ecc_add_jja _nettle_ecc_dup_jj @@ -119,7 +118,6 @@ EXPORTS _nettle_gmp_free_limbs _nettle_gmp_alloc _nettle_gmp_free - _nettle_sec_tabselect _nettle_sec_sub_1 _nettle_sec_add_1 nettle_dsa_params_from_der_iterator @@ -280,3 +278,13 @@ EXPORTS nettle_sexp_iterator_check_type nettle_sexp_iterator_check_types nettle_sexp_iterator_assoc + _nettle_rsa_oaep_decrypt + _nettle_rsa_oaep_encrypt + nettle_rsa_oaep_sha256_decrypt + nettle_rsa_oaep_sha384_decrypt + nettle_rsa_oaep_sha512_decrypt + nettle_rsa_oaep_sha256_encrypt + nettle_rsa_oaep_sha384_encrypt + nettle_rsa_oaep_sha512_encrypt + _nettle_oaep_decode_mgf1 + _nettle_oaep_encode_mgf1 diff --git a/ports/nettle/hogweed-x64.def b/ports/nettle/hogweed-x64.def index e8a7a07381bcc6..7fd43dec5eec5f 100644 --- a/ports/nettle/hogweed-x64.def +++ b/ports/nettle/hogweed-x64.def @@ -58,8 +58,6 @@ EXPORTS nettle_ecc_point_get nettle_ecc_scalar_random _nettle_ecc_mod_random - _nettle_ecc_hash - _nettle_gost_hash _nettle_ecc_mul_a _nettle_ecc_mul_g _nettle_ecc_mul_m @@ -72,6 +70,7 @@ EXPORTS _nettle_ecc_add_eh _nettle_ecc_dup_eh _nettle_ecc_eh_to_a + _nettle_ecc_nonsec_add_jjj _nettle_ecc_add_jjj _nettle_ecc_add_jja _nettle_ecc_dup_jj @@ -126,7 +125,6 @@ EXPORTS _nettle_gmp_free_limbs _nettle_gmp_alloc _nettle_gmp_free - _nettle_sec_tabselect _nettle_sec_sub_1 _nettle_sec_add_1 nettle_dsa_params_from_der_iterator @@ -287,3 +285,13 @@ EXPORTS nettle_sexp_iterator_check_type nettle_sexp_iterator_check_types nettle_sexp_iterator_assoc + _nettle_rsa_oaep_decrypt + _nettle_rsa_oaep_encrypt + nettle_rsa_oaep_sha256_decrypt + nettle_rsa_oaep_sha384_decrypt + nettle_rsa_oaep_sha512_decrypt + nettle_rsa_oaep_sha256_encrypt + nettle_rsa_oaep_sha384_encrypt + nettle_rsa_oaep_sha512_encrypt + _nettle_oaep_decode_mgf1 + _nettle_oaep_encode_mgf1 diff --git a/ports/nettle/hogweed-x86.def b/ports/nettle/hogweed-x86.def index 5aab08fa11d925..d4752e9ab90fba 100644 --- a/ports/nettle/hogweed-x86.def +++ b/ports/nettle/hogweed-x86.def @@ -51,8 +51,6 @@ EXPORTS nettle_ecc_point_get nettle_ecc_scalar_random _nettle_ecc_mod_random - _nettle_ecc_hash - _nettle_gost_hash _nettle_ecc_mul_a _nettle_ecc_mul_g _nettle_ecc_mul_m @@ -65,6 +63,7 @@ EXPORTS _nettle_ecc_add_eh _nettle_ecc_dup_eh _nettle_ecc_eh_to_a + _nettle_ecc_nonsec_add_jjj _nettle_ecc_add_jjj _nettle_ecc_add_jja _nettle_ecc_dup_jj @@ -119,7 +118,6 @@ EXPORTS _nettle_gmp_free_limbs _nettle_gmp_alloc _nettle_gmp_free - _nettle_sec_tabselect _nettle_sec_sub_1 _nettle_sec_add_1 nettle_dsa_params_from_der_iterator @@ -280,3 +278,13 @@ EXPORTS nettle_sexp_iterator_check_type nettle_sexp_iterator_check_types nettle_sexp_iterator_assoc + _nettle_rsa_oaep_decrypt + _nettle_rsa_oaep_encrypt + nettle_rsa_oaep_sha256_decrypt + nettle_rsa_oaep_sha384_decrypt + nettle_rsa_oaep_sha512_decrypt + nettle_rsa_oaep_sha256_encrypt + nettle_rsa_oaep_sha384_encrypt + nettle_rsa_oaep_sha512_encrypt + _nettle_oaep_decode_mgf1 + _nettle_oaep_encode_mgf1 diff --git a/ports/nettle/host-tools.patch b/ports/nettle/host-tools.patch index 47083576573364..5b9c50063fb007 100644 --- a/ports/nettle/host-tools.patch +++ b/ports/nettle/host-tools.patch @@ -1,5 +1,5 @@ diff --git a/Makefile.in b/Makefile.in -index 3a12fb4..d00b565 100644 +index 2bf7f1e8..4b80c8df 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,3 +1,6 @@ @@ -9,7 +9,7 @@ index 3a12fb4..d00b565 100644 # Nettle Makefile @SET_MAKE@ -@@ -335,11 +338,11 @@ des_headers = rotors.h keymap.h +@@ -347,11 +350,11 @@ des_headers = rotors.h keymap.h # Generate DES headers. $(des_headers): desdata.stamp f="$(srcdir)/`basename $@`"; \ @@ -24,7 +24,7 @@ index 3a12fb4..d00b565 100644 echo stamp > desdata.stamp des.$(OBJEXT): des.c des.h $(des_headers) -@@ -352,7 +355,7 @@ des.$(OBJEXT): des.c des.h $(des_headers) +@@ -364,7 +367,7 @@ des.$(OBJEXT): des.c des.h $(des_headers) # k = 11, c = 6, S = 192, T = 44 ( 33 A + 11 D) 9 KB # k = 16, c = 6, S = 128, T = 48 ( 32 A + 16 D) 6 KB ecc-secp192r1.h: eccdata.stamp @@ -33,7 +33,7 @@ index 3a12fb4..d00b565 100644 # Some reasonable choices for 224: # k = 16, c = 7, S = 256, T = 48 ( 32 A + 16 D) ~16 KB -@@ -360,7 +363,7 @@ ecc-secp192r1.h: eccdata.stamp +@@ -372,7 +375,7 @@ ecc-secp192r1.h: eccdata.stamp # k = 13, c = 6, S = 192, T = 52 ( 39 A + 13 D) ~12 KB # k = 9, c = 5, S = 160, T = 54 ( 45 A + 9 D) ~10 KB ecc-secp224r1.h: eccdata.stamp @@ -42,7 +42,7 @@ index 3a12fb4..d00b565 100644 # Some reasonable choices for 256: # k = 9, c = 6, S = 320, T = 54 ( 45 A + 9 D) 20 KB -@@ -368,7 +371,7 @@ ecc-secp224r1.h: eccdata.stamp +@@ -380,7 +383,7 @@ ecc-secp224r1.h: eccdata.stamp # k = 19, c = 7, S = 256, T = 57 ( 38 A + 19 D) 16 KB # k = 15, c = 6, S = 192, T = 60 ( 45 A + 15 D) 12 KB ecc-secp256r1.h: eccdata.stamp @@ -51,7 +51,7 @@ index 3a12fb4..d00b565 100644 # Some reasonable choices for 384: # k = 16, c = 6, S = 256, T = 80 ( 64 A + 16 D) 24 KB -@@ -379,7 +382,7 @@ ecc-secp256r1.h: eccdata.stamp +@@ -391,7 +394,7 @@ ecc-secp256r1.h: eccdata.stamp # k = 16, c = 5, S = 160, T = 96 ( 80 A + 16 D) 15 KB # k = 32, c = 6, S = 128, T = 96 ( 64 A + 32 D) 12 KB ecc-secp384r1.h: eccdata.stamp @@ -60,7 +60,7 @@ index 3a12fb4..d00b565 100644 # Some reasonable choices for 521: # k = 29, c = 6, S = 192, T = 116 ( 87 A + 29 D) ~27 KB -@@ -387,14 +390,14 @@ ecc-secp384r1.h: eccdata.stamp +@@ -399,14 +402,14 @@ ecc-secp384r1.h: eccdata.stamp # k = 44, c = 6, S = 128, T = 132 ( 88 A + 44 D) ~18 KB # k = 35, c = 5, S = 96, T = 140 (105 A + 35 D) ~14 KB ecc-secp521r1.h: eccdata.stamp @@ -78,7 +78,7 @@ index 3a12fb4..d00b565 100644 # Some reasonable choices for 256: # k = 9, c = 6, S = 320, T = 54 ( 45 A + 9 D) 20 KB -@@ -402,7 +405,7 @@ ecc-curve448.h: eccdata.stamp +@@ -414,7 +417,7 @@ ecc-curve448.h: eccdata.stamp # k = 19, c = 7, S = 256, T = 57 ( 38 A + 19 D) 16 KB # k = 15, c = 6, S = 192, T = 60 ( 45 A + 15 D) 12 KB ecc-gost-gc256b.h: eccdata.stamp @@ -87,7 +87,7 @@ index 3a12fb4..d00b565 100644 # Some reasonable choices for 512: # k = 22, c = 6, S = 256, T = 110 ( 88 A + 22 D) 32 KB -@@ -411,10 +414,10 @@ ecc-gost-gc256b.h: eccdata.stamp +@@ -423,10 +426,10 @@ ecc-gost-gc256b.h: eccdata.stamp # k = 43, c = 6, S = 128, T = 129 ( 86 A + 43 D) 16 KB # k = 35, c = 5, S = 96, T = 140 (105 A + 35 D) 12 KB ecc-gost-gc512a.h: eccdata.stamp @@ -102,11 +102,11 @@ index 3a12fb4..d00b565 100644 ecc-curve25519.$(OBJEXT): ecc-curve25519.h diff --git a/aclocal.m4 b/aclocal.m4 -index 8822c18..1d218a0 100644 +index 629db8a7..0cf32544 100644 --- a/aclocal.m4 +++ b/aclocal.m4 -@@ -378,6 +378,7 @@ if AC_TRY_EVAL(gmp_compile); then - if (./a.out || ./b.out || ./a.exe || ./a_out.exe || ./conftest) >&AC_FD_CC 2>&1; then +@@ -345,6 +345,7 @@ if AC_TRY_EVAL(gmp_compile); then + if (./a.out || ./b.out || ./a.exe || ./a_out.exe || ./conftest) >&AS_MESSAGE_LOG_FD 2>&1; then cc_for_build_works=yes fi + cc_for_build_works=yes # forced diff --git a/ports/nettle/msvc-support.patch b/ports/nettle/msvc-support.patch index 0e335897a07074..4245a28304e39a 100644 --- a/ports/nettle/msvc-support.patch +++ b/ports/nettle/msvc-support.patch @@ -1,5 +1,5 @@ diff --git a/Makefile.in b/Makefile.in -index 6e1585b..88c8b05 100644 +index 3194735..669bdfe 100644 --- a/Makefile.in +++ b/Makefile.in @@ -29,8 +29,9 @@ include config.make @@ -13,7 +13,7 @@ index 6e1585b..88c8b05 100644 getopt_SOURCES = getopt.c getopt1.c getopt_TARGETS = $(getopt_SOURCES:.c=.$(OBJEXT)) -@@ -279,13 +280,13 @@ nettle_OBJS = $(nettle_SOURCES:.c=.$(OBJEXT)) \ +@@ -288,13 +289,13 @@ nettle_OBJS = $(nettle_SOURCES:.c=.$(OBJEXT)) \ hogweed_OBJS = $(hogweed_SOURCES:.c=.$(OBJEXT)) \ $(OPT_HOGWEED_OBJS) @IF_MINI_GMP@ mini-gmp.$(OBJEXT) @@ -29,7 +29,7 @@ index 6e1585b..88c8b05 100644 -rm -f $@ $(AR) $(ARFLAGS) $@ $(hogweed_OBJS) $(RANLIB) $@ -@@ -491,8 +492,8 @@ install-static: $(LIBTARGETS) +@@ -500,8 +501,8 @@ install-static: $(LIBTARGETS) done install-dll-nettle: @@ -40,7 +40,7 @@ index 6e1585b..88c8b05 100644 install-shared-nettle: $(LIBNETTLE_FORLINK) @IF_DLL@ install-dll-nettle $(MKDIR_P) $(DESTDIR)$(libdir) -@@ -504,8 +505,8 @@ install-shared-nettle: $(LIBNETTLE_FORLINK) @IF_DLL@ install-dll-nettle +@@ -513,8 +514,8 @@ install-shared-nettle: $(LIBNETTLE_FORLINK) @IF_DLL@ install-dll-nettle && $(LN_S) $(LIBNETTLE_FILE) $(LIBNETTLE_FORLINK)) install-dll-hogweed: @@ -52,10 +52,10 @@ index 6e1585b..88c8b05 100644 install-shared-hogweed: $(LIBHOGWEED_FORLINK) @IF_DLL@ install-dll-hogweed $(MKDIR_P) $(DESTDIR)$(libdir) diff --git a/configure.ac b/configure.ac -index d50d1f5..2464514 100644 +index 7a17853..c854679 100644 --- a/configure.ac +++ b/configure.ac -@@ -877,6 +877,27 @@ case "$host_os" in +@@ -907,6 +907,27 @@ case "$host_os" in LIBHOGWEED_LIBS='libnettle.so $(LIBS)' ;; esac @@ -83,3 +83,17 @@ index d50d1f5..2464514 100644 ASM_SYMBOL_PREFIX='' ASM_ELF_STYLE='no' +diff --git a/getopt.c b/getopt.c +index 9d29de7..42df5a6 100644 +--- a/getopt.c ++++ b/getopt.c +@@ -32,7 +32,9 @@ + #include + #include + #include ++#ifndef _MSC_VER + #include ++#endif + + + /* Comment out all this code if we are using the GNU C Library, and are not diff --git a/ports/nettle/nettle-arm.def b/ports/nettle/nettle-arm.def index d174e5f694eea1..52d5fb1b4091ec 100644 --- a/ports/nettle/nettle-arm.def +++ b/ports/nettle/nettle-arm.def @@ -50,6 +50,10 @@ EXPORTS _nettle_umac_l2_final _nettle_umac_nh_n _nettle_umac_nh + nettle_sm4 + nettle_sm4_set_encrypt_key + nettle_sm4_set_decrypt_key + nettle_sm4_crypt nettle_twofish128 nettle_twofish192 nettle_twofish256 @@ -107,6 +111,7 @@ EXPORTS nettle_sha512_init nettle_sha512_update nettle_sha512_digest + nettle_sha512_compress nettle_sha384_init nettle_sha384_digest nettle_sha512_224_init @@ -115,10 +120,11 @@ EXPORTS nettle_sha512_256_digest nettle_sha256 nettle_sha224 - _nettle_sha256_compress + _nettle_sha256_compress_n nettle_sha256_init nettle_sha256_update nettle_sha256_digest + nettle_sha256_compress nettle_sha224_init nettle_sha224_digest nettle_sha1 @@ -141,6 +147,7 @@ EXPORTS nettle_ripemd160_digest nettle_realloc nettle_xrealloc + _nettle_poly1305_update _nettle_poly1305_set_key _nettle_poly1305_digest _nettle_poly1305_block @@ -154,6 +161,23 @@ EXPORTS nettle_pbkdf2_hmac_sha1 nettle_pbkdf2_hmac_gosthash94cp nettle_pbkdf2 + nettle_ocb_aes128_set_encrypt_key + nettle_ocb_aes128_set_decrypt_key + nettle_ocb_aes128_set_nonce + nettle_ocb_aes128_update + nettle_ocb_aes128_encrypt + nettle_ocb_aes128_decrypt + nettle_ocb_aes128_digest + nettle_ocb_aes128_encrypt_message + nettle_ocb_aes128_decrypt_message + nettle_ocb_set_key + nettle_ocb_set_nonce + nettle_ocb_update + nettle_ocb_encrypt + nettle_ocb_decrypt + nettle_ocb_digest + nettle_ocb_encrypt_message + nettle_ocb_decrypt_message _nettle_macs nettle_get_macs _nettle_hashes @@ -266,6 +290,13 @@ EXPORTS nettle_cmac128_init nettle_cmac128_update nettle_cmac128_digest + nettle_gcm_sm4 + nettle_gcm_sm4_set_key + nettle_gcm_sm4_set_iv + nettle_gcm_sm4_update + nettle_gcm_sm4_encrypt + nettle_gcm_sm4_decrypt + nettle_gcm_sm4_digest nettle_gcm_camellia256 nettle_gcm_camellia256_set_key nettle_gcm_camellia256_set_iv @@ -313,6 +344,8 @@ EXPORTS nettle_gcm_encrypt nettle_gcm_decrypt nettle_gcm_digest + _nettle_siv_ghash_update + _nettle_siv_ghash_set_key _nettle_ghash_update _nettle_ghash_set_key nettle_eax_aes128 @@ -354,6 +387,12 @@ EXPORTS nettle_chacha_crypt nettle_chacha_crypt32 nettle_cnd_memcpy + nettle_siv_gcm_aes256_encrypt_message + nettle_siv_gcm_aes256_decrypt_message + nettle_siv_gcm_aes128_encrypt_message + nettle_siv_gcm_aes128_decrypt_message + nettle_siv_gcm_encrypt_message + nettle_siv_gcm_decrypt_message nettle_siv_cmac_aes256_set_key nettle_siv_cmac_aes256_encrypt_message nettle_siv_cmac_aes256_decrypt_message @@ -455,6 +494,12 @@ EXPORTS nettle_base16_decode_final nettle_base16_encode_single nettle_base16_encode_update + nettle_balloon_sha512 + nettle_balloon_sha384 + nettle_balloon_sha256 + nettle_balloon_sha1 + nettle_balloon + nettle_balloon_itch nettle_blowfish_bcrypt_hash nettle_blowfish_bcrypt_verify _nettle_blowfish_initial_ctx @@ -476,9 +521,9 @@ EXPORTS nettle_arctwo128_set_key_gutmann nettle_arctwo_encrypt nettle_arctwo_decrypt - nettle_arcfour_crypt nettle_arcfour_set_key nettle_arcfour128_set_key + nettle_arcfour_crypt nettle_nist_keywrap16 nettle_nist_keyunwrap16 nettle_aes128_keywrap @@ -516,3 +561,7 @@ EXPORTS _nettle_aes_decrypt_table nettle_aes_decrypt _nettle_aes_decrypt + nettle_sha3_256_shake_output + nettle_sha3_128_init + nettle_sha3_128_update + nettle_sha3_128_shake_output diff --git a/ports/nettle/nettle-arm64.def b/ports/nettle/nettle-arm64.def index 591c1505e67e9d..448d040ee14dc9 100644 --- a/ports/nettle/nettle-arm64.def +++ b/ports/nettle/nettle-arm64.def @@ -1,5 +1,5 @@ EXPORTS - _nettle_sha256_compress_arm64 + _nettle_sha256_compress_n_arm64 _nettle_sha1_compress_arm64 _nettle_ghash_update_arm64 _nettle_ghash_set_key_arm64 @@ -22,7 +22,7 @@ EXPORTS _nettle_ghash_set_key _nettle_ghash_update nettle_sha1_compress - _nettle_sha256_compress + _nettle_sha256_compress_n nettle_xts_aes256_set_encrypt_key nettle_xts_aes256_set_decrypt_key nettle_xts_aes256_encrypt_message @@ -74,6 +74,10 @@ EXPORTS _nettle_umac_l2_final _nettle_umac_nh_n _nettle_umac_nh + nettle_sm4 + nettle_sm4_set_encrypt_key + nettle_sm4_set_decrypt_key + nettle_sm4_crypt nettle_twofish128 nettle_twofish192 nettle_twofish256 @@ -131,6 +135,7 @@ EXPORTS nettle_sha512_init nettle_sha512_update nettle_sha512_digest + nettle_sha512_compress nettle_sha384_init nettle_sha384_digest nettle_sha512_224_init @@ -139,10 +144,11 @@ EXPORTS nettle_sha512_256_digest nettle_sha256 nettle_sha224 - _nettle_sha256_compress_c + _nettle_sha256_compress_n_c nettle_sha256_init nettle_sha256_update nettle_sha256_digest + nettle_sha256_compress nettle_sha224_init nettle_sha224_digest nettle_sha1 @@ -165,6 +171,7 @@ EXPORTS nettle_ripemd160_digest nettle_realloc nettle_xrealloc + _nettle_poly1305_update _nettle_poly1305_set_key _nettle_poly1305_digest _nettle_poly1305_block @@ -178,6 +185,23 @@ EXPORTS nettle_pbkdf2_hmac_sha1 nettle_pbkdf2_hmac_gosthash94cp nettle_pbkdf2 + nettle_ocb_aes128_set_encrypt_key + nettle_ocb_aes128_set_decrypt_key + nettle_ocb_aes128_set_nonce + nettle_ocb_aes128_update + nettle_ocb_aes128_encrypt + nettle_ocb_aes128_decrypt + nettle_ocb_aes128_digest + nettle_ocb_aes128_encrypt_message + nettle_ocb_aes128_decrypt_message + nettle_ocb_set_key + nettle_ocb_set_nonce + nettle_ocb_update + nettle_ocb_encrypt + nettle_ocb_decrypt + nettle_ocb_digest + nettle_ocb_encrypt_message + nettle_ocb_decrypt_message _nettle_macs nettle_get_macs _nettle_hashes @@ -290,6 +314,13 @@ EXPORTS nettle_cmac128_init nettle_cmac128_update nettle_cmac128_digest + nettle_gcm_sm4 + nettle_gcm_sm4_set_key + nettle_gcm_sm4_set_iv + nettle_gcm_sm4_update + nettle_gcm_sm4_encrypt + nettle_gcm_sm4_decrypt + nettle_gcm_sm4_digest nettle_gcm_camellia256 nettle_gcm_camellia256_set_key nettle_gcm_camellia256_set_iv @@ -337,6 +368,8 @@ EXPORTS nettle_gcm_encrypt nettle_gcm_decrypt nettle_gcm_digest + _nettle_siv_ghash_update + _nettle_siv_ghash_set_key _nettle_ghash_update_c _nettle_ghash_set_key_c nettle_eax_aes128 @@ -378,6 +411,12 @@ EXPORTS nettle_chacha_crypt nettle_chacha_crypt32 nettle_cnd_memcpy + nettle_siv_gcm_aes256_encrypt_message + nettle_siv_gcm_aes256_decrypt_message + nettle_siv_gcm_aes128_encrypt_message + nettle_siv_gcm_aes128_decrypt_message + nettle_siv_gcm_encrypt_message + nettle_siv_gcm_decrypt_message nettle_siv_cmac_aes256_set_key nettle_siv_cmac_aes256_encrypt_message nettle_siv_cmac_aes256_decrypt_message @@ -479,6 +518,12 @@ EXPORTS nettle_base16_decode_final nettle_base16_encode_single nettle_base16_encode_update + nettle_balloon_sha512 + nettle_balloon_sha384 + nettle_balloon_sha256 + nettle_balloon_sha1 + nettle_balloon + nettle_balloon_itch nettle_blowfish_bcrypt_hash nettle_blowfish_bcrypt_verify _nettle_blowfish_initial_ctx @@ -500,9 +545,9 @@ EXPORTS nettle_arctwo128_set_key_gutmann nettle_arctwo_encrypt nettle_arctwo_decrypt - nettle_arcfour_crypt nettle_arcfour_set_key nettle_arcfour128_set_key + nettle_arcfour_crypt nettle_nist_keywrap16 nettle_nist_keyunwrap16 nettle_aes128_keywrap @@ -540,3 +585,7 @@ EXPORTS _nettle_aes_decrypt_table nettle_aes_decrypt _nettle_aes_decrypt + nettle_sha3_256_shake_output + nettle_sha3_128_init + nettle_sha3_128_update + nettle_sha3_128_shake_output diff --git a/ports/nettle/nettle-x64.def b/ports/nettle/nettle-x64.def index ec3b69a1ff2637..4155da9cb41ce0 100644 --- a/ports/nettle/nettle-x64.def +++ b/ports/nettle/nettle-x64.def @@ -1,9 +1,10 @@ EXPORTS - _nettle_sha256_compress_sha_ni + _nettle_sha256_compress_n_sha_ni _nettle_sha1_compress_sha_ni _nettle_salsa20_2core _nettle_ghash_update_pclmul _nettle_ghash_set_key_pclmul + _nettle_poly1305_blocks _nettle_cbc_aes256_encrypt_aesni _nettle_cbc_aes192_encrypt_aesni _nettle_cbc_aes128_encrypt_aesni @@ -28,7 +29,7 @@ EXPORTS nettle_cbc_aes192_encrypt nettle_cbc_aes256_encrypt nettle_sha1_compress - _nettle_sha256_compress + _nettle_sha256_compress_n nettle_xts_aes256_set_encrypt_key nettle_xts_aes256_set_decrypt_key nettle_xts_aes256_encrypt_message @@ -80,6 +81,10 @@ EXPORTS _nettle_umac_l2_final _nettle_umac_nh_n _nettle_umac_nh + nettle_sm4 + nettle_sm4_set_encrypt_key + nettle_sm4_set_decrypt_key + nettle_sm4_crypt nettle_twofish128 nettle_twofish192 nettle_twofish256 @@ -137,6 +142,7 @@ EXPORTS nettle_sha512_init nettle_sha512_update nettle_sha512_digest + nettle_sha512_compress nettle_sha384_init nettle_sha384_digest nettle_sha512_224_init @@ -145,10 +151,11 @@ EXPORTS nettle_sha512_256_digest nettle_sha256 nettle_sha224 - _nettle_sha256_compress_x86_64 + _nettle_sha256_compress_n_x86_64 nettle_sha256_init nettle_sha256_update nettle_sha256_digest + nettle_sha256_compress nettle_sha224_init nettle_sha224_digest nettle_sha1 @@ -171,6 +178,7 @@ EXPORTS nettle_ripemd160_digest nettle_realloc nettle_xrealloc + _nettle_poly1305_update _nettle_poly1305_set_key _nettle_poly1305_block _nettle_poly1305_digest @@ -184,6 +192,23 @@ EXPORTS nettle_pbkdf2_hmac_sha1 nettle_pbkdf2_hmac_gosthash94cp nettle_pbkdf2 + nettle_ocb_aes128_set_encrypt_key + nettle_ocb_aes128_set_decrypt_key + nettle_ocb_aes128_set_nonce + nettle_ocb_aes128_update + nettle_ocb_aes128_encrypt + nettle_ocb_aes128_decrypt + nettle_ocb_aes128_digest + nettle_ocb_aes128_encrypt_message + nettle_ocb_aes128_decrypt_message + nettle_ocb_set_key + nettle_ocb_set_nonce + nettle_ocb_update + nettle_ocb_encrypt + nettle_ocb_decrypt + nettle_ocb_digest + nettle_ocb_encrypt_message + nettle_ocb_decrypt_message _nettle_macs nettle_get_macs _nettle_hashes @@ -296,6 +321,13 @@ EXPORTS nettle_cmac128_init nettle_cmac128_update nettle_cmac128_digest + nettle_gcm_sm4 + nettle_gcm_sm4_set_key + nettle_gcm_sm4_set_iv + nettle_gcm_sm4_update + nettle_gcm_sm4_encrypt + nettle_gcm_sm4_decrypt + nettle_gcm_sm4_digest nettle_gcm_camellia256 nettle_gcm_camellia256_set_key nettle_gcm_camellia256_set_iv @@ -343,6 +375,8 @@ EXPORTS nettle_gcm_encrypt nettle_gcm_decrypt nettle_gcm_digest + _nettle_siv_ghash_update + _nettle_siv_ghash_set_key _nettle_ghash_update_table _nettle_ghash_set_key_c nettle_eax_aes128 @@ -384,6 +418,12 @@ EXPORTS nettle_chacha_crypt nettle_chacha_crypt32 nettle_cnd_memcpy + nettle_siv_gcm_aes256_encrypt_message + nettle_siv_gcm_aes256_decrypt_message + nettle_siv_gcm_aes128_encrypt_message + nettle_siv_gcm_aes128_decrypt_message + nettle_siv_gcm_encrypt_message + nettle_siv_gcm_decrypt_message nettle_siv_cmac_aes256_set_key nettle_siv_cmac_aes256_encrypt_message nettle_siv_cmac_aes256_decrypt_message @@ -485,6 +525,12 @@ EXPORTS nettle_base16_decode_final nettle_base16_encode_single nettle_base16_encode_update + nettle_balloon_sha512 + nettle_balloon_sha384 + nettle_balloon_sha256 + nettle_balloon_sha1 + nettle_balloon + nettle_balloon_itch nettle_blowfish_bcrypt_hash nettle_blowfish_bcrypt_verify _nettle_blowfish_initial_ctx @@ -506,9 +552,9 @@ EXPORTS nettle_arctwo128_set_key_gutmann nettle_arctwo_encrypt nettle_arctwo_decrypt - nettle_arcfour_crypt nettle_arcfour_set_key nettle_arcfour128_set_key + nettle_arcfour_crypt nettle_nist_keywrap16 nettle_nist_keyunwrap16 nettle_aes128_keywrap @@ -546,3 +592,7 @@ EXPORTS _nettle_aes_decrypt_table nettle_aes_decrypt _nettle_aes_decrypt + nettle_sha3_256_shake_output + nettle_sha3_128_init + nettle_sha3_128_update + nettle_sha3_128_shake_output diff --git a/ports/nettle/nettle-x86.def b/ports/nettle/nettle-x86.def index 8f179df100d438..edfd5019a67f86 100644 --- a/ports/nettle/nettle-x86.def +++ b/ports/nettle/nettle-x86.def @@ -50,6 +50,10 @@ EXPORTS _nettle_umac_l2_final _nettle_umac_nh_n _nettle_umac_nh + nettle_sm4 + nettle_sm4_set_encrypt_key + nettle_sm4_set_decrypt_key + nettle_sm4_crypt nettle_twofish128 nettle_twofish192 nettle_twofish256 @@ -107,6 +111,7 @@ EXPORTS nettle_sha512_init nettle_sha512_update nettle_sha512_digest + nettle_sha512_compress nettle_sha384_init nettle_sha384_digest nettle_sha512_224_init @@ -115,10 +120,11 @@ EXPORTS nettle_sha512_256_digest nettle_sha256 nettle_sha224 - _nettle_sha256_compress + _nettle_sha256_compress_n nettle_sha256_init nettle_sha256_update nettle_sha256_digest + nettle_sha256_compress nettle_sha224_init nettle_sha224_digest nettle_sha1 @@ -141,6 +147,7 @@ EXPORTS nettle_ripemd160_digest nettle_realloc nettle_xrealloc + _nettle_poly1305_update _nettle_poly1305_set_key _nettle_poly1305_digest _nettle_poly1305_block @@ -154,6 +161,23 @@ EXPORTS nettle_pbkdf2_hmac_sha1 nettle_pbkdf2_hmac_gosthash94cp nettle_pbkdf2 + nettle_ocb_aes128_set_encrypt_key + nettle_ocb_aes128_set_decrypt_key + nettle_ocb_aes128_set_nonce + nettle_ocb_aes128_update + nettle_ocb_aes128_encrypt + nettle_ocb_aes128_decrypt + nettle_ocb_aes128_digest + nettle_ocb_aes128_encrypt_message + nettle_ocb_aes128_decrypt_message + nettle_ocb_set_key + nettle_ocb_set_nonce + nettle_ocb_update + nettle_ocb_encrypt + nettle_ocb_decrypt + nettle_ocb_digest + nettle_ocb_encrypt_message + nettle_ocb_decrypt_message _nettle_macs nettle_get_macs _nettle_hashes @@ -266,6 +290,13 @@ EXPORTS nettle_cmac128_init nettle_cmac128_update nettle_cmac128_digest + nettle_gcm_sm4 + nettle_gcm_sm4_set_key + nettle_gcm_sm4_set_iv + nettle_gcm_sm4_update + nettle_gcm_sm4_encrypt + nettle_gcm_sm4_decrypt + nettle_gcm_sm4_digest nettle_gcm_camellia256 nettle_gcm_camellia256_set_key nettle_gcm_camellia256_set_iv @@ -313,6 +344,8 @@ EXPORTS nettle_gcm_encrypt nettle_gcm_decrypt nettle_gcm_digest + _nettle_siv_ghash_update + _nettle_siv_ghash_set_key _nettle_ghash_update _nettle_ghash_set_key nettle_eax_aes128 @@ -354,6 +387,12 @@ EXPORTS nettle_chacha_crypt nettle_chacha_crypt32 nettle_cnd_memcpy + nettle_siv_gcm_aes256_encrypt_message + nettle_siv_gcm_aes256_decrypt_message + nettle_siv_gcm_aes128_encrypt_message + nettle_siv_gcm_aes128_decrypt_message + nettle_siv_gcm_encrypt_message + nettle_siv_gcm_decrypt_message nettle_siv_cmac_aes256_set_key nettle_siv_cmac_aes256_encrypt_message nettle_siv_cmac_aes256_decrypt_message @@ -455,6 +494,12 @@ EXPORTS nettle_base16_decode_final nettle_base16_encode_single nettle_base16_encode_update + nettle_balloon_sha512 + nettle_balloon_sha384 + nettle_balloon_sha256 + nettle_balloon_sha1 + nettle_balloon + nettle_balloon_itch nettle_blowfish_bcrypt_hash nettle_blowfish_bcrypt_verify _nettle_blowfish_initial_ctx @@ -476,9 +521,9 @@ EXPORTS nettle_arctwo128_set_key_gutmann nettle_arctwo_encrypt nettle_arctwo_decrypt - nettle_arcfour_crypt nettle_arcfour_set_key nettle_arcfour128_set_key + nettle_arcfour_crypt nettle_nist_keywrap16 nettle_nist_keyunwrap16 nettle_aes128_keywrap @@ -516,3 +561,7 @@ EXPORTS _nettle_aes_decrypt_table nettle_aes_decrypt _nettle_aes_decrypt + nettle_sha3_256_shake_output + nettle_sha3_128_init + nettle_sha3_128_update + nettle_sha3_128_shake_output diff --git a/ports/nettle/portfile.cmake b/ports/nettle/portfile.cmake index a0b36b05a78e4b..26ff533b3d48ee 100644 --- a/ports/nettle/portfile.cmake +++ b/ports/nettle/portfile.cmake @@ -2,8 +2,8 @@ vcpkg_from_gitlab( GITLAB_URL https://git.lysator.liu.se/ OUT_SOURCE_PATH SOURCE_PATH REPO nettle/nettle - REF nettle_3.8.1_release_20220727 - SHA512 ed1fa1b77afd61fafa15b63f4324809fa69569691d16b93f403c83794672859a1760d102902349f93b1632de568c36e06a0e2b5b61877082b1982dfcf2c52172 + REF nettle_3.10_release_20240616 + SHA512 8767e4f0c34ce76ead5d66f06f97e6b184d439fa94f848ee440196fafde3da2ea7cfc54f9bd8f9ab6a99929b0d14b3d5a28857e05d954551e94b619598c17659 HEAD_REF master PATCHES subdirs.patch @@ -62,7 +62,7 @@ elseif(ccas) cmake_path(GET ccas PARENT_PATH ccas_dir) vcpkg_add_to_path("${ccas_dir}") cmake_path(GET ccas FILENAME ccas_command) - vcpkg_list(APPEND OPTIONS "CCAS=${ccas_command}" "ASMFLAGS=${asmflags}") + vcpkg_list(APPEND OPTIONS "CCAS=${ccas_command}" "ASM_FLAGS=${asmflags}") endif() if(VCPKG_CROSSCOMPILING) diff --git a/ports/nettle/subdirs.patch b/ports/nettle/subdirs.patch index cd4dec9b1ef09a..98dd395c5d7f82 100644 --- a/ports/nettle/subdirs.patch +++ b/ports/nettle/subdirs.patch @@ -1,8 +1,8 @@ diff --git a/Makefile.in b/Makefile.in -index c7dd33f..6d4387e 100644 +index 2bf7f1e8..3e0ba565 100644 --- a/Makefile.in +++ b/Makefile.in -@@ -22,7 +22,7 @@ OPT_NETTLE_SOURCES = @OPT_NETTLE_SOURCES@ +@@ -19,7 +19,7 @@ OPT_NETTLE_SOURCES = @OPT_NETTLE_SOURCES@ FAT_TEST_LIST = @FAT_TEST_LIST@ @@ -12,7 +12,7 @@ index c7dd33f..6d4387e 100644 include config.make diff --git a/configure.ac b/configure.ac -index b629e39..2464514 100644 +index 4f27e663..a72b732b 100644 --- a/configure.ac +++ b/configure.ac @@ -24,6 +24,14 @@ AC_SUBST([MINOR_VERSION]) @@ -29,4 +29,4 @@ index b629e39..2464514 100644 + # Command line options AC_ARG_WITH(include-path, - AC_HELP_STRING([--with-include-path], [A colon-separated list of directories to search for include files]),, + AS_HELP_STRING([--with-include-path], [A colon-separated list of directories to search for include files]),, diff --git a/ports/nettle/vcpkg.json b/ports/nettle/vcpkg.json index d7c2e93089d59c..4ae4e73f8013ce 100644 --- a/ports/nettle/vcpkg.json +++ b/ports/nettle/vcpkg.json @@ -1,6 +1,6 @@ { "name": "nettle", - "version": "3.8.1", + "version": "3.10", "port-version": 1, "description": "Nettle is a low-level cryptographic library that is designed to fit easily in more or less any context: In crypto toolkits for object-oriented languages (C++, Python, Pike, ...), in applications like LSH or GNUPG, or even in kernel space.", "homepage": "https://git.lysator.liu.se/nettle/nettle", diff --git a/ports/nghttp2/portfile.cmake b/ports/nghttp2/portfile.cmake index 6a8ada7f171932..f2e698c483f667 100644 --- a/ports/nghttp2/portfile.cmake +++ b/ports/nghttp2/portfile.cmake @@ -1,36 +1,34 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO nghttp2/nghttp2 - REF v${VERSION} - SHA512 fe71183df125a5ca83c28525bef66a41d63da7af02fb47e3837b97b13bf7707a64a7e1f634aee18c2dd4b824671a3f04dbb6475c7db2cd86a773c40c47632860 + REF "v${VERSION}" + SHA512 35f8230a0fa2825f0bc400d4852d8e8b484f659c67b00639ccd074a0029088f016e967db2f62b6b64af1f8ef684f5809a833e7f922e38b9405f7cc7756bcfb75 HEAD_REF master ) string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" ENABLE_STATIC_CRT) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" ENABLE_STATIC_LIB) -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" ENABLE_SHARED_LIB) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DENABLE_LIB_ONLY=ON + -DENABLE_DOC=OFF + -DBUILD_TESTING=OFF "-DENABLE_STATIC_CRT=${ENABLE_STATIC_CRT}" - "-DENABLE_STATIC_LIB=${ENABLE_STATIC_LIB}" - "-DENABLE_SHARED_LIB=${ENABLE_SHARED_LIB}" + "-DBUILD_STATIC_LIBS=${ENABLE_STATIC_LIB}" + -DCMAKE_DISABLE_FIND_PACKAGE_Python3=ON -DCMAKE_DISABLE_FIND_PACKAGE_OpenSSL=ON - -DCMAKE_DISABLE_FIND_PACKAGE_Libev=ON - -DCMAKE_DISABLE_FIND_PACKAGE_Libcares=ON - -DCMAKE_DISABLE_FIND_PACKAGE_ZLIB=ON -DCMAKE_DISABLE_FIND_PACKAGE_Libngtcp2=ON - -DCMAKE_DISABLE_FIND_PACKAGE_Libngtcp2_crypto_openssl=ON + -DCMAKE_DISABLE_FIND_PACKAGE_Libngtcp2_crypto_quictls=ON -DCMAKE_DISABLE_FIND_PACKAGE_Libnghttp3=ON -DCMAKE_DISABLE_FIND_PACKAGE_Systemd=ON -DCMAKE_DISABLE_FIND_PACKAGE_Jansson=ON -DCMAKE_DISABLE_FIND_PACKAGE_Libevent=ON -DCMAKE_DISABLE_FIND_PACKAGE_LibXml2=ON -DCMAKE_DISABLE_FIND_PACKAGE_Jemalloc=ON - -DCMAKE_DISABLE_FIND_PACKAGE_Threads=ON - -DCMAKE_DISABLE_FIND_PACKAGE_CUnit=ON + MAYBE_UNUSED_VARIABLES + ENABLE_STATIC_CRT ) vcpkg_cmake_install() vcpkg_copy_pdbs() @@ -39,15 +37,12 @@ vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share" - "${CURRENT_PACKAGES_DIR}/share/man" "${CURRENT_PACKAGES_DIR}/share/doc" + "${CURRENT_PACKAGES_DIR}/debug/lib/cmake" + "${CURRENT_PACKAGES_DIR}/lib/cmake" ) if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - file(REMOVE_RECURSE - "${CURRENT_PACKAGES_DIR}/bin" - "${CURRENT_PACKAGES_DIR}/debug/bin" - ) file(APPEND "${CURRENT_PACKAGES_DIR}/include/nghttp2/nghttp2ver.h" [[ #ifndef NGHTTP2_STATICLIB # define NGHTTP2_STATICLIB @@ -55,4 +50,4 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL static) ]]) endif() -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/nghttp2/vcpkg.json b/ports/nghttp2/vcpkg.json index 99750cf11f200c..22a75865ed8a43 100644 --- a/ports/nghttp2/vcpkg.json +++ b/ports/nghttp2/vcpkg.json @@ -1,6 +1,6 @@ { "name": "nghttp2", - "version": "1.57.0", + "version": "1.64.0", "description": "Implementation of the Hypertext Transfer Protocol version 2 in C", "homepage": "https://github.com/nghttp2/nghttp2", "license": "MIT", diff --git a/ports/nghttp3/portfile.cmake b/ports/nghttp3/portfile.cmake index e78ad3f5b6c771..908a4e1640445f 100644 --- a/ports/nghttp3/portfile.cmake +++ b/ports/nghttp3/portfile.cmake @@ -2,10 +2,24 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ngtcp2/nghttp3 REF v${VERSION} - SHA512 a2f02342bdff8a39d9c95e061eaac068d92af3c93aaddc0119dfef4b4c4b545f2e434ef5e00d6901e5ecffb1f5e9fa6589b838543dbfcb3917255fba04589910 + SHA512 558c8fc75a27030ec39888f75fc29c0087ab82dfc485be7b87edb1adedd89dbcec9e2800d7936a67f563fa1d84fc5f8f5728cbbb79de406f4f430dbc4b102af4 HEAD_REF main + PATCHES ) +vcpkg_from_github( + OUT_SOURCE_PATH SFPARSE_SOURCE_PATH + REPO ngtcp2/sfparse + REF 930bdf8421f29cf0109f0f1baaafffa376973ed5 + SHA512 67e1005d4ccf054a47dcb5f813429c7fc12e708cff19f5144447bf1d0863b107dec66e402e1cb223f1492762d38420b48b1e4c03849d69db1ebbb265e7b891ac + HEAD_REF main +) + +file(REMOVE_RECURSE "${SOURCE_PATH}/lib/sfparse") +file(MAKE_DIRECTORY "${SOURCE_PATH}/lib") +file(RENAME "${SFPARSE_SOURCE_PATH}" "${SOURCE_PATH}/lib/sfparse") + + string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" ENABLE_STATIC_CRT) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" ENABLE_STATIC_LIB) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" ENABLE_SHARED_LIB) @@ -18,13 +32,13 @@ vcpkg_cmake_configure( "-DENABLE_STATIC_CRT=${ENABLE_STATIC_CRT}" "-DENABLE_STATIC_LIB=${ENABLE_STATIC_LIB}" "-DENABLE_SHARED_LIB=${ENABLE_SHARED_LIB}" - -DCMAKE_DISABLE_FIND_PACKAGE_CUnit=ON MAYBE_UNUSED_VARIABLES BUILD_TESTING ) vcpkg_cmake_install() vcpkg_copy_pdbs() vcpkg_fixup_pkgconfig() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/nghttp3") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" @@ -43,3 +57,4 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL static) endif() file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/nghttp3/usage b/ports/nghttp3/usage new file mode 100644 index 00000000000000..c95b0b74758188 --- /dev/null +++ b/ports/nghttp3/usage @@ -0,0 +1,4 @@ +nghttp3 provides CMake targets: + + find_package(nghttp3 CONFIG REQUIRED) + target_link_libraries(main PRIVATE $,nghttp3::nghttp3,nghttp3::nghttp3_static>) diff --git a/ports/nghttp3/vcpkg.json b/ports/nghttp3/vcpkg.json index a71c5c8b9a6494..bfd196824ce2ec 100644 --- a/ports/nghttp3/vcpkg.json +++ b/ports/nghttp3/vcpkg.json @@ -1,6 +1,6 @@ { "name": "nghttp3", - "version": "1.0.0", + "version": "1.7.0", "description": "Implementation of RFC 9114 HTTP/3 mapping over QUIC and RFC 9204 QPACK in C", "homepage": "https://github.com/ngtcp2/nghttp3", "license": "MIT", @@ -8,6 +8,10 @@ { "name": "vcpkg-cmake", "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } ] } diff --git a/ports/ngtcp2/export-unofficical-target.patch b/ports/ngtcp2/export-unofficical-target.patch deleted file mode 100644 index 30960f9c3b2e85..00000000000000 --- a/ports/ngtcp2/export-unofficical-target.patch +++ /dev/null @@ -1,43 +0,0 @@ -diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt -index f822c8e..591a588 100644 ---- a/lib/CMakeLists.txt -+++ b/lib/CMakeLists.txt -@@ -69,8 +69,9 @@ set(ngtcp2_SOURCES - ) - - set(ngtcp2_INCLUDE_DIRS -- "${CMAKE_CURRENT_SOURCE_DIR}/includes" -- "${CMAKE_CURRENT_BINARY_DIR}/includes" -+ "$" -+ "$" -+ "$" - ) - - # Public shared library -@@ -85,6 +86,7 @@ if(ENABLE_SHARED_LIB) - target_include_directories(ngtcp2 PUBLIC ${ngtcp2_INCLUDE_DIRS}) - - install(TARGETS ngtcp2 -+ EXPORT unofficial-ngtcp2-config - ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" - LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" - RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") -@@ -102,10 +104,18 @@ if(HAVE_CUNIT OR ENABLE_STATIC_LIB) - target_compile_definitions(ngtcp2_static PUBLIC "-DNGTCP2_STATICLIB") - target_include_directories(ngtcp2_static PUBLIC ${ngtcp2_INCLUDE_DIRS}) - if(ENABLE_STATIC_LIB) -+ add_library(ngtcp2 INTERFACE) -+ target_link_libraries(ngtcp2 INTERFACE ngtcp2_static) - install(TARGETS ngtcp2_static -+ ngtcp2 -+ EXPORT unofficial-ngtcp2-config - DESTINATION "${CMAKE_INSTALL_LIBDIR}") - endif() - endif() -+install( -+ EXPORT unofficial-ngtcp2-config -+ NAMESPACE unofficial::ngtcp2:: -+ DESTINATION share/unofficial-ngtcp2) - - install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libngtcp2.pc" - DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") diff --git a/ports/ngtcp2/portfile.cmake b/ports/ngtcp2/portfile.cmake index 09d022103e6154..3f49e16c603e96 100644 --- a/ports/ngtcp2/portfile.cmake +++ b/ports/ngtcp2/portfile.cmake @@ -2,35 +2,39 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ngtcp2/ngtcp2 REF "v${VERSION}" - SHA512 c76ede7546d0d7056281002149441e5722147c31c934266dbb50c821ba6c1c493c798e636c84b2d76e925a9cdf7f5b34dd7e9fa1f0ba674453ece26130acc9cf - HEAD_REF master - PATCHES - export-unofficical-target.patch + SHA512 ad435ff9462e4cf824122f2fc92c3998f430ac791ccc7ede464e51cb7beaa87f16d262b5dc3b2d32125864204a7c51b12712373296d030b14fe89dc50b7a9243 + HEAD_REF main ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" ENABLE_STATIC_LIB) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" ENABLE_SHARED_LIB) +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + wolfssl ENABLE_WOLFSSL + gnutls ENABLE_GNUTLS + libressl ENABLE_OPENSSL +) + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS + ${FEATURE_OPTIONS} "-DENABLE_STATIC_LIB=${ENABLE_STATIC_LIB}" "-DENABLE_SHARED_LIB=${ENABLE_SHARED_LIB}" - -DENABLE_OPENSSL=OFF + -DBUILD_TESTING=OFF -DCMAKE_DISABLE_FIND_PACKAGE_Libev=ON -DCMAKE_DISABLE_FIND_PACKAGE_Libnghttp3=ON - -DCMAKE_DISABLE_FIND_PACKAGE_CUnit=ON -DCMAKE_INSTALL_DOCDIR=share/ngtcp2 ) vcpkg_cmake_install() vcpkg_copy_pdbs() vcpkg_fixup_pkgconfig() -vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-ngtcp2) +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/ngtcp2") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share" ) -file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/ngtcp2/usage b/ports/ngtcp2/usage deleted file mode 100644 index 97e0d2616c656e..00000000000000 --- a/ports/ngtcp2/usage +++ /dev/null @@ -1,4 +0,0 @@ -ngtcp2 provides CMake targets: - - find_package(unofficial-ngtcp2 CONFIG REQUIRED) - target_link_libraries(main PRIVATE unofficial::ngtcp2::ngtcp2) diff --git a/ports/ngtcp2/vcpkg.json b/ports/ngtcp2/vcpkg.json index 7c6281457e9c2c..00e0dec5579624 100644 --- a/ports/ngtcp2/vcpkg.json +++ b/ports/ngtcp2/vcpkg.json @@ -1,6 +1,6 @@ { "name": "ngtcp2", - "version": "1.0.1", + "version": "1.10.0", "description": "ngtcp2 project is an effort to implement RFC9000 QUIC protocol.", "homepage": "https://github.com/ngtcp2/ngtcp2", "license": "MIT", @@ -13,5 +13,37 @@ "name": "vcpkg-cmake-config", "host": true } - ] + ], + "features": { + "gnutls": { + "description": "Compile with gnutls", + "dependencies": [ + { + "name": "libgnutls", + "platform": "!windows | mingw" + }, + { + "name": "shiftmedia-libgnutls", + "platform": "windows & !mingw" + } + ] + }, + "libressl": { + "description": "Compile with libressl", + "dependencies": [ + "libressl" + ] + }, + "wolfssl": { + "description": "Compile with wolfssl", + "dependencies": [ + { + "name": "wolfssl", + "features": [ + "quic" + ] + } + ] + } + } } diff --git a/ports/nlohmann-json/portfile.cmake b/ports/nlohmann-json/portfile.cmake index 947cba357282f7..a942d0c8c31b16 100644 --- a/ports/nlohmann-json/portfile.cmake +++ b/ports/nlohmann-json/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO nlohmann/json - REF v3.11.2 - SHA512 70097c9bcd7a91254acbd41b8b68a6aaa371fc2dd7011f472917f69f1e2d2986155a0339dad791699d542e4a3be44dc49ae72ff73d0ee0ea4b34183296ce19a0 + REF "v${VERSION}" + SHA512 7df19b621de34f08d5d5c0a25e8225975980841ef2e48536abcf22526ed7fb99f88ad954a2cb823115db59ccc88d1dbe74fe6c281b5644b976b33fb78db9d717 HEAD_REF master ) @@ -31,6 +31,7 @@ vcpkg_replace_string( "${CURRENT_PACKAGES_DIR}/share/nlohmann_json/nlohmann_jsonTargets.cmake" "{_IMPORT_PREFIX}/nlohmann_json.natvis" "{_IMPORT_PREFIX}/share/nlohmann_json/nlohmann_json.natvis" + IGNORE_UNCHANGED ) if(EXISTS "${CURRENT_PACKAGES_DIR}/nlohmann_json.natvis") file(RENAME diff --git a/ports/nlohmann-json/vcpkg.json b/ports/nlohmann-json/vcpkg.json index cc65b9d204d696..2329c5b6666ecc 100644 --- a/ports/nlohmann-json/vcpkg.json +++ b/ports/nlohmann-json/vcpkg.json @@ -1,6 +1,7 @@ { "name": "nlohmann-json", - "version-semver": "3.11.2", + "version-semver": "3.11.3", + "port-version": 1, "description": "JSON for Modern C++", "homepage": "https://github.com/nlohmann/json", "license": "MIT", diff --git a/ports/nlopt/portfile.cmake b/ports/nlopt/portfile.cmake index 7d232cbc8c3886..28cf33a553ae90 100644 --- a/ports/nlopt/portfile.cmake +++ b/ports/nlopt/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO stevengj/nlopt - REF v2.7.1 - SHA512 e23cb522fc696010574c14b72be85acc0f8ccf0bf208bf2b8789c57d6c5a6e6d419ee10330581518b1c1567018ae909b626ce7761d4fbd5bf112916871e420e2 + REF "v${VERSION}" + SHA512 cb294caa5532e11ae0d22ed849705920bbae79f712144c840a5ca865ef8e6a15c6c9540c81ced0c3c05b9f44c360d50f74e235e69d893be34b7e1c5599f07c71 HEAD_REF master ) @@ -25,6 +25,8 @@ vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/nlopt) 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) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") + +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/nlopt/NLoptConfig.cmake" "/../../" "/../") vcpkg_fixup_pkgconfig() diff --git a/ports/nlopt/vcpkg.json b/ports/nlopt/vcpkg.json index bcc20e45c9e1d4..65eee0cd1dfd51 100644 --- a/ports/nlopt/vcpkg.json +++ b/ports/nlopt/vcpkg.json @@ -1,6 +1,6 @@ { "name": "nlopt", - "version": "2.7.1", + "version": "2.8.0", "description": "Library for nonlinear local and global optimization, for functions with and without gradient information.", "homepage": "https://github.com/stevengj/nlopt", "dependencies": [ diff --git a/ports/nmap/fix-msvc-prj.patch b/ports/nmap/fix-msvc-prj.patch deleted file mode 100644 index 25893f13793580..00000000000000 --- a/ports/nmap/fix-msvc-prj.patch +++ /dev/null @@ -1,1986 +0,0 @@ -diff --git a/libdnet-stripped/libdnet-stripped.vcxproj b/libdnet-stripped/libdnet-stripped.vcxproj -index 1f2b760..1756c5c 100644 ---- a/libdnet-stripped/libdnet-stripped.vcxproj -+++ b/libdnet-stripped/libdnet-stripped.vcxproj -@@ -5,10 +5,18 @@ - Debug - Win32 - -+ -+ Debug -+ x64 -+ - - Release - Win32 - -+ -+ Release -+ x64 -+ - - - libdnet-stripped -@@ -22,11 +30,21 @@ - MultiByte - v120 - -+ -+ StaticLibrary -+ MultiByte -+ v120 -+ - - StaticLibrary - MultiByte - v120 - -+ -+ StaticLibrary -+ MultiByte -+ v120 -+ - - - -@@ -34,10 +52,18 @@ - - - -+ -+ -+ -+ - - - - -+ -+ -+ -+ - - - <_ProjectFileVersion>10.0.30319.1 -@@ -64,6 +90,23 @@ - $(OutDir)libdnet-stripped.lib - - -+ -+ -+ /D "_CRT_SECURE_NO_DEPRECATE" %(AdditionalOptions) -+ Disabled -+ include;..\mswin32\pcap-include;%(AdditionalIncludeDirectories) -+ WIN32;_LIB;BPF_MAJOR_VERSION;%(PreprocessorDefinitions) -+ EnableFastChecks -+ MultiThreadedDebugDLL -+ -+ -+ Level3 -+ ProgramDatabase -+ -+ -+ $(OutDir)libdnet-stripped.lib -+ -+ - - - /D "_CRT_SECURE_NO_DEPRECATE" %(AdditionalOptions) -@@ -78,6 +121,20 @@ - $(OutDir)libdnet-stripped.lib - - -+ -+ -+ /D "_CRT_SECURE_NO_DEPRECATE" %(AdditionalOptions) -+ include;..\mswin32\pcap-include;%(AdditionalIncludeDirectories) -+ WIN32;_LIB;BPF_MAJOR_VERSION;%(PreprocessorDefinitions) -+ -+ -+ Level3 -+ ProgramDatabase -+ -+ -+ $(OutDir)libdnet-stripped.lib -+ -+ - - - -diff --git a/liblinear/liblinear.vcxproj b/liblinear/liblinear.vcxproj -index cf99e3d..ac5ff7c 100644 ---- a/liblinear/liblinear.vcxproj -+++ b/liblinear/liblinear.vcxproj -@@ -5,10 +5,18 @@ - Debug - Win32 - -+ -+ Debug -+ x64 -+ - - Release - Win32 - -+ -+ Release -+ x64 -+ - - - -@@ -36,6 +44,12 @@ - Unicode - v120 - -+ -+ StaticLibrary -+ true -+ Unicode -+ v120 -+ - - StaticLibrary - false -@@ -43,19 +57,33 @@ - Unicode - v120 - -+ -+ StaticLibrary -+ false -+ true -+ Unicode -+ v120 -+ - - - - - - -+ -+ -+ - - - -+ -+ -+ - - - .\ - -+ - - .\ - -@@ -75,6 +103,21 @@ - true - - -+ -+ -+ -+ -+ Level3 -+ Disabled -+ WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) -+ MultiThreadedDebugDLL -+ /D_CRT_SECURE_NO_WARNINGS=1 %(AdditionalOptions) -+ -+ -+ Windows -+ true -+ -+ - - - Level3 -@@ -93,6 +136,24 @@ - true - - -+ -+ -+ Level3 -+ -+ -+ MaxSpeed -+ true -+ true -+ WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) -+ /D_CRT_SECURE_NO_WARNINGS=1 %(AdditionalOptions) -+ -+ -+ Windows -+ true -+ true -+ true -+ -+ - - - -diff --git a/liblua/liblua.vcxproj b/liblua/liblua.vcxproj -index 8e80221..db6b1ea 100644 ---- a/liblua/liblua.vcxproj -+++ b/liblua/liblua.vcxproj -@@ -5,10 +5,18 @@ - Debug - Win32 - -+ -+ Debug -+ x64 -+ - - Release - Win32 - -+ -+ Release -+ x64 -+ - - - {31FB0767-A71F-4575-8379-002D72B8AF86} -@@ -22,20 +30,37 @@ - true - v120 - -+ -+ StaticLibrary -+ NotSet -+ true -+ v120 -+ - - StaticLibrary - NotSet - v120 - -+ -+ StaticLibrary -+ NotSet -+ v120 -+ - - - - - - -+ -+ -+ - - - -+ -+ -+ - - - <_ProjectFileVersion>10.0.30319.1 -@@ -68,6 +93,29 @@ - $(OutDir)liblua.lib - - -+ -+ -+ /D "_CRT_SECURE_NO_DEPRECATE" %(AdditionalOptions) -+ Disabled -+ WIN32;_LIB;%(PreprocessorDefinitions) -+ -+ -+ Default -+ MultiThreadedDebugDLL -+ false -+ false -+ false -+ -+ -+ Level3 -+ ProgramDatabase -+ Cdecl -+ CompileAsC -+ -+ -+ $(OutDir)liblua.lib -+ -+ - - - /D "_CRT_SECURE_NO_DEPRECATE" %(AdditionalOptions) -@@ -91,6 +139,29 @@ - $(OutDir)liblua.lib - - -+ -+ -+ /D "_CRT_SECURE_NO_DEPRECATE" %(AdditionalOptions) -+ false -+ WIN32;_LIB;%(PreprocessorDefinitions) -+ false -+ -+ -+ Default -+ false -+ false -+ false -+ -+ -+ Level3 -+ -+ -+ CompileAsC -+ -+ -+ $(OutDir)liblua.lib -+ -+ - - - -diff --git a/libnetutil/libnetutil.vcxproj b/libnetutil/libnetutil.vcxproj -index 8f4fbb5..00cc7c2 100644 ---- a/libnetutil/libnetutil.vcxproj -+++ b/libnetutil/libnetutil.vcxproj -@@ -5,10 +5,18 @@ - Debug - Win32 - -+ -+ Debug -+ x64 -+ - - Release - Win32 - -+ -+ Release -+ x64 -+ - - - {99157C3F-39F6-4663-99D7-1D9C1484494E} -@@ -22,20 +30,37 @@ - true - v120 - -+ -+ StaticLibrary -+ Unicode -+ true -+ v120 -+ - - StaticLibrary - Unicode - v120 - -+ -+ StaticLibrary -+ Unicode -+ v120 -+ - - - - - - -+ -+ -+ - - - -+ -+ -+ - - - <_ProjectFileVersion>10.0.30319.1 -@@ -61,6 +86,22 @@ - $(OutDir)libnetutil.lib - - -+ -+ -+ Disabled -+ ..;../mswin32;../nbase;../mswin32/pcap-include;../libdnet-stripped/include;%(AdditionalIncludeDirectories) -+ WIN32;BPF_MAJOR_VERSION;_DEBUG;_LIB;%(PreprocessorDefinitions) -+ EnableFastChecks -+ MultiThreadedDebugDLL -+ -+ -+ Level3 -+ ProgramDatabase -+ -+ -+ $(OutDir)libnetutil.lib -+ -+ - - - MaxSpeed -@@ -74,6 +115,19 @@ - ProgramDatabase - - -+ -+ -+ MaxSpeed -+ true -+ ..;../mswin32;../nbase;../mswin32/pcap-include;../libdnet-stripped/include;%(AdditionalIncludeDirectories) -+ WIN32;BPF_MAJOR_VERSION;NDEBUG;_LIB;%(PreprocessorDefinitions) -+ true -+ -+ -+ Level3 -+ ProgramDatabase -+ -+ - - - -diff --git a/mswin32/nmap.sln b/mswin32/nmap.sln -index 3f9fa22..4484bbd 100644 ---- a/mswin32/nmap.sln -+++ b/mswin32/nmap.sln -@@ -5,14 +5,11 @@ MinimumVisualStudioVersion = 10.0.40219.1 - Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nmap", "nmap.vcxproj", "{361719F0-AB42-4C93-9DE8-7D2144B96625}" - ProjectSection(ProjectDependencies) = postProject - {99157C3F-39F6-4663-99D7-1D9C1484494E} = {99157C3F-39F6-4663-99D7-1D9C1484494E} -- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8} = {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8} - {A7BE3D76-F20C-40C5-8986-DE4028B3B57D} = {A7BE3D76-F20C-40C5-8986-DE4028B3B57D} - EndProjectSection - EndProject - Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nsock", "..\nsock\nsock.vcxproj", "{F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}" - EndProject --Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libpcre", "..\libpcre\libpcre.vcxproj", "{5DE86C7A-DE72-4265-8807-4CA38F94F22A}" --EndProject - Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nbase", "..\nbase\nbase.vcxproj", "{B630C8F7-3138-43E8-89ED-78742FA2AC5F}" - EndProject - Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libdnet-stripped", "..\libdnet-stripped\libdnet-stripped.vcxproj", "{5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}" -@@ -27,14 +24,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libnetutil", "..\libnetutil - EndProject - Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "liblinear", "..\liblinear\liblinear.vcxproj", "{A7BE3D76-F20C-40C5-8986-DE4028B3B57D}" - EndProject --Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nmap-update", "..\nmap-update\nmap-update.vcxproj", "{BBF27339-C7B6-4F52-B742-897796C1F13B}" --EndProject --Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libz", "..\libz\contrib\vstudio\vc11\zlibvc.vcxproj", "{8FD826F8-3739-44E6-8CC8-997122E53B8D}" --EndProject --Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libssh2", "..\libssh2\win32\libssh2.vcxproj", "{ED957342-E43B-496E-92D9-4C76B525BDF5}" --EndProject --Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlibstat", "..\libz\contrib\vstudio\vc11\zlibstat.vcxproj", "{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}" --EndProject - Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 -@@ -49,176 +38,148 @@ Global - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {361719F0-AB42-4C93-9DE8-7D2144B96625}.Debug|Win32.ActiveCfg = Debug|Win32 - {361719F0-AB42-4C93-9DE8-7D2144B96625}.Debug|Win32.Build.0 = Debug|Win32 -- {361719F0-AB42-4C93-9DE8-7D2144B96625}.Debug|x64.ActiveCfg = Debug|Win32 -+ {361719F0-AB42-4C93-9DE8-7D2144B96625}.Debug|x64.ActiveCfg = Debug|x64 -+ {361719F0-AB42-4C93-9DE8-7D2144B96625}.Debug|x64.Build.0 = Debug|x64 - {361719F0-AB42-4C93-9DE8-7D2144B96625}.Ncat Static|Win32.ActiveCfg = Release|Win32 -- {361719F0-AB42-4C93-9DE8-7D2144B96625}.Ncat Static|x64.ActiveCfg = Release|Win32 -+ {361719F0-AB42-4C93-9DE8-7D2144B96625}.Ncat Static|x64.ActiveCfg = Release|x64 -+ {361719F0-AB42-4C93-9DE8-7D2144B96625}.Ncat Static|x64.Build.0 = Release|x64 - {361719F0-AB42-4C93-9DE8-7D2144B96625}.Release|Win32.ActiveCfg = Release|Win32 - {361719F0-AB42-4C93-9DE8-7D2144B96625}.Release|Win32.Build.0 = Release|Win32 -- {361719F0-AB42-4C93-9DE8-7D2144B96625}.Release|x64.ActiveCfg = Release|Win32 -+ {361719F0-AB42-4C93-9DE8-7D2144B96625}.Release|x64.ActiveCfg = Release|x64 -+ {361719F0-AB42-4C93-9DE8-7D2144B96625}.Release|x64.Build.0 = Release|x64 - {361719F0-AB42-4C93-9DE8-7D2144B96625}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 - {361719F0-AB42-4C93-9DE8-7D2144B96625}.ReleaseWithoutAsm|Win32.Build.0 = Release|Win32 -- {361719F0-AB42-4C93-9DE8-7D2144B96625}.ReleaseWithoutAsm|x64.ActiveCfg = Release|Win32 -+ {361719F0-AB42-4C93-9DE8-7D2144B96625}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64 -+ {361719F0-AB42-4C93-9DE8-7D2144B96625}.ReleaseWithoutAsm|x64.Build.0 = Release|x64 - {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.Debug|Win32.ActiveCfg = Debug|Win32 - {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.Debug|Win32.Build.0 = Debug|Win32 -- {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.Debug|x64.ActiveCfg = Debug|Win32 -+ {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.Debug|x64.ActiveCfg = Debug|x64 -+ {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.Debug|x64.Build.0 = Debug|x64 - {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.Ncat Static|Win32.ActiveCfg = Static|Win32 - {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.Ncat Static|Win32.Build.0 = Static|Win32 -- {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.Ncat Static|x64.ActiveCfg = Static|Win32 -+ {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.Ncat Static|x64.ActiveCfg = Static|x64 -+ {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.Ncat Static|x64.Build.0 = Static|x64 - {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.Release|Win32.ActiveCfg = Release|Win32 - {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.Release|Win32.Build.0 = Release|Win32 -- {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.Release|x64.ActiveCfg = Release|Win32 -+ {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.Release|x64.ActiveCfg = Release|x64 -+ {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.Release|x64.Build.0 = Release|x64 - {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseNoPcap|Win32 - {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseNoPcap|Win32 -- {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseNoPcap|Win32 -- {5DE86C7A-DE72-4265-8807-4CA38F94F22A}.Debug|Win32.ActiveCfg = Debug|Win32 -- {5DE86C7A-DE72-4265-8807-4CA38F94F22A}.Debug|Win32.Build.0 = Debug|Win32 -- {5DE86C7A-DE72-4265-8807-4CA38F94F22A}.Debug|x64.ActiveCfg = Debug|Win32 -- {5DE86C7A-DE72-4265-8807-4CA38F94F22A}.Ncat Static|Win32.ActiveCfg = Release|Win32 -- {5DE86C7A-DE72-4265-8807-4CA38F94F22A}.Ncat Static|x64.ActiveCfg = Release|Win32 -- {5DE86C7A-DE72-4265-8807-4CA38F94F22A}.Release|Win32.ActiveCfg = Release|Win32 -- {5DE86C7A-DE72-4265-8807-4CA38F94F22A}.Release|Win32.Build.0 = Release|Win32 -- {5DE86C7A-DE72-4265-8807-4CA38F94F22A}.Release|x64.ActiveCfg = Release|Win32 -- {5DE86C7A-DE72-4265-8807-4CA38F94F22A}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 -- {5DE86C7A-DE72-4265-8807-4CA38F94F22A}.ReleaseWithoutAsm|Win32.Build.0 = Release|Win32 -- {5DE86C7A-DE72-4265-8807-4CA38F94F22A}.ReleaseWithoutAsm|x64.ActiveCfg = Release|Win32 -+ {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseNoPcap|x64 -+ {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.ReleaseWithoutAsm|x64.Build.0 = ReleaseNoPcap|x64 - {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.Debug|Win32.ActiveCfg = Debug|Win32 - {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.Debug|Win32.Build.0 = Debug|Win32 -- {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.Debug|x64.ActiveCfg = Debug|Win32 -+ {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.Debug|x64.ActiveCfg = Debug|x64 -+ {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.Debug|x64.Build.0 = Debug|x64 - {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.Ncat Static|Win32.ActiveCfg = Static|Win32 - {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.Ncat Static|Win32.Build.0 = Static|Win32 -- {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.Ncat Static|x64.ActiveCfg = Static|Win32 -+ {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.Ncat Static|x64.ActiveCfg = Static|x64 -+ {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.Ncat Static|x64.Build.0 = Static|x64 - {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.Release|Win32.ActiveCfg = Release|Win32 - {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.Release|Win32.Build.0 = Release|Win32 -- {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.Release|x64.ActiveCfg = Release|Win32 -+ {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.Release|x64.ActiveCfg = Release|x64 -+ {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.Release|x64.Build.0 = Release|x64 - {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 - {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.ReleaseWithoutAsm|Win32.Build.0 = Release|Win32 -- {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.ReleaseWithoutAsm|x64.ActiveCfg = Release|Win32 -+ {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64 -+ {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.ReleaseWithoutAsm|x64.Build.0 = Release|x64 - {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.Debug|Win32.ActiveCfg = Debug|Win32 - {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.Debug|Win32.Build.0 = Debug|Win32 -- {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.Debug|x64.ActiveCfg = Debug|Win32 -+ {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.Debug|x64.ActiveCfg = Debug|x64 -+ {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.Debug|x64.Build.0 = Debug|x64 - {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.Ncat Static|Win32.ActiveCfg = Release|Win32 -- {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.Ncat Static|x64.ActiveCfg = Release|Win32 -+ {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.Ncat Static|x64.ActiveCfg = Release|x64 -+ {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.Ncat Static|x64.Build.0 = Release|x64 - {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.Release|Win32.ActiveCfg = Release|Win32 - {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.Release|Win32.Build.0 = Release|Win32 -- {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.Release|x64.ActiveCfg = Release|Win32 -+ {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.Release|x64.ActiveCfg = Release|x64 -+ {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.Release|x64.Build.0 = Release|x64 - {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 - {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.ReleaseWithoutAsm|Win32.Build.0 = Release|Win32 -- {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.ReleaseWithoutAsm|x64.ActiveCfg = Release|Win32 -+ {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64 -+ {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.ReleaseWithoutAsm|x64.Build.0 = Release|x64 - {31FB0767-A71F-4575-8379-002D72B8AF86}.Debug|Win32.ActiveCfg = Debug|Win32 - {31FB0767-A71F-4575-8379-002D72B8AF86}.Debug|Win32.Build.0 = Debug|Win32 -- {31FB0767-A71F-4575-8379-002D72B8AF86}.Debug|x64.ActiveCfg = Debug|Win32 -+ {31FB0767-A71F-4575-8379-002D72B8AF86}.Debug|x64.ActiveCfg = Debug|x64 -+ {31FB0767-A71F-4575-8379-002D72B8AF86}.Debug|x64.Build.0 = Debug|x64 - {31FB0767-A71F-4575-8379-002D72B8AF86}.Ncat Static|Win32.ActiveCfg = Release|Win32 -- {31FB0767-A71F-4575-8379-002D72B8AF86}.Ncat Static|x64.ActiveCfg = Release|Win32 -+ {31FB0767-A71F-4575-8379-002D72B8AF86}.Ncat Static|x64.ActiveCfg = Release|x64 -+ {31FB0767-A71F-4575-8379-002D72B8AF86}.Ncat Static|x64.Build.0 = Release|x64 - {31FB0767-A71F-4575-8379-002D72B8AF86}.Release|Win32.ActiveCfg = Release|Win32 - {31FB0767-A71F-4575-8379-002D72B8AF86}.Release|Win32.Build.0 = Release|Win32 -- {31FB0767-A71F-4575-8379-002D72B8AF86}.Release|x64.ActiveCfg = Release|Win32 -+ {31FB0767-A71F-4575-8379-002D72B8AF86}.Release|x64.ActiveCfg = Release|x64 -+ {31FB0767-A71F-4575-8379-002D72B8AF86}.Release|x64.Build.0 = Release|x64 - {31FB0767-A71F-4575-8379-002D72B8AF86}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 - {31FB0767-A71F-4575-8379-002D72B8AF86}.ReleaseWithoutAsm|Win32.Build.0 = Release|Win32 -- {31FB0767-A71F-4575-8379-002D72B8AF86}.ReleaseWithoutAsm|x64.ActiveCfg = Release|Win32 -+ {31FB0767-A71F-4575-8379-002D72B8AF86}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64 -+ {31FB0767-A71F-4575-8379-002D72B8AF86}.ReleaseWithoutAsm|x64.Build.0 = Release|x64 - {C1E04411-E021-468B-83F1-CB624BBA7589}.Debug|Win32.ActiveCfg = Debug|Win32 - {C1E04411-E021-468B-83F1-CB624BBA7589}.Debug|Win32.Build.0 = Debug|Win32 -- {C1E04411-E021-468B-83F1-CB624BBA7589}.Debug|x64.ActiveCfg = Debug|Win32 -+ {C1E04411-E021-468B-83F1-CB624BBA7589}.Debug|x64.ActiveCfg = Debug|x64 -+ {C1E04411-E021-468B-83F1-CB624BBA7589}.Debug|x64.Build.0 = Debug|x64 - {C1E04411-E021-468B-83F1-CB624BBA7589}.Ncat Static|Win32.ActiveCfg = Static|Win32 - {C1E04411-E021-468B-83F1-CB624BBA7589}.Ncat Static|Win32.Build.0 = Static|Win32 -- {C1E04411-E021-468B-83F1-CB624BBA7589}.Ncat Static|x64.ActiveCfg = Static|Win32 -+ {C1E04411-E021-468B-83F1-CB624BBA7589}.Ncat Static|x64.ActiveCfg = Static|x64 -+ {C1E04411-E021-468B-83F1-CB624BBA7589}.Ncat Static|x64.Build.0 = Static|x64 - {C1E04411-E021-468B-83F1-CB624BBA7589}.Release|Win32.ActiveCfg = Release|Win32 - {C1E04411-E021-468B-83F1-CB624BBA7589}.Release|Win32.Build.0 = Release|Win32 -- {C1E04411-E021-468B-83F1-CB624BBA7589}.Release|x64.ActiveCfg = Release|Win32 -+ {C1E04411-E021-468B-83F1-CB624BBA7589}.Release|x64.ActiveCfg = Release|x64 -+ {C1E04411-E021-468B-83F1-CB624BBA7589}.Release|x64.Build.0 = Release|x64 - {C1E04411-E021-468B-83F1-CB624BBA7589}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 - {C1E04411-E021-468B-83F1-CB624BBA7589}.ReleaseWithoutAsm|Win32.Build.0 = Release|Win32 -- {C1E04411-E021-468B-83F1-CB624BBA7589}.ReleaseWithoutAsm|x64.ActiveCfg = Release|Win32 -+ {C1E04411-E021-468B-83F1-CB624BBA7589}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64 -+ {C1E04411-E021-468B-83F1-CB624BBA7589}.ReleaseWithoutAsm|x64.Build.0 = Release|x64 - {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.Debug|Win32.ActiveCfg = Debug|Win32 - {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.Debug|Win32.Build.0 = Debug|Win32 -- {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.Debug|x64.ActiveCfg = Debug|Win32 -+ {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.Debug|x64.ActiveCfg = Debug|x64 -+ {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.Debug|x64.Build.0 = Debug|x64 - {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.Ncat Static|Win32.ActiveCfg = Release|Win32 -- {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.Ncat Static|x64.ActiveCfg = Release|Win32 -+ {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.Ncat Static|x64.ActiveCfg = Release|x64 -+ {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.Ncat Static|x64.Build.0 = Release|x64 - {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.Release|Win32.ActiveCfg = Release|Win32 - {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.Release|Win32.Build.0 = Release|Win32 -- {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.Release|x64.ActiveCfg = Release|Win32 -+ {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.Release|x64.ActiveCfg = Release|x64 -+ {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.Release|x64.Build.0 = Release|x64 - {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 - {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.ReleaseWithoutAsm|Win32.Build.0 = Release|Win32 -- {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.ReleaseWithoutAsm|x64.ActiveCfg = Release|Win32 -+ {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64 -+ {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.ReleaseWithoutAsm|x64.Build.0 = Release|x64 - {99157C3F-39F6-4663-99D7-1D9C1484494E}.Debug|Win32.ActiveCfg = Debug|Win32 - {99157C3F-39F6-4663-99D7-1D9C1484494E}.Debug|Win32.Build.0 = Debug|Win32 -- {99157C3F-39F6-4663-99D7-1D9C1484494E}.Debug|x64.ActiveCfg = Debug|Win32 -+ {99157C3F-39F6-4663-99D7-1D9C1484494E}.Debug|x64.ActiveCfg = Debug|x64 -+ {99157C3F-39F6-4663-99D7-1D9C1484494E}.Debug|x64.Build.0 = Debug|x64 - {99157C3F-39F6-4663-99D7-1D9C1484494E}.Ncat Static|Win32.ActiveCfg = Release|Win32 -- {99157C3F-39F6-4663-99D7-1D9C1484494E}.Ncat Static|x64.ActiveCfg = Release|Win32 -+ {99157C3F-39F6-4663-99D7-1D9C1484494E}.Ncat Static|x64.ActiveCfg = Release|x64 -+ {99157C3F-39F6-4663-99D7-1D9C1484494E}.Ncat Static|x64.Build.0 = Release|x64 - {99157C3F-39F6-4663-99D7-1D9C1484494E}.Release|Win32.ActiveCfg = Release|Win32 - {99157C3F-39F6-4663-99D7-1D9C1484494E}.Release|Win32.Build.0 = Release|Win32 -- {99157C3F-39F6-4663-99D7-1D9C1484494E}.Release|x64.ActiveCfg = Release|Win32 -+ {99157C3F-39F6-4663-99D7-1D9C1484494E}.Release|x64.ActiveCfg = Release|x64 -+ {99157C3F-39F6-4663-99D7-1D9C1484494E}.Release|x64.Build.0 = Release|x64 - {99157C3F-39F6-4663-99D7-1D9C1484494E}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 - {99157C3F-39F6-4663-99D7-1D9C1484494E}.ReleaseWithoutAsm|Win32.Build.0 = Release|Win32 -- {99157C3F-39F6-4663-99D7-1D9C1484494E}.ReleaseWithoutAsm|x64.ActiveCfg = Release|Win32 -+ {99157C3F-39F6-4663-99D7-1D9C1484494E}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64 -+ {99157C3F-39F6-4663-99D7-1D9C1484494E}.ReleaseWithoutAsm|x64.Build.0 = Release|x64 - {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.Debug|Win32.ActiveCfg = Debug|Win32 - {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.Debug|Win32.Build.0 = Debug|Win32 -- {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.Debug|x64.ActiveCfg = Debug|Win32 -+ {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.Debug|x64.ActiveCfg = Debug|x64 -+ {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.Debug|x64.Build.0 = Debug|x64 - {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.Ncat Static|Win32.ActiveCfg = Release|Win32 - {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.Ncat Static|Win32.Build.0 = Release|Win32 -- {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.Ncat Static|x64.ActiveCfg = Release|Win32 -+ {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.Ncat Static|x64.ActiveCfg = Release|x64 -+ {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.Ncat Static|x64.Build.0 = Release|x64 - {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.Release|Win32.ActiveCfg = Release|Win32 - {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.Release|Win32.Build.0 = Release|Win32 -- {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.Release|x64.ActiveCfg = Release|Win32 -+ {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.Release|x64.ActiveCfg = Release|x64 -+ {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.Release|x64.Build.0 = Release|x64 - {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 - {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.ReleaseWithoutAsm|Win32.Build.0 = Release|Win32 -- {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.ReleaseWithoutAsm|x64.ActiveCfg = Release|Win32 -- {BBF27339-C7B6-4F52-B742-897796C1F13B}.Debug|Win32.ActiveCfg = Debug|Win32 -- {BBF27339-C7B6-4F52-B742-897796C1F13B}.Debug|Win32.Build.0 = Debug|Win32 -- {BBF27339-C7B6-4F52-B742-897796C1F13B}.Debug|x64.ActiveCfg = Debug|Win32 -- {BBF27339-C7B6-4F52-B742-897796C1F13B}.Ncat Static|Win32.ActiveCfg = Release|Win32 -- {BBF27339-C7B6-4F52-B742-897796C1F13B}.Ncat Static|Win32.Build.0 = Release|Win32 -- {BBF27339-C7B6-4F52-B742-897796C1F13B}.Ncat Static|x64.ActiveCfg = Release|Win32 -- {BBF27339-C7B6-4F52-B742-897796C1F13B}.Release|Win32.ActiveCfg = Release|Win32 -- {BBF27339-C7B6-4F52-B742-897796C1F13B}.Release|Win32.Build.0 = Release|Win32 -- {BBF27339-C7B6-4F52-B742-897796C1F13B}.Release|x64.ActiveCfg = Release|Win32 -- {BBF27339-C7B6-4F52-B742-897796C1F13B}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 -- {BBF27339-C7B6-4F52-B742-897796C1F13B}.ReleaseWithoutAsm|Win32.Build.0 = Release|Win32 -- {BBF27339-C7B6-4F52-B742-897796C1F13B}.ReleaseWithoutAsm|x64.ActiveCfg = Release|Win32 -- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Win32.ActiveCfg = Debug|Win32 -- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Win32.Build.0 = Debug|Win32 -- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|x64.ActiveCfg = Debug|x64 -- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|x64.Build.0 = Debug|x64 -- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Ncat Static|Win32.ActiveCfg = Release|Win32 -- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Ncat Static|Win32.Build.0 = Release|Win32 -- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Ncat Static|x64.ActiveCfg = Release|x64 -- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Ncat Static|x64.Build.0 = Release|x64 -- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.ActiveCfg = Release|Win32 -- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.Build.0 = Release|Win32 -- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.ActiveCfg = Release|x64 -- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.Build.0 = Release|x64 -- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32 -- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32 -- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64 -- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64 -- {ED957342-E43B-496E-92D9-4C76B525BDF5}.Debug|Win32.ActiveCfg = Debug|Win32 -- {ED957342-E43B-496E-92D9-4C76B525BDF5}.Debug|Win32.Build.0 = Debug|Win32 -- {ED957342-E43B-496E-92D9-4C76B525BDF5}.Debug|x64.ActiveCfg = Debug|Win32 -- {ED957342-E43B-496E-92D9-4C76B525BDF5}.Ncat Static|Win32.ActiveCfg = Debug|Win32 -- {ED957342-E43B-496E-92D9-4C76B525BDF5}.Ncat Static|Win32.Build.0 = Debug|Win32 -- {ED957342-E43B-496E-92D9-4C76B525BDF5}.Ncat Static|x64.ActiveCfg = Release|Win32 -- {ED957342-E43B-496E-92D9-4C76B525BDF5}.Release|Win32.ActiveCfg = Release|Win32 -- {ED957342-E43B-496E-92D9-4C76B525BDF5}.Release|Win32.Build.0 = Release|Win32 -- {ED957342-E43B-496E-92D9-4C76B525BDF5}.Release|x64.ActiveCfg = Release|Win32 -- {ED957342-E43B-496E-92D9-4C76B525BDF5}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 -- {ED957342-E43B-496E-92D9-4C76B525BDF5}.ReleaseWithoutAsm|Win32.Build.0 = Release|Win32 -- {ED957342-E43B-496E-92D9-4C76B525BDF5}.ReleaseWithoutAsm|x64.ActiveCfg = Release|Win32 -- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Win32.ActiveCfg = Debug|Win32 -- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Win32.Build.0 = Debug|Win32 -- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|x64.ActiveCfg = Debug|x64 -- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|x64.Build.0 = Debug|x64 -- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Ncat Static|Win32.ActiveCfg = Release|Win32 -- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Ncat Static|Win32.Build.0 = Release|Win32 -- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Ncat Static|x64.ActiveCfg = Release|x64 -- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Ncat Static|x64.Build.0 = Release|x64 -- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Win32.ActiveCfg = Release|Win32 -- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Win32.Build.0 = Release|Win32 -- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|x64.ActiveCfg = Release|x64 -- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|x64.Build.0 = Release|x64 -- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32 -- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32 -- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64 -- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64 -+ {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64 -+ {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.ReleaseWithoutAsm|x64.Build.0 = Release|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -+ GlobalSection(ExtensibilityGlobals) = postSolution -+ SolutionGuid = {DAA6BF7B-6F78-4BE7-A3FC-3B1BD73676C3} -+ EndGlobalSection - EndGlobal -diff --git a/mswin32/nmap.vcxproj b/mswin32/nmap.vcxproj -index a3abbc6..d5e1977 100644 ---- a/mswin32/nmap.vcxproj -+++ b/mswin32/nmap.vcxproj -@@ -5,10 +5,18 @@ - Debug - Win32 - -+ -+ Debug -+ x64 -+ - - Release - Win32 - -+ -+ Release -+ x64 -+ - - - {361719F0-AB42-4C93-9DE8-7D2144B96625} -@@ -21,12 +29,24 @@ - MultiByte - v120 - -+ -+ Application -+ false -+ MultiByte -+ v120 -+ - - Application - false - MultiByte - v120 - -+ -+ Application -+ false -+ MultiByte -+ v120 -+ - - - -@@ -34,10 +54,18 @@ - - - -+ -+ -+ -+ - - - - -+ -+ -+ -+ - - - <_ProjectFileVersion>10.0.30319.1 -@@ -76,7 +104,7 @@ - false - - -- liblua.lib;nsock.lib;libpcre.lib;nbase.lib;libdnet-stripped.lib;libssh2.lib;zlibstat.lib;liblinear.lib;ws2_32.lib;IPHlpAPI.Lib;wpcap.lib;packet.lib;advapi32.lib;libeay32.lib;ssleay32.lib;shell32.lib;libnetutil.lib -+ liblua.lib;nsock.lib;pcred.lib;nbase.lib;libdnet-stripped.lib;libssh2.lib;zlibd.lib;liblinear.lib;ws2_32.lib;IPHlpAPI.Lib;wpcap.lib;packet.lib;advapi32.lib;libssl.lib;libcrypto.lib;shell32.lib;libnetutil.lib - .\Debug\nmap.exe - true - ..\libssh2\win32\Release_dll;lib;..\liblua;..\libpcre;..\nsock;..\nbase;..\libdnet-stripped;../libnetutil;..\..\nmap-mswin32-aux\OpenSSL\lib;..\liblinear;..\libz\contrib\vstudio\vc11\x86\ZlibStatRelease;%(AdditionalLibraryDirectories) -@@ -91,8 +119,57 @@ - MachineX86 - - -- xcopy "$(SolutionDir)..\scripts" ".\$(Configuration)\scripts\" /e /y && xcopy "$(SolutionDir)..\nselib\*.lua" "$(SolutionDir)\$(Configuration)\nselib\" /y && xcopy /s /e "$(SolutionDir)..\nselib\data\*.*" "$(SolutionDir)\$(Configuration)\nselib\data\" /y && xcopy "$(SolutionDir)\..\..\nmap-mswin32-aux\OpenSSL\bin\*.dll" "$(SolutionDir)\$(Configuration)\" /y && xcopy "$(SolutionDir)..\nse_main.lua" "$(SolutionDir)\$(Configuration)\" /y --xcopy /y /d "$(ProjectDir)..\libssh2\win32\$(Configuration)_dll\*.dll" "$(ProjectDir)$(OutDir)" -+ xcopy "$(SolutionDir)..\scripts" ".\$(Configuration)\scripts\" /e /y && xcopy "$(SolutionDir)..\nselib\*.lua" "$(SolutionDir)\$(Configuration)\nselib\" /y && xcopy /s /e "$(SolutionDir)..\nselib\data\*.*" "$(SolutionDir)\$(Configuration)\nselib\data\" /y && xcopy "$(SolutionDir)..\nse_main.lua" "$(SolutionDir)\$(Configuration)\" /y -+ -+ -+ $(IntDir)%(Filename).res -+ -+ -+ -+ -+ .\Debug/nmap.tlb -+ -+ -+ -+ -+ Disabled -+ .;..;..\liblua;..\nbase;..\libpcre;..\nsock\include;pcap-include;..\libdnet-stripped\include;..\..\nmap-mswin32-aux\OpenSSL\include;..\liblinear;..\libssh2\include;..\libz;%(AdditionalIncludeDirectories) -+ WIN32;_CONSOLE;%(PreprocessorDefinitions) -+ ..\libssh2\include;.;..;..\liblua;..\nbase;..\libpcre;..\nsock\include;pcap-include;..\libdnet-stripped\include;..\..\nmap-mswin32-aux\OpenSSL\include;..\liblinear;%(AdditionalIncludeDirectories) -+ WIN32;_CONSOLE;BPF_MAJOR_VERSION;%(PreprocessorDefinitions) -+ false -+ false -+ false -+ EnableFastChecks -+ -+ -+ .\Debug/nmap.pch -+ .\Debug/ -+ .\Debug/ -+ .\Debug/ -+ Level2 -+ true -+ ProgramDatabase -+ CompileAsCpp -+ MultiThreadedDebugDLL -+ false -+ -+ -+ liblua.lib;nsock.lib;pcred.lib;nbase.lib;libdnet-stripped.lib;libssh2.lib;zlibd.lib;liblinear.lib;ws2_32.lib;IPHlpAPI.Lib;wpcap.lib;packet.lib;advapi32.lib;libssl.lib;libcrypto.lib;shell32.lib;libnetutil.lib -+ .\Debug\nmap.exe -+ true -+ ..\libssh2\win32\Release_dll;lib;..\liblua\x64\Debug;..\libpcre\x64\Debug;..\nsock\x64\Debug;..\nbase\x64\Debug;..\libdnet-stripped\x64\Debug;..\libnetutil\x64\Debug;..\..\nmap-mswin32-aux\OpenSSL\lib;..\liblinear\x64\Debug;..\libz\contrib\vstudio\vc11\x86\ZlibStatRelease;%(AdditionalLibraryDirectories) -+ %(IgnoreSpecificDefaultLibraries) -+ packet.dll;wpcap.dll;iphlpapi.dll;%(DelayLoadDLLs) -+ true -+ .\Debug/nmap.pdb -+ Console -+ false -+ -+ -+ -+ -+ xcopy "$(SolutionDir)..\scripts" ".\$(Configuration)\scripts\" /e /y && xcopy "$(SolutionDir)..\nselib\*.lua" "$(SolutionDir)\$(Configuration)\nselib\" /y && xcopy /s /e "$(SolutionDir)..\nselib\data\*.*" "$(SolutionDir)\$(Configuration)\nselib\data\" /y && xcopy "$(SolutionDir)..\nse_main.lua" "$(SolutionDir)\$(Configuration)\" /y - - - $(IntDir)%(Filename).res -@@ -121,7 +198,7 @@ xcopy /y /d "$(ProjectDir)..\libssh2\win32\$(Configuration)_dll\*.dll" "$(Proje - CompileAsCpp - - -- liblua.lib;nsock.lib;libpcre.lib;nbase.lib;libdnet-stripped.lib;libssh2.lib;zlibstat.lib;liblinear.lib;ws2_32.lib;IPHlpAPI.Lib;wpcap.lib;packet.lib;advapi32.lib;libeay32.lib;ssleay32.lib;shell32.lib;libnetutil.lib -+ liblua.lib;nsock.lib;pcre.lib;nbase.lib;libdnet-stripped.lib;libssh2.lib;zlib.lib;liblinear.lib;ws2_32.lib;IPHlpAPI.Lib;wpcap.lib;packet.lib;advapi32.lib;libssl.lib;libcrypto.lib;shell32.lib;libnetutil.lib - .\Release/nmap.exe - true - ..\libssh2\win32\Release_dll;lib;..\liblua;..\libpcre;..\nsock;..\nbase;..\libdnet-stripped;../libnetutil;..\..\nmap-mswin32-aux\OpenSSL\lib;..\liblinear;..\libz\contrib\vstudio\vc11\x86\ZlibStatRelease;%(AdditionalLibraryDirectories) -@@ -135,8 +212,46 @@ xcopy /y /d "$(ProjectDir)..\libssh2\win32\$(Configuration)_dll\*.dll" "$(Proje - /LTCG %(AdditionalOptions) - - -- xcopy "$(SolutionDir)..\scripts" ".\$(Configuration)\scripts\" /e /y && xcopy "$(SolutionDir)..\nselib\*.lua" "$(SolutionDir)\$(Configuration)\nselib\" /y && xcopy /s /e "$(SolutionDir)..\nselib\data\*.*" "$(SolutionDir)\$(Configuration)\nselib\data\" /y && xcopy "$(SolutionDir)\..\..\nmap-mswin32-aux\OpenSSL\bin\*.dll" "$(SolutionDir)\$(Configuration)\" /y && xcopy "$(SolutionDir)..\nse_main.lua" "$(SolutionDir)\$(Configuration)\" /y --xcopy /y /d "$(ProjectDir)..\libssh2\win32\$(Configuration)_dll\*.dll" "$(ProjectDir)$(OutDir)" -+ xcopy "$(SolutionDir)..\scripts" ".\$(Configuration)\scripts\" /e /y && xcopy "$(SolutionDir)..\nselib\*.lua" "$(SolutionDir)\$(Configuration)\nselib\" /y && xcopy /s /e "$(SolutionDir)..\nselib\data\*.*" "$(SolutionDir)\$(Configuration)\nselib\data\" /y && xcopy "$(SolutionDir)..\nse_main.lua" "$(SolutionDir)\$(Configuration)\" /y -+ -+ -+ -+ -+ .\Release/nmap.tlb -+ -+ -+ -+ -+ MaxSpeed -+ OnlyExplicitInline -+ .;..;..\liblua;..\nbase;..\libpcre;..\nsock\include;pcap-include;..\libdnet-stripped\include;..\..\nmap-mswin32-aux\OpenSSL\include;..\liblinear;..\libssh2\include;..\libz;%(AdditionalIncludeDirectories) -+ WIN32;_CONSOLE;BPF_MAJOR_VERSION;%(PreprocessorDefinitions) -+ true -+ true -+ -+ -+ .\Release/nmap.pch -+ .\Release/ -+ .\Release/ -+ .\Release/ -+ true -+ CompileAsCpp -+ -+ -+ liblua.lib;nsock.lib;pcre.lib;nbase.lib;libdnet-stripped.lib;libssh2.lib;zlib.lib;liblinear.lib;ws2_32.lib;IPHlpAPI.Lib;wpcap.lib;packet.lib;advapi32.lib;libssl.lib;libcrypto.lib;shell32.lib;libnetutil.lib -+ .\Release/nmap.exe -+ true -+ ..\libssh2\win32\Release_dll;lib;..\liblua\x64\Release;..\libpcre;..\nsock\x64\Release;..\nbase\x64\Release;..\libdnet-stripped\x64\Release;..\libnetutil\x64\Release;..\..\nmap-mswin32-aux\OpenSSL\lib;..\liblinear\x64\Release;..\libz\contrib\vstudio\vc11\x86\ZlibStatRelease;%(AdditionalLibraryDirectories) -+ %(IgnoreSpecificDefaultLibraries) -+ packet.dll;wpcap.dll;iphlpapi.dll;%(DelayLoadDLLs) -+ .\Release/nmap.pdb -+ Console -+ true -+ true -+ /LTCG %(AdditionalOptions) -+ -+ -+ xcopy "$(SolutionDir)..\scripts" ".\$(Configuration)\scripts\" /e /y && xcopy "$(SolutionDir)..\nselib\*.lua" "$(SolutionDir)\$(Configuration)\nselib\" /y && xcopy /s /e "$(SolutionDir)..\nselib\data\*.*" "$(SolutionDir)\$(Configuration)\nselib\data\" /y && xcopy "$(SolutionDir)..\nse_main.lua" "$(SolutionDir)\$(Configuration)\" /y - - - -@@ -191,7 +306,9 @@ xcopy /y /d "$(ProjectDir)..\libssh2\win32\$(Configuration)_dll\*.dll" "$(Proje - - - Sync -+ Sync - Sync -+ Sync - - - -@@ -251,83 +368,147 @@ xcopy /y /d "$(ProjectDir)..\libssh2\win32\$(Configuration)_dll\*.dll" "$(Proje - - - Copying %(Filename) to output directory... -+ Copying %(Filename) to output directory... - copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul -+ -+ copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul - - $(TargetDir)%(Filename);%(Outputs) -+ $(TargetDir)%(Filename);%(Outputs) - Copying %(Filename) to output directory... -+ Copying %(Filename) to output directory... - copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul -+ -+ copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul - - $(TargetDir)%(Filename);%(Outputs) -+ $(TargetDir)%(Filename);%(Outputs) - - - Copying %(Filename) to output directory... -+ Copying %(Filename) to output directory... - copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul -+ -+ copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul - - $(TargetDir)%(Filename);%(Outputs) -+ $(TargetDir)%(Filename);%(Outputs) - Copying %(Filename) to output directory... -+ Copying %(Filename) to output directory... - copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul -+ -+ copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul - - $(TargetDir)%(Filename);%(Outputs) -+ $(TargetDir)%(Filename);%(Outputs) - - - Copying %(Filename) to output directory... -+ Copying %(Filename) to output directory... - copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul -+ -+ copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul - - $(TargetDir)%(Filename);%(Outputs) -+ $(TargetDir)%(Filename);%(Outputs) - Copying %(Filename) to output directory... -+ Copying %(Filename) to output directory... - copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul -+ -+ copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul - - $(TargetDir)%(Filename);%(Outputs) -+ $(TargetDir)%(Filename);%(Outputs) - - - Copying %(Filename) to output directory... -+ Copying %(Filename) to output directory... - copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul -+ -+ copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul - - $(TargetDir)%(Filename);%(Outputs) -+ $(TargetDir)%(Filename);%(Outputs) - Copying %(Filename) to output directory... -+ Copying %(Filename) to output directory... - copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul -+ -+ copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul - - $(TargetDir)%(Filename);%(Outputs) -+ $(TargetDir)%(Filename);%(Outputs) - - - Copying %(Filename) to output directory... -+ Copying %(Filename) to output directory... - copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul -+ -+ copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul - - $(TargetDir)%(Filename);%(Outputs) -+ $(TargetDir)%(Filename);%(Outputs) - Copying %(Filename) to output directory... -+ Copying %(Filename) to output directory... - copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul -+ -+ copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul - - $(TargetDir)%(Filename);%(Outputs) -+ $(TargetDir)%(Filename);%(Outputs) - - - Copying %(Filename) to output directory... -+ Copying %(Filename) to output directory... - copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul -+ -+ copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul - - $(TargetDir)%(Filename);%(Outputs) -+ $(TargetDir)%(Filename);%(Outputs) - Copying %(Filename) to output directory... -+ Copying %(Filename) to output directory... - copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul -+ -+ copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul - - $(TargetDir)%(Filename);%(Outputs) -+ $(TargetDir)%(Filename);%(Outputs) - - - Copying %(Filename) to output directory... -+ Copying %(Filename) to output directory... - copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul -+ -+ copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul - - $(TargetDir)%(Filename);%(Outputs) -+ $(TargetDir)%(Filename);%(Outputs) - Copying %(Filename) to output directory... -+ Copying %(Filename) to output directory... - copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul -+ -+ copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul - - $(TargetDir)%(Filename);%(Outputs) -+ $(TargetDir)%(Filename);%(Outputs) - - - Copying %(Filename).xsl to output directory... -+ Copying %(Filename).xsl to output directory... - copy /y "%(FullPath)" "$(TargetDir)%(Filename).xsl" > nul -+ -+ copy /y "%(FullPath)" "$(TargetDir)%(Filename).xsl" > nul - - $(TargetDir)%(Filename).xsl;%(Outputs) -+ $(TargetDir)%(Filename).xsl;%(Outputs) - Copying %(Filename).xsl to output directory... -+ Copying %(Filename).xsl to output directory... - copy /y "%(FullPath)" "$(TargetDir)%(Filename).xsl" > nul -+ -+ copy /y "%(FullPath)" "$(TargetDir)%(Filename).xsl" > nul - - $(TargetDir)%(Filename).xsl;%(Outputs) -+ $(TargetDir)%(Filename).xsl;%(Outputs) - - - -@@ -339,18 +520,6 @@ xcopy /y /d "$(ProjectDir)..\libssh2\win32\$(Configuration)_dll\*.dll" "$(Proje - {31fb0767-a71f-4575-8379-002d72b8af86} - false - -- -- {5de86c7a-de72-4265-8807-4ca38f94f22a} -- false -- -- -- {ed957342-e43b-496e-92d9-4c76b525bdf5} -- false -- false -- false -- true -- false -- - - {b630c8f7-3138-43e8-89ed-78742fa2ac5f} - false -diff --git a/nbase/nbase.vcxproj b/nbase/nbase.vcxproj -index 948d7c8..b600c7b 100644 ---- a/nbase/nbase.vcxproj -+++ b/nbase/nbase.vcxproj -@@ -5,14 +5,26 @@ - Debug - Win32 - -+ -+ Debug -+ x64 -+ - - Release - Win32 - -+ -+ Release -+ x64 -+ - - Static - Win32 - -+ -+ Static -+ x64 -+ - - - {B630C8F7-3138-43E8-89ED-78742FA2AC5F} -@@ -25,16 +37,31 @@ - MultiByte - v120 - -+ -+ StaticLibrary -+ MultiByte -+ v120 -+ - - StaticLibrary - MultiByte - v120 - -+ -+ StaticLibrary -+ MultiByte -+ v120 -+ - - StaticLibrary - MultiByte - v120 - -+ -+ StaticLibrary -+ MultiByte -+ v120 -+ - - - -@@ -42,14 +69,26 @@ - - - -+ -+ -+ -+ - - - - -+ -+ -+ -+ - - - - -+ -+ -+ -+ - - - <_ProjectFileVersion>10.0.30319.1 -@@ -76,6 +115,21 @@ - $(OutDir)nbase.lib - - -+ -+ -+ Disabled -+ WIN32;_LIB;%(PreprocessorDefinitions) -+ EnableFastChecks -+ MultiThreadedDebugDLL -+ -+ -+ Level3 -+ ProgramDatabase -+ -+ -+ $(OutDir)nbase.lib -+ -+ - - - /D "_CRT_SECURE_NO_DEPRECATE" %(AdditionalOptions) -@@ -89,6 +143,19 @@ - $(OutDir)nbase.lib - - -+ -+ -+ /D "_CRT_SECURE_NO_DEPRECATE" %(AdditionalOptions) -+ WIN32;_LIB;%(PreprocessorDefinitions) -+ -+ -+ Level3 -+ ProgramDatabase -+ -+ -+ $(OutDir)nbase.lib -+ -+ - - - /D "_CRT_SECURE_NO_DEPRECATE" %(AdditionalOptions) -@@ -103,6 +170,20 @@ - $(OutDir)nbase.lib - - -+ -+ -+ /D "_CRT_SECURE_NO_DEPRECATE" %(AdditionalOptions) -+ WIN32;_LIB;%(PreprocessorDefinitions) -+ MultiThreaded -+ -+ -+ Level3 -+ ProgramDatabase -+ -+ -+ $(OutDir)nbase.lib -+ -+ - - - -diff --git a/ncat/ncat.vcxproj b/ncat/ncat.vcxproj -index fc44dfa..e066b29 100644 ---- a/ncat/ncat.vcxproj -+++ b/ncat/ncat.vcxproj -@@ -5,14 +5,26 @@ - Debug - Win32 - -+ -+ Debug -+ x64 -+ - - Release - Win32 - -+ -+ Release -+ x64 -+ - - Static - Win32 - -+ -+ Static -+ x64 -+ - - - {C1E04411-E021-468B-83F1-CB624BBA7589} -@@ -25,18 +37,36 @@ - MultiByte - v120 - -+ -+ Application -+ false -+ MultiByte -+ v120 -+ - - Application - false - MultiByte - v120 - -+ -+ Application -+ false -+ MultiByte -+ v120 -+ - - Application - false - MultiByte - v120 - -+ -+ Application -+ false -+ MultiByte -+ v120 -+ - - - -@@ -44,26 +74,41 @@ - - - -+ -+ -+ -+ - - - - -+ -+ -+ -+ - - - - -+ -+ -+ -+ - - - <_ProjectFileVersion>10.0.30319.1 - .\$(Configuration)\ - .\$(Configuration)\ - true -+ true - .\Release\ - .\Release\ - .\Release\ - .\Release\ - true -+ true - true -+ true - - - -@@ -111,6 +156,51 @@ - xcopy "..\..\nmap-mswin32-aux\OpenSSL\bin\*.dll" "$(Configuration)\" /y - - -+ -+ -+ .\Debug/ncat.tlb -+ -+ -+ -+ -+ Disabled -+ .;..;../nbase;..\nsock\include;..\mswin32\pcap-include;..\..\nmap-mswin32-aux\OpenSSL\include;..\liblua;%(AdditionalIncludeDirectories) -+ WIN32;_CONSOLE;%(PreprocessorDefinitions) -+ EnableFastChecks -+ MultiThreadedDebugDLL -+ -+ -+ .\Debug/ncat.pch -+ .\Debug/ -+ .\Debug/ -+ .\Debug/ -+ Level2 -+ true -+ ProgramDatabase -+ CompileAsCpp -+ -+ -+ -+ -+ -+ -+ nbase.lib;ws2_32.lib;IPHlpAPI.Lib;wpcap.lib;nsock.lib;advapi32.lib;libcrypto.lib;libssl.lib;liblua.lib -+ .\Debug\ncat.exe -+ true -+ ..\mswin32\lib;..\nsock;..\nbase;..\..\nmap-mswin32-aux\OpenSSL\lib;..\liblua;%(AdditionalLibraryDirectories) -+ %(IgnoreSpecificDefaultLibraries) -+ wpcap.dll;%(DelayLoadDLLs) -+ true -+ .\Debug/ncat.pdb -+ Console -+ false -+ -+ -+ -+ -+ xcopy "..\..\nmap-mswin32-aux\OpenSSL\bin\*.dll" "$(Configuration)\" /y -+ -+ - - - .\Release/ncat.tlb -@@ -151,6 +241,45 @@ - xcopy "..\..\nmap-mswin32-aux\OpenSSL\bin\*.dll" "$(Configuration)\" /y - - -+ -+ -+ .\Release/ncat.tlb -+ -+ -+ -+ -+ MaxSpeed -+ OnlyExplicitInline -+ .;..;../nbase;..\nsock\include;..\mswin32\pcap-include;..\..\nmap-mswin32-aux\OpenSSL\include;..\liblua;%(AdditionalIncludeDirectories) -+ WIN32;_CONSOLE;%(PreprocessorDefinitions) -+ true -+ true -+ -+ -+ .\Release/ncat.pch -+ .\Release/ -+ .\Release/ -+ .\Release/ -+ Level2 -+ true -+ CompileAsCpp -+ -+ -+ nsock.lib;nbase.lib;ws2_32.lib;IPHlpAPI.Lib;wpcap.lib;advapi32.lib;libcrypto.lib;libssl.lib -+ .\Release/ncat.exe -+ true -+ ..\mswin32\lib;..\nsock;..\nbase;..\..\nmap-mswin32-aux\OpenSSL\lib;%(AdditionalLibraryDirectories) -+ %(IgnoreSpecificDefaultLibraries) -+ wpcap.dll;%(DelayLoadDLLs) -+ .\Release/ncat.pdb -+ Console -+ true -+ true -+ -+ -+ xcopy "..\..\nmap-mswin32-aux\OpenSSL\bin\*.dll" "$(Configuration)\" /y -+ -+ - - - .\Release/ncat.tlb -@@ -193,6 +322,47 @@ - - - -+ -+ -+ .\Release/ncat.tlb -+ -+ -+ -+ -+ MaxSpeed -+ OnlyExplicitInline -+ .;..;../nbase;..\nsock\include;..\mswin32\pcap-include;..\..\nmap-mswin32-aux\OpenSSL\include;%(AdditionalIncludeDirectories) -+ WIN32;_CONSOLE;%(PreprocessorDefinitions) -+ true -+ MultiThreaded -+ true -+ -+ -+ .\Release/ncat.pch -+ .\Release/ -+ .\Release/ -+ .\Release/ -+ Level2 -+ true -+ CompileAsCpp -+ -+ -+ nsock.lib;nbase.lib;ws2_32.lib;IPHlpAPI.Lib;advapi32.lib;libssl.lib;libcrypto.lib;user32.lib;gdi32.lib -+ .\Release/ncat.exe -+ true -+ ..\mswin32\lib;..\nsock;..\nbase;..\..\nmap-mswin32-aux\OpenSSL\lib;%(AdditionalLibraryDirectories) -+ %(IgnoreSpecificDefaultLibraries) -+ %(DelayLoadDLLs) -+ .\Release/ncat.pdb -+ Console -+ true -+ true -+ -+ -+ -+ -+ -+ - - - -@@ -230,17 +400,29 @@ - - - Copying %(Filename).crt to output directory... -+ Copying %(Filename).crt to output directory... - copy /y "%(FullPath)" "$(TargetDir)%(Filename).crt" > nul -+ -+ copy /y "%(FullPath)" "$(TargetDir)%(Filename).crt" > nul - - $(TargetDir)%(Filename).crt;%(Outputs) -+ $(TargetDir)%(Filename).crt;%(Outputs) - Copying %(Filename).crt to output directory... -+ Copying %(Filename).crt to output directory... - Copying %(Filename).crt to output directory... -+ Copying %(Filename).crt to output directory... - copy /y "%(FullPath)" "$(TargetDir)%(Filename).crt" > nul -+ -+ copy /y "%(FullPath)" "$(TargetDir)%(Filename).crt" > nul - - copy /y "%(FullPath)" "$(TargetDir)%(Filename).crt" > nul -+ -+ copy /y "%(FullPath)" "$(TargetDir)%(Filename).crt" > nul - - $(TargetDir)%(Filename).crt;%(Outputs) -+ $(TargetDir)%(Filename).crt;%(Outputs) - $(TargetDir)%(Filename).crt;%(Outputs) -+ $(TargetDir)%(Filename).crt;%(Outputs) - - - -diff --git a/nping/nping.vcxproj b/nping/nping.vcxproj -index 57bd4ed..fa7a604 100644 ---- a/nping/nping.vcxproj -+++ b/nping/nping.vcxproj -@@ -5,10 +5,18 @@ - Debug - Win32 - -+ -+ Debug -+ x64 -+ - - Release - Win32 - -+ -+ Release -+ x64 -+ - - - {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36} -@@ -21,12 +29,24 @@ - MultiByte - v120 - -+ -+ Application -+ false -+ MultiByte -+ v120 -+ - - Application - false - MultiByte - v120 - -+ -+ Application -+ false -+ MultiByte -+ v120 -+ - - - -@@ -34,19 +54,29 @@ - - - -+ -+ -+ -+ - - - - -+ -+ -+ -+ - - - <_ProjectFileVersion>10.0.30319.1 - .\$(Configuration)\ - .\$(Configuration)\ - true -+ true - .\Release\ - .\Release\ - true -+ true - - - -@@ -93,6 +123,50 @@ - xcopy "..\..\nmap-mswin32-aux\OpenSSL\bin\*.dll" "$(SolutionDir)\$(Configuration)\" /y - - -+ -+ -+ .\Debug/nmap.tlb -+ -+ -+ -+ -+ Disabled -+ .;..;..\mswin32;../nbase;..\nsock\include;..\mswin32\pcap-include;..\libdnet-stripped\include;..\..\nmap-mswin32-aux\OpenSSL\include;%(AdditionalIncludeDirectories) -+ WIN32;_CONSOLE;BPF_MAJOR_VERSION;%(PreprocessorDefinitions) -+ false -+ false -+ false -+ EnableFastChecks -+ MultiThreadedDebugDLL -+ -+ -+ .\Debug/nmap.pch -+ .\Debug/ -+ .\Debug/ -+ .\Debug/ -+ Level2 -+ true -+ ProgramDatabase -+ CompileAsCpp -+ -+ -+ nsock.lib;nbase.lib;libdnet-stripped.lib;ws2_32.lib;IPHlpAPI.Lib;wpcap.lib;packet.lib;advapi32.lib;libssl.lib;libcrypto.lib;shell32.lib;libnetutil.lib -+ .\Debug\nping.exe -+ true -+ ..\mswin32\lib;..\nsock;..\nbase;..\libdnet-stripped;../libnetutil;..\..\nmap-mswin32-aux\OpenSSL\lib;%(AdditionalLibraryDirectories) -+ %(IgnoreSpecificDefaultLibraries) -+ packet.dll;wpcap.dll;iphlpapi.dll;%(DelayLoadDLLs) -+ true -+ .\Debug/nmap.pdb -+ Console -+ false -+ -+ -+ -+ -+ xcopy "..\..\nmap-mswin32-aux\OpenSSL\bin\*.dll" "$(SolutionDir)\$(Configuration)\" /y -+ -+ - - - .\Release/nmap.tlb -@@ -132,6 +206,44 @@ - xcopy "..\..\nmap-mswin32-aux\OpenSSL\bin\*.dll" "$(SolutionDir)\$(Configuration)\" /y - - -+ -+ -+ .\Release/nmap.tlb -+ -+ -+ -+ -+ MaxSpeed -+ OnlyExplicitInline -+ .;..;..\mswin32;../nbase;..\nsock\include;..\mswin32\pcap-include;..\libdnet-stripped\include;..\..\nmap-mswin32-aux\OpenSSL\include;%(AdditionalIncludeDirectories) -+ WIN32;_CONSOLE;BPF_MAJOR_VERSION;%(PreprocessorDefinitions) -+ true -+ true -+ -+ -+ .\Release/nping.pch -+ .\Release/ -+ .\Release/ -+ .\Release/ -+ true -+ CompileAsCpp -+ -+ -+ nsock.lib;nbase.lib;libdnet-stripped.lib;ws2_32.lib;IPHlpAPI.Lib;wpcap.lib;packet.lib;advapi32.lib;libssl.lib;libcrypto.lib;shell32.lib;libnetutil.lib -+ .\Release/nping.exe -+ true -+ ..\mswin32\lib;..\nsock;..\nbase;..\libdnet-stripped;../libnetutil;..\..\nmap-mswin32-aux\OpenSSL\lib;%(AdditionalLibraryDirectories) -+ %(IgnoreSpecificDefaultLibraries) -+ packet.dll;wpcap.dll;iphlpapi.dll;%(DelayLoadDLLs) -+ .\Release/nping.pdb -+ Console -+ true -+ true -+ -+ -+ xcopy "..\..\nmap-mswin32-aux\OpenSSL\bin\*.dll" "$(SolutionDir)\$(Configuration)\" /y -+ -+ - - - -diff --git a/nsock/nsock.vcxproj b/nsock/nsock.vcxproj -index 36feb48..f720258 100644 ---- a/nsock/nsock.vcxproj -+++ b/nsock/nsock.vcxproj -@@ -5,22 +5,42 @@ - DebugNoPcap - Win32 - -+ -+ DebugNoPcap -+ x64 -+ - - Debug - Win32 - -+ -+ Debug -+ x64 -+ - - ReleaseNoPcap - Win32 - -+ -+ ReleaseNoPcap -+ x64 -+ - - Release - Win32 - -+ -+ Release -+ x64 -+ - - Static - Win32 - -+ -+ Static -+ x64 -+ - - - {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4} -@@ -33,26 +53,51 @@ - MultiByte - v120 - -+ -+ StaticLibrary -+ MultiByte -+ v120 -+ - - StaticLibrary - MultiByte - v120 - -+ -+ StaticLibrary -+ MultiByte -+ v120 -+ - - StaticLibrary - MultiByte - v120 - -+ -+ StaticLibrary -+ MultiByte -+ v120 -+ - - StaticLibrary - MultiByte - v120 - -+ -+ StaticLibrary -+ MultiByte -+ v120 -+ - - StaticLibrary - MultiByte - v120 - -+ -+ StaticLibrary -+ MultiByte -+ v120 -+ - - - -@@ -60,22 +105,42 @@ - - - -+ -+ -+ -+ - - - - -+ -+ -+ -+ - - - - -+ -+ -+ -+ - - - - -+ -+ -+ -+ - - - - -+ -+ -+ -+ - - - <_ProjectFileVersion>10.0.30319.1 -@@ -110,6 +175,25 @@ - $(OutDir)nsock.lib - - -+ -+ -+ Disabled -+ ..\nbase\;include;..\mswin32\pcap-include;..\mswin32;..\;..\..\nmap-mswin32-aux\OpenSSL\include;%(AdditionalIncludeDirectories) -+ WIN32;_LIB;%(PreprocessorDefinitions) -+ -+ -+ EnableFastChecks -+ MultiThreadedDebugDLL -+ -+ -+ Level3 -+ ProgramDatabase -+ CompileAsCpp -+ -+ -+ $(OutDir)nsock.lib -+ -+ - - - /D "_CRT_SECURE_NO_DEPRECATE" %(AdditionalOptions) -@@ -127,6 +211,23 @@ - $(OutDir)nsock.lib - - -+ -+ -+ /D "_CRT_SECURE_NO_DEPRECATE" %(AdditionalOptions) -+ ..\nbase\;include;..\mswin32\pcap-include;..\mswin32;..\;..\..\nmap-mswin32-aux\OpenSSL\include;%(AdditionalIncludeDirectories) -+ WIN32;_LIB;%(PreprocessorDefinitions) -+ -+ -+ -+ -+ Level3 -+ ProgramDatabase -+ CompileAsCpp -+ -+ -+ $(OutDir)nsock.lib -+ -+ - - - /D "_CRT_SECURE_NO_DEPRECATE" %(AdditionalOptions) -@@ -145,6 +246,24 @@ - $(OutDir)nsock.lib - - -+ -+ -+ /D "_CRT_SECURE_NO_DEPRECATE" %(AdditionalOptions) -+ ..\nbase\;include;..\mswin32\pcap-include;..\mswin32;..\;..\..\nmap-mswin32-aux\OpenSSL\include;%(AdditionalIncludeDirectories) -+ WIN32;_LIB;%(PreprocessorDefinitions);DISABLE_NSOCK_PCAP -+ -+ -+ MultiThreaded -+ -+ -+ Level3 -+ ProgramDatabase -+ CompileAsCpp -+ -+ -+ $(OutDir)nsock.lib -+ -+ - - - /D "DISABLE_NSOCK_PCAP" %(AdditionalOptions) -@@ -166,9 +285,47 @@ - $(OutDir)nsock.lib - - -+ -+ -+ /D "DISABLE_NSOCK_PCAP" %(AdditionalOptions) -+ Disabled -+ ..\nbase\;include;..\mswin32\pcap-include;..\mswin32;..\;..\..\nmap-mswin32-aux\OpenSSL\include;%(AdditionalIncludeDirectories) -+ WIN32;_LIB;%(PreprocessorDefinitions) -+ -+ -+ EnableFastChecks -+ MultiThreadedDebugDLL -+ -+ -+ Level3 -+ ProgramDatabase -+ CompileAsCpp -+ -+ -+ $(OutDir)nsock.lib -+ -+ - - - /D "_CRT_SECURE_NO_DEPRECATE" -+/D "DISABLE_NSOCK_PCAP" %(AdditionalOptions) -+ ..\nbase\;include;..\mswin32\pcap-include;..\mswin32;..\;..\..\nmap-mswin32-aux\OpenSSL\include;%(AdditionalIncludeDirectories) -+ WIN32;_LIB;%(PreprocessorDefinitions) -+ -+ -+ -+ -+ Level3 -+ ProgramDatabase -+ CompileAsCpp -+ -+ -+ $(OutDir)nsock.lib -+ -+ -+ -+ -+ /D "_CRT_SECURE_NO_DEPRECATE" - /D "DISABLE_NSOCK_PCAP" %(AdditionalOptions) - ..\nbase\;include;..\mswin32\pcap-include;..\mswin32;..\;..\..\nmap-mswin32-aux\OpenSSL\include;%(AdditionalIncludeDirectories) - WIN32;_LIB;%(PreprocessorDefinitions) diff --git a/ports/nmap/fix-snprintf.patch b/ports/nmap/fix-snprintf.patch deleted file mode 100644 index aafd1cfe9408ab..00000000000000 --- a/ports/nmap/fix-snprintf.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff --git a/libdnet-stripped/include/dnet_winconfig.h b/libdnet-stripped/include/dnet_winconfig.h -index e41907c..82bc595 100644 ---- a/libdnet-stripped/include/dnet_winconfig.h -+++ b/libdnet-stripped/include/dnet_winconfig.h -@@ -277,7 +277,7 @@ int strlcpy(char *, const char *, int); - char *strsep(char **, const char *); - #endif - --#define snprintf _snprintf -+//#define snprintf _snprintf - - /* Without this, Windows will give us all sorts of crap about using functions - like strcpy() even if they are done safely */ -diff --git a/nbase/nbase.h b/nbase/nbase.h -index 0ecd9bc..c0eb395 100644 ---- a/nbase/nbase.h -+++ b/nbase/nbase.h -@@ -359,7 +359,7 @@ extern "C" int vsnprintf (char *, size_t, const char *, va_list); - #define putenv _putenv - - #if !defined(__GNUC__) --#define snprintf _snprintf -+//#define snprintf _snprintf - #endif - - #define strcasecmp _stricmp -diff --git a/nse_libssh2.cc b/nse_libssh2.cc -index bf721b6..1fafe7f 100644 ---- a/nse_libssh2.cc -+++ b/nse_libssh2.cc -@@ -58,7 +58,7 @@ struct ssh_userdata { - - - #if defined(_MSC_VER) && _MSC_VER < 1900 --#define snprintf c99_snprintf -+//#define snprintf c99_snprintf - #define vsnprintf c99_vsnprintf - - __inline int c99_vsnprintf(char *outBuf, size_t size, const char *format, va_list ap) { diff --git a/ports/nmap/fix-ssize_t.patch b/ports/nmap/fix-ssize_t.patch deleted file mode 100644 index 36103a8c246d73..00000000000000 --- a/ports/nmap/fix-ssize_t.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/libdnet-stripped/include/dnet/os.h b/libdnet-stripped/include/dnet/os.h -index 55a21b9..544ebd8 100644 ---- a/libdnet-stripped/include/dnet/os.h -+++ b/libdnet-stripped/include/dnet/os.h -@@ -23,7 +23,11 @@ - typedef u_short uint16_t; - typedef u_int uint32_t; - # ifndef __CYGWIN__ -+#ifdef _WIN64 -+ typedef __int64 ssize_t; -+#else - typedef long ssize_t; -+#endif - # endif - #else - # include diff --git a/ports/nmap/portfile.cmake b/ports/nmap/portfile.cmake deleted file mode 100644 index 4440892871a166..00000000000000 --- a/ports/nmap/portfile.cmake +++ /dev/null @@ -1,112 +0,0 @@ -# nmap is a tools, so ignor POST_CHECK -SET(VCPKG_POLICY_EMPTY_PACKAGE enabled) - -vcpkg_download_distfile(ARCHIVE - URLS "https://nmap.org/dist/nmap-7.70.tar.bz2" - FILENAME "nmap-7.70.tar.bz2" - SHA512 084c148b022ff6550e269d976d0077f7932a10e2ef218236fe13aa3a70b4eb6506df03329868fc68cb3ce78e4360b200f5a7a491d3145028fed679ef1c9ecae5 -) - -if(VCPKG_TARGET_IS_WINDOWS) - vcpkg_extract_source_archive( - SOURCE_PATH - ARCHIVE ${ARCHIVE} - PATCHES - fix-snprintf.patch - fix-ssize_t.patch - fix-msvc-prj.patch - ) - list(APPEND DEL_PROJS "libpcap" "libpcre" "libssh2" "libz") - foreach (DEL_PROJ ${DEL_PROJS}) - file(REMOVE_RECURSE "${SOURCE_PATH}/${DEL_PROJ}") - endforeach() - - if(NOT EXISTS "${CURRENT_INSTALLED_DIR}/bin/Packet.dll") - vcpkg_replace_string("${SOURCE_PATH}/mswin32/pcap-include/pcap/export-defs.h" "#define PCAP_API_DEF __declspec(dllimport)" "#define PCAP_API_DEF ") - else() # editable - vcpkg_replace_string("${SOURCE_PATH}/mswin32/pcap-include/pcap/export-defs.h" "#define PCAP_API_DEF " "#define PCAP_API_DEF __declspec(dllimport)") - endif() - - # Clear - vcpkg_execute_required_process( - COMMAND "devenv.exe" - "nmap.sln" - /Clean - WORKING_DIRECTORY ${SOURCE_PATH}/mswin32 - ) - # Uprade - message(STATUS "Upgrade solution...") - vcpkg_execute_required_process( - COMMAND "devenv.exe" - "nmap.sln" - /Upgrade - WORKING_DIRECTORY ${SOURCE_PATH}/mswin32 - LOGNAME upgrade-Packet-${TARGET_TRIPLET} - ) - file(REMOVE_RECURSE "${SOURCE_PATH}/mswin32/Lib") - vcpkg_msbuild_install( - SOURCE_PATH "${SOURCE_PATH}" - PROJECT_SUBPATH mswin32/nmap.vcxproj - PLATFORM ${MSBUILD_PLATFORM} - ADDITIONAL_LIBS Packet.lib wpcap.lib User32.lib Crypt32.lib - ) -else() - set(ENV{LDFLAGS} "$ENV{LDFLAGS} -pthread") - set(OPTIONS --without-nmap-update --with-openssl=${CURRENT_INSTALLED_DIR} --with-libssh2=${CURRENT_INSTALLED_DIR} --with-libz=${CURRENT_INSTALLED_DIR} --with-libpcre=${CURRENT_INSTALLED_DIR}) - message(STATUS "Building Options: ${OPTIONS}") - - # Since nmap makefile has strong relationshop with codes, copy codes to obj path - message(STATUS "Configuring ${TARGET_TRIPLET}-rel") - vcpkg_extract_source_archive(source_path_release - ARCHIVE "${ARCHIVE}" - WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel" - ) - - vcpkg_execute_required_process( - COMMAND "./configure" ${OPTIONS} - WORKING_DIRECTORY "${source_path_release}" - LOGNAME config-${TARGET_TRIPLET}-rel - ) - - message(STATUS "Building ${TARGET_TRIPLET}-rel") - vcpkg_execute_required_process( - COMMAND make - WORKING_DIRECTORY "${source_path_release}" - LOGNAME build-${TARGET_TRIPLET}-rel - ) - - message(STATUS "Installing ${TARGET_TRIPLET}-rel") - file(INSTALL "${source_path_release}/nmap" DESTINATION "${CURRENT_PACKAGES_DIR}/tools") - - if (NOT VCPKG_BUILD_TYPE) - # Since nmap makefile has strong relationshop with codes, copy codes to obj path - message(STATUS "Configuring ${TARGET_TRIPLET}-dbg") - vcpkg_extract_source_archive(source_path_debug - ARCHIVE "${ARCHIVE}" - WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel" - ) - - vcpkg_execute_required_process( - COMMAND "./configure" ${OPTIONS} - WORKING_DIRECTORY ${source_path_debug} - LOGNAME config-${TARGET_TRIPLET}-dbg - ) - - message(STATUS "Building ${TARGET_TRIPLET}-dbg") - vcpkg_execute_required_process( - COMMAND make - WORKING_DIRECTORY ${source_path_debug} - LOGNAME build-${TARGET_TRIPLET}-dbg - ) - - message(STATUS "Installing ${TARGET_TRIPLET}-dbg") - file(INSTALL ${source_path_release}/nmap DESTINATION ${CURRENT_PACKAGES_DIR}/debug/tools) - endif() - - set(SOURCE_PATH "${source_path_release}") -endif() - -# Handle copyright -vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") - -file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/nmap/usage b/ports/nmap/usage deleted file mode 100644 index 56722008cea82b..00000000000000 --- a/ports/nmap/usage +++ /dev/null @@ -1,5 +0,0 @@ -The package nmap is compatible with built-in CMake targets: - - find_package(NMAP REQUIRED) - target_link_libraries(main PRIVATE ${NMAP_LIBRARIES}) - target_include_directories(main PRIVATE ${NMAP_INCLUDE_DIRS}) diff --git a/ports/nmap/vcpkg.json b/ports/nmap/vcpkg.json deleted file mode 100644 index 59ae90b286bb98..00000000000000 --- a/ports/nmap/vcpkg.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "name": "nmap", - "version": "7.70", - "port-version": 11, - "description": "A library for scanning network ports.", - "dependencies": [ - { - "name": "libpcap", - "platform": "!windows" - }, - "libssh2", - "lua", - "openssl", - "pcre", - { - "name": "python2", - "platform": "windows" - }, - { - "name": "vcpkg-msbuild", - "host": true, - "platform": "windows" - }, - { - "name": "winpcap", - "platform": "windows" - }, - "zlib" - ] -} diff --git a/ports/nng/portfile.cmake b/ports/nng/portfile.cmake index 3dd2b297411d6b..eea50e8ddcaa77 100644 --- a/ports/nng/portfile.cmake +++ b/ports/nng/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO nanomsg/nng - REF v1.5.2 - SHA512 33cda9e0422c6e8cb56e48bd812f381bf07a92a0aa2fbadddbca7cfde585c66299142186a3a76a97163e5570042452a62c1e53180ebfbf016a44eee998b16286 + REF "v${VERSION}" + SHA512 44c53e86d764ff860fd007fe21adee166e25e9e0668b49f830da9f350fb3a91d52424623d556d1d6050d5baea80cf448275cc5c5e647ebc4ee0d0800cafaab73 HEAD_REF master ) @@ -50,6 +50,6 @@ if ("tools" IN_LIST FEATURES) vcpkg_copy_tools(TOOL_NAMES nngcat AUTO_CLEAN) endif() -file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") vcpkg_copy_pdbs() diff --git a/ports/nng/vcpkg.json b/ports/nng/vcpkg.json index cdb6da7df70493..723e90f8fb1e64 100644 --- a/ports/nng/vcpkg.json +++ b/ports/nng/vcpkg.json @@ -1,9 +1,10 @@ { "name": "nng", - "version-semver": "1.5.2", + "version-semver": "1.10.0", "description": "nanomsg-next-gen, lightweight messaging library", "homepage": "https://nng.nanomsg.org", "license": "MIT", + "supports": "!uwp", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/node-addon-api/portfile.cmake b/ports/node-addon-api/portfile.cmake index b56a1894bbb18c..d70301a1bee15f 100644 --- a/ports/node-addon-api/portfile.cmake +++ b/ports/node-addon-api/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO nodejs/node-addon-api REF "v${VERSION}" - SHA512 1b39c0faef74f29e0e709d54e4c8f3bf04adbfb601b4c5aa1199626abf1e0fa7681c2fe7dc7423da6852dcbd128efbadb7012ddccf3fa2868a09f934f656ac8d + SHA512 ff7b712b53479c10ebf34b6723b91a3e70eb946c39fc7feeebc5485a3928f15ce2af92126d3c331e54fbb852bec8286aa5ddd8211f1315f3b133fcede6e2f53c HEAD_REF main ) diff --git a/ports/node-addon-api/vcpkg.json b/ports/node-addon-api/vcpkg.json index a8091a169062b3..74a31d37a82584 100644 --- a/ports/node-addon-api/vcpkg.json +++ b/ports/node-addon-api/vcpkg.json @@ -1,6 +1,6 @@ { "name": "node-addon-api", - "version": "6.1.0", + "version": "7.0.0", "description": "Module for using Node-API from C++", "homepage": "https://github.com/nodejs/node-addon-api", "license": "MIT", diff --git a/ports/node-api-headers/portfile.cmake b/ports/node-api-headers/portfile.cmake index 062e2eef2ef165..0d01ee222af10c 100644 --- a/ports/node-api-headers/portfile.cmake +++ b/ports/node-api-headers/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO nodejs/node-api-headers REF "v${VERSION}" - SHA512 e80d9b8cc2d96929a6d73fc1e5bcfbf6d585bef114946f939b93195aefb91bf8e6ef8720625394d344636626fd74548db71ff178f9f529ab5b20db980f09b197 + SHA512 70871b8fd1fc16f3f525953fd229ceff99110fb604f039e35e44f21d74aa9d50d2d3be1eadc5700bf576fd27e750c71868b273277858195fb6c5739672d4455e HEAD_REF main ) diff --git a/ports/node-api-headers/vcpkg.json b/ports/node-api-headers/vcpkg.json index 24c6c3a21781b7..fb54df90e055bd 100644 --- a/ports/node-api-headers/vcpkg.json +++ b/ports/node-api-headers/vcpkg.json @@ -1,7 +1,6 @@ { "name": "node-api-headers", - "version": "1.0.0", - "port-version": 1, + "version": "1.1.0", "description": "NodeJS API for writing modules in C++", "homepage": "https://nodejs.org/api/addons.html", "license": "MIT", diff --git a/ports/nrf-ble-driver/add-include-chrono.patch b/ports/nrf-ble-driver/add-include-chrono.patch new file mode 100644 index 00000000000000..55d0b6c2c55fd0 --- /dev/null +++ b/ports/nrf-ble-driver/add-include-chrono.patch @@ -0,0 +1,12 @@ +diff --git a/src/common/transport/serialization_transport.cpp b/src/common/transport/serialization_transport.cpp +index f916961..5ab0f3a 100644 +--- a/src/common/transport/serialization_transport.cpp ++++ b/src/common/transport/serialization_transport.cpp +@@ -43,6 +43,7 @@ + + #include "ble_common.h" + ++#include + #include + #include + #include diff --git a/ports/nrf-ble-driver/portfile.cmake b/ports/nrf-ble-driver/portfile.cmake index ad997c97122106..ca18789db8a465 100644 --- a/ports/nrf-ble-driver/portfile.cmake +++ b/ports/nrf-ble-driver/portfile.cmake @@ -16,6 +16,7 @@ vcpkg_from_github( 001-arm64-support.patch support-arm64-osx.diff # from https://github.com/NordicSemiconductor/pc-ble-driver/pull/271 gcc-11.2.0-compilation.patch # from https://github.com/NordicSemiconductor/pc-ble-driver/pull/272 + add-include-chrono.patch ) # Ensure that git is found within CMakeLists.txt by appending vcpkg's git executable dirpath to $PATH. diff --git a/ports/nrf-ble-driver/vcpkg.json b/ports/nrf-ble-driver/vcpkg.json index fac748f0e687e1..5f341cdbfc53be 100644 --- a/ports/nrf-ble-driver/vcpkg.json +++ b/ports/nrf-ble-driver/vcpkg.json @@ -1,7 +1,7 @@ { "name": "nrf-ble-driver", "version": "4.1.4", - "port-version": 1, + "port-version": 2, "description": "BLE driver is a library for Bluetooth Low Energy communication using Nordic Semiconductor development kits.", "homepage": "https://github.com/NordicSemiconductor/pc-ble-driver", "license": "BSD-3-Clause", diff --git a/ports/nss/03-use-debug-crt-for-debug.patch b/ports/nss/03-use-debug-crt-for-debug.patch new file mode 100644 index 00000000000000..513dc3996ede3c --- /dev/null +++ b/ports/nss/03-use-debug-crt-for-debug.patch @@ -0,0 +1,13 @@ +diff --git a/nss/coreconf/config.gypi b/nss/coreconf/config.gypi +index ae4c708..42633fc 100644 +--- a/nss/coreconf/config.gypi ++++ b/nss/coreconf/config.gypi +@@ -622,7 +622,7 @@ + 'VCCLCompilerTool': { + 'Optimization': '<(debug_optimization_level)', + 'BasicRuntimeChecks': '3', +- 'RuntimeLibrary': '2', # /MD ++ 'RuntimeLibrary': '3', # /MDd + 'DebugInformationFormat': '3', + }, + 'VCLinkerTool': { diff --git a/ports/nss/portfile.cmake b/ports/nss/portfile.cmake index 3e39dd0fecba3c..7ed61e861c2d42 100644 --- a/ports/nss/portfile.cmake +++ b/ports/nss/portfile.cmake @@ -4,7 +4,7 @@ string(REPLACE "." "_" V_URL ${VERSION}) vcpkg_download_distfile(ARCHIVE URLS "https://ftp.mozilla.org/pub/security/nss/releases/NSS_${V_URL}_RTM/src/nss-${VERSION}.tar.gz" FILENAME "nss-${VERSION}.tar.gz" - SHA512 4ec7b94e537df109638b821f3a7e3b7bf31d89c3739a6e4c85cad4fab876390ae482971d6f66198818400f467661e86f39dc1d2a4a88077fd81e3a0b7ed64110 + SHA512 8ae032f3cb8eadfe524505d20e430b90ed25af2b4732b2cf286c435b0fcd5701d2f5c48bd2cfb3f9aa0bfdf503c1f3d5394cf34f860f51a1141cc4a7586bba32 ) vcpkg_extract_source_archive( @@ -14,6 +14,7 @@ vcpkg_extract_source_archive( PATCHES "01-nspr-no-lib-prefix.patch" "02-gen-debug-info-for-release.patch" + "03-use-debug-crt-for-debug.patch" # See https://learn.microsoft.com/dotnet/api/microsoft.visualstudio.vcprojectengine.runtimelibraryoption ) # setup mozbuild for windows @@ -118,6 +119,7 @@ if (VCPKG_TARGET_IS_WINDOWS) ) list(APPEND GYPENV + "PYTHONUTF8=1" "VSPATH=${GYP_MSVS_OVERRIDE_PATH}" "GYP_MSVS_OVERRIDE_PATH=${GYP_MSVS_OVERRIDE_PATH}" "GYP_MSVS_VERSION=${GYP_MSVS_VERSION}" diff --git a/ports/nss/vcpkg.json b/ports/nss/vcpkg.json index 434917cf2b81e9..de7b721cdec4fc 100644 --- a/ports/nss/vcpkg.json +++ b/ports/nss/vcpkg.json @@ -1,7 +1,7 @@ { "name": "nss", - "version": "3.87", - "port-version": 2, + "version": "3.99", + "port-version": 1, "description": "Network Security Services from Mozilla", "homepage": "https://ftp.mozilla.org/pub/security/nss/releases/", "license": "MPL-2.0", diff --git a/ports/nsync/add-include-chrono.patch b/ports/nsync/add-include-chrono.patch new file mode 100644 index 00000000000000..69c662578623d9 --- /dev/null +++ b/ports/nsync/add-include-chrono.patch @@ -0,0 +1,12 @@ +diff --git a/platform/c++11/platform.h b/platform/c++11/platform.h +index 2c80e0b..1468fab 100644 +--- a/platform/c++11/platform.h ++++ b/platform/c++11/platform.h +@@ -16,6 +16,7 @@ + #define NSYNC_PLATFORM_CPP11_PLATFORM_H_ + + /* These C header files are in "C compatibility headers" in C++11. */ ++#include + #include + #include + #include diff --git a/ports/nsync/export-targets.patch b/ports/nsync/export-targets.patch deleted file mode 100644 index cbae3d366b1288..00000000000000 --- a/ports/nsync/export-targets.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 328f9b6..6a71b5b 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -41,6 +41,9 @@ function (set_cpp_target tgtname files) - "${PROJECT_SOURCE_DIR}/platform/c++11.futex" - ) - endif () -+ -+ target_include_directories("${tgtname}" PUBLIC $) -+ - - target_compile_definitions ("${tgtname}" PRIVATE "${NSYNC_CPP_DEFINITIONS}") - -@@ -399,14 +402,19 @@ endif () - # By default, install nsync always - # set (CMAKE_SKIP_INSTALL_ALL_DEPENDENCY ON) - --install (TARGETS nsync -+install (TARGETS nsync EXPORT unofficial-nsyncConfig - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT RuntimeLibraries - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Development) - --install (TARGETS nsync_cpp OPTIONAL -+install (TARGETS nsync_cpp OPTIONAL EXPORT unofficial-nsyncConfig - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT RuntimeLibraries - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Development) - -+install(EXPORT unofficial-nsyncConfig -+ NAMESPACE unofficial::nsync:: -+ DESTINATION share/unofficial-nsync -+) -+ - set (NSYNC_INCLUDES - "public/nsync.h" - "public/nsync_atomic.h" diff --git a/ports/nsync/fix-install.patch b/ports/nsync/fix-install.patch index efe560d15bca4b..3d7917defb1b62 100644 --- a/ports/nsync/fix-install.patch +++ b/ports/nsync/fix-install.patch @@ -1,9 +1,19 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6b1f1dc..328f9b6 100644 +index fcc3f41..18859e1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -80,7 +80,7 @@ set (NSYNC_OS_CPP_SRC - # https://cmake.org/cmake/help/v3.1/policy/CMP0054.html +@@ -41,6 +41,9 @@ function (set_cpp_target tgtname files) + "${PROJECT_SOURCE_DIR}/platform/c++11.futex" + ) + endif () ++ ++ target_include_directories("${tgtname}" PUBLIC $) ++ + + target_compile_definitions ("${tgtname}" PRIVATE "${NSYNC_CPP_DEFINITIONS}") + +@@ -88,7 +91,7 @@ if ("${CMAKE_C_COMPILER_ID}X" STREQUAL "MSVCX") + endif () # Pick the include directory for the operating system. -if ("${CMAKE_SYSTEM_NAME}X" STREQUAL "WindowsX") @@ -11,7 +21,7 @@ index 6b1f1dc..328f9b6 100644 include_directories ("${PROJECT_SOURCE_DIR}/platform/win32") set (NSYNC_CPP_FLAGS "/TP") -@@ -230,7 +230,7 @@ elseif (("${CMAKE_SYSTEM_PROCESSOR}X" STREQUAL "ppc64X")) +@@ -232,7 +235,7 @@ elseif (("${CMAKE_SYSTEM_PROCESSOR}X" STREQUAL "ppc64X")) endif () # Windows uses some include files from the posix directory also. @@ -20,13 +30,3 @@ index 6b1f1dc..328f9b6 100644 include_directories ("${PROJECT_SOURCE_DIR}/platform/posix") endif () -@@ -396,7 +396,8 @@ if (NSYNC_ENABLE_TESTS) - endforeach (t) - endif () - --set (CMAKE_SKIP_INSTALL_ALL_DEPENDENCY ON) -+# By default, install nsync always -+# set (CMAKE_SKIP_INSTALL_ALL_DEPENDENCY ON) - - install (TARGETS nsync - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT RuntimeLibraries diff --git a/ports/nsync/portfile.cmake b/ports/nsync/portfile.cmake index fe2ff4d5157c2e..48f6c41953cfb5 100644 --- a/ports/nsync/portfile.cmake +++ b/ports/nsync/portfile.cmake @@ -5,12 +5,12 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/nsync - REF 1.24.0 - SHA512 14dd582488072123a353c967664ed9a3f636865bb35e64d7256dcc809539129fa47c7979a4009fd45c9341cac537a4ca6b4b617ba2cae1d3995a7c251376339f + REF "${VERSION}" + SHA512 af463d768c9e4bacc5796410c6d368b8ad0cc0fcbae28ec35fbe7937e7939de1ccad97f51b4940e384b677bb8fbc9963a438f7687e002613f1669ab93e459f60 HEAD_REF master PATCHES fix-install.patch - export-targets.patch + add-include-chrono.patch # https://github.com/google/nsync/pull/25 ) vcpkg_cmake_configure( @@ -18,10 +18,12 @@ vcpkg_cmake_configure( OPTIONS -DNSYNC_ENABLE_TESTS=OFF ) +vcpkg_cmake_build() vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/nsync_cpp PACKAGE_NAME nsync_cpp DO_NOT_DELETE_PARENT_CONFIG_PATH) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/nsync) vcpkg_copy_pdbs() -vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-nsync CONFIG_PATH share/unofficial-nsync) - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/nsync/vcpkg.json b/ports/nsync/vcpkg.json index 54c24f43f12149..1dca2ed1094d02 100644 --- a/ports/nsync/vcpkg.json +++ b/ports/nsync/vcpkg.json @@ -1,6 +1,6 @@ { "name": "nsync", - "version": "1.24.0", + "version": "1.29.2", "port-version": 1, "description": "nsync is a C library that exports various synchronization primitives, such as mutexes", "homepage": "https://github.com/google/nsync", diff --git a/ports/nu-book-zxing-cpp/portfile.cmake b/ports/nu-book-zxing-cpp/portfile.cmake index cb7017f0628bff..5cc46fcbd49681 100644 --- a/ports/nu-book-zxing-cpp/portfile.cmake +++ b/ports/nu-book-zxing-cpp/portfile.cmake @@ -4,20 +4,18 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO zxing-cpp/zxing-cpp REF "v${VERSION}" - SHA512 a00778c1fb7bb664176f7035aa96db4bab3e7ca28b5be2862182cb591d18edd4c3dfcbd34b4af08e0797bb4af893299d523f98aa84d266b68e4c766410e2e26d + SHA512 be1c60a6b433c18f8dab56619553023370bfd3eddf49b0e16548466e1ebc2f1f37b48e0b36c2e74296a7274c4f0117d7052f1ffd7d1223d23e493451a11b4a80 HEAD_REF master ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DBUILD_BLACKBOX_TESTS=OFF -DBUILD_EXAMPLES=OFF ) vcpkg_cmake_install() vcpkg_fixup_pkgconfig() -vcpkg_copy_pdbs() vcpkg_cmake_config_fixup( CONFIG_PATH lib/cmake/ZXing diff --git a/ports/nu-book-zxing-cpp/vcpkg.json b/ports/nu-book-zxing-cpp/vcpkg.json index 6b02300585e998..8788eb25816dca 100644 --- a/ports/nu-book-zxing-cpp/vcpkg.json +++ b/ports/nu-book-zxing-cpp/vcpkg.json @@ -1,6 +1,6 @@ { "name": "nu-book-zxing-cpp", - "version": "2.1.0", + "version": "2.3.0", "description": "Barcode detection and decoding library.", "homepage": "https://github.com/zxing-cpp/zxing-cpp", "license": "Apache-2.0", diff --git a/ports/numactl/portfile.cmake b/ports/numactl/portfile.cmake index 17a058022fe149..fa60675263d1f2 100644 --- a/ports/numactl/portfile.cmake +++ b/ports/numactl/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO numactl/numactl - REF v2.0.14 - SHA512 ADAF405F092FD9653F26D00F8C80CB83852C56EBD5D00E714E20D505008E74AA7105B0FB7AA55A605DEAC0D1491CEFF57DE931037D33E7944FCA105BC6510ED4 + REF "v${VERSION}" + SHA512 fc062e7fcfd90e3d26d0e3b144b4c4328b54874aef6ad0c91d7740e5989787a182037c5d409ce9271f0a6459d4d7e70f49cc5f701d93b64a15d3b7772accb9b4 HEAD_REF master ) diff --git a/ports/numactl/vcpkg.json b/ports/numactl/vcpkg.json index 267e8300da8d10..a68acaf1648302 100644 --- a/ports/numactl/vcpkg.json +++ b/ports/numactl/vcpkg.json @@ -1,7 +1,6 @@ { "name": "numactl", - "version": "2.0.14", - "port-version": 1, + "version": "2.0.18", "description": "NUMA support for Linux", "homepage": "https://github.com/numactl/numactl", "supports": "linux" diff --git a/ports/numcpp/portfile.cmake b/ports/numcpp/portfile.cmake index f3b91bb78ac0ed..114a0cb0e8f923 100644 --- a/ports/numcpp/portfile.cmake +++ b/ports/numcpp/portfile.cmake @@ -3,12 +3,19 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO dpilger26/NumCpp REF "Version_${VERSION}" - SHA512 57848211a9ff55b12e9590351e5add36082809a3457b2983317b5cb23d8f1c04a65b2c7a17d119b2c3e3959ef152c8e9dc38cf338da362ef9499c9c9eeb393eb + SHA512 ab038f74d7aa4836de4da3f8613cbabf0c1205f40ee9bf3de9692e8a943b16846a006d5885e2ddb22f9b893256dc4761994ad70f0fb5e8cf14612bc08644b30d HEAD_REF master ) +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + INVERTED_FEATURES + boost NUMCPP_NO_USE_BOOST +) + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} ) vcpkg_cmake_install() diff --git a/ports/numcpp/vcpkg.json b/ports/numcpp/vcpkg.json index b4c35e50dcfa71..59e3559ce79b19 100644 --- a/ports/numcpp/vcpkg.json +++ b/ports/numcpp/vcpkg.json @@ -1,19 +1,11 @@ { "name": "numcpp", - "version": "2.11.0", + "version": "2.12.1", + "port-version": 2, "description": "C++ implementation of the Python Numpy library", "homepage": "https://dpilger26.github.io/NumCpp", "license": "MIT", "dependencies": [ - "boost", - "boost-algorithm", - "boost-date-time", - "boost-endian", - "boost-integer", - "boost-math", - "boost-predef", - "boost-random", - "boost-type-traits", { "name": "vcpkg-cmake", "host": true @@ -24,6 +16,21 @@ } ], "features": { + "boost": { + "description": "Enable use boost", + "dependencies": [ + "boost-algorithm", + "boost-date-time", + "boost-endian", + "boost-integer", + "boost-log", + "boost-math", + "boost-predef", + "boost-python", + "boost-random", + "boost-type-traits" + ] + }, "python": { "description": "Interacting with Python with pybind11 interface", "dependencies": [ diff --git a/ports/nuspell/portfile.cmake b/ports/nuspell/portfile.cmake index 43b4d4c6ae0a5a..094a44d10e8e8f 100644 --- a/ports/nuspell/portfile.cmake +++ b/ports/nuspell/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO nuspell/nuspell - REF v5.1.2 - SHA512 138212ae5340836f0bc85d9d5327dc43ffdb1481ca72678b4619938b86c4c8e7c156eec1446f459636460a9015cd476031ad53d0979325e637ed97c19e2f87c8 + REF "v${VERSION}" + SHA512 ab6d9394a55d9a2a347ccae47aeef6a96af70f421ad6ea8f7ac7fde2052790f37fb1c7ec3112daac7600d193430a560cb1915ab6557c9353717f65cb32f13ab8 HEAD_REF master ) @@ -16,6 +16,7 @@ vcpkg_cmake_configure( OPTIONS ${FEATURE_OPTIONS} -DBUILD_TESTING=OFF + -DBUILD_DOCS=OFF ) vcpkg_cmake_install() vcpkg_copy_pdbs() diff --git a/ports/nuspell/vcpkg.json b/ports/nuspell/vcpkg.json index 68fc8609fb0146..ef61425fb3ba0b 100644 --- a/ports/nuspell/vcpkg.json +++ b/ports/nuspell/vcpkg.json @@ -1,7 +1,6 @@ { "name": "nuspell", - "version-semver": "5.1.2", - "port-version": 1, + "version-semver": "5.1.6", "description": [ "Nuspell is a fast and safe spelling checker software program.", "It is designed for languages with rich morphology and complex word compounding.", diff --git a/ports/nvidia-cutlass/portfile.cmake b/ports/nvidia-cutlass/portfile.cmake new file mode 100644 index 00000000000000..66f3c9ac0ebf9d --- /dev/null +++ b/ports/nvidia-cutlass/portfile.cmake @@ -0,0 +1,43 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO NVIDIA/cutlass + REF "v${VERSION}" + SHA512 c950ab718e67ffc972911b81890eae767a27d32dfc13f72b91e21e7c6b98eadfb3a5eebb9683091e61aed61709481451cfcd95d660e723686bf79a155e9f0b17 + HEAD_REF main +) + +vcpkg_find_acquire_program(PYTHON3) +get_filename_component(PYTHON_PATH "${PYTHON3}" PATH) +vcpkg_add_to_path(PREPEND "${PYTHON_PATH}") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DCMAKE_SUPPRESS_REGENERATION=ON # for some reason it keeps regenerating in Windows + "-DCUTLASS_REVISION:STRING=v${VERSION}" + -DCUTLASS_NATIVE_CUDA=OFF + -DCUTLASS_ENABLE_HEADERS_ONLY=ON + -DCUTLASS_ENABLE_TOOLS=OFF + -DCUTLASS_ENABLE_LIBRARY=OFF + -DCUTLASS_ENABLE_PROFILER=OFF + -DCUTLASS_ENABLE_PERFORMANCE=OFF + -DCUTLASS_ENABLE_TESTS=OFF + -DCUTLASS_ENABLE_GTEST_UNIT_TESTS=OFF + -DCUTLASS_ENABLE_CUBLAS=ON + -DCUTLASS_ENABLE_CUDNN=ON + "-DPython3_EXECUTABLE:FILEPATH=${PYTHON3}" +) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/NvidiaCutlass" PACKAGE_NAME "NvidiaCutlass") + +# note CUTLASS_ENABLE_LIBRARY=OFF +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/NvidiaCutlass/NvidiaCutlassConfig.cmake" + "add_library" "# add_library" # comment out the command +) + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug" + "${CURRENT_PACKAGES_DIR}/test" + "${CURRENT_PACKAGES_DIR}/lib" +) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/nvidia-cutlass/vcpkg.json b/ports/nvidia-cutlass/vcpkg.json new file mode 100644 index 00000000000000..3f70c6106b00ee --- /dev/null +++ b/ports/nvidia-cutlass/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "nvidia-cutlass", + "version": "3.3.0", + "description": "CUDA Templates for Linear Algebra Subroutines", + "homepage": "https://github.com/NVIDIA/cutlass", + "license": "BSD-3-Clause", + "dependencies": [ + "cuda", + "cudnn", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/nyan-lang/portfile.cmake b/ports/nyan-lang/portfile.cmake index ded5706d55c248..eee8bd867d5618 100644 --- a/ports/nyan-lang/portfile.cmake +++ b/ports/nyan-lang/portfile.cmake @@ -1,11 +1,10 @@ vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) -set(VERSION 0.3) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO SFTtech/nyan REF "v${VERSION}" - SHA512 53411795142aa2dfd197d4e550a9de4f2e68519426a228d7e9fe162e8f113886ae5febbceef8daa643c60a9089ede4b5c8dda9c136617357b58279cc732efba6 + SHA512 2549e69f88f42b00bc9618c24031d5ff9588eb9249c973bc5eedb51634be619ad0e7118f1fb7f3abb31553763c0c95ce222e0f95f8e628e7b453b5c862b6bb7c HEAD_REF master ) diff --git a/ports/nyan-lang/vcpkg.json b/ports/nyan-lang/vcpkg.json index 3dcc1439db11da..93598fd8246b23 100644 --- a/ports/nyan-lang/vcpkg.json +++ b/ports/nyan-lang/vcpkg.json @@ -1,6 +1,6 @@ { "name": "nyan-lang", - "version": "0.3", + "version": "0.3.1", "description": "nyan is a data description language, It is a mixture of python, json, patch, wml, yaml and some new ideas.", "homepage": "https://github.com/SFTtech/nyan", "license": "LGPL-3.0-or-later", diff --git a/ports/oatpp-mbedtls/find-mbedtls.patch b/ports/oatpp-mbedtls/find-mbedtls.patch index 533fd26d7d770e..6d673e1236270f 100644 --- a/ports/oatpp-mbedtls/find-mbedtls.patch +++ b/ports/oatpp-mbedtls/find-mbedtls.patch @@ -1,123 +1,5 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6b1e8c0f2..b0ef5518d 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -97,7 +97,7 @@ message("## ${OATPP_THIS_MODULE_NAME} module. Resolving dependencies...\n") - include(FindPkgConfig) - list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake/module") - --find_package(mbedtls 2.16.0 REQUIRED) -+find_package(mbedtls 2.16.3 REQUIRED) - - message("MBEDTLS_INCLUDE_DIR=${MBEDTLS_INCLUDE_DIR}") - message("MBEDTLS_TLS_LIBRARY=${MBEDTLS_TLS_LIBRARY}") -diff --git a/cmake/module/Findmbedtls.cmake b/cmake/module/Findmbedtls.cmake -index 8c76d0a73..5c223a615 100644 ---- a/cmake/module/Findmbedtls.cmake -+++ b/cmake/module/Findmbedtls.cmake -@@ -14,10 +14,10 @@ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - --FindmbedTLS -+Findmbedtls - ------------ - --Find the mbedTLS encryption library. -+Find the mbedtls encryption library. - - Optional Components - ^^^^^^^^^^^^^^^^^^^ -@@ -31,16 +31,16 @@ Imported Targets - This module defines the following imported targets: - - mbedtls::Crypto -- The mbedTLS crypto library, if found. -+ The mbedtls crypto library, if found. - - mbedtls::X509 -- The mbedTLS x509 library, if found. -+ The mbedtls x509 library, if found. - - mbedtls::SSL -- The mbedTLS ssl library, if found. Requires and includes mbedtls::Crypto automatically. -+ The mbedtls ssl library, if found. Requires and includes mbedtls::Crypto automatically. - - mbedtls::TLS -- The mbedTLS tls library, if found. Requires and includes mbedtls::SSL and mbedtls::Crypto automatically. -+ The mbedtls tls library, if found. Requires and includes mbedtls::SSL and mbedtls::Crypto automatically. - - Result Variables - ^^^^^^^^^^^^^^^^ -@@ -48,26 +48,26 @@ Result Variables - This module will set the following variables in your project: - - MBEDTLS_FOUND -- System has the mbedTLS library. If no components are requested it only requires the crypto library. -+ System has the mbedtls library. If no components are requested it only requires the crypto library. - MBEDTLS_INCLUDE_DIR -- The mbedTLS include directory. -+ The mbedtls include directory. - MBEDTLS_X509_LIBRARY -- The mbedTLS crypto library. -+ The mbedtls crypto library. - MBEDTLS_CRYPTO_LIBRARY -- The mbedTLS crypto library. -+ The mbedtls crypto library. - MBEDTLS_SSL_LIBRARY -- The mbedTLS SSL library. -+ The mbedtls SSL library. - MBEDTLS_TLS_LIBRARY -- The mbedTLS TLS library. -+ The mbedtls TLS library. - MBEDTLS_LIBRARIES -- All mbedTLS libraries. -+ All mbedtls libraries. - MBEDTLS_VERSION - This is set to $major.$minor.$revision (e.g. 2.6.8). - - Hints - ^^^^^ - --Set MBEDTLS_ROOT_DIR to the root directory of an mbedTLS installation. -+Set MBEDTLS_ROOT_DIR to the root directory of an mbedtls installation. - - ]=======================================================================] - -@@ -175,7 +175,7 @@ if(MBEDTLS_INCLUDE_DIR AND EXISTS "${MBEDTLS_INCLUDE_DIR}/mbedtls/version.h") - endif() - - # Set Find Package Arguments --find_package_handle_standard_args(mbedTLS -+find_package_handle_standard_args(mbedtls - REQUIRED_VARS - MBEDTLS_X509_LIBRARY - MBEDTLS_TLS_LIBRARY -@@ -185,12 +185,12 @@ find_package_handle_standard_args(mbedTLS - MBEDTLS_VERSION - HANDLE_COMPONENTS - FAIL_MESSAGE -- "Could NOT find mbedTLS, try setting the path to mbedTLS using the MBEDTLS_ROOT_DIR environment variable" -+ "Could NOT find mbedtls, try setting the path to mbedtls using the MBEDTLS_ROOT_DIR environment variable" - ) - --# mbedTLS Found --if(MBEDTLS_FOUND) -- -+# mbedtls Found -+if(mbedtls_FOUND) -+ set(MBEDTLS_FOUND ${mbedtls_FOUND}) - # Set mbedtls::Crypto - if(NOT TARGET mbedtls::Crypto AND EXISTS "${MBEDTLS_CRYPTO_LIBRARY}") - -@@ -257,4 +257,4 @@ if(MBEDTLS_FOUND) - - endif() # mbedtls::TLS - --endif(MBEDTLS_FOUND) -+endif(mbedtls_FOUND) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 6811f05ea..d80430c3e 100644 +index 7e81ed9..39b95a9 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -31,9 +31,9 @@ target_include_directories(${OATPP_THIS_MODULE_NAME} diff --git a/ports/oatpp-mbedtls/mbedtls-3.patch b/ports/oatpp-mbedtls/mbedtls-3.patch new file mode 100644 index 00000000000000..089cf1e2b888f5 --- /dev/null +++ b/ports/oatpp-mbedtls/mbedtls-3.patch @@ -0,0 +1,44 @@ +diff --git a/cmake/module/Findmbedtls.cmake b/cmake/module/Findmbedtls.cmake +index 8c76d0a..f0ed1e2 100644 +--- a/cmake/module/Findmbedtls.cmake ++++ b/cmake/module/Findmbedtls.cmake +@@ -160,6 +160,9 @@ if(MBEDTLS_INCLUDE_DIR AND EXISTS "${MBEDTLS_INCLUDE_DIR}/mbedtls/version.h") + + # Get Version From File + file(STRINGS "${MBEDTLS_INCLUDE_DIR}/mbedtls/version.h" VERSIONH REGEX "#define MBEDTLS_VERSION_STRING[ ]+\".*\"") ++ if(VERSIONH STREQUAL "") ++ file(STRINGS "${MBEDTLS_INCLUDE_DIR}/mbedtls/build_info.h" VERSIONH REGEX "#define MBEDTLS_VERSION_STRING[ ]+\".*\"") ++ endif() + + # Match Version String + string(REGEX REPLACE ".*\".*([0-9]+)\\.([0-9]+)\\.([0-9]+)\"" "\\1;\\2;\\3" MBEDTLS_VERSION_LIST "${VERSIONH}") +diff --git a/src/oatpp-mbedtls/Config.cpp b/src/oatpp-mbedtls/Config.cpp +index 63fe9d4..8d3c9ce 100644 +--- a/src/oatpp-mbedtls/Config.cpp ++++ b/src/oatpp-mbedtls/Config.cpp +@@ -90,7 +90,11 @@ std::shared_ptr Config::createDefaultServerConfigShared(const char* serv + throw std::runtime_error("[oatpp::mbedtls::Config::createDefaultServerConfigShared()]: Error. Can't parse serverCertFile"); + } + ++#if MBEDTLS_VERSION_MAJOR < 3 + res = mbedtls_pk_parse_keyfile(&result->m_privateKey, privateKeyFile, pkPassword); ++#else ++ res = mbedtls_pk_parse_keyfile(&result->m_privateKey, privateKeyFile, pkPassword, mbedtls_ctr_drbg_random, &result->m_ctr_drbg); ++#endif + if(res != 0) { + OATPP_LOGD("[oatpp::mbedtls::Config::createDefaultServerConfigShared()]", "Error. Can't parse privateKeyFile path='%s', return value=%d", privateKeyFile, res); + throw std::runtime_error("[oatpp::mbedtls::Config::createDefaultServerConfigShared()]: Error. Can't parse privateKeyFile"); +diff --git a/src/oatpp-mbedtls/Config.hpp b/src/oatpp-mbedtls/Config.hpp +index d4d6072..47c1c2d 100644 +--- a/src/oatpp-mbedtls/Config.hpp ++++ b/src/oatpp-mbedtls/Config.hpp +@@ -28,7 +28,9 @@ + + #include "mbedtls/entropy.h" + #include "mbedtls/ctr_drbg.h" ++#if MBEDTLS_VERSION_MAJOR < 3 + #include "mbedtls/certs.h" ++#endif + #include "mbedtls/x509.h" + #include "mbedtls/ssl.h" + #include "mbedtls/net_sockets.h" diff --git a/ports/oatpp-mbedtls/portfile.cmake b/ports/oatpp-mbedtls/portfile.cmake index 581d190498db7d..914f4cb64f3fcd 100644 --- a/ports/oatpp-mbedtls/portfile.cmake +++ b/ports/oatpp-mbedtls/portfile.cmake @@ -1,14 +1,16 @@ -set(OATPP_VERSION "1.3.0") - -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO oatpp/oatpp-mbedtls - REF ${OATPP_VERSION} + REF ${VERSION} SHA512 3eea805f2a02110daec25b7455543c59d8e72acd37d412fa98cb1c90f58e4edcd9cc62c16331efcca36a524834fa0f314f2f69a7a4d0d1108a758f811a68e021 HEAD_REF master - PATCHES find-mbedtls.patch + PATCHES + find-mbedtls.patch + mbedtls-3.patch ) vcpkg_cmake_configure( @@ -18,8 +20,16 @@ vcpkg_cmake_configure( ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(PACKAGE_NAME oatpp-mbedtls CONFIG_PATH lib/cmake/oatpp-mbedtls-${OATPP_VERSION}) +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/oatpp-mbedtls-${VERSION}") vcpkg_copy_pdbs() +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(READ "${CURRENT_PACKAGES_DIR}/share/oatpp-mbedtls/oatpp-mbedtlsConfig.cmake" cmake_config) + file(WRITE "${CURRENT_PACKAGES_DIR}/share/oatpp-mbedtls/oatpp-mbedtlsConfig.cmake" " +include(CMakeFindDependencyMacro) +find_dependency(oatpp CONFIG) +${cmake_config}") +endif() + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/oatpp-mbedtls/vcpkg.json b/ports/oatpp-mbedtls/vcpkg.json index 035f841b88c5b9..058a99b3b7fac6 100644 --- a/ports/oatpp-mbedtls/vcpkg.json +++ b/ports/oatpp-mbedtls/vcpkg.json @@ -1,8 +1,10 @@ { "name": "oatpp-mbedtls", "version": "1.3.0", + "port-version": 1, "description": "Oat++ Mbed TLS submodule providing secure server and client connection providers.", - "homepage": "https://github.com/oatpp/oatpp-mbedtls", + "homepage": "https://oatpp.io/docs/modules/oatpp-mbedtls/", + "license": "Apache-2.0", "dependencies": [ "mbedtls", "oatpp", diff --git a/ports/oatpp-sqlite/fix-usage.patch b/ports/oatpp-sqlite/fix-usage.patch new file mode 100644 index 00000000000000..eeec7adb3c7ce6 --- /dev/null +++ b/ports/oatpp-sqlite/fix-usage.patch @@ -0,0 +1,14 @@ +diff --git a/cmake/module-config.cmake.in b/cmake/module-config.cmake.in +index 5cc12b0..5d94df8 100644 +--- a/cmake/module-config.cmake.in ++++ b/cmake/module-config.cmake.in +@@ -1,5 +1,9 @@ + @PACKAGE_INIT@ + ++include(CMakeFindDependencyMacro) ++find_dependency(oatpp CONFIG) ++find_dependency(unofficial-sqlite3 CONFIG) ++ + if(NOT TARGET oatpp::@OATPP_MODULE_NAME@) + include("${CMAKE_CURRENT_LIST_DIR}/@OATPP_MODULE_NAME@Targets.cmake") + endif() diff --git a/ports/oatpp-sqlite/portfile.cmake b/ports/oatpp-sqlite/portfile.cmake index 81bd1a5e208caf..56727375d99beb 100644 --- a/ports/oatpp-sqlite/portfile.cmake +++ b/ports/oatpp-sqlite/portfile.cmake @@ -8,6 +8,8 @@ vcpkg_from_github( REF ${OATPP_VERSION} SHA512 8a208145ee10ed858767b4b56c220b6befd83e6858759128103ce679b889e6218a95ed6627af5098e4d26367be8add82de26e1f1f8ef581b1913b8386f9d56de HEAD_REF master + PATCHES + fix-usage.patch ) vcpkg_cmake_configure( @@ -21,4 +23,4 @@ vcpkg_cmake_config_fixup(PACKAGE_NAME oatpp-sqlite CONFIG_PATH lib/cmake/oatpp-s vcpkg_copy_pdbs() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/oatpp-sqlite/vcpkg.json b/ports/oatpp-sqlite/vcpkg.json index c192d7b2e78f4e..1f7d8812e89031 100644 --- a/ports/oatpp-sqlite/vcpkg.json +++ b/ports/oatpp-sqlite/vcpkg.json @@ -1,7 +1,7 @@ { "name": "oatpp-sqlite", "version": "1.3.0", - "port-version": 1, + "port-version": 2, "description": "Oat++ SQLite adapter for Oat++ ORM.", "homepage": "https://github.com/oatpp/oatpp-sqlite", "license": "Apache-2.0", diff --git a/ports/octave/portfile.cmake b/ports/octave/portfile.cmake new file mode 100644 index 00000000000000..bf92c925ee61cb --- /dev/null +++ b/ports/octave/portfile.cmake @@ -0,0 +1,66 @@ +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) + +include(vcpkg_find_fortran) +vcpkg_find_fortran(FORTRAN) + +vcpkg_find_acquire_program(BISON) +get_filename_component(BISON_EXE_PATH "${BISON}" DIRECTORY) +vcpkg_add_to_path("${BISON_EXE_PATH}") + +vcpkg_find_acquire_program(FLEX) +get_filename_component(FLEX_EXE_PATH "${FLEX}" DIRECTORY) +vcpkg_add_to_path("${FLEX_EXE_PATH}") + +vcpkg_find_acquire_program(GPERF) +get_filename_component(GPERF_EXE_PATH "${GPERF}" DIRECTORY) +vcpkg_add_to_path("${GPERF_EXE_PATH}") + +vcpkg_download_distfile(ARCHIVE + URLS "https://ftpmirror.gnu.org/octave/octave-${VERSION}.tar.xz" + FILENAME "octave-${VERSION}.tar.xz" + SHA512 9550162681aee88b4bcb94c5081ed0470df0d3f7c5307b25878b94b19f1282002ba69f0c4c79877e81f61122bfba1b2671ed5007a28fbb2d755bda466a3c46d8 +) + +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE ${ARCHIVE} + PATCHES +) + +vcpkg_add_to_path("${CURRENT_INSTALLED_DIR}/bin") +vcpkg_add_to_path("${CURRENT_INSTALLED_DIR}/debug/bin") + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + OPTIONS + --disable-docs + --without-amd + --without-camd + --without-ccolamd + --without-cholmod + --without-colamd + --without-curl + --without-cxsparse + --without-hdf5 + --without-qhull + --without-qrupdate + --without-umfpack +) + +vcpkg_install_make() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/octave/site/") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/octave/site/") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/octave/site/") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/octave/${VERSION}/site/") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/octave/${VERSION}/site/") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/libexec/") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/libexec") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/octave/octave/${VERSION}/site") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/octave/octave/site") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") + +vcpkg_fixup_pkgconfig() diff --git a/ports/octave/vcpkg.json b/ports/octave/vcpkg.json new file mode 100644 index 00000000000000..712e20841b039b --- /dev/null +++ b/ports/octave/vcpkg.json @@ -0,0 +1,29 @@ +{ + "name": "octave", + "version": "9.3.0", + "description": "High-level interpreted language, primarily intended for numerical computations.", + "homepage": "https://octave.org/", + "license": "GPL-3.0-or-later", + "supports": "!arm", + "dependencies": [ + "blas", + "fftw3", + "glpk", + "lapack", + "libsndfile", + "opengl", + "pcre2", + "portaudio", + "readline", + "sundials", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "zlib" + ] +} diff --git a/ports/octomap/fix-compilation.patch b/ports/octomap/fix-compilation.patch deleted file mode 100644 index ebb6e4a535981c..00000000000000 --- a/ports/octomap/fix-compilation.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/octomap/include/octomap/ScanGraph.h b/octomap/include/octomap/ScanGraph.h -index 07c7436..e54eaf5 100644 ---- a/octomap/include/octomap/ScanGraph.h -+++ b/octomap/include/octomap/ScanGraph.h -@@ -60,7 +60,7 @@ namespace octomap { - - ~ScanNode(); - -- bool operator == (const ScanNode& other) { -+ bool operator == (const ScanNode& other) const { - return (id == other.id); - } - -@@ -87,7 +87,7 @@ namespace octomap { - : first(_first), second(_second), constraint(_constraint), weight(1.0) { } - ScanEdge() {} - -- bool operator == (const ScanEdge& other) { -+ bool operator == (const ScanEdge& other) const { - return ( (*first == *(other.first) ) && ( *second == *(other.second) ) ); - } - diff --git a/ports/octomap/fix-isnan.patch b/ports/octomap/fix-isnan.patch new file mode 100644 index 00000000000000..5da9a207eade37 --- /dev/null +++ b/ports/octomap/fix-isnan.patch @@ -0,0 +1,25 @@ +diff --git a/octomap/src/compare_octrees.cpp b/octomap/src/compare_octrees.cpp +index c02ceea8..e6890f59 100644 +--- a/octomap/src/compare_octrees.cpp ++++ b/octomap/src/compare_octrees.cpp +@@ -39,7 +39,7 @@ + #include + #include + +-#ifdef _MSC_VER // fix missing isnan for VC++ ++#if defined(_MSC_VER) && !((defined(_MSVC_LANG) && _MSVC_LANG >= 201103L) || __cplusplus >= 201103L) + #define isnan(x) _isnan(x) + #endif + +@@ -132,11 +132,7 @@ int main(int argc, char** argv) { + else + kld +=log(p1/p2)*p1 + log((1-p1)/(1-p2))*(1-p1); + +-#if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201103L) || __cplusplus >= 201103L) +- if (std::isnan(kld)){ +-#else + if (isnan(kld)){ +-#endif + OCTOMAP_ERROR("KLD is nan! KLD(%f,%f)=%f; sum = %f", p1, p2, kld, kld_sum); + exit(-1); + } diff --git a/ports/octomap/portfile.cmake b/ports/octomap/portfile.cmake index e33e45d2b6e6cc..c3405ac3bc4b9c 100644 --- a/ports/octomap/portfile.cmake +++ b/ports/octomap/portfile.cmake @@ -3,12 +3,12 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO OctoMap/octomap - REF c4a4304895f6cfc31723dc95df252fe7e756a0ef # v1.9.6 - SHA512 ec321a5355091acbd3d3fda7c858e2078c29195e73461c8a34db2c4614c6b2e38b35a59671f1071f7eb397cac4df78869f14a13af2e68d64e5a2e2d8727846cd - HEAD_REF master + REF "v${VERSION}" + SHA512 1cbee4f6b3569587986774447ad9ec4190f597310c4d6865ffa7cd8865ece2492e4a42fa369b633d9d7a9da782560d49deaa62a18601ea4f56396bdf1a6a5f52 + HEAD_REF devel PATCHES 001-fix-exported-targets.patch - fix-compilation.patch + fix-isnan.patch # Remove this patch in the next update ) vcpkg_cmake_configure( diff --git a/ports/octomap/vcpkg.json b/ports/octomap/vcpkg.json index 868c7ce7c6ce65..53a6dad1659b14 100644 --- a/ports/octomap/vcpkg.json +++ b/ports/octomap/vcpkg.json @@ -1,10 +1,10 @@ { "name": "octomap", - "version": "1.9.6", - "port-version": 1, + "version": "1.10.0", "description": "An Efficient Probabilistic 3D Mapping Framework Based on Octrees", "homepage": "https://octomap.github.io/", "license": "BSD-3-Clause", + "supports": "!uwp", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/ode/portfile.cmake b/ports/ode/portfile.cmake index 33712158914468..216695bd8845f4 100644 --- a/ports/ode/portfile.cmake +++ b/ports/ode/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_bitbucket( OUT_SOURCE_PATH SOURCE_PATH REPO odedevs/ode REF ${VERSION} - SHA512 3ea6245f622c5ca616cc4ae5e9877526c16d9174262fe107867a98b0976284d530ad71a97e5feac1fbfcc780bcd056330f47d3c9eb2bcc66e0696e17d54b93b1 + SHA512 683869e6c7a39ea8dc6666b47633199111d1c0f2516cacb534ec57f6025a5780d85b2e59095a736790662280e4e4c9a2cd44b2cafaa34669e6861cce5b32e76b HEAD_REF master PATCHES ) diff --git a/ports/ode/vcpkg.json b/ports/ode/vcpkg.json index cf953d8a213351..5af8a8ae3272e4 100644 --- a/ports/ode/vcpkg.json +++ b/ports/ode/vcpkg.json @@ -1,10 +1,10 @@ { "name": "ode", - "version": "0.16.3", - "port-version": 1, + "version": "0.16.5", "description": "Open Dynamics Engine", "homepage": "https://bitbucket.org/odedevs/ode/src/master/", "license": "BSD-3-Clause OR LGPL-2.1-or-later", + "supports": "!uwp", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/ogdf/add-include-chrono.patch b/ports/ogdf/add-include-chrono.patch new file mode 100644 index 00000000000000..02f64bb7791f9c --- /dev/null +++ b/ports/ogdf/add-include-chrono.patch @@ -0,0 +1,12 @@ +diff --git a/src/ogdf/cluster/HananiTutteCPlanarity.cpp b/src/ogdf/cluster/HananiTutteCPlanarity.cpp +index 2cec55b..ac2672e 100644 +--- a/src/ogdf/cluster/HananiTutteCPlanarity.cpp ++++ b/src/ogdf/cluster/HananiTutteCPlanarity.cpp +@@ -37,6 +37,7 @@ + #include + #include + #include ++#include + #include + #include + diff --git a/ports/ogdf/portfile.cmake b/ports/ogdf/portfile.cmake index aa188e7a9fd42d..5930413b0847d0 100644 --- a/ports/ogdf/portfile.cmake +++ b/ports/ogdf/portfile.cmake @@ -4,6 +4,8 @@ vcpkg_from_github( REF 214105da97863e1d0a066157e5cc573b65b433a9 SHA512 8ab9f266fef224ce600cec418d5de56761714fbaa2d509ba89d55700c1d27d02a5fc93fab8eb8e10325a42c7d2fa8e251e2a18ece9a9565e215bf39672bff92d HEAD_REF master + PATCHES + add-include-chrono.patch # https://github.com/ogdf/ogdf/pull/254 ) vcpkg_cmake_configure( @@ -20,6 +22,6 @@ vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/OGDF) # Handle copyright -file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/minisat/doc" "${CURRENT_PACKAGES_DIR}/include/ogdf/lib/minisat/doc") diff --git a/ports/ogdf/vcpkg.json b/ports/ogdf/vcpkg.json index 51731e2211b047..802f7b3ae43f61 100644 --- a/ports/ogdf/vcpkg.json +++ b/ports/ogdf/vcpkg.json @@ -1,6 +1,7 @@ { "name": "ogdf", "version-date": "2022-06-30", + "port-version": 1, "description": "Open Graph Drawing Framework", "homepage": "https://github.com/ogdf/ogdf", "license": null, diff --git a/ports/ogre-next/avoid-name-clashes.patch b/ports/ogre-next/avoid-name-clashes.patch index a1d167d1f3b0a6..300aa94cf8434d 100644 --- a/ports/ogre-next/avoid-name-clashes.patch +++ b/ports/ogre-next/avoid-name-clashes.patch @@ -1,3 +1,7 @@ +diff --git a/CMake/FeatureSummary.cmake b/CMake/OgreFeatureSummary.cmake +similarity index 100% +rename from CMake/FeatureSummary.cmake +rename to CMake/OgreFeatureSummary.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index 800e956..436c3d3 100644 --- a/CMakeLists.txt diff --git a/ports/ogre-next/fix-dependencies.patch b/ports/ogre-next/fix-dependencies.patch index 18de8b3ae8aa1e..df65fe426d937e 100644 --- a/ports/ogre-next/fix-dependencies.patch +++ b/ports/ogre-next/fix-dependencies.patch @@ -1,8 +1,35 @@ +diff --git a/CMake/CMakeLists.txt b/CMake/CMakeLists.txt +index cdb097a..967d33b 100644 +--- a/CMake/CMakeLists.txt ++++ b/CMake/CMakeLists.txt +@@ -21,9 +21,7 @@ endif() + set(OGRE_CMAKE_DIR "share/ogre-next") + + set(INST_FILES +- Packages/FindRapidjson.cmake + Packages/FindRemotery.cmake +- Packages/FindSDL2.cmake + Packages/FindOGRE.cmake + Utils/FindPkgMacros.cmake + Utils/MacroLogFeature.cmake +@@ -45,12 +43,8 @@ endif () + + set(STATIC_INST_FILES + Packages/FindDirectX.cmake +- Packages/FindFreeImage.cmake +- Packages/FindFreetype.cmake + Packages/FindOpenGLES.cmake + Packages/FindOpenGLES2.cmake +- Packages/FindZLIB.cmake +- Packages/FindZZip.cmake + Packages/FindSoftimage.cmake + ) + if (WIN32) diff --git a/CMake/Dependencies.cmake b/CMake/Dependencies.cmake +index 74cb0f4..2cad26a 100644 --- a/CMake/Dependencies.cmake +++ b/CMake/Dependencies.cmake -@@ -73,23 +73,26 @@ - # Core dependencies +@@ -74,21 +74,24 @@ set(CMAKE_FRAMEWORK_PATH ${OGRE_DEP_SEARCH_PATH} ${CMAKE_FRAMEWORK_PATH}) ####################################################################### # Find zlib @@ -13,8 +40,8 @@ diff --git a/CMake/Dependencies.cmake b/CMake/Dependencies.cmake if (ZLIB_FOUND) # Find zziplib - find_package(ZZip) -+ find_package(ZZip NAMES unofficial-zziplib CONFIG REQUIRED) -+ set(ZZip_LIBRARIES unofficial::zziplib::libzzip) ++ find_package(ZZip NAMES zziplib CONFIG REQUIRED) ++ set(ZZip_LIBRARIES zziplib::libzzip) macro_log_feature(ZZip_FOUND "zziplib" "Extract data from zip archives" "http://zziplib.sourceforge.net" FALSE "" "") endif () @@ -31,38 +58,12 @@ diff --git a/CMake/Dependencies.cmake b/CMake/Dependencies.cmake macro_log_feature(FREETYPE_FOUND "freetype" "Portable font engine" "http://www.freetype.org" FALSE "" "") find_package(Vulkan) - macro_log_feature(Vulkan_FOUND "vulkan-sdk" "Vulkan SDK" "https://vulkan.lunarg.com/" FALSE "" "") -diff --git a/CMake/CMakeLists.txt b/CMake/CMakeLists.txt ---- a/CMake/CMakeLists.txt -+++ b/CMake/CMakeLists.txt -@@ -43,14 +43,10 @@ +@@ -105,7 +108,7 @@ if (UNIX AND NOT APPLE AND NOT ANDROID AND NOT EMSCRIPTEN) endif () - set(STATIC_INST_FILES - Packages/FindDirectX.cmake -- Packages/FindFreeImage.cmake -- Packages/FindFreetype.cmake - Packages/FindOpenGLES.cmake - Packages/FindOpenGLES2.cmake -- Packages/FindZLIB.cmake -- Packages/FindZZip.cmake - Packages/FindSoftimage.cmake - ) - if (WIN32) - set(INST_FILES ${INST_FILES} -diff --git a/CMake/Packages/FindZLIB.cmake b/CMake/Packages/FindZLIB_NOTUSE.cmake -similarity index 100% -rename from CMake/Packages/FindZLIB.cmake -rename to CMake/Packages/FindZLIB_NOTUSE.cmake -diff --git a/CMake/Packages/FindZZip.cmake b/CMake/Packages/FindZZip_NOTUSE.cmake -similarity index 100% -rename from CMake/Packages/FindZZip.cmake -rename to CMake/Packages/FindZZip_NOTUSE.cmake -diff --git a/CMake/Packages/FindFreeImage.cmake b/CMake/Packages/FindFreeImage_NOTUSE.cmake -similarity index 100% -rename from CMake/Packages/FindFreeImage.cmake -rename to CMake/Packages/FindFreeImage_NOTUSE.cmake -diff --git a/CMake/Packages/FindFreetype.cmake b/CMake/Packages/FindFreetype_NOTUSE.cmake -similarity index 100% -rename from CMake/Packages/FindFreetype.cmake -rename to CMake/Packages/FindFreetype_NOTUSE.cmake + # Find rapidjson +-find_package(Rapidjson) ++find_package(Rapidjson NAMES RapidJSON CONFIG REQUIRED) + macro_log_feature(Rapidjson_FOUND "rapidjson" "C++ JSON parser" "https://rapidjson.org/" FALSE "" "") + + find_package(RenderDoc) diff --git a/ports/ogre-next/fix-error-c2039.patch b/ports/ogre-next/fix-error-c2039.patch deleted file mode 100644 index f6071f8303048f..00000000000000 --- a/ports/ogre-next/fix-error-c2039.patch +++ /dev/null @@ -1,79 +0,0 @@ -diff --git a/OgreMain/include/OgreString.h b/OgreMain/include/OgreString.h -index 8693c57..720a243 100644 ---- a/OgreMain/include/OgreString.h -+++ b/OgreMain/include/OgreString.h -@@ -34,44 +34,6 @@ THE SOFTWARE. - - #include "OgreHeaderPrefix.h" - --// If we're using the GCC 3.1 C++ Std lib --#if OGRE_COMPILER == OGRE_COMPILER_GNUC && OGRE_COMP_VER >= 310 && !defined(STLPORT) -- --// For gcc 4.3 see http://gcc.gnu.org/gcc-4.3/changes.html --# if __cplusplus >= 201103L --# include --# elif OGRE_COMP_VER >= 430 --# include --# else --# include --namespace __gnu_cxx --{ -- template <> struct hash< Ogre::_StringBase > -- { -- size_t operator()( const Ogre::_StringBase _stringBase ) const -- { -- /* This is the PRO-STL way, but it seems to cause problems with VC7.1 -- and in some other cases (although I can't recreate it) -- hash H; -- return H(_stringBase.c_str()); -- */ -- /** This is our custom way */ -- register size_t ret = 0; -- for( Ogre::_StringBase::const_iterator it = _stringBase.begin(); it != _stringBase.end(); ++it ) -- ret = 5 * ret + *it; -- -- return ret; -- } -- }; --} --# endif -- --#endif -- --#if OGRE_COMPILER == OGRE_COMPILER_MSVC -- #include --#endif -- - namespace Ogre { - /** \addtogroup Core - * @{ -@@ -205,28 +167,8 @@ namespace Ogre { - static const String replaceAll(const String& source, const String& replaceWhat, const String& replaceWithWhat); - }; - -+ typedef ::std::hash<_StringBase> _StringHash; - --#if OGRE_COMPILER == OGRE_COMPILER_GNUC && OGRE_COMP_VER >= 310 && !defined(STLPORT) --# if __cplusplus >= 201103L -- typedef std::hash< _StringBase > _StringHash; --# elif OGRE_COMP_VER < 430 -- typedef ::__gnu_cxx::hash< _StringBase > _StringHash; --# else -- typedef ::std::tr1::hash< _StringBase > _StringHash; --# endif --#elif OGRE_COMPILER == OGRE_COMPILER_CLANG --# if defined(_LIBCPP_VERSION) || __cplusplus >= 201103L -- typedef ::std::hash< _StringBase > _StringHash; --# else -- typedef ::std::tr1::hash< _StringBase > _StringHash; --# endif --#elif OGRE_COMPILER == OGRE_COMPILER_MSVC && OGRE_COMP_VER >= 1600 && OGRE_COMP_VER < 1910 && !defined(STLPORT) // VC++ 10.0 -- typedef ::std::tr1::hash< _StringBase > _StringHash; --#elif !defined( _STLP_HASH_FUN_H ) -- typedef stdext::hash_compare< _StringBase, std::less< _StringBase > > _StringHash; --#else -- typedef std::hash< _StringBase > _StringHash; --#endif - /** @} */ - /** @} */ - diff --git a/ports/ogre-next/fix_find_package_sdl2.patch b/ports/ogre-next/fix_find_package_sdl2.patch deleted file mode 100644 index 47aa01afbd205c..00000000000000 --- a/ports/ogre-next/fix_find_package_sdl2.patch +++ /dev/null @@ -1,77 +0,0 @@ -diff --git a/CMake/Dependencies.cmake b/CMake/Dependencies.cmake -index 3f3e2d7..0cc9606 100644 ---- a/CMake/Dependencies.cmake -+++ b/CMake/Dependencies.cmake -@@ -267,7 +267,7 @@ endif() - ####################################################################### - - # Find sdl2 --find_package(SDL2) -+find_package(SDL2 CONFIG REQUIRED) - macro_log_feature(SDL2_FOUND "SDL2" "Simple DirectMedia Library" "https://www.libsdl.org/" FALSE "" "") - - ####################################################################### -diff --git a/CMake/InstallDependencies.cmake b/CMake/InstallDependencies.cmake -index f98b358..e5eb9ed 100644 ---- a/CMake/InstallDependencies.cmake -+++ b/CMake/InstallDependencies.cmake -@@ -100,8 +100,6 @@ if (OGRE_INSTALL_DEPENDENCIES) - endif () - - if( OGRE_BUILD_SAMPLES2 ) -- install_debug(SDL2.dll) -- install_release(SDL2.dll) - install_debug(openvr_api.dll) - install_release(openvr_api.dll) - install_debug(openvr_api.pdb) -diff --git a/CMake/Packages/FindSDL2.cmake b/CMake/Packages/FindSDL2.cmake -index 4b42a51..793eb71 100644 ---- a/CMake/Packages/FindSDL2.cmake -+++ b/CMake/Packages/FindSDL2.cmake -@@ -182,7 +182,7 @@ ENDIF(SDL2_LIBRARY_TEMP) - INCLUDE(FindPackageHandleStandardArgs) - - FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL2 -- REQUIRED_VARS SDL2_LIBRARY SDL2_INCLUDE_DIR) -+ REQUIRED_VARS SDL2::SDL2 SDL2_INCLUDE_DIR) - - if (WIN32) - set(SDL2_BIN_SEARCH_PATH ${OGRE_DEPENDENCIES_DIR}/bin ${CMAKE_SOURCE_DIR}/Dependencies/bin ${SDL2_HOME}/dll -@@ -201,6 +201,6 @@ IF(SDL2_STATIC) - if (UNIX AND NOT APPLE) - EXECUTE_PROCESS(COMMAND sdl2-config --static-libs OUTPUT_VARIABLE SDL2_LINK_FLAGS) - STRING(REGEX REPLACE "(\r?\n)+$" "" SDL2_LINK_FLAGS "${SDL2_LINK_FLAGS}") -- SET(SDL2_LIBRARY ${SDL2_LINK_FLAGS}) -+ SET(SDL2::SDL2 ${SDL2_LINK_FLAGS}) - ENDIF() - ENDIF(SDL2_STATIC) -diff --git a/Samples/2.0/Common/CMakeLists.txt b/Samples/2.0/Common/CMakeLists.txt -index b21601e..4ef90bd 100644 ---- a/Samples/2.0/Common/CMakeLists.txt -+++ b/Samples/2.0/Common/CMakeLists.txt -@@ -49,4 +49,4 @@ add_library(${OGRE_SAMPLES_COMMON_LIBRARY} STATIC ${SOURCE_FILES} ${HEADER_FILES - - link_directories(${CMAKE_CURRENT_BINARY_DIR}) - --target_link_libraries(${OGRE_SAMPLES_COMMON_LIBRARY} ${SDL2_LIBRARY} OgreHlmsPbs OgreHlmsUnlit) -+target_link_libraries(${OGRE_SAMPLES_COMMON_LIBRARY} SDL2::SDL2 OgreHlmsPbs OgreHlmsUnlit) -diff --git a/Samples/2.0/Tutorials/EmptyProject/CMake/Dependencies/OGRE.cmake b/Samples/2.0/Tutorials/EmptyProject/CMake/Dependencies/OGRE.cmake -index 5e80709..3ba9b5a 100644 ---- a/Samples/2.0/Tutorials/EmptyProject/CMake/Dependencies/OGRE.cmake -+++ b/Samples/2.0/Tutorials/EmptyProject/CMake/Dependencies/OGRE.cmake -@@ -224,13 +224,13 @@ endif() - - if( NOT IOS ) - set( CMAKE_PREFIX_PATH "${OGRE_SOURCE}/Dependencies ${CMAKE_PREFIX_PATH}" ) -- find_package( SDL2 ) -+ find_package(SDL2 CONFIG REQUIRED) - if( NOT SDL2_FOUND ) - message( "Could not find SDL2. https://www.libsdl.org/" ) - else() - message( STATUS "Found SDL2" ) - include_directories( ${SDL2_INCLUDE_DIR} ) -- set( OGRE_DEPENDENCY_LIBS ${OGRE_DEPENDENCY_LIBS} ${SDL2_LIBRARY} ) -+ set( OGRE_DEPENDENCY_LIBS ${OGRE_DEPENDENCY_LIBS} SDL2::SDL2 ) - endif() - endif() - diff --git a/ports/ogre-next/portfile.cmake b/ports/ogre-next/portfile.cmake index d2963fffba0129..9da922912c0dba 100644 --- a/ports/ogre-next/portfile.cmake +++ b/ports/ogre-next/portfile.cmake @@ -1,9 +1,4 @@ -# This portfile is based (shamelessly copied and adapted a bit) on 'ogre' portfile. -if (EXISTS "${CURRENT_INSTALLED_DIR}/Media/HLMS/Blendfunctions_piece_fs.glslt") - message(FATAL_ERROR "FATAL ERROR: ogre-next and ogre are incompatible.") -endif() - -if(NOT VCPKG_TARGET_IS_WINDOWS) +if(NOT VCPKG_TARGET_IS_IOS AND NOT VCPKG_TARGET_IS_OSX AND NOT VCPKG_TARGET_IS_WINDOWS) message("${PORT} currently requires the following library from the system package manager:\n Xaw\n\nIt can be installed on Ubuntu systems via apt-get install libxaw7-dev") endif() @@ -11,123 +6,96 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO OGRECave/ogre-next REF v${VERSION} - SHA512 62c721680ed77e74b6e1649ab7324bd49fc3c7c2e60ad76a62ec5f899f327d65a140462d75300eac4f41567a8903a748d07a760dc376eddcadf0aeea5a3ca5a7 + SHA512 52ed2d2a3375c0d35f0dc695b986514484ad1d47966c5c18351d3b09913123b2487b9729738c6b8b1219c1a992a8c8509a2303e097a6eb26497e152a14d48830 HEAD_REF master PATCHES toolchain_fixes.patch - fix_find_package_sdl2.patch avoid-name-clashes.patch - fix-error-c2039.patch fix-dependencies.patch ) - -file(REMOVE "${SOURCE_PATH}/CMake/Packages/FindOpenEXR.cmake") -if(EXISTS "${SOURCE_PATH}/CMake/FeatureSummary.cmake") - file(RENAME "${SOURCE_PATH}/CMake/FeatureSummary.cmake" "${SOURCE_PATH}/CMake/OgreFeatureSummary.cmake") -endif() - -if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - set(OGRE_STATIC ON) -else() - set(OGRE_STATIC OFF) -endif() +file(REMOVE + "${SOURCE_PATH}/CMake/Packages/FindFreeImage.cmake" + "${SOURCE_PATH}/CMake/Packages/FindFreetype.cmake" + "${SOURCE_PATH}/CMake/Packages/FindRapidjson.cmake" + "${SOURCE_PATH}/CMake/Packages/FindVulkan.cmake" + "${SOURCE_PATH}/CMake/Packages/FindZLIB.cmake" + "${SOURCE_PATH}/CMake/Packages/FindZZip.cmake" +) vcpkg_check_features( OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES + d3d11 OGRE_BUILD_RENDERSYSTEM_DirectX11 + d3d11 CMAKE_REQUIRE_FIND_PACKAGE_DirectX11 + gl3plus OGRE_BUILD_RENDERSYSTEM_GL3PLUS + gl3plus CMAKE_REQUIRE_FIND_PACKAGE_OpenGL + metal OGRE_BUILD_RENDERSYSTEM_METAL planar-reflections OGRE_BUILD_COMPONENT_PLANAR_REFLECTIONS + vulkan OGRE_BUILD_RENDERSYSTEM_VULKAN + vulkan CMAKE_REQUIRE_FIND_PACKAGE_Vulkan ) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" OGRE_STATIC) + +vcpkg_find_acquire_program(PKGCONFIG) + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} - -DOGRE_COPY_DEPENDENCIES=OFF + -DCMAKE_CXX_STANDARD=11 + -DCMAKE_DISABLE_FIND_PACKAGE_AMDAGS=ON + -DCMAKE_DISABLE_FIND_PACKAGE_CppUnit=ON + -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=ON + -DCMAKE_DISABLE_FIND_PACKAGE_GLSLOptimizer=ON + -DCMAKE_DISABLE_FIND_PACKAGE_HLSL2GLSL=ON + -DCMAKE_DISABLE_FIND_PACKAGE_OpenVR=ON + -DCMAKE_DISABLE_FIND_PACKAGE_POCO=ON + -DCMAKE_DISABLE_FIND_PACKAGE_Remotery=ON + -DCMAKE_DISABLE_FIND_PACKAGE_RenderDoc=ON + -DCMAKE_DISABLE_FIND_PACKAGE_SDL2=ON + -DCMAKE_DISABLE_FIND_PACKAGE_Softimage=ON + -DCMAKE_DISABLE_FIND_PACKAGE_TBB=ON + -DCMAKE_POLICY_DEFAULT_CMP0072=NEW # Prefer GLVND + -DOGRE_ARCHIVE_OUTPUT=lib + -DOGRE_LIBRARY_OUTPUT=lib + -DOGRE_BUILD_LIBS_AS_FRAMEWORKS=OFF + -DOGRE_BUILD_MSVC_MP=ON + -DOGRE_BUILD_MSVC_ZM=ON + -DOGRE_BUILD_RENDERSYSTEM_GLES=OFF + -DOGRE_BUILD_RENDERSYSTEM_GLES2=OFF -DOGRE_BUILD_SAMPLES2=OFF -DOGRE_BUILD_TESTS=OFF -DOGRE_BUILD_TOOLS=OFF - -DOGRE_BUILD_MSVC_MP=ON - -DOGRE_BUILD_MSVC_ZM=ON + -DOGRE_COPY_DEPENDENCIES=OFF -DOGRE_INSTALL_DEPENDENCIES=OFF -DOGRE_INSTALL_DOCS=OFF -DOGRE_INSTALL_PDB=OFF -DOGRE_INSTALL_SAMPLES=OFF -DOGRE_INSTALL_TOOLS=OFF -DOGRE_INSTALL_VSPROPS=OFF + -DOGRE_SKIP_BOOST_SEARCHING=ON -DOGRE_STATIC=${OGRE_STATIC} - -DOGRE_CONFIG_THREAD_PROVIDER=std - -DOGRE_BUILD_RENDERSYSTEM_D3D11=ON - -DOGRE_BUILD_RENDERSYSTEM_GL=ON - -DOGRE_BUILD_RENDERSYSTEM_GL3PLUS=ON - -DOGRE_BUILD_RENDERSYSTEM_GLES=OFF - -DOGRE_BUILD_RENDERSYSTEM_GLES2=OFF - -DOGRE_CMAKE_DIR=share/ogre-next + -DOGRE_USE_NEW_PROJECT_NAME=ON + "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" + MAYBE_UNUSED_VARIABLES + CMAKE_DISABLE_FIND_PACKAGE_AMDAGS + CMAKE_REQUIRE_FIND_PACKAGE_DirectX11 + OGRE_BUILD_MSVC_MP + OGRE_BUILD_MSVC_ZM + OGRE_BUILD_RENDERSYSTEM_DirectX11 + OGRE_COPY_DEPENDENCIES + OGRE_INSTALL_DEPENDENCIES + OGRE_INSTALL_VSPROPS ) vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_cmake_config_fixup() - - - -file(GLOB REL_CFGS "${CURRENT_PACKAGES_DIR}/bin/*.cfg") -if(REL_CFGS) - file(COPY ${REL_CFGS} DESTINATION "${CURRENT_PACKAGES_DIR}/lib") - file(REMOVE ${REL_CFGS}) -endif() - -file(GLOB DBG_CFGS "${CURRENT_PACKAGES_DIR}/debug/bin/*.cfg") -if(DBG_CFGS) - file(COPY ${DBG_CFGS} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") - file(REMOVE ${DBG_CFGS}) +if(NOT VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_MINGW) + vcpkg_fixup_pkgconfig() endif() -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") -endif() - -#Remove OgreMain*.lib from lib/ folder, because autolink would complain, since it defines a main symbol -#manual-link subfolder is here to the rescue! -if(VCPKG_TARGET_IS_WINDOWS) - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "Release") - file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/lib/manual-link") - if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - file(RENAME "${CURRENT_PACKAGES_DIR}/lib/release/OgreMain.lib" "${CURRENT_PACKAGES_DIR}/lib/manual-link/OgreMain.lib") - else() - file(RENAME "${CURRENT_PACKAGES_DIR}/lib/release/OgreMainStatic.lib" "${CURRENT_PACKAGES_DIR}/lib/manual-link/OgreMainStatic.lib") - endif() - file(GLOB LIBS "${CURRENT_PACKAGES_DIR}/lib/release/*") - file(GLOB DLLS "${CURRENT_PACKAGES_DIR}/bin/release/*") - file(COPY ${LIBS} DESTINATION "${CURRENT_PACKAGES_DIR}/lib") - file(COPY ${DLLS} DESTINATION "${CURRENT_PACKAGES_DIR}/bin") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/release/" "${CURRENT_PACKAGES_DIR}/bin/release/") - endif() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "Debug") - file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/lib/manual-link") - if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/debug/OgreMain_d.lib" "${CURRENT_PACKAGES_DIR}/debug/lib/manual-link/OgreMain_d.lib") - else() - file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/debug/OgreMainStatic_d.lib" "${CURRENT_PACKAGES_DIR}/debug/lib/manual-link/OgreMainStatic_d.lib") - endif() - file(GLOB LIBS "${CURRENT_PACKAGES_DIR}/debug/lib/debug/*") - file(GLOB DLLS "${CURRENT_PACKAGES_DIR}/debug/bin/debug/*") - file(COPY ${LIBS} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") - file(COPY ${DLLS} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/debug/" "${CURRENT_PACKAGES_DIR}/debug/bin/debug/") - endif() - - file(GLOB SHARE_FILES "${CURRENT_PACKAGES_DIR}/share/ogre-next/*.cmake") - foreach(SHARE_FILE ${SHARE_FILES}) - file(READ "${SHARE_FILE}" _contents) - string(REPLACE "lib/OgreMain" "lib/manual-link/OgreMain" _contents "${_contents}") - file(WRITE "${SHARE_FILE}" "${_contents}") - endforeach() -endif() - -# Handle copyright -vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -vcpkg_fixup_pkgconfig() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/ogre-next/toolchain_fixes.patch b/ports/ogre-next/toolchain_fixes.patch index 334fab27553a6e..6ea38a1e0ec0b3 100644 --- a/ports/ogre-next/toolchain_fixes.patch +++ b/ports/ogre-next/toolchain_fixes.patch @@ -1,199 +1,136 @@ diff --git a/CMake/CMakeLists.txt b/CMake/CMakeLists.txt -index f3a62f2..b53df6f 100644 +index 45d5935..cdb097a 100644 --- a/CMake/CMakeLists.txt +++ b/CMake/CMakeLists.txt -@@ -13,10 +13,12 @@ - # directory, but can also be used for custom projects. - ############################################################# - --if(WIN32 OR APPLE) -- set(OGRE_CMAKE_DIR "CMake") --else() -- set(OGRE_CMAKE_DIR "${OGRE_LIB_DIRECTORY}/OGRE/cmake") -+if(NOT DEFINED OGRE_CMAKE_DIR) -+ if(WIN32 OR APPLE) -+ set(OGRE_CMAKE_DIR "CMake") -+ else() -+ set(OGRE_CMAKE_DIR "${OGRE_LIB_DIRECTORY}/OGRE/cmake") -+ endif() +@@ -18,6 +18,7 @@ if(WIN32 OR APPLE) + else() + set(OGRE_CMAKE_DIR "${OGRE_LIB_DIRECTORY}/${OGRE_NEXT_PREFIX}/cmake") endif() ++set(OGRE_CMAKE_DIR "share/ogre-next") set(INST_FILES -diff --git a/CMake/Packages/FindGLSLOptimizer.cmake b/CMake/Packages/FindGLSLOptimizer.cmake -index dd4b179..6f158fc 100644 ---- a/CMake/Packages/FindGLSLOptimizer.cmake -+++ b/CMake/Packages/FindGLSLOptimizer.cmake -@@ -38,7 +38,7 @@ findpkg_framework(GLSL_Optimizer) - find_path(GLSL_Optimizer_INCLUDE_DIR NAMES glsl_optimizer.h HINTS ${GLSL_Optimizer_INC_SEARCH_PATH} ${GLSL_Optimizer_PKGC_INCLUDE_DIRS} PATH_SUFFIXES GLSL_Optimizer) - find_library(GLSL_Optimizer_LIBRARY_REL NAMES ${GLSL_Optimizer_LIBRARY_NAMES} HINTS ${GLSL_Optimizer_LIB_SEARCH_PATH} ${GLSL_Optimizer_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" Release RelWithDebInfo MinSizeRel) - find_library(GLSL_Optimizer_LIBRARY_DBG NAMES ${GLSL_Optimizer_LIBRARY_NAMES_DBG} HINTS ${GLSL_Optimizer_LIB_SEARCH_PATH} ${GLSL_Optimizer_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" Debug) --make_library_set(GLSL_Optimizer_LIBRARY) -+make_library_set(GLSL_Optimizer) - - findpkg_finish(GLSL_Optimizer) - add_parent_dir(GLSL_Optimizer_INCLUDE_DIRS GLSL_Optimizer_INCLUDE_DIR) -diff --git a/CMake/Packages/FindHLSL2GLSL.cmake b/CMake/Packages/FindHLSL2GLSL.cmake -index 7125895..13a306f 100644 ---- a/CMake/Packages/FindHLSL2GLSL.cmake -+++ b/CMake/Packages/FindHLSL2GLSL.cmake -@@ -38,7 +38,7 @@ findpkg_framework(HLSL2GLSL) - find_path(HLSL2GLSL_INCLUDE_DIR NAMES hlsl2glsl.h HINTS ${HLSL2GLSL_INC_SEARCH_PATH} ${HLSL2GLSL_PKGC_INCLUDE_DIRS} PATH_SUFFIXES HLSL2GLSL) - find_library(HLSL2GLSL_LIBRARY_REL NAMES ${HLSL2GLSL_LIBRARY_NAMES} HINTS ${HLSL2GLSL_LIB_SEARCH_PATH} ${HLSL2GLSL_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" Release RelWithDebInfo MinSizeRel) - find_library(HLSL2GLSL_LIBRARY_DBG NAMES ${HLSL2GLSL_LIBRARY_NAMES_DBG} HINTS ${HLSL2GLSL_LIB_SEARCH_PATH} ${HLSL2GLSL_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" Debug) --make_library_set(HLSL2GLSL_LIBRARY) -+make_library_set(HLSL2GLSL) - - findpkg_finish(HLSL2GLSL) - add_parent_dir(HLSL2GLSL_INCLUDE_DIRS HLSL2GLSL_INCLUDE_DIR) -diff --git a/CMake/Packages/FindNVAPI.cmake b/CMake/Packages/FindNVAPI.cmake -index 95c70cd..893ce01 100644 ---- a/CMake/Packages/FindNVAPI.cmake -+++ b/CMake/Packages/FindNVAPI.cmake -@@ -44,7 +44,7 @@ findpkg_framework(NVAPI) - find_path(NVAPI_INCLUDE_DIR NAMES nvapi.h HINTS ${NVAPI_FRAMEWORK_INCLUDES} ${NVAPI_INC_SEARCH_PATH} ${NVAPI_PKGC_INCLUDE_DIRS} PATH_SUFFIXES NVAPI) - find_library(NVAPI_LIBRARY_REL NAMES ${NVAPI_LIBRARY_NAMES} HINTS ${NVAPI_LIB_SEARCH_PATH} ${NVAPI_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" release relwithdebinfo minsizerel) - find_library(NVAPI_LIBRARY_DBG NAMES ${NVAPI_LIBRARY_NAMES_DBG} HINTS ${NVAPI_LIB_SEARCH_PATH} ${NVAPI_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" debug) --make_library_set(NVAPI_LIBRARY) -+make_library_set(NVAPI) - - findpkg_finish(NVAPI) - add_parent_dir(NVAPI_INCLUDE_DIRS NVAPI_INCLUDE_DIR) -\ No newline at end of file -diff --git a/CMake/Packages/FindPOCO.cmake b/CMake/Packages/FindPOCO.cmake -index 6b6d7fa..3667b8b 100644 ---- a/CMake/Packages/FindPOCO.cmake -+++ b/CMake/Packages/FindPOCO.cmake -@@ -50,7 +50,7 @@ findpkg_framework(POCO) - find_path(POCO_INCLUDE_DIR NAMES Poco/Foundation.h HINTS ${POCO_INC_SEARCH_PATH} ${POCO_PKGC_INCLUDE_DIRS} PATH_SUFFIXES Foundation/include) - find_library(POCO_LIBRARY_REL NAMES ${POCO_LIBRARY_NAMES} HINTS ${POCO_LIB_SEARCH_PATH} ${POCO_PKGC_LIBRARY_DIRS} PATH_SUFFIXES Linux/i686) - find_library(POCO_LIBRARY_DBG NAMES ${POCO_LIBRARY_NAMES_DBG} HINTS ${POCO_LIB_SEARCH_PATH} ${POCO_PKGC_LIBRARY_DIRS} PATH_SUFFIXES Linux/i686) --make_library_set(POCO_LIBRARY) -+make_library_set(POCO) - - findpkg_finish(POCO) - -@@ -66,7 +66,7 @@ get_debug_names(POCO_Util_LIBRARY_NAMES) - find_path(POCO_Util_INCLUDE_DIR NAMES Poco/Util/Util.h HINTS ${POCO_INCLUDE_DIR} ${POCO_INC_SEARCH_PATH} ${POCO_PKGC_INCLUDE_DIRS} PATH_SUFFIXES Util/include) - find_library(POCO_Util_LIBRARY_REL NAMES ${POCO_Util_LIBRARY_NAMES} HINTS ${POCO_LIB_SEARCH_PATH} ${POCO_PKGC_LIBRARY_DIRS} PATH_SUFFIXES Linux/i686) - find_library(POCO_Util_LIBRARY_DBG NAMES ${POCO_Util_LIBRARY_NAMES_DBG} HINTS ${POCO_LIB_SEARCH_PATH} ${POCO_PKGC_LIBRARY_DIRS} PATH_SUFFIXES Linux/i686) --make_library_set(POCO_Util_LIBRARY) -+make_library_set(POCO_Util) - findpkg_finish(POCO_Util) - - # Look for Poco's Net package -@@ -76,7 +76,7 @@ get_debug_names(POCO_Net_LIBRARY_NAMES) - find_path(POCO_Net_INCLUDE_DIR NAMES Poco/Net/Net.h HINTS ${POCO_INCLUDE_DIR} ${POCO_INC_SEARCH_PATH} ${POCO_PKGC_INCLUDE_DIRS} PATH_SUFFIXES Net/include) - find_library(POCO_Net_LIBRARY_REL NAMES ${POCO_Net_LIBRARY_NAMES} HINTS ${POCO_LIB_SEARCH_PATH} ${POCO_PKGC_LIBRARY_DIRS} PATH_SUFFIXES Linux/i686) - find_library(POCO_Net_LIBRARY_DBG NAMES ${POCO_Net_LIBRARY_NAMES_DBG} HINTS ${POCO_LIB_SEARCH_PATH} ${POCO_PKGC_LIBRARY_DIRS} PATH_SUFFIXES Linux/i686) --make_library_set(POCO_Net_LIBRARY) -+make_library_set(POCO_Net) - findpkg_finish(POCO_Net) - - # Look for Poco's NetSSL package -@@ -86,7 +86,7 @@ get_debug_names(POCO_NetSSL_LIBRARY_NAMES) - find_path(POCO_NetSSL_INCLUDE_DIR NAMES Poco/Net/NetSSL.h HINTS ${POCO_INCLUDE_DIR} ${POCO_INC_SEARCH_PATH} ${POCO_PKGC_INCLUDE_DIRS} PATH_SUFFIXES NetSSL/include) - find_library(POCO_NetSSL_LIBRARY_REL NAMES ${POCO_NetSSL_LIBRARY_NAMES} HINTS ${POCO_LIB_SEARCH_PATH} ${POCO_PKGC_LIBRARY_DIRS} PATH_SUFFIXES Linux/i686) - find_library(POCO_NetSSL_LIBRARY_DBG NAMES ${POCO_NetSSL_LIBRARY_NAMES_DBG} HINTS ${POCO_LIB_SEARCH_PATH} ${POCO_PKGC_LIBRARY_DIRS} PATH_SUFFIXES Linux/i686) --make_library_set(POCO_NetSSL_LIBRARY) -+make_library_set(POCO_NetSSL) - findpkg_finish(POCO_NetSSL) - - # Look for Poco's XML package -@@ -96,6 +96,6 @@ get_debug_names(POCO_XML_LIBRARY_NAMES) - find_path(POCO_XML_INCLUDE_DIR NAMES Poco/XML/XML.h HINTS ${POCO_INCLUDE_DIR} ${POCO_INC_SEARCH_PATH} ${POCO_PKGC_INCLUDE_DIRS} PATH_SUFFIXES XML/include) - find_library(POCO_XML_LIBRARY_REL NAMES ${POCO_XML_LIBRARY_NAMES} HINTS ${POCO_LIB_SEARCH_PATH} ${POCO_PKGC_LIBRARY_DIRS} PATH_SUFFIXES Linux/i686) - find_library(POCO_XML_LIBRARY_DBG NAMES ${POCO_XML_LIBRARY_NAMES_DBG} HINTS ${POCO_LIB_SEARCH_PATH} ${POCO_PKGC_LIBRARY_DIRS} PATH_SUFFIXES Linux/i686) --make_library_set(POCO_XML_LIBRARY) -+make_library_set(POCO_XML) - findpkg_finish(POCO_XML) - -diff --git a/CMake/Packages/FindTBB.cmake b/CMake/Packages/FindTBB.cmake -index 4200aa0..35e4ea3 100644 ---- a/CMake/Packages/FindTBB.cmake -+++ b/CMake/Packages/FindTBB.cmake -@@ -104,7 +104,7 @@ findpkg_framework(TBB) - find_path(TBB_INCLUDE_DIR NAMES tbb/tbb.h HINTS ${TBB_INC_SEARCH_PATH} ${TBB_PKGC_INCLUDE_DIRS}) - find_library(TBB_LIBRARY_REL NAMES ${TBB_LIBRARY_NAMES} HINTS ${TBB_LIB_SEARCH_PATH} ${TBB_PKGC_LIBRARY_DIRS}) - find_library(TBB_LIBRARY_DBG NAMES ${TBB_LIBRARY_NAMES_DBG} HINTS ${TBB_LIB_SEARCH_PATH} ${TBB_PKGC_LIBRARY_DIRS}) --make_library_set(TBB_LIBRARY) -+make_library_set(TBB) - - findpkg_finish(TBB) - -@@ -120,7 +120,7 @@ get_debug_names(TBB_MALLOC_LIBRARY_NAMES) - find_path(TBB_MALLOC_INCLUDE_DIR NAMES tbb/tbb.h HINTS ${TBB_INCLUDE_DIR} ${TBB_INC_SEARCH_PATH} ${TBB_PKGC_INCLUDE_DIRS} ) - find_library(TBB_MALLOC_LIBRARY_REL NAMES ${TBB_MALLOC_LIBRARY_NAMES} HINTS ${TBB_LIB_SEARCH_PATH} ${TBB_PKGC_LIBRARY_DIRS} ) - find_library(TBB_MALLOC_LIBRARY_DBG NAMES ${TBB_MALLOC_LIBRARY_NAMES_DBG} HINTS ${TBB_LIB_SEARCH_PATH} ${TBB_PKGC_LIBRARY_DIRS} ) --make_library_set(TBB_MALLOC_LIBRARY) -+make_library_set(TBB_MALLOC) - findpkg_finish(TBB_MALLOC) - - # Look for TBB's malloc proxy package -@@ -130,5 +130,5 @@ get_debug_names(TBB_MALLOC_PROXY_LIBRARY_NAMES) - find_path(TBB_MALLOC_PROXY_INCLUDE_DIR NAMES tbb/tbbmalloc_proxy.h HINTS ${TBB_INCLUDE_DIR} ${TBB_INC_SEARCH_PATH} ${TBB_PKGC_INCLUDE_DIRS}) - find_library(TBB_MALLOC_PROXY_LIBRARY_REL NAMES ${TBB_MALLOC_PROXY_LIBRARY_NAMES} HINTS ${TBB_LIB_SEARCH_PATH} ${TBB_PKGC_LIBRARY_DIRS}) - find_library(TBB_MALLOC_PROXY_LIBRARY_DBG NAMES ${TBB_MALLOC_PROXY_LIBRARY_NAMES_DBG} HINTS ${TBB_LIB_SEARCH_PATH} ${TBB_PKGC_LIBRARY_DIRS}) --make_library_set(TBB_MALLOC_PROXY_LIBRARY) -+make_library_set(TBB_MALLOC_PROXY) - findpkg_finish(TBB_MALLOC_PROXY) + Packages/FindRapidjson.cmake +diff --git a/CMake/ConfigureBuild.cmake b/CMake/ConfigureBuild.cmake +index 9d3b1b2..11fc345 100644 +--- a/CMake/ConfigureBuild.cmake ++++ b/CMake/ConfigureBuild.cmake +@@ -284,6 +284,11 @@ if (UNIX) + # there is no pkgconfig file for freeimage, so we need to add that lib manually + set(OGRE_ADDITIONAL_LIBS "${OGRE_ADDITIONAL_LIBS} -lfreeimage") + configure_file(${OGRE_TEMPLATES_DIR}/OGREStatic.pc.in ${OGRE_BINARY_DIR}/pkgconfig/${OGRE_NEXT_PREFIX}.pc @ONLY) ++ if(NOT X11_FOUND) ++ file(READ "${OGRE_BINARY_DIR}/pkgconfig/${OGRE_NEXT_PREFIX}.pc" ogre_pc) ++ string(REPLACE ", x11, xt, xaw7, gl" "" ogre_pc "${ogre_pc}") ++ file(WRITE "${OGRE_BINARY_DIR}/pkgconfig/${OGRE_NEXT_PREFIX}.pc" "${ogre_pc}") ++ endif() + else () + configure_file(${OGRE_TEMPLATES_DIR}/OGRE.pc.in ${OGRE_BINARY_DIR}/pkgconfig/${OGRE_NEXT_PREFIX}.pc @ONLY) + endif () diff --git a/CMake/Utils/FindPkgMacros.cmake b/CMake/Utils/FindPkgMacros.cmake -index 53111e0..8dffbbc 100644 +index 53111e0..e0f6716 100644 --- a/CMake/Utils/FindPkgMacros.cmake +++ b/CMake/Utils/FindPkgMacros.cmake -@@ -79,15 +79,21 @@ endmacro (use_pkgconfig) - - # Couple a set of release AND debug libraries (or frameworks) +@@ -81,6 +81,12 @@ endmacro (use_pkgconfig) macro(make_library_set PREFIX) -- if (${PREFIX}_FWK) -- set(${PREFIX} ${${PREFIX}_FWK}) -- elseif (${PREFIX}_REL AND ${PREFIX}_DBG) -- set(${PREFIX} optimized ${${PREFIX}_REL} debug ${${PREFIX}_DBG}) -- elseif (${PREFIX}_REL) -- set(${PREFIX} ${${PREFIX}_REL}) -- elseif (${PREFIX}_DBG) -- set(${PREFIX} ${${PREFIX}_DBG}) -- endif () -+ include(${CMAKE_ROOT}/Modules/SelectLibraryConfigurations.cmake) -+ set(PREFIX_LIB "${PREFIX}_LIBRARY") -+ if (${PREFIX_LIB}_FWK) -+ set(${PREFIX_LIB} ${${PREFIX_LIB}_FWK}) -+ elseif (${PREFIX_LIB}_REL AND ${PREFIX_LIB}_DBG) -+ set(${PREFIX_LIB}_RELEASE ${${PREFIX_LIB}_REL} CACHE STRING "") -+ set(${PREFIX_LIB}_DEBUG ${${PREFIX_LIB}_DBG} CACHE STRING "") -+ select_library_configurations(${PREFIX}) -+ elseif (${PREFIX_LIB}_REL) -+ set(${PREFIX_LIB} ${${PREFIX_LIB}_REL}) -+ set(${PREFIX_LIB}_RELEASE ${${PREFIX_LIB}_REL}) -+ elseif (${PREFIX_LIB}_DBG) -+ set(${PREFIX_LIB} ${${PREFIX_LIB}_DBG}) -+ set(${PREFIX_LIB}_DEBUG ${${PREFIX_LIB}_DBG}) -+ endif() - endmacro(make_library_set) - - # Generate debug names from given release names + if (${PREFIX}_FWK) + set(${PREFIX} ${${PREFIX}_FWK}) ++ elseif (${PREFIX}_REL OR ${PREFIX}_DBG) ++ include("${CMAKE_ROOT}/Modules/SelectLibraryConfigurations.cmake") ++ set(${PREFIX}_RELEASE "${${PREFIX}_REL}") ++ set(${PREFIX}_DEBUG "${${PREFIX}_DBG}") ++ string(REPLACE "_LIBRARY" "" PREFIX_BASENAME "${PREFIX}") ++ select_library_configurations(${PREFIX_BASENAME}) + elseif (${PREFIX}_REL AND ${PREFIX}_DBG) + set(${PREFIX} optimized ${${PREFIX}_REL} debug ${${PREFIX}_DBG}) + elseif (${PREFIX}_REL) +diff --git a/CMake/Utils/OgreConfigTargets.cmake b/CMake/Utils/OgreConfigTargets.cmake +index d8e0208..1fdb63c 100644 +--- a/CMake/Utils/OgreConfigTargets.cmake ++++ b/CMake/Utils/OgreConfigTargets.cmake +@@ -41,7 +41,7 @@ if (NOT OGRE_RUNTIME_OUTPUT) + set(OGRE_RUNTIME_OUTPUT ${OGRE_BINARY_DIR}/bin) + endif () + +-if (WIN32) ++if (0) + set(OGRE_RELEASE_PATH "/Release") + set(OGRE_RELWDBG_PATH "/RelWithDebInfo") + set(OGRE_MINSIZE_PATH "/MinSizeRel") +@@ -52,7 +52,7 @@ if (WIN32) + set(OGRE_LIB_DEBUG_PATH "/Debug") + set(OGRE_PLUGIN_PATH "/opt") + set(OGRE_SAMPLE_PATH "/opt/samples") +-elseif (UNIX) ++elseif (1) + set(OGRE_RELEASE_PATH "") + set(OGRE_RELWDBG_PATH "") + set(OGRE_MINSIZE_PATH "") diff --git a/CMakeLists.txt b/CMakeLists.txt -index 48af55b..b18ac57 100644 +index 2786e35..7a92a7b 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -282,7 +282,7 @@ if (OGRE_BUILD_PLATFORM_APPLE_IOS) +@@ -299,7 +299,6 @@ if (OGRE_BUILD_PLATFORM_APPLE_IOS) + execute_process(COMMAND xcodebuild -version -sdk "${XCODE_ATTRIBUTE_SDKROOT}" Path | head -n 1 OUTPUT_VARIABLE CMAKE_OSX_SYSROOT) + string(REGEX REPLACE "(\r?\n)+$" "" CMAKE_OSX_SYSROOT "${CMAKE_OSX_SYSROOT}") + else() +- set(CMAKE_OSX_SYSROOT iphoneos) + endif() - # Set build variables - set(XCODE_ATTRIBUTE_SDKROOT iphoneos) -- if(CMAKE_GENERATOR STREQUAL "Unix Makefiles") -+ if(1) + set(CMAKE_EXE_LINKER_FLAGS "-framework Foundation -framework CoreGraphics -framework QuartzCore -framework UIKit") +@@ -364,7 +363,6 @@ elseif (APPLE AND NOT OGRE_BUILD_PLATFORM_APPLE_IOS) execute_process(COMMAND xcodebuild -version -sdk "${XCODE_ATTRIBUTE_SDKROOT}" Path | head -n 1 OUTPUT_VARIABLE CMAKE_OSX_SYSROOT) string(REGEX REPLACE "(\r?\n)+$" "" CMAKE_OSX_SYSROOT "${CMAKE_OSX_SYSROOT}") else() +- set(CMAKE_OSX_SYSROOT macosx) + endif() + + set( CMAKE_XCODE_ATTRIBUTE_CLANG_ENABLE_OBJC_ARC YES ) diff --git a/OgreMain/CMakeLists.txt b/OgreMain/CMakeLists.txt -index 0424ebb..b019269 100644 +index b698b84..75fef2c 100644 --- a/OgreMain/CMakeLists.txt +++ b/OgreMain/CMakeLists.txt -@@ -434,8 +434,6 @@ if (APPLE) - set_target_properties(OgreMain PROPERTIES +@@ -439,7 +439,7 @@ if (APPLE) LINK_FLAGS "-framework IOKit -framework Cocoa -framework Carbon -framework OpenGL -framework CoreVideo" ) -- + - set(OGRE_OSX_BUILD_CONFIGURATION "$(PLATFORM_NAME)/$(CONFIGURATION)") ++ set(OGRE_OSX_BUILD_CONFIGURATION ".") - add_custom_command(TARGET OgreMain POST_BUILD + add_custom_command(TARGET ${OGRE_NEXT}Main POST_BUILD COMMAND mkdir ARGS -p ${OGRE_BINARY_DIR}/lib/${OGRE_OSX_BUILD_CONFIGURATION}/Ogre.framework/Headers/Threading +@@ -494,6 +494,9 @@ use_precompiled_header(${OGRE_NEXT}Main + ) + + # install ${OGRE_NEXT}Main ++if(MSVC) ++ set(OGRE_LIB_DIRECTORY lib/manual-link) ++endif() + ogre_config_lib(${OGRE_NEXT}Main TRUE) + foreach(HEADER_FILE ${HEADER_FILES}) + string(REGEX REPLACE "((${CMAKE_CURRENT_SOURCE_DIR}|${OGRE_BINARY_DIR})/)?(include|src)/" "" RELATIVE_HEADER_FILE ${HEADER_FILE}) +diff --git a/OgreMain/include/OgrePlatform.h b/OgreMain/include/OgrePlatform.h +index 6754c4e..6b1879d 100644 +--- a/OgreMain/include/OgrePlatform.h ++++ b/OgreMain/include/OgrePlatform.h +@@ -504,7 +504,7 @@ THE SOFTWARE. + + // Define whether or not Ogre compiled with NEON support. + #if OGRE_DOUBLE_PRECISION == 0 && OGRE_CPU == OGRE_CPU_ARM && \ +- ( defined(__aarch64__) || defined(__ARM_NEON__) || defined(_WIN32_WINNT_WIN8) && _WIN32_WINNT >= _WIN32_WINNT_WIN8 ) ++ ( defined(__aarch64__) || defined(__ARM_NEON__) || defined(_M_ARM64) || defined(_WIN32_WINNT_WIN8) && _WIN32_WINNT >= _WIN32_WINNT_WIN8 ) + #define __OGRE_HAVE_NEON 1 + #endif + #endif +diff --git a/OgreMain/include/OgreString.h b/OgreMain/include/OgreString.h +index 8693c57..b4179ea 100644 +--- a/OgreMain/include/OgreString.h ++++ b/OgreMain/include/OgreString.h +@@ -222,7 +222,7 @@ namespace Ogre { + # endif + #elif OGRE_COMPILER == OGRE_COMPILER_MSVC && OGRE_COMP_VER >= 1600 && OGRE_COMP_VER < 1910 && !defined(STLPORT) // VC++ 10.0 + typedef ::std::tr1::hash< _StringBase > _StringHash; +-#elif !defined( _STLP_HASH_FUN_H ) ++#elif 0 + typedef stdext::hash_compare< _StringBase, std::less< _StringBase > > _StringHash; + #else + typedef std::hash< _StringBase > _StringHash; diff --git a/ports/ogre-next/vcpkg.json b/ports/ogre-next/vcpkg.json index 8f3b24d4e6aafd..53528721c27af0 100644 --- a/ports/ogre-next/vcpkg.json +++ b/ports/ogre-next/vcpkg.json @@ -1,21 +1,18 @@ { "name": "ogre-next", - "version": "2.3.1", + "version": "2.3.3", "port-version": 3, - "description": "Ogre 2.1 & 2.2 - scene-oriented, flexible 3D engine written in C++", + "description": "Ogre Next - scene-oriented, flexible 3D engine written in C++", "homepage": "https://github.com/OGRECave/ogre-next", "license": "MIT", + "supports": "!emscripten & !uwp & !xbox", "dependencies": [ - "boost-date-time", - "boost-thread", "freeimage", - "freetype", - "openvr", - "pkgconf", - "poco", + { + "name": "freetype", + "default-features": false + }, "rapidjson", - "sdl2", - "tbb", "tinyxml", { "name": "vcpkg-cmake", @@ -28,9 +25,47 @@ "zlib", "zziplib" ], + "default-features": [ + { + "name": "d3d11", + "platform": "windows" + }, + { + "name": "gl3plus", + "platform": "!android & !ios & !osx & !windows" + }, + { + "name": "metal", + "platform": "ios | osx" + }, + { + "name": "vulkan", + "platform": "android" + } + ], "features": { + "d3d11": { + "description": "Direct3D 11 render system", + "supports": "windows" + }, + "gl3plus": { + "description": "OpenGL 3+ render system", + "supports": "!android & !(arm & windows)" + }, + "metal": { + "description": "Metal render system", + "supports": "osx | ios" + }, "planar-reflections": { "description": "Component to use planar reflections, can be used by both HlmsPbs and HlmsUnlit" + }, + "vulkan": { + "description": "Vulkan render system", + "supports": "!osx", + "dependencies": [ + "glslang", + "vulkan" + ] } } } diff --git a/ports/ogre/fix-dependencies.patch b/ports/ogre/fix-dependencies.patch index 5c8d3ef98cc176..a90a652fb3cc4d 100644 --- a/ports/ogre/fix-dependencies.patch +++ b/ports/ogre/fix-dependencies.patch @@ -1,8 +1,8 @@ diff --git a/CMake/Dependencies.cmake b/CMake/Dependencies.cmake -index b0c5ba3..27d7bd2 100644 +index 21590f4..4b46a29 100644 --- a/CMake/Dependencies.cmake +++ b/CMake/Dependencies.cmake -@@ -194,11 +194,14 @@ endif() +@@ -210,11 +210,14 @@ endif() ####################################################################### # Find FreeImage @@ -19,7 +19,7 @@ index b0c5ba3..27d7bd2 100644 macro_log_feature(FREETYPE_FOUND "freetype" "Portable font engine" "http://www.freetype.org") # Find X11 -@@ -254,13 +257,17 @@ endif () +@@ -281,13 +284,17 @@ endif () macro_log_feature(ENV{VULKAN_SDK} "Vulkan SDK" "Vulkan RenderSystem, glslang Plugin. Alternatively use system packages" "https://vulkan.lunarg.com/") # OpenEXR @@ -40,7 +40,7 @@ index b0c5ba3..27d7bd2 100644 macro_log_feature(PYTHONLIBS_FOUND "Python" "Language bindings to use OGRE from Python" "http://www.python.org/") # SWIG -@@ -268,7 +275,7 @@ find_package(SWIG 3.0.8 QUIET) +@@ -295,7 +302,7 @@ find_package(SWIG 3.0.8 QUIET) macro_log_feature(SWIG_FOUND "SWIG" "Language bindings (Python, Java, C#) for OGRE" "http://www.swig.org/") # pugixml @@ -49,7 +49,7 @@ index b0c5ba3..27d7bd2 100644 macro_log_feature(pugixml_FOUND "pugixml" "Needed for XMLConverter and DotScene Plugin" "https://pugixml.org/") # Find zlib -@@ -276,7 +283,7 @@ find_package(ZLIB) +@@ -303,7 +310,7 @@ find_package(ZLIB) macro_log_feature(ZLIB_FOUND "zlib" "Simple data compression library" "http://www.zlib.net") # Assimp @@ -58,7 +58,7 @@ index b0c5ba3..27d7bd2 100644 macro_log_feature(assimp_FOUND "Assimp" "Needed for the AssimpLoader Plugin" "https://www.assimp.org/") # Bullet -@@ -284,6 +291,8 @@ find_package(Bullet QUIET) +@@ -311,6 +318,8 @@ find_package(Bullet QUIET) macro_log_feature(BULLET_FOUND "Bullet" "Bullet physics" "https://pybullet.org") if(assimp_FOUND) @@ -67,7 +67,7 @@ index b0c5ba3..27d7bd2 100644 # workaround horribly broken assimp cmake, fixed with assimp 5.1 add_library(fix::assimp INTERFACE IMPORTED) set_target_properties(fix::assimp PROPERTIES -@@ -302,7 +311,7 @@ endif() +@@ -329,7 +338,7 @@ endif() # Find sdl2 if(NOT ANDROID AND NOT EMSCRIPTEN) # find script does not work in cross compilation environment @@ -107,10 +107,10 @@ index 2047f66..a5c7cd0 100644 list(APPEND OGRE_INCLUDE_DIRS @Boost_INCLUDE_DIRS@) endif() diff --git a/Components/Bites/CMakeLists.txt b/Components/Bites/CMakeLists.txt -index 8f96cef..045e288 100644 +index 9e990b8..16c0ae4 100644 --- a/Components/Bites/CMakeLists.txt +++ b/Components/Bites/CMakeLists.txt -@@ -171,6 +171,12 @@ elseif(NOT EMSCRIPTEN) +@@ -185,6 +185,12 @@ elseif(NOT EMSCRIPTEN) message(WARNING "SDL2 not found - no input handling and reduced window creation capabilites") endif() @@ -123,8 +123,21 @@ index 8f96cef..045e288 100644 generate_export_header(OgreBites EXPORT_MACRO_NAME _OgreBitesExport EXPORT_FILE_NAME ${PROJECT_BINARY_DIR}/include/OgreBitesPrerequisites.h) +diff --git a/Components/Bites/src/OgreImGuiInputListener.cpp b/Components/Bites/src/OgreImGuiInputListener.cpp +index 3cb2379..5629bb5 100644 +--- a/Components/Bites/src/OgreImGuiInputListener.cpp ++++ b/Components/Bites/src/OgreImGuiInputListener.cpp +@@ -116,7 +116,7 @@ static bool keyEvent(const KeyboardEvent& arg) + if (key == ImGuiKey_None) + return io.WantCaptureKeyboard; + +- io.AddKeyEvent(ImGuiKey(key), arg.type == OgreBites::KEYDOWN); ++ io.AddKeyEvent(static_cast(key), arg.type == OgreBites::KEYDOWN); + return io.WantCaptureKeyboard; + } + diff --git a/Components/Overlay/CMakeLists.txt b/Components/Overlay/CMakeLists.txt -index 0c74ce2..a302b1c 100644 +index 41bd634..87f1406 100644 --- a/Components/Overlay/CMakeLists.txt +++ b/Components/Overlay/CMakeLists.txt @@ -19,6 +19,8 @@ list(APPEND HEADER_FILES @@ -133,7 +146,7 @@ index 0c74ce2..a302b1c 100644 if(OGRE_BUILD_COMPONENT_OVERLAY_IMGUI) + find_package(imgui CONFIG REQUIRED) +elseif(0) - set(IMGUI_DIR "${PROJECT_BINARY_DIR}/imgui-1.89.7" CACHE PATH "") + set(IMGUI_DIR "${PROJECT_BINARY_DIR}/imgui-1.91.2" CACHE PATH "") if(NOT EXISTS ${IMGUI_DIR}) message(STATUS "Downloading imgui") @@ -63,6 +65,8 @@ elseif(UNIX) @@ -146,7 +159,7 @@ index 0c74ce2..a302b1c 100644 PUBLIC "$" PRIVATE "$") diff --git a/PlugIns/EXRCodec/src/OgreEXRCodec.cpp b/PlugIns/EXRCodec/src/OgreEXRCodec.cpp -index 0822081..a22841c 100644 +index efd4b32..1e3ea23 100644 --- a/PlugIns/EXRCodec/src/OgreEXRCodec.cpp +++ b/PlugIns/EXRCodec/src/OgreEXRCodec.cpp @@ -36,6 +36,9 @@ THE SOFTWARE. @@ -175,10 +188,10 @@ index 10283f5..e7edfd3 100644 if(CMAKE_COMPILER_IS_GNUCXX) diff --git a/PlugIns/STBICodec/src/OgreSTBICodec.cpp b/PlugIns/STBICodec/src/OgreSTBICodec.cpp -index 663a1c3..e1452cb 100644 +index c5a4d4b..df648d7 100644 --- a/PlugIns/STBICodec/src/OgreSTBICodec.cpp +++ b/PlugIns/STBICodec/src/OgreSTBICodec.cpp -@@ -39,7 +39,7 @@ THE SOFTWARE. +@@ -40,7 +40,7 @@ THE SOFTWARE. #define STBI_NO_STDIO #define STB_IMAGE_IMPLEMENTATION #define STB_IMAGE_STATIC @@ -187,7 +200,7 @@ index 663a1c3..e1452cb 100644 #ifdef HAVE_ZLIB #include -@@ -62,7 +62,7 @@ static Ogre::uchar* custom_zlib_compress(Ogre::uchar* data, int data_len, int* o +@@ -63,7 +63,7 @@ static Ogre::uchar* custom_zlib_compress(Ogre::uchar* data, int data_len, int* o #define STB_IMAGE_WRITE_IMPLEMENTATION #define STBI_WRITE_NO_STDIO @@ -196,25 +209,12 @@ index 663a1c3..e1452cb 100644 namespace Ogre { -@@ -73,7 +73,7 @@ namespace Ogre { +@@ -74,7 +74,7 @@ namespace Ogre { stbi_convert_iphone_png_to_rgb(1); stbi_set_unpremultiply_on_load(1); -- LogManager::getSingleton().logMessage("stb_image - v2.28 - public domain image loader"); +- LogManager::getSingleton().logMessage("stb_image - v2.30 - public domain image loader"); + LogManager::getSingleton().logMessage("stb_image - public domain image loader"); // Register codecs String exts = "jpeg,jpg,png,bmp,psd,tga,gif,pic,ppm,pgm,hdr"; -diff --git a/Components/Bites/src/OgreImGuiInputListener.cpp b/Components/Bites/src/OgreImGuiInputListener.cpp -index 2fce0dd0b..631735fb2 100644 ---- a/Components/Bites/src/OgreImGuiInputListener.cpp -+++ b/Components/Bites/src/OgreImGuiInputListener.cpp -@@ -112,7 +112,7 @@ static bool keyEvent(const KeyboardEvent& arg) - if (key == ImGuiKey_None) - return io.WantCaptureKeyboard; - -- io.AddKeyEvent(ImGuiKey(key), arg.type == OgreBites::KEYDOWN); -+ io.AddKeyEvent(static_cast(key), arg.type == OgreBites::KEYDOWN); - return io.WantCaptureKeyboard; - } - diff --git a/ports/ogre/pkgconfig.patch b/ports/ogre/pkgconfig.patch index 3b23f4afd332be..ac63f21ddb20a9 100644 --- a/ports/ogre/pkgconfig.patch +++ b/ports/ogre/pkgconfig.patch @@ -1,8 +1,8 @@ -diff --git a/CMake/ConfigureBuild.cmake b/CMake/ConfigureBuild.cmake -index 614332c..f4bc402 100644 ---- a/CMake/ConfigureBuild.cmake -+++ b/CMake/ConfigureBuild.cmake -@@ -185,6 +185,13 @@ if (UNIX) +diff --git a/CMake/InstallResources.cmake b/CMake/InstallResources.cmake +index cc8b28b..1d68c09 100644 +--- a/CMake/InstallResources.cmake ++++ b/CMake/InstallResources.cmake +@@ -299,6 +299,13 @@ if (UNIX OR MINGW) else() set(OGRE_ADDITIONAL_LIBS "${OGRE_ADDITIONAL_LIBS} ${FreeImage_LIBRARY_REL}") endif() @@ -17,14 +17,14 @@ index 614332c..f4bc402 100644 else () configure_file(${OGRE_TEMPLATES_DIR}/OGRE.pc.in ${PROJECT_BINARY_DIR}/pkgconfig/OGRE.pc @ONLY) diff --git a/CMake/Templates/OGREStatic.pc.in b/CMake/Templates/OGREStatic.pc.in -index 4e4202b..f9b7f5a 100644 +index ff3c7c8..b3024c1 100644 --- a/CMake/Templates/OGREStatic.pc.in +++ b/CMake/Templates/OGREStatic.pc.in @@ -8,6 +8,6 @@ Name: OGRE (static lib) Description: Object-Oriented Graphics Rendering Engine Version: @OGRE_VERSION@ URL: http://www.ogre3d.org --Requires: freetype2, zziplib, x11, xt, xaw7, gl +-Requires: freetype2, zziplib, gl, x11, xt, xaw7, wayland +Requires: @PC_REQUIRES_STATIC@ Libs: -L${libdir} -L${plugindir} -lOgreMain@OGRE_LIB_SUFFIX@ @OGRE_ADDITIONAL_LIBS@ Cflags: -I${includedir} -I${includedir}/OGRE @OGRE_CFLAGS@ diff --git a/ports/ogre/portfile.cmake b/ports/ogre/portfile.cmake index dd39a0f8d80041..b64c34178278f7 100644 --- a/ports/ogre/portfile.cmake +++ b/ports/ogre/portfile.cmake @@ -14,7 +14,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO OGRECave/ogre REF "v${VERSION}" - SHA512 adadf0ce8510515c7519b87b502090c4a8d6694af0850ebd4a030d2dda497978eeb811746c74aa0cd1dc41adc0bf5f04fe38d02eb4ff03a56999c6635efe1e0e + SHA512 637dfa427c2094688fda850a46746734dafb29eaee4d28c7f294db9ccfc2b53eb05f4d34460926807658db3c8cb614b7669d3fb190e7c8a9ee9bd1d68adf0a64 HEAD_REF master PATCHES fix-dependencies.patch @@ -57,9 +57,6 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS if("java" IN_LIST FEATURES OR "python" IN_LIST FEATURES OR "csharp" IN_LIST FEATURES) list(APPEND FEATURE_OPTIONS "-DCMAKE_REQUIRE_FIND_PACKAGE_SWIG=ON") -endif() - -if(CMAKE_REQUIRE_FIND_PACKAGE_SWIG) vcpkg_find_acquire_program(SWIG) vcpkg_list(APPEND FEATURE_OPTIONS "-DSWIG_EXECUTABLE=${SWIG}") endif() @@ -128,10 +125,10 @@ vcpkg_fixup_pkgconfig() if(NOT VCPKG_BUILD_TYPE) vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/etc/${PORT}/resources.cfg" "=../../share" "=../../../share") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/etc/${PORT}/resources.cfg" "[Tests]\nFileSystem=${CURRENT_PACKAGES_DIR}/debug/Tests/Media" "") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/OgreTargets-debug.cmake" "${_IMPORT_PREFIX}/plugins" "${_IMPORT_PREFIX}/debug/plugins") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/etc/${PORT}/resources.cfg" "[Tests]\nFileSystem=${CURRENT_PACKAGES_DIR}/debug/Tests/Media" "" IGNORE_UNCHANGED) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/OgreTargets-debug.cmake" "${_IMPORT_PREFIX}/plugins" "${_IMPORT_PREFIX}/debug/plugins" IGNORE_UNCHANGED) endif() -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/etc/${PORT}/resources.cfg" "[Tests]\nFileSystem=${CURRENT_PACKAGES_DIR}/Tests/Media" "") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/etc/${PORT}/resources.cfg" "[Tests]\nFileSystem=${CURRENT_PACKAGES_DIR}/Tests/Media" "" IGNORE_UNCHANGED) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/etc/ogre/samples.cfg" diff --git a/ports/ogre/vcpkg.json b/ports/ogre/vcpkg.json index fa466b82de3fe2..1b8f197b5fdf50 100644 --- a/ports/ogre/vcpkg.json +++ b/ports/ogre/vcpkg.json @@ -1,7 +1,6 @@ { "name": "ogre", - "version": "14.0.1", - "port-version": 2, + "version": "14.3.2", "description": "3D Object-Oriented Graphics Rendering Engine", "homepage": "https://github.com/OGRECave/ogre", "license": "MIT", diff --git a/ports/omniorb/portfile.cmake b/ports/omniorb/portfile.cmake index 67c57931c7ee17..c4b8058559c2cf 100644 --- a/ports/omniorb/portfile.cmake +++ b/ports/omniorb/portfile.cmake @@ -134,7 +134,7 @@ if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) if(filename STREQUAL "omnithread3") vcpkg_replace_string("${pc_file}" "-lomnithread" "-lomnithread_rt") else() - vcpkg_replace_string("${pc_file}" "-l${filename}" "-l${filename}_rt") + vcpkg_replace_string("${pc_file}" "-l${filename}" "-l${filename}_rt" IGNORE_UNCHANGED) endif() endforeach() endif() @@ -163,7 +163,7 @@ if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) if(filename STREQUAL "omnithread3") vcpkg_replace_string("${pc_file}" "-lomnithread" "-lomnithread_rtd") else() - vcpkg_replace_string("${pc_file}" "-l${filename}" "-l${filename}_rtd") + vcpkg_replace_string("${pc_file}" "-l${filename}" "-l${filename}_rtd" IGNORE_UNCHANGED) endif() endforeach() endif() diff --git a/ports/omniorb/vcpkg.json b/ports/omniorb/vcpkg.json index d409fe81694ae9..2747401ff7626d 100644 --- a/ports/omniorb/vcpkg.json +++ b/ports/omniorb/vcpkg.json @@ -1,7 +1,7 @@ { "name": "omniorb", "version": "4.3.0", - "port-version": 2, + "port-version": 3, "description": "omniORB is a robust high performance CORBA ORB for C++", "homepage": "https://omniorb.sourceforge.io/", "license": "LGPL-2.1-or-later", diff --git a/ports/ompl/0003_fix_dep.patch b/ports/ompl/0003_fix_dep.patch new file mode 100644 index 00000000000000..a8d392c776639c --- /dev/null +++ b/ports/ompl/0003_fix_dep.patch @@ -0,0 +1,25 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index cc81419..88046b3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -183,7 +183,7 @@ add_subdirectory(demos) + add_subdirectory(scripts) + add_subdirectory(doc) + +-if(NOT MSVC) ++if(0) + target_link_flags(ompl) + set(PKG_NAME "ompl") + set(PKG_DESC "The Open Motion Planning Library") +diff --git a/src/ompl/CMakeLists.txt b/src/ompl/CMakeLists.txt +index 7057838..405fa78 100644 +--- a/src/ompl/CMakeLists.txt ++++ b/src/ompl/CMakeLists.txt +@@ -61,6 +61,7 @@ target_link_libraries(ompl + ${Boost_SYSTEM_LIBRARY} + ${CMAKE_THREAD_LIBS_INIT}) + ++target_include_directories(ompl PUBLIC $) + if (OMPL_EXTENSION_ODE) + if (NOT CMAKE_VERSION VERSION_LESS 3.13) + target_link_directories(ompl PUBLIC ${ODE_LIBRARY_DIRS}) diff --git a/ports/ompl/0004_include_chrono.patch b/ports/ompl/0004_include_chrono.patch new file mode 100644 index 00000000000000..d78d62bb17dc72 --- /dev/null +++ b/ports/ompl/0004_include_chrono.patch @@ -0,0 +1,12 @@ +diff --git a/src/ompl/util/src/RandomNumbers.cpp b/src/ompl/util/src/RandomNumbers.cpp +index fe30070..048b42d 100644 +--- a/src/ompl/util/src/RandomNumbers.cpp ++++ b/src/ompl/util/src/RandomNumbers.cpp +@@ -37,6 +37,7 @@ + #include "ompl/util/RandomNumbers.h" + #include "ompl/util/Exception.h" + #include "ompl/util/Console.h" ++#include + #include + #include + #include diff --git a/ports/ompl/portfile.cmake b/ports/ompl/portfile.cmake index 5f32ad49982f4d..4fe4d6f0fe179e 100644 --- a/ports/ompl/portfile.cmake +++ b/ports/ompl/portfile.cmake @@ -7,22 +7,22 @@ else() vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) endif() -set(OMPL_VERSION 1.5.1) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ompl/ompl - REF 1.5.1 - SHA512 2f28d29f32f3bb03e67b29ce251e4786364847a25e3c4cf66d7663ed38dca4da71d4e03cf9ce647710d9524a3907c76c09795e77f041cb8822f695d28f5ca570 + REF "${VERSION}" + SHA512 d1024d7cc8e309a1df94a950be67eefae1e66abaccd6b6b8980939559aee3d73c05c838ab24c818b6b57ce6c4b3181fde7595d3d1dd36d6cd0c6d125338084ac HEAD_REF master PATCHES 0001_Export_targets.patch 0002_Fix_config.patch + 0003_fix_dep.patch + 0004_include_chrono.patch # https://github.com/ompl/ompl/pull/1201 ) # Based on selected features different files get downloaded, so use the following command instead of patch. vcpkg_replace_string("${SOURCE_PATH}/CMakeLists.txt" "find_package(Eigen3 REQUIRED)" "find_package(Eigen3 REQUIRED CONFIG)") -vcpkg_replace_string("${SOURCE_PATH}/CMakeLists.txt" "find_package(ccd REQUIRED)" "find_package(ccd REQUIRED CONFIG)") +vcpkg_replace_string("${SOURCE_PATH}/CMakeLists.txt" "find_package(ccd REQUIRED)" "find_package(ccd REQUIRED CONFIG)" IGNORE_UNCHANGED) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" @@ -39,7 +39,6 @@ vcpkg_cmake_configure( vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH share/ompl/cmake) -vcpkg_fixup_pkgconfig() # Remove debug distribution and other, move ompl_benchmark to tools/ dir file(REMOVE_RECURSE diff --git a/ports/ompl/vcpkg.json b/ports/ompl/vcpkg.json index 5b8be4e388cc33..3918cb522a3248 100644 --- a/ports/ompl/vcpkg.json +++ b/ports/ompl/vcpkg.json @@ -1,7 +1,7 @@ { "name": "ompl", - "version": "1.5.1", - "port-version": 5, + "version": "1.6.0", + "port-version": 3, "description": "The Open Motion Planning Library, consists of many state-of-the-art sampling-based motion planning algorithms", "homepage": "https://ompl.kavrakilab.org/", "dependencies": [ diff --git a/ports/omplapp/add-include-chrono.patch b/ports/omplapp/add-include-chrono.patch new file mode 100644 index 00000000000000..70a2d9d0dc5be2 --- /dev/null +++ b/ports/omplapp/add-include-chrono.patch @@ -0,0 +1,12 @@ +diff --git a/ompl/src/ompl/util/src/RandomNumbers.cpp b/ompl/src/ompl/util/src/RandomNumbers.cpp +index fe30070..048b42d 100644 +--- a/ompl/src/ompl/util/src/RandomNumbers.cpp ++++ b/ompl/src/ompl/util/src/RandomNumbers.cpp +@@ -37,6 +37,7 @@ + #include "ompl/util/RandomNumbers.h" + #include "ompl/util/Exception.h" + #include "ompl/util/Console.h" ++#include + #include + #include + #include diff --git a/ports/omplapp/portfile.cmake b/ports/omplapp/portfile.cmake index ae067de91936e7..2929f5d8a42378 100644 --- a/ports/omplapp/portfile.cmake +++ b/ports/omplapp/portfile.cmake @@ -19,6 +19,7 @@ vcpkg_extract_source_archive( PATCHES fix_dependency.patch ${STATIC_PATCH} + add-include-chrono.patch #https://github.com/ompl/ompl/pull/1201 ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS @@ -80,4 +81,4 @@ endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/pkgconfig" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") # Handle copyright -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/omplapp/vcpkg.json b/ports/omplapp/vcpkg.json index becb7ee3b0b1fa..713131822fa47f 100644 --- a/ports/omplapp/vcpkg.json +++ b/ports/omplapp/vcpkg.json @@ -1,7 +1,7 @@ { "name": "omplapp", "version": "1.5.1", - "port-version": 5, + "port-version": 6, "description": "Use OMPL for reading meshes and performing collision checking", "homepage": "https://ompl.kavrakilab.org/", "license": null, diff --git a/ports/onednn/portfile.cmake b/ports/onednn/portfile.cmake index eca06012bf1a81..a97a610f01fad5 100644 --- a/ports/onednn/portfile.cmake +++ b/ports/onednn/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO oneapi-src/oneDNN - REF v3.1.1 - SHA512 0dae0ccff1e459ce24356694732bf4ee3c459469de70984863e1aed3bc965471793a110dedbb11f2baa762749cea7652a150d2f9a442c299d9ffa00febd87fec + REF "v${VERSION}" + SHA512 251da59164c102a6dd3c97e92aef58a879930c0def6e9fe6e43e68e1316ed0c9844796e69eecebbde12085900bfcda6c1ab30db6df24ba9826883171c87a964d HEAD_REF master ) @@ -13,6 +13,9 @@ endif() vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${DNNL_OPTIONS} + -DDNNL_BUILD_DOC=OFF + -DDNNL_BUILD_EXAMPLES=OFF + -DDNNL_BUILD_TESTS=OFF ) vcpkg_cmake_install() @@ -21,6 +24,5 @@ vcpkg_cmake_config_fixup(PACKAGE_NAME dnnl CONFIG_PATH lib/cmake/dnnl) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/doc/dnnl/reference/html") vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/onednn/vcpkg.json b/ports/onednn/vcpkg.json index 1a195221afe805..e5868569ea97b0 100644 --- a/ports/onednn/vcpkg.json +++ b/ports/onednn/vcpkg.json @@ -1,6 +1,7 @@ { "name": "onednn", - "version": "3.1.1", + "version": "3.5.3", + "port-version": 1, "description": "oneAPI Deep Neural Network Library (oneDNN)", "homepage": "https://github.com/oneapi-src/oneDNN", "license": "Apache-2.0", diff --git a/ports/oniguruma/portfile.cmake b/ports/oniguruma/portfile.cmake index 86e9f97c741b4c..6579f1deed96aa 100644 --- a/ports/oniguruma/portfile.cmake +++ b/ports/oniguruma/portfile.cmake @@ -1,10 +1,11 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO kkos/oniguruma - REF v6.9.7.1 - SHA512 CE22050E04E51843E894D2D534D062FDD23CC2BAAC9BA43DA1843EC928F6CE5ED3D4407FE945F4D34ADADF3167DFD943CD81AE4556F7C5EC51E7331C35EAD479 + REF "v${VERSION}" + SHA512 7c89247d8504c635687dc61b39b39b5afefa4851b24409a8eab31273f1cbc88f3db89095ae4b135bd034147d2616c2e18fc74887300b89532eedeab75677f437 HEAD_REF master - PATCHES fix-uwp.patch + PATCHES + fix-uwp.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS @@ -30,11 +31,15 @@ vcpkg_cmake_install() vcpkg_copy_pdbs() vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") - -file(REMOVE_RECURSE - "${CURRENT_PACKAGES_DIR}/debug/include" - "${CURRENT_PACKAGES_DIR}/debug/share" -) + +vcpkg_fixup_pkgconfig() + +# Note that onig-config is a shell script, not CMake configs, so +# vcpkg_cmake_config_fixup would be inappropriate +file(REMOVE "${CURRENT_PACKAGES_DIR}/bin/onig-config") +if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/bin/onig-config") + file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/bin/onig-config") +endif() if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/oniguruma.h" @@ -51,4 +56,10 @@ endif() file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) -vcpkg_fixup_pkgconfig() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share/") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include/") + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static" OR NOT VCPKG_TARGET_IS_WINDOWS) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin") +endif() diff --git a/ports/oniguruma/vcpkg.json b/ports/oniguruma/vcpkg.json index 7247d3036ce378..a50a06aee02786 100644 --- a/ports/oniguruma/vcpkg.json +++ b/ports/oniguruma/vcpkg.json @@ -1,7 +1,6 @@ { "name": "oniguruma", - "version": "6.9.7.1", - "port-version": 1, + "version": "6.9.9", "description": "Modern and flexible regular expressions library", "homepage": "https://github.com/kkos/oniguruma", "dependencies": [ diff --git a/ports/onnx-optimizer/fix-cmakelists.patch b/ports/onnx-optimizer/fix-cmakelists.patch index 1dbc271341bf7e..e590b400f8d9a7 100644 --- a/ports/onnx-optimizer/fix-cmakelists.patch +++ b/ports/onnx-optimizer/fix-cmakelists.patch @@ -1,5 +1,5 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 0063385..64458ef 100644 +index 0063385..f1522bc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,6 +10,15 @@ project(onnx_optimizer C CXX) @@ -33,6 +33,15 @@ index 0063385..64458ef 100644 file(READ "${PROJECT_SOURCE_DIR}/VERSION_NUMBER" ONNX_OPTIMIZER_VERSION) string(STRIP "${ONNX_OPTIMIZER_VERSION}" ONNX_OPTIMIZER_VERSION) +@@ -41,7 +48,7 @@ file(GLOB onnx_opt_srcs "onnxoptimizer/*.cc" + list(REMOVE_ITEM onnx_opt_srcs "${PROJECT_SOURCE_DIR}/onnxoptimizer/cpp2py_export.cc") + + onnxopt_add_library(onnx_optimizer ${onnx_opt_srcs}) +-target_link_libraries(onnx_optimizer PUBLIC ${ONNX_TARGET_NAME}) ++target_link_libraries(onnx_optimizer PUBLIC ONNX::onnx ONNX::onnx_proto) + target_include_directories(onnx_optimizer PUBLIC + $ + $ @@ -70,7 +77,7 @@ if(BUILD_ONNX_PYTHON) set(PY_EXT_SUFFIX ".so") endif() @@ -73,3 +82,17 @@ index 6cca9f3..9d79f1a 100644 # Poor man's FetchContent function(add_subdirectory_if_no_target dir target) if (NOT TARGET ${target}) +diff --git a/cmake/ONNXOptimizerConfig.cmake.in b/cmake/ONNXOptimizerConfig.cmake.in +index 72dcc88..c5639c8 100644 +--- a/cmake/ONNXOptimizerConfig.cmake.in ++++ b/cmake/ONNXOptimizerConfig.cmake.in +@@ -3,6 +3,9 @@ + # ONNX_OPTIMIZER_INCLUDE_DIRS - include directories for onnx optimizer + # as well as ONNX Optimizer targets for other cmake libraries to use. + ++include(CMakeFindDependencyMacro) ++find_dependency(onnx CONFIG) ++ + # library version information + set(ONNX_OPTIMIZER_VERSION "@ONNX_OPTIMIZER_VERSION@") + diff --git a/ports/onnx-optimizer/portfile.cmake b/ports/onnx-optimizer/portfile.cmake index b4c4e02427a836..10e8d7fe78ea60 100644 --- a/ports/onnx-optimizer/portfile.cmake +++ b/ports/onnx-optimizer/portfile.cmake @@ -4,7 +4,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO onnx/optimizer REF "v${VERSION}" - SHA512 919790201f0d4d3eb107de9ed34c71d289d3c442f38f62721c838c9f60067a8c3478e991682983d8dad59476cab93466e2d23cc6d10b8b921282b939c29a1ad7 + SHA512 552d6fa261c3ce2db2e0938a5b5261676335bce9bd828b46a1e2631f3b362c748ae9a6cfe7d62072fc3774b3f506bc54aa5827b52241e6f48d78a08dea1d9316 HEAD_REF master PATCHES fix-cmakelists.patch diff --git a/ports/onnx-optimizer/vcpkg.json b/ports/onnx-optimizer/vcpkg.json index 2a99c3f8da72b5..9ca4a5e77a2a0f 100644 --- a/ports/onnx-optimizer/vcpkg.json +++ b/ports/onnx-optimizer/vcpkg.json @@ -1,6 +1,6 @@ { "name": "onnx-optimizer", - "version-semver": "0.3.17", + "version-semver": "0.3.19", "description": "Actively maintained ONNX Optimizer", "homepage": "https://github.com/onnx/optimizer", "license": "Apache-2.0", diff --git a/ports/onnx/fix-dependency-protobuf.patch b/ports/onnx/fix-dependency-protobuf.patch index 6ccdac66502656..c435922d0103d6 100644 --- a/ports/onnx/fix-dependency-protobuf.patch +++ b/ports/onnx/fix-dependency-protobuf.patch @@ -1,12 +1,28 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1295eab..0fb9f17 100644 +index d81ac1d..9f97998 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -126,6 +126,7 @@ if(ONNX_BUILD_TESTS) - include(googletest) +@@ -149,6 +149,7 @@ if(ONNX_BUILD_TESTS) + set(googletest_STATIC_LIBRARIES GTest::gtest) endif() +find_package(protobuf CONFIG REQUIRED) if((ONNX_USE_LITE_PROTO AND TARGET protobuf::libprotobuf-lite) OR ((NOT ONNX_USE_LITE_PROTO) AND TARGET protobuf::libprotobuf)) # Sometimes we need to use protoc compiled for host architecture while linking # libprotobuf against target architecture. See https://github.com/caffe2/caffe +diff --git a/cmake/ONNXConfig.cmake.in b/cmake/ONNXConfig.cmake.in +index d588f8a..dbd4398 100644 +--- a/cmake/ONNXConfig.cmake.in ++++ b/cmake/ONNXConfig.cmake.in +@@ -6,9 +6,8 @@ + # library version information + set(ONNX_VERSION "@ONNX_VERSION@") + +-list(APPEND CMAKE_PREFIX_PATH "@PROTOBUF_DIR@") +-set(Protobuf_INCLUDE_DIR "@PROTOBUF_INCLUDE_DIR@") +-find_package(Protobuf REQUIRED) ++include(CMakeFindDependencyMacro) ++find_dependency(protobuf CONFIG) + + # import targets + include ("${CMAKE_CURRENT_LIST_DIR}/ONNXTargets.cmake") diff --git a/ports/onnx/portfile.cmake b/ports/onnx/portfile.cmake index ea4ed43372ea17..668425d3223791 100644 --- a/ports/onnx/portfile.cmake +++ b/ports/onnx/portfile.cmake @@ -4,7 +4,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO onnx/onnx REF "v${VERSION}" - SHA512 8a525b365fd203f0a59bcf82fa7f2e29d7e0563885ebe38269c596cd4eb949bcfc65d848b92b7abafa7ddecedcfc019f8779097ffcb5087f06037cace24462fc + SHA512 7a9a8493b9c007429629484156487395044506f34e72253640e626351cb623b390750b36af78a290786131e3dcac35f4eb269e8693b594b7ce7cb105bcf9318d PATCHES fix-cmakelists.patch fix-dependency-protobuf.patch @@ -73,6 +73,7 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/onnx/bin" "${CURRENT_PACKAGES_DIR}/include/onnx/defs/controlflow" "${CURRENT_PACKAGES_DIR}/include/onnx/defs/generator" + "${CURRENT_PACKAGES_DIR}/include/onnx/defs/image" "${CURRENT_PACKAGES_DIR}/include/onnx/defs/logical" "${CURRENT_PACKAGES_DIR}/include/onnx/defs/math" "${CURRENT_PACKAGES_DIR}/include/onnx/defs/nn" @@ -82,6 +83,7 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/onnx/defs/reduction" "${CURRENT_PACKAGES_DIR}/include/onnx/defs/rnn" "${CURRENT_PACKAGES_DIR}/include/onnx/defs/sequence" + "${CURRENT_PACKAGES_DIR}/include/onnx/defs/text" "${CURRENT_PACKAGES_DIR}/include/onnx/defs/traditionalml" "${CURRENT_PACKAGES_DIR}/include/onnx/defs/training" "${CURRENT_PACKAGES_DIR}/include/onnx/examples" diff --git a/ports/onnx/vcpkg.json b/ports/onnx/vcpkg.json index 7b7f52aec5290b..ada26a3f2694f1 100644 --- a/ports/onnx/vcpkg.json +++ b/ports/onnx/vcpkg.json @@ -1,6 +1,7 @@ { "name": "onnx", - "version-semver": "1.14.0", + "version-semver": "1.16.2", + "port-version": 1, "description": "Open standard for machine learning interoperability", "homepage": "https://onnx.ai", "license": "Apache-2.0", diff --git a/ports/onnxruntime-gpu/portfile.cmake b/ports/onnxruntime-gpu/portfile.cmake index 017e146bd63649..666d0f9ca91d9f 100644 --- a/ports/onnxruntime-gpu/portfile.cmake +++ b/ports/onnxruntime-gpu/portfile.cmake @@ -3,7 +3,7 @@ vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) vcpkg_download_distfile(ARCHIVE URLS "https://github.com/microsoft/onnxruntime/releases/download/v${VERSION}/onnxruntime-win-x64-gpu-${VERSION}.zip" FILENAME "onnxruntime-win-x64-gpu-${VERSION}.zip" - SHA512 6e95199e8cfdee7c056811c2c27f45f7b45bd00b48424d331d8685993102d1b59e14fc3c86e7307b780531ac3e5dcbe760c93018d1b1f106bb36fe32dc44974c + SHA512 9576eafca59fc7f2af9f62d7ee8aa31208ef965d17f3ad71747d5a9a46cdffd6b3958dc945109d82937555df8bb35319ce92925e66ab707f1ca8e7564ecb3ced ) vcpkg_extract_source_archive( @@ -17,7 +17,7 @@ vcpkg_from_github( OUT_SOURCE_PATH REPO_PATH REPO microsoft/onnxruntime REF v${VERSION} - SHA512 c9ad2ab1102bb97bdd88aa8e06432fff2960fb21172891eee9631ff7cbbdf3366cd7cf5c0baa494eb883135eab47273ed3128851ff4d9adfa004a479e941b6b5 + SHA512 3bf25e431d175c61953d28b1bf8f6871376684263992451a5b2a66e670768fc66e7027f141c6e3f4d1eddeebeda51f31ea0adf4749e50d99ee89d0a26bec77ce ) file(COPY diff --git a/ports/onnxruntime-gpu/vcpkg.json b/ports/onnxruntime-gpu/vcpkg.json index 92fe66767d603d..ac545ae04b7147 100644 --- a/ports/onnxruntime-gpu/vcpkg.json +++ b/ports/onnxruntime-gpu/vcpkg.json @@ -1,6 +1,6 @@ { "name": "onnxruntime-gpu", - "version": "1.15.1", + "version": "1.19.2", "description": "onnxruntime (GPU)", "homepage": "https://github.com/microsoft/onnxruntime", "license": "MIT", diff --git a/ports/open62541/android-librt.diff b/ports/open62541/android-librt.diff new file mode 100644 index 00000000000000..06bd9f084c95da --- /dev/null +++ b/ports/open62541/android-librt.diff @@ -0,0 +1,13 @@ +diff --git a/arch/posix/CMakeLists.txt b/arch/posix/CMakeLists.txt +index a53c9f2..badf1e8 100644 +--- a/arch/posix/CMakeLists.txt ++++ b/arch/posix/CMakeLists.txt +@@ -23,7 +23,7 @@ if (${_index} GREATER -1 OR "${UA_ARCHITECTURE}" STREQUAL "posix") + if(UA_MULTITHREADING OR UA_BUILD_UNIT_TESTS) + ua_architecture_append_to_library(pthread) + endif() +- if(NOT APPLE AND (NOT ${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD")) ++ if(NOT APPLE AND (NOT ${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD") AND NOT ANDROID) + ua_architecture_append_to_library(rt) + endif() + endif() diff --git a/ports/open62541/clang-sanitizer.diff b/ports/open62541/clang-sanitizer.diff new file mode 100644 index 00000000000000..c5a97e786457eb --- /dev/null +++ b/ports/open62541/clang-sanitizer.diff @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2c1e4b1..21182cf 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -759,6 +759,7 @@ if(NOT UA_FORCE_CPP AND (CMAKE_COMPILER_IS_GNUCC OR "x${CMAKE_C_COMPILER_ID}" ST + + # Debug + if(BUILD_TYPE_LOWER_CASE STREQUAL "debug" AND UNIX AND NOT UA_BUILD_OSS_FUZZ AND ++ UA_ENABLE_DEBUG_SANITIZER AND + "x${CMAKE_C_COMPILER_ID}" STREQUAL "xClang" AND NOT UA_ENABLE_UNIT_TESTS_MEMCHECK) + # Add default sanitizer settings when using clang and Debug build. + # This allows e.g. CLion to find memory locations for SegFaults diff --git a/ports/open62541/portfile.cmake b/ports/open62541/portfile.cmake index b2736584efad53..caee8c448d41ca 100644 --- a/ports/open62541/portfile.cmake +++ b/ports/open62541/portfile.cmake @@ -1,16 +1,33 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO open62541/open62541 - REF "v${VERSION}" - SHA512 48ae61fd096c3a45f57ecc70bec9bb4223d046eed017532937c99883e4e92f79d7425b4db02c1a7e451764b787313efd76b2ae3cd3011d575154199d5350a790 + REF v${VERSION} + SHA512 a6493a96e911e4b67dd017125eedf6f3d794a8c931d897e3fdd050a8e65c20dcb84e9dfad207d1fcec6d2f019ad406954d1711827a74c1665fe24cc32f3b019f HEAD_REF master + PATCHES + android-librt.diff + clang-sanitizer.diff ) +# disable docs +vcpkg_replace_string("${SOURCE_PATH}/CMakeLists.txt" "add_subdirectory(doc)" "") +vcpkg_replace_string("${SOURCE_PATH}/CMakeLists.txt" "include(linting_target)" "") + +# do not enable LTO by default +vcpkg_replace_string("${SOURCE_PATH}/CMakeLists.txt" "set(CMAKE_INTERPROCEDURAL_OPTIMIZATION ON)" "") + +vcpkg_replace_string("${SOURCE_PATH}/tools/cmake/open62541Config.cmake.in" "find_dependency(PythonInterp REQUIRED)" "") + vcpkg_check_features( OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES amalgamation UA_ENABLE_AMALGAMATION + diagnostics UA_ENABLE_DIAGNOSTICS + discovery UA_ENABLE_DISCOVERY historizing UA_ENABLE_HISTORIZING + methodcalls UA_ENABLE_METHODCALLS + subscriptions UA_ENABLE_SUBSCRIPTIONS + subscriptions-events UA_ENABLE_SUBSCRIPTIONS_EVENTS ) if("openssl" IN_LIST FEATURES) @@ -33,13 +50,14 @@ vcpkg_cmake_configure( OPTIONS ${FEATURE_OPTIONS} ${OPEN62541_ENCRYPTION_OPTIONS} - -DOPEN62541_VERSION=${VERSION} - OPTIONS_DEBUG - -DCMAKE_DEBUG_POSTFIX=d + "-DOPEN62541_VERSION=v${VERSION}" + -DUA_ENABLE_DEBUG_SANITIZER=OFF + -DUA_MSVC_FORCE_STATIC_CRT=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/open62541") vcpkg_copy_pdbs() vcpkg_fixup_pkgconfig() diff --git a/ports/open62541/vcpkg.json b/ports/open62541/vcpkg.json index 11911dac780765..ef55d40a65ba88 100644 --- a/ports/open62541/vcpkg.json +++ b/ports/open62541/vcpkg.json @@ -1,6 +1,6 @@ { "name": "open62541", - "version": "1.3.8", + "version": "1.3.15", "description": "open62541 is an open source C (C99) implementation of OPC UA licensed under the Mozilla Public License v2.0.", "homepage": "https://open62541.org", "license": "MPL-2.0", @@ -16,12 +16,20 @@ } ], "default-features": [ - "openssl" + "methodcalls", + "subscriptions", + "subscriptions-events" ], "features": { "amalgamation": { "description": "Concatenate the library to a single file open62541.h/.c" }, + "diagnostics": { + "description": "Enable diagnostics information exposed by the server" + }, + "discovery": { + "description": "Enable Discovery Service (LDS)" + }, "historizing": { "description": "Enable basic support for historical access (client and server)" }, @@ -31,11 +39,20 @@ "mbedtls" ] }, + "methodcalls": { + "description": "Enable the Method service set" + }, "openssl": { "description": "Enable encryption support (uses OpenSSL)", "dependencies": [ "openssl" ] + }, + "subscriptions": { + "description": "Enable subscriptions support" + }, + "subscriptions-events": { + "description": "Enable event monitoring" } } } diff --git a/ports/open62541pp/portfile.cmake b/ports/open62541pp/portfile.cmake new file mode 100644 index 00000000000000..ce9f8559621ba5 --- /dev/null +++ b/ports/open62541pp/portfile.cmake @@ -0,0 +1,27 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO open62541pp/open62541pp + REF "v${VERSION}" + SHA512 5479754909e659e3a4a970054e1931bc871fe637377e358783f6d7828dc7fe96f9447d9b6be5369279042e0d0e384bb1a109d11816cc0fa17d2029f5a845f342 + HEAD_REF master +) + +vcpkg_find_acquire_program(PYTHON3) +get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY) +vcpkg_add_to_path("${PYTHON3_DIR}") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DUAPP_INTERNAL_OPEN62541=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") +vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/open62541pp/vcpkg.json b/ports/open62541pp/vcpkg.json new file mode 100644 index 00000000000000..f1e3353d89a609 --- /dev/null +++ b/ports/open62541pp/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "open62541pp", + "version": "0.16.0", + "description": "C++ wrapper of the open62541 OPC UA library", + "homepage": "https://open62541pp.github.io", + "license": "MPL-2.0", + "dependencies": [ + "open62541", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/openal-soft/c12ada68951ea67a59bef7d4fcdf22334990c12a.patch b/ports/openal-soft/c12ada68951ea67a59bef7d4fcdf22334990c12a.patch deleted file mode 100644 index 09709ab90a2e86..00000000000000 --- a/ports/openal-soft/c12ada68951ea67a59bef7d4fcdf22334990c12a.patch +++ /dev/null @@ -1,54 +0,0 @@ -From c12ada68951ea67a59bef7d4fcdf22334990c12a Mon Sep 17 00:00:00 2001 -From: Chris Robinson -Date: Tue, 4 Jul 2023 11:30:18 -0700 -Subject: [PATCH] Don't use an import target for OpenSL - ---- - CMakeLists.txt | 3 ++- - cmake/FindOpenSL.cmake | 12 +++++------- - 2 files changed, 7 insertions(+), 8 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 34fd33122..af25a96c7 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1183,7 +1183,8 @@ if(ALSOFT_BACKEND_OPENSL) - set(HAVE_OPENSL 1) - set(ALC_OBJS ${ALC_OBJS} alc/backends/opensl.cpp alc/backends/opensl.h) - set(BACKENDS "${BACKENDS} OpenSL,") -- set(EXTRA_LIBS "OpenSL::OpenSLES" ${EXTRA_LIBS}) -+ set(EXTRA_LIBS ${OPENSL_LIBRARIES} ${EXTRA_LIBS}) -+ set(INC_PATHS ${INC_PATHS} ${OPENSL_INCLUDE_DIRS}) - endif() - endif() - if(ALSOFT_REQUIRE_OPENSL AND NOT HAVE_OPENSL) -diff --git a/cmake/FindOpenSL.cmake b/cmake/FindOpenSL.cmake -index 004287494..3df54d447 100644 ---- a/cmake/FindOpenSL.cmake -+++ b/cmake/FindOpenSL.cmake -@@ -2,8 +2,9 @@ - # Find the OpenSL libraries - # - # This module defines the following variables and targets: --# OPENSL_FOUND - True if OPENSL was found --# OpenSL::OpenSLES - The OpenSLES target -+# OPENSL_FOUND - True if OPENSL was found -+# OPENSL_INCLUDE_DIRS - The OpenSL include paths -+# OPENSL_LIBRARIES - The OpenSL libraries to link - # - - #============================================================================= -@@ -53,11 +54,8 @@ find_package_handle_standard_args(OpenSL REQUIRED_VARS OPENSL_LIBRARY OPENSL_INC - OPENSL_ANDROID_INCLUDE_DIR) - - if(OPENSL_FOUND) -- add_library(OpenSL::OpenSLES UNKNOWN IMPORTED) -- set_target_properties(OpenSL::OpenSLES PROPERTIES -- IMPORTED_LOCATION ${OPENSL_LIBRARY} -- INTERFACE_INCLUDE_DIRECTORIES ${OPENSL_INCLUDE_DIR} -- INTERFACE_INCLUDE_DIRECTORIES ${OPENSL_ANDROID_INCLUDE_DIR}) -+ set(OPENSL_LIBRARIES ${OPENSL_LIBRARY}) -+ set(OPENSL_INCLUDE_DIRS ${OPENSL_INCLUDE_DIR} ${OPENSL_ANDROID_INCLUDE_DIR}) - endif() - - mark_as_advanced(OPENSL_INCLUDE_DIR OPENSL_ANDROID_INCLUDE_DIR OPENSL_LIBRARY) diff --git a/ports/openal-soft/portfile.cmake b/ports/openal-soft/portfile.cmake index 850b24e1783fb2..566dae26b7532f 100644 --- a/ports/openal-soft/portfile.cmake +++ b/ports/openal-soft/portfile.cmake @@ -2,10 +2,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO kcat/openal-soft REF ${VERSION} - SHA512 21f768484978e4321b733004988cb5ecf43d908e7e08f2d421a338633fcfb2ade722d035de73742470ff135ab538d6b9b56df14020976adb1d1e081dfb095c6b + SHA512 e0b1cb08fe65e71ffd49a1dd90a1b1d2119a1dd8e5d1e10850d6c5bf04eea3335cc3051636a0479617ee5af95536a09fcad2a80d8009a10bc1fbe35a42cfe611 HEAD_REF master - PATCHES - c12ada68951ea67a59bef7d4fcdf22334990c12a.patch # Merged upstream, remove in next version ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS @@ -44,9 +42,9 @@ vcpkg_cmake_configure( -DALSOFT_UTILS=OFF -DALSOFT_NO_CONFIG_UTIL=ON -DALSOFT_EXAMPLES=OFF - -DALSOFT_CONFIG=OFF - -DALSOFT_HRTF_DEFS=OFF - -DALSOFT_AMBDEC_PRESETS=OFF + -DALSOFT_INSTALL_CONFIG=OFF + -DALSOFT_INSTALL_HRTF_DATA=OFF + -DALSOFT_INSTALL_AMBDEC_PRESETS=OFF -DALSOFT_BACKEND_ALSA=${ALSOFT_REQUIRE_LINUX} -DALSOFT_BACKEND_OSS=OFF -DALSOFT_BACKEND_SOLARIS=OFF @@ -58,12 +56,13 @@ vcpkg_cmake_configure( -DALSOFT_BACKEND_OPENSL=${VCPKG_TARGET_IS_ANDROID} -DALSOFT_BACKEND_WAVE=ON -DALSOFT_BACKEND_WINMM=OFF - -DALSOFT_BACKEND_DSOUND=OFF + -DALSOFT_BACKEND_DSOUND=${ALSOFT_REQUIRE_WINDOWS} -DALSOFT_REQUIRE_WASAPI=${ALSOFT_REQUIRE_WINDOWS} -DALSOFT_CPUEXT_NEON=${ALSOFT_CPUEXT_NEON} -DCMAKE_DISABLE_FIND_PACKAGE_WindowsSDK=ON + -DCMAKE_POLICY_DEFAULT_CMP0057=NEW MAYBE_UNUSED_VARIABLES - ALSOFT_AMBDEC_PRESETS + ALSOFT_INSTALL_AMBDEC_PRESETS ALSOFT_BACKEND_ALSA ALSOFT_BACKEND_COREAUDIO ALSOFT_BACKEND_JACK @@ -74,12 +73,13 @@ vcpkg_cmake_configure( ALSOFT_BACKEND_PULSEAUDIO ALSOFT_BACKEND_SNDIO ALSOFT_BACKEND_SOLARIS - ALSOFT_CONFIG + ALSOFT_INSTALL_CONFIG ALSOFT_CPUEXT_NEON - ALSOFT_HRTF_DEFS + ALSOFT_INSTALL_HRTF_DATA ALSOFT_BACKEND_WINMM ALSOFT_BACKEND_DSOUND CMAKE_DISABLE_FIND_PACKAGE_WindowsSDK + CMAKE_POLICY_DEFAULT_CMP0057 ) vcpkg_cmake_install() diff --git a/ports/openal-soft/vcpkg.json b/ports/openal-soft/vcpkg.json index 87b97d7ed6c443..774f972a23d839 100644 --- a/ports/openal-soft/vcpkg.json +++ b/ports/openal-soft/vcpkg.json @@ -1,15 +1,19 @@ { "name": "openal-soft", - "version": "1.23.1", + "version": "1.24.2", "description": "OpenAL Soft is an LGPL-licensed, cross-platform, software implementation of the OpenAL 3D audio API.", "homepage": "https://github.com/kcat/openal-soft", "license": "LGPL-2.0-or-later", - "supports": "!uwp & !xbox", + "supports": "!xbox", "dependencies": [ { "name": "alsa", "platform": "linux" }, + { + "name": "cppwinrt", + "platform": "uwp" + }, { "name": "vcpkg-cmake", "host": true diff --git a/ports/openblas/arm32-asm-function.diff b/ports/openblas/arm32-asm-function.diff new file mode 100644 index 00000000000000..e81758acba945e --- /dev/null +++ b/ports/openblas/arm32-asm-function.diff @@ -0,0 +1,21 @@ +diff --git a/common_arm.h b/common_arm.h +index a3db995..5f45976 100644 +--- a/common_arm.h ++++ b/common_arm.h +@@ -104,9 +104,16 @@ static inline int blas_quickdivide(blasint x, blasint y){ + + #if defined(ASSEMBLER) && !defined(NEEDPARAM) + ++#if !defined(__APPLE__) && !defined(_WIN32) ++#define OPENBLAS_ARM_TYPE_FUNCTION .type REALNAME, %function ; ++#else ++#define OPENBLAS_ARM_TYPE_FUNCTION ++#endif ++ + #define PROLOGUE \ + .arm ;\ + .global REALNAME ;\ ++ OPENBLAS_ARM_TYPE_FUNCTION \ + REALNAME: + + #define EPILOGUE diff --git a/ports/openblas/cmake-project-include.cmake b/ports/openblas/cmake-project-include.cmake new file mode 100644 index 00000000000000..574073bb464f83 --- /dev/null +++ b/ports/openblas/cmake-project-include.cmake @@ -0,0 +1,66 @@ +# TARGET: The target architecture +# +# Originally, OpenBLAS tries to optimize for the host CPU unless +# - being given an explixit TARGET, and +# - CMAKE_CROSSCOMPILING, and +# - not building for uwp (aka WINDOWSSTORE) +# For this optimization, it runs 'getarch' and 'getarch_2nd' which it builds +# from source. The getarch executables are not built when not optimizing. +# +# Consequences: +# - The port must ensure that TARGET is set when cross compiling for a different CPU or OS. +# - The port must install getarch executables when possible. +# +# DYNAMIC_ARCH enables support "for multiple targets with runtime detection". +# (But not for MSVC, https://github.com/OpenMathLib/OpenBLAS/wiki/How-to-use-OpenBLAS-in-Microsoft-Visual-Studio#cmake-and-visual-studio.) +# The OpenBLAS README.md suggests that this shall be used with TARGET being +# set "to the oldest model you expect to encounter". This affects "all the +# common code in the library". + +set(need_target 0) +if(NOT "${TARGET}" STREQUAL "") + message(STATUS "TARGET: ${TARGET} (user-defined)") +elseif(DYNAMIC_ARCH) + message(STATUS "DYNAMIC_ARCH: ${DYNAMIC_ARCH}") + set(need_target 1) # for C +elseif(CMAKE_CROSSCOMPILING AND NOT GETARCH_BINARY_DIR) + set(need_target 1) # for C and for optimized kernel +else() + message(STATUS "TARGET: (OpenBLAS getarch/getarch_2nd)") +endif() + +if(need_target) + set(target_default "GENERIC") + if(MSVC) + # "does not support the dialect of assembly used in the cpu-specific optimized files" + # https://github.com/OpenMathLib/OpenBLAS/wiki/How-to-use-OpenBLAS-in-Microsoft-Visual-Studio#cmake-and-visual-studio + elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "^x64|^x86") + set(target_default "ATOM") + elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "^arm64") + set(target_default "ARMV8") + elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "^arm") + set(target_default "ARMV7") + endif() + set(TARGET "${target_default}" CACHE STRING "") + message(STATUS "TARGET: ${TARGET}") +endif() + +# NUM_THREADS: The number of threads expected to be used. +# +# This setting affects both the configuration with USE_THREAD enabled +# (multithreaded OpenBLAS) and disabled (multithreaded access to OpenBLAS). +# This shouldn't be set too low for generic packages. But it comes with a +# memory footprint. + +if(DEFINED NUM_THREADS) + message(STATUS "NUM_THREADS: ${NUM_THREADS} (user-defined)") +elseif(EMSCRIPTEN) + message(STATUS "NUM_THREADS: (for EMSCRIPTEN)") +elseif(need_target) + set(num_threads_default 24) + if(ANDROID OR IOS) + set(num_threads_default 8) + endif() + set(NUM_THREADS "${num_threads_default}" CACHE STRING "") + message(STATUS "NUM_THREADS: ${NUM_THREADS}") +endif() diff --git a/ports/openblas/disable-testing.diff b/ports/openblas/disable-testing.diff new file mode 100644 index 00000000000000..2214be9f73d658 --- /dev/null +++ b/ports/openblas/disable-testing.diff @@ -0,0 +1,20 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2006604..c9fedb9 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -323,6 +323,7 @@ if (USE_THREAD) + endif() + endif() + ++if(BUILD_TESTING) + #if (MSVC OR NOT NOFORTRAN) + if (NOT NO_CBLAS) + if (NOT ONLY_CBLAS) +@@ -348,6 +349,7 @@ endif() + if (CPP_THREAD_SAFETY_TEST OR CPP_THREAD_SAFETY_GEMV) + add_subdirectory(cpp_thread_test) + endif() ++endif() + + if (NOT FIXED_LIBNAME) + set_target_properties(${OpenBLAS_LIBS} PROPERTIES diff --git a/ports/openblas/fix-redefinition-function.patch b/ports/openblas/fix-redefinition-function.patch deleted file mode 100644 index 176a29ff3fc2ba..00000000000000 --- a/ports/openblas/fix-redefinition-function.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/openblas_config_template.h b/openblas_config_template.h -index 52dd49d..239219d 100644 ---- a/openblas_config_template.h -+++ b/openblas_config_template.h -@@ -64,6 +64,7 @@ typedef int blasint; - #ifndef __cplusplus - #include - #endif -+ #ifndef OPENBLAS_COMPLEX_STRUCT - typedef float _Complex openblas_complex_float; - typedef double _Complex openblas_complex_double; - typedef xdouble _Complex openblas_complex_xdouble; -@@ -76,7 +77,9 @@ typedef int blasint; - #define openblas_complex_double_imag(z) (cimag(z)) - #define openblas_complex_xdouble_real(z) (creal(z)) - #define openblas_complex_xdouble_imag(z) (cimag(z)) -+ #endif - #else -+ #ifndef OPENBLAS_COMPLEX_STRUCT - #define OPENBLAS_COMPLEX_STRUCT - typedef struct { float real, imag; } openblas_complex_float; - typedef struct { double real, imag; } openblas_complex_double; -@@ -90,4 +93,5 @@ typedef int blasint; - #define openblas_complex_double_imag(z) ((z).imag) - #define openblas_complex_xdouble_real(z) ((z).real) - #define openblas_complex_xdouble_imag(z) ((z).imag) -+ #endif - #endif diff --git a/ports/openblas/getarch.diff b/ports/openblas/getarch.diff new file mode 100644 index 00000000000000..a2c7150a5698d3 --- /dev/null +++ b/ports/openblas/getarch.diff @@ -0,0 +1,73 @@ +diff --git a/cmake/prebuild.cmake b/cmake/prebuild.cmake +index 609fbe2..daeb25c 100644 +--- a/cmake/prebuild.cmake ++++ b/cmake/prebuild.cmake +@@ -95,7 +95,7 @@ else () + endif () + + # Cannot run getarch on target if we are cross-compiling +-if (DEFINED CORE AND CMAKE_CROSSCOMPILING AND NOT (${HOST_OS} STREQUAL "WINDOWSSTORE")) ++if(CMAKE_CROSSCOMPILING AND NOT DEFINED GETARCH_BINARY_DIR) + # Write to config as getarch would + if (DEFINED TARGET_CORE) + set(TCORE ${TARGET_CORE}) +@@ -1373,7 +1373,11 @@ endif () + file(MAKE_DIRECTORY ${TARGET_CONF_DIR}) + file(RENAME ${TARGET_CONF_TEMP} "${TARGET_CONF_DIR}/${TARGET_CONF}") + +-else(NOT CMAKE_CROSSCOMPILING) ++else() ++ if(NOT CMAKE_CROSSCOMPILING) ++ set(GETARCH_BINARY_DIR "${PROJECT_BINARY_DIR}") ++ endif() ++ + # compile getarch + set(GETARCH_SRC + ${PROJECT_SOURCE_DIR}/getarch.c +@@ -1420,6 +1424,7 @@ else(NOT CMAKE_CROSSCOMPILING) + if (NOT ${GETARCH_RESULT}) + MESSAGE(FATAL_ERROR "Compiling getarch failed ${GETARCH_LOG}") + endif () ++ install(PROGRAMS "${PROJECT_BINARY_DIR}/${GETARCH_BIN}" DESTINATION bin) + endif () + unset (HAVE_AVX2) + unset (HAVE_AVX) +@@ -1439,8 +1444,8 @@ else(NOT CMAKE_CROSSCOMPILING) + message(STATUS "Running getarch") + + # use the cmake binary w/ the -E param to run a shell command in a cross-platform way +-execute_process(COMMAND "${PROJECT_BINARY_DIR}/${GETARCH_BIN}" 0 OUTPUT_VARIABLE GETARCH_MAKE_OUT) +-execute_process(COMMAND "${PROJECT_BINARY_DIR}/${GETARCH_BIN}" 1 OUTPUT_VARIABLE GETARCH_CONF_OUT) ++execute_process(COMMAND "${GETARCH_BINARY_DIR}/${GETARCH_BIN}" 0 OUTPUT_VARIABLE GETARCH_MAKE_OUT) ++execute_process(COMMAND "${GETARCH_BINARY_DIR}/${GETARCH_BIN}" 1 OUTPUT_VARIABLE GETARCH_CONF_OUT) + + message(STATUS "GETARCH results:\n${GETARCH_MAKE_OUT}") + +@@ -1463,11 +1468,12 @@ execute_process(COMMAND "${PROJECT_BINARY_DIR}/${GETARCH_BIN}" 1 OUTPUT_VARIABLE + if (NOT ${GETARCH2_RESULT}) + MESSAGE(FATAL_ERROR "Compiling getarch_2nd failed ${GETARCH2_LOG}") + endif () ++ install(PROGRAMS "${PROJECT_BINARY_DIR}/${GETARCH2_BIN}" DESTINATION bin) + endif () + + # use the cmake binary w/ the -E param to run a shell command in a cross-platform way +-execute_process(COMMAND "${PROJECT_BINARY_DIR}/${GETARCH2_BIN}" 0 OUTPUT_VARIABLE GETARCH2_MAKE_OUT) +-execute_process(COMMAND "${PROJECT_BINARY_DIR}/${GETARCH2_BIN}" 1 OUTPUT_VARIABLE GETARCH2_CONF_OUT) ++execute_process(COMMAND "${GETARCH_BINARY_DIR}/${GETARCH2_BIN}" 0 OUTPUT_VARIABLE GETARCH2_MAKE_OUT) ++execute_process(COMMAND "${GETARCH_BINARY_DIR}/${GETARCH2_BIN}" 1 OUTPUT_VARIABLE GETARCH2_CONF_OUT) + + # append config data from getarch_2nd to the TARGET file and read in CMake vars + file(APPEND "${TARGET_CONF_TEMP}" ${GETARCH2_CONF_OUT}) +diff --git a/cmake/system.cmake b/cmake/system.cmake +index eae7436..b2a6da7 100644 +--- a/cmake/system.cmake ++++ b/cmake/system.cmake +@@ -13,7 +13,7 @@ if(CMAKE_CROSSCOMPILING AND NOT DEFINED TARGET) + set(TARGET "ARMV8") + elseif(ARM) + set(TARGET "ARMV7") # TODO: Ask compiler which arch this is +- else() ++ elseif(NOT DEFINED GETARCH_BINARY_DIR) + message(FATAL_ERROR "When cross compiling, a TARGET is required.") + endif() + endif() diff --git a/ports/openblas/install-tools.patch b/ports/openblas/install-tools.patch deleted file mode 100644 index 5d9e4061b8802c..00000000000000 --- a/ports/openblas/install-tools.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/cmake/prebuild.cmake b/cmake/prebuild.cmake -index 0c126e3..bb0124b 100644 ---- a/cmake/prebuild.cmake -+++ b/cmake/prebuild.cmake -@@ -558,6 +558,8 @@ else(NOT CMAKE_CROSSCOMPILING) - if (NOT ${GETARCH_RESULT}) - MESSAGE(FATAL_ERROR "Compiling getarch failed ${GETARCH_LOG}") - endif () -+ -+ install(FILES "${PROJECT_BINARY_DIR}/${GETARCH_BIN}" DESTINATION bin) - endif () - unset (HAVE_AVX2) - unset (HAVE_AVX) -@@ -601,6 +603,8 @@ execute_process(COMMAND "${BLASHELPER_BINARY_DIR}/${GETARCH_BIN}" 1 OUTPUT_VARIA - if (NOT ${GETARCH2_RESULT}) - MESSAGE(FATAL_ERROR "Compiling getarch_2nd failed ${GETARCH2_LOG}") - endif () -+ -+ install(FILES "${PROJECT_BINARY_DIR}/${GETARCH2_BIN}" DESTINATION bin) - endif () - - # use the cmake binary w/ the -E param to run a shell command in a cross-platform way diff --git a/ports/openblas/portfile.cmake b/ports/openblas/portfile.cmake index ffdb3a3e09be05..aa2fc03c493394 100644 --- a/ports/openblas/portfile.cmake +++ b/ports/openblas/portfile.cmake @@ -1,111 +1,83 @@ +vcpkg_download_distfile(ARM64_WINDOWS_UWP_PATCH + URLS "https://patch-diff.githubusercontent.com/raw/OpenMathLib/OpenBLAS/pull/4926.diff?full_index=1" + FILENAME "openblas-fix-arm64-windows-uwp.patch" + SHA512 808d375628499641f1134b4751c9861384b719dae14cf6bd4d9d4b09c9bfd9f8b13b2663e9fa9d09867b5b40817c26387ac659d2f6459d40a46455b2f540d018 +) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO xianyi/OpenBLAS + REPO OpenMathLib/OpenBLAS REF "v${VERSION}" - SHA512 fe66e3a258ca1720764ed243f6d61017d6ef14bd33b76f20b19b34754096ec2be9fbeb1a78743f38ee71381746d6af9a1c16a8f3982e423afec422fcb50852d0 + SHA512 358301c8a60bedf920c07a110c772feb639e52412bd783789741fd2fd0686aac97e6b17ebcdf01ce48a2a15841058f82df0fee551af952f6e70b58140c055133 HEAD_REF develop PATCHES - uwp.patch - fix-redefinition-function.patch - install-tools.patch + arm32-asm-function.diff + disable-testing.diff + getarch.diff + system-check-msvc.diff + win32-uwp.diff + ${ARM64_WINDOWS_UWP_PATCH} ) -find_program(GIT NAMES git git.cmd) - -# sed and awk are installed with git but in a different directory -get_filename_component(GIT_EXE_PATH "${GIT}" DIRECTORY) -set(SED_EXE_PATH "${GIT_EXE_PATH}/../usr/bin") - -# openblas require perl to generate .def for exports -vcpkg_find_acquire_program(PERL) -get_filename_component(PERL_EXE_PATH "${PERL}" DIRECTORY) -set(PATH_BACKUP "$ENV{PATH}") -vcpkg_add_to_path("${PERL_EXE_PATH}") -vcpkg_add_to_path("${SED_EXE_PATH}") - -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS +vcpkg_check_features(OUT_FEATURE_OPTIONS OPTIONS FEATURES threads USE_THREAD simplethread USE_SIMPLE_THREADED_LEVEL3 - "dynamic-arch" DYNAMIC_ARCH + dynamic-arch DYNAMIC_ARCH ) -set(COMMON_OPTIONS -DBUILD_WITHOUT_LAPACK=ON) - -if(VCPKG_TARGET_IS_OSX) - if("dynamic-arch" IN_LIST FEATURES) - set(conf_opts GENERATOR "Unix Makefiles") - endif() +# If not explicitly configured for a cross build, OpenBLAS wants to run +# getarch executables in order to optimize for the target. +# Adapting this to vcpkg triplets: +# - install-getarch.diff introduces and uses GETARCH_BINARY_DIR, +# - architecture and system name are required to match for GETARCH_BINARY_DIR, but +# - uwp (aka WindowsStore) may run windows getarch. +string(REPLACE "WindowsStore_" "_" SYSTEM_KEY "${VCPKG_CMAKE_SYSTEM_NAME}_${VCPKG_TARGET_ARCHITECTURE}") +set(GETARCH_BINARY_DIR "${CURRENT_HOST_INSTALLED_DIR}/manual-tools/${PORT}/${SYSTEM_KEY}") +if(EXISTS "${GETARCH_BINARY_DIR}") + message(STATUS "OpenBLAS cross build, but may use ${PORT}:${HOST_TRIPLET} getarch") + list(APPEND OPTIONS "-DGETARCH_BINARY_DIR=${GETARCH_BINARY_DIR}") +elseif(VCPKG_CROSSCOMPILING) + message(STATUS "OpenBLAS cross build, may not be able to use getarch") +else() + message(STATUS "OpenBLAS native build") endif() -set(OPENBLAS_EXTRA_OPTIONS) -# for UWP version, must build non uwp first for helper -# binaries. -if(VCPKG_TARGET_IS_UWP) - list(APPEND OPENBLAS_EXTRA_OPTIONS "-DBLASHELPER_BINARY_DIR=${CURRENT_HOST_INSTALLED_DIR}/tools/${PORT}") -elseif(NOT (VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)) - string(APPEND VCPKG_C_FLAGS " -DNEEDBUNDERSCORE") # Required to get common BLASFUNC to append extra _ - string(APPEND VCPKG_CXX_FLAGS " -DNEEDBUNDERSCORE") - list(APPEND OPENBLAS_EXTRA_OPTIONS - -DNOFORTRAN=ON - -DBU=_ #required for all blas functions to append extra _ using NAME +if(VCPKG_TARGET_IS_EMSCRIPTEN) + # Only the riscv64 kernel with riscv64_generic target is supported. + # Cf. https://github.com/OpenMathLib/OpenBLAS/issues/3640#issuecomment-1144029630 et al. + list(APPEND OPTIONS + -DEMSCRIPTEN_SYSTEM_PROCESSOR=riscv64 + -DTARGET=RISCV64_GENERIC ) endif() -if (VCPKG_TARGET_IS_WINDOWS AND VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") - list(APPEND OPENBLAS_EXTRA_OPTIONS -DCORE=GENERIC) -endif() - vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - ${conf_opts} OPTIONS - ${FEATURE_OPTIONS} - ${COMMON_OPTIONS} - ${OPENBLAS_EXTRA_OPTIONS} + ${OPTIONS} + -DCMAKE_POLICY_DEFAULT_CMP0054=NEW + "-DCMAKE_PROJECT_INCLUDE=${CURRENT_PORT_DIR}/cmake-project-include.cmake" + -DBUILD_TESTING=OFF + -DBUILD_WITHOUT_LAPACK=ON + -DNOFORTRAN=ON + MAYBE_UNUSED_VARIABLES + GETARCH_BINARY_DIR ) vcpkg_cmake_install() vcpkg_copy_pdbs() - vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/OpenBLAS) - -if (EXISTS "${CURRENT_PACKAGES_DIR}/bin/getarch${VCPKG_HOST_EXECUTABLE_SUFFIX}") - vcpkg_copy_tools(TOOL_NAMES getarch AUTO_CLEAN) -endif() -if (EXISTS "${CURRENT_PACKAGES_DIR}/bin/getarch_2nd${VCPKG_HOST_EXECUTABLE_SUFFIX}") - vcpkg_copy_tools(TOOL_NAMES getarch_2nd AUTO_CLEAN) -endif() - -set(ENV{PATH} "${PATH_BACKUP}") - -set(pcfile "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/openblas.pc") -if(EXISTS "${pcfile}") - file(READ "${pcfile}" _contents) - set(_contents "prefix=${CURRENT_INSTALLED_DIR}\n${_contents}") - file(WRITE "${pcfile}" "${_contents}") - #file(CREATE_LINK "${pcfile}" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/blas.pc" COPY_ON_ERROR) -endif() -set(pcfile "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/openblas.pc") -if(EXISTS "${pcfile}") - file(READ "${pcfile}" _contents) - set(_contents "prefix=${CURRENT_INSTALLED_DIR}/debug\n${_contents}") - file(WRITE "${pcfile}" "${_contents}") - #file(CREATE_LINK "${pcfile}" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/blas.pc" COPY_ON_ERROR) -endif() vcpkg_fixup_pkgconfig() -#maybe we need also to write a wrapper inside share/blas to search implicitly for openblas, whenever we feel it's ready for its own -config.cmake file - -# openblas do not make the config file , so I manually made this -# but I think in most case, libraries will not include these files, they define their own used function prototypes -# this is only to quite vcpkg -file(COPY "${CMAKE_CURRENT_LIST_DIR}/openblas_common.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include") -vcpkg_replace_string( - "${SOURCE_PATH}/cblas.h" - "#include \"common.h\"" - "#include \"openblas_common.h\"" -) +# Required from native builds, optional from cross builds. +if(NOT VCPKG_CROSSCOMPILING OR EXISTS "${CURRENT_PACKAGES_DIR}/bin/getarch${VCPKG_TARGET_EXECUTABLE_SUFFIX}") + vcpkg_copy_tools( + TOOL_NAMES getarch getarch_2nd + DESTINATION "${CURRENT_PACKAGES_DIR}/manual-tools/${PORT}/${SYSTEM_KEY}" + AUTO_CLEAN + ) +endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") diff --git a/ports/openblas/system-check-msvc.diff b/ports/openblas/system-check-msvc.diff new file mode 100644 index 00000000000000..f1c395e1a81e84 --- /dev/null +++ b/ports/openblas/system-check-msvc.diff @@ -0,0 +1,21 @@ +diff --git a/cmake/system_check.cmake b/cmake/system_check.cmake +index e94497a..d884727 100644 +--- a/cmake/system_check.cmake ++++ b/cmake/system_check.cmake +@@ -36,6 +36,16 @@ if(CMAKE_CL_64 OR MINGW64) + else() + set(X86_64 1) + endif() ++elseif(MSVC) ++ if(CMAKE_SYSTEM_PROCESSOR STREQUAL "AMD64") ++ set(X86_64 1) ++ elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "ARM") ++ set(ARM 1) ++ elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "ARM64") ++ set(ARM64 1) ++ else() ++ set(X86 1) ++ endif() + elseif(MINGW OR (MSVC AND NOT CMAKE_CROSSCOMPILING)) + set(X86 1) + elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "ppc.*|power.*|Power.*" OR (CMAKE_SYSTEM_NAME MATCHES "Darwin" AND CMAKE_OSX_ARCHITECTURES MATCHES "ppc.*")) diff --git a/ports/openblas/uwp.patch b/ports/openblas/uwp.patch deleted file mode 100644 index fd29ed7fefd7ad..00000000000000 --- a/ports/openblas/uwp.patch +++ /dev/null @@ -1,85 +0,0 @@ -diff --git a/cmake/prebuild.cmake b/cmake/prebuild.cmake -index 730555a..1b09e00 100644 ---- a/cmake/prebuild.cmake -+++ b/cmake/prebuild.cmake -@@ -39,6 +39,9 @@ - - # CPUIDEMU = ../../cpuid/table.o - -+if (NOT DEFINED BLASHELPER_BINARY_DIR) -+ set(BLASHELPER_BINARY_DIR "${PROJECT_BINARY_DIR}") -+endif () - - if (DEFINED CPUIDEMU) - set(EXFLAGS "-DCPUIDEMU -DVENDOR=99") -@@ -1401,8 +1404,8 @@ else(NOT CMAKE_CROSSCOMPILING) - message(STATUS "Running getarch") - - # use the cmake binary w/ the -E param to run a shell command in a cross-platform way --execute_process(COMMAND "${PROJECT_BINARY_DIR}/${GETARCH_BIN}" 0 OUTPUT_VARIABLE GETARCH_MAKE_OUT) --execute_process(COMMAND "${PROJECT_BINARY_DIR}/${GETARCH_BIN}" 1 OUTPUT_VARIABLE GETARCH_CONF_OUT) -+execute_process(COMMAND "${BLASHELPER_BINARY_DIR}/${GETARCH_BIN}" 0 OUTPUT_VARIABLE GETARCH_MAKE_OUT) -+execute_process(COMMAND "${BLASHELPER_BINARY_DIR}/${GETARCH_BIN}" 1 OUTPUT_VARIABLE GETARCH_CONF_OUT) - - message(STATUS "GETARCH results:\n${GETARCH_MAKE_OUT}") - -@@ -1430,8 +1433,8 @@ execute_process(COMMAND "${PROJECT_BINARY_DIR}/${GETARCH_BIN}" 1 OUTPUT_VARIABLE - endif () - - # use the cmake binary w/ the -E param to run a shell command in a cross-platform way --execute_process(COMMAND "${PROJECT_BINARY_DIR}/${GETARCH2_BIN}" 0 OUTPUT_VARIABLE GETARCH2_MAKE_OUT) --execute_process(COMMAND "${PROJECT_BINARY_DIR}/${GETARCH2_BIN}" 1 OUTPUT_VARIABLE GETARCH2_CONF_OUT) -+execute_process(COMMAND "${BLASHELPER_BINARY_DIR}/${GETARCH2_BIN}" 0 OUTPUT_VARIABLE GETARCH2_MAKE_OUT) -+execute_process(COMMAND "${BLASHELPER_BINARY_DIR}/${GETARCH2_BIN}" 1 OUTPUT_VARIABLE GETARCH2_CONF_OUT) - - # append config data from getarch_2nd to the TARGET file and read in CMake vars - file(APPEND "${TARGET_CONF_TEMP}" ${GETARCH2_CONF_OUT}) -diff --git a/cmake/system.cmake b/cmake/system.cmake -index 631e7fe..83220ce 100644 ---- a/cmake/system.cmake -+++ b/cmake/system.cmake -@@ -13,6 +13,9 @@ if(CMAKE_CROSSCOMPILING AND NOT DEFINED TARGET) - set(TARGET "ARMV8") - elseif(ARM) - set(TARGET "ARMV7") # TODO: Ask compiler which arch this is -+ elseif(${HOST_OS} STREQUAL "WINDOWSSTORE") -+ set(CMAKE_CROSSCOMPILING 0) -+ add_definitions(-D_CRT_SECURE_NO_WARNINGS=1) - else() - message(FATAL_ERROR "When cross compiling, a TARGET is required.") - endif() -diff --git a/common_stackalloc.h b/common_stackalloc.h -index d3d5466..cd157fc 100644 ---- a/common_stackalloc.h -+++ b/common_stackalloc.h -@@ -36,7 +36,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #define STACK_ALLOC_PROTECT_CHECK - #endif - --#if defined(MAX_STACK_ALLOC) && MAX_STACK_ALLOC > 0 -+#if defined(MAX_STACK_ALLOC) && MAX_STACK_ALLOC > 0 && !(defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_APP)) - - /* - * Allocate a buffer on the stack if the size is smaller than MAX_STACK_ALLOC. -@@ -63,7 +63,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #endif - - --#if defined(MAX_STACK_ALLOC) && MAX_STACK_ALLOC > 0 -+#if defined(MAX_STACK_ALLOC) && MAX_STACK_ALLOC > 0 && !(defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_APP)) - #define STACK_FREE(BUFFER) \ - STACK_ALLOC_PROTECT_CHECK \ - if(!stack_alloc_size) \ -diff --git a/interface/zgemv.c b/interface/zgemv.c -index 3e98dba..ee597f7 100644 ---- a/interface/zgemv.c -+++ b/interface/zgemv.c -@@ -244,7 +244,7 @@ void CNAME(enum CBLAS_ORDER order, - buffer_size = (buffer_size + 3) & ~3; - STACK_ALLOC(buffer_size, FLOAT, buffer); - --#if defined(ARCH_X86_64) && defined(MAX_STACK_ALLOC) && MAX_STACK_ALLOC > 0 -+#if defined(ARCH_X86_64) && defined(MAX_STACK_ALLOC) && MAX_STACK_ALLOC > 0 && !(defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_APP)) - // cgemv_t.S return NaN if there are NaN or Inf in the buffer (see bug #746) - if(trans && stack_alloc_size) - memset(buffer, 0, MIN(BUFFER_SIZE, sizeof(FLOAT) * buffer_size)); diff --git a/ports/openblas/vcpkg.json b/ports/openblas/vcpkg.json index 68a68293ee9bfb..55b236b512fd6e 100644 --- a/ports/openblas/vcpkg.json +++ b/ports/openblas/vcpkg.json @@ -1,19 +1,15 @@ { "name": "openblas", - "version": "0.3.24", + "version": "0.3.28", + "port-version": 1, "description": "OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.", - "homepage": "https://github.com/xianyi/OpenBLAS", + "homepage": "https://github.com/OpenMathLib/OpenBLAS", "license": "BSD-3-Clause", - "supports": "!arm | arm64 | !uwp", "dependencies": [ { "name": "openblas", "host": true }, - { - "name": "pthread", - "platform": "!windows & !uwp" - }, { "name": "vcpkg-cmake", "host": true @@ -29,7 +25,10 @@ "supports": "!windows | mingw" }, "simplethread": { - "description": "Use simple thread", + "description": [ + "Use simple thread safety for level3 functions", + "Alternative to serialization of concurrent access to parallelized level3 functions." + ], "dependencies": [ { "name": "openblas", @@ -40,11 +39,11 @@ ] }, "threads": { - "description": "Use a threading backend", + "description": "Enable multi-threading", "dependencies": [ { - "name": "pthread", - "platform": "!windows & !uwp" + "name": "pthreads", + "platform": "!windows" } ] } diff --git a/ports/openblas/win32-uwp.diff b/ports/openblas/win32-uwp.diff new file mode 100644 index 00000000000000..d609c83926183c --- /dev/null +++ b/ports/openblas/win32-uwp.diff @@ -0,0 +1,67 @@ +diff --git a/cmake/os.cmake b/cmake/os.cmake +index 2effbe0..538ede2 100644 +--- a/cmake/os.cmake ++++ b/cmake/os.cmake +@@ -18,7 +18,7 @@ if (${CMAKE_SYSTEM_NAME} STREQUAL "AIX") + endif () + + # TODO: this is probably meant for mingw, not other windows compilers +-if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") ++if (WIN32) + + set(NEED_PIC 0) + set(NO_EXPRECISION 1) +@@ -69,7 +69,7 @@ if (CYGWIN) + set(NO_EXPRECISION 1) + endif () + +-if (NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Windows" AND NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Interix" AND NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Android") ++if (NOT WIN32 AND NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Interix" AND NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Android") + if (USE_THREAD) + set(EXTRALIB "${EXTRALIB} -lpthread") + endif () +diff --git a/cmake/system.cmake b/cmake/system.cmake +index 683c318..eae7436 100644 +--- a/cmake/system.cmake ++++ b/cmake/system.cmake +@@ -502,7 +502,7 @@ if (USE_SIMPLE_THREADED_LEVEL3) + set(CCOMMON_OPT "${CCOMMON_OPT} -DUSE_SIMPLE_THREADED_LEVEL3") + endif () + +-if (NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Windows") ++if (NOT WIN32) + if (DEFINED MAX_STACK_ALLOC) + if (NOT ${MAX_STACK_ALLOC} EQUAL 0) + set(CCOMMON_OPT "${CCOMMON_OPT} -DMAX_STACK_ALLOC=${MAX_STACK_ALLOC}") +@@ -511,7 +511,7 @@ else () + set(CCOMMON_OPT "${CCOMMON_OPT} -DMAX_STACK_ALLOC=2048") + endif () + endif () +-if (NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Windows") ++if (NOT WIN32) + if (DEFINED BLAS3_MEM_ALLOC_THRESHOLD) + if (NOT ${BLAS3_MEM_ALLOC_THRESHOLD} EQUAL 32) + set(CCOMMON_OPT "${CCOMMON_OPT} -DBLAS3_MEM_ALLOC_THRESHOLD=${BLAS3_MEM_ALLOC_THRESHOLD}") +@@ -628,7 +628,7 @@ endif() + set(LAPACK_FPFLAGS "${LAPACK_FPFLAGS} ${FPFLAGS}") + + #Disable -fopenmp for LAPACK Fortran codes on Windows. +-if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") ++if (WIN32) + set(FILTER_FLAGS "-fopenmp;-mp;-openmp;-xopenmp=parallel") + foreach (FILTER_FLAG ${FILTER_FLAGS}) + string(REPLACE ${FILTER_FLAG} "" LAPACK_FFLAGS ${LAPACK_FFLAGS}) +@@ -660,11 +660,11 @@ if (INTERFACE64) + set(LAPACK_CFLAGS "${LAPACK_CFLAGS} -DLAPACK_ILP64") + endif () + +-if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") ++if (WIN32) + set(LAPACK_CFLAGS "${LAPACK_CFLAGS} -DOPENBLAS_OS_WINDOWS") + endif () + +-if (${CMAKE_C_COMPILER} STREQUAL "LSB" OR ${CMAKE_SYSTEM_NAME} STREQUAL "Windows") ++if (${CMAKE_C_COMPILER} STREQUAL "LSB" OR WIN32) + set(LAPACK_CFLAGS "${LAPACK_CFLAGS} -DLAPACK_COMPLEX_STRUCTURE") + endif () + diff --git a/ports/opencascade/dependencies.patch b/ports/opencascade/dependencies.patch new file mode 100644 index 00000000000000..9067a449515f63 --- /dev/null +++ b/ports/opencascade/dependencies.patch @@ -0,0 +1,113 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8690528..834ca79 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -605,7 +605,8 @@ if (CAN_USE_FREETYPE) + if (USE_FREETYPE) + message (STATUS "Info: FreeType is used by OCCT") + add_definitions (-DHAVE_FREETYPE) +- OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/freetype") ++ find_package(Freetype MODULE REQUIRED) ++ set(CSF_FREETYPE Freetype::Freetype) + else() + OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_FREETYPE") + OCCT_CHECK_AND_UNSET ("3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2") +@@ -622,7 +623,9 @@ endif() + if (USE_VTK) + add_definitions (-DHAVE_VTK) + set (OCCT_VTK_USED_TARGETS "" CACHE INTERNAL "" FORCE) +- OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/vtk") ++ find_package(VTK REQUIRED) ++ set(CSF_VTK VTK::CommonCore) ++ set(IS_VTK_9XX 1) + else() + OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_VTK") + +@@ -638,7 +641,8 @@ endif() + if (CAN_USE_FREEIMAGE) + if (USE_FREEIMAGE) + add_definitions (-DHAVE_FREEIMAGE) +- OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/freeimage") ++ find_package(freeimage CONFIG REQUIRED) ++ set(CSF_FreeImagePlus freeimage::FreeImagePlus) + else() + OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_FREEIMAGE") + OCCT_CHECK_AND_UNSET ("INSTALL_FREEIMAGE") +@@ -739,7 +743,8 @@ endif() + if (NOT DEFINED ANDROID AND CAN_USE_TBB) + if (USE_TBB) + add_definitions (-DHAVE_TBB) +- OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/tbb") ++ find_package(TBB CONFIG REQUIRED) ++ set(CSF_TBB TBB::tbb TBB::tbbmalloc) + else() + OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_TBB") + OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_TBBMALLOC") +@@ -759,7 +764,8 @@ OCCT_IS_PRODUCT_REQUIRED (CSF_RapidJSON CAN_USE_RAPIDJSON) + if (CAN_USE_RAPIDJSON) + if (USE_RAPIDJSON) + add_definitions (-DHAVE_RAPIDJSON) +- OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/rapidjson") ++ find_package(RapidJSON CONFIG REQUIRED) ++ set(CSF_RapidJSON rapidjson) + else() + OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_RAPIDJSON") + OCCT_CHECK_AND_UNSET ("INSTALL_RAPIDJSON") +diff --git a/adm/cmake/occt_toolkit.cmake b/adm/cmake/occt_toolkit.cmake +index c939915..f707e00 100644 +--- a/adm/cmake/occt_toolkit.cmake ++++ b/adm/cmake/occt_toolkit.cmake +@@ -475,11 +475,11 @@ else() + endif() + endif() + +-if (BUILD_SHARED_LIBS OR EXECUTABLE_PROJECT) ++if (1) + if(IS_VTK_9XX) + string (REGEX REPLACE "vtk" "VTK::" USED_TOOLKITS_BY_CURRENT_PROJECT "${USED_TOOLKITS_BY_CURRENT_PROJECT}") + endif() +- target_link_libraries (${PROJECT_NAME} ${USED_TOOLKITS_BY_CURRENT_PROJECT} ${USED_EXTERNAL_LIBS_BY_CURRENT_PROJECT}) ++ target_link_libraries (${PROJECT_NAME} PRIVATE ${USED_TOOLKITS_BY_CURRENT_PROJECT} ${USED_EXTERNAL_LIBS_BY_CURRENT_PROJECT}) + endif() + + if (USE_QT) +diff --git a/adm/templates/OpenCASCADEConfig.cmake.in b/adm/templates/OpenCASCADEConfig.cmake.in +index e391ddf..9cc3d49 100644 +--- a/adm/templates/OpenCASCADEConfig.cmake.in ++++ b/adm/templates/OpenCASCADEConfig.cmake.in +@@ -5,6 +5,23 @@ + # This file is configured by OpenCASCADE. + # + ++include(CMakeFindDependencyMacro) ++if("@USE_FREEIMAGE@") ++ find_dependency(freeimage CONFIG) ++endif() ++if("@USE_FREETYPE@") ++ find_dependency(Freetype MODULE) ++endif() ++if("@USE_RAPIDJSON@") ++ find_package(RapidJSON CONFIG REQUIRED) ++endif() ++if("@USE_TBB@") ++ find_dependency(TBB CONFIG) ++endif() ++if("@USE_VTK@") ++ find_dependency(VTK REQUIRED) ++endif() ++ + if(OpenCASCADE_ALREADY_INCLUDED) + return() + endif() +diff --git a/src/Image/Image_AlienPixMap.cxx b/src/Image/Image_AlienPixMap.cxx +index f869e8f..538d5b9 100644 +--- a/src/Image/Image_AlienPixMap.cxx ++++ b/src/Image/Image_AlienPixMap.cxx +@@ -21,7 +21,6 @@ + #include + + #ifdef _MSC_VER +- #pragma comment( lib, "FreeImage.lib" ) + #endif + #elif defined(HAVE_WINCODEC) + #include diff --git a/ports/opencascade/drop-bin-letter-d.patch b/ports/opencascade/drop-bin-letter-d.patch new file mode 100644 index 00000000000000..1e278d523c75df --- /dev/null +++ b/ports/opencascade/drop-bin-letter-d.patch @@ -0,0 +1,45 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d2c4e570..8eac318c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -244,7 +244,6 @@ set (CMAKE_INSTALL_PREFIX "${INSTALL_DIR}" CACHE INTERNAL "" FORCE) + + set (BIN_LETTER "") + if ("${CMAKE_BUILD_TYPE}" STREQUAL "Debug") +- set (BIN_LETTER "d") + elseif ("${CMAKE_BUILD_TYPE}" STREQUAL "RelWithDebInfo") + set (BIN_LETTER "i") + endif() +@@ -917,6 +916,7 @@ if (WIN32) + set (CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE "${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/bin") + set (CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELWITHDEBINFO "${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/bini") + set (CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG "${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/bind") ++ set (CMAKE_PDB_OUTPUT_DIRECTORY_DEBUG "${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/bin") + endif() + + string(TIMESTAMP CURRENT_TIME "%H:%M:%S") +diff --git a/adm/cmake/occt_macros.cmake b/adm/cmake/occt_macros.cmake +index 9fd3ec4c..dc9ff18b 100644 +--- a/adm/cmake/occt_macros.cmake ++++ b/adm/cmake/occt_macros.cmake +@@ -609,7 +609,7 @@ macro (OCCT_INSERT_CODE_FOR_TARGET) + elseif (\"\${CMAKE_INSTALL_CONFIG_NAME}\" MATCHES \"^([Rr][Ee][Ll][Ww][Ii][Tt][Hh][Dd][Ee][Bb][Ii][Nn][Ff][Oo])$\") + set (OCCT_INSTALL_BIN_LETTER \"i\") + elseif (\"\${CMAKE_INSTALL_CONFIG_NAME}\" MATCHES \"^([Dd][Ee][Bb][Uu][Gg])$\") +- set (OCCT_INSTALL_BIN_LETTER \"d\") ++ set (OCCT_INSTALL_BIN_LETTER \"\") + endif()") + endmacro() + +diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt +index beb934f7..95cec74a 100644 +--- a/tools/CMakeLists.txt ++++ b/tools/CMakeLists.txt +@@ -172,7 +172,6 @@ set (CMAKE_INSTALL_PREFIX "${INSTALL_DIR}" CACHE INTERNAL "" FORCE) + + set (BIN_LETTER "") + if ("${CMAKE_BUILD_TYPE}" STREQUAL "Debug") +- set (BIN_LETTER "d") + elseif ("${CMAKE_BUILD_TYPE}" STREQUAL "RelWithDebInfo") + set (BIN_LETTER "i") + endif() diff --git a/ports/opencascade/fix-depend-freetype.patch b/ports/opencascade/fix-depend-freetype.patch deleted file mode 100644 index 4abcddf6db884e..00000000000000 --- a/ports/opencascade/fix-depend-freetype.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index fbcede5..66b127d 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -563,7 +563,9 @@ if (CAN_USE_FREETYPE) - if (USE_FREETYPE) - message (STATUS "Info: FreeType is used by OCCT") - add_definitions (-DHAVE_FREETYPE) -- OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/freetype") -+ find_package(freetype CONFIG REQUIRED) -+ get_target_property(FREETYPE_INCLUDE_DIR freetype INTERFACE_INCLUDE_DIRECTORIES) -+ list (APPEND 3RDPARTY_INCLUDE_DIRS "${FREETYPE_INCLUDE_DIR}") - else() - OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_FREETYPE") - OCCT_CHECK_AND_UNSET ("3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2") diff --git a/ports/opencascade/fix-depend-vtk.patch b/ports/opencascade/fix-depend-vtk.patch deleted file mode 100644 index 26e528def72ded..00000000000000 --- a/ports/opencascade/fix-depend-vtk.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/adm/cmake/vtk.cmake b/adm/cmake/vtk.cmake -index a81cdf9bb2..f265dc3489 100644 ---- a/adm/cmake/vtk.cmake -+++ b/adm/cmake/vtk.cmake -@@ -98,6 +98,11 @@ if (VTK_FOUND) - # get paths from corresponding variables - if (${VTK_LIBRARY}_INCLUDE_DIRS AND EXISTS "${${VTK_LIBRARY}_INCLUDE_DIRS}") - list (APPEND 3RDPARTY_VTK_INCLUDE_DIRS "${${VTK_LIBRARY}_INCLUDE_DIRS}") -+ else() -+ get_target_property(${VTK_LIBRARY}_INCLUDE_DIRS ${VTK_LIBRARY} INTERFACE_INCLUDE_DIRECTORIES) -+ if (${VTK_LIBRARY}_INCLUDE_DIRS AND EXISTS "${${VTK_LIBRARY}_INCLUDE_DIRS}") -+ list (APPEND 3RDPARTY_VTK_INCLUDE_DIRS "${${VTK_LIBRARY}_INCLUDE_DIRS}") -+ endif() - endif() - - if (${VTK_LIBRARY}_LIBRARY_DIRS AND EXISTS "${${VTK_LIBRARY}_LIBRARY_DIRS}") diff --git a/ports/opencascade/fix-dependence.patch b/ports/opencascade/fix-dependence.patch deleted file mode 100644 index d44ce2961d8636..00000000000000 --- a/ports/opencascade/fix-dependence.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff --git a/adm/templates/OpenCASCADEConfig.cmake.in b/adm/templates/OpenCASCADEConfig.cmake.in -index c926c49..a0502cc 100644 ---- a/adm/templates/OpenCASCADEConfig.cmake.in -+++ b/adm/templates/OpenCASCADEConfig.cmake.in -@@ -5,6 +5,8 @@ - # This file is configured by OpenCASCADE. - # - -+include(CMakeFindDependencyMacro) -+ - if(OpenCASCADE_ALREADY_INCLUDED) - return() - endif() -@@ -71,6 +73,16 @@ set (OpenCASCADE_WITH_GLES2 @USE_GLES2@) - @SET_OpenCASCADE_WITH_D3D@ - @SET_OpenCASCADE_WITH_GLX@ - -+if(@USE_FREETYPE@) -+ find_dependency(freetype CONFIG) -+endif() -+ -+find_dependency(OpenGL) -+ -+if(@USE_EIGEN@) -+ find_dependency(Eigen3) -+endif() -+ - # Import OpenCASCADE compile definitions, C and C++ flags for each installed configuration. - file(GLOB CONFIG_FILES "${CMAKE_CURRENT_LIST_DIR}/OpenCASCADECompileDefinitionsAndFlags-*.cmake") - foreach(f ${CONFIG_FILES}) diff --git a/ports/opencascade/fix-find-tbb.patch b/ports/opencascade/fix-find-tbb.patch deleted file mode 100644 index 2732502ac6dab3..00000000000000 --- a/ports/opencascade/fix-find-tbb.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1bacca1a48..9c7d924769 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -731,6 +731,13 @@ endif() - if (NOT DEFINED ANDROID AND CAN_USE_TBB) - if (USE_TBB) - add_definitions (-DHAVE_TBB) -+ if (NOT DEFINED 3RDPARTY_TBB_DIR) -+ find_package(TBB REQUIRED) -+ get_target_property(TBB_INCLUDE_DIR TBB::tbb INTERFACE_INCLUDE_DIRECTORIES) -+ get_filename_component(MY_DIRECTORY ${TBB_INCLUDE_DIR} DIRECTORY) -+ message(STATUS "TBB_INCLUDE_DIR: ${TBB_INCLUDE_DIR} ${TBB_FOUND} ${MY_DIRECTORY}") -+ set(3RDPARTY_TBB_DIR ${MY_DIRECTORY}) -+ endif() - OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/tbb") - else() - OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_TBB") diff --git a/ports/opencascade/fix-freetype.diff b/ports/opencascade/fix-freetype.diff new file mode 100644 index 00000000000000..338c3ef6aaeda1 --- /dev/null +++ b/ports/opencascade/fix-freetype.diff @@ -0,0 +1,13 @@ +diff --git a/src/StdPrs/StdPrs_BRepFont.cxx b/src/StdPrs/StdPrs_BRepFont.cxx +index ab2d9b3c9f..cd701879b1 100644 +--- a/src/StdPrs/StdPrs_BRepFont.cxx ++++ b/src/StdPrs/StdPrs_BRepFont.cxx +@@ -457,7 +457,7 @@ Standard_Boolean StdPrs_BRepFont::renderGlyph (const Standard_Utf32Char theChar, + for (short aContour = 0, aStartIndex = 0; aContour < anOutline->n_contours; ++aContour) + { + const FT_Vector* aPntList = &anOutline->points[aStartIndex]; +- const char* aTags = &anOutline->tags[aStartIndex]; ++ const auto* aTags = &anOutline->tags[aStartIndex]; + const short anEndIndex = anOutline->contours[aContour]; + const short aPntsNb = (anEndIndex - aStartIndex) + 1; + aStartIndex = anEndIndex + 1; diff --git a/ports/opencascade/install-include-dir.patch b/ports/opencascade/install-include-dir.patch index a568ce8aee300d..9df3678542ee46 100644 --- a/ports/opencascade/install-include-dir.patch +++ b/ports/opencascade/install-include-dir.patch @@ -1,17 +1,14 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index f4ec871..59e5134 100644 +index a80e39e6..bb6ab2db 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -1246,6 +1246,14 @@ foreach (OCCT_MODULE ${OCCT_MODULES}) +@@ -1273,6 +1273,11 @@ foreach (OCCT_MODULE ${OCCT_MODULES}) endforeach() set (OCCT_MODULES_ENABLED ${OCCT_MODULES_ENABLED_SORTED}) -+foreach (OCCT_LIBRARY ${OCCT_LIBRARIES}) -+ target_include_directories( -+ ${OCCT_LIBRARY} -+ INTERFACE -+ $ -+ $) ++foreach (OCCT_LIBRARY IN LISTS OCCT_LIBRARIES) ++ target_include_directories(${OCCT_LIBRARY} INTERFACE $) # OpenCASCADE_INCLUDE_DIR ++ target_include_directories(${OCCT_LIBRARY} INTERFACE $) # vcpkg lock-in +endforeach() + # Add all targets to the build-tree export set diff --git a/ports/opencascade/portfile.cmake b/ports/opencascade/portfile.cmake index 29fbac075a147e..f6b0f1dc6924af 100644 --- a/ports/opencascade/portfile.cmake +++ b/ports/opencascade/portfile.cmake @@ -1,17 +1,17 @@ +string(REPLACE "." "_" VERSION_STR "V${VERSION}") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Open-Cascade-SAS/OCCT - REF cec1ecd0c9f3b3d2572c47035d11949e8dfa85e2 #V7.7.2 - SHA512 2fe98eadd7f9b922729bf80b56f260729d1c257c41392e4be4f070667ee77e94e2b286a873430b41ea61076acf1388aee7ba8b91789aa6199db56066796bb2d3 + REF "${VERSION_STR}" + SHA512 807c1f8732926cfdabcfbdf8d6a0e76b8dba1a1e614afe084a467ffb4cfd80623f5e3afa7e9905b1ac96667c93e01b5f98ceaa8948a576a1093d98df98cc8f81 HEAD_REF master PATCHES + dependencies.patch + drop-bin-letter-d.patch fix-pdb-find.patch fix-install-prefix-path.patch install-include-dir.patch - fix-depend-freetype.patch - fix-depend-vtk.patch - fix-dependence.patch - fix-find-tbb.patch + fix-freetype.diff # https://github.com/Open-Cascade-SAS/OCCT/pull/49 ) if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") @@ -22,11 +22,12 @@ endif() vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - "freeimage" USE_FREEIMAGE - "tbb" USE_TBB - "rapidjson" USE_RAPIDJSON - "samples" INSTALL_SAMPLES - "vtk" USE_VTK + freeimage USE_FREEIMAGE + freetype USE_FREETYPE + rapidjson USE_RAPIDJSON + samples INSTALL_SAMPLES + tbb USE_TBB + vtk USE_VTK ) # We turn off BUILD_MODULE_Draw as it requires TCL 8.6 and TK 8.6 specifically which conflicts with vcpkg only having TCL 9.0 @@ -38,12 +39,15 @@ vcpkg_cmake_configure( ${FEATURE_OPTIONS} -DBUILD_LIBRARY_TYPE=${BUILD_TYPE} -DBUILD_MODULE_Draw=OFF - -DINSTALL_DIR_LAYOUT=Unix - -DBUILD_SAMPLES_MFC=OFF - -DBUILD_SAMPLES_QT=OFF -DBUILD_DOC_Overview=OFF - -DINSTALL_TEST_CASES=OFF -DBUILD_MODULE_DETools=OFF + -DINSTALL_DIR_LAYOUT=Unix + -DINSTALL_DIR_DOC=share/trash + -DINSTALL_DIR_SCRIPT=share/trash # not relocatable + -DINSTALL_TEST_CASES=OFF + -DUSE_TK=OFF + OPTIONS_DEBUG + -DINSTALL_SAMPLES=OFF ) vcpkg_cmake_install() @@ -51,73 +55,26 @@ vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/opencascade) #make occt includes relative to source_file -list(APPEND ADDITIONAL_HEADERS - "ExprIntrp.tab.h" - "FlexLexer.h" - "glext.h" - "igesread.h" - "NCollection_Haft.h" - "OSD_PerfMeter.h" - "Standard_values.h" - ) - -file(GLOB files "${CURRENT_PACKAGES_DIR}/include/opencascade/[a-zA-Z0-9_]*\.[hgl]xx") +file(GLOB extra_headers + LIST_DIRECTORIES false + RELATIVE "${CURRENT_PACKAGES_DIR}/include/opencascade" + "${CURRENT_PACKAGES_DIR}/include/opencascade/*.h" +) +list(JOIN extra_headers "|" extra_headers) +file(GLOB files "${CURRENT_PACKAGES_DIR}/include/opencascade/*.[hgl]xx") foreach(file_name IN LISTS files) file(READ "${file_name}" filedata) - string(REGEX REPLACE "# *include \<([a-zA-Z0-9_]*\.[hgl]xx)\>" "#include \"\\1\"" filedata "${filedata}") - foreach(extra_header IN LISTS ADDITIONAL_HEADERS) - string(REGEX REPLACE "# *include \<${extra_header}\>" "#include \"${extra_header}\"" filedata "${filedata}") - endforeach() + string(REGEX REPLACE "(# *include) <([a-zA-Z0-9_]*[.][hgl]xx|${extra_headers})>" [[\1 "\2"]] filedata "${filedata}") file(WRITE "${file_name}" "${filedata}") endforeach() -# Remove libd to lib, libd just has cmake files we dont want too -if( WIN32 ) -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib") -file(RENAME "${CURRENT_PACKAGES_DIR}/debug/libd" "${CURRENT_PACKAGES_DIR}/debug/lib") -endif() - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/opencascade/samples/qt") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/trash") -if (NOT VCPKG_BUILD_TYPE) - # fix paths in target files - list(APPEND TARGET_FILES - "${CURRENT_PACKAGES_DIR}/share/opencascade/OpenCASCADEApplicationFrameworkTargets-debug.cmake" - "${CURRENT_PACKAGES_DIR}/share/opencascade/OpenCASCADECompileDefinitionsAndFlags-debug.cmake" - "${CURRENT_PACKAGES_DIR}/share/opencascade/OpenCASCADEDataExchangeTargets-debug.cmake" - "${CURRENT_PACKAGES_DIR}/share/opencascade/OpenCASCADEFoundationClassesTargets-debug.cmake" - "${CURRENT_PACKAGES_DIR}/share/opencascade/OpenCASCADEModelingAlgorithmsTargets-debug.cmake" - "${CURRENT_PACKAGES_DIR}/share/opencascade/OpenCASCADEModelingDataTargets-debug.cmake" - "${CURRENT_PACKAGES_DIR}/share/opencascade/OpenCASCADEVisualizationTargets-debug.cmake" - ) - - foreach(TARGET_FILE IN LISTS TARGET_FILES) - file(READ "${TARGET_FILE}" filedata) - string(REGEX REPLACE "/libd" "/lib" filedata "${filedata}") - string(REGEX REPLACE "/bind" "/bin" filedata "${filedata}") - file(WRITE "${TARGET_FILE}" "${filedata}") - endforeach() - -endif() - -if (VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - # debug creates libd and bind directories that need moving - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin") - file(RENAME "${CURRENT_PACKAGES_DIR}/debug/bind" "${CURRENT_PACKAGES_DIR}/debug/bin") - - # the bin directory ends up with bat files that are noise, let's clean that up - file(GLOB BATS "${CURRENT_PACKAGES_DIR}/bin/*.bat") - file(REMOVE_RECURSE ${BATS}) -else() - # remove scripts in bin dir - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") -endif() - -if (INSTALL_SAMPLES) - foreach(dir "Tutorial" "FuncDemo" "IESample" "OCCTOverview") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/opencascade/samples/qt/${dir}/env.sh" "${CURRENT_PACKAGES_DIR}/bin/env.sh" "") - endforeach() -endif() - -vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/OCCT_LGPL_EXCEPTION.txt") +vcpkg_install_copyright( + FILE_LIST + "${SOURCE_PATH}/LICENSE_LGPL_21.txt" + "${SOURCE_PATH}/OCCT_LGPL_EXCEPTION.txt" +) diff --git a/ports/opencascade/vcpkg.json b/ports/opencascade/vcpkg.json index 4cb456768fc519..2a265937d5b447 100644 --- a/ports/opencascade/vcpkg.json +++ b/ports/opencascade/vcpkg.json @@ -1,14 +1,20 @@ { "name": "opencascade", - "version": "7.7.2", + "version": "7.8.1", "port-version": 1, "description": "Open CASCADE Technology (OCCT) is an open-source software development platform for 3D CAD, CAM, CAE.", "homepage": "https://github.com/Open-Cascade-SAS/OCCT", - "license": "LGPL-2.1", - "supports": "!(uwp | xbox | osx | arm)", + "license": "LGPL-2.1-only", + "supports": "!xbox", "dependencies": [ - "fontconfig", - "freetype", + { + "name": "angle", + "platform": "uwp" + }, + { + "name": "opengl", + "platform": "!(android | ios | uwp | wasm32)" + }, { "name": "vcpkg-cmake", "host": true @@ -18,6 +24,12 @@ "host": true } ], + "default-features": [ + { + "name": "freetype", + "platform": "!uwp" + } + ], "features": { "freeimage": { "description": "Enable optional usage of freeimage", @@ -25,6 +37,17 @@ "freeimage" ] }, + "freetype": { + "description": "Use of freetype", + "supports": "!uwp", + "dependencies": [ + "fontconfig", + { + "name": "freetype", + "default-features": false + } + ] + }, "rapidjson": { "description": "Enable optional usage of rapidjson", "dependencies": [ diff --git a/ports/opencc/fix-dependencies.patch b/ports/opencc/fix-dependencies.patch index 093c0b6f19c3e9..581a993d6a31a3 100644 --- a/ports/opencc/fix-dependencies.patch +++ b/ports/opencc/fix-dependencies.patch @@ -1,42 +1,17 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index ee08591..c8c6b61 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -185,12 +185,14 @@ if(NOT USE_SYSTEM_MARISA) - message(STATUS "Use bundled marisa library.") - add_subdirectory(deps/marisa-0.2.6) - else() -- find_library(LIBMARISA NAMES marisa) -- if (LIBMARISA) -- message(STATUS "libmarisa found: ${LIBMARISA}") -- else() -- message(FATAL_ERROR "libmarisa not found.") -- endif() -+ find_package(PkgConfig REQUIRED) -+ pkg_check_modules(marisa REQUIRED IMPORTED_TARGET marisa) -+ # find_library(LIBMARISA NAMES marisa) -+ # if (LIBMARISA) -+ # message(STATUS "libmarisa found: ${LIBMARISA}") -+ # else() -+ # message(FATAL_ERROR "libmarisa not found.") -+ # endif() - endif() - - ######## Subdirectories diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index c0a0b10..91b4037 100644 +index 7768c89..70292d6 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt -@@ -114,7 +114,7 @@ configure_file( - add_library(libopencc ${LIBOPENCC_SOURCES} ${LIBOPENCC_HEADERS}) +@@ -115,7 +115,7 @@ add_library(libopencc ${LIBOPENCC_SOURCES} ${LIBOPENCC_HEADERS}) + add_library(OpenCC::OpenCC ALIAS libopencc) set_target_properties(libopencc PROPERTIES POSITION_INDEPENDENT_CODE ON) source_group(libopencc FILES ${LIBOPENCC_SOURCES} ${LIBOPENCC_HEADERS}) -target_link_libraries(libopencc marisa) -+target_link_libraries(libopencc PkgConfig::marisa) - - GENERATE_EXPORT_HEADER( - libopencc -@@ -137,6 +137,21 @@ set_target_properties( ++target_link_libraries(libopencc ${LIBMARISA}) + target_include_directories(libopencc PUBLIC + $ + $ +@@ -144,6 +144,21 @@ set_target_properties( ${OPENCC_VERSION_MAJOR}.${OPENCC_VERSION_MINOR} ) @@ -57,4 +32,4 @@ index c0a0b10..91b4037 100644 + # Installation - install( + if (USE_SYSTEM_MARISA) diff --git a/ports/opencc/portfile.cmake b/ports/opencc/portfile.cmake index 01c60daf30e835..7bc8ac5c57ff57 100644 --- a/ports/opencc/portfile.cmake +++ b/ports/opencc/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO BYVoid/OpenCC REF "ver.${VERSION}" - SHA512 bfc40bdf1348e6a265b3304ab1e8acee2f4b6ac9c377ff3d8c996435a92dee98c3758503186b4fd424653faf44db339f8a90300e3290c59942ccf04b1bbb2a30 + SHA512 713cf00931d7616994eb455eef3bc893096b5cd6d42b346aa1130591752d9612891ea3ed035bd7bd4ec7df1c90425e86375f5b3337fac11663c656c79a8f33e9 HEAD_REF master PATCHES fix-dependencies.patch @@ -30,6 +30,8 @@ vcpkg_cmake_install( vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/opencc) + vcpkg_fixup_pkgconfig() set(tool_names "opencc" "opencc_dict" "opencc_phrase_extract") diff --git a/ports/opencc/vcpkg.json b/ports/opencc/vcpkg.json index c2c4f67389a21e..97ecf841ce748e 100644 --- a/ports/opencc/vcpkg.json +++ b/ports/opencc/vcpkg.json @@ -1,7 +1,6 @@ { "name": "opencc", - "version": "1.1.6", - "port-version": 1, + "version": "1.1.9", "description": "A project for conversions between Traditional Chinese, Simplified Chinese and Japanese Kanji (Shinjitai)", "homepage": "https://github.com/BYVoid/OpenCC", "license": "Apache-2.0", diff --git a/ports/opencl/0001-include-unistd-for-gete-ug-id.patch b/ports/opencl/0001-include-unistd-for-gete-ug-id.patch deleted file mode 100644 index 4674aff794ca4d..00000000000000 --- a/ports/opencl/0001-include-unistd-for-gete-ug-id.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 0f783f1a8eac7a78bc92198e140d4a5c745382ca Mon Sep 17 00:00:00 2001 -From: Nicole Mazzuca -Date: Wed, 23 Sep 2020 11:50:21 -0700 -Subject: [PATCH] include unistd for gete?[ug]id - ---- - loader/linux/icd_linux_envvars.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/loader/linux/icd_linux_envvars.c b/loader/linux/icd_linux_envvars.c -index 4af5a08..92b0698 100644 ---- a/loader/linux/icd_linux_envvars.c -+++ b/loader/linux/icd_linux_envvars.c -@@ -25,6 +25,10 @@ - - #include - -+#if defined(__APPLE__) -+#include -+#endif -+ - char *khrIcd_getenv(const char *name) { - // No allocation of memory necessary for Linux. - return getenv(name); --- -2.24.3 (Apple Git-128) - diff --git a/ports/opencl/001-remove-extra-install-rules.patch b/ports/opencl/001-remove-extra-install-rules.patch new file mode 100644 index 00000000000000..4b212f9735d10c --- /dev/null +++ b/ports/opencl/001-remove-extra-install-rules.patch @@ -0,0 +1,36 @@ +diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt +index dfb336d..ef97f82 100644 +--- a/lib/CMakeLists.txt ++++ b/lib/CMakeLists.txt +@@ -114,13 +114,6 @@ foreach(UTIL_LIB_NAME IN ITEMS Utils UtilsCpp) + DESTINATION ${config_package_location} + COMPONENT binary + ) +- +- # For packaging the utils libraries +- install( +- TARGETS ${UTIL_LIB_TARGET} +- DESTINATION ${CMAKE_INSTALL_LIBDIR} +- COMPONENT binary +- ) + endforeach() + + if(OPENCL_SDK_BUILD_SAMPLES) +diff --git a/lib/src/Extensions/CMakeLists.txt b/lib/src/Extensions/CMakeLists.txt +index e05d4e7..017f7ad 100644 +--- a/lib/src/Extensions/CMakeLists.txt ++++ b/lib/src/Extensions/CMakeLists.txt +@@ -151,13 +151,6 @@ if (OPENCL_EXTENSION_LOADER_INSTALL) + DESTINATION ${OPENCL_EXTENSION_LOADER_CONFIG_PATH} + COMPONENT binary + ) +- +- # For packaging the extensions library +- install( +- TARGETS OpenCLExt +- DESTINATION ${CMAKE_INSTALL_LIBDIR} +- COMPONENT binary +- ) + endif() + + if (CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME AND BUILD_TESTING) diff --git a/ports/opencl/portfile.cmake b/ports/opencl/portfile.cmake index 318cd8631ea172..06a48876ae0cf8 100644 --- a/ports/opencl/portfile.cmake +++ b/ports/opencl/portfile.cmake @@ -1,83 +1,90 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO KhronosGroup/OpenCL-Headers - REF "${VERSION}" - SHA512 41730e80b267de45db9d7a3bcf9e0f29bfc86b25475a86d50180a7258e1240fc8c8f2ad3e222b03b3ef50c10ef63fb5b1647c056fec615e87965aa3196e8ac60 + REPO KhronosGroup/OpenCL-SDK + REF "v${VERSION}" + SHA512 be396a7aad6251d9d1f1af265ecf20f3428d87610d680c14d92fb5b060a59ce8b8522135a0dd29eaf20e75683e45c1c8ea55035a7c3ec3eddc4bc7680d68b66e HEAD_REF main + PATCHES + # see https://github.com/KhronosGroup/OpenCL-SDK/pull/88/files#r1905072265 + 001-remove-extra-install-rules.patch ) -file(INSTALL "${SOURCE_PATH}/CL" DESTINATION ${CURRENT_PACKAGES_DIR}/include) +vcpkg_from_github( + OUT_SOURCE_PATH OPENCL_HEADERS + REPO KhronosGroup/OpenCL-Headers + REF "v${VERSION}" + SHA512 9d2ed2a8346bc3f967989091d8cc36148ffe5ff13fe30e12354cc8321c09328bbe23e74817526b99002729c884438a3b1834e175a271f6d36e8341fd86fc1ad5 + HEAD_REF main +) +if(NOT EXISTS "${SOURCE_PATH}/external/OpenCL-Headers/CMakeLists.txt") + file(REMOVE_RECURSE "${SOURCE_PATH}/external/OpenCL-Headers") + file(RENAME "${OPENCL_HEADERS}" "${SOURCE_PATH}/external/OpenCL-Headers") +endif() -# OpenCL C++ headers vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH + OUT_SOURCE_PATH OPENCL_CLHPP REPO KhronosGroup/OpenCL-CLHPP - REF "${VERSION}" - SHA512 30252a832287375d550a5e184779881d5b22207a636298c7f52f277c219d3a1ae6983259cfea7bf4f90f0840fec114ee0e7a8c1e6a6fe48c24fd3b5119e7a7f8 + REF "v${VERSION}" + SHA512 7cdadc8ef182d1556346bd34b5a9ffe6e239ab61ec527e5609d69e1bcaf81a88f3fc534f5bdeed037236e1b0e61f1544d2a95c06df55f9cd8e03e13baf4143ba HEAD_REF main ) +if(NOT EXISTS "${SOURCE_PATH}/external/OpenCL-CLHPP/CMakeLists.txt") + file(REMOVE_RECURSE "${SOURCE_PATH}/external/OpenCL-CLHPP") + file(RENAME "${OPENCL_CLHPP}" "${SOURCE_PATH}/external/OpenCL-CLHPP") +endif() -file(INSTALL "${SOURCE_PATH}/include/CL" DESTINATION ${CURRENT_PACKAGES_DIR}/include) - -# OpenCL ICD loader vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH + OUT_SOURCE_PATH OPENCL_ICD_LOADER REPO KhronosGroup/OpenCL-ICD-Loader - REF "${VERSION}" - SHA512 e418b8f3cccb4716ed44acd0677afb96705f8b40a7714d483f1efe1a9b835f4a823c5a80f8457e72c8004f76d8a07c45d9cca55b699dd2fdaa6fe9f8cc863cbd + REF "v${VERSION}" + SHA512 29043eff21076440046314edf62bb488b7e4e17d9fbdac4c3727d8e2523c0c8fbf89ee7fcf762528af761ddbcb4be24e5f062ffa82f778401d6365faa35344a8 HEAD_REF main ) +if(NOT EXISTS "${SOURCE_PATH}/external/OpenCL-ICD-Loader/CMakeLists.txt") + file(REMOVE_RECURSE "${SOURCE_PATH}/external/OpenCL-ICD-Loader") + file(RENAME "${OPENCL_ICD_LOADER}" "${SOURCE_PATH}/external/OpenCL-ICD-Loader") +endif() -string(COMPARE EQUAL ${VCPKG_CRT_LINKAGE} dynamic USE_DYNAMIC_VCXX_RUNTIME) +vcpkg_from_github( + OUT_SOURCE_PATH WHEREAMI + REPO gpakosz/whereami + REF f5e3eac441acbb4ec1fe3e2c32646248ae463398 # 2024-06-09 + SHA512 d6fa8b6788cabdbb185a6ffba79c994762924a1c60595b769a7d3bb4a3ddf0f80cdeac7bd915cffa720f9123a720a1b7f0023fd7f2cf58906d15758529a99e2d + HEAD_REF master +) vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DOPENCL_ICD_LOADER_HEADERS_DIR=${CURRENT_PACKAGES_DIR}/include + "-DFETCHCONTENT_SOURCE_DIR_WHEREAMI-EXTERNAL=${WHEREAMI}" + -DBUILD_DOCS=OFF + -DBUILD_EXAMPLES=OFF + -DBUILD_TESTING=OFF + -DOPENCL_HEADERS_BUILD_CXX_TESTS=OFF + -DOPENCL_SDK_BUILD_SAMPLES=OFF ) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH "share/cmake/OpenCLHeaders" PACKAGE_NAME "OpenCLHeaders" DO_NOT_DELETE_PARENT_CONFIG_PATH) +vcpkg_cmake_config_fixup(CONFIG_PATH "share/cmake/OpenCLICDLoader" PACKAGE_NAME "OpenCLICDLoader" DO_NOT_DELETE_PARENT_CONFIG_PATH) +vcpkg_cmake_config_fixup(CONFIG_PATH "share/cmake/OpenCLHeadersCpp" PACKAGE_NAME "OpenCLHeadersCpp" DO_NOT_DELETE_PARENT_CONFIG_PATH) +vcpkg_cmake_config_fixup(CONFIG_PATH "share/cmake/OpenCLUtils" PACKAGE_NAME "OpenCLUtils" DO_NOT_DELETE_PARENT_CONFIG_PATH) +vcpkg_cmake_config_fixup(CONFIG_PATH "share/cmake/OpenCLUtilsCpp" PACKAGE_NAME "OpenCLUtilsCpp" DO_NOT_DELETE_PARENT_CONFIG_PATH) +vcpkg_cmake_config_fixup(CONFIG_PATH "share/cmake/OpenCL" PACKAGE_NAME "opencl") +vcpkg_fixup_pkgconfig() +vcpkg_copy_pdbs() +vcpkg_copy_tools(TOOL_NAMES cllayerinfo AUTO_CLEAN) -vcpkg_cmake_build(TARGET OpenCL) - -if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - if (NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/${VCPKG_TARGET_STATIC_LIBRARY_PREFIX}OpenCL${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" DESTINATION ${CURRENT_PACKAGES_DIR}/lib) - endif() - if (NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/${VCPKG_TARGET_STATIC_LIBRARY_PREFIX}OpenCL${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) - endif() -else() - if(VCPKG_TARGET_IS_WINDOWS) - if (NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}OpenCL${VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX}" DESTINATION ${CURRENT_PACKAGES_DIR}/lib) - file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}OpenCL${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}" DESTINATION ${CURRENT_PACKAGES_DIR}/bin) - endif() - if (NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}OpenCL${VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX}" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) - file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}OpenCL${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) - endif() - elseif(VCPKG_TARGET_IS_LINUX) - if (NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}OpenCL${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}" DESTINATION ${CURRENT_PACKAGES_DIR}/lib) - file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}OpenCL${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}.1" DESTINATION ${CURRENT_PACKAGES_DIR}/lib) - file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}OpenCL${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}.1.2" DESTINATION ${CURRENT_PACKAGES_DIR}/lib) - endif() - if (NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}OpenCL${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) - file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}OpenCL${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}.1" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) - file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}OpenCL${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}.1.2" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) - endif() - elseif(VCPKG_TARGET_IS_OSX) - if (NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}OpenCL${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}" DESTINATION ${CURRENT_PACKAGES_DIR}/lib) - endif() - if (NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}OpenCL${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) - endif() - endif() -endif() +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" +) -vcpkg_copy_pdbs() +configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" "${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-cmake-wrapper.cmake" @ONLY) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -configure_file(${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake ${CURRENT_PACKAGES_DIR}/share/${PORT} @ONLY) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE" "${WHEREAMI}/LICENSE.MIT" + COMMENT [[ +The OpenCL SDK is licensed under the terms of the Apache-2.0 license. +The OpenCL Utility Library uses code from https://github.com/gpakosz/whereami +which is dual licensed under both the WTFPLv2 and MIT licenses. +]]) diff --git a/ports/opencl/usage b/ports/opencl/usage index adcd2232f07f43..38570b26a4cbcb 100644 --- a/ports/opencl/usage +++ b/ports/opencl/usage @@ -1,16 +1,30 @@ -The package opencl is compatible with built-in CMake targets via CMake v3.6 and prior syntax +opencl provides CMake targets: - find_package(OpenCL REQUIRED) - target_link_libraries(main PRIVATE ${OpenCL_LIBRARIES}) - target_include_directories(main PRIVATE ${OpenCL_INCLUDE_DIRS}) + find_package(OpenCL CONFIG REQUIRED) -and the CMake v3.7 and beyond imported target syntax + # Khronos OpenCL ICD Loader + target_link_libraries(main PRIVATE OpenCL::OpenCL) - find_package(OpenCL REQUIRED) - target_link_libraries(main PRIVATE OpenCL::OpenCL) + # Khronos OpenCL Headers and C++ bindings + target_link_libraries(main PRIVATE OpenCL::Headers) + target_link_libraries(main PRIVATE OpenCL::HeadersCpp) + + # OpenCL Utility Library and C++ bindings + target_link_libraries(main PRIVATE OpenCL::Utils) + target_link_libraries(main PRIVATE OpenCL::UtilsCpp) + +opencl provides pkg-config modules: + + # Khronos OpenCL ICD Loader + OpenCL + + # Khronos OpenCL Headers and C++ bindings + OpenCL-Headers + OpenCL-CLHPP This package is only an OpenCL SDK. To actually run OpenCL code you also need to install an implementation. - WINDOWS: implementations typically ship with the drivers of you CPU/GPU vendors. - LINUX: implementations may be installed from your distro's repo or manually. There are too many to count. - APPLE: consult your distribution vendor on the state of OpenCL support: https://support.apple.com/en-us/HT202823 + Windows: Implementations typically ship with the drivers of you CPU/GPU vendors. + Linux: Implementations may be installed from your distro's repo or manually. + Apple: Consult your distribution vendor on the state of OpenCL support: + https://support.apple.com/en-us/HT202823 diff --git a/ports/opencl/vcpkg-cmake-wrapper.cmake b/ports/opencl/vcpkg-cmake-wrapper.cmake index 4010eb40dc3b4e..04fca75b1dd11b 100644 --- a/ports/opencl/vcpkg-cmake-wrapper.cmake +++ b/ports/opencl/vcpkg-cmake-wrapper.cmake @@ -1,13 +1,14 @@ +string(FIND ";${ARGS};" ";CONFIG;" z_vcpkg_opencl_config) _find_package(${ARGS}) -if("@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static" AND (NOT CMAKE_SYSTEM_NAME MATCHES "Darwin")) +if("@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static" AND (NOT CMAKE_SYSTEM_NAME MATCHES "Darwin") AND z_vcpkg_opencl_config EQUAL "-1") find_package(Threads REQUIRED) set(OpenCL_Extra_Libs ${CMAKE_DL_LIBS} ${CMAKE_THREAD_LIBS_INIT}) if(CMAKE_SYSTEM_NAME MATCHES "Windows") list(APPEND OpenCL_Extra_Libs cfgmgr32) - if($ENV{WindowsSDKVersion} MATCHES "^10") - list(APPEND OpenCL_Extra_Libs OneCoreUAP) + if("$ENV{WindowsSDKVersion}" MATCHES "^10") + list(APPEND OpenCL_Extra_Libs OneCoreUAP) + endif() endif() - endif(CMAKE_SYSTEM_NAME MATCHES "Windows") if(TARGET OpenCL::OpenCL) set_property(TARGET OpenCL::OpenCL APPEND PROPERTY INTERFACE_LINK_LIBRARIES ${OpenCL_Extra_Libs}) @@ -17,3 +18,4 @@ if("@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static" AND (NOT CMAKE_SYSTEM_NAME MATCHE endif() unset(OpenCL_Extra_Libs) endif() +unset(z_vcpkg_opencl_config) diff --git a/ports/opencl/vcpkg.json b/ports/opencl/vcpkg.json index 454210a30caa67..117f07c7fad7ab 100644 --- a/ports/opencl/vcpkg.json +++ b/ports/opencl/vcpkg.json @@ -1,10 +1,9 @@ { "name": "opencl", - "version-string": "v2023.02.06", - "port-version": 2, - "description": "C/C++ headers and ICD loader (Installable Client Driver) for OpenCL", - "homepage": "https://github.com/KhronosGroup/OpenCL-Headers", - "license": "Apache-2.0", + "version": "2024.10.24", + "description": "OpenCL SDK", + "homepage": "https://github.com/KhronosGroup/OpenCL-SDK", + "license": "Apache-2.0 AND (MIT OR WTFPL)", "supports": "!uwp", "dependencies": [ { diff --git a/ports/opencolorio/fix-dependency.patch b/ports/opencolorio/fix-dependency.patch index b08c3f357c7478..a1ed321d81fc69 100644 --- a/ports/opencolorio/fix-dependency.patch +++ b/ports/opencolorio/fix-dependency.patch @@ -46,19 +46,28 @@ index 5455a08..3b9530e 100644 if(OCIO_BUILD_OPENFX) diff --git a/src/cmake/Config.cmake.in b/src/cmake/Config.cmake.in -index 6a4932a..2a08f5a 100644 +index 6a4932a..0fe7c89 100644 --- a/src/cmake/Config.cmake.in +++ b/src/cmake/Config.cmake.in -@@ -1,6 +1,12 @@ +@@ -1,6 +1,11 @@ @PACKAGE_INIT@ - + include(CMakeFindDependencyMacro) +find_dependency(expat CONFIG) +find_dependency(Imath CONFIG) +find_dependency(pystring CONFIG) +find_dependency(yaml-cpp CONFIG) +find_dependency(minizip-ng CONFIG) -+find_dependency(lcms2 CONFIG) - + if (NOT @BUILD_SHARED_LIBS@) # NOT @BUILD_SHARED_LIBS@ if (APPLE) +@@ -50,7 +55,8 @@ if (NOT @BUILD_SHARED_LIBS@) # NOT @BUILD_SHARED_LIBS@ + find_dependency(yaml-cpp @yaml-cpp_VERSION@) + endif() + +- if (NOT ZLIB::ZLIB) ++ find_dependency(ZLIB) ++ if (NOT TARGET ZLIB::ZLIB) + # ZLIB_VERSION is available starting CMake 3.26+. + # ZLIB_VERSION_STRING is still available for backward compatibility. + # See https://cmake.org/cmake/help/git-stage/module/FindZLIB.html diff --git a/ports/opencolorio/vcpkg.json b/ports/opencolorio/vcpkg.json index 1b98a97ffb367e..b69a3085bb4246 100644 --- a/ports/opencolorio/vcpkg.json +++ b/ports/opencolorio/vcpkg.json @@ -1,7 +1,7 @@ { "name": "opencolorio", "version-semver": "2.2.1", - "port-version": 1, + "port-version": 3, "description": "OpenColorIO (OCIO) is a complete color management solution geared towards motion picture production with an emphasis on visual effects and computer animation. OCIO provides a straightforward and consistent user experience across all supporting applications while allowing for sophisticated back-end configuration options suitable for high-end production usage. OCIO is compatible with the Academy Color Encoding Specification (ACES) and is LUT-format agnostic, supporting many popular formats.", "homepage": "https://opencolorio.org/", "license": "BSD-3-Clause", diff --git a/ports/opencsg/CMakeLists.txt b/ports/opencsg/CMakeLists.txt index 683529ddcc9ace..e8300a7fa384e2 100644 --- a/ports/opencsg/CMakeLists.txt +++ b/ports/opencsg/CMakeLists.txt @@ -21,9 +21,6 @@ set(SRCS src/renderSCS.cpp src/scissorMemo.cpp src/settings.cpp - src/stencilManager.cpp - src/pBufferTexture.cpp - RenderTexture/RenderTexture.cpp ) diff --git a/ports/opencsg/portfile.cmake b/ports/opencsg/portfile.cmake index da7f498be50b0c..266bf76c613c69 100644 --- a/ports/opencsg/portfile.cmake +++ b/ports/opencsg/portfile.cmake @@ -1,23 +1,25 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +string(REPLACE "." "-" VERSION_CSG "${VERSION}") + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO floriankirsch/OpenCSG - REF "opencsg-1-4-2-release" - SHA512 df117a1b7153a95332d236918d1547b0afe6f3ead46af2733c5feee6e25cec984b21affc41fd8320a45be9292bd3b32e21ed8bb3d08371ddd657f659b9bb932a + REF "opencsg-${VERSION_CSG}-release" + SHA512 531dda97fbbcfca9bd57eb2d62b34ed382788bafffff05aa4007cf6dd7093c478e6364020e58cda8adcc1bc45485c22e3a94dbc52916da6a8b418412ce7712c6 HEAD_REF master - PATCHES illegal_char.patch + PATCHES + illegal_char.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} - OPTIONS -DUNICODE=1 -D_UNICODE=1 - # OPTIONS_RELEASE -DOPTIMIZE=1 - OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS_DEBUG + -DDISABLE_INSTALL_HEADERS=ON ) vcpkg_cmake_install() -file(INSTALL ${SOURCE_PATH}/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/doc/license/gpl-2.0.txt" "${SOURCE_PATH}/doc/license/gpl-3.0.txt") diff --git a/ports/opencsg/vcpkg.json b/ports/opencsg/vcpkg.json index d6f1d6f997bd96..7fc4e3df4fa570 100644 --- a/ports/opencsg/vcpkg.json +++ b/ports/opencsg/vcpkg.json @@ -1,17 +1,14 @@ { "name": "opencsg", - "version": "1.4.2", - "port-version": 4, + "version": "1.6.0", "description": "OpenCSG is a library that does image-based CSG rendering using OpenGL. OpenCSG is written in C++ and supports most modern graphics hardware using Microsoft Windows or the Linux operating system.", + "homepage": "https://github.com/floriankirsch/OpenCSG", + "license": "GPL-2.0-or-later", "dependencies": [ "glew", { "name": "vcpkg-cmake", "host": true - }, - { - "name": "vcpkg-cmake-config", - "host": true } ] } diff --git a/ports/opencv/portfile.cmake b/ports/opencv/portfile.cmake index 8ff4daa3779108..3da112227b31d9 100644 --- a/ports/opencv/portfile.cmake +++ b/ports/opencv/portfile.cmake @@ -1,9 +1,4 @@ SET(VCPKG_POLICY_EMPTY_PACKAGE enabled) -file(INSTALL "${CURRENT_INSTALLED_DIR}/share/opencv4/OpenCVConfig.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -file(INSTALL "${CURRENT_INSTALLED_DIR}/share/opencv4/OpenCVConfig-version.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -file(INSTALL "${CURRENT_INSTALLED_DIR}/share/opencv4/OpenCVModules.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -file(INSTALL "${CURRENT_INSTALLED_DIR}/share/opencv4/OpenCVModules-release.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -if (NOT VCPKG_BUILD_TYPE) - file(INSTALL "${CURRENT_INSTALLED_DIR}/share/opencv4/OpenCVModules-debug.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -endif() +set(USE_OPENCV_VERSION "4") +configure_file("${CURRENT_PORT_DIR}/vcpkg-cmake-wrapper.cmake.in" "${CURRENT_PACKAGES_DIR}/share/opencv/vcpkg-cmake-wrapper.cmake" @ONLY) diff --git a/ports/opencv/vcpkg-cmake-wrapper.cmake.in b/ports/opencv/vcpkg-cmake-wrapper.cmake.in new file mode 100644 index 00000000000000..ba92b8b7414f9e --- /dev/null +++ b/ports/opencv/vcpkg-cmake-wrapper.cmake.in @@ -0,0 +1,3 @@ +set(OpenCV_DIR "${CMAKE_CURRENT_LIST_DIR}/../opencv@USE_OPENCV_VERSION@/" CACHE PATH "Path to OpenCVConfig.cmake" FORCE) +set(OpenCV_ROOT "${CMAKE_CURRENT_LIST_DIR}/../opencv@USE_OPENCV_VERSION@/") +_find_package(${ARGS}) diff --git a/ports/opencv/vcpkg.json b/ports/opencv/vcpkg.json index 068f1e3df33497..5e7a227c0805ac 100644 --- a/ports/opencv/vcpkg.json +++ b/ports/opencv/vcpkg.json @@ -1,7 +1,7 @@ { "name": "opencv", - "version": "4.8.0", - "description": "Computer vision library", + "version": "4.10.0", + "description": "computer vision library", "homepage": "https://github.com/opencv/opencv", "license": "Apache-2.0", "dependencies": [ @@ -26,6 +26,18 @@ } ] }, + "calib3d": { + "description": "calib3d module", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "calib3d" + ] + } + ] + }, "contrib": { "description": "opencv_contrib module", "dependencies": [ @@ -81,21 +93,8 @@ "name": "opencv4", "default-features": false, "features": [ - "dnn", - "jpeg", - "png", - "quirc", - "tiff", - "webp" + "default-features" ] - }, - { - "name": "opencv4", - "default-features": false, - "features": [ - "gtk" - ], - "platform": "linux" } ] }, @@ -123,6 +122,18 @@ } ] }, + "dshow": { + "description": "enable DirectShow", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "dshow" + ] + } + ] + }, "eigen": { "description": "Eigen support for opencv", "dependencies": [ @@ -148,7 +159,7 @@ ] }, "freetype": { - "description": "freetype support for opencv", + "description": "Freetype support for opencv", "dependencies": [ { "name": "opencv4", @@ -159,6 +170,30 @@ } ] }, + "fs": { + "description": "Enable filesystem support", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "fs" + ] + } + ] + }, + "gapi": { + "description": "Enable gapi module", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "gapi" + ] + } + ] + }, "gdcm": { "description": "GDCM support for opencv", "dependencies": [ @@ -207,6 +242,30 @@ } ] }, + "highgui": { + "description": "highgui module", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "highgui" + ] + } + ] + }, + "intrinsics": { + "description": "enable intrinsics", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "intrinsics" + ] + } + ] + }, "ipp": { "description": "Enable Intel Integrated Performance Primitives", "dependencies": [ @@ -220,7 +279,7 @@ ] }, "jasper": { - "description": "JPEG 2000 support for opencv", + "description": "JPEG 2000 support for opencv (deprecated)", "dependencies": [ { "name": "opencv4", @@ -255,8 +314,20 @@ } ] }, + "msmf": { + "description": "Microsoft Media Foundation support for opencv", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "msmf" + ] + } + ] + }, "nonfree": { - "description": "opencv nonfree module", + "description": "Allow nonfree and unredistributable libraries", "dependencies": [ { "name": "opencv4", @@ -267,6 +338,18 @@ } ] }, + "opencl": { + "description": "Enable OpenCL support", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "opencl" + ] + } + ] + }, "openexr": { "description": "OpenEXR support for opencv", "dependencies": [ @@ -291,6 +374,18 @@ } ] }, + "openjpeg": { + "description": "JPEG 2000 support for opencv", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "openjpeg" + ] + } + ] + }, "openmp": { "description": "Enable openmp support for opencv", "dependencies": [ @@ -303,6 +398,18 @@ } ] }, + "openvino": { + "description": "OpenVINO support for OpenCV DNN", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "openvino" + ] + } + ] + }, "ovis": { "description": "opencv_ovis module", "dependencies": [ @@ -351,6 +458,18 @@ } ] }, + "quality": { + "description": "Build opencv_quality module", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "quality" + ] + } + ] + }, "quirc": { "description": "Enable QR code module", "dependencies": [ @@ -363,6 +482,18 @@ } ] }, + "rgbd": { + "description": "Build opencv_rgbd module", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "rgbd" + ] + } + ] + }, "sfm": { "description": "opencv_sfm module", "dependencies": [ @@ -387,6 +518,18 @@ } ] }, + "thread": { + "description": "Enable thread support", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "thread" + ] + } + ] + }, "tiff": { "description": "TIFF support for opencv", "dependencies": [ @@ -411,6 +554,18 @@ } ] }, + "vulkan": { + "description": "Vulkan support for opencv dnn", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "vulkan" + ] + } + ] + }, "webp": { "description": "WebP support for opencv", "dependencies": [ @@ -423,6 +578,18 @@ } ] }, + "win32ui": { + "description": "Enable win32ui", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "win32ui" + ] + } + ] + }, "world": { "description": "Compile to a single package support for opencv", "dependencies": [ diff --git a/ports/opencv2/0001-install-options.patch b/ports/opencv2/0001-install-options.patch index 1fde6b44654a48..fa01b8b6c3b854 100644 --- a/ports/opencv2/0001-install-options.patch +++ b/ports/opencv2/0001-install-options.patch @@ -256,6 +256,15 @@ set(OPENCV_MODULE_${m}_DEPS ${OPENCV_MODULE_${m}_DEPS} CACHE INTERNAL "Flattened dependencies of ${m} module") set(OPENCV_MODULE_${m}_DEPS_EXT ${OPENCV_MODULE_${m}_DEPS_EXT} CACHE INTERNAL "Extra dependencies of ${m} module") +@@ -581,8 +581,6 @@ macro(ocv_create_module) + target_link_libraries(${the_module} LINK_PUBLIC ${OPENCV_MODULE_${the_module}_DEPS}) + target_link_libraries(${the_module} LINK_PUBLIC ${OPENCV_MODULE_${the_module}_DEPS}) + set(extra_deps ${OPENCV_MODULE_${the_module}_DEPS_EXT} ${OPENCV_LINKER_LIBS} ${IPP_LIBS} ${ARGN}) +- ocv_extract_simple_libs(extra_deps _simple_deps _other_deps) +- target_link_libraries(${the_module} LINK_PRIVATE ${_simple_deps}) # this list goes to "export" + target_link_libraries(${the_module} LINK_PRIVATE ${extra_deps}) + endif() + --- a/data/CMakeLists.txt +++ b/data/CMakeLists.txt @@ -5,8 +5,6 @@ if(ANDROID) diff --git a/ports/opencv2/0004-add-ffmpeg-missing-defines.patch b/ports/opencv2/0004-add-ffmpeg-missing-defines.patch deleted file mode 100644 index 638581d01c66f5..00000000000000 --- a/ports/opencv2/0004-add-ffmpeg-missing-defines.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- a/modules/highgui/src/cap_ffmpeg_impl.hpp -+++ b/modules/highgui/src/cap_ffmpeg_impl.hpp -@@ -42,6 +42,9 @@ - - #define HAVE_FFMPEG_SWSCALE - #define HAVE_GENTOO_FFMPEG -+#define AV_CODEC_FLAG_GLOBAL_HEADER (1 << 22) -+#define CODEC_FLAG_GLOBAL_HEADER AV_CODEC_FLAG_GLOBAL_HEADER -+#define AVFMT_RAWPICTURE 0x0020 - - #include "cap_ffmpeg_api.hpp" - #include diff --git a/ports/opencv2/0005-fix-cuda.patch b/ports/opencv2/0005-fix-cuda.patch deleted file mode 100644 index 7ce62966db217e..00000000000000 --- a/ports/opencv2/0005-fix-cuda.patch +++ /dev/null @@ -1,140 +0,0 @@ ---- a/cmake/OpenCVDetectCUDA.cmake -+++ b/cmake/OpenCVDetectCUDA.cmake -@@ -51,7 +51,6 @@ if(CUDA_FOUND) - - message(STATUS "CUDA detected: " ${CUDA_VERSION}) - -- set(_generations "Fermi" "Kepler") - if(NOT CMAKE_CROSSCOMPILING) - list(APPEND _generations "Auto") - endif() -@@ -69,48 +68,8 @@ if(CUDA_FOUND) - unset(CUDA_ARCH_PTX CACHE) - endif() - -- set(__cuda_arch_ptx "") -- if(CUDA_GENERATION STREQUAL "Fermi") -- set(__cuda_arch_bin "2.0 2.1(2.0)") -- elseif(CUDA_GENERATION STREQUAL "Kepler") -- if(${CUDA_VERSION} VERSION_LESS "5.0") -- set(__cuda_arch_bin "3.0") -- else() -- set(__cuda_arch_bin "3.0 3.5") -- endif() -- elseif(CUDA_GENERATION STREQUAL "Auto") -- execute_process( COMMAND "${CUDA_NVCC_EXECUTABLE}" "${OpenCV_SOURCE_DIR}/cmake/checks/OpenCVDetectCudaArch.cu" "--run" -- WORKING_DIRECTORY "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/" -- RESULT_VARIABLE _nvcc_res OUTPUT_VARIABLE _nvcc_out -- ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE) -- if(NOT _nvcc_res EQUAL 0) -- message(STATUS "Automatic detection of CUDA generation failed. Going to build for all known architectures.") -- else() -- set(__cuda_arch_bin "${_nvcc_out}") -- string(REPLACE "2.1" "2.1(2.0)" __cuda_arch_bin "${__cuda_arch_bin}") -- endif() -- endif() -- -- if(NOT DEFINED __cuda_arch_bin) -- if(ANDROID) -- if (ARM) -- set(__cuda_arch_bin "3.2") -- set(__cuda_arch_ptx "") -- elseif(AARCH64) -- set(__cuda_arch_bin "5.3") -- set(__cuda_arch_ptx "") -- endif() -- else() -- if(${CUDA_VERSION} VERSION_LESS "5.0") -- set(__cuda_arch_bin "1.1 1.2 1.3 2.0 2.1(2.0) 3.0") -- elseif(${CUDA_VERSION} VERSION_GREATER "6.5") -- set(__cuda_arch_bin "2.0 2.1(2.0) 3.0 3.5") -- else() -- set(__cuda_arch_bin "1.1 1.2 1.3 2.0 2.1(2.0) 3.0 3.5") -- endif() -- set(__cuda_arch_ptx "3.0") -- endif() -- endif() -+ set(__cuda_arch_ptx "5.0") -+ set(__cuda_arch_bin "5.0") - - set(CUDA_ARCH_BIN ${__cuda_arch_bin} CACHE STRING "Specify 'real' GPU architectures to build binaries for, BIN(PTX) format is supported") - set(CUDA_ARCH_PTX ${__cuda_arch_ptx} CACHE STRING "Specify 'virtual' PTX architectures to build PTX intermediate code for") -@@ -229,18 +188,40 @@ else() - endif() - - if(HAVE_CUDA) -+ set(CUDA_LIBS_PATH "") -+ foreach(p ${CUDA_LIBRARIES} ${CUDA_npp_LIBRARY}) -+ get_filename_component(_tmp ${p} PATH) -+ list(APPEND CUDA_LIBS_PATH ${_tmp}) -+ endforeach() -+ -+ if(HAVE_CUBLAS) -+ foreach(p ${CUDA_cublas_LIBRARY}) -+ get_filename_component(_tmp ${p} PATH) -+ list(APPEND CUDA_LIBS_PATH ${_tmp}) -+ endforeach() -+ endif() -+ -+ if(HAVE_CUFFT) -+ foreach(p ${CUDA_cufft_LIBRARY}) -+ get_filename_component(_tmp ${p} PATH) -+ list(APPEND CUDA_LIBS_PATH ${_tmp}) -+ endforeach() -+ endif() -+ -+ list(REMOVE_DUPLICATES CUDA_LIBS_PATH) -+ link_directories(${CUDA_LIBS_PATH}) -+ - set(CUDA_LIBRARIES_ABS ${CUDA_LIBRARIES}) -- ocv_create_imported_targets(CUDA_LIBRARIES ${CUDA_LIBRARIES}) -+ ocv_convert_to_lib_name(CUDA_LIBRARIES ${CUDA_LIBRARIES}) - set(CUDA_npp_LIBRARY_ABS ${CUDA_npp_LIBRARY}) -- ocv_create_imported_targets(CUDA_npp_LIBRARY ${CUDA_npp_LIBRARY}) -- -+ ocv_convert_to_lib_name(CUDA_npp_LIBRARY ${CUDA_npp_LIBRARY}) - if(HAVE_CUBLAS) - set(CUDA_cublas_LIBRARY_ABS ${CUDA_cublas_LIBRARY}) -- ocv_create_imported_targets(CUDA_cublas_LIBRARY ${CUDA_cublas_LIBRARY}) -+ ocv_convert_to_lib_name(CUDA_cublas_LIBRARY ${CUDA_cublas_LIBRARY}) - endif() - - if(HAVE_CUFFT) - set(CUDA_cufft_LIBRARY_ABS ${CUDA_cufft_LIBRARY}) -- ocv_create_imported_targets(CUDA_cufft_LIBRARY ${CUDA_cufft_LIBRARY}) -+ ocv_convert_to_lib_name(CUDA_cufft_LIBRARY ${CUDA_cufft_LIBRARY}) - endif() - endif() ---- a/cmake/templates/OpenCVConfig.cmake.in -+++ b/cmake/templates/OpenCVConfig.cmake.in -@@ -256,7 +256,7 @@ if(OpenCV_CUDA_VERSION) - - set(OpenCV_CUDA_LIBS_ABSPATH ${CUDA_LIBRARIES}) - -- if(${CUDA_VERSION} VERSION_LESS "5.5") -+ if(CUDA_VERSION VERSION_LESS "5.5") - list(APPEND OpenCV_CUDA_LIBS_ABSPATH ${CUDA_npp_LIBRARY}) - else() - find_cuda_helper_libs(nppc) -@@ -281,14 +281,16 @@ if(OpenCV_CUDA_VERSION) - list(APPEND OpenCV_CUDA_LIBS_ABSPATH ${CUDA_nvcuvenc_LIBRARIES}) - endif() - -+ set(OpenCV_CUDA_LIBS_RELPATH "") - foreach(l ${OpenCV_CUDA_LIBS_ABSPATH}) -- get_filename_component(_tmp "${l}" NAME_WE) -- string(REGEX REPLACE "^lib" "" _tmp "${_tmp}") -- if(NOT TARGET "opencv_dep_${_tmp}") # protect against repeated inclusions -- add_library("opencv_dep_${_tmp}" UNKNOWN IMPORTED) -- set_target_properties("opencv_dep_${_tmp}" PROPERTIES IMPORTED_LOCATION "${l}") -+ get_filename_component(_tmp ${l} PATH) -+ if(NOT ${_tmp} MATCHES "-Wl.*") -+ list(APPEND OpenCV_CUDA_LIBS_RELPATH ${_tmp}) - endif() - endforeach() -+ -+ list(REMOVE_DUPLICATES OpenCV_CUDA_LIBS_RELPATH) -+ link_directories(${OpenCV_CUDA_LIBS_RELPATH}) - endif() - - # ============================================================== diff --git a/ports/opencv2/0019-fix-openexr.patch b/ports/opencv2/0019-fix-openexr.patch index 5702bb54706211..533ce2d849f4c2 100644 --- a/ports/opencv2/0019-fix-openexr.patch +++ b/ports/opencv2/0019-fix-openexr.patch @@ -1,5 +1,3 @@ -diff --git a/cmake/OpenCVFindLibsGrfmt.cmake b/cmake/OpenCVFindLibsGrfmt.cmake -index 9b43066..c1cc11f 100644 --- a/cmake/OpenCVFindLibsGrfmt.cmake +++ b/cmake/OpenCVFindLibsGrfmt.cmake @@ -151,7 +151,12 @@ if(WITH_OPENEXR) @@ -16,8 +14,6 @@ index 9b43066..c1cc11f 100644 endif() if(NOT OPENEXR_FOUND) -diff --git a/modules/highgui/src/grfmt_exr.cpp b/modules/highgui/src/grfmt_exr.cpp -index 399e586..b8cd270 100644 --- a/modules/highgui/src/grfmt_exr.cpp +++ b/modules/highgui/src/grfmt_exr.cpp @@ -57,6 +57,7 @@ diff --git a/ports/opencv2/0020-missing-include.patch b/ports/opencv2/0020-missing-include.patch index 2967ebf35a268b..d5390a1340e9e1 100644 --- a/ports/opencv2/0020-missing-include.patch +++ b/ports/opencv2/0020-missing-include.patch @@ -1,5 +1,3 @@ -diff --git a/modules/ts/src/gpu_test.cpp b/modules/ts/src/gpu_test.cpp -index 21d9ad9..a626b0b 100644 --- a/modules/ts/src/gpu_test.cpp +++ b/modules/ts/src/gpu_test.cpp @@ -42,6 +42,7 @@ diff --git a/ports/opencv2/0021-pkgconfig-suffix.patch b/ports/opencv2/0021-pkgconfig-suffix.patch new file mode 100644 index 00000000000000..3f0e45ca5c763f --- /dev/null +++ b/ports/opencv2/0021-pkgconfig-suffix.patch @@ -0,0 +1,15 @@ +--- a/cmake/OpenCVGenPkgconfig.cmake ++++ b/cmake/OpenCVGenPkgconfig.cmake +@@ -54,6 +54,12 @@ foreach(CVLib ${OpenCV_LIB_COMPONENTS}) + set(libname "${CVLib}") + endif() + ++ string(TOUPPER "${CMAKE_BUILD_TYPE}" build_type) ++ get_target_property(libsuffix ${CVLib} ${build_type}_POSTFIX) ++ if(libsuffix) ++ string(APPEND libname "${libsuffix}") ++ endif() ++ + set(libpath "\${exec_prefix}/${OPENCV_LIB_INSTALL_PATH}") + list(APPEND OpenCV_LIB_COMPONENTS_ "-L${libpath}") + list(APPEND OpenCV_LIB_COMPONENTS_ "-l${libname}") diff --git a/ports/opencv2/portfile.cmake b/ports/opencv2/portfile.cmake index 28d22137686138..39335520c52a6b 100644 --- a/ports/opencv2/portfile.cmake +++ b/ports/opencv2/portfile.cmake @@ -1,36 +1,31 @@ -file(READ "${CMAKE_CURRENT_LIST_DIR}/vcpkg.json" _contents) -string(JSON OPENCV_VERSION GET "${_contents}" version) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO opencv/opencv - REF ${OPENCV_VERSION} + REF "${VERSION}" SHA512 de7d24ac7ed78ac14673011cbecc477cae688b74222a972e553c95a557b5cb8e5913f97db525421d6a72af30998ca300112fa0b285daed65f65832eb2cf7241a HEAD_REF master PATCHES 0001-install-options.patch 0002-fix-paths-containing-symbols.patch 0003-force-package-requirements.patch - 0004-add-ffmpeg-missing-defines.patch - 0005-fix-cuda.patch 0006-fix-jasper.patch 0007-fix-config.patch 0019-fix-openexr.patch 0020-missing-include.patch + 0021-pkgconfig-suffix.patch ) # Disallow accidental build of vendored copies file(REMOVE_RECURSE "${SOURCE_PATH}/3rdparty/openexr") - file(REMOVE "${SOURCE_PATH}/cmake/FindCUDA.cmake") file(REMOVE_RECURSE "${SOURCE_PATH}/cmake/FindCUDA") vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - "cuda" WITH_CUDA "eigen" WITH_EIGEN - "ffmpeg" WITH_FFMPEG + "gtk" WITH_GTK "jasper" WITH_JASPER "jpeg" WITH_JPEG + "msmf" WITH_MSMF "openexr" WITH_OPENEXR "opengl" WITH_OPENGL "png" WITH_PNG @@ -40,37 +35,6 @@ FEATURES "dc1394" WITH_1394 ) -set(WITH_MSMF ON) -if(NOT VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_MINGW) - set(WITH_MSMF OFF) -endif() - -set(WITH_GTK OFF) -if("gtk" IN_LIST FEATURES) - if(VCPKG_TARGET_IS_LINUX) - set(WITH_GTK ON) - else() - message(WARNING "The gtk module cannot be enabled outside Linux") - endif() -endif() - -set(WITH_PYTHON OFF) -if("python" IN_LIST FEATURES) - if(VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX) - message(STATUS "You need to manually ensure that python2 virtualenv module is installed") - message("This might require running") - message("wget https://bootstrap.pypa.io/pip/2.7/get-pip.py") - message("and then") - message("/usr/bin/python2 get-pip.py") - message("and finally") - message("pip install virtualenv") - message("On some system, these commands must be run as root, otherwise error about virtualenv module missing will persist!") - endif() - x_vcpkg_get_python_packages(PYTHON_VERSION "2" PACKAGES numpy OUT_PYTHON_VAR "PYTHON2") - set(ENV{PYTHON} "${PYTHON2}") - set(WITH_PYTHON ON) -endif() - string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" STATIC_CRT_LNK) vcpkg_cmake_configure( @@ -105,13 +69,13 @@ vcpkg_cmake_configure( -DWITH_1394=OFF -DWITH_IPP=OFF -DWITH_LAPACK=OFF - -DWITH_MSMF=${WITH_MSMF} -DWITH_OPENCLAMDBLAS=OFF -DWITH_OPENMP=OFF - -DWITH_PYTHON=${WITH_PYTHON} + -DWITH_PYTHON=OFF + -DWITH_FFMPEG=OFF -DWITH_ZLIB=ON - -WITH_GTK=${WITH_GTK} - -DWITH_CUBLAS=OFF # newer libcublas cannot be found by the old cuda cmake script in opencv2, requires a fix + -DWITH_CUBLAS=OFF + -DWITH_CUDA=OFF -DOPENCV_LAPACK_FIND_PACKAGE_ONLY=ON ) @@ -127,9 +91,6 @@ find_dependency(Threads)") if("tiff" IN_LIST FEATURES) string(APPEND DEPS_STRING "\nfind_dependency(TIFF)") endif() - if("cuda" IN_LIST FEATURES) - string(APPEND DEPS_STRING "\nfind_dependency(CUDA)") - endif() if("openexr" IN_LIST FEATURES) string(APPEND DEPS_STRING "\nfind_dependency(Imath CONFIG)\nfind_dependency(OpenEXR CONFIG)") endif() @@ -165,4 +126,6 @@ vcpkg_fixup_pkgconfig() configure_file("${CURRENT_PORT_DIR}/usage.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" @ONLY) -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(GLOB extra_license_files "${CURRENT_PACKAGES_DIR}/share/licenses/opencv2/*") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE" ${extra_license_files}) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/licenses") diff --git a/ports/opencv2/usage.in b/ports/opencv2/usage.in index 0e9e4b3a1dbac3..217ce72976182f 100644 --- a/ports/opencv2/usage.in +++ b/ports/opencv2/usage.in @@ -1,4 +1,4 @@ -The package @PORT@ is compatible with CMake if you set the OpenCV_DIR *before* the find_package call +@PORT@ is compatible with built-in CMake variables. In case of multiple OpenCV version installed, set OpenCV_ROOT *before* the find_package call: - set(OpenCV_DIR "${VCPKG_INSTALLED_DIR}/@TARGET_TRIPLET@/share/@PORT@") + set(OpenCV_ROOT "${VCPKG_INSTALLED_DIR}/@TARGET_TRIPLET@/share/@PORT@") find_package(OpenCV REQUIRED) diff --git a/ports/opencv2/vcpkg.json b/ports/opencv2/vcpkg.json index a8fc9c1d41d324..10faa91e5eb329 100644 --- a/ports/opencv2/vcpkg.json +++ b/ports/opencv2/vcpkg.json @@ -1,11 +1,11 @@ { "name": "opencv2", "version": "2.4.13.7", - "port-version": 19, + "port-version": 22, "description": "Open Source Computer Vision Library", "homepage": "https://github.com/opencv/opencv", "license": "BSD-3-Clause", - "supports": "!uwp & !(arm & windows)", + "supports": "!uwp & !(arm & windows) & !android", "dependencies": [ { "name": "vcpkg-cmake", @@ -15,22 +15,12 @@ "name": "vcpkg-cmake-config", "host": true }, - { - "name": "vcpkg-get-python-packages", - "host": true - }, "zlib" ], "default-features": [ "default-features" ], "features": { - "cuda": { - "description": "CUDA support for opencv", - "dependencies": [ - "cuda" - ] - }, "dc1394": { "description": "Dc1394 support for opencv", "dependencies": [ @@ -54,9 +44,9 @@ "name": "opencv2", "default-features": false, "features": [ - "gtk" + "msmf" ], - "platform": "linux" + "platform": "windows & !mingw" } ] }, @@ -66,25 +56,11 @@ "eigen3" ] }, - "ffmpeg": { - "description": "ffmpeg support for opencv", - "dependencies": [ - { - "name": "ffmpeg", - "default-features": false, - "features": [ - "avcodec", - "avformat", - "swresample", - "swscale" - ] - } - ] - }, "gtk": { "description": "GTK support for opencv", + "supports": "linux", "dependencies": [ - "gtk" + "gtk3" ] }, "jasper": { @@ -99,6 +75,10 @@ "libjpeg-turbo" ] }, + "msmf": { + "description": "Microsoft Media Foundation support for opencv", + "supports": "windows & !mingw" + }, "openexr": { "description": "OpenEXR support for opencv", "dependencies": [ @@ -118,9 +98,6 @@ "libpng" ] }, - "python": { - "description": "Python wrapper support for opencv" - }, "qt": { "description": "Qt GUI support for opencv", "dependencies": [ @@ -133,7 +110,10 @@ "tiff": { "description": "TIFF support for opencv", "dependencies": [ - "tiff" + { + "name": "tiff", + "default-features": false + } ] }, "world": { diff --git a/ports/opencv3/0005-fix-vtk9.patch b/ports/opencv3/0005-fix-vtk9.patch index 967cc9e94d32d8..5976bfead2e3fe 100644 --- a/ports/opencv3/0005-fix-vtk9.patch +++ b/ports/opencv3/0005-fix-vtk9.patch @@ -37,8 +37,6 @@ # VTK 5.x components if(NOT VTK_FOUND) -diff --git a/modules/viz/CMakeLists.txt b/modules/viz/CMakeLists.txt -index 256b464..92698c3 100644 --- a/modules/viz/CMakeLists.txt +++ b/modules/viz/CMakeLists.txt @@ -3,7 +3,6 @@ if(NOT HAVE_VTK) @@ -65,8 +63,6 @@ index 256b464..92698c3 100644 if(APPLE AND BUILD_opencv_viz) ocv_target_link_libraries(${the_module} PRIVATE "-framework Cocoa") -diff --git a/modules/viz/src/precomp.hpp b/modules/viz/src/precomp.hpp -index f92fdb6..4c4bf7c 100644 --- a/modules/viz/src/precomp.hpp +++ b/modules/viz/src/precomp.hpp @@ -133,7 +133,8 @@ @@ -91,8 +87,6 @@ index f92fdb6..4c4bf7c 100644 #include #include -diff --git a/modules/viz/src/types.cpp b/modules/viz/src/types.cpp -index 65571a1..e9a470c 100644 --- a/modules/viz/src/types.cpp +++ b/modules/viz/src/types.cpp @@ -97,10 +97,12 @@ cv::viz::Mesh cv::viz::Mesh::load(const String& file, int type) @@ -131,6 +125,16 @@ index 65571a1..e9a470c 100644 window_->AddRenderer(renderer_); // Create the interactor style +--- a/modules/viz/src/vtk/vtkCocoaInteractorFix.mm ++++ b/modules/viz/src/vtk/vtkCocoaInteractorFix.mm +@@ -49,6 +49,7 @@ + #include + #include + #include ++#include + + namespace cv { namespace viz { + vtkSmartPointer vtkCocoaRenderWindowInteractorNew(); --- a/modules/viz/src/vtk/vtkOBJWriter.cpp +++ b/modules/viz/src/vtk/vtkOBJWriter.cpp @@ -72,7 +72,7 @@ void cv::viz::vtkOBJWriter::WriteData() diff --git a/ports/opencv3/0007-fix-hdf5.patch b/ports/opencv3/0007-contrib-fix-hdf5.patch similarity index 100% rename from ports/opencv3/0007-fix-hdf5.patch rename to ports/opencv3/0007-contrib-fix-hdf5.patch diff --git a/ports/opencv3/0013-fix-ceres.patch b/ports/opencv3/0013-contrib-fix-ceres.patch similarity index 100% rename from ports/opencv3/0013-fix-ceres.patch rename to ports/opencv3/0013-contrib-fix-ceres.patch diff --git a/ports/opencv3/0014-fix-pkgconf-name.patch b/ports/opencv3/0014-fix-pkgconf-name.patch new file mode 100644 index 00000000000000..cf88d32f1f9360 --- /dev/null +++ b/ports/opencv3/0014-fix-pkgconf-name.patch @@ -0,0 +1,11 @@ +--- a/cmake/OpenCVGenPkgconfig.cmake ++++ b/cmake/OpenCVGenPkgconfig.cmake +@@ -45,7 +45,7 @@ if(NOT DEFINED CMAKE_HELPER_SCRIPT) + if(INSTALL_TO_MANGLED_PATHS) + set(OPENCV_PC_FILE_NAME "opencv-${OPENCV_VERSION}.pc") + else() +- set(OPENCV_PC_FILE_NAME opencv.pc) ++ set(OPENCV_PC_FILE_NAME opencv3.pc) + endif() + + # build the list of opencv libs and dependencies for all modules diff --git a/ports/opencv3/0015-fix-supportqnx.patch b/ports/opencv3/0015-fix-supportqnx.patch new file mode 100644 index 00000000000000..53f614e2fc7e19 --- /dev/null +++ b/ports/opencv3/0015-fix-supportqnx.patch @@ -0,0 +1,19 @@ +--- a/modules/core/src/system.cpp ++++ b/modules/core/src/system.cpp +@@ -129,11 +129,15 @@ void* allocSingletonNewBuffer(size_t size) { return malloc(size); } + #include // std::abort + #endif + +-#if defined __ANDROID__ || defined __unix__ || defined __FreeBSD__ || defined __OpenBSD__ || defined __HAIKU__ ++#if defined __ANDROID__ || defined __unix__ || defined __FreeBSD__ || defined __OpenBSD__ || defined __HAIKU__ || defined __QNX__ + # include + # include + #if defined __QNX__ + # include ++# include ++using Elf64_auxv_t = auxv64_t; ++# include ++constexpr decltype(auto) AT_HWCAP = NT_GNU_HWCAP; + #else + # include + #endif diff --git a/ports/opencv3/0016-fix-freetype-contrib.patch b/ports/opencv3/0016-contrib-fix-freetype.patch similarity index 100% rename from ports/opencv3/0016-fix-freetype-contrib.patch rename to ports/opencv3/0016-contrib-fix-freetype.patch diff --git a/ports/opencv3/0017-missing-include.patch b/ports/opencv3/0017-missing-include.patch new file mode 100644 index 00000000000000..52cdea03098468 --- /dev/null +++ b/ports/opencv3/0017-missing-include.patch @@ -0,0 +1,10 @@ +--- a/modules/dnn/src/op_halide.cpp ++++ b/modules/dnn/src/op_halide.cpp +@@ -11,6 +11,7 @@ + + #ifdef HAVE_HALIDE + #include ++#include + #endif // HAVE_HALIDE + + namespace cv diff --git a/ports/opencv3/0018-fix-depend-tesseract.patch b/ports/opencv3/0018-contrib-fix-tesseract.patch similarity index 100% rename from ports/opencv3/0018-fix-depend-tesseract.patch rename to ports/opencv3/0018-contrib-fix-tesseract.patch diff --git a/ports/opencv3/0019-fix-tbb.patch b/ports/opencv3/0019-fix-tbb.patch new file mode 100644 index 00000000000000..60956dcc2a914a --- /dev/null +++ b/ports/opencv3/0019-fix-tbb.patch @@ -0,0 +1,10 @@ +--- a/modules/core/src/parallel.cpp ++++ b/modules/core/src/parallel.cpp +@@ -101,7 +101,6 @@ + #endif + #include "tbb/tbb.h" + #include "tbb/task.h" +- #include "tbb/tbb_stddef.h" + #if TBB_INTERFACE_VERSION >= 8000 + #include "tbb/task_arena.h" + #endif diff --git a/ports/opencv3/0019-missing-include.patch b/ports/opencv3/0019-missing-include.patch deleted file mode 100644 index 2da142b0af3c79..00000000000000 --- a/ports/opencv3/0019-missing-include.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/modules/dnn/src/op_halide.cpp b/modules/dnn/src/op_halide.cpp -index c96971bc6aac..d107e01887d0 100644 ---- a/modules/dnn/src/op_halide.cpp -+++ b/modules/dnn/src/op_halide.cpp -@@ -11,6 +11,7 @@ - - #ifdef HAVE_HALIDE - #include -+#include - #endif // HAVE_HALIDE - - namespace cv diff --git a/ports/opencv3/fix-tbb-error.patch b/ports/opencv3/fix-tbb-error.patch deleted file mode 100644 index e5f4b58c368e21..00000000000000 --- a/ports/opencv3/fix-tbb-error.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/modules/core/src/parallel.cpp b/modules/core/src/parallel.cpp -index a4a7baf..b5981eb 100644 ---- a/modules/core/src/parallel.cpp -+++ b/modules/core/src/parallel.cpp -@@ -101,7 +101,6 @@ - #endif - #include "tbb/tbb.h" - #include "tbb/task.h" -- #include "tbb/tbb_stddef.h" - #if TBB_INTERFACE_VERSION >= 8000 - #include "tbb/task_arena.h" - #endif diff --git a/ports/opencv3/portfile.cmake b/ports/opencv3/portfile.cmake index 8712c07ce44a4d..b86f7ced44c71b 100644 --- a/ports/opencv3/portfile.cmake +++ b/ports/opencv3/portfile.cmake @@ -1,13 +1,9 @@ -file(READ "${CMAKE_CURRENT_LIST_DIR}/vcpkg.json" _contents) -string(JSON OPENCV_VERSION GET "${_contents}" version) - set(USE_QT_VERSION "5") -set(ENABLE_CXX11 ON) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO opencv/opencv - REF ${OPENCV_VERSION} + REF "${VERSION}" SHA512 96bbeb9525325f17ba635a0b75126aae0a7b0daef211af45057a97abd5d31a57fc50f0e889a6dab614df9b7621a145e06c0d240f0a218f33df1217d9a19c510d HEAD_REF master PATCHES @@ -22,11 +18,14 @@ vcpkg_from_github( 0010-fix-uwp-tiff-imgcodecs.patch 0011-remove-python2.patch 0012-fix-zlib.patch - 0019-missing-include.patch - fix-tbb-error.patch + 0014-fix-pkgconf-name.patch + 0015-fix-supportqnx.patch + 0017-missing-include.patch + 0019-fix-tbb.patch ) # Disallow accidental build of vendored copies file(REMOVE_RECURSE "${SOURCE_PATH}/3rdparty/openexr") +file(REMOVE "${SOURCE_PATH}/cmake/FindCUDNN.cmake") if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") set(TARGET_IS_AARCH64 1) @@ -38,97 +37,79 @@ else() set(TARGET_IS_X86 1) endif() -file(REMOVE "${SOURCE_PATH}/cmake/FindCUDNN.cmake") +if (USE_QT_VERSION STREQUAL "6") + set(QT_CORE5COMPAT "Core5Compat") + set(QT_OPENGLWIDGETS "OpenGLWidgets") +endif() string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" BUILD_WITH_STATIC_CRT) +# Cannot use vcpkg_check_features() for "qt" because it requires the QT version number passed, not just a boolean vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - "contrib" WITH_CONTRIB - "cuda" WITH_CUBLAS - "cuda" WITH_CUDA - "dnn" BUILD_opencv_dnn - "eigen" WITH_EIGEN - "ffmpeg" WITH_FFMPEG - "flann" BUILD_opencv_flann - "freetype" WITH_FREETYPE - "gdcm" WITH_GDCM - "gstreamer" WITH_GSTREAMER - "halide" WITH_HALIDE - "jasper" WITH_JASPER - "jpeg" WITH_JPEG - "lapack" WITH_LAPACK - "nonfree" OPENCV_ENABLE_NONFREE - "openexr" WITH_OPENEXR - "opengl" WITH_OPENGL - "png" WITH_PNG - "quirc" WITH_QUIRC - "sfm" BUILD_opencv_sfm - "tiff" WITH_TIFF - "vtk" WITH_VTK - "webp" WITH_WEBP - "world" BUILD_opencv_world - "dc1394" WITH_1394 + "bgsegm" BUILD_opencv_bgsegm + "contrib" WITH_CONTRIB + "dc1394" WITH_1394 + "dnn" BUILD_opencv_dnn + "eigen" WITH_EIGEN + "flann" BUILD_opencv_flann + "flann" PROTOBUF_UPDATE_FILES + "flann" UPDATE_PROTO_FILES + "flann" WITH_PROTOBUF + "freetype" WITH_FREETYPE + "gdcm" WITH_GDCM + "gstreamer" WITH_GSTREAMER + "gtk" WITH_GTK + "halide" WITH_HALIDE + "ipp" WITH_IPP + "ipp" BUILD_IPP_IW + "jasper" WITH_JASPER + "jpeg" WITH_JPEG + "lapack" WITH_LAPACK + "line-descriptor" BUILD_opencv_line_descriptor + "msmf" WITH_MSMF + "nonfree" OPENCV_ENABLE_NONFREE + "openexr" WITH_OPENEXR + "opengl" WITH_OPENGL + "openmp" WITH_OPENMP + "ovis" BUILD_opencv_ovis + "png" WITH_PNG + "python" BUILD_opencv_python3 + "python" WITH_PYTHON + "quality" BUILD_opencv_quality + "quirc" WITH_QUIRC + "saliency" BUILD_opencv_saliency + "sfm" BUILD_opencv_sfm + "tbb" WITH_TBB + "tiff" WITH_TIFF + "vtk" WITH_VTK + "webp" WITH_WEBP + "world" BUILD_opencv_world ) -# Cannot use vcpkg_check_features() for "dnn", "gtk", ipp", "openmp", "ovis", "python", "qt", "tbb" -set(BUILD_opencv_dnn OFF) -if("dnn" IN_LIST FEATURES) - if(NOT VCPKG_TARGET_IS_ANDROID) - set(BUILD_opencv_dnn ON) - else() - message(WARNING "The dnn module cannot be enabled on Android") - endif() -endif() - -set(WITH_GTK OFF) -if("gtk" IN_LIST FEATURES) - if(VCPKG_TARGET_IS_LINUX) - set(WITH_GTK ON) - else() - message(WARNING "The gtk module cannot be enabled outside Linux") - endif() -endif() - +# Cannot use vcpkg_check_features() for "python", "qt" set(WITH_QT OFF) if("qt" IN_LIST FEATURES) set(WITH_QT ${USE_QT_VERSION}) endif() -set(WITH_IPP OFF) -if("ipp" IN_LIST FEATURES) - set(WITH_IPP ON) -endif() - -set(WITH_OPENMP OFF) -if("openmp" IN_LIST FEATURES) - if(NOT VCPKG_TARGET_IS_OSX) - set(WITH_OPENMP ON) - else() - message(WARNING "The OpenMP feature is not supported on macOS") - endif() -endif() - -set(BUILD_opencv_ovis OFF) -if("ovis" IN_LIST FEATURES) - set(BUILD_opencv_ovis ON) -endif() - -set(WITH_TBB OFF) -if("tbb" IN_LIST FEATURES) - set(WITH_TBB ON) -endif() - -set(WITH_PYTHON OFF) -set(BUILD_opencv_python3 OFF) if("python" IN_LIST FEATURES) - if (VCPKG_LIBRARY_LINKAGE STREQUAL static AND VCPKG_TARGET_IS_WINDOWS) - message(WARNING "The python module is currently unsupported on Windows when building static OpenCV libraries") - else() - x_vcpkg_get_python_packages(PYTHON_VERSION "3" PACKAGES numpy OUT_PYTHON_VAR "PYTHON3") - set(ENV{PYTHON} "${PYTHON3}") - set(BUILD_opencv_python3 ON) - set(WITH_PYTHON ON) + x_vcpkg_get_python_packages(PYTHON_VERSION "3" PACKAGES numpy OUT_PYTHON_VAR "PYTHON3") + set(ENV{PYTHON} "${PYTHON3}") + file(GLOB _py3_include_path "${CURRENT_INSTALLED_DIR}/include/python3*") + string(REGEX MATCH "python3\\.([0-9]+)" _python_version_tmp ${_py3_include_path}) + set(PYTHON_VERSION_MINOR "${CMAKE_MATCH_1}") + set(python_ver "3.${PYTHON_VERSION_MINOR}") + list(APPEND PYTHON_EXTRA_DEFINES_RELEASE + "-D__INSTALL_PATH_PYTHON3=${CURRENT_PACKAGES_DIR}/${PYTHON3_SITE}/cv2" + "-DOPENCV_PYTHON_INSTALL_PATH=${CURRENT_PACKAGES_DIR}/${PYTHON3_SITE}" + ) + list(APPEND PYTHON_EXTRA_DEFINES_DEBUG + "-D__INSTALL_PATH_PYTHON3=${CURRENT_PACKAGES_DIR}/debug/${PYTHON3_SITE}/cv2" + "-DOPENCV_PYTHON_INSTALL_PATH=${CURRENT_PACKAGES_DIR}/debug/${PYTHON3_SITE}" + ) + if(EXISTS "${CURRENT_INSTALLED_DIR}/${PYTHON3_SITE}/cv2") + message(FATAL_ERROR "You cannot install opencv3[python] if opencv4[python] is already present.") endif() endif() @@ -140,29 +121,18 @@ if("dnn" IN_LIST FEATURES) ) endif() -# Build image quality module when building with 'contrib' feature and not UWP. -set(BUILD_opencv_quality OFF) if("contrib" IN_LIST FEATURES) - if (VCPKG_TARGET_IS_UWP) - set(BUILD_opencv_quality OFF) - message(WARNING "The image quality module (quality) does not build for UWP, the module has been disabled.") - # The hdf module is silently disabled by OpenCVs buildsystem if HDF5 is not detected. - message(WARNING "The hierarchical data format module (hdf) depends on HDF5 which doesn't support UWP, the module has been disabled.") - else() - set(BUILD_opencv_quality CMAKE_DEPENDS_IN_PROJECT_ONLY) - endif() - vcpkg_from_github( OUT_SOURCE_PATH CONTRIB_SOURCE_PATH REPO opencv/opencv_contrib - REF ${OPENCV_VERSION} - SHA512 a051497e61ae55f86c224044487fc2247a3bba1aa27031c4997c981ddf8402edf82f1dd0d307f562c638bc021cfd8bd42a723973f00ab25131495f84d33c5383 + REF "${VERSION}" + SHA512 a051497e61ae55f86c224044487fc2247a3bba1aa27031c4997c981ddf8402edf82f1dd0d307f562c638bc021cfd8bd42a723973f00ab25131495f84d33c5383 HEAD_REF master PATCHES - 0007-fix-hdf5.patch - 0013-fix-ceres.patch - 0016-fix-freetype-contrib.patch - 0018-fix-depend-tesseract.patch + 0007-contrib-fix-hdf5.patch + 0013-contrib-fix-ceres.patch + 0016-contrib-fix-freetype.patch + 0018-contrib-fix-tesseract.patch ) set(BUILD_WITH_CONTRIB_FLAG "-DOPENCV_EXTRA_MODULES_PATH=${CONTRIB_SOURCE_PATH}/modules") @@ -207,34 +177,26 @@ if("contrib" IN_LIST FEATURES) ) endif() -if(WITH_IPP) +if("ipp" IN_LIST FEATURES) if(VCPKG_TARGET_IS_OSX) - if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - vcpkg_download_distfile(OCV_DOWNLOAD - URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/a56b6ac6f030c312b2dce17430eef13aed9af274/ippicv/ippicv_2020_mac_intel64_20191018_general.tgz" - FILENAME "opencv-cache/ippicv/1c3d675c2a2395d094d523024896e01b-ippicv_2020_mac_intel64_20191018_general.tgz" - SHA512 454dfaaa245e3a3b2f1ffb1aa8e27e280b03685009d66e147482b14e5796fdf2d332cac0f9b0822caedd5760fda4ee0ce2961889597456bbc18202f10bf727cd + vcpkg_download_distfile(OCV_DOWNLOAD + URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/a56b6ac6f030c312b2dce17430eef13aed9af274/ippicv/ippicv_2020_mac_intel64_20191018_general.tgz" + FILENAME "opencv-cache/ippicv/1c3d675c2a2395d094d523024896e01b-ippicv_2020_mac_intel64_20191018_general.tgz" + SHA512 454dfaaa245e3a3b2f1ffb1aa8e27e280b03685009d66e147482b14e5796fdf2d332cac0f9b0822caedd5760fda4ee0ce2961889597456bbc18202f10bf727cd ) - else() - message(WARNING "This target architecture is not supported IPPICV") - set(WITH_IPP OFF) - endif() elseif(VCPKG_TARGET_IS_LINUX) if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") vcpkg_download_distfile(OCV_DOWNLOAD URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/a56b6ac6f030c312b2dce17430eef13aed9af274/ippicv/ippicv_2020_lnx_intel64_20191018_general.tgz" FILENAME "opencv-cache/ippicv/7421de0095c7a39162ae13a6098782f9-ippicv_2020_lnx_intel64_20191018_general.tgz" SHA512 de6d80695cd6deef359376476edc4ff85fdddcf94972b936e0017f8a48aaa5d18f55c4253ae37deb83bff2f71410f68408063c88b5f3bf4df3c416aa93ceca87 - ) + ) elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") vcpkg_download_distfile(OCV_DOWNLOAD URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/a56b6ac6f030c312b2dce17430eef13aed9af274/ippicv/ippicv_2020_lnx_ia32_20191018_general.tgz" FILENAME "opencv-cache/ippicv/ad189a940fb60eb71f291321322fe3e8-ippicv_2020_lnx_ia32_20191018_general.tgz" SHA512 5ca9dafc3a634e2a5f83f6a498611c990ef16d54358e9b44574b01694e9d64b118d46d6e2011506e40d37e5a9865f576f790e37ff96b7c8b503507633631a296 - ) - else() - message(WARNING "This target architecture is not supported IPPICV") - set(WITH_IPP OFF) + ) endif() elseif(VCPKG_TARGET_IS_WINDOWS) if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") @@ -249,45 +211,13 @@ if(WITH_IPP) FILENAME "opencv-cache/ippicv/cd39bdf0c2e1cac9a61101dad7a2413e-ippicv_2020_win_ia32_20191018_general.zip" SHA512 058d00775d9f16955c7a557d554b8c2976ab9dbad4ba3fdb9823c0f768809edbd835e4397f01dc090a9bc80d81de834375e7006614d2a898f42e8004de0e04bf ) - else() - message(WARNING "This target architecture is not supported IPPICV") - set(WITH_IPP OFF) endif() - else() - message(WARNING "This target architecture is not supported IPPICV") - set(WITH_IPP OFF) - endif() -endif() - -set(WITH_MSMF ON) -if(NOT VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_UWP OR VCPKG_TARGET_IS_MINGW) - set(WITH_MSMF OFF) -endif() - -if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - if (WITH_TBB) - message(WARNING "TBB is currently unsupported in this build configuration, turning it off") - set(WITH_TBB OFF) - endif() - - if (VCPKG_TARGET_IS_WINDOWS AND BUILD_opencv_ovis) - message(WARNING "OVIS is currently unsupported in this build configuration, turning it off") - set(BUILD_opencv_ovis OFF) - endif() -endif() - -if("ffmpeg" IN_LIST FEATURES) - if(VCPKG_TARGET_IS_UWP) - set(VCPKG_C_FLAGS "/sdl- ${VCPKG_C_FLAGS}") - set(VCPKG_CXX_FLAGS "/sdl- ${VCPKG_CXX_FLAGS}") endif() endif() if("halide" IN_LIST FEATURES) - set(ENABLE_CXX11 OFF) list(APPEND ADDITIONAL_BUILD_FLAGS # Halide 13 requires C++17 - "-DCMAKE_CXX_STANDARD=17" "-DCMAKE_CXX_STANDARD_REQUIRED=ON" "-DCMAKE_DISABLE_FIND_PACKAGE_Halide=ON" "-DHALIDE_ROOT_DIR=${CURRENT_INSTALLED_DIR}" @@ -298,24 +228,19 @@ if("qt" IN_LIST FEATURES) list(APPEND ADDITIONAL_BUILD_FLAGS "-DCMAKE_AUTOMOC=ON") endif() -set(BUILD_opencv_line_descriptor ON) -set(BUILD_opencv_saliency ON) -set(BUILD_opencv_bgsegm ON) -if(VCPKG_TARGET_ARCHITECTURE MATCHES "arm") - set(BUILD_opencv_line_descriptor OFF) - set(BUILD_opencv_saliency OFF) - set(BUILD_opencv_bgsegm OFF) -endif() - vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS + ###### Verify that required components and only those are enabled + -DENABLE_CONFIG_VERIFICATION=ON ###### opencv cpu recognition is broken, always using host and not target: here we bypass that -DOPENCV_SKIP_SYSTEM_PROCESSOR_DETECTION=TRUE -DAARCH64=${TARGET_IS_AARCH64} -DX86_64=${TARGET_IS_X86_64} -DX86=${TARGET_IS_X86} -DARM=${TARGET_IS_ARM} + ###### use c++17 to enable features that fail with c++11 (halide, protobuf, etc.) + -DCMAKE_CXX_STANDARD=17 ###### ocv_options -DINSTALL_TO_MANGLED_PATHS=OFF -DOpenCV_INSTALL_BINARIES_PREFIX= @@ -334,37 +259,34 @@ vcpkg_cmake_configure( # Do not build docs/examples -DBUILD_DOCS=OFF -DBUILD_EXAMPLES=OFF + -DBUILD_PERF_TESTS=OFF + -DBUILD_TESTS=OFF ###### Disable build 3rd party libs + -DBUILD_IPP_IW=OFF + -DBUILD_ITT=OFF -DBUILD_JASPER=OFF -DBUILD_JPEG=OFF -DBUILD_OPENEXR=OFF + -DBUILD_OPENJPEG=OFF -DBUILD_PNG=OFF + -DBUILD_PROTOBUF=OFF + -DBUILD_TBB=OFF -DBUILD_TIFF=OFF -DBUILD_WEBP=OFF -DBUILD_ZLIB=OFF - -DBUILD_TBB=OFF - -DBUILD_ITT=OFF - ###### Disable build 3rd party components - -DBUILD_PROTOBUF=OFF + -DOPENCV_LAPACK_FIND_PACKAGE_ONLY=ON ###### OpenCV Build components -DBUILD_opencv_apps=OFF -DBUILD_opencv_java=OFF -DBUILD_opencv_js=OFF - -DBUILD_opencv_bgsegm=${BUILD_opencv_bgsegm} - -DBUILD_opencv_line_descriptor=${BUILD_opencv_line_descriptor} - -DBUILD_opencv_saliency=${BUILD_opencv_saliency} + -DBUILD_JAVA=OFF -DBUILD_ANDROID_PROJECT=OFF -DBUILD_ANDROID_EXAMPLES=OFF -DBUILD_PACKAGE=OFF - -DBUILD_PERF_TESTS=OFF - -DBUILD_TESTS=OFF -DBUILD_WITH_DEBUG_INFO=ON -DBUILD_WITH_STATIC_CRT=${BUILD_WITH_STATIC_CRT} - -DBUILD_JAVA=OFF -DCURRENT_INSTALLED_DIR=${CURRENT_INSTALLED_DIR} ###### PROTOBUF - -DPROTOBUF_UPDATE_FILES=${BUILD_opencv_flann} - -DUPDATE_PROTO_FILES=${BUILD_opencv_flann} ###### PYLINT/FLAKE8 -DENABLE_PYLINT=OFF -DENABLE_FLAKE8=OFF @@ -372,36 +294,39 @@ vcpkg_cmake_configure( -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON -DCMAKE_DISABLE_FIND_PACKAGE_JNI=ON # ENABLE - -DENABLE_CXX11=${ENABLE_CXX11} + -DENABLE_CXX11=ON ###### OPENCV vars "-DOPENCV_DOWNLOAD_PATH=${DOWNLOADS}/opencv-cache" ${BUILD_WITH_CONTRIB_FLAG} - -DOPENCV_OTHER_INSTALL_PATH=share/opencv + -DOPENCV_OTHER_INSTALL_PATH=share/opencv3 ###### customized properties ## Options from vcpkg_check_features() ${FEATURE_OPTIONS} - -DWITH_GTK=${WITH_GTK} -DWITH_QT=${WITH_QT} - -DWITH_IPP=${WITH_IPP} -DWITH_MATLAB=OFF - -DWITH_MSMF=${WITH_MSMF} - -DWITH_OPENMP=${WITH_OPENMP} - -DWITH_PROTOBUF=${BUILD_opencv_flann} - -DWITH_PYTHON=${WITH_PYTHON} - -DWITH_OPENCLAMDBLAS=OFF - -DWITH_TBB=${WITH_TBB} -DWITH_OPENJPEG=OFF -DWITH_CPUFEATURES=OFF - ###### BUILD_options (mainly modules which require additional libraries) - -DBUILD_opencv_ovis=${BUILD_opencv_ovis} - -DBUILD_opencv_dnn=${BUILD_opencv_dnn} - -DBUILD_opencv_python3=${BUILD_opencv_python3} - ###### The following modules are disabled for UWP - -DBUILD_opencv_quality=${BUILD_opencv_quality} + -DWITH_SPNG=OFF + -DWITH_OPENCLAMDFFT=OFF + -DWITH_OPENCLAMDBLAS=OFF + -DWITH_OPENCL_D3D11_NV=OFF + -DWITH_ITT=OFF + -DWITH_NVCUVID=OFF + -DWITH_NVCUVENC=OFF + -DWITH_AVIF=OFF + -DWITH_VA=OFF + -DWITH_VA_INTEL=OFF + -DWITH_FFMPEG=OFF + -DWITH_CUDA=OFF + -DWITH_CUBLAS=OFF ###### Additional build flags ${ADDITIONAL_BUILD_FLAGS} - -DBUILD_IPP_IW=${WITH_IPP} - -DOPENCV_LAPACK_FIND_PACKAGE_ONLY=ON + OPTIONS_RELEASE + ###### Python install path + ${PYTHON_EXTRA_DEFINES_RELEASE} + OPTIONS_DEBUG + ###### Python install path + ${PYTHON_EXTRA_DEFINES_DEBUG} ) vcpkg_cmake_install() @@ -413,13 +338,13 @@ if (NOT VCPKG_BUILD_TYPE) vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/opencv3/OpenCVModules-debug.cmake" "\${_IMPORT_PREFIX}/sdk" "\${_IMPORT_PREFIX}/debug/sdk" + IGNORE_UNCHANGED ) endif() -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(READ "${CURRENT_PACKAGES_DIR}/share/opencv3/OpenCVModules.cmake" OPENCV_MODULES) - set(DEPS_STRING "include(CMakeFindDependencyMacro) -if(${BUILD_opencv_flann}) +file(READ "${CURRENT_PACKAGES_DIR}/share/opencv3/OpenCVModules.cmake" OPENCV_MODULES) +set(DEPS_STRING "include(CMakeFindDependencyMacro) +if(${BUILD_opencv_flann} AND NOT TARGET libprotobuf) #Check if the CMake target libprotobuf is already defined find_dependency(Protobuf CONFIG REQUIRED) if(TARGET protobuf::libprotobuf) add_library (libprotobuf INTERFACE IMPORTED) @@ -436,105 +361,210 @@ if(${BUILD_opencv_flann}) endif() endif() find_dependency(Threads)") - if("tiff" IN_LIST FEATURES) - string(APPEND DEPS_STRING "\nfind_dependency(TIFF)") - endif() - if("cuda" IN_LIST FEATURES) - string(APPEND DEPS_STRING "\nfind_dependency(CUDA)") - endif() - if(BUILD_opencv_quality) - string(APPEND DEPS_STRING " +if("tiff" IN_LIST FEATURES) + string(APPEND DEPS_STRING "\nfind_dependency(TIFF)") +endif() +if("cuda" IN_LIST FEATURES) + string(APPEND DEPS_STRING "\nfind_dependency(CUDA)") +endif() +if("ffmpeg" IN_LIST FEATURES) + string(APPEND DEPS_STRING "\nfind_dependency(FFMPEG)") +endif() +if("contrib" IN_LIST FEATURES AND NOT VCPKG_TARGET_IS_UWP AND NOT VCPKG_TARGET_IS_IOS AND NOT (VCPKG_TARGET_IS_WINDOWS AND VCPKG_TARGET_ARCHITECTURE MATCHES "^arm")) + string(APPEND DEPS_STRING " # C language is required for try_compile tests in FindHDF5 enable_language(C) find_dependency(HDF5) find_dependency(Tesseract)") - endif() - if(WITH_TBB) - string(APPEND DEPS_STRING "\nfind_dependency(TBB)") - endif() - if("vtk" IN_LIST FEATURES) - string(APPEND DEPS_STRING "\nfind_dependency(VTK)") - endif() - if("sfm" IN_LIST FEATURES) - string(APPEND DEPS_STRING "\nfind_dependency(gflags CONFIG)\nfind_dependency(Ceres CONFIG)") - endif() - if("eigen" IN_LIST FEATURES) - string(APPEND DEPS_STRING "\nfind_dependency(Eigen3 CONFIG)") - endif() - if("lapack" IN_LIST FEATURES) - string(APPEND DEPS_STRING "\nfind_dependency(LAPACK)") - endif() - if("openexr" IN_LIST FEATURES) - string(APPEND DEPS_STRING "\nfind_dependency(OpenEXR CONFIG)") - endif() - if(WITH_OPENMP) - string(APPEND DEPS_STRING "\nfind_dependency(OpenMP)") - endif() - if(BUILD_opencv_ovis) - string(APPEND DEPS_STRING "\nfind_dependency(Ogre)\nfind_dependency(freetype)") - endif() - if("quirc" IN_LIST FEATURES) - string(APPEND DEPS_STRING "\nfind_dependency(quirc)") - endif() - if("qt" IN_LIST FEATURES) - string(APPEND DEPS_STRING " +endif() +if("freetype" IN_LIST FEATURES) + string(APPEND DEPS_STRING "\nfind_dependency(harfbuzz)") +endif() +if("tbb" IN_LIST FEATURES) + string(APPEND DEPS_STRING "\nfind_dependency(TBB)") +endif() +if("vtk" IN_LIST FEATURES) + string(APPEND DEPS_STRING "\nfind_dependency(VTK)") +endif() +if("sfm" IN_LIST FEATURES) + string(APPEND DEPS_STRING "\nfind_dependency(gflags CONFIG)\nfind_dependency(Ceres CONFIG)") +endif() +if("eigen" IN_LIST FEATURES) + string(APPEND DEPS_STRING "\nfind_dependency(Eigen3 CONFIG)") +endif() +if("lapack" IN_LIST FEATURES) + string(APPEND DEPS_STRING "\nfind_dependency(LAPACK)") +endif() +if("openvino" IN_LIST FEATURES) + string(APPEND DEPS_STRING "\nfind_dependency(OpenVINO CONFIG)") +endif() +if("openexr" IN_LIST FEATURES) + string(APPEND DEPS_STRING "\nfind_dependency(OpenEXR CONFIG)") +endif() +if("openjpeg" IN_LIST FEATURES) + string(APPEND DEPS_STRING "\nfind_dependency(OpenJPEG)") +endif() +if("omp" IN_LIST FEATURES) + string(APPEND DEPS_STRING "\nfind_dependency(OpenMP)") +endif() +if("ovis" IN_LIST FEATURES) + string(APPEND DEPS_STRING "\nfind_dependency(OGRE)") +endif() +if("quirc" IN_LIST FEATURES) + string(APPEND DEPS_STRING "\nfind_dependency(quirc)") +endif() +if("qt" IN_LIST FEATURES) + string(APPEND DEPS_STRING " set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) -set(CMAKE_AUTOUIC ON) -find_dependency(Qt${USE_QT_VERSION} COMPONENTS Core Gui Widgets Test Concurrent)") - if("opengl" IN_LIST FEATURES) - string(APPEND DEPS_STRING " -find_dependency(Qt${USE_QT_VERSION} COMPONENTS OpenGL)") - endif() - endif() - if("ade" IN_LIST FEATURES) - string(APPEND DEPS_STRING "\nfind_dependency(ade)") - endif() - if("gdcm" IN_LIST FEATURES) - string(APPEND DEPS_STRING "\nfind_dependency(GDCM)") +set(CMAKE_AUTOUIC ON)") + if("opengl" IN_LIST FEATURES) + string(APPEND DEPS_STRING " +find_dependency(Qt${USE_QT_VERSION} COMPONENTS Core Gui Widgets Test Concurrent ${QT_CORE5COMPAT} OpenGL ${QT_OPENGLWIDGETS})") + else() + string(APPEND DEPS_STRING " +find_dependency(Qt${USE_QT_VERSION} COMPONENTS Core Gui Widgets Test Concurrent ${QT_CORE5COMPAT})") endif() +endif() +if("ade" IN_LIST FEATURES) + string(APPEND DEPS_STRING "\nfind_dependency(ade)") +endif() +if("gdcm" IN_LIST FEATURES) + string(APPEND DEPS_STRING "\nfind_dependency(GDCM)") +endif() - string(REPLACE "set(CMAKE_IMPORT_FILE_VERSION 1)" - "set(CMAKE_IMPORT_FILE_VERSION 1)\n${DEPS_STRING}" OPENCV_MODULES "${OPENCV_MODULES}") - - if(WITH_OPENMP) - string(REPLACE "set_target_properties(opencv_core PROPERTIES - INTERFACE_LINK_LIBRARIES \"" - "set_target_properties(opencv_core PROPERTIES - INTERFACE_LINK_LIBRARIES \"\$;" OPENCV_MODULES "${OPENCV_MODULES}") - endif() +string(REPLACE "set(CMAKE_IMPORT_FILE_VERSION 1)" + "set(CMAKE_IMPORT_FILE_VERSION 1)\n${DEPS_STRING}" OPENCV_MODULES "${OPENCV_MODULES}") - if(BUILD_opencv_ovis) - string(REPLACE "OgreGLSupportStatic" - "OgreGLSupport" OPENCV_MODULES "${OPENCV_MODULES}") - endif() +if("openmp" IN_LIST FEATURES) + string(REPLACE "set_target_properties(opencv_core PROPERTIES +INTERFACE_LINK_LIBRARIES \"" + "set_target_properties(opencv_core PROPERTIES +INTERFACE_LINK_LIBRARIES \"\$;" OPENCV_MODULES "${OPENCV_MODULES}") +endif() - file(WRITE "${CURRENT_PACKAGES_DIR}/share/opencv3/OpenCVModules.cmake" "${OPENCV_MODULES}") +if("ovis" IN_LIST FEATURES) + string(REPLACE "OgreGLSupportStatic" + "OgreGLSupport" OPENCV_MODULES "${OPENCV_MODULES}") +endif() +file(WRITE "${CURRENT_PACKAGES_DIR}/share/opencv3/OpenCVModules.cmake" "${OPENCV_MODULES}") +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") endif() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(REMOVE "${CURRENT_PACKAGES_DIR}/LICENSE") -file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/LICENSE") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/opencv/licenses") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/opencv") - if(VCPKG_TARGET_IS_ANDROID) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/README.android") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/README.android") endif() -vcpkg_fixup_pkgconfig() -if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/opencv.pc") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/opencv.pc" "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/" "\${prefix}") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/${PYTHON3_SITE}/cv2/typing") +file(GLOB PYTHON3_SITE_FILES "${CURRENT_PACKAGES_DIR}/${PYTHON3_SITE}/cv2/*.py") +foreach(PYTHON3_SITE_FILE ${PYTHON3_SITE_FILES}) + vcpkg_replace_string("${PYTHON3_SITE_FILE}" + "os.path.join('${CURRENT_PACKAGES_DIR}'" + "os.path.join('.'" + IGNORE_UNCHANGED + ) + vcpkg_replace_string("${PYTHON3_SITE_FILE}" + "os.path.join('${CURRENT_PACKAGES_DIR}/${PYTHON3_SITE}/cv2'" + "os.path.join('.'" + IGNORE_UNCHANGED + ) +endforeach() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/${PYTHON3_SITE}/cv2/typing") +file(GLOB PYTHON3_SITE_FILES_DEBUG "${CURRENT_PACKAGES_DIR}/debug/${PYTHON3_SITE}/cv2/*.py") +foreach(PYTHON3_SITE_FILE_DEBUG ${PYTHON3_SITE_FILES_DEBUG}) + vcpkg_replace_string("${PYTHON3_SITE_FILE_DEBUG}" + "os.path.join('${CURRENT_PACKAGES_DIR}/debug'" + "os.path.join('.'" + IGNORE_UNCHANGED + ) + vcpkg_replace_string("${PYTHON3_SITE_FILE_DEBUG}" + "os.path.join('${CURRENT_PACKAGES_DIR}/debug/${PYTHON3_SITE}/cv2'" + "os.path.join('.'" + IGNORE_UNCHANGED + ) +endforeach() + +if (EXISTS "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/opencv3.pc") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/opencv3.pc" + "-lQt6::Core5Compat" + "-lQt6Core5Compat" + IGNORE_UNCHANGED + ) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/opencv3.pc" + "-lhdf5::hdf5-static" + "-lhdf5" + IGNORE_UNCHANGED + ) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/opencv3.pc" + "-lglog::glog" + "-lglog" + IGNORE_UNCHANGED + ) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/opencv3.pc" + "-lgflags::gflags_static" + "-lgflags" + IGNORE_UNCHANGED + ) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/opencv3.pc" + "-lTesseract::libtesseract" + "-ltesseract" + IGNORE_UNCHANGED + ) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/opencv3.pc" + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/" + "\${prefix}" + IGNORE_UNCHANGED + ) endif() -if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/opencv.pc") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/opencv.pc" "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/" "\${prefix}") + +if (EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/opencv3.pc") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/opencv3.pc" + "-lQt6::Core5Compat" + "-lQt6Core5Compat" + IGNORE_UNCHANGED + ) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/opencv3.pc" + "-lhdf5::hdf5-static" + "-lhdf5" + IGNORE_UNCHANGED + ) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/opencv3.pc" + "-lglog::glog" + "-lglog" + IGNORE_UNCHANGED + ) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/opencv3.pc" + "-lgflags::gflags_static" + "-lgflags" + IGNORE_UNCHANGED + ) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/opencv3.pc" + "-lTesseract::libtesseract" + "-ltesseract" + IGNORE_UNCHANGED + ) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/opencv3.pc" + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/" + "\${prefix}" + IGNORE_UNCHANGED + ) endif() +vcpkg_fixup_pkgconfig() + configure_file("${CURRENT_PORT_DIR}/usage.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" @ONLY) -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(REMOVE "${CURRENT_PACKAGES_DIR}/LICENSE") +file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/LICENSE") +file(GLOB_RECURSE extra1_license_files "${CURRENT_PACKAGES_DIR}/share/licenses/*") +file(GLOB_RECURSE extra2_license_files "${CURRENT_PACKAGES_DIR}/share/opencv3/licenses/*") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE" ${extra1_license_files} ${extra2_license_files}) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/opencv3/licenses") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/licenses") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/opencv") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/opencv3/usage.in b/ports/opencv3/usage.in index 0e9e4b3a1dbac3..217ce72976182f 100644 --- a/ports/opencv3/usage.in +++ b/ports/opencv3/usage.in @@ -1,4 +1,4 @@ -The package @PORT@ is compatible with CMake if you set the OpenCV_DIR *before* the find_package call +@PORT@ is compatible with built-in CMake variables. In case of multiple OpenCV version installed, set OpenCV_ROOT *before* the find_package call: - set(OpenCV_DIR "${VCPKG_INSTALLED_DIR}/@TARGET_TRIPLET@/share/@PORT@") + set(OpenCV_ROOT "${VCPKG_INSTALLED_DIR}/@TARGET_TRIPLET@/share/@PORT@") find_package(OpenCV REQUIRED) diff --git a/ports/opencv3/vcpkg.json b/ports/opencv3/vcpkg.json index 4a1291f68dcb90..f44abc58ec8500 100644 --- a/ports/opencv3/vcpkg.json +++ b/ports/opencv3/vcpkg.json @@ -1,7 +1,7 @@ { "name": "opencv3", "version": "3.4.18", - "port-version": 11, + "port-version": 17, "description": "Open Source Computer Vision Library", "homepage": "https://github.com/opencv/opencv", "license": "BSD-3-Clause", @@ -24,6 +24,10 @@ "default-features" ], "features": { + "bgsegm": { + "description": "opencv_bgsegm module", + "supports": "!arm" + }, "contrib": { "description": "opencv_contrib module", "dependencies": [ @@ -35,7 +39,8 @@ "name": "opencv3", "features": [ "dnn" - ] + ], + "platform": "!android" }, { "name": "tesseract", @@ -43,20 +48,6 @@ } ] }, - "cuda": { - "description": "CUDA support for opencv", - "dependencies": [ - "cuda", - "cudnn", - { - "name": "opencv3", - "default-features": false, - "features": [ - "contrib" - ] - } - ] - }, "dc1394": { "description": "Dc1394 support for opencv", "dependencies": [ @@ -70,26 +61,18 @@ "name": "opencv3", "default-features": false, "features": [ - "dnn", "jpeg", "png", "quirc", "tiff", "webp" ] - }, - { - "name": "opencv3", - "default-features": false, - "features": [ - "gtk" - ], - "platform": "linux" } ] }, "dnn": { "description": "Enable dnn module", + "supports": "!android", "dependencies": [ { "name": "opencv3", @@ -105,21 +88,6 @@ "eigen3" ] }, - "ffmpeg": { - "description": "ffmpeg support for opencv", - "dependencies": [ - { - "name": "ffmpeg", - "default-features": false, - "features": [ - "avcodec", - "avformat", - "swresample", - "swscale" - ] - } - ] - }, "flann": { "description": "opencv_flann module", "dependencies": [ @@ -133,6 +101,10 @@ "harfbuzz" ] }, + "gapi": { + "description": "Enable gapi module", + "supports": "!uwp" + }, "gdcm": { "description": "GDCM support for opencv", "dependencies": [ @@ -147,8 +119,9 @@ }, "gtk": { "description": "GTK support for opencv", + "supports": "linux", "dependencies": [ - "gtk" + "gtk3" ] }, "halide": { @@ -168,7 +141,8 @@ ] }, "ipp": { - "description": "Enable Intel Integrated Performance Primitives" + "description": "Enable Intel Integrated Performance Primitives", + "supports": "(osx & x64) | (windows & (x64 | x86)) | (linux & (x64 | x86))" }, "jasper": { "description": "JPEG 2000 support for opencv", @@ -189,6 +163,14 @@ "lapack" ] }, + "line-descriptor": { + "description": "opencv_line_descriptor module", + "supports": "!arm" + }, + "msmf": { + "description": "Microsoft Media Foundation support for opencv", + "supports": "windows & !uwp & !mingw" + }, "nonfree": { "description": "allow nonfree and unredistributable libraries" }, @@ -205,10 +187,12 @@ ] }, "openmp": { - "description": "Enable openmp support for opencv" + "description": "Enable openmp support for opencv", + "supports": "!osx" }, "ovis": { "description": "opencv_ovis module", + "supports": "!(windows & static) & !android", "dependencies": [ "ogre", { @@ -236,7 +220,13 @@ "flann" ] }, - "python3" + { + "name": "python3", + "default-features": false, + "features": [ + "extensions" + ] + } ] }, "qt": { @@ -248,12 +238,29 @@ } ] }, + "quality": { + "description": "Build opencv_quality module", + "supports": "!uwp", + "dependencies": [ + { + "name": "opencv3", + "default-features": false, + "features": [ + "contrib" + ] + } + ] + }, "quirc": { "description": "Enable QR code module", "dependencies": [ "quirc" ] }, + "salicency": { + "description": "opencv_salicency module", + "supports": "!arm" + }, "sfm": { "description": "opencv_sfm module", "dependencies": [ @@ -278,6 +285,7 @@ }, "tbb": { "description": "Enable Intel Threading Building Blocks", + "supports": "!static", "dependencies": [ "tbb" ] @@ -285,7 +293,10 @@ "tiff": { "description": "TIFF support for opencv", "dependencies": [ - "tiff" + { + "name": "tiff", + "default-features": false + } ] }, "vtk": { @@ -297,7 +308,10 @@ "contrib" ] }, - "vtk" + { + "name": "vtk", + "default-features": false + } ] }, "webp": { diff --git a/ports/opencv4/0001-disable-downloading.patch b/ports/opencv4/0001-disable-downloading.patch index e2c886d455f229..88ec1eb7463df7 100644 --- a/ports/opencv4/0001-disable-downloading.patch +++ b/ports/opencv4/0001-disable-downloading.patch @@ -1,6 +1,6 @@ --- a/cmake/OpenCVDownload.cmake +++ b/cmake/OpenCVDownload.cmake -@@ -157,6 +157,9 @@ function(ocv_download) +@@ -203,6 +203,9 @@ function(ocv_download) # Download if(NOT EXISTS "${CACHE_CANDIDATE}") ocv_download_log("#cmake_download \"${CACHE_CANDIDATE}\" \"${DL_URL}\"") diff --git a/ports/opencv4/0002-install-options.patch b/ports/opencv4/0002-install-options.patch index 6592723851da88..d9514e0b44cb6c 100644 --- a/ports/opencv4/0002-install-options.patch +++ b/ports/opencv4/0002-install-options.patch @@ -1,17 +1,17 @@ --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -616,7 +616,7 @@ endif() +@@ -674,7 +674,7 @@ endif() ocv_cmake_hook(POST_CMAKE_BUILD_OPTIONS) # --- Python Support --- --if(NOT IOS) +-if(NOT IOS AND NOT XROS) +if(WITH_PYTHON) include(cmake/OpenCVDetectPython.cmake) endif() --- a/cmake/OpenCVCompilerOptions.cmake +++ b/cmake/OpenCVCompilerOptions.cmake -@@ -286,7 +286,6 @@ if(MSVC) +@@ -300,7 +300,6 @@ if(MSVC) #endif() if(BUILD_WITH_DEBUG_INFO) @@ -21,7 +21,7 @@ set(OPENCV_EXTRA_MODULE_LINKER_FLAGS_RELEASE "${OPENCV_EXTRA_MODULE_LINKER_FLAGS_RELEASE} /debug") --- a/cmake/OpenCVGenConfig.cmake +++ b/cmake/OpenCVGenConfig.cmake -@@ -114,11 +114,11 @@ function(ocv_gen_config TMP_DIR NESTED_PATH ROOT_NAME) +@@ -118,18 +118,18 @@ function(ocv_gen_config TMP_DIR NESTED_PATH ROOT_NAME) endif() endfunction() @@ -33,14 +33,13 @@ -if(ANDROID) +if(FALSE) ocv_gen_config("${CMAKE_BINARY_DIR}/unix-install" "abi-${ANDROID_NDK_ABI_NAME}" "OpenCVConfig.root-ANDROID.cmake.in") - install(FILES "${OpenCV_SOURCE_DIR}/platforms/android/android.toolchain.cmake" DESTINATION "${OPENCV_CONFIG_INSTALL_PATH}" COMPONENT dev) endif() -@@ -126,7 +126,7 @@ endif() + # -------------------------------------------------------------------------------------------- # Part 3/3: ${BIN_DIR}/win-install/OpenCVConfig.cmake -> For use within binary installers/packages # -------------------------------------------------------------------------------------------- -if(WIN32) -+if(0) ++if(FALSE) if(CMAKE_HOST_SYSTEM_NAME MATCHES Windows AND NOT OPENCV_SKIP_CMAKE_ROOT_CONFIG) ocv_gen_config("${CMAKE_BINARY_DIR}/win-install" "${OPENCV_INSTALL_BINARIES_PREFIX}${OPENCV_INSTALL_BINARIES_SUFFIX}" diff --git a/ports/opencv4/0003-force-package-requirements.patch b/ports/opencv4/0003-force-package-requirements.patch index 3c2bfe79301c3b..b8f8f9e9c829c4 100644 --- a/ports/opencv4/0003-force-package-requirements.patch +++ b/ports/opencv4/0003-force-package-requirements.patch @@ -1,6 +1,6 @@ --- a/cmake/OpenCVFindLibsGrfmt.cmake +++ b/cmake/OpenCVFindLibsGrfmt.cmake -@@ -11,7 +11,7 @@ else() +@@ -24,7 +24,7 @@ else() set(_zlib_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES}) set(CMAKE_FIND_LIBRARY_SUFFIXES .so) endif() @@ -9,7 +9,16 @@ if(ANDROID) set(CMAKE_FIND_LIBRARY_SUFFIXES ${_zlib_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}) unset(_zlib_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES) -@@ -41,7 +41,7 @@ if(WITH_JPEG) +@@ -55,7 +55,7 @@ endif() + + if(WITH_AVIF) + ocv_clear_internal_cache_vars(AVIF_LIBRARY AVIF_INCLUDE_DIR) +- include(cmake/OpenCVFindAVIF.cmake) ++ find_package(libavif REQUIRED) + if(AVIF_FOUND) + set(HAVE_AVIF 1) + endif() +@@ -67,7 +67,7 @@ if(WITH_JPEG) ocv_clear_vars(JPEG_FOUND) else() ocv_clear_internal_cache_vars(JPEG_LIBRARY JPEG_INCLUDE_DIR) @@ -18,7 +27,7 @@ endif() if(NOT JPEG_FOUND) -@@ -87,7 +87,7 @@ if(WITH_TIFF) +@@ -113,7 +113,7 @@ if(WITH_TIFF) ocv_clear_vars(TIFF_FOUND) else() ocv_clear_internal_cache_vars(TIFF_LIBRARY TIFF_INCLUDE_DIR) @@ -27,7 +36,7 @@ if(TIFF_FOUND) ocv_parse_header("${TIFF_INCLUDE_DIR}/tiff.h" TIFF_VERSION_LINES TIFF_VERSION_CLASSIC TIFF_VERSION_BIG TIFF_VERSION TIFF_BIGTIFF_VERSION) endif() -@@ -131,7 +131,7 @@ if(WITH_WEBP) +@@ -157,7 +157,7 @@ if(WITH_WEBP) ocv_clear_vars(WEBP_FOUND WEBP_LIBRARY WEBP_LIBRARIES WEBP_INCLUDE_DIR) else() ocv_clear_internal_cache_vars(WEBP_LIBRARY WEBP_INCLUDE_DIR) @@ -36,7 +45,7 @@ if(WEBP_FOUND) set(HAVE_WEBP 1) endif() -@@ -172,7 +172,7 @@ if(WITH_OPENJPEG) +@@ -198,7 +198,7 @@ if(WITH_OPENJPEG) if(BUILD_OPENJPEG) ocv_clear_vars(OpenJPEG_FOUND) else() @@ -45,7 +54,7 @@ endif() if(NOT OpenJPEG_FOUND OR OPENJPEG_MAJOR_VERSION LESS 2) -@@ -200,7 +200,7 @@ if(WITH_JASPER AND NOT HAVE_OPENJPEG) +@@ -227,7 +227,7 @@ if(WITH_JASPER AND NOT HAVE_OPENJPEG) if(BUILD_JASPER) ocv_clear_vars(JASPER_FOUND) else() @@ -54,16 +63,35 @@ endif() if(NOT JASPER_FOUND) -@@ -225,7 +225,7 @@ if(WITH_PNG) +@@ -253,7 +253,7 @@ if(WITH_SPNG) + # CMakeConfig bug in SPNG, include is missing there in version 0.7.4 and older + # See https://github.com/randy408/libspng/pull/264 + include(CMakeFindDependencyMacro) +- find_package(SPNG QUIET) ++ find_package(SPNG REQUIRED) + if(SPNG_FOUND) + set(SPNG_LIBRARY "spng::spng" CACHE INTERNAL "") + set(SPNG_LIBRARIES ${SPNG_LIBRARY}) +@@ -287,7 +287,7 @@ if(NOT HAVE_SPNG AND WITH_PNG) ocv_clear_vars(PNG_FOUND) else() ocv_clear_internal_cache_vars(PNG_LIBRARY PNG_INCLUDE_DIR) -- include(FindPNG) +- find_package(PNG QUIET) + find_package(PNG REQUIRED) - if(PNG_FOUND) - include(CheckIncludeFile) - check_include_file("${PNG_PNG_INCLUDE_DIR}/libpng/png.h" HAVE_LIBPNG_PNG_H) -@@ -275,7 +275,7 @@ endif() + endif() + + if(NOT PNG_FOUND) +@@ -310,7 +310,8 @@ if(WITH_OPENEXR) + ocv_clear_vars(HAVE_OPENEXR) + if(NOT BUILD_OPENEXR) + ocv_clear_internal_cache_vars(OPENEXR_INCLUDE_PATHS OPENEXR_LIBRARIES OPENEXR_ILMIMF_LIBRARY OPENEXR_VERSION) +- include("${OpenCV_SOURCE_DIR}/cmake/OpenCVFindOpenEXR.cmake") ++ find_package(OpenEXR CONFIG REQUIRED) ++ set(OPENEXR_FOUND TRUE) + endif() + + if(OPENEXR_FOUND) +@@ -330,7 +331,7 @@ endif() # --- GDAL (optional) --- if(WITH_GDAL) @@ -72,7 +100,7 @@ if(NOT GDAL_FOUND) set(HAVE_GDAL NO) -@@ -287,7 +287,7 @@ if(WITH_GDAL) +@@ -342,7 +343,7 @@ if(WITH_GDAL) endif() if(WITH_GDCM) @@ -81,11 +109,9 @@ if(NOT GDCM_FOUND) set(HAVE_GDCM NO) ocv_clear_vars(GDCM_VERSION GDCM_LIBRARIES) -diff --git a/modules/imgcodecs/CMakeLists.txt b/modules/imgcodecs/CMakeLists.txt -index 213667a..4052387 100644 --- a/modules/imgcodecs/CMakeLists.txt +++ b/modules/imgcodecs/CMakeLists.txt -@@ -24,7 +24,7 @@ endif() +@@ -25,7 +25,7 @@ endif() if(HAVE_WEBP) add_definitions(-DHAVE_WEBP) diff --git a/ports/opencv4/0004-fix-eigen.patch b/ports/opencv4/0004-fix-eigen.patch index 196542dcdd2ea6..4b0229b344864e 100644 --- a/ports/opencv4/0004-fix-eigen.patch +++ b/ports/opencv4/0004-fix-eigen.patch @@ -1,6 +1,6 @@ --- a/cmake/OpenCVFindLibsPerf.cmake +++ b/cmake/OpenCVFindLibsPerf.cmake -@@ -55,7 +55,7 @@ if(WITH_EIGEN AND NOT HAVE_EIGEN) +@@ -59,7 +59,7 @@ if(WITH_EIGEN AND NOT HAVE_EIGEN) OR NOT (CMAKE_VERSION VERSION_LESS "3.0.0") # Eigen3Targets.cmake required CMake 3.0.0+ ) AND NOT OPENCV_SKIP_EIGEN_FIND_PACKAGE_CONFIG ) diff --git a/ports/opencv4/0005-fix-policy-CMP0057.patch b/ports/opencv4/0005-fix-policy-CMP0057.patch index 96d0cdebe42a16..937a50be59155b 100644 --- a/ports/opencv4/0005-fix-policy-CMP0057.patch +++ b/ports/opencv4/0005-fix-policy-CMP0057.patch @@ -1,7 +1,7 @@ --- a/modules/videoio/CMakeLists.txt +++ b/modules/videoio/CMakeLists.txt @@ -1,3 +1,4 @@ -+cmake_minimum_required(VERSION 3.3) ++cmake_minimum_required(VERSION 3.5) set(VIDEOIO_ENABLE_PLUGINS_DEFAULT ON) - if(EMSCRIPTEN OR IOS OR WINRT) + if(EMSCRIPTEN OR IOS OR XROS OR WINRT) set(VIDEOIO_ENABLE_PLUGINS_DEFAULT OFF) diff --git a/ports/opencv4/0006-fix-uwp.patch b/ports/opencv4/0006-fix-uwp.patch index ec315b4980a897..9da1d574261a9b 100644 --- a/ports/opencv4/0006-fix-uwp.patch +++ b/ports/opencv4/0006-fix-uwp.patch @@ -1,6 +1,6 @@ --- a/cmake/OpenCVModule.cmake +++ b/cmake/OpenCVModule.cmake -@@ -1205,7 +1205,7 @@ function(ocv_add_perf_tests) +@@ -1259,7 +1259,7 @@ function(ocv_add_perf_tests) set_target_properties(${the_target} PROPERTIES FOLDER "tests performance") endif() diff --git a/ports/opencv4/0007-fix-hdf5.patch b/ports/opencv4/0007-contrib-fix-hdf5.patch similarity index 100% rename from ports/opencv4/0007-fix-hdf5.patch rename to ports/opencv4/0007-contrib-fix-hdf5.patch diff --git a/ports/opencv4/0008-devendor-quirc.patch b/ports/opencv4/0008-devendor-quirc.patch index 4333eb0f6b59fb..88b18db4ea80e4 100644 --- a/ports/opencv4/0008-devendor-quirc.patch +++ b/ports/opencv4/0008-devendor-quirc.patch @@ -1,6 +1,6 @@ --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -810,7 +810,7 @@ if(WITH_OPENVX) +@@ -935,7 +935,7 @@ if(WITH_OPENVX) endif() if(WITH_QUIRC) @@ -11,7 +11,7 @@ --- a/modules/objdetect/CMakeLists.txt +++ b/modules/objdetect/CMakeLists.txt -@@ -2,7 +2,5 @@ js +@@ -13,7 +13,5 @@ ocv_define_module(objdetect ) if(HAVE_QUIRC) diff --git a/ports/opencv4/0009-fix-protobuf.patch b/ports/opencv4/0009-fix-protobuf.patch index 38572e309f8469..bde8b2e9af5149 100644 --- a/ports/opencv4/0009-fix-protobuf.patch +++ b/ports/opencv4/0009-fix-protobuf.patch @@ -1,23 +1,23 @@ --- a/cmake/OpenCVFindProtobuf.cmake +++ b/cmake/OpenCVFindProtobuf.cmake -@@ -31,7 +31,7 @@ if(BUILD_PROTOBUF) - set(HAVE_PROTOBUF TRUE) - else() +@@ -34,7 +34,7 @@ else() + set(protobuf_MODULE_COMPATIBLE ON) + unset(Protobuf_VERSION CACHE) -- find_package(Protobuf QUIET) +- find_package(Protobuf QUIET CONFIG) + find_package(Protobuf CONFIG REQUIRED) - - # Backwards compatibility - # Define camel case versions of input variables -@@ -76,6 +76,7 @@ if(HAVE_PROTOBUF) - if(NOT BUILD_PROTOBUF) + if(NOT Protobuf_FOUND) + find_package(Protobuf QUIET) + endif() +@@ -97,6 +97,7 @@ if(HAVE_PROTOBUF) + unset( __location) if(TARGET "${Protobuf_LIBRARIES}") get_target_property(__location "${Protobuf_LIBRARIES}" IMPORTED_LOCATION_RELEASE) + get_target_property(__location_debug "${Protobuf_LIBRARIES}" IMPORTED_LOCATION_DEBUG) if(NOT __location) get_target_property(__location "${Protobuf_LIBRARIES}" IMPORTED_LOCATION) endif() -@@ -87,5 +88,5 @@ if(HAVE_PROTOBUF) +@@ -112,5 +113,5 @@ if(HAVE_PROTOBUF) endif() list(APPEND CUSTOM_STATUS_protobuf " Protobuf:" BUILD_PROTOBUF THEN "build (${Protobuf_VERSION})" diff --git a/ports/opencv4/0011-remove-python2.patch b/ports/opencv4/0011-remove-python2.patch index bee0faa87c593e..e0237d7092a15c 100644 --- a/ports/opencv4/0011-remove-python2.patch +++ b/ports/opencv4/0011-remove-python2.patch @@ -1,16 +1,22 @@ --- a/cmake/OpenCVDetectPython.cmake +++ b/cmake/OpenCVDetectPython.cmake -@@ -268,15 +268,6 @@ if(OPENCV_PYTHON_SKIP_DETECTION) +@@ -268,21 +268,6 @@ if(OPENCV_PYTHON_SKIP_DETECTION) return() endif() - --find_python("" "${MIN_VER_PYTHON2}" PYTHON2_LIBRARY PYTHON2_INCLUDE_DIR + +-ocv_check_environment_variables(OPENCV_ENABLE_PYTHON2) +-ocv_check_environment_variables(PYTHON2_EXECUTABLE) +-if((OPENCV_ENABLE_PYTHON2 OR PYTHON2_EXECUTABLE OR BUILD_opencv_python2) +- AND NOT OPENCV_PYTHON2_SKIP_DETECTION +-) +- find_python("" "${MIN_VER_PYTHON2}" PYTHON2_LIBRARY PYTHON2_INCLUDE_DIR - PYTHON2INTERP_FOUND PYTHON2_EXECUTABLE PYTHON2_VERSION_STRING - PYTHON2_VERSION_MAJOR PYTHON2_VERSION_MINOR PYTHON2LIBS_FOUND - PYTHON2LIBS_VERSION_STRING PYTHON2_LIBRARIES PYTHON2_LIBRARY - PYTHON2_DEBUG_LIBRARIES PYTHON2_LIBRARY_DEBUG PYTHON2_INCLUDE_PATH - PYTHON2_INCLUDE_DIR PYTHON2_INCLUDE_DIR2 PYTHON2_PACKAGES_PATH - PYTHON2_NUMPY_INCLUDE_DIRS PYTHON2_NUMPY_VERSION) +-endif() - -option(OPENCV_PYTHON3_VERSION "Python3 version" "") find_python("${OPENCV_PYTHON3_VERSION}" "${MIN_VER_PYTHON3}" PYTHON3_LIBRARY PYTHON3_INCLUDE_DIR diff --git a/ports/opencv4/0012-fix-zlib.patch b/ports/opencv4/0012-fix-zlib.patch index b82b9b00ebddd2..d975c989c70a7f 100644 --- a/ports/opencv4/0012-fix-zlib.patch +++ b/ports/opencv4/0012-fix-zlib.patch @@ -1,12 +1,10 @@ --- a/cmake/OpenCVFindLibsGrfmt.cmake +++ b/cmake/OpenCVFindLibsGrfmt.cmake -@@ -5,6 +5,9 @@ - # --- zlib (required) --- - if(BUILD_ZLIB) - ocv_clear_vars(ZLIB_FOUND) -+elseif(1) -+ ocv_clear_internal_cache_vars(ZLIB_LIBRARY ZLIB_INCLUDE_DIR) -+ find_package(ZLIB "${MIN_VER_ZLIB}" REQUIRED) - else() - ocv_clear_internal_cache_vars(ZLIB_LIBRARY ZLIB_INCLUDE_DIR) +@@ -20,6 +20,7 @@ else() + ocv_clear_vars(ZLIB_FOUND) + else() + ocv_clear_internal_cache_vars(ZLIB_LIBRARY ZLIB_INCLUDE_DIR) ++ find_package(ZLIB "${MIN_VER_ZLIB}" REQUIRED) if(ANDROID) + set(_zlib_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES}) + set(CMAKE_FIND_LIBRARY_SUFFIXES .so) diff --git a/ports/opencv4/0013-contrib-fix-ogre.patch b/ports/opencv4/0013-contrib-fix-ogre.patch new file mode 100644 index 00000000000000..3e3e6c7d84730e --- /dev/null +++ b/ports/opencv4/0013-contrib-fix-ogre.patch @@ -0,0 +1,8 @@ +--- a/modules/ovis/CMakeLists.txt ++++ b/modules/ovis/CMakeLists.txt +@@ -27,4 +27,5 @@ ocv_create_module() + ocv_add_samples(opencv_objdetect opencv_aruco) + + ocv_warnings_disable(CMAKE_CXX_FLAGS -Wunused-parameter) ++string(REPLACE "OgreGLSupportStatic" "OgreGLSupport" OGRE_LIBRARIES "${OGRE_LIBRARIES}") + ocv_target_link_libraries(${the_module} ${OGRE_LIBRARIES}) diff --git a/ports/opencv4/0014-fix-cmake-in-list.patch b/ports/opencv4/0014-fix-cmake-in-list.patch new file mode 100644 index 00000000000000..174de4aa962c55 --- /dev/null +++ b/ports/opencv4/0014-fix-cmake-in-list.patch @@ -0,0 +1,13 @@ +--- a/cmake/OpenCVUtils.cmake ++++ b/cmake/OpenCVUtils.cmake +@@ -1663,8 +1663,8 @@ function(ocv_install_used_external_targets) + if(NOT BUILD_SHARED_LIBS + AND NOT (CMAKE_VERSION VERSION_LESS "3.13.0") # upgrade CMake: https://gitlab.kitware.com/cmake/cmake/-/merge_requests/2152 + ) +- foreach(tgt in ${ARGN}) +- if(tgt MATCHES "^ocv\.3rdparty\.") ++ foreach(tgt ${ARGN}) ++ if(tgt MATCHES "^ocv[.]3rdparty[.]") + list(FIND __OPENCV_EXPORTED_EXTERNAL_TARGETS "${tgt}" _found) + if(_found EQUAL -1) # don't export target twice + install(TARGETS ${tgt} EXPORT OpenCVModules) diff --git a/ports/opencv4/0015-fix-freetype.patch b/ports/opencv4/0015-fix-freetype.patch index 875b0e1bbe96b4..6eeafe7f9ec16c 100644 --- a/ports/opencv4/0015-fix-freetype.patch +++ b/ports/opencv4/0015-fix-freetype.patch @@ -1,6 +1,6 @@ --- a/modules/gapi/cmake/init.cmake +++ b/modules/gapi/cmake/init.cmake -@@ -20,7 +20,7 @@ if(NOT TARGET ade) +@@ -21,7 +21,7 @@ if(NOT TARGET ade) endif() if(WITH_FREETYPE) diff --git a/ports/opencv4/0016-contrib-fix-freetype.patch b/ports/opencv4/0016-contrib-fix-freetype.patch new file mode 100644 index 00000000000000..48f4eeb078c46e --- /dev/null +++ b/ports/opencv4/0016-contrib-fix-freetype.patch @@ -0,0 +1,16 @@ +--- a/modules/freetype/CMakeLists.txt ++++ b/modules/freetype/CMakeLists.txt +@@ -3,8 +3,11 @@ if(APPLE_FRAMEWORK) + ocv_module_disable(freetype) + endif() + +-ocv_check_modules(FREETYPE freetype2) +-ocv_check_modules(HARFBUZZ harfbuzz) ++if(WITH_FREETYPE) ++ find_package(Freetype REQUIRED) ++ find_package(HARFBUZZ NAMES harfbuzz REQUIRED) ++ set(HARFBUZZ_LIBRARIES harfbuzz::harfbuzz) ++endif() + + if(OPENCV_INITIAL_PASS) + if(NOT FREETYPE_FOUND) diff --git a/ports/opencv4/0016-fix-freetype-contrib.patch b/ports/opencv4/0016-fix-freetype-contrib.patch deleted file mode 100644 index d4fcfe14829eef..00000000000000 --- a/ports/opencv4/0016-fix-freetype-contrib.patch +++ /dev/null @@ -1,16 +0,0 @@ ---- a/modules/freetype/CMakeLists.txt -+++ b/modules/freetype/CMakeLists.txt -@@ -3,8 +5,11 @@ if(APPLE_FRAMEWORK) - ocv_module_disable(freetype) - endif() - --ocv_check_modules(FREETYPE freetype2) --ocv_check_modules(HARFBUZZ harfbuzz) -+if(WITH_FREETYPE) -+ find_package(Freetype REQUIRED) -+ find_package(HARFBUZZ NAMES harfbuzz REQUIRED) -+ set(HARFBUZZ_LIBRARIES harfbuzz::harfbuzz) -+endif() - - if(OPENCV_INITIAL_PASS) - if(NOT FREETYPE_FOUND) diff --git a/ports/opencv4/0017-fix-flatbuffers.patch b/ports/opencv4/0017-fix-flatbuffers.patch index 517c6ea99ac650..6516a58cc9c6b9 100644 --- a/ports/opencv4/0017-fix-flatbuffers.patch +++ b/ports/opencv4/0017-fix-flatbuffers.patch @@ -1,20 +1,16 @@ -diff --git a/cmake/OpenCVDetectFlatbuffers.cmake b/cmake/OpenCVDetectFlatbuffers.cmake -index 537b738..6dba0fb 100644 ---- a/cmake/OpenCVDetectFlatbuffers.cmake -+++ b/cmake/OpenCVDetectFlatbuffers.cmake -@@ -1,9 +1,11 @@ - if(WITH_FLATBUFFERS) - set(HAVE_FLATBUFFERS 1) -- set(flatbuffers_VERSION "23.5.9") -- ocv_install_3rdparty_licenses(flatbuffers "${OpenCV_SOURCE_DIR}/3rdparty/flatbuffers/LICENSE.txt") -- ocv_add_external_target(flatbuffers "${OpenCV_SOURCE_DIR}/3rdparty/flatbuffers/include" "" "HAVE_FLATBUFFERS=1") -- set(CUSTOM_STATUS_flatbuffers " Flatbuffers:" "builtin/3rdparty (${flatbuffers_VERSION})") -+ set(flatbuffers_VERSION "23.5.26") -+ #ocv_install_3rdparty_licenses(flatbuffers "${OpenCV_SOURCE_DIR}/3rdparty/flatbuffers/LICENSE.txt") -+ find_path(FLATBUFFERS_INCLUDE_DIR flatbuffers.h PATH_SUFFIXES flatbuffers) -+ get_filename_component(FLATBUFFERS_INCLUDE_DIR "${FLATBUFFERS_INCLUDE_DIR}" PATH) -+ ocv_add_external_target(flatbuffers "${FLATBUFFERS_INCLUDE_DIR}" "" "HAVE_FLATBUFFERS=1") -+ #set(CUSTOM_STATUS_flatbuffers " Flatbuffers:" "builtin/3rdparty (${flatbuffers_VERSION})") - endif() - - if(WITH_FLATBUFFERS OR HAVE_FLATBUFFERS) +--- a/cmake/OpenCVDetectFlatbuffers.cmake ++++ b/cmake/OpenCVDetectFlatbuffers.cmake +@@ -1,9 +1,9 @@ + if(WITH_FLATBUFFERS) + set(HAVE_FLATBUFFERS 1) +- set(flatbuffers_VERSION "23.5.9") +- ocv_install_3rdparty_licenses(flatbuffers "${OpenCV_SOURCE_DIR}/3rdparty/flatbuffers/LICENSE.txt") +- ocv_add_external_target(flatbuffers "${OpenCV_SOURCE_DIR}/3rdparty/flatbuffers/include" "" "HAVE_FLATBUFFERS=1") +- set(CUSTOM_STATUS_flatbuffers " Flatbuffers:" "builtin/3rdparty (${flatbuffers_VERSION})") ++ set(flatbuffers_VERSION "23.5.26") ++ find_path(FLATBUFFERS_INCLUDE_DIR flatbuffers.h PATH_SUFFIXES flatbuffers) ++ get_filename_component(FLATBUFFERS_INCLUDE_DIR "${FLATBUFFERS_INCLUDE_DIR}" PATH) ++ ocv_add_external_target(flatbuffers "${FLATBUFFERS_INCLUDE_DIR}" "" "HAVE_FLATBUFFERS=1") + endif() + + if(WITH_FLATBUFFERS OR HAVE_FLATBUFFERS) diff --git a/ports/opencv4/0018-fix-depend-tesseract.patch b/ports/opencv4/0018-contrib-fix-tesseract.patch similarity index 100% rename from ports/opencv4/0018-fix-depend-tesseract.patch rename to ports/opencv4/0018-contrib-fix-tesseract.patch diff --git a/ports/opencv4/0019-fix-ogre-dependency.patch b/ports/opencv4/0019-fix-ogre-dependency.patch deleted file mode 100644 index 314ea821e7ee64..00000000000000 --- a/ports/opencv4/0019-fix-ogre-dependency.patch +++ /dev/null @@ -1,9 +0,0 @@ ---- a/modules/ovis/CMakeLists.txt -+++ b/modules/ovis/CMakeLists.txt -@@ -27,4 +27,6 @@ ocv_create_module() - ocv_add_samples(opencv_aruco) - - ocv_warnings_disable(CMAKE_CXX_FLAGS -Wunused-parameter) -+# The target always has the name OgreGLSupport -+string(REPLACE "OgreGLSupportStatic" "OgreGLSupport" OGRE_LIBRARIES "${OGRE_LIBRARIES}") - ocv_target_link_libraries(${the_module} ${OGRE_LIBRARIES}) diff --git a/ports/opencv4/0019-missing-include.patch b/ports/opencv4/0019-missing-include.patch deleted file mode 100644 index c1d4d3c1579db2..00000000000000 --- a/ports/opencv4/0019-missing-include.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/modules/dnn/src/op_halide.cpp b/modules/dnn/src/op_halide.cpp -index 653de36146cc..db1a72278e70 100644 ---- a/modules/dnn/src/op_halide.cpp -+++ b/modules/dnn/src/op_halide.cpp -@@ -14,6 +14,7 @@ - #include "halide_scheduler.hpp" - - #include -+#include - #endif // HAVE_HALIDE - - namespace cv { diff --git a/ports/opencv4/0019-opencl-kernel.patch b/ports/opencv4/0019-opencl-kernel.patch new file mode 100644 index 00000000000000..61a402803ef6ee --- /dev/null +++ b/ports/opencv4/0019-opencl-kernel.patch @@ -0,0 +1,10 @@ +--- a/cmake/OpenCVModule.cmake ++++ b/cmake/OpenCVModule.cmake +@@ -869,6 +869,7 @@ macro(ocv_glob_module_sources) + set(OCL_NAME opencl_kernels_${name}) + add_custom_command( + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${OCL_NAME}.cpp" # don't add .hpp file here to optimize build process ++ "${CMAKE_CURRENT_BINARY_DIR}/${OCL_NAME}.hpp" # in reality vcpkg needs them + COMMAND ${CMAKE_COMMAND} "-DMODULE_NAME=${name}" "-DCL_DIR=${CMAKE_CURRENT_LIST_DIR}/src/opencl" "-DOUTPUT=${CMAKE_CURRENT_BINARY_DIR}/${OCL_NAME}.cpp" -P "${OpenCV_SOURCE_DIR}/cmake/cl2cpp.cmake" + DEPENDS ${cl_kernels} "${OpenCV_SOURCE_DIR}/cmake/cl2cpp.cmake" + COMMENT "Processing OpenCL kernels (${name})" diff --git a/ports/opencv4/0020-fix-compat-cuda12.2.patch b/ports/opencv4/0020-fix-compat-cuda12.2.patch deleted file mode 100644 index e027f4e4e42f5b..00000000000000 --- a/ports/opencv4/0020-fix-compat-cuda12.2.patch +++ /dev/null @@ -1,32 +0,0 @@ -commit ab8cb6f8a9034da2a289b84685c6d959266029be -Author: cudawarped <12133430+cudawarped@users.noreply.github.com> -Date: Tue Aug 1 13:02:42 2023 +0300 - - cuda: fix for compatibility with CUDA Toolkit >= 12.2.0 - -diff --git a/modules/dnn/src/cuda4dnn/primitives/normalize_bbox.hpp b/modules/dnn/src/cuda4dnn/primitives/normalize_bbox.hpp -index f067dddaa7..91ff33f817 100644 ---- a/modules/dnn/src/cuda4dnn/primitives/normalize_bbox.hpp -+++ b/modules/dnn/src/cuda4dnn/primitives/normalize_bbox.hpp -@@ -111,7 +111,7 @@ namespace cv { namespace dnn { namespace cuda4dnn { - * or there might be several weights - * or we don't have to scale - */ -- if (weight != 1.0) -+ if (weight != static_cast(1.0f)) - { - kernels::scale1_with_bias1(stream, output, input, weight, 1.0); - } -diff --git a/modules/dnn/src/cuda4dnn/primitives/region.hpp b/modules/dnn/src/cuda4dnn/primitives/region.hpp -index d22d44214e..3af05155fe 100644 ---- a/modules/dnn/src/cuda4dnn/primitives/region.hpp -+++ b/modules/dnn/src/cuda4dnn/primitives/region.hpp -@@ -121,7 +121,7 @@ namespace cv { namespace dnn { namespace cuda4dnn { - new_coords - ); - -- if (nms_iou_threshold > 0) { -+ if (nms_iou_threshold > static_cast(0.0f)) { - auto output_mat = output_wrapper->getMutableHostMat(); - CV_Assert(output_mat.type() == CV_32F); - for (int i = 0; i < input.get_axis_size(0); i++) { diff --git a/ports/opencv4/0020-miss-openexr.patch b/ports/opencv4/0020-miss-openexr.patch new file mode 100644 index 00000000000000..d776dddf21f6bf --- /dev/null +++ b/ports/opencv4/0020-miss-openexr.patch @@ -0,0 +1,14 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d6bc6de..61b7a02 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -831,6 +831,9 @@ include(cmake/OpenCVFindLibsPerf.cmake) + include(cmake/OpenCVFindLAPACK.cmake) + include(cmake/OpenCVFindProtobuf.cmake) + include(cmake/OpenCVDetectFlatbuffers.cmake) ++if(WITH_OPENEXR) ++ include(cmake/OpenCVFindOpenEXR.cmake) ++endif() + if(WITH_TIMVX) + include(cmake/OpenCVFindTIMVX.cmake) + endif() diff --git a/ports/opencv4/portfile.cmake b/ports/opencv4/portfile.cmake index d783f99fea4649..ea5e57e173130b 100644 --- a/ports/opencv4/portfile.cmake +++ b/ports/opencv4/portfile.cmake @@ -1,17 +1,16 @@ set(USE_QT_VERSION "6") -# https://github.com/opencv/opencv/pull/24043 -vcpkg_download_distfile(ARM64_WINDOWS_FIX - URLS https://github.com/opencv/opencv/commit/e5e1a3bfdea96bebda2ad963bc8f6cf17930aef7.patch?full_index=1 - SHA512 8ae2544e4a7ece19efe21261acc183f91202ac5352c1ac42fb86bf33d698352eff1b8962422b092240f4e8c7a691e9aa5ef20d6070adcd37e92bb94c6010ce56 - FILENAME opencv4-e5e1a3bfdea96bebda2ad963bc8f6cf17930aef7.patch +vcpkg_download_distfile(PATCH_ADD_INCLUDE_CHRONO + URLS https://github.com/opencv/opencv/commit/96d6395a6dccb9554bc2f83105f87ebd071d37fa.patch?full_index=1 + SHA512 d385b5386a19e4a0b3e78d5423baac4d132d25581d9336f084db819b9f68a6bc1ac23968a901891ac5023ab2fe4fa4513d7c70e5170e72cb57710d51b50e67a1 + FILENAME opencv4-4.11.0-include-chrono.patch ) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO opencv/opencv REF "${VERSION}" - SHA512 48738c3e7460a361274357aef1dd427082ccd59f749d6317d92a414b3741ce6116ea15ed4fedd2d47a25e456c705f3ba114357558646097bfc0e6dba9b3b865c + SHA512 b4f7248f89f1cd146dbbae7860a17131cd29bd3cb81db1e678abfcfbf2d8fa4a7633bfd0edbf50afae7b838c8700e8c0d0bb05828139d5cb5662df6bbf3eb92c HEAD_REF master PATCHES 0001-disable-downloading.patch @@ -25,15 +24,17 @@ vcpkg_from_github( 0010-fix-uwp-tiff-imgcodecs.patch 0011-remove-python2.patch 0012-fix-zlib.patch + 0014-fix-cmake-in-list.patch 0015-fix-freetype.patch 0017-fix-flatbuffers.patch - 0019-missing-include.patch - 0020-fix-compat-cuda12.2.patch - "${ARM64_WINDOWS_FIX}" + 0019-opencl-kernel.patch + 0020-miss-openexr.patch + "${PATCH_ADD_INCLUDE_CHRONO}" ) # Disallow accidental build of vendored copies file(REMOVE_RECURSE "${SOURCE_PATH}/3rdparty/openexr") file(REMOVE_RECURSE "${SOURCE_PATH}/3rdparty/flatbuffers") +file(REMOVE "${SOURCE_PATH}/cmake/FindCUDNN.cmake") if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") set(TARGET_IS_AARCH64 1) @@ -45,52 +46,78 @@ else() set(TARGET_IS_X86 1) endif() -file(REMOVE "${SOURCE_PATH}/cmake/FindCUDNN.cmake") +if (USE_QT_VERSION STREQUAL "6") + set(QT_CORE5COMPAT "Core5Compat") + set(QT_OPENGLWIDGETS "OpenGLWidgets") +endif() string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" BUILD_WITH_STATIC_CRT) set(ADE_DIR ${CURRENT_INSTALLED_DIR}/share/ade CACHE PATH "Path to existing ADE CMake Config file") +# Cannot use vcpkg_check_features() for "qt" because it requires the QT version number passed, not just a boolean vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - "ade" WITH_ADE - "contrib" WITH_CONTRIB - "cuda" WITH_CUBLAS - "cuda" WITH_CUDA - "cudnn" WITH_CUDNN - "dnn-cuda" OPENCV_DNN_CUDA - "eigen" WITH_EIGEN - "ffmpeg" WITH_FFMPEG - "freetype" WITH_FREETYPE - "gdcm" WITH_GDCM - "gstreamer" WITH_GSTREAMER - "gtk" WITH_GTK - "halide" WITH_HALIDE - "jasper" WITH_JASPER - "jpeg" WITH_JPEG - "lapack" WITH_LAPACK - "nonfree" OPENCV_ENABLE_NONFREE - "openexr" WITH_OPENEXR - "opengl" WITH_OPENGL - "ovis" CMAKE_REQUIRE_FIND_PACKAGE_OGRE - "png" WITH_PNG - "quirc" WITH_QUIRC - "sfm" BUILD_opencv_sfm - "tiff" WITH_TIFF - "vtk" WITH_VTK - "webp" WITH_WEBP - "world" BUILD_opencv_world - "dc1394" WITH_1394 + "ade" WITH_ADE + "calib3d" BUILD_opencv_calib3d + "carotene" WITH_CAROTENE + "contrib" WITH_CONTRIB + "cuda" WITH_CUBLAS + "cuda" WITH_CUDA + "cuda" ENABLE_CUDA_FIRST_CLASS_LANGUAGE + "cudnn" WITH_CUDNN + "dc1394" WITH_1394 + "dnn" BUILD_opencv_dnn + "dnn" PROTOBUF_UPDATE_FILES + "dnn" UPDATE_PROTO_FILES + "dnn" WITH_PROTOBUF + "dnn-cuda" OPENCV_DNN_CUDA + "dshow" WITH_DSHOW + "eigen" WITH_EIGEN + "ffmpeg" WITH_FFMPEG + "freetype" WITH_FREETYPE + "gapi" BUILD_opencv_gapi + "gdcm" WITH_GDCM + "gstreamer" WITH_GSTREAMER + "gtk" WITH_GTK + "halide" WITH_HALIDE + "ipp" WITH_IPP + "ipp" BUILD_IPP_IW + "highgui" BUILD_opencv_highgui + "intrinsics" CV_ENABLE_INTRINSICS + "jasper" WITH_JASPER + "openjpeg" WITH_OPENJPEG + "openmp" WITH_OPENMP + "jpeg" WITH_JPEG + "lapack" WITH_LAPACK + "lapack" DOPENCV_LAPACK_FIND_PACKAGE_ONLY + "msmf" WITH_MSMF + "nonfree" OPENCV_ENABLE_NONFREE + "fs" OPENCV_ENABLE_FILESYSTEM_SUPPORT + "thread" OPENCV_ENABLE_THREAD_SUPPORT + "opencl" WITH_OPENCL + "openvino" WITH_OPENVINO + "openexr" WITH_OPENEXR + "opengl" WITH_OPENGL + "ovis" CMAKE_REQUIRE_FIND_PACKAGE_OGRE + "ovis" BUILD_opencv_ovis + "png" WITH_PNG + "python" BUILD_opencv_python3 + "python" WITH_PYTHON + "quality" BUILD_opencv_quality + "quirc" WITH_QUIRC + "rgbd" BUILD_opencv_rgbd + "sfm" BUILD_opencv_sfm + "tbb" WITH_TBB + "tiff" WITH_TIFF + "vtk" WITH_VTK + "vulkan" WITH_VULKAN + "webp" WITH_WEBP + "win32ui" WITH_WIN32UI + "world" BUILD_opencv_world ) -# Cannot use vcpkg_check_features() for "dnn", "gtk", ipp", "openmp", "ovis", "python", "qt", "tbb" -set(BUILD_opencv_dnn OFF) if("dnn" IN_LIST FEATURES) - if(NOT VCPKG_TARGET_IS_ANDROID) - set(BUILD_opencv_dnn ON) - else() - message(WARNING "The dnn module cannot be enabled on Android") - endif() set(FLATC "${CURRENT_HOST_INSTALLED_DIR}/tools/flatbuffers/flatc${VCPKG_HOST_EXECUTABLE_SUFFIX}") vcpkg_execute_required_process( COMMAND "${FLATC}" --cpp -o "${SOURCE_PATH}/modules/dnn/misc/tflite" "${SOURCE_PATH}/modules/dnn/src/tflite/schema.fbs" @@ -99,51 +126,34 @@ if("dnn" IN_LIST FEATURES) ) endif() +if (VCPKG_LIBRARY_LINKAGE STREQUAL static) + set(OPENCV_LAPACK_SHARED_LIBS OFF) +else() + set(OPENCV_LAPACK_SHARED_LIBS ON) +endif() + set(WITH_QT OFF) if("qt" IN_LIST FEATURES) set(WITH_QT ${USE_QT_VERSION}) endif() -set(BUILD_opencv_gapi ON) -if(VCPKG_TARGET_IS_UWP) - set(BUILD_opencv_gapi OFF) - message(WARNING "The gapi module cannot be enabled on UWP platform") -endif() - -set(WITH_IPP OFF) -if("ipp" IN_LIST FEATURES) - set(WITH_IPP ON) -endif() - -set(WITH_OPENMP OFF) -if("openmp" IN_LIST FEATURES) - if(NOT VCPKG_TARGET_IS_OSX) - set(WITH_OPENMP ON) - else() - message(WARNING "The OpenMP feature is not supported on macOS") - endif() -endif() - -set(BUILD_opencv_ovis OFF) -if("ovis" IN_LIST FEATURES) - set(BUILD_opencv_ovis ON) -endif() - -set(WITH_TBB OFF) -if("tbb" IN_LIST FEATURES) - set(WITH_TBB ON) -endif() - -set(WITH_PYTHON OFF) -set(BUILD_opencv_python3 OFF) if("python" IN_LIST FEATURES) - if (VCPKG_LIBRARY_LINKAGE STREQUAL static AND VCPKG_TARGET_IS_WINDOWS) - message(WARNING "The python module is currently unsupported on Windows when building static OpenCV libraries") - else() - x_vcpkg_get_python_packages(PYTHON_VERSION "3" PACKAGES numpy OUT_PYTHON_VAR "PYTHON3") - set(ENV{PYTHON} "${PYTHON3}") - set(BUILD_opencv_python3 ON) - set(WITH_PYTHON ON) + x_vcpkg_get_python_packages(PYTHON_VERSION "3" PACKAGES numpy OUT_PYTHON_VAR "PYTHON3") + set(ENV{PYTHON} "${PYTHON3}") + file(GLOB _py3_include_path "${CURRENT_INSTALLED_DIR}/include/python3*") + string(REGEX MATCH "python3\\.([0-9]+)" _python_version_tmp ${_py3_include_path}) + set(PYTHON_VERSION_MINOR "${CMAKE_MATCH_1}") + set(python_ver "3.${PYTHON_VERSION_MINOR}") + list(APPEND PYTHON_EXTRA_DEFINES_RELEASE + "-D__INSTALL_PATH_PYTHON3=${CURRENT_PACKAGES_DIR}/${PYTHON3_SITE}/cv2" + "-DOPENCV_PYTHON_INSTALL_PATH=${CURRENT_PACKAGES_DIR}/${PYTHON3_SITE}" + ) + list(APPEND PYTHON_EXTRA_DEFINES_DEBUG + "-D__INSTALL_PATH_PYTHON3=${CURRENT_PACKAGES_DIR}/debug/${PYTHON3_SITE}/cv2" + "-DOPENCV_PYTHON_INSTALL_PATH=${CURRENT_PACKAGES_DIR}/debug/${PYTHON3_SITE}" + ) + if(EXISTS "${CURRENT_INSTALLED_DIR}/${PYTHON3_SITE}/cv2") + message(FATAL_ERROR "You cannot install opencv4[python] if opencv3[python] is already present.") endif() endif() @@ -163,30 +173,20 @@ if("cuda" IN_LIST FEATURES) ) endif() -# Build image quality module when building with 'contrib' feature and not UWP. -set(BUILD_opencv_quality OFF) if("contrib" IN_LIST FEATURES) - if (VCPKG_TARGET_IS_UWP OR VCPKG_TARGET_IS_IOS OR (VCPKG_TARGET_ARCHITECTURE MATCHES "arm" AND VCPKG_TARGET_IS_WINDOWS)) - set(BUILD_opencv_quality OFF) - message(WARNING "The image quality module (quality) does not build for UWP or iOS, the module has been disabled.") - # The hdf module is silently disabled by OpenCVs buildsystem if HDF5 is not detected. - message(WARNING "The hierarchical data format module (hdf) depends on HDF5 which doesn't support UWP or iOS, the module has been disabled.") - else() - set(BUILD_opencv_quality CMAKE_DEPENDS_IN_PROJECT_ONLY) - endif() - vcpkg_from_github( OUT_SOURCE_PATH CONTRIB_SOURCE_PATH REPO opencv/opencv_contrib - REF ${VERSION} - SHA512 81cc41cfe1ea03e60b0657edeaa76a90926e5e79a9f93a482e17bc9edbf1b5ce36b13d108fd8fb097f2fb3d6381fbeb102811f44bfc761c2de7f69bf3c5298a1 + REF "${VERSION}" + SHA512 480df862250692a97ce6431cba00dbecb70332307a19c1c04aa9d7444e6e74ab4f8c798548dce76d2319a9877624b82e361fb22a71df14b996087ade448be501 HEAD_REF master PATCHES - 0007-fix-hdf5.patch - 0016-fix-freetype-contrib.patch - 0018-fix-depend-tesseract.patch - 0019-fix-ogre-dependency.patch + 0007-contrib-fix-hdf5.patch + 0013-contrib-fix-ogre.patch + 0016-contrib-fix-freetype.patch + 0018-contrib-fix-tesseract.patch ) + set(BUILD_WITH_CONTRIB_FLAG "-DOPENCV_EXTRA_MODULES_PATH=${CONTRIB_SOURCE_PATH}/modules") vcpkg_download_distfile(OCV_DOWNLOAD @@ -271,72 +271,43 @@ if("contrib" IN_LIST FEATURES) ) endif() -if(WITH_IPP) +if("ipp" IN_LIST FEATURES) if(VCPKG_TARGET_IS_OSX) if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") vcpkg_download_distfile(OCV_DOWNLOAD - URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/1224f78da6684df04397ac0f40c961ed37f79ccb/ippicv/ippicv_2021.8_mac_intel64_20230330_general.tgz" - FILENAME "opencv-cache/ippicv/d2b234a86af1b616958619a4560356d9-ippicv_2021.8_mac_intel64_20230330_general.tgz" - SHA512 f74a4b7bda9ec20bbf7fbb764171156bfd0ca4915fd4efd77ff53fc7a64ce8219d82d28d4fef5968fde1b85fd669e63f9514f4700d85c25327ce56fa47c0f007 + URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/0cc4aa06bf2bef4b05d237c69a5a96b9cd0cb85a/ippicv/ippicv_2021.9.1_mac_intel64_20230919_general.tgz" + FILENAME "opencv-cache/ippicv/14f01c5a4780bfae9dde9b0aaf5e56fc-ippicv_2021.9.1_mac_intel64_20230919_general.tgz" + SHA512 e53aa1bf4336a94554bf40c29a74c85f595c0aec8d9102a158db7ae075db048c1ff7f50ed81eda3ac8e07b1460862970abc820073a53c0f237e584708c5295da ) - else() - message(WARNING "This target architecture is not supported IPPICV") - set(WITH_IPP OFF) endif() elseif(VCPKG_TARGET_IS_LINUX) if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") vcpkg_download_distfile(OCV_DOWNLOAD - URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/1224f78da6684df04397ac0f40c961ed37f79ccb/ippicv/ippicv_2021.8_lnx_intel64_20230330_general.tgz" - FILENAME "opencv-cache/ippicv/43219bdc7e3805adcbe3a1e2f1f3ef3b-ippicv_2021.8_lnx_intel64_20230330_general.tgz" - SHA512 e54085172465a9aa82e454c1055d62be9cb970e99e75343ab7849241f36762021c5b30cf2cff0d92bab2ccec65809c467293bea865e5af3ad82af8f75bf08ea0 + URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/fd27188235d85e552de31425e7ea0f53ba73ba53/ippicv/ippicv_2021.11.0_lnx_intel64_20240201_general.tgz" + FILENAME "opencv-cache/ippicv/0f2745ff705ecae31176dad437608f6f-ippicv_2021.11.0_lnx_intel64_20240201_general.tgz" + SHA512 74cba99a1d2c40a125b23d42de555548fecd22c8fea5ed68ab7f887b1f208bd7f2906a64d40bac71ea82190e5389fb92d3c72b6d47c8c05a2e9b9b909a82ce47 ) elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") vcpkg_download_distfile(OCV_DOWNLOAD - URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/1224f78da6684df04397ac0f40c961ed37f79ccb/ippicv/ippicv_2021.8_lnx_ia32_20230330_general.tgz" - FILENAME "opencv-cache/ippicv/165875443d72faa3fd2146869da90d07-ippicv_2021.8_lnx_ia32_20230330_general.tgz" - SHA512 44560b42b1a406723f7d673735c4846dcba859d1f0f29da8885b3d4ab230c6b7bf6fa20837fcfd79ca01519344917be0a33a58f4641ffdaef13d2adbb40a3053 + URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/fd27188235d85e552de31425e7ea0f53ba73ba53/ippicv/ippicv_2021.11.0_lnx_ia32_20240201_general.tgz" + FILENAME "opencv-cache/ippicv/63e381bf08076ca34fd5264203043a45-ippicv_2021.11.0_lnx_ia32_20240201_general.tgz" + SHA512 37484704754f9553b04c8da23864af3217919a11a9dbc92427e6326d6104bab7f1983c98c78ec52cda2d3eb93dc1fd98d0b780e3b7a98e703010c5ee1b421426 ) - else() - message(WARNING "This target architecture is not supported IPPICV") - set(WITH_IPP OFF) endif() elseif(VCPKG_TARGET_IS_WINDOWS) if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") vcpkg_download_distfile(OCV_DOWNLOAD - URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/1224f78da6684df04397ac0f40c961ed37f79ccb/ippicv/ippicv_2021.8_win_intel64_20230330_general.zip" - FILENAME "opencv-cache/ippicv/71e4f58de939f0348ec7fb58ffb17dbf-ippicv_2021.8_win_intel64_20230330_general.zip" - SHA512 00233de01a9ad1a8df35fa5b66218ae42b3d0bfca08ed7a14e733d4ea037d01f6932386b6cfc441b159b525c0a31c259414c2f096431ed5cb0fd32dd1d367cde + URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/fd27188235d85e552de31425e7ea0f53ba73ba53/ippicv/ippicv_2021.11.0_win_intel64_20240201_general.zip" + FILENAME "opencv-cache/ippicv/59d154bf54a1e3eea20d7248f81a2a8e-ippicv_2021.11.0_win_intel64_20240201_general.zip" + SHA512 686ddbafa3f24c598d94589fca6937f90a4fb25e3dabea3b276709e55cbc2636aba8d73fadd336775f8514ff8e2e1b20e749264a7f11243190d54467f9a3f895 ) elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") vcpkg_download_distfile(OCV_DOWNLOAD - URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/1224f78da6684df04397ac0f40c961ed37f79ccb/ippicv/ippicv_2021.8_win_ia32_20230330_general.zip" - FILENAME "opencv-cache/ippicv/57fd4648cfe64eae9e2ad9d50173a553-ippicv_2021.8_win_ia32_20230330_general.zip" - SHA512 c2942f0bdc51e0d0ee0695c62d4e366c5b87d95acaac38c5df19c2c647849cc544c5689a569134baaf64a260aa4984db51fc094ddd995afef3bd0c1d3f265465 + URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/fd27188235d85e552de31425e7ea0f53ba73ba53/ippicv/ippicv_2021.11.0_win_ia32_20240201_general.zip" + FILENAME "opencv-cache/ippicv/7a6d8ac5825c02fea6cbfc1201b521b5-ippicv_2021.11.0_win_ia32_20240201_general.zip" + SHA512 0e151e34cee01a3684d3be3c2c75b0fac5f303bfd8c08685981a3d4a25a19a9bb454da26d2965aab915adc209accca17b6a4b6d7726c004cd7841daf180bbd3a ) - else() - message(WARNING "This target architecture is not supported IPPICV") - set(WITH_IPP OFF) endif() - else() - message(WARNING "This target architecture is not supported IPPICV") - set(WITH_IPP OFF) - endif() -endif() - -set(WITH_MSMF ON) -if(NOT VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_UWP OR VCPKG_TARGET_IS_MINGW) - set(WITH_MSMF OFF) -endif() - -if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - if (WITH_TBB) - message(WARNING "TBB is currently unsupported in this build configuration, turning it off") - set(WITH_TBB OFF) - endif() - - if (VCPKG_TARGET_IS_WINDOWS AND BUILD_opencv_ovis) - message(WARNING "OVIS is currently unsupported in this build configuration, turning it off") - set(BUILD_opencv_ovis OFF) endif() endif() @@ -350,7 +321,6 @@ endif() if("halide" IN_LIST FEATURES) list(APPEND ADDITIONAL_BUILD_FLAGS # Halide 13 requires C++17 - "-DCMAKE_CXX_STANDARD=17" "-DCMAKE_CXX_STANDARD_REQUIRED=ON" "-DCMAKE_DISABLE_FIND_PACKAGE_Halide=ON" "-DHALIDE_ROOT_DIR=${CURRENT_INSTALLED_DIR}" @@ -370,17 +340,21 @@ endif() vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS + ###### Verify that required components and only those are enabled + -DENABLE_CONFIG_VERIFICATION=ON ###### opencv cpu recognition is broken, always using host and not target: here we bypass that -DOPENCV_SKIP_SYSTEM_PROCESSOR_DETECTION=TRUE -DAARCH64=${TARGET_IS_AARCH64} -DX86_64=${TARGET_IS_X86_64} -DX86=${TARGET_IS_X86} -DARM=${TARGET_IS_ARM} + ###### use c++17 to enable features that fail with c++11 (halide, protobuf, etc.) + -DCMAKE_CXX_STANDARD=17 ###### ocv_options -DINSTALL_TO_MANGLED_PATHS=OFF -DOpenCV_INSTALL_BINARIES_PREFIX= -DOPENCV_BIN_INSTALL_PATH=bin - -DOPENCV_INCLUDE_INSTALL_PATH=include + -DOPENCV_INCLUDE_INSTALL_PATH=include/opencv4 -DOPENCV_LIB_INSTALL_PATH=lib -DOPENCV_3P_LIB_INSTALL_PATH=lib/manual-link/opencv4_thirdparty -DOPENCV_CONFIG_INSTALL_PATH=share/opencv4 @@ -390,38 +364,38 @@ vcpkg_cmake_configure( -DOPENCV_DLLVERSION=4 -DOPENCV_DEBUG_POSTFIX=d -DOPENCV_GENERATE_SETUPVARS=OFF + -DOPENCV_GENERATE_PKGCONFIG=ON # Do not build docs/examples -DBUILD_DOCS=OFF -DBUILD_EXAMPLES=OFF + -DBUILD_PERF_TESTS=OFF + -DBUILD_TESTS=OFF -Dade_DIR=${ADE_DIR} ###### Disable build 3rd party libs + -DBUILD_IPP_IW=OFF + -DBUILD_ITT=OFF -DBUILD_JASPER=OFF -DBUILD_JPEG=OFF -DBUILD_OPENEXR=OFF + -DBUILD_OPENJPEG=OFF -DBUILD_PNG=OFF + -DBUILD_PROTOBUF=OFF + -DBUILD_TBB=OFF -DBUILD_TIFF=OFF -DBUILD_WEBP=OFF -DBUILD_ZLIB=OFF - -DBUILD_TBB=OFF - -DBUILD_ITT=OFF - ###### Disable build 3rd party components - -DBUILD_PROTOBUF=OFF ###### OpenCV Build components -DBUILD_opencv_apps=OFF -DBUILD_opencv_java=OFF -DBUILD_opencv_js=OFF + -DBUILD_JAVA=OFF -DBUILD_ANDROID_PROJECT=OFF -DBUILD_ANDROID_EXAMPLES=OFF -DBUILD_PACKAGE=OFF - -DBUILD_PERF_TESTS=OFF - -DBUILD_TESTS=OFF -DBUILD_WITH_DEBUG_INFO=ON -DBUILD_WITH_STATIC_CRT=${BUILD_WITH_STATIC_CRT} - -DBUILD_JAVA=OFF -DCURRENT_INSTALLED_DIR=${CURRENT_INSTALLED_DIR} ###### PROTOBUF - -DPROTOBUF_UPDATE_FILES=${BUILD_opencv_dnn} - -DUPDATE_PROTO_FILES=${BUILD_opencv_dnn} ###### PYLINT/FLAKE8 -DENABLE_PYLINT=OFF -DENABLE_FLAKE8=OFF @@ -433,35 +407,40 @@ vcpkg_cmake_configure( ###### OPENCV vars "-DOPENCV_DOWNLOAD_PATH=${DOWNLOADS}/opencv-cache" ${BUILD_WITH_CONTRIB_FLAG} - -DOPENCV_OTHER_INSTALL_PATH=share/opencv + -DOPENCV_OTHER_INSTALL_PATH=share/opencv4 ###### customized properties ## Options from vcpkg_check_features() ${FEATURE_OPTIONS} - -DWITH_GTK=${WITH_GTK} -DWITH_QT=${WITH_QT} - -DWITH_IPP=${WITH_IPP} -DWITH_MATLAB=OFF - -DWITH_MSMF=${WITH_MSMF} - -DWITH_OPENMP=${WITH_OPENMP} - -DWITH_PROTOBUF=${BUILD_opencv_dnn} - -DWITH_PYTHON=${WITH_PYTHON} - -DWITH_OPENCLAMDBLAS=OFF - -DWITH_TBB=${WITH_TBB} -DWITH_OPENJPEG=OFF -DWITH_CPUFEATURES=OFF - ###### BUILD_options (mainly modules which require additional libraries) - -DBUILD_opencv_ovis=${BUILD_opencv_ovis} - -DBUILD_opencv_dnn=${BUILD_opencv_dnn} - -DBUILD_opencv_python3=${BUILD_opencv_python3} - ###### The following modules are disabled for UWP + -DWITH_SPNG=OFF + -DWITH_OPENCLAMDFFT=OFF + -DWITH_OPENCLAMDBLAS=OFF + -DWITH_OPENCL_D3D11_NV=OFF + -DWITH_ITT=OFF + -DWITH_NVCUVID=OFF + -DWITH_NVCUVENC=OFF + -DWITH_AVIF=OFF + -DWITH_VA=OFF + -DWITH_VA_INTEL=OFF + -DWITH_OBSENSOR=OFF + ###### modules which require special treatment -DBUILD_opencv_quality=${BUILD_opencv_quality} - -DBUILD_opencv_gapi=${BUILD_opencv_gapi} - ###### The following module is disabled because it's broken #https://github.com/opencv/opencv_contrib/issues/2307 - -DBUILD_opencv_rgbd=OFF + -DBUILD_opencv_rgbd=${BUILD_opencv_rgbd} + ###### Additional build flags + -DOPENCV_LAPACK_SHARED_LIBS=${OPENCV_LAPACK_SHARED_LIBS} + -DOPENCV_DISABLE_FILESYSTEM_SUPPORT=${OPENCV_DISABLE_FILESYSTEM_SUPPORT} + -DCV_ENABLE_INTRINSICS=${CV_ENABLE_INTRINSICS} ###### Additional build flags ${ADDITIONAL_BUILD_FLAGS} - -DBUILD_IPP_IW=${WITH_IPP} - -DOPENCV_LAPACK_FIND_PACKAGE_ONLY=ON + OPTIONS_RELEASE + ###### Python install path + ${PYTHON_EXTRA_DEFINES_RELEASE} + OPTIONS_DEBUG + ###### Python install path + ${PYTHON_EXTRA_DEFINES_DEBUG} ) vcpkg_cmake_install() @@ -473,12 +452,13 @@ if (NOT VCPKG_BUILD_TYPE) vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/opencv4/OpenCVModules-debug.cmake" "\${_IMPORT_PREFIX}/sdk" "\${_IMPORT_PREFIX}/debug/sdk" + IGNORE_UNCHANGED ) endif() - file(READ "${CURRENT_PACKAGES_DIR}/share/opencv4/OpenCVModules.cmake" OPENCV_MODULES) - set(DEPS_STRING "include(CMakeFindDependencyMacro) -if(${BUILD_opencv_dnn}) +file(READ "${CURRENT_PACKAGES_DIR}/share/opencv4/OpenCVModules.cmake" OPENCV_MODULES) +set(DEPS_STRING "include(CMakeFindDependencyMacro) +if(${BUILD_opencv_dnn} AND NOT TARGET libprotobuf) #Check if the CMake target libprotobuf is already defined find_dependency(Protobuf CONFIG REQUIRED) if(TARGET protobuf::libprotobuf) add_library (libprotobuf INTERFACE IMPORTED) @@ -495,110 +475,207 @@ if(${BUILD_opencv_dnn}) endif() endif() find_dependency(Threads)") - if("tiff" IN_LIST FEATURES) - string(APPEND DEPS_STRING "\nfind_dependency(TIFF)") - endif() - if("cuda" IN_LIST FEATURES) - string(APPEND DEPS_STRING "\nfind_dependency(CUDA)") - endif() - if(BUILD_opencv_quality AND "contrib" IN_LIST FEATURES) - string(APPEND DEPS_STRING " +if("tiff" IN_LIST FEATURES) + string(APPEND DEPS_STRING "\nfind_dependency(TIFF)") +endif() +if("ffmpeg" IN_LIST FEATURES) + string(APPEND DEPS_STRING "\nfind_dependency(FFMPEG)") +endif() +if("contrib" IN_LIST FEATURES AND NOT VCPKG_TARGET_IS_UWP AND NOT VCPKG_TARGET_IS_IOS AND NOT (VCPKG_TARGET_IS_WINDOWS AND VCPKG_TARGET_ARCHITECTURE MATCHES "^arm")) + string(APPEND DEPS_STRING " # C language is required for try_compile tests in FindHDF5 enable_language(C) find_dependency(HDF5) find_dependency(Tesseract)") - endif() - if(WITH_CONTRIB AND WITH_FREETYPE) - string(APPEND DEPS_STRING "\nfind_dependency(harfbuzz)") - endif() - if(WITH_TBB) - string(APPEND DEPS_STRING "\nfind_dependency(TBB)") - endif() - if("vtk" IN_LIST FEATURES) - string(APPEND DEPS_STRING "\nfind_dependency(VTK)") - endif() - if("sfm" IN_LIST FEATURES) - string(APPEND DEPS_STRING "\nfind_dependency(gflags CONFIG)\nfind_dependency(Ceres CONFIG)") - endif() - if("eigen" IN_LIST FEATURES) - string(APPEND DEPS_STRING "\nfind_dependency(Eigen3 CONFIG)") - endif() - if("lapack" IN_LIST FEATURES) - string(APPEND DEPS_STRING "\nfind_dependency(LAPACK)") - endif() - if("openexr" IN_LIST FEATURES) - string(APPEND DEPS_STRING "\nfind_dependency(OpenEXR CONFIG)") - endif() - if(WITH_OPENMP) - string(APPEND DEPS_STRING "\nfind_dependency(OpenMP)") - endif() - if(BUILD_opencv_ovis) - string(APPEND DEPS_STRING "\nfind_dependency(OGRE)") - endif() - if("quirc" IN_LIST FEATURES) - string(APPEND DEPS_STRING "\nfind_dependency(quirc)") - endif() - if("qt" IN_LIST FEATURES) - string(APPEND DEPS_STRING " +endif() +if("freetype" IN_LIST FEATURES) + string(APPEND DEPS_STRING "\nfind_dependency(harfbuzz)") +endif() +if("tbb" IN_LIST FEATURES) + string(APPEND DEPS_STRING "\nfind_dependency(TBB)") +endif() +if("vtk" IN_LIST FEATURES) + string(APPEND DEPS_STRING "\nfind_dependency(VTK)") +endif() +if("sfm" IN_LIST FEATURES) + string(APPEND DEPS_STRING "\nfind_dependency(gflags CONFIG)\nfind_dependency(Ceres CONFIG)") +endif() +if("eigen" IN_LIST FEATURES) + string(APPEND DEPS_STRING "\nfind_dependency(Eigen3 CONFIG)") +endif() +if("lapack" IN_LIST FEATURES) + string(APPEND DEPS_STRING "\nfind_dependency(LAPACK)") +endif() +if("openvino" IN_LIST FEATURES) + string(APPEND DEPS_STRING "\nfind_dependency(OpenVINO CONFIG)") +endif() +if("openexr" IN_LIST FEATURES) + string(APPEND DEPS_STRING "\nfind_dependency(OpenEXR CONFIG)") +endif() +if("openjpeg" IN_LIST FEATURES) + string(APPEND DEPS_STRING "\nfind_dependency(OpenJPEG)") +endif() +if("omp" IN_LIST FEATURES) + string(APPEND DEPS_STRING "\nfind_dependency(OpenMP)") +endif() +if("ovis" IN_LIST FEATURES) + string(APPEND DEPS_STRING "\nfind_dependency(OGRE)") +endif() +if("quirc" IN_LIST FEATURES) + string(APPEND DEPS_STRING "\nfind_dependency(quirc)") +endif() +if("qt" IN_LIST FEATURES) + string(APPEND DEPS_STRING " set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) -set(CMAKE_AUTOUIC ON) -find_dependency(Qt${USE_QT_VERSION} COMPONENTS Core Gui Widgets Test Concurrent Core5Compat)") - if("opengl" IN_LIST FEATURES) - string(APPEND DEPS_STRING " -find_dependency(Qt${USE_QT_VERSION} COMPONENTS OpenGL)") - endif() - endif() - if("ade" IN_LIST FEATURES) - string(APPEND DEPS_STRING "\nfind_dependency(ade)") - endif() - if("gdcm" IN_LIST FEATURES) - string(APPEND DEPS_STRING "\nfind_dependency(GDCM)") +set(CMAKE_AUTOUIC ON)") + if("opengl" IN_LIST FEATURES) + string(APPEND DEPS_STRING " +find_dependency(Qt${USE_QT_VERSION} COMPONENTS Core Gui Widgets Test Concurrent ${QT_CORE5COMPAT} OpenGL ${QT_OPENGLWIDGETS})") + else() + string(APPEND DEPS_STRING " +find_dependency(Qt${USE_QT_VERSION} COMPONENTS Core Gui Widgets Test Concurrent ${QT_CORE5COMPAT})") endif() +endif() +if("ade" IN_LIST FEATURES) + string(APPEND DEPS_STRING "\nfind_dependency(ade)") +endif() +if("gdcm" IN_LIST FEATURES) + string(APPEND DEPS_STRING "\nfind_dependency(GDCM)") +endif() - string(REPLACE "set(CMAKE_IMPORT_FILE_VERSION 1)" - "set(CMAKE_IMPORT_FILE_VERSION 1)\n${DEPS_STRING}" OPENCV_MODULES "${OPENCV_MODULES}") +string(REPLACE "set(CMAKE_IMPORT_FILE_VERSION 1)" + "set(CMAKE_IMPORT_FILE_VERSION 1)\n${DEPS_STRING}" OPENCV_MODULES "${OPENCV_MODULES}") - if(WITH_OPENMP) - string(REPLACE "set_target_properties(opencv_core PROPERTIES - INTERFACE_LINK_LIBRARIES \"" - "set_target_properties(opencv_core PROPERTIES - INTERFACE_LINK_LIBRARIES \"\$;" OPENCV_MODULES "${OPENCV_MODULES}") - endif() +if("openmp" IN_LIST FEATURES) + string(REPLACE "set_target_properties(opencv_core PROPERTIES +INTERFACE_LINK_LIBRARIES \"" + "set_target_properties(opencv_core PROPERTIES +INTERFACE_LINK_LIBRARIES \"\$;" OPENCV_MODULES "${OPENCV_MODULES}") +endif() - if(BUILD_opencv_ovis) - string(REPLACE "OgreGLSupportStatic" - "OgreGLSupport" OPENCV_MODULES "${OPENCV_MODULES}") - endif() +if("ovis" IN_LIST FEATURES) + string(REPLACE "OgreGLSupportStatic" + "OgreGLSupport" OPENCV_MODULES "${OPENCV_MODULES}") +endif() - file(WRITE "${CURRENT_PACKAGES_DIR}/share/opencv4/OpenCVModules.cmake" "${OPENCV_MODULES}") +file(WRITE "${CURRENT_PACKAGES_DIR}/share/opencv4/OpenCVModules.cmake" "${OPENCV_MODULES}") if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") endif() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(REMOVE "${CURRENT_PACKAGES_DIR}/LICENSE") -file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/LICENSE") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/opencv4/licenses") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/opencv") - if(VCPKG_TARGET_IS_ANDROID) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/README.android") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/README.android") endif() -if("python" IN_LIST FEATURES) - file(GLOB python_dir LIST_DIRECTORIES true RELATIVE "${CURRENT_PACKAGES_DIR}/lib/" "${CURRENT_PACKAGES_DIR}/lib/python*") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/${python_dir}/site-packages/cv2/typing") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/${python_dir}/site-packages/cv2/typing") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/${PYTHON3_SITE}/cv2/typing") +file(GLOB PYTHON3_SITE_FILES "${CURRENT_PACKAGES_DIR}/${PYTHON3_SITE}/cv2/*.py") +foreach(PYTHON3_SITE_FILE ${PYTHON3_SITE_FILES}) + vcpkg_replace_string("${PYTHON3_SITE_FILE}" + "os.path.join('${CURRENT_PACKAGES_DIR}'" + "os.path.join('.'" + IGNORE_UNCHANGED + ) + vcpkg_replace_string("${PYTHON3_SITE_FILE}" + "os.path.join('${CURRENT_PACKAGES_DIR}/${PYTHON3_SITE}/cv2'" + "os.path.join('.'" + IGNORE_UNCHANGED + ) +endforeach() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/${PYTHON3_SITE}/cv2/typing") +file(GLOB PYTHON3_SITE_FILES_DEBUG "${CURRENT_PACKAGES_DIR}/debug/${PYTHON3_SITE}/cv2/*.py") +foreach(PYTHON3_SITE_FILE_DEBUG ${PYTHON3_SITE_FILES_DEBUG}) + vcpkg_replace_string("${PYTHON3_SITE_FILE_DEBUG}" + "os.path.join('${CURRENT_PACKAGES_DIR}/debug'" + "os.path.join('.'" + IGNORE_UNCHANGED + ) + vcpkg_replace_string("${PYTHON3_SITE_FILE_DEBUG}" + "os.path.join('${CURRENT_PACKAGES_DIR}/debug/${PYTHON3_SITE}/cv2'" + "os.path.join('.'" + IGNORE_UNCHANGED + ) +endforeach() + +if (EXISTS "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/opencv4.pc") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/opencv4.pc" + "-lQt6::Core5Compat" + "-lQt6Core5Compat" + IGNORE_UNCHANGED + ) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/opencv4.pc" + "-lhdf5::hdf5-static" + "-lhdf5" + IGNORE_UNCHANGED + ) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/opencv4.pc" + "-lglog::glog" + "-lglog" + IGNORE_UNCHANGED + ) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/opencv4.pc" + "-lgflags::gflags_static" + "-lgflags" + IGNORE_UNCHANGED + ) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/opencv4.pc" + "-lTesseract::libtesseract" + "-ltesseract" + IGNORE_UNCHANGED + ) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/opencv4.pc" + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/" + "\${prefix}" + IGNORE_UNCHANGED + ) +endif() + +if (EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/opencv4.pc") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/opencv4.pc" + "-lQt6::Core5Compat" + "-lQt6Core5Compat" + IGNORE_UNCHANGED + ) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/opencv4.pc" + "-lhdf5::hdf5-static" + "-lhdf5" + IGNORE_UNCHANGED + ) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/opencv4.pc" + "-lglog::glog" + "-lglog" + IGNORE_UNCHANGED + ) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/opencv4.pc" + "-lgflags::gflags_static" + "-lgflags" + IGNORE_UNCHANGED + ) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/opencv4.pc" + "-lTesseract::libtesseract" + "-ltesseract" + IGNORE_UNCHANGED + ) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/opencv4.pc" + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/" + "\${prefix}" + IGNORE_UNCHANGED + ) endif() vcpkg_fixup_pkgconfig() configure_file("${CURRENT_PORT_DIR}/usage.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" @ONLY) -file(GLOB extra_license_files "${CURRENT_PACKAGES_DIR}/share/licenses/opencv4/*") -vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE" ${extra_license_files}) +file(REMOVE "${CURRENT_PACKAGES_DIR}/LICENSE") +file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/LICENSE") +file(GLOB_RECURSE extra1_license_files "${CURRENT_PACKAGES_DIR}/share/licenses/*") +file(GLOB_RECURSE extra2_license_files "${CURRENT_PACKAGES_DIR}/share/opencv4/licenses/*") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE" ${extra1_license_files} ${extra2_license_files}) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/opencv4/licenses") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/licenses") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/opencv") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/opencv4/usage.in b/ports/opencv4/usage.in index 3c0346ab7a7250..217ce72976182f 100644 --- a/ports/opencv4/usage.in +++ b/ports/opencv4/usage.in @@ -1,5 +1,4 @@ -If you do not install the meta-port *opencv*, the package @PORT@ is compatible with CMake -if you set the OpenCV_DIR *before* the find_package call +@PORT@ is compatible with built-in CMake variables. In case of multiple OpenCV version installed, set OpenCV_ROOT *before* the find_package call: - set(OpenCV_DIR "${VCPKG_INSTALLED_DIR}/@TARGET_TRIPLET@/share/@PORT@") + set(OpenCV_ROOT "${VCPKG_INSTALLED_DIR}/@TARGET_TRIPLET@/share/@PORT@") find_package(OpenCV REQUIRED) diff --git a/ports/opencv4/vcpkg.json b/ports/opencv4/vcpkg.json index 28ceb72bba6221..9ab146681383a4 100644 --- a/ports/opencv4/vcpkg.json +++ b/ports/opencv4/vcpkg.json @@ -1,7 +1,7 @@ { "name": "opencv4", - "version": "4.8.0", - "port-version": 7, + "version": "4.10.0", + "port-version": 3, "description": "computer vision library", "homepage": "https://github.com/opencv/opencv", "license": "Apache-2.0", @@ -30,6 +30,12 @@ "ade" ] }, + "calib3d": { + "description": "calib3d module" + }, + "carotene": { + "description": "carotene module" + }, "contrib": { "description": "opencv_contrib module", "dependencies": [ @@ -37,6 +43,13 @@ "name": "hdf5", "platform": "!uwp & !(windows & (arm | arm64)) & !ios" }, + { + "name": "opencv4", + "default-features": false, + "features": [ + "calib3d" + ] + }, { "name": "tesseract", "platform": "!uwp & !(windows & (arm | arm64)) & !ios" @@ -82,10 +95,14 @@ "name": "opencv4", "default-features": false, "features": [ - "dnn", + "calib3d", + "fs", + "highgui", + "intrinsics", "jpeg", "png", "quirc", + "thread", "tiff", "webp" ] @@ -97,11 +114,37 @@ "gtk" ], "platform": "linux" + }, + { + "name": "opencv4", + "default-features": false, + "features": [ + "gapi" + ], + "platform": "!uwp" + }, + { + "name": "opencv4", + "default-features": false, + "features": [ + "dnn" + ], + "platform": "!android" + }, + { + "name": "opencv4", + "default-features": false, + "features": [ + "dshow", + "win32ui" + ], + "platform": "windows & !uwp" } ] }, "dnn": { "description": "Enable dnn module", + "supports": "!android", "dependencies": [ "flatbuffers", { @@ -125,6 +168,9 @@ } ] }, + "dshow": { + "description": "Enable DirectShow" + }, "eigen": { "description": "Eigen support for opencv", "dependencies": [ @@ -159,6 +205,13 @@ } ] }, + "fs": { + "description": "Enable filesystem support" + }, + "gapi": { + "description": "Enable gapi module", + "supports": "!uwp" + }, "gdcm": { "description": "GDCM support for opencv", "dependencies": [ @@ -203,11 +256,18 @@ } ] }, + "highgui": { + "description": "highgui module" + }, + "intrinsics": { + "description": "Enable intrinsics" + }, "ipp": { - "description": "Enable Intel Integrated Performance Primitives" + "description": "Enable Intel Integrated Performance Primitives", + "supports": "(osx & x64) | (windows & (x64 | x86)) | (linux & (x64 | x86))" }, "jasper": { - "description": "JPEG 2000 support for opencv", + "description": "JPEG 2000 support for opencv (deprecated)", "dependencies": [ "jasper" ] @@ -225,9 +285,19 @@ "lapack" ] }, + "msmf": { + "description": "Microsoft Media Foundation support for opencv", + "supports": "windows & !uwp & !mingw" + }, "nonfree": { "description": "allow nonfree and unredistributable libraries" }, + "opencl": { + "description": "Enable opencl support", + "dependencies": [ + "opencl" + ] + }, "openexr": { "description": "OpenEXR support for opencv", "dependencies": [ @@ -240,11 +310,49 @@ "opengl" ] }, + "openjpeg": { + "description": "JPEG 2000 support for opencv", + "dependencies": [ + "openjpeg" + ] + }, "openmp": { - "description": "Enable openmp support for opencv" + "description": "Enable OpenMP support", + "supports": "!osx" + }, + "openvino": { + "description": "OpenVINO support for OpenCV DNN", + "supports": "!uwp & !x86", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "dnn" + ] + }, + { + "name": "openvino", + "default-features": false, + "features": [ + "auto", + "cpu", + "hetero" + ] + }, + { + "name": "openvino", + "default-features": false, + "features": [ + "gpu" + ], + "platform": "x64 & !(osx | uwp)" + } + ] }, "ovis": { "description": "opencv_ovis module", + "supports": "!(windows & static)", "dependencies": [ "ogre", { @@ -265,7 +373,13 @@ "python": { "description": "Python wrapper support for opencv", "dependencies": [ - "python3" + { + "name": "python3", + "default-features": false, + "features": [ + "extensions" + ] + } ] }, "qt": { @@ -284,12 +398,37 @@ } ] }, + "quality": { + "description": "Build opencv_quality module", + "supports": "!uwp", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "contrib" + ] + } + ] + }, "quirc": { "description": "Enable QR code module", "dependencies": [ "quirc" ] }, + "rgbd": { + "description": "Build opencv_rgbd module", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "contrib" + ] + } + ] + }, "sfm": { "description": "opencv_sfm module", "dependencies": [ @@ -314,14 +453,21 @@ }, "tbb": { "description": "Enable Intel Threading Building Blocks", + "supports": "!static", "dependencies": [ "tbb" ] }, + "thread": { + "description": "Enable thread support" + }, "tiff": { "description": "TIFF support for opencv", "dependencies": [ - "tiff" + { + "name": "tiff", + "default-features": false + } ] }, "vtk": { @@ -333,7 +479,22 @@ "contrib" ] }, - "vtk" + { + "name": "vtk", + "default-features": false + } + ] + }, + "vulkan": { + "description": "Vulkan support for opencv dnn", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "dnn" + ] + } ] }, "webp": { @@ -342,6 +503,10 @@ "libwebp" ] }, + "win32ui": { + "description": "Enable win32ui", + "supports": "windows & !uwp" + }, "world": { "description": "Compile to a single package support for opencv" } diff --git a/ports/openexr/fix-arm64-windows-build.patch b/ports/openexr/fix-arm64-windows-build.patch deleted file mode 100644 index 1d3310a8b98588..00000000000000 --- a/ports/openexr/fix-arm64-windows-build.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/lib/OpenEXRCore/internal_dwa_simd.h b/src/lib/OpenEXRCore/internal_dwa_simd.h -index 7b53501ac..ca69c9848 100644 ---- a/src/lib/OpenEXRCore/internal_dwa_simd.h -+++ b/src/lib/OpenEXRCore/internal_dwa_simd.h -@@ -18,7 +18,7 @@ - // aligned. Unaligned pointers may risk seg-faulting. - // - --#if defined __SSE2__ || (_MSC_VER >= 1300 && !_M_CEE_PURE) -+#if defined __SSE2__ || (_MSC_VER >= 1300 && (_M_IX86 || _M_X64) && !_M_CEE_PURE) - # define IMF_HAVE_SSE2 1 - # include - # include diff --git a/ports/openexr/portfile.cmake b/ports/openexr/portfile.cmake index 8ffa6c76bb898f..35187716907549 100644 --- a/ports/openexr/portfile.cmake +++ b/ports/openexr/portfile.cmake @@ -2,10 +2,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO AcademySoftwareFoundation/openexr REF "v${VERSION}" - SHA512 ec60e79341695452e05f50bbcc0d55e0ce00fbb64cdec01a83911189c8643eb28a8046b14ee4230e5f438f018f2f1d0714f691983474d7979befd199f3f34758 - HEAD_REF master - PATCHES - fix-arm64-windows-build.patch # https://github.com/AcademySoftwareFoundation/openexr/pull/1447 + SHA512 0c43337fda2979b328202488a43711afb5d680781c933aa0d74970a3dcda1135fbd01228cb10e81e4628c0d19da2d3e5b781e147d609cdc8a796d2a51a90932f + HEAD_REF main ) vcpkg_check_features(OUT_FEATURE_OPTIONS OPTIONS @@ -18,8 +16,10 @@ vcpkg_cmake_configure( OPTIONS ${OPTIONS} -DBUILD_TESTING=OFF - -DOPENEXR_INSTALL_EXAMPLES=OFF - -DBUILD_DOCS=OFF + -DBUILD_WEBSITE=OFF + -DCMAKE_REQUIRE_FIND_PACKAGE_libdeflate=ON + -DOPENEXR_BUILD_EXAMPLES=OFF + -DOPENEXR_INSTALL_PKG_CONFIG=ON OPTIONS_DEBUG -DOPENEXR_BUILD_TOOLS=OFF -DOPENEXR_INSTALL_TOOLS=OFF @@ -28,11 +28,23 @@ vcpkg_cmake_install() vcpkg_copy_pdbs() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/OpenEXR) + vcpkg_fixup_pkgconfig() if(OPENEXR_INSTALL_TOOLS) vcpkg_copy_tools( - TOOL_NAMES exrenvmap exrheader exrinfo exrmakepreview exrmaketiled exrmultipart exrmultiview exrstdattr exr2aces + TOOL_NAMES + exr2aces + # not installed: exrcheck + exrenvmap + exrheader + exrinfo + exrmakepreview + exrmaketiled + exrmanifest + exrmultipart + exrmultiview + exrstdattr AUTO_CLEAN ) endif() @@ -43,4 +55,4 @@ file(REMOVE_RECURSE ) file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -file(INSTALL "${SOURCE_PATH}/LICENSE.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") diff --git a/ports/openexr/vcpkg.json b/ports/openexr/vcpkg.json index 7f35bfac6911f1..b2630382ec7073 100644 --- a/ports/openexr/vcpkg.json +++ b/ports/openexr/vcpkg.json @@ -1,12 +1,13 @@ { "name": "openexr", - "version": "3.1.8", + "version": "3.3.2", "description": "OpenEXR is a high dynamic-range (HDR) image file format developed by Industrial Light & Magic for use in computer imaging applications", "homepage": "https://www.openexr.com/", "license": "BSD-3-Clause", "supports": "!uwp", "dependencies": [ "imath", + "libdeflate", { "name": "vcpkg-cmake", "host": true @@ -14,8 +15,7 @@ { "name": "vcpkg-cmake-config", "host": true - }, - "zlib" + } ], "features": { "tools": { diff --git a/ports/openfbx/CMakeLists.txt b/ports/openfbx/CMakeLists.txt index 820b4442c2b799..9339b26d0c3a6c 100644 --- a/ports/openfbx/CMakeLists.txt +++ b/ports/openfbx/CMakeLists.txt @@ -6,10 +6,11 @@ set(CMAKE_CXX_STANDARD 11) include(GNUInstallDirs) -find_package(miniz REQUIRED) +find_package(libdeflate REQUIRED) add_library(openfbx src/ofbx.cpp) -target_link_libraries(openfbx PRIVATE miniz::miniz) +target_link_libraries(openfbx PRIVATE $,libdeflate::libdeflate_shared,libdeflate::libdeflate_static>) + target_include_directories(openfbx PUBLIC diff --git a/ports/openfbx/portfile.cmake b/ports/openfbx/portfile.cmake index 4e1e77b30c457d..fef22d72434848 100644 --- a/ports/openfbx/portfile.cmake +++ b/ports/openfbx/portfile.cmake @@ -5,8 +5,8 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO nem0/OpenFBX - REF 6a788af3b19dd6921a64eb7e133a3fa131dfbbd5 - SHA512 c441e15ef0916e412af464c9f318a471cdbdc55225fe4282ff640243cd11dfcac6ff233ae8e60db63d1eaed1511d33ffa8d7ed37743c4580f8bde0724d7b6c47 + REF ea1af1d81cd04c603e65042c95385370274c61af + SHA512 f3d1593e3f225847a1cbcb3d36d558a9f9b9929d290bf4e6873d1bc91543e5d7ac7913296049875a1a734442abfffd9de22eb3f493a6bd799bf3790a64f20409 HEAD_REF master ) @@ -23,3 +23,4 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) + diff --git a/ports/openfbx/unofficial-openfbxConfig.cmake.in b/ports/openfbx/unofficial-openfbxConfig.cmake.in index 421787837f23e3..88e675917e9e16 100644 --- a/ports/openfbx/unofficial-openfbxConfig.cmake.in +++ b/ports/openfbx/unofficial-openfbxConfig.cmake.in @@ -1,8 +1,8 @@ @PACKAGE_INIT@ include(CMakeFindDependencyMacro) -find_dependency(miniz) +find_dependency(libdeflate) include("${CMAKE_CURRENT_LIST_DIR}/unofficial-openfbxTargets.cmake") -check_required_components(miniz) +check_required_components(libdeflate) diff --git a/ports/openfbx/vcpkg.json b/ports/openfbx/vcpkg.json index 6c59df51871843..a75946b3915f78 100644 --- a/ports/openfbx/vcpkg.json +++ b/ports/openfbx/vcpkg.json @@ -1,11 +1,12 @@ { "name": "openfbx", - "version-date": "2022-07-18", + "version-date": "2024-05-08", + "port-version": 1, "description": "Lightweight open source FBX importer", "homepage": "https://github.com/nem0/OpenFBX", "license": "MIT", "dependencies": [ - "miniz", + "libdeflate", { "name": "vcpkg-cmake", "host": true diff --git a/ports/openfx/CMakeLists.txt b/ports/openfx/CMakeLists.txt new file mode 100644 index 00000000000000..079ff111e3b3db --- /dev/null +++ b/ports/openfx/CMakeLists.txt @@ -0,0 +1,73 @@ +cmake_minimum_required(VERSION 3.20) + +project(openfx VERSION 1.4.0 LANGUAGES CXX) + +set(CMAKE_CXX_STANDARD 14) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +if(WIN32) + add_compile_definitions(WINDOWS NOMINMAX WIN64) + set(OS_VAR "windows") + set(OFX_ARCH_NAME "Win64") +endif() + +set(OFX_HEADERS_DIR ${CMAKE_CURRENT_SOURCE_DIR}/include) + +add_library(OpenFx INTERFACE) +target_include_directories(OpenFx + INTERFACE + $ + $ +) + +set(OFX_SUPPORT_HEADERS_DIR ${CMAKE_CURRENT_SOURCE_DIR}/Support/include) + +add_library(OfxSupport STATIC + Support/Library/ofxsCore.cpp + Support/Library/ofxsImageEffect.cpp + Support/Library/ofxsInteract.cpp + Support/Library/ofxsLog.cpp + Support/Library/ofxsMultiThread.cpp + Support/Library/ofxsParams.cpp + Support/Library/ofxsProperty.cpp + Support/Library/ofxsPropertyValidation.cpp +) +target_include_directories(OfxSupport + PUBLIC + $ + $ + $ +) +target_link_libraries(OfxSupport INTERFACE OpenFx) +target_compile_features(OfxSupport PUBLIC cxx_std_11) + +install( + TARGETS OpenFx OfxSupport + EXPORT openfx-export + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib +) + +install( + EXPORT openfx-export + FILE unofficial-openfxConfig.cmake + NAMESPACE unofficial::openfx:: + DESTINATION "share/unofficial-openfx" +) + +file(GLOB OFX_HEADERS "${OFX_HEADERS_DIR}/*.h" "${OFX_SUPPORT_HEADERS_DIR}/*.h") +install(FILES ${OFX_HEADERS} + DESTINATION include/openfx +) + +include(CMakePackageConfigHelpers) + +write_basic_package_version_file( + "${CMAKE_CURRENT_BINARY_DIR}/unofficial-openfxConfigVersion.cmake" + VERSION ${PROJECT_VERSION} + COMPATIBILITY AnyNewerVersion +) +install( + FILES "${CMAKE_CURRENT_BINARY_DIR}/unofficial-openfxConfigVersion.cmake" + DESTINATION "share/unofficial-openfx" +) diff --git a/ports/openfx/portfile.cmake b/ports/openfx/portfile.cmake new file mode 100644 index 00000000000000..fb2c2f38119f5b --- /dev/null +++ b/ports/openfx/portfile.cmake @@ -0,0 +1,22 @@ +string(REPLACE "." "_" UNDERSCORE_VERSION "${VERSION}") + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO AcademySoftwareFoundation/openfx + REF "OFX_Release_${UNDERSCORE_VERSION}_TAG" + SHA512 b20512ea38823167f191b72f1592548df85fbda6cefe47673972874c139641ee91277e78c1e0d57a457b9f864385e6fa0e4a7edcdbf0c7b2eda956c03a3e1e13 + HEAD_REF main +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + +vcpkg_cmake_configure(SOURCE_PATH ${SOURCE_PATH}) +vcpkg_cmake_install() +vcpkg_fixup_pkgconfig() +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-openfx) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/DocSrc") + +configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" COPYONLY) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/Support/LICENSE") diff --git a/ports/openfx/usage b/ports/openfx/usage new file mode 100644 index 00000000000000..98a91281e75518 --- /dev/null +++ b/ports/openfx/usage @@ -0,0 +1,7 @@ +The package OpenFX provides CMake targets: + + find_package(unofficial-openfx CONFIG REQUIRED) + # C-based API + target_link_libraries(main PRIVATE unofficial::openfx::OpenFx) + # C++ wrapper + target_link_libraries(main PRIVATE unofficial::openfx::OfxSupport) diff --git a/ports/openfx/vcpkg.json b/ports/openfx/vcpkg.json new file mode 100644 index 00000000000000..33634ae585c0d2 --- /dev/null +++ b/ports/openfx/vcpkg.json @@ -0,0 +1,19 @@ +{ + "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json", + "name": "openfx", + "version": "1.4", + "maintainers": "Reza Alizadeh Majd , Behnam Binesh ", + "summary": "OpenFX - An open-source plugin API for visual effects", + "homepage": "https://github.com/AcademySoftwareFoundation/openfx", + "license": "BSD-3-Clause", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/opengl-registry/copyright b/ports/opengl-registry/copyright new file mode 100644 index 00000000000000..c4223935274619 --- /dev/null +++ b/ports/opengl-registry/copyright @@ -0,0 +1,2 @@ +The files installed by the `opengl-registry` port are using different licenses. +Each file defines its license in a comment at the top of the file. diff --git a/ports/opengl-registry/portfile.cmake b/ports/opengl-registry/portfile.cmake index f99443dc02e3d5..09d2adab4104b2 100644 --- a/ports/opengl-registry/portfile.cmake +++ b/ports/opengl-registry/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KhronosGroup/OpenGL-Registry - REF 5bae8738b23d06968e7c3a41308568120943ae77 - SHA512 3f8c58474627ded85d95f8a4d86329ec4f55b179eb2df393983462d42088e9496eef1a5980481f4b085e6ffb749cd5dd3b312a1e2b7b8189d9723a673ec65b0d + REF 3530768138c5ba3dfbb2c43c830493f632f7ea33 + SHA512 1b2260e2baf2f40964ff6677ce2c5f0e970752408e94b251d443de57c2021d8848dda8ba61ba67547692dfd283fd2351fc900da60e3973f14b7b9be8a5ec5145 HEAD_REF master ) @@ -19,12 +19,7 @@ file(COPY DESTINATION "${CURRENT_PACKAGES_DIR}/share/opengl" ) -# Using the Makefile because it is the smallest file with a complete copy of the license text -file( - INSTALL "${SOURCE_PATH}/xml/Makefile" - DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" - RENAME copyright -) +vcpkg_install_copyright(FILE_LIST "${CURRENT_PORT_DIR}/copyright") # pc layout from cygwin (consumed in xserver!) file(WRITE "${CURRENT_PACKAGES_DIR}/share/pkgconfig/khronos-opengl-registry.pc" [=[ @@ -33,5 +28,5 @@ datadir=${prefix}/share specdir=${datadir}/opengl Name: khronos-opengl-registry Description: Khronos OpenGL registry -Version: git4594c03239fb76580bc5d5a13acb2a8f563f0158 +Version: git3530768138c5ba3dfbb2c43c830493f632f7ea33 ]=]) diff --git a/ports/opengl-registry/vcpkg.json b/ports/opengl-registry/vcpkg.json index 1464f4faab401f..7e2db5b4460235 100644 --- a/ports/opengl-registry/vcpkg.json +++ b/ports/opengl-registry/vcpkg.json @@ -1,8 +1,8 @@ { "name": "opengl-registry", - "version-date": "2022-09-29", + "version-date": "2024-02-10", "port-version": 1, - "description": "the API and Extension registries for the OpenGL family APIs", + "description": "OpenGL, OpenGL ES, and OpenGL ES-SC API and Extension Registry", "homepage": "https://github.com/KhronosGroup/OpenGL-Registry", "supports": "!xbox", "dependencies": [ diff --git a/ports/openh264/0001-respect-default-library-option.patch b/ports/openh264/0001-respect-default-library-option.patch deleted file mode 100644 index 15e3c715451d5a..00000000000000 --- a/ports/openh264/0001-respect-default-library-option.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 328b15a962caa928373b55d85f9911f45442886e Mon Sep 17 00:00:00 2001 -From: Xavier Claessens -Date: Mon, 19 Oct 2020 17:03:25 -0400 -Subject: [PATCH] meson: Respect default_library option - -When using library() instead of shared_library() and static_library, -meson will build shared, static, or both depending on the -value of static_library option. - -As far as I know extract_all_objects() was uses as workaround for Meson -bugs fixed a while ago when using not installed static libraries. ---- - meson.build | 19 +++---------------- - 1 file changed, 3 insertions(+), 16 deletions(-) - -diff --git a/meson.build b/meson.build -index 283413375b..65641508de 100644 ---- a/meson.build -+++ b/meson.build -@@ -184,26 +184,13 @@ api_header_deps = [] - subdir ('codec') - subdir ('test') - --all_objects = [ -- libcommon.extract_all_objects(), -- libprocessing.extract_all_objects(), -- libencoder.extract_all_objects(), -- libdecoder.extract_all_objects() --] -- --libopenh264_shared = shared_library('openh264', -- objects: all_objects, -+libopenh264 = library('openh264', -+ link_whole: [libcommon, libprocessing, libencoder, libdecoder], - install: true, - soversion: major_version, -- version: meson.project_version(), - vs_module_defs: 'openh264.def', - dependencies: deps) - --libopenh264_static = static_library('openh264', -- objects: all_objects, -- install: true, -- dependencies: deps) -- - pkg_install_dir = '@0@/pkgconfig'.format(get_option('libdir')) - - foreach t : ['', '-static'] -@@ -235,7 +222,7 @@ foreach t : ['', '-static'] - endforeach - - openh264_dep = declare_dependency( -- link_with: libopenh264_shared, -+ link_with: libopenh264, - include_directories: include_directories('include'), - dependencies: deps + api_header_deps) - diff --git a/ports/openh264/portfile.cmake b/ports/openh264/portfile.cmake index 903bb593996a14..8da8eded073b16 100644 --- a/ports/openh264/portfile.cmake +++ b/ports/openh264/portfile.cmake @@ -1,35 +1,56 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO cisco/openh264 - REF f15f940425eebf24ce66984db2445733cf500b7b - SHA512 361003296e9cef2956aeff76ae4df7a949a585710facd84a92c1b4164c5a4522d6615fcc485ebc2e50be8a13feb942b870efdd28837307467081cb1eba1f17d2 - PATCHES - 0001-respect-default-library-option.patch # https://github.com/cisco/openh264/pull/3351 + REF v${VERSION} + SHA512 cb6d3ca8d5277325dd64dec399421c4c62bc1fd012fe1521d7195e95ce7f59527919cf698829044dca3d9b1d8288c49b49111d01c9d2896c819da806492af838 ) +set(cxx_link_libraries "") +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + block(PROPAGATE cxx_link_libraries) + vcpkg_list(APPEND VCPKG_CMAKE_CONFIGURE_OPTIONS "-DVCPKG_DEFAULT_VARS_TO_CHECK=CMAKE_C_IMPLICIT_LINK_LIBRARIES;CMAKE_CXX_IMPLICIT_LINK_LIBRARIES") + vcpkg_cmake_get_vars(cmake_vars_file) + include("${cmake_vars_file}") + list(REMOVE_ITEM VCPKG_DETECTED_CMAKE_CXX_IMPLICIT_LINK_LIBRARIES ${VCPKG_DETECTED_CMAKE_C_IMPLICIT_LINK_LIBRARIES}) + list(TRANSFORM VCPKG_DETECTED_CMAKE_CXX_IMPLICIT_LINK_LIBRARIES PREPEND "-l") + string(JOIN " " cxx_link_libraries ${VCPKG_DETECTED_CMAKE_CXX_IMPLICIT_LINK_LIBRARIES}) + endblock() +endif() + +vcpkg_list(SET additional_binaries) if((VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")) vcpkg_find_acquire_program(NASM) - get_filename_component(NASM_EXE_PATH ${NASM} DIRECTORY) - vcpkg_add_to_path(${NASM_EXE_PATH}) + vcpkg_list(APPEND additional_binaries "nasm = ['${NASM}']") elseif(VCPKG_TARGET_IS_WINDOWS) vcpkg_find_acquire_program(GASPREPROCESSOR) - foreach(GAS_PATH ${GASPREPROCESSOR}) - get_filename_component(GAS_ITEM_PATH ${GAS_PATH} DIRECTORY) - vcpkg_add_to_path(${GAS_ITEM_PATH}) - endforeach(GAS_PATH) + list(JOIN GASPREPROCESSOR "','" gaspreprocessor) + vcpkg_list(APPEND additional_binaries "gas-preprocessor.pl = ['${gaspreprocessor}']") endif() vcpkg_configure_meson( - SOURCE_PATH ${SOURCE_PATH} - OPTIONS -Dtests=disabled + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -Dtests=disabled + ADDITIONAL_BINARIES + ${additional_binaries} ) - vcpkg_install_meson() vcpkg_copy_pdbs() vcpkg_fixup_pkgconfig() -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") +if(cxx_link_libraries) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/openh264.pc" + "(Libs:[^\r\n]*)" + "\\1 ${cxx_link_libraries}" + REGEX + ) + if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/openh264.pc" + "(Libs:[^\r\n]*)" + "\\1 ${cxx_link_libraries}" + REGEX + ) + endif() endif() -configure_file("${SOURCE_PATH}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/openh264/vcpkg.json b/ports/openh264/vcpkg.json index 23f7be6b01d8ad..160686a563f74b 100644 --- a/ports/openh264/vcpkg.json +++ b/ports/openh264/vcpkg.json @@ -1,11 +1,14 @@ { "name": "openh264", - "version-date": "2021-03-16", - "port-version": 3, + "version": "2.5.0", "description": "OpenH264 is a codec library which supports H.264 encoding and decoding. It is suitable for use in real time applications such as WebRTC.", "homepage": "https://www.openh264.org/", - "supports": "!uwp", + "license": "BSD-2-Clause", "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, { "name": "vcpkg-tool-meson", "host": true diff --git a/ports/openimageio/fix-dependencies.patch b/ports/openimageio/fix-dependencies.patch index 59dcea643676ee..60254a7dd77598 100644 --- a/ports/openimageio/fix-dependencies.patch +++ b/ports/openimageio/fix-dependencies.patch @@ -1,14 +1,20 @@ diff --git a/src/cmake/Config.cmake.in b/src/cmake/Config.cmake.in -index 0a6afeb..2a67ee3 100644 +index 2620994..6e5f0a1 100644 --- a/src/cmake/Config.cmake.in +++ b/src/cmake/Config.cmake.in -@@ -2,6 +2,23 @@ +@@ -6,6 +6,32 @@ include(CMakeFindDependencyMacro) -+if (@USE_LIBHEIF@) ++if(@USE_GIF@) ++ find_dependency(GIF) ++endif() ++if(@USE_LIBHEIF@) + find_dependency(libheif CONFIG) +endif() ++if(@USE_FREETYPE@) ++ find_dependency(freetype CONFIG) ++endif() +find_dependency(PNG) +if(@USE_OPENCV@) + find_dependency(OpenCV CONFIG) @@ -22,60 +28,61 @@ index 0a6afeb..2a67ee3 100644 +if(@USE_WEBP@) + find_dependency(WebP CONFIG) +endif() ++if(@USE_LIBRAW@) ++ find_dependency(LibRaw) ++endif() + # add here all the find_dependency() whenever switching to config based dependencies if (NOT @OPENIMAGEIO_CONFIG_DO_NOT_FIND_IMATH@ AND NOT OPENIMAGEIO_CONFIG_DO_NOT_FIND_IMATH) - if (@OpenEXR_VERSION@ VERSION_GREATER_EQUAL 3.0) + find_dependency(Imath @Imath_VERSION@ diff --git a/src/cmake/externalpackages.cmake b/src/cmake/externalpackages.cmake -index 3ca046b..dad053c 100644 +index f8670a8..816ba08 100644 --- a/src/cmake/externalpackages.cmake +++ b/src/cmake/externalpackages.cmake -@@ -174,14 +174,19 @@ endif () - checked_find_package (Freetype - DEFINITIONS -DUSE_FREETYPE=1 ) +@@ -125,16 +125,18 @@ checked_find_package (Freetype + VERSION_MIN 2.10.0 + DEFINITIONS USE_FREETYPE=1 ) --checked_find_package (OpenColorIO +-checked_find_package (OpenColorIO REQUIRED +- VERSION_MIN 2.2 +- VERSION_MAX 2.9 +- ) ++find_package(OpenColorIO CONFIG REQUIRED) +set(OPENCOLORIO_INCLUDES "") +set(OPENCOLORIO_LIBRARIES OpenColorIO::OpenColorIO) -+checked_find_package (OpenColorIO CONFIG - DEFINITIONS -DUSE_OCIO=1 -DUSE_OPENCOLORIO=1 - # PREFER_CONFIG - ) -+set(OPENCOLORIO_FOUND "${OpenColorIO_FOUND}") - if (NOT OpenColorIO_FOUND) - set (OpenColorIO_FOUND 0) ++checked_find_package (OpenColorIO CONFIG) + if (NOT OPENCOLORIO_INCLUDES) + get_target_property(OPENCOLORIO_INCLUDES OpenColorIO::OpenColorIO INTERFACE_INCLUDE_DIRECTORIES) endif () --checked_find_package (OpenCV 3.0 + include_directories(BEFORE ${OPENCOLORIO_INCLUDES}) + +-checked_find_package (OpenCV 4.0 +set(OPENCV_INCLUDES "") +set(OPENCV_LIBRARIES opencv_core) +checked_find_package (OpenCV CONFIG - DEFINITIONS -DUSE_OPENCV=1) + DEFINITIONS USE_OPENCV=1) # Intel TBB -@@ -191,14 +196,18 @@ checked_find_package (TBB 2017 - PREFER_CONFIG) +@@ -146,11 +148,15 @@ checked_find_package (TBB 2017 + # DCMTK is used to read DICOM images + checked_find_package (DCMTK CONFIG VERSION_MIN 3.6.1) - checked_find_package (DCMTK VERSION_MIN 3.6.1) # For DICOM images --checked_find_package (FFmpeg VERSION_MIN 3.0) +-checked_find_package (FFmpeg VERSION_MIN 4.0) +checked_find_package (FFmpeg) +set(FFmpeg_FOUND "${FFMPEG_FOUND}") +set(FFMPEG_INCLUDES "${FFMPEG_INCLUDE_DIRS}") - checked_find_package (GIF - VERSION_MIN 4 - RECOMMEND_MIN 5.0 - RECOMMEND_MIN_REASON "for stability and thread safety") + + checked_find_package (GIF VERSION_MIN 5.0) # For HEIF/HEIC/AVIF formats --checked_find_package (Libheif VERSION_MIN 1.3 +set(LIBHEIF_INCLUDES "") +set(LIBHEIF_LIBRARIES heif) -+checked_find_package (Libheif CONFIG - RECOMMEND_MIN 1.7 - RECOMMEND_MIN_REASON "for AVIF support") - if (APPLE AND LIBHEIF_VERSION VERSION_GREATER_EQUAL 1.10 AND LIBHEIF_VERSION VERSION_LESS 1.11) -@@ -219,9 +228,8 @@ if (LibRaw_FOUND AND LibRaw_VERSION VERSION_LESS 0.20 AND CMAKE_CXX_STANDARD VER - # set (LIBRAW_FOUND 0) - endif () + checked_find_package (Libheif VERSION_MIN 1.11 + RECOMMEND_MIN 1.16 + RECOMMEND_MIN_REASON "for orientation support") +@@ -159,9 +165,8 @@ checked_find_package (LibRaw + VERSION_MIN 0.20.0 + PRINT LibRaw_r_LIBRARIES) -checked_find_package (OpenJPEG VERSION_MIN 2.0 - RECOMMEND_MIN 2.2 @@ -85,12 +92,12 @@ index 3ca046b..dad053c 100644 # Note: Recent OpenJPEG versions have exported cmake configs, but we don't # find them reliable at all, so we stick to our FindOpenJPEG.cmake module. -@@ -238,6 +246,8 @@ if (NOT Ptex_FOUND OR NOT Ptex_VERSION) +@@ -178,6 +183,8 @@ if (NOT Ptex_FOUND OR NOT Ptex_VERSION) checked_find_package (Ptex) endif () +set(WEBP_INCLUDES "") +set(WEBP_LIBRARIES WebP::webp WebP::webpdemux) - checked_find_package (WebP) + checked_find_package (WebP VERSION_MIN 1.1) option (USE_R3DSDK "Enable R3DSDK (RED camera) support" OFF) diff --git a/ports/openimageio/fix-openexr-dll.patch b/ports/openimageio/fix-openexr-dll.patch deleted file mode 100644 index d5b7d8c7d44d82..00000000000000 --- a/ports/openimageio/fix-openexr-dll.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/cmake/externalpackages.cmake b/src/cmake/externalpackages.cmake -index 0ca1fe6..1eeb5ab 100644 ---- a/src/cmake/externalpackages.cmake -+++ b/src/cmake/externalpackages.cmake -@@ -105,7 +105,7 @@ checked_find_package (OpenEXR REQUIRED - # building against Imath/OpenEXR 3.x when there is still a system-level - # install version of 2.x. - include_directories(BEFORE ${IMATH_INCLUDES} ${OPENEXR_INCLUDES}) --if (MSVC AND NOT LINKSTATIC) -+if (WIN32 AND BUILD_SHARED_LIBS) - add_definitions (-DOPENEXR_DLL) # Is this needed for new versions? - endif () - if (OpenEXR_VERSION VERSION_GREATER_EQUAL 3.0) diff --git a/ports/openimageio/fix-openexr-target-missing.patch b/ports/openimageio/fix-openexr-target-missing.patch index ef16615df28d41..4ae28a345c1b03 100644 --- a/ports/openimageio/fix-openexr-target-missing.patch +++ b/ports/openimageio/fix-openexr-target-missing.patch @@ -1,13 +1,13 @@ diff --git a/src/cmake/Config.cmake.in b/src/cmake/Config.cmake.in -index 08401a2..4f2694e 100644 +index 2620994b3..c9cbe7290 100644 --- a/src/cmake/Config.cmake.in +++ b/src/cmake/Config.cmake.in -@@ -24,6 +24,8 @@ if (NOT @OPENIMAGEIO_CONFIG_DO_NOT_FIND_IMATH@ AND NOT OPENIMAGEIO_CONFIG_DO_NOT - if (@OpenEXR_VERSION@ VERSION_GREATER_EQUAL 3.0) - find_dependency(Imath @Imath_VERSION@ - HINTS @Imath_DIR@) -+ find_dependency(OpenEXR @OpenEXR_VERSION@ +@@ -10,6 +10,8 @@ include(CMakeFindDependencyMacro) + if (NOT @OPENIMAGEIO_CONFIG_DO_NOT_FIND_IMATH@ AND NOT OPENIMAGEIO_CONFIG_DO_NOT_FIND_IMATH) + find_dependency(Imath @Imath_VERSION@ + HINTS @Imath_DIR@) ++ find_dependency(OpenEXR @OpenEXR_VERSION@ + HINTS @OpenEXR_DIR@) - elseif (@OpenEXR_VERSION@ VERSION_GREATER_EQUAL 2.4 AND @FOUND_OPENEXR_WITH_CONFIG@) - find_dependency(IlmBase @OpenEXR_VERSION@ - HINTS @IlmBase_DIR@ @OpenEXR_DIR@) + endif () + + if (NOT @fmt_LOCAL_BUILD@ AND NOT @OIIO_INTERNALIZE_FMT@) diff --git a/ports/openimageio/fix-static-ffmpeg.patch b/ports/openimageio/fix-static-ffmpeg.patch index 16096dd091d802..e21cacd7ce56fb 100644 --- a/ports/openimageio/fix-static-ffmpeg.patch +++ b/ports/openimageio/fix-static-ffmpeg.patch @@ -1,10 +1,9 @@ -diff --git a/src/python/CMakeLists.txt b/src/python/CMakeLists.txt -index dc260a7..433ffbb 100644 +diff -u -r a/src/python/CMakeLists.txt b/src/python/CMakeLists.txt --- a/src/python/CMakeLists.txt +++ b/src/python/CMakeLists.txt -@@ -6,6 +6,13 @@ - checked_find_package (pybind11 REQUIRED - VERSION_MIN 2.4.2) +@@ -3,6 +3,13 @@ + # https://github.com/AcademySoftwareFoundation/OpenImageIO + +if(USE_FFMPEG AND UNIX AND NOT BUILD_SHARED_LIBS AND VCPKG_CRT_LINKAGE STREQUAL "dynamic") + include(CheckLinkerFlag) diff --git a/ports/openimageio/imath-version-guard.patch b/ports/openimageio/imath-version-guard.patch index 5a8ac18a888767..10af02ea41879c 100644 --- a/ports/openimageio/imath-version-guard.patch +++ b/ports/openimageio/imath-version-guard.patch @@ -1,16 +1,16 @@ diff --git a/src/cmake/externalpackages.cmake b/src/cmake/externalpackages.cmake -index 4d7e11c..0f15ba9 100644 +index 816ba08..7fe6a14 100644 --- a/src/cmake/externalpackages.cmake +++ b/src/cmake/externalpackages.cmake -@@ -184,6 +184,11 @@ set(OPENCOLORIO_FOUND "${OpenColorIO_FOUND}") - if (NOT OpenColorIO_FOUND) - set (OpenColorIO_FOUND 0) +@@ -133,6 +133,11 @@ if (NOT OPENCOLORIO_INCLUDES) + get_target_property(OPENCOLORIO_INCLUDES OpenColorIO::OpenColorIO INTERFACE_INCLUDE_DIRECTORIES) endif () + include_directories(BEFORE ${OPENCOLORIO_INCLUDES}) +if(USE_OPENCOLORIO AND TARGET Imath::Imath AND OIIO_USING_IMATH STREQUAL "2") + message(FATAL_ERROR + "OpenColorIO and OpenEXR use incompatible versions of Imath. " + "You cannot use openimageio[opencolorio] for this configuration.") +endif() + set(OPENCV_INCLUDES "") set(OPENCV_LIBRARIES opencv_core) - checked_find_package (OpenCV CONFIG diff --git a/ports/openimageio/portfile.cmake b/ports/openimageio/portfile.cmake index d56f4ed2bb25e9..e440d2e25b85f8 100644 --- a/ports/openimageio/portfile.cmake +++ b/ports/openimageio/portfile.cmake @@ -1,16 +1,22 @@ +vcpkg_download_distfile(FIX_LIBRAW_BUILD_PATCH + URLS https://github.com/AcademySoftwareFoundation/OpenImageIO/commit/904df59ab74d0c89c1c9eea7d5ef0ecfe0620b2c.diff?full_index=1 + FILENAME AcademySoftwareFoundation-OpenImageIO-libraw-build.patch + SHA512 0c3bb7bf76c8fd3e1e9408373cced3e8f1e189df268cef27c7ca7244ab6e15be8b96759505238aafd63061f683b0c552d7d710bf8ab49edb0de0d2aff8ceb8fc +) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO AcademySoftwareFoundation/OpenImageIO REF "v${VERSION}" - SHA512 6b87c805907a2f7c98f40e987fb6ebf769f8519f5d8a8b7393bed62a41cee1118bb32d2bc4d23fd464973e237077d08771ff85f72073caa57799d71bd098038f + SHA512 8639b32ea3bd4d9188b346144721006cb93e09035ac6ec64636f1df97a26775b4dc53491b991aac943053824e2c2d52209a9a580a470d6450f2d55006554d87a HEAD_REF master PATCHES fix-dependencies.patch fix-static-ffmpeg.patch - fix-openexr-dll.patch imath-version-guard.patch fix-openimageio_include_dir.patch fix-openexr-target-missing.patch + ${FIX_LIBRAW_BUILD_PATCH} ) file(REMOVE_RECURSE "${SOURCE_PATH}/ext") @@ -25,6 +31,7 @@ file(REMOVE "${SOURCE_PATH}/src/cmake/modules/FindWebP.cmake" "${SOURCE_PATH}/src/cmake/modules/Findfmt.cmake" "${SOURCE_PATH}/src/cmake/modules/FindTBB.cmake" + "${SOURCE_PATH}/src/cmake/modules/FindJXL.cmake" ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS @@ -34,13 +41,14 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS ffmpeg USE_FFMPEG freetype USE_FREETYPE gif USE_GIF + jpegxl USE_JXL opencv USE_OPENCV openjpeg USE_OPENJPEG webp USE_WEBP libheif USE_LIBHEIF pybind11 USE_PYTHON tools OIIO_BUILD_TOOLS - tools USE_QT + viewer ENABLE_IV ) vcpkg_cmake_configure( @@ -56,6 +64,7 @@ vcpkg_cmake_configure( -DUSE_TBB=OFF -DLINKSTATIC=OFF # LINKSTATIC breaks library lookup -DBUILD_MISSING_FMT=OFF + -DINTERNALIZE_FMT=OFF # carry fmt's msvc utf8 usage requirements -DBUILD_MISSING_ROBINMAP=OFF -DBUILD_MISSING_DEPS=OFF -DSTOP_ON_WARNING=OFF @@ -67,6 +76,12 @@ vcpkg_cmake_configure( "-DREQUIRED_DEPS=fmt;JPEG;PNG;Robinmap" MAYBE_UNUSED_VARIABLES ENABLE_INSTALL_testtex + ENABLE_IV + BUILD_MISSING_DEPS + BUILD_MISSING_FMT + BUILD_MISSING_ROBINMAP + INTERNALIZE_FMT + REQUIRED_DEPS ) vcpkg_cmake_install() @@ -75,18 +90,29 @@ vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/OpenImageIO) if("tools" IN_LIST FEATURES) vcpkg_copy_tools( - TOOL_NAMES iconvert idiff igrep iinfo maketx oiiotool iv + TOOL_NAMES iconvert idiff igrep iinfo maketx oiiotool + AUTO_CLEAN + ) +endif() + +if("viewer" IN_LIST FEATURES) + vcpkg_copy_tools( + TOOL_NAMES iv AUTO_CLEAN ) endif() -# Clean file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/doc" "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") vcpkg_fixup_pkgconfig() +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/OpenImageIO/export.h" "ifdef OIIO_STATIC_DEFINE" "if 1") +endif() + + file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") file(READ "${SOURCE_PATH}/THIRD-PARTY.md" third_party) diff --git a/ports/openimageio/vcpkg.json b/ports/openimageio/vcpkg.json index a2b67d66495bdd..b08a9ca248a8a0 100644 --- a/ports/openimageio/vcpkg.json +++ b/ports/openimageio/vcpkg.json @@ -1,30 +1,20 @@ { "name": "openimageio", - "version": "2.4.14.0", - "port-version": 2, + "version": "3.0.1.0", "description": "A library for reading and writing images, and a bunch of related classes, utilities, and application.", "homepage": "https://github.com/OpenImageIO/oiio", "license": "BSD-3-Clause", "dependencies": [ - "boost-algorithm", - "boost-asio", - "boost-config", - "boost-filesystem", - "boost-foreach", - "boost-random", - "boost-regex", - "boost-smart-ptr", - "boost-stacktrace", - "boost-static-assert", - "boost-system", - "boost-thread", - "boost-type-traits", "fmt", "libjpeg-turbo", "libpng", + "opencolorio", "openexr", "robin-map", - "tiff", + { + "name": "tiff", + "default-features": false + }, { "name": "vcpkg-cmake", "host": true @@ -60,6 +50,12 @@ "giflib" ] }, + "jpegxl": { + "description": "Enable JPEG XL codec", + "dependencies": [ + "libjxl" + ] + }, "libheif": { "description": "Enable heif support for openimageio", "dependencies": [ @@ -104,9 +100,18 @@ ] }, "tools": { - "description": "Build openimageio tools", + "description": "Build openimageio tools" + }, + "viewer": { + "description": "Build openimageio viewer", "dependencies": [ "opengl", + { + "name": "openimageio", + "features": [ + "tools" + ] + }, { "name": "qtbase", "default-features": false diff --git a/ports/openjpeg/arm.patch b/ports/openjpeg/arm.patch deleted file mode 100644 index 357d33e0feca1e..00000000000000 --- a/ports/openjpeg/arm.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/lib/openjp2/ht_dec.c b/src/lib/openjp2/ht_dec.c -index 1eb4d525f..e2f3afd6a 100644 ---- a/src/lib/openjp2/ht_dec.c -+++ b/src/lib/openjp2/ht_dec.c -@@ -69,7 +69,7 @@ static OPJ_BOOL only_cleanup_pass_is_decoded = OPJ_FALSE; - static INLINE - OPJ_UINT32 population_count(OPJ_UINT32 val) - { --#ifdef OPJ_COMPILER_MSVC -+#if defined(OPJ_COMPILER_MSVC) && (defined(_M_IX86) || defined(_M_AMD64)) - return (OPJ_UINT32)__popcnt(val); - #elif (defined OPJ_COMPILER_GNUC) - return (OPJ_UINT32)__builtin_popcount(val); diff --git a/ports/openjpeg/fix-static.patch b/ports/openjpeg/fix-static.patch deleted file mode 100644 index 1101e2d9530d43..00000000000000 --- a/ports/openjpeg/fix-static.patch +++ /dev/null @@ -1,59 +0,0 @@ -diff --git a/src/bin/jp2/CMakeLists.txt b/src/bin/jp2/CMakeLists.txt -index 4d4bd952f..e14b5a692 100644 ---- a/src/bin/jp2/CMakeLists.txt -+++ b/src/bin/jp2/CMakeLists.txt -@@ -33,14 +33,6 @@ include_directories( - ${TIFF_INCLUDE_DIRNAME} - ) - --if(WIN32) -- if(BUILD_SHARED_LIBS) -- add_definitions(-DOPJ_EXPORTS) -- else() -- add_definitions(-DOPJ_STATIC) -- endif() --endif() -- - # Loop over all executables: - foreach(exe opj_decompress opj_compress opj_dump) - add_executable(${exe} ${exe}.c ${common_SRCS}) -diff --git a/src/lib/openjp2/CMakeLists.txt b/src/lib/openjp2/CMakeLists.txt -index ea4131a3e..dc63f49dd 100644 ---- a/src/lib/openjp2/CMakeLists.txt -+++ b/src/lib/openjp2/CMakeLists.txt -@@ -84,12 +84,12 @@ endif() - - # Build the library - if(WIN32) -+ add_library(${OPENJPEG_LIBRARY_NAME} ${OPENJPEG_SRCS}) - if(BUILD_SHARED_LIBS) - add_definitions(-DOPJ_EXPORTS) - else() -- add_definitions(-DOPJ_STATIC) -+ target_compile_definitions(${OPENJPEG_LIBRARY_NAME} PUBLIC OPJ_STATIC) - endif() -- add_library(${OPENJPEG_LIBRARY_NAME} ${OPENJPEG_SRCS}) - set(INSTALL_LIBS ${OPENJPEG_LIBRARY_NAME}) - else() - if(BUILD_SHARED_LIBS AND BUILD_STATIC_LIBS) -diff --git a/src/lib/openjpip/CMakeLists.txt b/src/lib/openjpip/CMakeLists.txt -index b3cb8ce88..fc6a9dde3 100644 ---- a/src/lib/openjpip/CMakeLists.txt -+++ b/src/lib/openjpip/CMakeLists.txt -@@ -52,14 +52,14 @@ set(LOCAL_SRCS - ) - - # Build the library -+add_library(openjpip ${OPENJPIP_SRCS} ${LOCAL_SRCS}) - if(WIN32) - if(BUILD_SHARED_LIBS) - add_definitions(-DOPJ_EXPORTS) - else() -- add_definitions(-DOPJ_STATIC) -+ target_compile_definitions(openjpip PUBLIC OPJ_STATIC) - endif() - endif() --add_library(openjpip ${OPENJPIP_SRCS} ${LOCAL_SRCS}) - set_target_properties(openjpip - PROPERTIES ${OPENJPEG_LIBRARY_PROPERTIES}) - if(NOT ${CMAKE_VERSION} VERSION_LESS "2.8.12") diff --git a/ports/openjpeg/no-wx.patch b/ports/openjpeg/no-wx.patch deleted file mode 100644 index d01844492f520f..00000000000000 --- a/ports/openjpeg/no-wx.patch +++ /dev/null @@ -1,10 +0,0 @@ -diff --git a/src/bin/CMakeLists.txt b/src/bin/CMakeLists.txt -index 292fe5a71..bcbe94160 100644 ---- a/src/bin/CMakeLists.txt -+++ b/src/bin/CMakeLists.txt -@@ -9,4 +9,4 @@ if(BUILD_JPIP) - endif() - - # wx apps: --add_subdirectory(wx) -+# add_subdirectory(wx) diff --git a/ports/openjpeg/openjpip-static.diff b/ports/openjpeg/openjpip-static.diff new file mode 100644 index 00000000000000..4ec88a00eb3af1 --- /dev/null +++ b/ports/openjpeg/openjpip-static.diff @@ -0,0 +1,22 @@ +diff --git a/src/lib/openjpip/CMakeLists.txt b/src/lib/openjpip/CMakeLists.txt +index e9d8193..6584a74 100644 +--- a/src/lib/openjpip/CMakeLists.txt ++++ b/src/lib/openjpip/CMakeLists.txt +@@ -52,14 +52,14 @@ set(LOCAL_SRCS + ) + + # Build the library ++add_library(openjpip ${OPENJPIP_SRCS} ${LOCAL_SRCS}) + if(WIN32) + if(BUILD_SHARED_LIBS) +- add_definitions(-DOPJ_EXPORTS) ++ target_compile_definitions(openjpip PRIVATE OPJ_EXPORTS) + else() +- add_definitions(-DOPJ_STATIC) ++ target_compile_definitions(openjpip PUBLIC OPJ_STATIC) + endif() + endif() +-add_library(openjpip ${OPENJPIP_SRCS} ${LOCAL_SRCS}) + set_target_properties(openjpip + PROPERTIES ${OPENJPEG_LIBRARY_PROPERTIES}) + target_compile_options(openjpip PRIVATE ${OPENJPEG_LIBRARY_COMPILE_OPTIONS}) diff --git a/ports/openjpeg/portfile.cmake b/ports/openjpeg/portfile.cmake index a23bd58bb9332d..90cd47bd46dbd8 100644 --- a/ports/openjpeg/portfile.cmake +++ b/ports/openjpeg/portfile.cmake @@ -1,66 +1,61 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO uclouvain/openjpeg - REF a5891555eb49ed7cc26b2901ea680acda136d811 #v2.5.0 - SHA512 f388d5770445152cd5ed18c61d2a56a6d2b88c2b56db0d460d09be36f3e6e40cf5be505aa63ac5975e07688be3dfe752080f4939bd792d42c61f4f8ddcaa1f0d + REF "v${VERSION}" + SHA512 24c058b3e0710e689ba7fd6bce8a88353ce64e825b2e5bbf6b00ca3f2a2ec1e9c70a72e0252a5c89d10c537cf84d55af54bf2f16c58ca01db98c2018cf132e1a HEAD_REF master PATCHES - arm.patch - no-wx.patch - fix-static.patch + third-party.diff + openjpip-static.diff ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC_LIBS) -if(NOT VCPKG_TARGET_IS_WINDOWS) - set(feature_tools "tools" BUILD_JPIP_SERVER) # Requires pthread - if("tools" IN_LIST FEATURES) - list(APPEND FEATURE_OPTIONS "-DFCGI_INCLUDE_DIR=${CURRENT_INSTALLED_DIR}/include/fastcgi") - endif() -endif() - vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES "jpip" BUILD_JPIP - ${feature_tools} - "tools" BUILD_VIEWER "tools" BUILD_CODEC "tools" BUILD_LUTS_GENERATOR ) +if(NOT VCPKG_TARGET_IS_WINDOWS AND "tools" IN_LIST FEATURES) + list(APPEND FEATURE_OPTIONS + -DBUILD_JPIP_SERVER=ON + "-DFCGI_INCLUDE_DIR=${CURRENT_INSTALLED_DIR}/include/fastcgi" + ) +endif() + vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DBUILD_CODEC:BOOL=OFF -DBUILD_DOC:BOOL=OFF + -DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS} + -DCMAKE_DISABLE_FIND_PACKAGE_Java=ON + -DOPENJPEG_INSTALL_SUBDIR=. -DOPENJPEG_INSTALL_PACKAGE_DIR=share/openjpeg - -DOPENJPEG_INSTALL_INCLUDE_DIR=include - -DEXECUTABLE_OUTPUT_PATH=tools/${PORT} - -DBUILD_PKGCONFIG_FILES=ON ${FEATURE_OPTIONS} - -DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS} + MAYBE_UNUSED_VARIABLES + CMAKE_DISABLE_FIND_PACKAGE_Java ) vcpkg_cmake_install() +vcpkg_copy_pdbs() vcpkg_cmake_config_fixup() +vcpkg_fixup_pkgconfig() -if(VCPKG_TARGET_IS_WINDOWS AND (NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL MinGW)) - if(NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + if(NOT VCPKG_BUILD_TYPE) vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libopenjp2.pc" "-lm" "") endif() vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libopenjp2.pc" "-lm" "") else() - if(NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + if(NOT VCPKG_BUILD_TYPE) vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libopenjp2.pc" "-lm" "-lm -pthread") endif() vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libopenjp2.pc" "-lm" "-lm -pthread") endif() -vcpkg_fixup_pkgconfig() - -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") - -set(TOOL_NAMES) +set(TOOL_NAMES "") if("tools" IN_LIST FEATURES) list(APPEND TOOL_NAMES opj_compress opj_decompress opj_dump opj_dec_server opj_jpip_addxml opj_jpip_test opj_jpip_transcode) endif() @@ -68,16 +63,27 @@ if(TOOL_NAMES) vcpkg_copy_tools(TOOL_NAMES ${TOOL_NAMES} AUTO_CLEAN) endif() -file(READ "${CURRENT_PACKAGES_DIR}/include/openjpeg.h" OPENJPEG_H) +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + file(WRITE "${CURRENT_PACKAGES_DIR}/include/openjpeg\.h" [[ +/* vcpkg VS legacy compatibility */ +#include "openjpeg-2.5/openjpeg.h" +]]) + file(WRITE "${CURRENT_PACKAGES_DIR}/include/opj_config\.h" [[ +/* vcpkg VS legacy compatibility */ +#include "openjpeg-2.5/opj_config.h" +]]) +endif() + +file(READ "${CURRENT_PACKAGES_DIR}/include/openjpeg-2.5/openjpeg\.h" OPENJPEG_H) if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") string(REPLACE "defined(OPJ_STATIC)" "1" OPENJPEG_H "${OPENJPEG_H}") else() string(REPLACE "defined(OPJ_STATIC)" "0" OPENJPEG_H "${OPENJPEG_H}") endif() string(REPLACE "defined(DLL_EXPORT)" "0" OPENJPEG_H "${OPENJPEG_H}") -file(WRITE "${CURRENT_PACKAGES_DIR}/include/openjpeg.h" "${OPENJPEG_H}") +file(WRITE "${CURRENT_PACKAGES_DIR}/include/openjpeg-2.5/openjpeg\.h" "${OPENJPEG_H}") -# Handle copyright -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -vcpkg_copy_pdbs() +file(INSTALL "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/openjpeg/third-party.diff b/ports/openjpeg/third-party.diff new file mode 100644 index 00000000000000..4cc471bb6b7536 --- /dev/null +++ b/ports/openjpeg/third-party.diff @@ -0,0 +1,22 @@ +diff --git a/thirdparty/CMakeLists.txt b/thirdparty/CMakeLists.txt +index b136fff..05ca64a 100644 +--- a/thirdparty/CMakeLists.txt ++++ b/thirdparty/CMakeLists.txt +@@ -89,7 +89,7 @@ else(BUILD_THIRDPARTY) + message(STATUS "Your system seems to have a TIFF lib available, we will use it") + set(OPJ_HAVE_TIFF_H 1 PARENT_SCOPE) + set(OPJ_HAVE_LIBTIFF 1 PARENT_SCOPE) +- if(BUILD_STATIC_LIBS AND NOT BUILD_SHARED_LIBS) ++ if("${not_using_vcpkg}") + # Probably incorrect as PC_TIFF_STATIC_LIBRARIES will lack the path to the libraries + # and will only work if they are in system directories + set(TIFF_LIBNAME ${PC_TIFF_STATIC_LIBRARIES} PARENT_SCOPE) +@@ -131,7 +131,7 @@ else(BUILD_THIRDPARTY) + message(STATUS "Your system seems to have a LCMS2 lib available, we will use it") + set(OPJ_HAVE_LCMS2_H 1 PARENT_SCOPE) + set(OPJ_HAVE_LIBLCMS2 1 PARENT_SCOPE) +- if(BUILD_STATIC_LIBS AND NOT BUILD_SHARED_LIBS) ++ if("${not_using_vcpkg}") + # Probably incorrect as PC_LCMS2_STATIC_LIBRARIES will lack the path to the libraries + # and will only work if they are in system directories + set(LCMS_LIBNAME ${PC_LCMS2_STATIC_LIBRARIES} PARENT_SCOPE) diff --git a/ports/openjpeg/usage b/ports/openjpeg/usage new file mode 100644 index 00000000000000..52fbf29e8d6723 --- /dev/null +++ b/ports/openjpeg/usage @@ -0,0 +1,9 @@ +openjpeg provides CMake targets: + + find_package(OpenJPEG CONFIG REQUIRED) + target_link_libraries(main PRIVATE openjp2) + +openjpeg provides pkg-config modules: + + # JPEG2000 library + libopenjp2 diff --git a/ports/openjpeg/vcpkg.json b/ports/openjpeg/vcpkg.json index a4abc2532e04e2..dcc5ed9e9337d6 100644 --- a/ports/openjpeg/vcpkg.json +++ b/ports/openjpeg/vcpkg.json @@ -1,6 +1,6 @@ { "name": "openjpeg", - "version": "2.5.0", + "version": "2.5.2", "port-version": 1, "description": "OpenJPEG is an open-source JPEG 2000 codec written in C language. It has been developed in order to promote the use of JPEG 2000, a still-image compression standard from the Joint Photographic Experts Group (JPEG). Since April 2015, it is officially recognized by ISO/IEC and ITU-T as a JPEG 2000 Reference Software.", "homepage": "https://github.com/uclouvain/openjpeg", @@ -16,19 +16,10 @@ } ], "features": { - "jp3d": { - "description": "(deprecated)" - }, "jpip": { "description": "Build optional component jpip", "supports": "!uwp" }, - "jpwl": { - "description": "(deprecated)" - }, - "mj2": { - "description": "(deprecated)" - }, "tools": { "description": "(deprecated)", "dependencies": [ @@ -41,7 +32,11 @@ "platform": "!windows" }, "lcms", - "tiff", + "libpng", + { + "name": "tiff", + "default-features": false + }, "zlib" ] } diff --git a/ports/openldap/openssl.patch b/ports/openldap/openssl.patch index d04dfe8e80b40a..88c11f3c8971dc 100644 --- a/ports/openldap/openssl.patch +++ b/ports/openldap/openssl.patch @@ -1,18 +1,25 @@ diff --git a/configure.ac b/configure.ac -index 626d024..e97f548 100644 +index d231e0e..c994103 100644 --- a/configure.ac +++ b/configure.ac -@@ -1223,6 +1223,9 @@ fi +@@ -1239,6 +1239,8 @@ fi ol_link_tls=no if test $ol_with_tls = openssl || test $ol_with_tls = auto ; then + PKG_CHECK_MODULES(OPENSSL, openssl >= 1.1.1, [have_openssl=yes], [AC_MSG_FAILURE([OpenSSL is required])]) + CFLAGS="${OPENSSL_CFLAGS} ${CFLAGS}" -+ ac_cv_lib_ssl_SSL_export_keying_material_early=yes AC_CHECK_HEADERS(openssl/ssl.h) if test $ac_cv_header_openssl_ssl_h = yes ; then -@@ -1245,7 +1248,8 @@ if test $ol_with_tls = openssl || test $ol_with_tls = auto ; then +@@ -1249,6 +1251,7 @@ if test $ol_with_tls = openssl || test $ol_with_tls = auto ; then + [#endif]])], + , [AC_MSG_FAILURE([OpenSSL 1.1.1 or newer required])]) + ++ ac_cv_lib_ssl_SSL_CTX_set_ciphersuites=yes + AC_CHECK_LIB(ssl, SSL_CTX_set_ciphersuites, + [have_openssl=yes], [have_openssl=no], + [-lcrypto]) +@@ -1261,7 +1264,8 @@ if test $ol_with_tls = openssl || test $ol_with_tls = auto ; then AC_DEFINE(HAVE_OPENSSL, 1, [define if you have OpenSSL]) diff --git a/ports/openldap/portfile.cmake b/ports/openldap/portfile.cmake index 23656b5f762aa5..fac2002fdfe194 100644 --- a/ports/openldap/portfile.cmake +++ b/ports/openldap/portfile.cmake @@ -1,7 +1,7 @@ vcpkg_download_distfile(ARCHIVE - URLS "https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-2.5.13.tgz" - FILENAME "openldap-2.5.13.tgz" - SHA512 30fdc884b513c53169910eec377c2ad05013b9f06bab3123d50d028108b24548791f7f47f18bcb3a2b4868edeab02c10d81ffa320c02d7b562f2e8f2fa25d6c9 + URLS "https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-${VERSION}.tgz" + FILENAME "openldap-${VERSION}.tgz" + SHA512 b119d60e179b4e27e9285c7c485f5728ab65dca7010879ffba41530f11f8ba359ea5693a3d1b9bb7279b7b8954f51c12db50e29aa231a5fa0bef11c7d1b5773a ) vcpkg_list(SET EXTRA_PATCHES) @@ -28,6 +28,11 @@ endif() if("cyrus-sasl" IN_LIST FEATURES) vcpkg_list(APPEND FEATURE_OPTIONS --with-cyrus-sasl) + message( +" openldap currently requires the following libraries from the system package manager: + libsasl2-dev +These can be installed on Ubuntu systems via sudo apt install libsasl2-dev" + ) else() vcpkg_list(APPEND FEATURE_OPTIONS --without-cyrus-sasl) endif() @@ -62,5 +67,4 @@ vcpkg_copy_pdbs() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/openldap/usage b/ports/openldap/usage deleted file mode 100644 index 6777fcdda3f919..00000000000000 --- a/ports/openldap/usage +++ /dev/null @@ -1,6 +0,0 @@ -The package openldapp can be imported via CMake FindPkgConfig module: - - find_package(PkgConfig) - pkg_check_modules(OPENLDAP REQUIRED IMPORTED_TARGET ldap) - - target_link_libraries(main PRIVATE PkgConfig::OPENLDAP) diff --git a/ports/openldap/vcpkg.json b/ports/openldap/vcpkg.json index 9f744e3b3195c8..62e6e7f8503f87 100644 --- a/ports/openldap/vcpkg.json +++ b/ports/openldap/vcpkg.json @@ -1,8 +1,7 @@ { "name": "openldap", - "version": "2.5.13", - "port-version": 1, - "description": "OpenLDAP Software is an open source implementation of the Lightweight Directory Access Protocol.", + "version": "2.5.18", + "description": "OpenLDAP Software is an open source implementation of the Lightweight Directory Access Protocol. When using the cyrus-sasl feature on Linux, you need to install the libsasl2-dev development package.", "homepage": "https://www.openldap.org/software/", "license": "OLDAP-2.8", "supports": "!windows, (mingw & !x86)", diff --git a/ports/openmesh/fix-library-install-path.patch b/ports/openmesh/fix-library-install-path.patch new file mode 100644 index 00000000000000..77430ea04dda37 --- /dev/null +++ b/ports/openmesh/fix-library-install-path.patch @@ -0,0 +1,89 @@ +diff --git a/cmake-library/VCI/VCICommon.cmake b/cmake-library/VCI/VCICommon.cmake +index 7a5269c..e3f87ff 100644 +--- a/cmake-library/VCI/VCICommon.cmake ++++ b/cmake-library/VCI/VCICommon.cmake +@@ -242,7 +242,8 @@ + set (_and_static 0) + endif () + +- add_library (${_target} ${_type} ${ARGN} ) ++ set(_and_static 0) ++ add_library (${_target} ${ARGN} ) + + # set common target properties defined in common.cmake + vci_set_target_props (${_target}) +index 7a5269c..e3f87ff 100644 +--- a/src/OpenMesh/Core/CMakeLists.txt ++++ b/src/OpenMesh/Core/CMakeLists.txt +@@ -156,9 +156,9 @@ + $ + $) + +- target_include_directories(OpenMeshCoreStatic PUBLIC +- $ +- $) ++ #target_include_directories(OpenMeshCoreStatic PUBLIC ++ # $ ++ # $) + + set_target_properties (OpenMeshCore PROPERTIES VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR} + SOVERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR} ) +@@ -180,7 +180,7 @@ endif() + + # if we build debug and release in the same dir, we want to install both! + if ( ${CMAKE_PROJECT_NAME} MATCHES "OpenMesh") +- if ( WIN32 ) ++ if ( 0 ) + FILE(GLOB files_install_libs "${CMAKE_BINARY_DIR}/Build/lib/*.lib" ) + FILE(GLOB files_install_dlls "${CMAKE_BINARY_DIR}/Build/*.dll" ) + INSTALL(FILES ${files_install_libs} DESTINATION lib ) +@@ -240,7 +240,8 @@ target_include_directories(OpenMeshCore PUBLIC + endif () + + install(TARGETS OpenMeshCore EXPORT OpenMeshConfig +- ARCHIVE DESTINATION ${VCI_PROJECT_LIBDIR} +- LIBRARY DESTINATION ${VCI_PROJECT_LIBDIR} +- RUNTIME DESTINATION ${VCI_PROJECT_BINDIR}) ++ ARCHIVE DESTINATION lib ++ LIBRARY DESTINATION lib ++ RUNTIME DESTINATION bin) ++ target_compile_features(OpenMeshCore PUBLIC cxx_std_11) + +diff --git a/src/OpenMesh/Tools/CMakeLists.txt b/src/OpenMesh/Tools/CMakeLists.txt +index 0170e2b..e40dfa1 100644 +--- a/src/OpenMesh/Tools/CMakeLists.txt ++++ b/src/OpenMesh/Tools/CMakeLists.txt +@@ -122,9 +122,9 @@ + $ + $) + +- target_include_directories(OpenMeshToolsStatic PUBLIC +- $ +- $) ++ #target_include_directories(OpenMeshToolsStatic PUBLIC ++ # $ ++ # $) + + set_target_properties (OpenMeshTools PROPERTIES VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR} + SOVERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR} ) +@@ -132,7 +132,7 @@ + + target_link_libraries (OpenMeshTools OpenMeshCore) + +-IF( NOT WIN32 ) ++IF( 0 ) + target_link_libraries (OpenMeshToolsStatic OpenMeshCoreStatic) + ENDIF(NOT WIN32) + +@@ -126,7 +126,8 @@ target_include_directories(OpenMeshTools PUBLIC + endif () + + install(TARGETS OpenMeshTools EXPORT OpenMeshConfig +- ARCHIVE DESTINATION ${VCI_PROJECT_LIBDIR} +- LIBRARY DESTINATION ${VCI_PROJECT_LIBDIR} +- RUNTIME DESTINATION ${VCI_PROJECT_BINDIR}) ++ ARCHIVE DESTINATION lib ++ LIBRARY DESTINATION lib ++ RUNTIME DESTINATION bin ++) + diff --git a/ports/openmesh/fix-pkgconfig.patch b/ports/openmesh/fix-pkgconfig.patch new file mode 100644 index 00000000000000..e2b4748e64c102 --- /dev/null +++ b/ports/openmesh/fix-pkgconfig.patch @@ -0,0 +1,22 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7a5269c..e3f87ff 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -188,12 +188,15 @@ + + # Generate openmesh.pc file + ++if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug") ++ set(_debug_postfix "${CMAKE_DEBUG_POSTFIX}") ++endif() + set(DEST_DIR "${CMAKE_INSTALL_PREFIX}") +-set(PRIVATE_LIBS "-lOpenMeshCore -lOpenMeshTools") ++set(PRIVATE_LIBS "-lOpenMeshCore${_debug_postfix} -lOpenMeshTools${_debug_postfix}") + + configure_file("openmesh.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/openmesh.pc" @ONLY) + +-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/openmesh.pc DESTINATION libdata/pkgconfig) ++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/openmesh.pc DESTINATION lib/pkgconfig) + + # generate target file + diff --git a/ports/openmesh/portfile.cmake b/ports/openmesh/portfile.cmake index 1b30fbe980933f..d5fca6adc77af6 100644 --- a/ports/openmesh/portfile.cmake +++ b/ports/openmesh/portfile.cmake @@ -1,13 +1,21 @@ # Note: upstream GitLab instance at https://graphics.rwth-aachen.de:9000 often goes down vcpkg_download_distfile(ARCHIVE - URLS "https://www.openmesh.org/media/Releases/${VERSION}/OpenMesh-${VERSION}.tar.gz" + URLS "https://www.openmesh.org/media/Releases/${VERSION}/OpenMesh-${VERSION}.0.tar.gz" FILENAME "OpenMesh-${VERSION}.tar.gz" - SHA512 d4d1872204595c8ccdf1fd09b2e923b7fc5e71e95958cbee52aeca0c1a3de0e648e4fa4913aca14acee30a000ef54b5abd92a30db8cef310e87bfbfe26726afc + SHA512 b895e5eaabdf5d3671625df5314e1f95921ac672e9d9d945a5cf0973e20b4e395aac6517d86269a2e8c103f32bc9c8c2ecf57d811a260bbc69f592043e1307ba ) vcpkg_extract_source_archive( SOURCE_PATH ARCHIVE "${ARCHIVE}" + PATCHES + fix-library-install-path.patch + fix-pkgconfig.patch + + # This patch is a combination of these two: + # https://gitlab.vci.rwth-aachen.de:9000/OpenMesh/OpenMesh/-/commit/1d4a866282ace376c8e3ba05c21ce3bcc6643040 + # https://gitlab.vci.rwth-aachen.de:9000/OpenMesh/OpenMesh/-/commit/a7f30b6f70447932444f5b518840ca26e9461fa9 + restore-c++11-compatibility.patch ) if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") @@ -20,6 +28,8 @@ vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_APPS=OFF + -DVCI_COMMON_DO_NOT_COPY_POST_BUILD=ON + -DVCI_NO_LIBRARY_INSTALL=ON -DOPENMESH_BUILD_SHARED=${OPENMESH_BUILD_SHARED} MAYBE_UNUSED_VARIABLES OPENMESH_BUILD_SHARED @@ -28,33 +38,10 @@ vcpkg_cmake_configure( vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_cmake_config_fixup(CONFIG_PATH share/OpenMesh/cmake) - -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(RENAME "${CURRENT_PACKAGES_DIR}/debug/libdata/pkgconfig" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") -endif() -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(RENAME "${CURRENT_PACKAGES_DIR}/libdata/pkgconfig" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig") -endif() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/libdata" "${CURRENT_PACKAGES_DIR}/libdata") +vcpkg_cmake_config_fixup(PACKAGE_NAME OpenMesh CONFIG_PATH "share/OpenMesh/cmake") vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/OpenMesh/Tools/VDPM/xpm") -# Only move dynamic libraries to bin on Windows -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/bin") - file(RENAME "${CURRENT_PACKAGES_DIR}/OpenMeshCore.dll" "${CURRENT_PACKAGES_DIR}/bin/OpenMeshCore.dll") - file(RENAME "${CURRENT_PACKAGES_DIR}/OpenMeshTools.dll" "${CURRENT_PACKAGES_DIR}/bin/OpenMeshTools.dll") - endif() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/bin") - file(RENAME "${CURRENT_PACKAGES_DIR}/debug/OpenMeshCored.dll" "${CURRENT_PACKAGES_DIR}/debug/bin/OpenMeshCored.dll") - file(RENAME "${CURRENT_PACKAGES_DIR}/debug/OpenMeshToolsd.dll" "${CURRENT_PACKAGES_DIR}/debug/bin/OpenMeshToolsd.dll") - endif() -endif() -configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" "${CURRENT_PACKAGES_DIR}/share/OpenMesh/vcpkg-cmake-wrapper.cmake" @ONLY) -file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/openmesh/restore-c++11-compatibility.patch b/ports/openmesh/restore-c++11-compatibility.patch new file mode 100644 index 00000000000000..1122642e0974b7 --- /dev/null +++ b/ports/openmesh/restore-c++11-compatibility.patch @@ -0,0 +1,25 @@ +From 1d4a866282ace376c8e3ba05c21ce3bcc6643040 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jan=20M=C3=B6bius?= +Date: Tue, 9 Jan 2024 12:59:45 +0100 +Subject: [PATCH] Small patch to keep backward compatibility with c++11 + +--- + src/OpenMesh/Core/Utils/Property.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/OpenMesh/Core/Utils/Property.hh b/src/OpenMesh/Core/Utils/Property.hh +index 485d3072..6ba66584 100644 +--- a/src/OpenMesh/Core/Utils/Property.hh ++++ b/src/OpenMesh/Core/Utils/Property.hh +@@ -250,7 +250,7 @@ public: // inherited from BaseProperty + virtual void reserve(size_t _n) override { data_.reserve(_n); } + virtual void resize(size_t _n) override { data_.resize(_n); } + virtual void clear() override { data_.clear(); vector_type().swap(data_); } +- virtual void push_back() override { data_.emplace_back(); } ++ virtual void push_back() override { data_.push_back(bool()); } + virtual void swap(size_t _i0, size_t _i1) override + { bool t(data_[_i0]); data_[_i0]=data_[_i1]; data_[_i1]=t; } + virtual void copy(size_t _i0, size_t _i1) override +-- +GitLab + diff --git a/ports/openmesh/usage b/ports/openmesh/usage deleted file mode 100644 index 1bfc821f505db2..00000000000000 --- a/ports/openmesh/usage +++ /dev/null @@ -1,5 +0,0 @@ -The package openmesh provides CMake targets: - - find_package(openmesh REQUIRED) - target_include_directories(main PRIVATE ${OPENMESH_INCLUDE_DIRS}) - target_link_libraries(main PRIVATE ${OPENMESH_LIBRARIES}) diff --git a/ports/openmesh/vcpkg-cmake-wrapper.cmake b/ports/openmesh/vcpkg-cmake-wrapper.cmake deleted file mode 100644 index ee59349e2e5209..00000000000000 --- a/ports/openmesh/vcpkg-cmake-wrapper.cmake +++ /dev/null @@ -1,18 +0,0 @@ -include(FindPackageHandleStandardArgs) -include(SelectLibraryConfigurations) - -find_path(OPENMESHCORE_INCLUDE_DIR EigenVectorT.hh PATH_SUFFIXES OpenMesh/Core/Geometry) -get_filename_component(OPENMESHCORE_INCLUDE_DIR ${OPENMESHCORE_INCLUDE_DIR} DIRECTORY) -get_filename_component(OPENMESHCORE_INCLUDE_DIR ${OPENMESHCORE_INCLUDE_DIR} DIRECTORY) -get_filename_component(OPENMESHCORE_INCLUDE_DIR ${OPENMESHCORE_INCLUDE_DIR} DIRECTORY) - -find_library(OPENMESHCORE_LIBRARY_DEBUG NAMES OpenMeshCored libOpenMeshCored NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug" NO_DEFAULT_PATH REQUIRED) -find_library(OPENMESHCORE_LIBRARY_RELEASE NAMES OpenMeshCore libOpenMeshCore NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" NO_DEFAULT_PATH REQUIRED) -find_library(OPENMESHTOOLS_LIBRARY_DEBUG NAMES OpenMeshToolsd libOpenMeshToolsd NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug" NO_DEFAULT_PATH REQUIRED) -find_library(OPENMESHTOOLS_LIBRARY_RELEASE NAMES OpenMeshTools libOpenMeshTools NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" NO_DEFAULT_PATH REQUIRED) - -select_library_configurations(OPENMESHCORE) -select_library_configurations(OPENMESHTOOLS) - -set(OPENMESH_INCLUDE_DIRS ${OPENMESHCORE_INCLUDE_DIR}) -set(OPENMESH_LIBRARIES ${OPENMESHCORE_LIBRARY} ${OPENMESHTOOLS_LIBRARY}) \ No newline at end of file diff --git a/ports/openmesh/vcpkg.json b/ports/openmesh/vcpkg.json index 4307e65a702a98..72e55cee995218 100644 --- a/ports/openmesh/vcpkg.json +++ b/ports/openmesh/vcpkg.json @@ -1,7 +1,6 @@ { "name": "openmesh", - "version": "9.0", - "port-version": 1, + "version": "10.0", "description": "A generic and efficient polygon mesh data structure", "homepage": "https://www.graphics.rwth-aachen.de/media/openmesh_static/Daily-Builds/Doc/index.html", "license": "BSD-3-Clause", diff --git a/ports/openmpi/portfile.cmake b/ports/openmpi/portfile.cmake index bb30fd9ed2c705..0bfdca4a84e871 100644 --- a/ports/openmpi/portfile.cmake +++ b/ports/openmpi/portfile.cmake @@ -26,6 +26,7 @@ vcpkg_configure_make( OPTIONS --with-hwloc=internal --with-libevent=internal + --with-pmix=internal --disable-mpi-fortran OPTIONS_DEBUG --enable-debug diff --git a/ports/openmpi/vcpkg.json b/ports/openmpi/vcpkg.json index a14612dea010c5..e76173b15634de 100644 --- a/ports/openmpi/vcpkg.json +++ b/ports/openmpi/vcpkg.json @@ -1,6 +1,7 @@ { "name": "openmpi", "version": "4.1.6", + "port-version": 1, "description": "The Open MPI Project is an open source Message Passing Interface implementation that is developed and maintained by a consortium of academic, research, and industry partners. Open MPI is therefore able to combine the expertise, technologies, and resources from all across the High Performance Computing community in order to build the best MPI library available. Open MPI offers advantages for system and software vendors, application developers and computer science researchers.", "homepage": "https://www.open-mpi.org/", "supports": "!(windows | uwp)" diff --git a/ports/openmvg/0002-eigen-3.4.patch b/ports/openmvg/0002-eigen-3.4.patch deleted file mode 100644 index 19098d2ae246fc..00000000000000 --- a/ports/openmvg/0002-eigen-3.4.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- a/src/openMVG/multiview/CMakeLists.txt -+++ b/src/openMVG/multiview/CMakeLists.txt -@@ -38,6 +38,9 @@ target_include_directories(openMVG_multiview - $ - ) - set_target_properties(openMVG_multiview PROPERTIES SOVERSION ${OPENMVG_VERSION_MAJOR} VERSION "${OPENMVG_VERSION_MAJOR}.${OPENMVG_VERSION_MINOR}") -+if (MSVC) -+ set_target_properties(openMVG_multiview PROPERTIES COMPILE_FLAGS "/bigobj") -+endif (MSVC) - - add_library(openMVG_multiview_test_data ${MULTIVIEWTESTDATA}) - target_link_libraries(openMVG_multiview_test_data PRIVATE openMVG_numeric openMVG_multiview) - \ No newline at end of file diff --git a/ports/openmvg/build_fixes.patch b/ports/openmvg/build_fixes.patch index 9bc868472e2ab1..ae06b0aa200a3a 100644 --- a/ports/openmvg/build_fixes.patch +++ b/ports/openmvg/build_fixes.patch @@ -1,32 +1,32 @@ diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 5d909ec..ab7eb6f 100644 +index 6879c4c6..edf4e5b2 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt -@@ -20,6 +20,7 @@ if (${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR}) - message(FATAL_ERROR "In-source builds not allowed.") - endif() +@@ -24,6 +24,7 @@ endif() + + set(CMAKE_FIND_FRAMEWORK LAST) +if(0) # ============================================================================== # OpenMVG build options # ============================================================================== -@@ -37,6 +38,7 @@ option(OpenMVG_USE_OPENMP "Enable OpenMP parallelization" ON) - # and openMVG simultaneously +@@ -59,6 +60,7 @@ option(OpenMVG_USE_OCVSIFT "Add or not OpenCV SIFT in available features" OFF) + # Enable this to be able to use LiGT in main_SfM. # ============================================================================== - option(OpenMVG_USE_OPENCV "Build or not opencv+openMVG samples programs" OFF) + option(OpenMVG_USE_LIGT "Add or not LiGT in available" ON) +endif() # ============================================================================== - # Since OpenCV 3, SIFT is no longer in the default modules. See -@@ -95,6 +97,7 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang") - register_definitions(-DOPENMVG_STD_UNORDERED_MAP) + # OpenMVG version +@@ -104,6 +106,7 @@ else (OpenMVG_BUILD_SHARED) + set(BUILD_SHARED_LIBS OFF) endif() +if(0) # ============================================================================== # Check that submodule have been initialized and updated # ============================================================================== -@@ -103,6 +106,7 @@ if (NOT EXISTS ${PROJECT_SOURCE_DIR}/dependencies/cereal/include) +@@ -112,6 +115,7 @@ if (NOT EXISTS ${PROJECT_SOURCE_DIR}/dependencies/cereal/include) "\n submodule(s) are missing, please update your repository:\n" " > git submodule update -i\n") endif() @@ -34,27 +34,7 @@ index 5d909ec..ab7eb6f 100644 # ============================================================================== # Additional cmake find modules -@@ -138,7 +142,6 @@ if (OpenMVG_USE_OPENMP) - find_package(OpenMP) - if (OPENMP_FOUND) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") -- option(OpenMVG_USE_OPENMP "Use OpenMP for parallelization" ON) - register_definitions(-DOPENMVG_USE_OPENMP) - if (NOT MSVC) - if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") -@@ -149,11 +152,6 @@ if (OpenMVG_USE_OPENMP) - endif() - endif (NOT MSVC) - endif (OPENMP_FOUND) --else (OpenMVG_USE_OPENMP) -- option(OpenMVG_USE_OPENMP "Use OpenMP for parallelization" OFF) -- include(UpdateCacheVariable) -- UPDATE_CACHE_VARIABLE(OpenMVG_USE_OPENMP OFF) -- remove_definitions(-DOPENMVG_USE_OPENMP) - endif (OpenMVG_USE_OPENMP) - - # ============================================================================== -@@ -170,9 +168,10 @@ endif() +@@ -191,9 +195,10 @@ endif() # ============================================================================== # IMAGE IO detection # ============================================================================== @@ -68,43 +48,7 @@ index 5d909ec..ab7eb6f 100644 # Folders set_property(GLOBAL PROPERTY USE_FOLDERS ON) -@@ -192,6 +191,7 @@ if (OpenMVG_BUILD_OPENGL_EXAMPLES) - set_property(TARGET glfw PROPERTY FOLDER OpenMVG/3rdParty/glfw) - endif (OpenMVG_BUILD_OPENGL_EXAMPLES) - -+if(0) - # Dependencies install rules - install( - DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/ -@@ -199,6 +199,7 @@ install( - COMPONENT headers - FILES_MATCHING PATTERN "*.hpp" PATTERN "*.h" - ) -+endif() - - # ============================================================================== - # --END-- SUBMODULE CONFIGURATION -@@ -235,6 +236,7 @@ ENDMACRO(UNIT_TEST) - # - external by default - # - internal if cereal not found - # ============================================================================== -+if(0) - find_package(cereal QUIET CONFIG) - if (NOT TARGET cereal) - add_library(cereal INTERFACE) -@@ -247,7 +249,11 @@ if (NOT TARGET cereal) - - set(OpenMVG_USE_INTERNAL_CEREAL ON) - endif() -+endif() - -+find_package(cereal REQUIRED CONFIG) -+get_target_property(CEREAL_INCLUDE_DIRS cereal::cereal INTERFACE_INCLUDE_DIRECTORIES) -+ - # ============================================================================== - # Eigen - # ============================================================================== -@@ -255,6 +261,7 @@ endif() +@@ -281,6 +286,7 @@ endif() # - external if EIGEN_INCLUDE_DIR_HINTS is defined # - internal if Eigen not found # ============================================================================== @@ -112,18 +56,19 @@ index 5d909ec..ab7eb6f 100644 find_package(Eigen3 QUIET) if (NOT Eigen3_FOUND) set(EIGEN_INCLUDE_DIR_HINTS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/eigen) -@@ -263,6 +270,10 @@ if (NOT Eigen3_FOUND) +@@ -289,7 +295,11 @@ if (NOT Eigen3_FOUND) else() set(EIGEN_INCLUDE_DIRS ${EIGEN3_INCLUDE_DIR}) endif() +endif() -+ ++ + add_definitions(-DEIGEN_MPL2_ONLY) +find_package(Eigen3 REQUIRED) +set(EIGEN_INCLUDE_DIRS ${EIGEN3_INCLUDE_DIR}) # ============================================================================== # Ceres -@@ -270,6 +281,7 @@ endif() +@@ -297,6 +307,7 @@ add_definitions(-DEIGEN_MPL2_ONLY) # - external by default if CERES_DIR_HINTS or find_package found a valid Ceres # - internal if ceres not found (ceres-solver+cxsparse+miniglog) # ============================================================================== @@ -131,17 +76,17 @@ index 5d909ec..ab7eb6f 100644 find_package(Ceres QUIET HINTS ${CERES_DIR_HINTS}) if (NOT Ceres_FOUND) set(OpenMVG_USE_INTERNAL_CERES ON) -@@ -281,6 +293,9 @@ if (NOT Ceres_FOUND) +@@ -308,6 +319,9 @@ if (NOT Ceres_FOUND) STRING(REGEX REPLACE "version ([0-9.]+).*" "\\1" CERES_VERSION ${CERES_CONFIG}) set(CERES_LIBRARIES openMVG_ceres) endif() +endif() -+ ++ +find_package(Ceres REQUIRED) # ============================================================================== # Flann -@@ -288,6 +303,7 @@ endif() +@@ -315,6 +329,7 @@ endif() # - internal by default (flann), # - external if FLANN_INCLUDE_DIR_HINTS and a valid Flann setup is found # ============================================================================== @@ -149,17 +94,33 @@ index 5d909ec..ab7eb6f 100644 if (NOT DEFINED FLANN_INCLUDE_DIR_HINTS) set(FLANN_INCLUDE_DIR_HINTS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/flann/src/cpp) set(OpenMVG_USE_INTERNAL_FLANN ON) -@@ -296,6 +312,9 @@ find_package(Flann QUIET) +@@ -330,6 +345,9 @@ endif() if (NOT FLANN_FOUND OR OpenMVG_USE_INTERNAL_FLANN) set(FLANN_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/flann/src/cpp) endif() +endif() -+ ++ +find_package(flann REQUIRED) - + # ============================================================================== # CoinUtils -@@ -364,6 +395,7 @@ endif() +@@ -356,13 +374,13 @@ endif() + if (NOT DEFINED CLP_INCLUDE_DIR_HINTS) + set(CLP_INCLUDE_DIR_HINTS ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/osi_clp/Clp/src/) + set(OpenMVG_USE_INTERNAL_CLP ON) +- find_package(Clp QUIET) ++ find_package(Clp REQUIRED) + set(CLP_INCLUDE_DIRS + ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/osi_clp/Clp/src/ + ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/osi_clp/Clp/src/OsiClp/) + set(CLP_LIBRARIES lib_clp lib_OsiClpSolver) + else() +- find_package(Clp QUIET) ++ find_package(Clp REQUIRED) + endif() + + # ============================================================================== +@@ -398,6 +416,7 @@ endif() # - internal by default (Lemon), # - external if LEMON_INCLUDE_DIR_HINTS and a valid Lemon setup is found # ============================================================================== @@ -167,7 +128,7 @@ index 5d909ec..ab7eb6f 100644 if (NOT DEFINED LEMON_INCLUDE_DIR_HINTS) set(LEMON_INCLUDE_DIR_HINTS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/lemon) set(OpenMVG_USE_INTERNAL_LEMON ON) -@@ -374,6 +406,9 @@ if (NOT LEMON_FOUND OR OpenMVG_USE_INTERNAL_LEMON) +@@ -408,13 +427,16 @@ if (NOT LEMON_FOUND OR OpenMVG_USE_INTERNAL_LEMON) ${CMAKE_CURRENT_SOURCE_DIR}/third_party/lemon ${PROJECT_BINARY_DIR}/third_party/lemon) endif() @@ -177,21 +138,24 @@ index 5d909ec..ab7eb6f 100644 # ============================================================================== # OpenCV -@@ -381,12 +416,7 @@ endif() + # ============================================================================== # - only external and enabled only if OpenMVG_USE_OPENCV is set to ON # ============================================================================== - if (OpenMVG_USE_OPENCV) -- find_package( OpenCV QUIET ) -- if (NOT OpenCV_FOUND OR OpenCV_VERSION VERSION_LESS "3.0.0") -- message(STATUS "OpenCV was not found (note that OpenCV version >= 3.0.0 is required). -> Disabling OpenCV support.") -- UPDATE_CACHE_VARIABLE(OpenMVG_USE_OPENCV OFF) -- UPDATE_CACHE_VARIABLE(OpenMVG_USE_OCVSIFT OFF) -- endif() -+ find_package( OpenCV REQUIRED ) +-if (OpenMVG_USE_OPENCV) ++if (0) + find_package( OpenCV QUIET ) + if (NOT OpenCV_FOUND OR OpenCV_VERSION VERSION_LESS "3.0.0") + message(STATUS "OpenCV was not found (note that OpenCV version >= 3.0.0 is required). -> Disabling OpenCV support.") +@@ -429,7 +451,7 @@ endif() + # ============================================================================== + # - enabled only if OpenMVG_USE_LIGT is set to ON + # ============================================================================== +-if (OpenMVG_USE_LIGT) ++if (0) + add_definitions(-DUSE_PATENTED_LIGT) endif() - -@@ -394,7 +424,6 @@ endif() +@@ -438,7 +460,6 @@ endif() # Third-party libraries: # ============================================================================== add_subdirectory(third_party) @@ -199,7 +163,28 @@ index 5d909ec..ab7eb6f 100644 # ============================================================================== # openMVG modules -@@ -481,67 +510,67 @@ message("** Use OpenCV SIFT features: " ${OpenMVG_USE_OCVSIFT}) +@@ -447,9 +468,9 @@ add_subdirectory(testing) + add_subdirectory(openMVG) + + # openMVG tutorial examples +-if (OpenMVG_BUILD_EXAMPLES) ++if (0) + add_subdirectory(openMVG_Samples) +-endif (OpenMVG_BUILD_EXAMPLES) ++endif () + + # Complete software(s) build on openMVG libraries + if (OpenMVG_BUILD_SOFTWARES) +@@ -464,7 +485,7 @@ add_subdirectory(nonFree) + # -------------------------- + # Sphinx detection + # ============================================================================== +-if (OpenMVG_BUILD_DOC) ++if (0) + find_package(Sphinx) + if (EXISTS ${SPHINX_EXECUTABLE}) + set(SPHINX_HTML_DIR "${CMAKE_CURRENT_BINARY_DIR}/htmlDoc") +@@ -526,67 +547,67 @@ message("** Use LiGT for global translation estimation: " ${OpenMVG_USE_LIGT}) message("\n") @@ -278,23 +263,44 @@ index 5d909ec..ab7eb6f 100644 message(STATUS "LEMON: " ${LEMON_VERSION} " (internal)") else() message(STATUS "LEMON: " ${LEMON_VERSION} " (external)") +diff --git a/src/cmakeFindModules/FindClp.cmake b/src/cmakeFindModules/FindClp.cmake +index 8a69c234..1ed9a21f 100644 +--- a/src/cmakeFindModules/FindClp.cmake ++++ b/src/cmakeFindModules/FindClp.cmake +@@ -51,7 +51,7 @@ IF(EXISTS "${CLP_DIR}" AND NOT "${CLP_DIR}" STREQUAL "") + SET(CLP_INCLUDE_DIR ${CLP_DIR}) + + FIND_LIBRARY(CLP_LIBRARY NAMES Clp) +- FIND_LIBRARY(CLPSOLVER_LIBRARY NAMES ClpSolver) ++ FIND_LIBRARY(CLPSOLVER_LIBRARY NAMES ClpSolver Clp) + FIND_LIBRARY(OSICLP_LIBRARY NAMES OsiClp) + + # locate Clp libraries +diff --git a/src/cmakeFindModules/FindCoinUtils.cmake b/src/cmakeFindModules/FindCoinUtils.cmake +index 5b64ce14..595fb7dc 100644 +--- a/src/cmakeFindModules/FindCoinUtils.cmake ++++ b/src/cmakeFindModules/FindCoinUtils.cmake +@@ -57,6 +57,12 @@ IF(EXISTS "${COINUTILS_DIR}" AND NOT "${COINUTILS_DIR}" STREQUAL "") + SET(COINUTILS_LIBRARIES ${COINUTILS_LIBRARY}) + ENDIF() + ++ if(NOT WIN32) ++ find_package(PkgConfig) ++ pkg_check_modules(CoinUtils coinutils IMPORTED_TARGET) ++ list(APPEND COINUTILS_LIBRARIES PkgConfig::CoinUtils) ++ endif() ++ + MESSAGE(STATUS "CoinUtils ${COINUTILS_VERSION} found (include: ${COINUTILS_INCLUDE_DIRS})") + ELSE() + MESSAGE(STATUS "You are attempting to build without CoinUtils. " diff --git a/src/cmakeFindModules/OpenMVGConfig.cmake.in b/src/cmakeFindModules/OpenMVGConfig.cmake.in -index e7dfbfd..65224c4 100644 +index 5a788b56..ba3b4b3c 100644 --- a/src/cmakeFindModules/OpenMVGConfig.cmake.in +++ b/src/cmakeFindModules/OpenMVGConfig.cmake.in -@@ -19,7 +19,7 @@ - # OPENMVG_VERSION: Version of OpenMVG found. - # - --# Called if we failed to find OpenMVG or any of it's required dependencies, -+# Called if we failed to find OpenMVG or any of its required dependencies, - # unsets all public (designed to be used externally) variables and reports - # error message at priority depending upon [REQUIRED/QUIET/] argument. - macro(OPENMVG_REPORT_NOT_FOUND REASON_MSG) -@@ -58,10 +58,17 @@ set(CALLERS_CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}) - # Reset CMake module path to the installation directory of this - # script. - set(CMAKE_MODULE_PATH ${CURRENT_CONFIG_INSTALL_DIR}) +@@ -51,6 +51,18 @@ set(OPENMVG_VERSION @OPENMVG_VERSION@) + get_filename_component(CURRENT_CONFIG_INSTALL_DIR + "${CMAKE_CURRENT_LIST_FILE}" PATH) + +include(CMakeFindDependencyMacro) + +find_dependency(flann) @@ -302,6 +308,15 @@ index e7dfbfd..65224c4 100644 +find_dependency(cereal) +find_dependency(Ceres) +find_dependency(vlfeat) ++if(NOT WIN32) ++ find_dependency(PkgConfig) ++ pkg_check_modules(CoinUtils coinutils IMPORTED_TARGET) ++endif() ++ + # Record the state of the CMake module path when this script was + # called so that we can ensure that we leave it in the same state on + # exit as it was on entry, but modify it locally. +@@ -61,7 +73,7 @@ set(CMAKE_MODULE_PATH ${CURRENT_CONFIG_INSTALL_DIR}) # Build the absolute root install directory as a relative path get_filename_component(CURRENT_ROOT_INSTALL_DIR @@ -310,103 +325,23 @@ index e7dfbfd..65224c4 100644 if (NOT EXISTS ${CURRENT_ROOT_INSTALL_DIR}) OPENMVG_REPORT_NOT_FOUND( "OpenMVG install root: ${CURRENT_ROOT_INSTALL_DIR}, " -diff --git a/src/nonFree/sift/CMakeLists.txt b/src/nonFree/sift/CMakeLists.txt -index 402a2d8..60ddc11 100644 ---- a/src/nonFree/sift/CMakeLists.txt -+++ b/src/nonFree/sift/CMakeLists.txt -@@ -1,36 +1,36 @@ - --# libs should be static --set(BUILD_SHARED_LIBS OFF) -- --# use PIC code for link into shared lib --if(UNIX) -- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC") --endif(UNIX) -- --if(NOT USE_SSE2) -- add_definitions(-DVL_DISABLE_SSE2) --endif() -- --add_definitions(-DVL_DISABLE_THREADS) -- --include_directories(./vl) --set(FEATS -- vl/generic.c -- vl/imopv_sse2.c -- vl/sift.c -- vl/imopv.c -- vl/mathop_sse2.c -- vl/sift.c -- vl/host.c -- vl/mathop.c -- vl/random.c) --set_source_files_properties(${FEATS} PROPERTIES LANGUAGE C) --add_library(vlsift ${FEATS}) --install(TARGETS vlsift DESTINATION lib EXPORT openMVG-targets) --set_property(TARGET vlsift PROPERTY FOLDER OpenMVG/nonFree) -+## libs should be static -+#set(BUILD_SHARED_LIBS OFF) -+# -+## use PIC code for link into shared lib -+#if(UNIX) -+# set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC") -+#endif(UNIX) -+# -+#if(NOT USE_SSE2) -+# add_definitions(-DVL_DISABLE_SSE2) -+#endif() -+# -+#add_definitions(-DVL_DISABLE_THREADS) -+# -+#include_directories(./vl) -+#set(FEATS -+# vl/generic.c -+# vl/imopv_sse2.c -+# vl/sift.c -+# vl/imopv.c -+# vl/mathop_sse2.c -+# vl/sift.c -+# vl/host.c -+# vl/mathop.c -+# vl/random.c) -+#set_source_files_properties(${FEATS} PROPERTIES LANGUAGE C) -+#add_library(vlsift ${FEATS}) -+#install(TARGETS vlsift DESTINATION lib EXPORT openMVG-targets) -+#set_property(TARGET vlsift PROPERTY FOLDER OpenMVG/nonFree) - install( - DIRECTORY . - DESTINATION include/openMVG_dependencies/nonFree/sift - COMPONENT headers -- FILES_MATCHING PATTERN "*.hpp" PATTERN "*.h" -+ FILES_MATCHING PATTERN "*.hpp" +diff --git a/src/openMVG/linearProgramming/CMakeLists.txt b/src/openMVG/linearProgramming/CMakeLists.txt +index 4532161d..e3ddedc6 100644 +--- a/src/openMVG/linearProgramming/CMakeLists.txt ++++ b/src/openMVG/linearProgramming/CMakeLists.txt +@@ -16,8 +16,8 @@ target_link_libraries(openMVG_linearProgramming + openMVG_numeric + PRIVATE + ${CLP_LIBRARIES} # clp + solver wrapper +- ${COINUTILS_LIBRARY} # container tools +- ${OSI_LIBRARY} # generic LP ++ ${COINUTILS_LIBRARIES} # container tools ++ ${OSI_LIBRARIES} # generic LP ) -diff --git a/src/nonFree/sift/SIFT_describer.hpp b/src/nonFree/sift/SIFT_describer.hpp -index cd800b0..20e9c8e 100644 ---- a/src/nonFree/sift/SIFT_describer.hpp -+++ b/src/nonFree/sift/SIFT_describer.hpp -@@ -17,9 +17,7 @@ - #include - #include - --extern "C" { --#include "nonFree/sift/vl/sift.h" --} -+#include - - namespace openMVG { - namespace features { -@@ -174,7 +172,7 @@ public: - const int nkeys = vl_sift_get_nkeypoints(filt); - - // Update gradient before launching parallel extraction -- vl_sift_update_gradient(filt); -+ update_gradient(filt); - - #ifdef OPENMVG_USE_OPENMP - #pragma omp parallel for private(descr, descriptor) + + target_include_directories(openMVG_linearProgramming diff --git a/src/openMVG/matching/CMakeLists.txt b/src/openMVG/matching/CMakeLists.txt -index 2e0eafd7..d54d1e88 100644 +index b92a49b7..6fa26493 100644 --- a/src/openMVG/matching/CMakeLists.txt +++ b/src/openMVG/matching/CMakeLists.txt @@ -16,6 +16,7 @@ list(REMOVE_ITEM matching_files_cpp ${REMOVEFILESUNITTEST}) @@ -417,12 +352,9 @@ index 2e0eafd7..d54d1e88 100644 set_source_files_properties(${matching_files_cpp} PROPERTIES LANGUAGE CXX) add_library(openMVG_matching -@@ -35,12 +36,12 @@ target_link_libraries(openMVG_matching - PUBLIC - openMVG_features +@@ -37,10 +38,10 @@ target_link_libraries(openMVG_matching Threads::Threads -- cereal -+ cereal::cereal + ${cereal_TARGET} ) -if (NOT DEFINED OpenMVG_USE_INTERNAL_FLANN) +if (NOT OpenMVG_USE_INTERNAL_FLANN) @@ -433,109 +365,8 @@ index 2e0eafd7..d54d1e88 100644 ) endif() set_target_properties(openMVG_matching PROPERTIES SOVERSION ${OPENMVG_VERSION_MAJOR} VERSION "${OPENMVG_VERSION_MAJOR}.${OPENMVG_VERSION_MINOR}") -diff --git a/src/openMVG/numeric/CMakeLists.txt b/src/openMVG/numeric/CMakeLists.txt -index 1f3fc30..4097320 100644 ---- a/src/openMVG/numeric/CMakeLists.txt -+++ b/src/openMVG/numeric/CMakeLists.txt -@@ -26,7 +26,7 @@ target_include_directories(openMVG_numeric - $ - $ - ) --if (DEFINED OpenMVG_USE_INTERNAL_EIGEN) -+if (OpenMVG_USE_INTERNAL_EIGEN) - target_include_directories(openMVG_numeric PUBLIC - $) - else() -diff --git a/src/openMVG_Samples/describe_and_match_GUI/CMakeLists.txt b/src/openMVG_Samples/describe_and_match_GUI/CMakeLists.txt -index 862ffc7..62508af 100644 ---- a/src/openMVG_Samples/describe_and_match_GUI/CMakeLists.txt -+++ b/src/openMVG_Samples/describe_and_match_GUI/CMakeLists.txt -@@ -18,8 +18,7 @@ if (OpenMVG_BUILD_GUI_SOFTWARES) - add_executable( openMVG_sample_describe_and_match_GUI WIN32 ${FEATURES_PAIR_DEMO_SRCS} ${FEATURES_PAIR_DEMO_HDRS} ) - endif( APPLE ) - -- target_link_libraries( openMVG_sample_describe_and_match_GUI Qt5::Widgets openMVG_features openMVG_image openMVG_matching vlsift ) -- -+ target_link_libraries( openMVG_sample_describe_and_match_GUI Qt5::Widgets openMVG_features openMVG_image openMVG_matching unofficial::vlfeat::vl ) - set_target_properties( openMVG_sample_describe_and_match_GUI PROPERTIES CXX_STANDARD 11) - - set_property(TARGET openMVG_sample_describe_and_match_GUI PROPERTY FOLDER OpenMVG/Samples) -diff --git a/src/openMVG_Samples/features_image_matching/CMakeLists.txt b/src/openMVG_Samples/features_image_matching/CMakeLists.txt -index 18fb385..d44ffce 100644 ---- a/src/openMVG_Samples/features_image_matching/CMakeLists.txt -+++ b/src/openMVG_Samples/features_image_matching/CMakeLists.txt -@@ -5,7 +5,7 @@ target_link_libraries(openMVG_sample_image_matching - openMVG_features - openMVG_matching - ${STLPLUS_LIBRARY} -- vlsift) -+ unofficial::vlfeat::vl) - target_compile_definitions(openMVG_sample_image_matching - PRIVATE -DTHIS_SOURCE_DIR="${CMAKE_CURRENT_SOURCE_DIR}") - -diff --git a/src/openMVG_Samples/features_repeatability/CMakeLists.txt b/src/openMVG_Samples/features_repeatability/CMakeLists.txt -index fd2b7c6..91f2766 100644 ---- a/src/openMVG_Samples/features_repeatability/CMakeLists.txt -+++ b/src/openMVG_Samples/features_repeatability/CMakeLists.txt -@@ -6,7 +6,7 @@ target_link_libraries(openMVG_sample_main_features_repeatability_dataset - openMVG_matching - openMVG_system - openMVG_multiview -- vlsift -+ unofficial::vlfeat::vl - ${STLPLUS_LIBRARY}) - - set_property(TARGET openMVG_sample_main_features_repeatability_dataset PROPERTY FOLDER OpenMVG/Samples) -diff --git a/src/software/Localization/CMakeLists.txt b/src/software/Localization/CMakeLists.txt -index 2f60393..0d57d0a 100644 ---- a/src/software/Localization/CMakeLists.txt -+++ b/src/software/Localization/CMakeLists.txt -@@ -11,7 +11,7 @@ target_link_libraries(openMVG_main_SfM_Localization - openMVG_sfm - openMVG_exif - ${STLPLUS_LIBRARY} -- vlsift -+ unofficial::vlfeat::vl - ) - - # Installation rules -diff --git a/src/software/SfM/CMakeLists.txt b/src/software/SfM/CMakeLists.txt -index 6db7e83..51e06f5 100644 ---- a/src/software/SfM/CMakeLists.txt -+++ b/src/software/SfM/CMakeLists.txt -@@ -44,7 +44,7 @@ target_link_libraries(openMVG_main_ComputeFeatures - openMVG_multiview - openMVG_sfm - ${STLPLUS_LIBRARY} -- vlsift -+ unofficial::vlfeat::vl - ) - if (MSVC) - set_target_properties(openMVG_main_ComputeFeatures PROPERTIES COMPILE_FLAGS "/bigobj") -@@ -275,7 +275,7 @@ if(OpenMVG_USE_OPENCV) - openMVG_multiview - openMVG_sfm - ${STLPLUS_LIBRARY} -- vlsift -+ unofficial::vlfeat::vl - ${OpenCV_LIBS}) - target_include_directories(openMVG_main_ComputeFeatures_OpenCV PRIVATE ${OpenCV_INCLUDE_DIRS}) - -diff --git a/src/software/VO/Tracker_opencv_klt.hpp b/src/software/VO/Tracker_opencv_klt.hpp -index aa7dffe..2c4d237 100644 ---- a/src/software/VO/Tracker_opencv_klt.hpp -+++ b/src/software/VO/Tracker_opencv_klt.hpp -@@ -80,7 +80,7 @@ struct Tracker_opencv_KLT : public Abstract_Tracker - std::vector m_nextKeypoints; - - cv::Ptr m_detector = cv::GFTTDetector::create(count); -- if (m_detector == NULL) -+ if (m_detector == nullptr) - return false; - - m_detector->detect(current_img, m_nextKeypoints); diff --git a/src/third_party/CMakeLists.txt b/src/third_party/CMakeLists.txt -index 0d61c9f..05c8b29 100644 +index 1e025dc6..4a06dfcc 100644 --- a/src/third_party/CMakeLists.txt +++ b/src/third_party/CMakeLists.txt @@ -18,7 +18,7 @@ add_subdirectory(stlplus3) @@ -543,114 +374,32 @@ index 0d61c9f..05c8b29 100644 # Add graph library -if(DEFINED OpenMVG_USE_INTERNAL_LEMON) -+if(OpenMVG_USE_INTERNAL_LEMON) ++if(0) add_subdirectory(lemon) set(LEMON_LIBRARY openMVG_lemon PARENT_SCOPE) endif() -@@ -67,7 +67,7 @@ endif (NOT TIFF_FOUND) - add_subdirectory(vectorGraphics) +@@ -64,13 +64,13 @@ endif (NOT TIFF_FOUND) + ## # Add ceres-solver (A Nonlinear Least Squares Minimizer) -if (DEFINED OpenMVG_USE_INTERNAL_CERES) -+if (OpenMVG_USE_INTERNAL_CERES) - add_subdirectory(cxsparse) ++if (0) add_subdirectory(ceres-solver) - set_property(TARGET openMVG_cxsparse PROPERTY FOLDER OpenMVG/3rdParty/ceres) -@@ -75,7 +75,7 @@ if (DEFINED OpenMVG_USE_INTERNAL_CERES) + set_property(TARGET openMVG_ceres PROPERTY FOLDER OpenMVG/3rdParty/ceres) endif() # Add an Approximate Nearest Neighbor library -if (DEFINED OpenMVG_USE_INTERNAL_FLANN) -+if (OpenMVG_USE_INTERNAL_FLANN) ++if (0) set(FLANN_INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/include/openMVG/third_party/flann/src/cpp) add_subdirectory(flann) endif() -@@ -89,7 +89,7 @@ add_subdirectory(fast) +@@ -84,7 +84,7 @@ add_subdirectory(fast) ## # Install Header only libraries if necessary ## -if (DEFINED OpenMVG_USE_INTERNAL_EIGEN) -+if (OpenMVG_USE_INTERNAL_EIGEN) ++if (0) #Configure Eigen install set(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/include/openMVG/third_party/eigen) add_subdirectory(eigen) -diff --git a/src/openMVG/cameras/CMakeLists.txt b/src/openMVG/cameras/CMakeLists.txt -index 333ab729..50c8f572 100644 ---- a/src/openMVG/cameras/CMakeLists.txt -+++ b/src/openMVG/cameras/CMakeLists.txt -@@ -4,7 +4,7 @@ set_property(TARGET openMVG_camera APPEND PROPERTY - INTERFACE_INCLUDE_DIRECTORIES "$") - - target_compile_features(openMVG_camera INTERFACE ${CXX11_FEATURES}) --target_link_libraries(openMVG_camera INTERFACE openMVG_numeric cereal ${OPENMVG_LIBRARY_DEPENDENCIES}) -+target_link_libraries(openMVG_camera INTERFACE openMVG_numeric cereal::cereal ${OPENMVG_LIBRARY_DEPENDENCIES}) - install(TARGETS openMVG_camera DESTINATION lib EXPORT openMVG-targets) - - UNIT_TEST(openMVG Camera_Pinhole openMVG_camera) -diff --git a/src/openMVG/features/CMakeLists.txt b/src/openMVG/features/CMakeLists.txt -index 2e49701d..0b5e1c3d 100644 ---- a/src/openMVG/features/CMakeLists.txt -+++ b/src/openMVG/features/CMakeLists.txt -@@ -31,7 +31,7 @@ target_include_directories(openMVG_features - ) - target_link_libraries(openMVG_features - PRIVATE openMVG_fast ${STLPLUS_LIBRARY} -- PUBLIC ${OPENMVG_LIBRARY_DEPENDENCIES} cereal) -+ PUBLIC ${OPENMVG_LIBRARY_DEPENDENCIES} cereal::cereal) - if (MSVC) - set_target_properties(openMVG_features PROPERTIES COMPILE_FLAGS "/bigobj") - target_compile_options(openMVG_features PUBLIC "-D_USE_MATH_DEFINES") -diff --git a/src/openMVG/geometry/CMakeLists.txt b/src/openMVG/geometry/CMakeLists.txt -index 0a6a016a..e509a4d5 100644 ---- a/src/openMVG/geometry/CMakeLists.txt -+++ b/src/openMVG/geometry/CMakeLists.txt -@@ -21,7 +21,7 @@ set_property(TARGET openMVG_geometry PROPERTY FOLDER OpenMVG/OpenMVG) - target_link_libraries(openMVG_geometry - PUBLIC - openMVG_numeric -- cereal -+ cereal::cereal - PRIVATE - openMVG_linearProgramming - ) -diff --git a/src/openMVG/sfm/CMakeLists.txt b/src/openMVG/sfm/CMakeLists.txt -index b8928083..1d10f939 100644 ---- a/src/openMVG/sfm/CMakeLists.txt -+++ b/src/openMVG/sfm/CMakeLists.txt -@@ -25,7 +25,7 @@ target_link_libraries(openMVG_sfm - openMVG_graph - openMVG_matching - openMVG_multiview -- cereal -+ cereal::cereal - ${OPENMVG_LIBRARY_DEPENDENCIES} - ) - -diff --git a/src/cmakeFindModules/FindClp.cmake b/src/cmakeFindModules/FindClp.cmake -index 8a69c2344..1ed9a21fe 100644 ---- a/src/cmakeFindModules/FindClp.cmake -+++ b/src/cmakeFindModules/FindClp.cmake -@@ -51,7 +51,7 @@ IF(EXISTS "${CLP_DIR}" AND NOT "${CLP_DIR}" STREQUAL "") - SET(CLP_INCLUDE_DIR ${CLP_DIR}) - - FIND_LIBRARY(CLP_LIBRARY NAMES Clp) -- FIND_LIBRARY(CLPSOLVER_LIBRARY NAMES ClpSolver) -+ FIND_LIBRARY(CLPSOLVER_LIBRARY NAMES ClpSolver Clp) - FIND_LIBRARY(OSICLP_LIBRARY NAMES OsiClp) - - # locate Clp libraries - -diff --git a/src/openMVG/matching/metric_simd.hpp b/src/openMVG/matching/metric_simd.hpp -index 7e09f6ed..916c84e0 100644 ---- a/src/openMVG/matching/metric_simd.hpp -+++ b/src/openMVG/matching/metric_simd.hpp -@@ -17,7 +17,9 @@ - #include - - #include -+#if defined(__amd64__) || defined(__i386__) - #include -+#endif - - namespace openMVG { - namespace matching { diff --git a/ports/openmvg/fix-coinutils.patch b/ports/openmvg/fix-coinutils.patch deleted file mode 100644 index 903c84a00616b0..00000000000000 --- a/ports/openmvg/fix-coinutils.patch +++ /dev/null @@ -1,47 +0,0 @@ -diff --git a/src/openMVG/linearProgramming/CMakeLists.txt b/src/openMVG/linearProgramming/CMakeLists.txt -index cc5212fda..0fb59c44c 100644 ---- a/src/openMVG/linearProgramming/CMakeLists.txt -+++ b/src/openMVG/linearProgramming/CMakeLists.txt -@@ -16,8 +16,8 @@ target_link_libraries(openMVG_linearProgramming - openMVG_numeric - PRIVATE - ${CLP_LIBRARIES} # clp + solver wrapper -- ${COINUTILS_LIBRARY} # container tools -- ${OSI_LIBRARY} # generic LP -+ ${COINUTILS_LIBRARIES} # container tools -+ ${OSI_LIBRARIES} # generic LP - ) - - target_include_directories(openMVG_linearProgramming -diff --git a/src/cmakeFindModules/FindCoinUtils.cmake b/src/cmakeFindModules/FindCoinUtils.cmake -index 5b64ce14c..595fb7dc8 100644 ---- a/src/cmakeFindModules/FindCoinUtils.cmake -+++ b/src/cmakeFindModules/FindCoinUtils.cmake -@@ -57,6 +57,12 @@ IF(EXISTS "${COINUTILS_DIR}" AND NOT "${COINUTILS_DIR}" STREQUAL "") - SET(COINUTILS_LIBRARIES ${COINUTILS_LIBRARY}) - ENDIF() - -+ if(NOT WIN32) -+ find_package(PkgConfig) -+ pkg_check_modules(CoinUtils coinutils IMPORTED_TARGET) -+ list(APPEND COINUTILS_LIBRARIES PkgConfig::CoinUtils) -+ endif() -+ - MESSAGE(STATUS "CoinUtils ${COINUTILS_VERSION} found (include: ${COINUTILS_INCLUDE_DIRS})") - ELSE() - MESSAGE(STATUS "You are attempting to build without CoinUtils. " -diff --git a/src/cmakeFindModules/OpenMVGConfig.cmake.in b/src/cmakeFindModules/OpenMVGConfig.cmake.in -index d4ae73d1a..87f71cd7d 100644 ---- a/src/cmakeFindModules/OpenMVGConfig.cmake.in -+++ b/src/cmakeFindModules/OpenMVGConfig.cmake.in -@@ -65,6 +65,10 @@ find_dependency(Threads) - find_dependency(cereal) - find_dependency(Ceres) - find_dependency(vlfeat) -+if(NOT WIN32) -+ find_dependency(PkgConfig) -+ pkg_check_modules(CoinUtils coinutils IMPORTED_TARGET) -+endif() - - # Build the absolute root install directory as a relative path - get_filename_component(CURRENT_ROOT_INSTALL_DIR diff --git a/ports/openmvg/portfile.cmake b/ports/openmvg/portfile.cmake index 369e9472786d5d..5b3b32f1d04b6d 100644 --- a/ports/openmvg/portfile.cmake +++ b/ports/openmvg/portfile.cmake @@ -10,14 +10,12 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO openMVG/openMVG - REF d0fe73dd426ae4001631a51272cff71047522df9 # v2.0 - SHA512 1d5c68971ad63ced46d8b9070bdacc1065b4ba950fe919e11f952a004def87d4d83a474d48aee714c21b12106d7d81187d3670d8a2e6daf2d3c5fceb008a5de3 + REF 01193a245ee3c36458e650b1cf4402caad8983ef # v2.1 + SHA512 ee98ca26426e7129917c920cd59817cb5d4faf1f5aa12f4085f9ac431875e9ec23ffee7792d65286bad4b922c474c56d5c2f2008b38fddf1ede096644f13ad47 PATCHES build_fixes.patch 0001-eigen_3.4.0.patch - 0002-eigen-3.4.patch no-absolute-paths.patch - fix-coinutils.patch ) set(OpenMVG_USE_OPENMP OFF) @@ -77,17 +75,24 @@ vcpkg_cmake_configure( ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH share/openMVG/cmake) -if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") - file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/openMVG-targets.cmake" "${CURRENT_PACKAGES_DIR}/debug/lib/openMVG-targets-debug.cmake") +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/share/openMVG/") +file(RENAME "${CURRENT_PACKAGES_DIR}/lib/openMVG/cmake" "${CURRENT_PACKAGES_DIR}/share/openMVG/cmake") +if(NOT VCPKG_BUILD_TYPE) + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/share/openMVG/") + file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/openMVG/cmake" "${CURRENT_PACKAGES_DIR}/debug/share/openMVG/cmake") endif() -file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/openMVG-targets.cmake" "${CURRENT_PACKAGES_DIR}/lib/openMVG-targets-release.cmake") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/openMVG/image/image_test" - "${CURRENT_PACKAGES_DIR}/include/openMVG/exif/image_data" - "${CURRENT_PACKAGES_DIR}/include/openMVG_dependencies/nonFree/sift/vl") +vcpkg_cmake_config_fixup() + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/include/openMVG_dependencies/cereal" + "${CURRENT_PACKAGES_DIR}/include/openMVG_dependencies/glfw" + "${CURRENT_PACKAGES_DIR}/include/openMVG_dependencies/osi_clp" + "${CURRENT_PACKAGES_DIR}/include/openMVG/image/image_test" + "${CURRENT_PACKAGES_DIR}/include/openMVG/exif/image_data" + "${CURRENT_PACKAGES_DIR}/include/openMVG_dependencies/nonFree/sift/vl") if(OpenMVG_BUILD_SHARED) if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") @@ -129,6 +134,7 @@ if("software" IN_LIST FEATURES) openMVG_main_ComputeMatches openMVG_main_ComputeSfM_DataColor openMVG_main_ComputeStructureFromKnownPoses + openMVG_main_ComputeVLAD openMVG_main_ConvertList openMVG_main_ConvertSfM_DataFormat openMVG_main_evalQuality diff --git a/ports/openmvg/vcpkg.json b/ports/openmvg/vcpkg.json index 4a22b21f25278e..e7405bc6e7c31c 100644 --- a/ports/openmvg/vcpkg.json +++ b/ports/openmvg/vcpkg.json @@ -1,7 +1,7 @@ { "name": "openmvg", - "version": "2.0", - "port-version": 9, + "version": "2.1", + "port-version": 1, "description": "open Multiple View Geometry library. Basis for 3D computer vision and Structure from Motion.", "license": "MPL-2.0-no-copyleft-exception", "supports": "(x86 | x64 | arm64) & !xbox", @@ -10,7 +10,6 @@ { "name": "ceres", "features": [ - "cxsparse", "suitesparse" ] }, @@ -22,7 +21,10 @@ "libjpeg-turbo", "liblemon", "libpng", - "tiff", + { + "name": "tiff", + "default-features": false + }, { "name": "vcpkg-cmake", "host": true diff --git a/ports/openmvs/fix-build.patch b/ports/openmvs/fix-build.patch index 6fe3d6ecf02326..26839fc6299ccb 100644 --- a/ports/openmvs/fix-build.patch +++ b/ports/openmvs/fix-build.patch @@ -1,8 +1,8 @@ diff --git a/build/Templates/OpenMVSConfig.cmake.in b/build/Templates/OpenMVSConfig.cmake.in -index 9747b3e1..a8eb87df 100644 +index 9747b3e..ed2347e 100644 --- a/build/Templates/OpenMVSConfig.cmake.in +++ b/build/Templates/OpenMVSConfig.cmake.in -@@ -15,9 +15,67 @@ set(OpenMVS_INCLUDE_DIRS "@INSTALL_INCLUDE_DIR_IN@") +@@ -15,9 +15,64 @@ set(OpenMVS_INCLUDE_DIRS "@INSTALL_INCLUDE_DIR_IN@") set(OpenMVS_DEFINITIONS "@OpenMVS_DEFINITIONS@") @@ -41,7 +41,7 @@ index 9747b3e1..a8eb87df 100644 + add_definitions(${BREAKPAD_DEFINITIONS} -D_USE_BREAKPAD) +endif() + -+find_dependency(Boost) ++find_dependency(Boost COMPONENTS iostreams program_options system serialization) +add_definitions(${Boost_DEFINITIONS} -D_USE_BOOST) +include_directories(${Boost_INCLUDE_DIRS}) +find_dependency(Eigen3) @@ -52,9 +52,6 @@ index 9747b3e1..a8eb87df 100644 +find_dependency(CGAL) +add_definitions(${CGAL_DEFINITIONS}) + -+find_dependency(VCG REQUIRED) -+add_definitions(${VCG_DEFINITIONS}) -+ +if(@OpenMVS_USE_CERES@) + find_dependency(Ceres) + add_definitions(${CERES_DEFINITIONS}) @@ -74,7 +71,6 @@ index 9747b3e1..a8eb87df 100644 -include("${CMAKE_CURRENT_LIST_DIR}/OpenMVSTargets.cmake") -check_required_components("OpenMVS") +set(OpenMVS_BINARIES InterfaceCOLMAP InterfaceMetashape InterfaceMVSNet DensifyPointCloud ReconstructMesh RefineMesh TextureMesh TransformScene Viewer) - diff --git a/build/Utils.cmake b/build/Utils.cmake index 0cb2d8e1..62e1661f 100644 --- a/build/Utils.cmake diff --git a/ports/openmvs/fix-lib-name-conflict.patch b/ports/openmvs/fix-lib-name-conflict.patch new file mode 100644 index 00000000000000..240d74d6e6522d --- /dev/null +++ b/ports/openmvs/fix-lib-name-conflict.patch @@ -0,0 +1,12 @@ +diff --git a/libs/Common/CMakeLists.txt b/libs/Common/CMakeLists.txt +index 18899af..1dd2c8d 100644 +--- a/libs/Common/CMakeLists.txt ++++ b/libs/Common/CMakeLists.txt +@@ -16,6 +16,7 @@ TARGET_LINK_LIBRARIES(Common ${Boost_LIBRARIES} ${OpenCV_LIBS}) + + # Install + SET_TARGET_PROPERTIES(Common PROPERTIES ++ OUTPUT_NAME "OpenMVS_Common" + PUBLIC_HEADER "${LIBRARY_FILES_H}") + INSTALL(TARGETS Common + EXPORT OpenMVSTargets diff --git a/ports/openmvs/fix-static-build.patch b/ports/openmvs/fix-static-build.patch new file mode 100644 index 00000000000000..47e459fb454b23 --- /dev/null +++ b/ports/openmvs/fix-static-build.patch @@ -0,0 +1,19 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 39ec359ac3..03225b8940 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -177,10 +177,10 @@ if(Boost_FOUND) + LIST(APPEND OpenMVS_DEFINITIONS -D_USE_BOOST) + ADD_DEFINITIONS(${Boost_DEFINITIONS}) + LINK_DIRECTORIES(${Boost_LIBRARY_DIRS}) +- if(NOT MSVC AND DEFINED CMAKE_TOOLCHAIN_FILE) +- # work around this missing library link in vcpkg +- LIST(APPEND Boost_LIBRARIES zstd) +- endif() ++ LINK_LIBRARIES(${Boost_LIBRARIES}) ++ find_package(zstd CONFIG REQUIRED) ++ LINK_LIBRARIES($,zstd::libzstd_shared,zstd::libzstd_static>) ++ + SET(_USE_BOOST TRUE) + endif() + diff --git a/ports/openmvs/fix_no_zstd.patch b/ports/openmvs/fix_no_zstd.patch new file mode 100644 index 00000000000000..155670ec9a5f67 --- /dev/null +++ b/ports/openmvs/fix_no_zstd.patch @@ -0,0 +1,17 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 39ec359..ee90ae6 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -177,10 +177,8 @@ if(Boost_FOUND) + LIST(APPEND OpenMVS_DEFINITIONS -D_USE_BOOST) + ADD_DEFINITIONS(${Boost_DEFINITIONS}) + LINK_DIRECTORIES(${Boost_LIBRARY_DIRS}) +- if(NOT MSVC AND DEFINED CMAKE_TOOLCHAIN_FILE) +- # work around this missing library link in vcpkg +- LIST(APPEND Boost_LIBRARIES zstd) +- endif() ++ # work around this missing library link in vcpkg ++ LIST(APPEND Boost_LIBRARIES zstd) + SET(_USE_BOOST TRUE) + endif() + diff --git a/ports/openmvs/portfile.cmake b/ports/openmvs/portfile.cmake index aacf1805362658..22d36d5e7f9afe 100644 --- a/ports/openmvs/portfile.cmake +++ b/ports/openmvs/portfile.cmake @@ -3,12 +3,14 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO cdcseacave/openMVS - REF v2.1.0 + REF "v${VERSION}" SHA512 95d83c6694b63b6fd27657c4c5e22ddbc078d26b7324b8f17952a6c7e4547028698aa155077c0cfb916d3497ca31c365e0cbcd81f3cbe959ef40a7ee2e5cd300 HEAD_REF master PATCHES fix-build.patch no-absolute-paths.patch + fix-static-build.patch + fix-lib-name-conflict.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS @@ -82,4 +84,4 @@ configure_file("${SOURCE_PATH}/MvgMvsPipeline.py.in" "${CURRENT_PACKAGES_DIR}/to configure_file("${SOURCE_PATH}/MvgOptimizeSfM.py.in" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/MvgOptimizeSfM.py" @ONLY) file(INSTALL "${SOURCE_PATH}/build/Modules/FindVCG.cmake" DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}) -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/openmvs/vcpkg.json b/ports/openmvs/vcpkg.json index 2ea8a37cb37acd..efaa701f3b26ad 100644 --- a/ports/openmvs/vcpkg.json +++ b/ports/openmvs/vcpkg.json @@ -1,7 +1,7 @@ { "name": "openmvs", "version": "2.1.0", - "port-version": 2, + "port-version": 6, "description": "OpenMVS: open Multi-View Stereo reconstruction library", "homepage": "https://cdcseacave.github.io/openMVS", "license": "AGPL-3.0-only", @@ -28,7 +28,10 @@ ], "platform": "!(windows & static)" }, - "tiff", + { + "name": "tiff", + "default-features": false + }, "vcglib", { "name": "vcpkg-cmake", diff --git a/ports/openscap/fix-build.patch b/ports/openscap/fix-build.patch index cf6b2703eac061..b5016a82fb35f8 100644 --- a/ports/openscap/fix-build.patch +++ b/ports/openscap/fix-build.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 72d9aec..8938931 100644 +index e4076b7..dff0a45 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -164,12 +164,19 @@ if (WIN32 AND NOT MINGW) +@@ -163,13 +163,19 @@ if (WIN32 AND NOT MINGW) else() find_package(Threads REQUIRED) endif() @@ -22,13 +22,13 @@ index 72d9aec..8938931 100644 +else() + find_package(Threads REQUIRED) +endif() -+ + +# OpenSSL +link_libraries(OpenSSL::SSL OpenSSL::Crypto) - # WITH_CRYPTO - set(WITH_CRYPTO "gcrypt" CACHE STRING "gcrypt|nss3") -@@ -475,19 +482,9 @@ message(STATUS "asciidoc: ${ASCIIDOC_EXECUTABLE}") + set(WITH_CRYPTO "gcrypt" CACHE STRING "gcrypt|nss") + if(${WITH_CRYPTO} STREQUAL "nss") +@@ -482,19 +488,9 @@ message(STATUS "asciidoc: ${ASCIIDOC_EXECUTABLE}") # ---------- PATHS @@ -52,10 +52,10 @@ index 72d9aec..8938931 100644 diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index e9339c6..9347087 100644 +index 5d59bf3..d6919d0 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt -@@ -134,4 +134,8 @@ else() +@@ -125,4 +125,8 @@ else() set(OPENSCAP_INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() @@ -66,7 +66,7 @@ index e9339c6..9347087 100644 + ARCHIVE DESTINATION lib +) diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt -index 93ce1f2..f500e1d 100644 +index 9347c29..0e16a8d 100644 --- a/utils/CMakeLists.txt +++ b/utils/CMakeLists.txt @@ -29,22 +29,15 @@ if(ENABLE_OSCAP_UTIL) @@ -82,7 +82,7 @@ index 93ce1f2..f500e1d 100644 - ") else() - set(OSCAP_UTIL_DESTINATION ${CMAKE_INSTALL_BINDIR}) -+ set(OSCAP_UTIL_DESTINATION tools) ++ set(OSCAP_UTIL_DESTINATION bin) # Install the 'oscap' utility install(TARGETS "oscap" DESTINATION ${OSCAP_UTIL_DESTINATION} diff --git a/ports/openscap/fix-buildflag-and-install.patch b/ports/openscap/fix-buildflag-and-install.patch index c0f6971ca5f33d..2cad725e979874 100644 --- a/ports/openscap/fix-buildflag-and-install.patch +++ b/ports/openscap/fix-buildflag-and-install.patch @@ -1,26 +1,27 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 8938931..d111896 100644 +index dff0a45..494512e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -148,9 +148,7 @@ if (APPLE) +@@ -147,9 +147,7 @@ if (APPLE) endif() find_package(OpenSSL REQUIRED) add_definitions(${XMLSEC_DEFINITIONS}) -if (WIN32) - add_compile_definitions("XMLSEC_CRYPTO_OPENSSL") +- add_compile_definitions("XMLSEC_CRYPTO_OPENSSL") -endif() ++add_compile_definitions("XMLSEC_CRYPTO_OPENSSL") find_package(BZip2) - + # PThread -@@ -610,11 +608,6 @@ if(NOT WIN32) - if(WITH_SYSTEMD) - if(ENABLE_OSCAP_REMEDIATE_SERVICE) - # systemd service for offline (boot-time) remediation -- configure_file("oscap-remediate.service.in" "oscap-remediate.service" @ONLY) -- install(FILES -- ${CMAKE_CURRENT_BINARY_DIR}/oscap-remediate.service -- DESTINATION ${SYSTEMD_UNITDIR} -- ) - endif() - endif() +@@ -614,11 +612,6 @@ if(NOT WIN32) + if(WITH_SYSTEMD) + if(ENABLE_OSCAP_REMEDIATE_SERVICE) + # systemd service for offline (boot-time) remediation +- configure_file("oscap-remediate.service.in" "oscap-remediate.service" @ONLY) +- install(FILES +- ${CMAKE_CURRENT_BINARY_DIR}/oscap-remediate.service +- DESTINATION ${CMAKE_INSTALL_PREFIX}/${SYSTEMD_UNITDIR} +- ) + endif() + endif() endif() diff --git a/ports/openscap/fix-dependencies.patch b/ports/openscap/fix-dependencies.patch new file mode 100644 index 00000000000000..767c7e2576ab64 --- /dev/null +++ b/ports/openscap/fix-dependencies.patch @@ -0,0 +1,32 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 494512e..22ab043 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -84,8 +84,12 @@ include(CMakeDependentOption) + find_package(ACL) + if(ACL_FOUND) + check_library_exists("${ACL_LIBRARY}" acl_extended_file "" HAVE_ACL_EXTENDED_FILE) +- check_include_file(acl/libacl.h HAVE_ACL_LIBACL_H) +- check_include_file(sys/acl.h HAVE_SYS_ACL_H) ++ if(EXISTS "${ACL_INCLUDE_DIR}/acl/libacl.h") ++ set(HAVE_ACL_LIBACL_H 1) ++ endif() ++ if(EXISTS "${ACL_INCLUDE_DIR}/sys/acl.h") ++ set(HAVE_SYS_ACL_H 1) ++ endif() + endif() + + find_package(Blkid) +diff --git a/cmake/FindACL.cmake b/cmake/FindACL.cmake +index a41f2c1..9675498 100644 +--- a/cmake/FindACL.cmake ++++ b/cmake/FindACL.cmake +@@ -12,7 +12,7 @@ libfind_pkg_check_modules(ACL_PKGCONF libacl) + + # Include dir + find_path(ACL_INCLUDE_DIR +- NAMES "acl/libacl.h" "sys/libacl.h" ++ NAMES "acl/libacl.h" "sys/acl.h" + PATHS ${ACL_PKGCONF_INCLUDE_DIRS} + ) + diff --git a/ports/openscap/fix-utils.patch b/ports/openscap/fix-utils.patch index 7fad24619b6548..509ccae11da523 100644 --- a/ports/openscap/fix-utils.patch +++ b/ports/openscap/fix-utils.patch @@ -1,36 +1,29 @@ -diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt -index f500e1d..ebddcbf 100644 ---- a/utils/CMakeLists.txt -+++ b/utils/CMakeLists.txt -@@ -1,5 +1,5 @@ - install(PROGRAMS "oscap-run-sce-script" -- DESTINATION ${CMAKE_INSTALL_BINDIR} -+ DESTINATION tools/openscap - ) - - if(ENABLE_OSCAP_UTIL) -@@ -24,13 +24,13 @@ if(ENABLE_OSCAP_UTIL) - target_link_libraries(oscap ${GETOPT_LIBRARY}) - endif() - -- set(OSCAP_UTIL_DESTINATION ".") -+ set(OSCAP_UTIL_DESTINATION bin) - # Install the 'oscap' utility - install(TARGETS "oscap" - DESTINATION ${OSCAP_UTIL_DESTINATION} - ) - else() -- set(OSCAP_UTIL_DESTINATION tools) -+ set(OSCAP_UTIL_DESTINATION bin) - # Install the 'oscap' utility - install(TARGETS "oscap" - DESTINATION ${OSCAP_UTIL_DESTINATION} -@@ -110,7 +110,7 @@ if(ENABLE_OSCAP_UTIL_SSH) - endif() - if(ENABLE_OSCAP_UTIL_AUTOTAILOR) - install(PROGRAMS "autotailor" -- DESTINATION ${CMAKE_INSTALL_BINDIR} -+ DESTINATION tools/openscap - ) - install(FILES "autotailor.8" - DESTINATION "${CMAKE_INSTALL_MANDIR}/man8" +diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt +index 0e16a8d..e2af57e 100644 +--- a/utils/CMakeLists.txt ++++ b/utils/CMakeLists.txt +@@ -1,5 +1,5 @@ + install(PROGRAMS "oscap-run-sce-script" +- DESTINATION ${CMAKE_INSTALL_BINDIR} ++ DESTINATION tools/openscap + ) + + if(ENABLE_OSCAP_UTIL) +@@ -24,7 +24,7 @@ if(ENABLE_OSCAP_UTIL) + target_link_libraries(oscap ${GETOPT_LIBRARY}) + endif() + +- set(OSCAP_UTIL_DESTINATION ".") ++ set(OSCAP_UTIL_DESTINATION bin) + # Install the 'oscap' utility + install(TARGETS "oscap" + DESTINATION ${OSCAP_UTIL_DESTINATION} +@@ -110,7 +110,7 @@ if(ENABLE_OSCAP_UTIL_SSH) + endif() + if(ENABLE_OSCAP_UTIL_AUTOTAILOR) + install(PROGRAMS "autotailor" +- DESTINATION ${CMAKE_INSTALL_BINDIR} ++ DESTINATION tools/openscap + ) + install(FILES "autotailor.8" + DESTINATION "${CMAKE_INSTALL_MANDIR}/man8" diff --git a/ports/openscap/portfile.cmake b/ports/openscap/portfile.cmake index f8d06346c55b37..d1c6aa201116ff 100644 --- a/ports/openscap/portfile.cmake +++ b/ports/openscap/portfile.cmake @@ -1,13 +1,16 @@ +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO OpenSCAP/openscap REF ${VERSION} - SHA512 88d095f350cb1b27f30222c809835ad9f182589a4410ea66f6389d9140804a45767b70176bcd52a0ad6b248ccf63153f09e44f93e70b3002d45cc445642a458f + SHA512 10f28593a6776d28020c26fc3ad3f3aa095fdc48fa6261c0b9677c559d3c822a23eb61c02e09a3c11654dc20d8374b5fcc3154bb9d2d34da5985fc737d252a9b HEAD_REF dev PATCHES fix-build.patch fix-buildflag-and-install.patch fix-utils.patch + fix-dependencies.patch ) file(REMOVE "${SOURCE_PATH}/cmake/FindThreads.cmake") @@ -21,6 +24,13 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS python ENABLE_PYTHON3 ) +if(VCPKG_TARGET_IS_LINUX AND ENABLE_OSCAP_UTIL) + message("openscap with util feature requires the following packages via the system package manager: + libgcrypt20-dev +On Ubuntu derivatives: + sudo apt install libgcrypt20-dev") +endif() + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} @@ -37,6 +47,7 @@ vcpkg_cmake_configure( -DPKG_CONFIG_USE_CMAKE_PREFIX_PATH=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF + -DWANT_BASE64=OFF ) vcpkg_cmake_install() diff --git a/ports/openscap/vcpkg.json b/ports/openscap/vcpkg.json index 47212b839c7d86..20adfa66842714 100644 --- a/ports/openscap/vcpkg.json +++ b/ports/openscap/vcpkg.json @@ -1,12 +1,16 @@ { "name": "openscap", - "version": "1.3.7", - "port-version": 2, + "version": "1.4.0", + "port-version": 1, "description": "The oscap program is a command line tool that allows users to load, scan, validate, edit, and export SCAP documents.", "homepage": "https://github.com/OpenSCAP/openscap", "license": "LGPL-2.1-or-later", "supports": "!xbox", "dependencies": [ + { + "name": "acl", + "platform": "linux" + }, "curl", "glib", "libpopt", diff --git a/ports/openslide/vcpkg.json b/ports/openslide/vcpkg.json index dcaec5bb65b6a3..9f0bf57706838e 100644 --- a/ports/openslide/vcpkg.json +++ b/ports/openslide/vcpkg.json @@ -1,7 +1,7 @@ { "name": "openslide", "version": "3.4.1", - "port-version": 3, + "port-version": 4, "description": "OpenSlide is a C library for reading whole slide image files (also known as virtual slides). It provides a consistent and simple API for reading files from multiple vendors.", "homepage": "https://openslide.org/", "license": "LGPL-2.1-or-later", @@ -15,7 +15,10 @@ "libxml2", "openjpeg", "sqlite3", - "tiff", + { + "name": "tiff", + "default-features": false + }, { "name": "vcpkg-tool-meson", "host": true diff --git a/ports/openssl-unix/portfile.cmake b/ports/openssl-unix/portfile.cmake deleted file mode 100644 index 418edbd62671ba..00000000000000 --- a/ports/openssl-unix/portfile.cmake +++ /dev/null @@ -1,2 +0,0 @@ -set(VCPKG_POLICY_EMPTY_PACKAGE enabled) -message(WARNING "${PORT} is deprecated. Please use port openssl instead.") diff --git a/ports/openssl-unix/vcpkg.json b/ports/openssl-unix/vcpkg.json deleted file mode 100644 index e48b94a29d44fe..00000000000000 --- a/ports/openssl-unix/vcpkg.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "openssl-unix", - "version-string": "deprecated", - "description": "Deprecated OpenSSL port. Use port openssl instead.", - "supports": "!windows", - "dependencies": [ - "openssl" - ] -} diff --git a/ports/openssl-uwp/portfile.cmake b/ports/openssl-uwp/portfile.cmake deleted file mode 100644 index 418edbd62671ba..00000000000000 --- a/ports/openssl-uwp/portfile.cmake +++ /dev/null @@ -1,2 +0,0 @@ -set(VCPKG_POLICY_EMPTY_PACKAGE enabled) -message(WARNING "${PORT} is deprecated. Please use port openssl instead.") diff --git a/ports/openssl-uwp/vcpkg.json b/ports/openssl-uwp/vcpkg.json deleted file mode 100644 index 81abd9d84092ac..00000000000000 --- a/ports/openssl-uwp/vcpkg.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "openssl-uwp", - "version-string": "deprecated", - "description": "Deprecated OpenSSL port. Use port openssl instead.", - "supports": "uwp", - "dependencies": [ - "openssl" - ] -} diff --git a/ports/openssl-windows/portfile.cmake b/ports/openssl-windows/portfile.cmake deleted file mode 100644 index 418edbd62671ba..00000000000000 --- a/ports/openssl-windows/portfile.cmake +++ /dev/null @@ -1,2 +0,0 @@ -set(VCPKG_POLICY_EMPTY_PACKAGE enabled) -message(WARNING "${PORT} is deprecated. Please use port openssl instead.") diff --git a/ports/openssl-windows/vcpkg.json b/ports/openssl-windows/vcpkg.json deleted file mode 100644 index cddd6fd21645f3..00000000000000 --- a/ports/openssl-windows/vcpkg.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "openssl-windows", - "version-string": "deprecated", - "description": "Deprecated OpenSSL port. Use port openssl instead.", - "supports": "windows & !uwp", - "dependencies": [ - "openssl" - ] -} diff --git a/ports/openssl/asm-armcap.patch b/ports/openssl/asm-armcap.patch new file mode 100644 index 00000000000000..148a718077090e --- /dev/null +++ b/ports/openssl/asm-armcap.patch @@ -0,0 +1,96 @@ +diff --git a/crypto/armv4cpuid.pl b/crypto/armv4cpuid.pl +index 04b342551c..9b933c70c4 100644 +--- a/crypto/armv4cpuid.pl ++++ b/crypto/armv4cpuid.pl +@@ -293,6 +293,7 @@ atomic_add_spinlock: + #endif + + .extern OPENSSL_armcap_P ++.hidden OPENSSL_armcap_P + ___ + + print $code; +diff --git a/crypto/bn/asm/armv4-gf2m.pl b/crypto/bn/asm/armv4-gf2m.pl +index 17af0e0774..5733a01746 100644 +--- a/crypto/bn/asm/armv4-gf2m.pl ++++ b/crypto/bn/asm/armv4-gf2m.pl +@@ -326,6 +326,7 @@ $code.=<<___; + + #if __ARM_MAX_ARCH__>=7 + .extern OPENSSL_armcap_P ++.hidden OPENSSL_armcap_P + #endif + ___ + +diff --git a/crypto/bn/asm/armv4-mont.pl b/crypto/bn/asm/armv4-mont.pl +index d85da92406..6e839d845c 100644 +--- a/crypto/bn/asm/armv4-mont.pl ++++ b/crypto/bn/asm/armv4-mont.pl +@@ -750,6 +750,7 @@ $code.=<<___; + .align 2 + #if __ARM_MAX_ARCH__>=7 + .extern OPENSSL_armcap_P ++.hidden OPENSSL_armcap_P + #endif + ___ + +diff --git a/crypto/chacha/asm/chacha-armv4.pl b/crypto/chacha/asm/chacha-armv4.pl +index ac32d5bda7..bb48b6eeb9 100755 +--- a/crypto/chacha/asm/chacha-armv4.pl ++++ b/crypto/chacha/asm/chacha-armv4.pl +@@ -1155,6 +1155,7 @@ $code.=<<___; + ldmia sp!,{r4-r11,pc} + .size ChaCha20_neon,.-ChaCha20_neon + .extern OPENSSL_armcap_P ++.hidden OPENSSL_armcap_P + #endif + ___ + }}} +diff --git a/crypto/poly1305/asm/poly1305-armv4.pl b/crypto/poly1305/asm/poly1305-armv4.pl +index b98beefa18..673ea62ec3 100755 +--- a/crypto/poly1305/asm/poly1305-armv4.pl ++++ b/crypto/poly1305/asm/poly1305-armv4.pl +@@ -1240,6 +1240,7 @@ $code.=<<___; + .align 2 + #if __ARM_MAX_ARCH__>=7 + .extern OPENSSL_armcap_P ++.hidden OPENSSL_armcap_P + #endif + ___ + +diff --git a/crypto/sha/asm/sha1-armv4-large.pl b/crypto/sha/asm/sha1-armv4-large.pl +index 2832c5b530..b3a8ec6941 100644 +--- a/crypto/sha/asm/sha1-armv4-large.pl ++++ b/crypto/sha/asm/sha1-armv4-large.pl +@@ -708,6 +708,7 @@ ___ + $code.=<<___; + #if __ARM_MAX_ARCH__>=7 + .extern OPENSSL_armcap_P ++.hidden OPENSSL_armcap_P + #endif + ___ + +diff --git a/crypto/sha/asm/sha256-armv4.pl b/crypto/sha/asm/sha256-armv4.pl +index 8bac84b1a8..feb1f26109 100644 +--- a/crypto/sha/asm/sha256-armv4.pl ++++ b/crypto/sha/asm/sha256-armv4.pl +@@ -694,6 +694,7 @@ $code.=<<___; + .align 2 + #if __ARM_MAX_ARCH__>=7 && !defined(__KERNEL__) + .extern OPENSSL_armcap_P ++.hidden OPENSSL_armcap_P + #endif + ___ + +diff --git a/crypto/sha/asm/sha512-armv4.pl b/crypto/sha/asm/sha512-armv4.pl +index c8b8110671..9aa310ffd0 100644 +--- a/crypto/sha/asm/sha512-armv4.pl ++++ b/crypto/sha/asm/sha512-armv4.pl +@@ -661,6 +661,7 @@ $code.=<<___; + .align 2 + #if __ARM_MAX_ARCH__>=7 && !defined(__KERNEL__) + .extern OPENSSL_armcap_P ++.hidden OPENSSL_armcap_P + #endif + ___ + diff --git a/ports/openssl/cmake-config.patch b/ports/openssl/cmake-config.patch new file mode 100644 index 00000000000000..74251abef9c262 --- /dev/null +++ b/ports/openssl/cmake-config.patch @@ -0,0 +1,62 @@ +diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl +index 09303c4..487ff68 100644 +--- a/Configurations/unix-Makefile.tmpl ++++ b/Configurations/unix-Makefile.tmpl +@@ -338,7 +338,7 @@ bindir={- file_name_is_absolute($bindir) + ? $bindir : '$(INSTALLTOP)/$(BINDIR)' -} + + PKGCONFIGDIR=$(libdir)/pkgconfig +-CMAKECONFIGDIR=$(libdir)/cmake/OpenSSL ++CMAKECONFIGDIR=$(INSTALLTOP)/share/openssl + + MANDIR=$(INSTALLTOP)/share/man + DOCDIR=$(INSTALLTOP)/share/doc/$(BASENAME) +diff --git a/Configurations/windows-makefile.tmpl b/Configurations/windows-makefile.tmpl +index 894834c..d6d3c41 100644 +--- a/Configurations/windows-makefile.tmpl ++++ b/Configurations/windows-makefile.tmpl +@@ -254,7 +254,7 @@ MODULESDIR=$(MODULESDIR_dev)$(MODULESDIR_dir) + libdir={- file_name_is_absolute($libdir) + ? $libdir : '$(INSTALLTOP)\$(LIBDIR)' -} + +-CMAKECONFIGDIR=$(libdir)\cmake\OpenSSL ++CMAKECONFIGDIR=$(INSTALLTOP)\share\openssl + + ##### User defined commands and flags ################################ + +diff --git a/exporters/cmake/OpenSSLConfig.cmake.in b/exporters/cmake/OpenSSLConfig.cmake.in +index 766aebe..026680a 100644 +--- a/exporters/cmake/OpenSSLConfig.cmake.in ++++ b/exporters/cmake/OpenSSLConfig.cmake.in +@@ -91,8 +91,7 @@ get_filename_component(_ossl_prefix "${CMAKE_CURRENT_LIST_FILE}" PATH) + {- + # For each component in $OpenSSL::safe::installdata::CMAKECONFIGDIR[0] relative to + # $OpenSSL::safe::installdata::PREFIX[0], have CMake figure out the parent directory. +- my $d = join('/', unixify(catdir($OpenSSL::safe::installdata::LIBDIR_REL_PREFIX[0], +- $OpenSSL::safe::installdata::CMAKECONFIGDIR_REL_LIBDIR[0]), 1)); ++ my $d = 'share/openssl'; + $OUT = ''; + if ($d ne '.') { + $OUT .= 'get_filename_component(_ossl_prefix "${_ossl_prefix}" PATH)' . "\n" +@@ -141,6 +140,14 @@ set(OPENSSL_APPLINK_SOURCE "${_ossl_prefix}/{- unixify($OpenSSL::safe::installda + {- output_on() if $disabled{uplink}; "" -} + set(OPENSSL_PROGRAM "${OPENSSL_RUNTIME_DIR}/{- platform->bin('openssl') -}") + ++if(NOT Z_VCPKG_OPENSSL_USE_SINGLE_CONFIG) ++ # Prevent loop ++ set(Z_VCPKG_OPENSSL_USE_SINGLE_CONFIG "prevent-loop") ++ # Chainload vcpkg's module-based multi-config target setup ++ find_package(OpenSSL MODULE) ++ set(Z_VCPKG_OPENSSL_USE_SINGLE_CONFIG 0) ++else() ++ # Use official single-config target setup + # Set up the imported targets + if(_ossl_use_static_libs) + {- output_off() unless $no_static; "" -} +@@ -240,5 +247,6 @@ set_property(TARGET OpenSSL::applink PROPERTY + INTERFACE_SOURCES "${OPENSSL_APPLINK_SOURCE}") + {- output_on() if $disabled{uplink}; "" -} + ++endif() + unset(_ossl_prefix) + unset(_ossl_use_static_libs) diff --git a/ports/openssl/command-line-length.patch b/ports/openssl/command-line-length.patch new file mode 100644 index 00000000000000..08fb51be53171e --- /dev/null +++ b/ports/openssl/command-line-length.patch @@ -0,0 +1,13 @@ +diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl +index 8ddb128..52b9ad6 100644 +--- a/Configurations/unix-Makefile.tmpl ++++ b/Configurations/unix-Makefile.tmpl +@@ -1961,7 +1961,7 @@ EOF + my @objs = map { platform->obj($_) } @{$args{objs}}; + my $deps = join(" \\\n" . ' ' x (length($lib) + 2), + fill_lines(' ', $COLUMNS - length($lib) - 2, @objs)); +- my $max_per_call = 500; ++ my $max_per_call = ($^O eq 'msys') ? 80 : 500; + my @objs_grouped; + push @objs_grouped, join(" ", splice @objs, 0, $max_per_call) while @objs; + my $fill_lib = diff --git a/ports/openssl/disable-apps.patch b/ports/openssl/disable-apps.patch deleted file mode 100644 index 8dac3d68355283..00000000000000 --- a/ports/openssl/disable-apps.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/Configure b/Configure -index 5ac4b52..ad638e8 100755 ---- a/Configure -+++ b/Configure -@@ -401,6 +401,7 @@ my @dtls = qw(dtls1 dtls1_2); - my @disablables = ( - "acvp-tests", - "afalgeng", -+ "apps", - "aria", - "asan", - "asm", diff --git a/ports/openssl/disable-install-docs.patch b/ports/openssl/disable-install-docs.patch deleted file mode 100644 index 6e39790cec4ba2..00000000000000 --- a/ports/openssl/disable-install-docs.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl -index 110ba06..5b6b1c7 100644 ---- a/Configurations/unix-Makefile.tmpl -+++ b/Configurations/unix-Makefile.tmpl -@@ -611,7 +611,7 @@ install_sw: install_dev install_engines install_modules install_runtime - - uninstall_sw: uninstall_runtime uninstall_modules uninstall_engines uninstall_dev - --install_docs: install_man_docs install_html_docs -+install_docs: - - uninstall_docs: uninstall_man_docs uninstall_html_docs - $(RM) -r $(DESTDIR)$(DOCDIR) -diff --git a/Configurations/windows-makefile.tmpl b/Configurations/windows-makefile.tmpl -index d054431..b5c1c88 100644 ---- a/Configurations/windows-makefile.tmpl -+++ b/Configurations/windows-makefile.tmpl -@@ -487,7 +487,7 @@ install_sw: install_dev install_engines install_modules install_runtime - - uninstall_sw: uninstall_runtime uninstall_modules uninstall_engines uninstall_dev - --install_docs: install_html_docs -+install_docs: - - uninstall_docs: uninstall_html_docs - diff --git a/ports/openssl/mkbuildinf.diff b/ports/openssl/mkbuildinf.diff new file mode 100644 index 00000000000000..e756c8c6a8b7ac --- /dev/null +++ b/ports/openssl/mkbuildinf.diff @@ -0,0 +1,15 @@ +diff --git a/util/mkbuildinf.pl b/util/mkbuildinf.pl +index a57c80a..5cecf83 100755 +--- a/util/mkbuildinf.pl ++++ b/util/mkbuildinf.pl +@@ -9,7 +9,9 @@ + use strict; + use warnings; + +-my ($cflags, $platform) = @ARGV; ++my $platform = pop @ARGV; ++my $cflags = join(' ', @ARGV); ++$cflags =~ s(\\)(\\\\)g; + $cflags = "compiler: $cflags"; + + # Use the value of the envvar SOURCE_DATE_EPOCH, even if it's diff --git a/ports/openssl/portfile.cmake b/ports/openssl/portfile.cmake index e9209b4b7332d3..c4b011394858bf 100644 --- a/ports/openssl/portfile.cmake +++ b/ports/openssl/portfile.cmake @@ -7,23 +7,17 @@ if(VCPKG_TARGET_IS_EMSCRIPTEN) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) endif() -if (NOT "${VERSION}" MATCHES [[^([0-9]+)\.([0-9]+)\.([0-9]+)$]]) - message(FATAL_ERROR "Version regex did not match.") -endif() -set(OPENSSL_VERSION_MAJOR "${CMAKE_MATCH_1}") -set(OPENSSL_VERSION_MINOR "${CMAKE_MATCH_2}") -set(OPENSSL_VERSION_FIX "${CMAKE_MATCH_3}") -configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-cmake-wrapper.cmake" @ONLY) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO openssl/openssl REF "openssl-${VERSION}" - SHA512 248353b000ef6b9a3434bf808b147eb4672c82f36968b2995c159373680f80208183bb70c02effa36ae4a1705fe5a5e315960075e8899352c4e84069d6c651c2 + SHA512 d5f78b2e9d7b7b4787c976c4f832b1448bbadf5f9d398a50ef98053f92501768d000aa73673af200568aef4c8a491442ebbee8c43556838f465d4f91dfc2b5ad PATCHES - disable-apps.patch - disable-install-docs.patch + cmake-config.patch + command-line-length.patch + mkbuildinf.diff script-prefix.patch + asm-armcap.patch windows/install-layout.patch windows/install-pdbs.patch unix/android-cc.patch @@ -35,9 +29,8 @@ vcpkg_from_github( vcpkg_list(SET CONFIGURE_OPTIONS enable-static-engine enable-capieng - no-ssl3 - no-weak-ssl-ciphers no-tests + no-docs ) set(INSTALL_FIPS "") @@ -56,6 +49,15 @@ if(NOT "tools" IN_LIST FEATURES) vcpkg_list(APPEND CONFIGURE_OPTIONS no-apps) endif() +if("weak-ssl-ciphers" IN_LIST FEATURES) + vcpkg_list(APPEND CONFIGURE_OPTIONS enable-weak-ssl-ciphers) +endif() + +if("ssl3" IN_LIST FEATURES) + vcpkg_list(APPEND CONFIGURE_OPTIONS enable-ssl3) + vcpkg_list(APPEND CONFIGURE_OPTIONS enable-ssl3-method) +endif() + if(DEFINED OPENSSL_USE_NOPINSHARED) vcpkg_list(APPEND CONFIGURE_OPTIONS no-pinshared) endif() @@ -72,4 +74,13 @@ else() endif() file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +if (NOT "${VERSION}" MATCHES [[^([0-9]+)\.([0-9]+)\.([0-9]+)$]]) + message(FATAL_ERROR "Version regex did not match.") +endif() +set(OPENSSL_VERSION_MAJOR "${CMAKE_MATCH_1}") +set(OPENSSL_VERSION_MINOR "${CMAKE_MATCH_2}") +set(OPENSSL_VERSION_FIX "${CMAKE_MATCH_3}") +configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-cmake-wrapper.cmake" @ONLY) + vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/openssl/unix/move-openssldir.patch b/ports/openssl/unix/move-openssldir.patch index 44e0183efec0d3..2a39bdbe745110 100644 --- a/ports/openssl/unix/move-openssldir.patch +++ b/ports/openssl/unix/move-openssldir.patch @@ -1,15 +1,16 @@ diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl -index dd96254..c4458ca 100644 +index c82c086..6c5402d 100644 --- a/Configurations/unix-Makefile.tmpl +++ b/Configurations/unix-Makefile.tmpl -@@ -689,6 +689,10 @@ install_ssldirs: - cp $(SRCDIR)/apps/ct_log_list.cnf $(DESTDIR)$(OPENSSLDIR)/ct_log_list.cnf; \ - chmod 644 $(DESTDIR)$(OPENSSLDIR)/ct_log_list.cnf; \ +@@ -690,6 +690,11 @@ install_ssldirs: + chmod 644 "$(DESTDIR)$(OPENSSLDIR)/ct_log_list.cnf"; \ fi + + $(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(INSTALLTOP)$(OPENSSLDIR) + for I in $(DESTDIR)$(OPENSSLDIR)/*; do \ + mv $$I $(DESTDIR)$(INSTALLTOP)$(OPENSSLDIR)/; \ + done - ++ install_dev: install_runtime_libs @[ -n "$(INSTALLTOP)" ] || (echo INSTALLTOP should not be empty; exit 1) + @$(ECHO) "*** Installing development files" diff --git a/ports/openssl/unix/no-empty-dirs.patch b/ports/openssl/unix/no-empty-dirs.patch index 4c59d9eaca33fd..7cf0cf05fa9273 100644 --- a/ports/openssl/unix/no-empty-dirs.patch +++ b/ports/openssl/unix/no-empty-dirs.patch @@ -1,21 +1,21 @@ diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl -index 5b6b1c7..4c8c916 100644 +index 6c5402d..fc982df 100644 --- a/Configurations/unix-Makefile.tmpl +++ b/Configurations/unix-Makefile.tmpl -@@ -818,7 +818,7 @@ _install_modules_deps: install_runtime_libs build_modules +@@ -823,7 +823,7 @@ _install_modules_deps: install_runtime_libs build_modules install_engines: _install_modules_deps @[ -n "$(INSTALLTOP)" ] || (echo INSTALLTOP should not be empty; exit 1) -- @$(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(ENGINESDIR)/ +- @$(PERL) $(SRCDIR)/util/mkdir-p.pl "$(DESTDIR)$(ENGINESDIR)/" + @[ -z "$(INSTALL_ENGINES)" ] || $(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(ENGINESDIR)/ @$(ECHO) "*** Installing engines" @set -e; for e in dummy $(INSTALL_ENGINES); do \ if [ "$$e" = "dummy" ]; then continue; fi; \ -@@ -842,7 +842,7 @@ uninstall_engines: +@@ -847,7 +847,7 @@ uninstall_engines: install_modules: _install_modules_deps @[ -n "$(INSTALLTOP)" ] || (echo INSTALLTOP should not be empty; exit 1) -- @$(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(MODULESDIR)/ +- @$(PERL) $(SRCDIR)/util/mkdir-p.pl "$(DESTDIR)$(MODULESDIR)/" + @[ -z "$(INSTALL_MODULES)" ] || $(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(MODULESDIR)/ @$(ECHO) "*** Installing modules" @set -e; for e in dummy $(INSTALL_MODULES); do \ diff --git a/ports/openssl/unix/no-static-libs-for-shared.patch b/ports/openssl/unix/no-static-libs-for-shared.patch index 868e682a32146b..d6aa34cfe241e4 100644 --- a/ports/openssl/unix/no-static-libs-for-shared.patch +++ b/ports/openssl/unix/no-static-libs-for-shared.patch @@ -1,12 +1,12 @@ diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl -index 4c8c916..dd96254 100644 +index fc982df..10f1c54 100644 --- a/Configurations/unix-Makefile.tmpl +++ b/Configurations/unix-Makefile.tmpl -@@ -708,6 +708,7 @@ install_dev: install_runtime_libs +@@ -713,6 +713,7 @@ install_dev: install_runtime_libs done - @$(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(libdir) + @$(PERL) $(SRCDIR)/util/mkdir-p.pl "$(DESTDIR)$(libdir)" @set -e; for l in $(INSTALL_LIBS); do \ -+ if [ -n "$(INSTALL_SHLIBS)" ] ; then continue ; fi ; \ ++ if [ -n "$(INSTALL_SHLIBS)" ] ; then continue ; fi ; \ fn=`basename $$l`; \ $(ECHO) "install $$l -> $(DESTDIR)$(libdir)/$$fn"; \ - cp $$l $(DESTDIR)$(libdir)/$$fn.new; \ + cp $$l "$(DESTDIR)$(libdir)/$$fn.new"; \ diff --git a/ports/openssl/unix/portfile.cmake b/ports/openssl/unix/portfile.cmake index 02e62732d5f034..98c5dcb549d2be 100644 --- a/ports/openssl/unix/portfile.cmake +++ b/ports/openssl/unix/portfile.cmake @@ -6,7 +6,7 @@ openssl requires Linux kernel headers from the system package manager. ]]) endif() -if(CMAKE_HOST_WIN32) +if(VCPKG_HOST_IS_WINDOWS) vcpkg_acquire_msys(MSYS_ROOT PACKAGES make perl) set(MAKE "${MSYS_ROOT}/usr/bin/make.exe") set(PERL "${MSYS_ROOT}/usr/bin/perl.exe") @@ -45,8 +45,7 @@ vcpkg_list(SET MAKEFILE_OPTIONS) if(VCPKG_TARGET_IS_ANDROID) set(ENV{ANDROID_NDK_ROOT} "${VCPKG_DETECTED_CMAKE_ANDROID_NDK}") set(OPENSSL_ARCH "android-${VCPKG_DETECTED_CMAKE_ANDROID_ARCH}") - # asm on arm32 NEON is broken, https://github.com/openssl/openssl/pull/21583#issuecomment-1727057735 - if(VCPKG_DETECTED_CMAKE_ANDROID_ARCH STREQUAL "arm" #[[AND NOT VCPKG_DETECTED_CMAKE_ANDROID_ARM_NEON]]) + if(VCPKG_DETECTED_CMAKE_ANDROID_ARCH STREQUAL "arm" AND NOT VCPKG_DETECTED_CMAKE_ANDROID_ARM_NEON) vcpkg_list(APPEND CONFIGURE_OPTIONS no-asm) endif() elseif(VCPKG_TARGET_IS_LINUX) @@ -88,6 +87,7 @@ elseif(VCPKG_TARGET_IS_MINGW) set(OPENSSL_ARCH mingw) endif() elseif(VCPKG_TARGET_IS_EMSCRIPTEN) + set(OPENSSL_ARCH linux-x32) vcpkg_list(APPEND CONFIGURE_OPTIONS threads no-engine diff --git a/ports/openssl/usage b/ports/openssl/usage index f535cb6a401ccd..14e12e95695af6 100644 --- a/ports/openssl/usage +++ b/ports/openssl/usage @@ -1,4 +1,5 @@ -The package openssl is compatible with built-in CMake targets: +openssl is compatible with built-in CMake targets: - find_package(OpenSSL REQUIRED) - target_link_libraries(main PRIVATE OpenSSL::SSL OpenSSL::Crypto) + find_package(OpenSSL REQUIRED) + target_link_libraries(main PRIVATE OpenSSL::SSL) + target_link_libraries(main PRIVATE OpenSSL::Crypto) diff --git a/ports/openssl/vcpkg.json b/ports/openssl/vcpkg.json index c5b8f43a5f29db..ef168c96da49a8 100644 --- a/ports/openssl/vcpkg.json +++ b/ports/openssl/vcpkg.json @@ -1,6 +1,7 @@ { "name": "openssl", - "version": "3.1.3", + "version": "3.4.0", + "port-version": 1, "description": "OpenSSL is an open source project that provides a robust, commercial-grade, and full-featured toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. It is also a general-purpose cryptography library.", "homepage": "https://www.openssl.org", "license": "Apache-2.0", @@ -23,9 +24,15 @@ "description": "Enable fips", "supports": "!static" }, + "ssl3": { + "description": "Enable SSL3" + }, "tools": { "description": "Install openssl executable and scripts", "supports": "!uwp" + }, + "weak-ssl-ciphers": { + "description": "Enable weak-ssl-ciphers" } } } diff --git a/ports/openssl/windows/install-pdbs.patch b/ports/openssl/windows/install-pdbs.patch index 379c525a4f49b0..552545407e0c4c 100644 --- a/ports/openssl/windows/install-pdbs.patch +++ b/ports/openssl/windows/install-pdbs.patch @@ -2,14 +2,16 @@ diff --git a/Configurations/windows-makefile.tmpl b/Configurations/windows-makef index 5946c89..f71f3bf 100644 --- a/Configurations/windows-makefile.tmpl +++ b/Configurations/windows-makefile.tmpl -@@ -556,6 +556,7 @@ install_dev: install_runtime_libs +@@ -564,8 +564,9 @@ + "$(INSTALLTOP)\include\openssl" @"$(PERL)" "$(SRCDIR)\util\mkdir-p.pl" "$(libdir)" @"$(PERL)" "$(SRCDIR)\util\copy.pl" $(INSTALL_LIBS) "$(libdir)" @if "$(SHLIBS)"=="" \ + @if "$(INSTALL_PDBS)"=="ON" \ "$(PERL)" "$(SRCDIR)\util\copy.pl" ossl_static.pdb "$(libdir)" + @"$(PERL)" "$(SRCDIR)\util\mkdir-p.pl" "$(CMAKECONFIGDIR)" + @"$(PERL)" "$(SRCDIR)\util\copy.pl" $(INSTALL_EXPORTERS_CMAKE) "$(CMAKECONFIGDIR)" - uninstall_dev: @@ -569,6 +570,7 @@ install_engines: _install_modules_deps @if not "$(INSTALL_ENGINES)"=="" \ "$(PERL)" "$(SRCDIR)\util\copy.pl" $(INSTALL_ENGINES) "$(ENGINESDIR)" diff --git a/ports/openssl/windows/portfile.cmake b/ports/openssl/windows/portfile.cmake index c1ce2774536a36..d35f3097240dc3 100644 --- a/ports/openssl/windows/portfile.cmake +++ b/ports/openssl/windows/portfile.cmake @@ -1,11 +1,15 @@ -vcpkg_find_acquire_program(NASM) -get_filename_component(NASM_EXE_PATH "${NASM}" DIRECTORY) -vcpkg_add_to_path(PREPEND "${NASM_EXE_PATH}") +# Need cmd to pass quoted CC from nmake to mkbuildinf.pl, GH-37134 +find_program(CMD_EXECUTABLE cmd HINTS ENV PATH NO_DEFAULT_PATH REQUIRED) +cmake_path(NATIVE_PATH CMD_EXECUTABLE cmd) +set(ENV{COMSPEC} "${cmd}") vcpkg_find_acquire_program(PERL) get_filename_component(PERL_EXE_PATH "${PERL}" DIRECTORY) vcpkg_add_to_path("${PERL_EXE_PATH}") +vcpkg_cmake_get_vars(cmake_vars_file) +include("${cmake_vars_file}") + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") set(OPENSSL_ARCH VC-WIN32) elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") @@ -13,7 +17,13 @@ elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") set(OPENSSL_ARCH VC-WIN32-ARM) elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") - set(OPENSSL_ARCH VC-WIN64-ARM) + if(VCPKG_TARGET_IS_UWP) + set(OPENSSL_ARCH VC-WIN64-ARM) + elseif(VCPKG_DETECTED_CMAKE_C_COMPILER_ID MATCHES "Clang") + set(OPENSSL_ARCH VC-CLANG-WIN64-CLANGASM-ARM) + else() + set(OPENSSL_ARCH VC-WIN64-CLANGASM-ARM) + endif() else() message(FATAL_ERROR "Unsupported target architecture: ${VCPKG_TARGET_ARCHITECTURE}") endif() @@ -33,17 +43,31 @@ endif() cmake_path(NATIVE_PATH CURRENT_PACKAGES_DIR NORMALIZE install_dir_native) -vcpkg_cmake_get_vars(cmake_vars_file) -include("${cmake_vars_file}") - # Clang always uses /Z7; Patching /Zi /Fd out of openssl requires more work. set(OPENSSL_BUILD_MAKES_PDBS ON) if (VCPKG_DETECTED_CMAKE_C_COMPILER_ID MATCHES "Clang" OR VCPKG_LIBRARY_LINKAGE STREQUAL "static") set(OPENSSL_BUILD_MAKES_PDBS OFF) endif() -cmake_path(NATIVE_PATH NASM NORMALIZE as) cmake_path(NATIVE_PATH VCPKG_DETECTED_CMAKE_C_COMPILER NORMALIZE cc) +if(OPENSSL_ARCH MATCHES "CLANG") + vcpkg_find_acquire_program(CLANG) + cmake_path(GET CLANG PARENT_PATH clang_path) + vcpkg_add_to_path("${clang_path}") + if(VCPKG_DETECTED_CMAKE_C_COMPILER_ID MATCHES "Clang") + string(APPEND VCPKG_COMBINED_C_FLAGS_DEBUG " --target=aarch64-win32-msvc") + string(APPEND VCPKG_COMBINED_C_FLAGS_RELEASE " --target=aarch64-win32-msvc") + endif() +endif() +if(OPENSSL_ARCH MATCHES "CLANGASM") + vcpkg_list(APPEND CONFIGURE_OPTIONS "ASFLAGS=--target=aarch64-win32-msvc") +else() + vcpkg_find_acquire_program(NASM) + cmake_path(NATIVE_PATH NASM NORMALIZE as) + cmake_path(GET NASM PARENT_PATH nasm_path) + vcpkg_add_to_path("${nasm_path}") # Needed by Configure +endif() + cmake_path(NATIVE_PATH VCPKG_DETECTED_CMAKE_AR NORMALIZE ar) cmake_path(NATIVE_PATH VCPKG_DETECTED_CMAKE_LINKER NORMALIZE ld) @@ -113,13 +137,14 @@ vcpkg_copy_pdbs() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/certs" "${CURRENT_PACKAGES_DIR}/misc" - "${CURRENT_PACKAGES_DIR}/private" - "${CURRENT_PACKAGES_DIR}/lib/engines-3" - "${CURRENT_PACKAGES_DIR}/debug/certs" + "${CURRENT_PACKAGES_DIR}/private" + "${CURRENT_PACKAGES_DIR}/lib/engines-3" + "${CURRENT_PACKAGES_DIR}/debug/certs" "${CURRENT_PACKAGES_DIR}/debug/misc" - "${CURRENT_PACKAGES_DIR}/debug/lib/engines-3" - "${CURRENT_PACKAGES_DIR}/debug/private" - "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/lib/engines-3" + "${CURRENT_PACKAGES_DIR}/debug/private" + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" ) file(REMOVE "${CURRENT_PACKAGES_DIR}/ct_log_list.cnf" diff --git a/ports/opensubdiv/fix-feature-cuda.patch b/ports/opensubdiv/fix-feature-cuda.patch new file mode 100644 index 00000000000000..e9c4e933e14504 --- /dev/null +++ b/ports/opensubdiv/fix-feature-cuda.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 098df7d..9314d03 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -730,7 +730,7 @@ endmacro() + # use when cross compiling or building multi-architecture binaries. + # We also provide a C++ binary implementation so that Python is not + # required (for backward compatibility). +-if (OPENGL_FOUND OR OPENCL_FOUND OR DXSDK_FOUND OR METAL_FOUND) ++if (OPENGL_FOUND OR OPENCL_FOUND OR DXSDK_FOUND OR METAL_FOUND OR CUDA_FOUND) + if(Python_Interpreter_FOUND) + set(OSD_STRINGIFY_TOOL ${CMAKE_CURRENT_SOURCE_DIR}/tools/stringify/stringify.py) + set(OSD_STRINGIFY ${Python_EXECUTABLE} ${OSD_STRINGIFY_TOOL}) diff --git a/ports/opensubdiv/fix-notfind-header.patch b/ports/opensubdiv/fix-notfind-header.patch new file mode 100644 index 00000000000000..3396fca7e6e94a --- /dev/null +++ b/ports/opensubdiv/fix-notfind-header.patch @@ -0,0 +1,31 @@ +diff --git a/opensubdiv/osd/tbbEvaluator.cpp b/opensubdiv/osd/tbbEvaluator.cpp +index c98db9f..5a4bc98 100644 +--- a/opensubdiv/osd/tbbEvaluator.cpp ++++ b/opensubdiv/osd/tbbEvaluator.cpp +@@ -25,7 +25,10 @@ + #include "../osd/tbbEvaluator.h" + #include "../osd/tbbKernel.h" + ++#if defined(TBB_INTERFACE_VERSION_MAJOR) && (TBB_INTERFACE_VERSION_MAJOR < 12) ++// This is deprecated functionality. + #include ++#endif + + namespace OpenSubdiv { + namespace OPENSUBDIV_VERSION { +@@ -215,11 +218,15 @@ TbbEvaluator::Synchronize(void *) { + /* static */ + void + TbbEvaluator::SetNumThreads(int numThreads) { ++#if defined(TBB_INTERFACE_VERSION_MAJOR) && (TBB_INTERFACE_VERSION_MAJOR < 12) ++ // This is deprecated functionality. We preserve the existing behavior ++ // for consistency (when using older versions of tbb). + if (numThreads == -1) { + tbb::task_scheduler_init init; + } else { + tbb::task_scheduler_init init(numThreads); + } ++#endif + } + + } // end namespace Osd diff --git a/ports/opensubdiv/portfile.cmake b/ports/opensubdiv/portfile.cmake index 6f36a19316133b..5b7138a086bb9f 100644 --- a/ports/opensubdiv/portfile.cmake +++ b/ports/opensubdiv/portfile.cmake @@ -13,6 +13,8 @@ vcpkg_from_github( fix-version-search.patch fix-build-type.patch fix-dependencies.patch + fix-feature-cuda.patch + fix-notfind-header.patch ) if(VCPKG_TARGET_IS_LINUX) @@ -135,4 +137,4 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/bin" ) -file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/opensubdiv/vcpkg.json b/ports/opensubdiv/vcpkg.json index 3f95fcaf3ab8df..56e4a23eb36521 100644 --- a/ports/opensubdiv/vcpkg.json +++ b/ports/opensubdiv/vcpkg.json @@ -1,6 +1,7 @@ { "name": "opensubdiv", "version-semver": "3.5.0", + "port-version": 2, "description": "An Open-Source subdivision surface library.", "homepage": "https://github.com/PixarAnimationStudios/OpenSubdiv", "license": "Apache-2.0", diff --git a/ports/opentelemetry-cpp-contrib-version/portfile.cmake b/ports/opentelemetry-cpp-contrib-version/portfile.cmake new file mode 100644 index 00000000000000..d1dfdb37e32ea8 --- /dev/null +++ b/ports/opentelemetry-cpp-contrib-version/portfile.cmake @@ -0,0 +1,5 @@ +file(INSTALL + "${CMAKE_CURRENT_LIST_DIR}/vcpkg-port-config.cmake" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) diff --git a/ports/opentelemetry-cpp-contrib-version/vcpkg-port-config.cmake b/ports/opentelemetry-cpp-contrib-version/vcpkg-port-config.cmake new file mode 100644 index 00000000000000..9bb3feff3ca0b9 --- /dev/null +++ b/ports/opentelemetry-cpp-contrib-version/vcpkg-port-config.cmake @@ -0,0 +1,12 @@ +include_guard(GLOBAL) + +function(clone_opentelemetry_cpp_contrib CONTRIB_SOURCE_PATH) + vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO open-telemetry/opentelemetry-cpp-contrib + REF 8933841f0a7f8737f61404cf0a64acf6b079c8a5 + HEAD_REF main + SHA512 1a067053d18217f204d686476ad3947a90e7b46c90f21a6bb8346da8aea14021f92dd3d80a5cb57d0990655148860f15fb2f1c20f10d48a4c711a920ab3c8f19 + ) + set(${CONTRIB_SOURCE_PATH} ${SOURCE_PATH} CACHE INTERNAL "") +endfunction() diff --git a/ports/opentelemetry-cpp-contrib-version/vcpkg.json b/ports/opentelemetry-cpp-contrib-version/vcpkg.json new file mode 100644 index 00000000000000..4d473cb781fe3f --- /dev/null +++ b/ports/opentelemetry-cpp-contrib-version/vcpkg.json @@ -0,0 +1,8 @@ +{ + "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json", + "name": "opentelemetry-cpp-contrib-version", + "version-date": "2024-11-14", + "description": "This port manages the opentelemetry-cpp-version that will be used for opentelemetry-cpp", + "homepage": "https://github.com/open-telemetry/opentelemetry-cpp-contrib", + "license": "Apache-2.0" +} diff --git a/ports/opentelemetry-cpp/add-missing-dependencies.patch b/ports/opentelemetry-cpp/add-missing-dependencies.patch deleted file mode 100644 index 2de8be70c7a2c1..00000000000000 --- a/ports/opentelemetry-cpp/add-missing-dependencies.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/cmake/opentelemetry-proto.cmake b/cmake/opentelemetry-proto.cmake -index 34b33d3..19e67e9 100644 ---- a/cmake/opentelemetry-proto.cmake -+++ b/cmake/opentelemetry-proto.cmake -@@ -311,6 +311,10 @@ if(WITH_OTLP_GRPC) - endif() - endif() - -+if(TARGET gRPC::grpc++) -+ target_link_libraries(opentelemetry_proto PUBLIC gRPC::grpc++) -+endif() -+ - if(BUILD_SHARED_LIBS) - foreach(proto_target ${OPENTELEMETRY_PROTO_TARGETS}) - set_property(TARGET ${proto_target} PROPERTY POSITION_INDEPENDENT_CODE ON) diff --git a/ports/opentelemetry-cpp/add-missing-find-dependency.patch b/ports/opentelemetry-cpp/add-missing-find-dependency.patch deleted file mode 100644 index 1f9c12d1636026..00000000000000 --- a/ports/opentelemetry-cpp/add-missing-find-dependency.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/cmake/opentelemetry-cpp-config.cmake.in b/cmake/opentelemetry-cpp-config.cmake.in -index adae58d..2642772 100644 ---- a/cmake/opentelemetry-cpp-config.cmake.in -+++ b/cmake/opentelemetry-cpp-config.cmake.in -@@ -69,6 +69,8 @@ set(OPENTELEMETRY_VERSION - # ############################################################################## - - find_package(Threads) -+include(CMakeFindDependencyMacro) -+find_dependency(absl) - - set_and_check(OPENTELEMETRY_CPP_INCLUDE_DIRS "@PACKAGE_INCLUDE_INSTALL_DIR@") - set_and_check(OPENTELEMETRY_CPP_LIBRARY_DIRS "@PACKAGE_CMAKE_INSTALL_LIBDIR@") diff --git a/ports/opentelemetry-cpp/add-missing-include-file.patch b/ports/opentelemetry-cpp/add-missing-include-file.patch deleted file mode 100644 index c23bc53468888b..00000000000000 --- a/ports/opentelemetry-cpp/add-missing-include-file.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/exporters/jaeger/src/TUDPTransport.cc b/exporters/jaeger/src/TUDPTransport.cc -index e411127..a5e08fa 100644 ---- a/exporters/jaeger/src/TUDPTransport.cc -+++ b/exporters/jaeger/src/TUDPTransport.cc -@@ -2,7 +2,9 @@ - // SPDX-License-Identifier: Apache-2.0 - - #include // std::stringstream -- -+#ifndef _MSC_VER -+#include -+#endif - #include "TUDPTransport.h" - #include "opentelemetry/sdk_config.h" - -@@ -48,7 +50,7 @@ void TUDPTransport::open() - hints.ai_socktype = SOCK_DGRAM; - hints.ai_flags = AI_PASSIVE | AI_ADDRCONFIG; - -- sprintf(port, "%d", port_); -+ snprintf(port, sizeof(port), "%d", port_); - - error = getaddrinfo(host_.c_str(), port, &hints, &server_addr_info_); - diff --git a/ports/opentelemetry-cpp/cmake-quirks.diff b/ports/opentelemetry-cpp/cmake-quirks.diff new file mode 100644 index 00000000000000..36096ee916d651 --- /dev/null +++ b/ports/opentelemetry-cpp/cmake-quirks.diff @@ -0,0 +1,20 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index fd41fa7..cde4566 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -24,7 +24,6 @@ project(opentelemetry-cpp) + mark_as_advanced(CMAKE_TOOLCHAIN_FILE) + + # Prefer cmake CONFIG to auto resolve dependencies. +-set(CMAKE_FIND_PACKAGE_PREFER_CONFIG TRUE) + + # Don't use customized cmake modules if vcpkg is used to resolve dependence. + if(NOT DEFINED CMAKE_TOOLCHAIN_FILE) +@@ -96,7 +95,6 @@ if(DEFINED ENV{VCPKG_ROOT} AND NOT DEFINED CMAKE_TOOLCHAIN_FILE) + endif() + + if(VCPKG_CHAINLOAD_TOOLCHAIN_FILE) +- include("${VCPKG_CHAINLOAD_TOOLCHAIN_FILE}") + endif() + + option(WITH_ABI_VERSION_1 "ABI version 1" ON) diff --git a/ports/opentelemetry-cpp/portfile.cmake b/ports/opentelemetry-cpp/portfile.cmake index 24ae31aae2e197..67e560ec28abf4 100644 --- a/ports/opentelemetry-cpp/portfile.cmake +++ b/ports/opentelemetry-cpp/portfile.cmake @@ -6,19 +6,10 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO open-telemetry/opentelemetry-cpp REF "v${VERSION}" - SHA512 86cf0320f9ee50bc1aa2b7a8b254fb0df25d1bd1f5f01ebc3630ab7fe2f6ca5e53ca8e042518b4e7096dbb102c0b880e9a25fcdf5f668d24ff57d9247237bf62 + SHA512 67c7644d95d1aa3c217a414148ed90d19ce03bc5ed5b9e700866d66b9eda411d8261355e56a5e3888a993a9a2c15aab77edb8b0a45fc28fde923169ad4d41852 HEAD_REF main PATCHES - # Use the compiler's default C++ version. Picking a version with - # CMAKE_CXX_STANDARD is not needed as the Abseil port already picked - # one and propagates that version across all its downstream deps. - use-default-cxx-version.patch - # When compiling code generated by gRPC we need to link the gRPC library - # too. - add-missing-dependencies.patch - # Missing find_dependency for Abseil - add-missing-find-dependency.patch - add-missing-include-file.patch + cmake-quirks.diff ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS @@ -27,20 +18,21 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS zipkin WITH_ZIPKIN prometheus WITH_PROMETHEUS elasticsearch WITH_ELASTICSEARCH - jaeger WITH_JAEGER - otlp WITH_OTLP otlp-http WITH_OTLP_HTTP - zpages WITH_ZPAGES otlp-grpc WITH_OTLP_GRPC + geneva WITH_GENEVA + user-events WITH_USER_EVENTS + INVERTED_FEATURES + user-events BUILD_TRACEPOINTS ) # opentelemetry-proto is a third party submodule and opentelemetry-cpp release did not pack it. -if(WITH_OTLP) - set(OTEL_PROTO_VERSION "0.19.0") +if(WITH_OTLP_GRPC OR WITH_OTLP_HTTP) + set(OTEL_PROTO_VERSION "1.4.0") vcpkg_download_distfile(ARCHIVE URLS "https://github.com/open-telemetry/opentelemetry-proto/archive/v${OTEL_PROTO_VERSION}.tar.gz" FILENAME "opentelemetry-proto-${OTEL_PROTO_VERSION}.tar.gz" - SHA512 b6d47aaa90ff934eb24047757d5fdb8a5be62963a49b632460511155f09a725937fb7535cf34f738b81cc799600adbbc3809442aba584d760891c0a1f0ce8c03 + SHA512 9837485d7b9f7b95330a9a48f133b2a36ed5b670a6f0fe1e3bd23def46210a681525d47c7633b3c8bec2cc7ece4dfc373c859539a2729812ce7ceafc6d4c6896 ) vcpkg_extract_source_archive(src ARCHIVE "${ARCHIVE}") @@ -49,7 +41,32 @@ if(WITH_OTLP) # Create empty .git directory to prevent opentelemetry from cloning it during build time file(MAKE_DIRECTORY "${SOURCE_PATH}/third_party/opentelemetry-proto/.git") list(APPEND FEATURE_OPTIONS -DCMAKE_CXX_STANDARD=14) - list(APPEND FEATURE_OPTIONS -DgRPC_CPP_PLUGIN_EXECUTABLE=${CURRENT_HOST_INSTALLED_DIR}/tools/grpc/grpc_cpp_plugin${VCPKG_HOST_EXECUTABLE_SUFFIX}) + list(APPEND FEATURE_OPTIONS "-DgRPC_CPP_PLUGIN_EXECUTABLE=${CURRENT_HOST_INSTALLED_DIR}/tools/grpc/grpc_cpp_plugin${VCPKG_HOST_EXECUTABLE_SUFFIX}") +endif() + +set(OPENTELEMETRY_CPP_EXTERNAL_COMPONENTS "OFF") + +if(WITH_GENEVA OR WITH_USER_EVENTS) + # Geneva and user events exporters from opentelemetry-cpp-contrib are tightly coupled with opentelemetry-cpp repo, + # so they should be ported as a feature under opentelemetry-cpp. + clone_opentelemetry_cpp_contrib(CONTRIB_SOURCE_PATH) + + if(WITH_GENEVA) + set(OPENTELEMETRY_CPP_EXTERNAL_COMPONENTS "${CONTRIB_SOURCE_PATH}/exporters/geneva") + if(VCPKG_TARGET_IS_WINDOWS) + set(OPENTELEMETRY_CPP_EXTERNAL_COMPONENTS "${OPENTELEMETRY_CPP_EXTERNAL_COMPONENTS}\;${CONTRIB_SOURCE_PATH}/exporters/geneva-trace") + else() + set(OPENTELEMETRY_CPP_EXTERNAL_COMPONENTS "${OPENTELEMETRY_CPP_EXTERNAL_COMPONENTS}\;${CONTRIB_SOURCE_PATH}/exporters/fluentd") + endif() + endif() + + if(WITH_USER_EVENTS) + if(WITH_GENEVA) + set(OPENTELEMETRY_CPP_EXTERNAL_COMPONENTS "${OPENTELEMETRY_CPP_EXTERNAL_COMPONENTS}\;${CONTRIB_SOURCE_PATH}/exporters/user_events") + else() + set(OPENTELEMETRY_CPP_EXTERNAL_COMPONENTS "${CONTRIB_SOURCE_PATH}/exporters/user_events") + endif() + endif() endif() vcpkg_cmake_configure( @@ -57,16 +74,19 @@ vcpkg_cmake_configure( OPTIONS -DBUILD_TESTING=OFF -DWITH_EXAMPLES=OFF - -DWITH_LOGS_PREVIEW=ON -DOPENTELEMETRY_INSTALL=ON -DWITH_ABSEIL=ON + -DWITH_BENCHMARK=OFF + -DOPENTELEMETRY_EXTERNAL_COMPONENT_PATH=${OPENTELEMETRY_CPP_EXTERNAL_COMPONENTS} ${FEATURE_OPTIONS} MAYBE_UNUSED_VARIABLES - WITH_OTLP_GRPC + WITH_GENEVA + WITH_USER_EVENTS + BUILD_TRACEPOINTS ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") vcpkg_copy_pdbs() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/opentelemetry-cpp/use-default-cxx-version.patch b/ports/opentelemetry-cpp/use-default-cxx-version.patch deleted file mode 100644 index 53a31faf91b704..00000000000000 --- a/ports/opentelemetry-cpp/use-default-cxx-version.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index f4fa064..a868106 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -126,21 +126,6 @@ endif() - option(OPENTELEMETRY_INSTALL "Whether to install opentelemetry targets" - ${OPENTELEMETRY_INSTALL_default}) - --if(NOT DEFINED CMAKE_CXX_STANDARD) -- if(WITH_STL) -- # Require at least C++17. C++20 is needed to avoid gsl::span -- if(CMAKE_VERSION VERSION_GREATER 3.11.999) -- # Ask for 20, may get anything below -- set(CMAKE_CXX_STANDARD 20) -- else() -- # Ask for 17, may get anything below -- set(CMAKE_CXX_STANDARD 17) -- endif() -- else() -- set(CMAKE_CXX_STANDARD 11) -- endif() --endif() -- - if(WITH_STL) - # These definitions are needed for test projects that do not link against - # opentelemetry-api library directly. We ensure that variant implementation diff --git a/ports/opentelemetry-cpp/vcpkg.json b/ports/opentelemetry-cpp/vcpkg.json index 3886f3ba29ce2d..29c19bdd6c0847 100644 --- a/ports/opentelemetry-cpp/vcpkg.json +++ b/ports/opentelemetry-cpp/vcpkg.json @@ -1,8 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json", "name": "opentelemetry-cpp", - "version-semver": "1.9.1", - "port-version": 1, + "version-semver": "1.18.0", "description": [ "OpenTelemetry is a collection of tools, APIs, and SDKs.", "You use it to instrument, generate, collect, and export telemetry data (metrics, logs, and traces) for analysis in order to understand your software's performance and behavior." @@ -11,7 +10,6 @@ "license": "Apache-2.0", "dependencies": [ "abseil", - "curl", "nlohmann-json", { "name": "vcpkg-cmake", @@ -24,22 +22,29 @@ ], "features": { "elasticsearch": { - "description": "Whether to include the Elasticsearch Client in the SDK" + "description": "Whether to include the Elasticsearch Client in the SDK", + "dependencies": [ + { + "name": "curl", + "default-features": false + } + ] }, "etw": { "description": "Whether to include the ETW Exporter in the SDK", "supports": "windows" }, - "jaeger": { - "description": "Whether to include the Jaeger exporter", + "geneva": { + "description": "Whether to include the Geneva Exporter from the opentelemetry-cpp-contrib repository", "dependencies": [ - "thrift" - ] - }, - "otlp": { - "description": "Whether to include the OpenTelemetry Protocol in the SDK", - "dependencies": [ - "protobuf" + { + "name": "opentelemetry-cpp", + "features": [ + "etw" + ], + "platform": "windows" + }, + "opentelemetry-cpp-contrib-version" ] }, "otlp-grpc": { @@ -49,13 +54,6 @@ { "name": "grpc", "host": true - }, - { - "name": "opentelemetry-cpp", - "default-features": false, - "features": [ - "otlp" - ] } ] }, @@ -63,13 +61,7 @@ "description": "Whether to include the OpenTelemetry Protocol over HTTP in the SDK", "dependencies": [ "curl", - { - "name": "opentelemetry-cpp", - "default-features": false, - "features": [ - "otlp" - ] - } + "protobuf" ] }, "prometheus": { @@ -78,11 +70,23 @@ "prometheus-cpp" ] }, + "user-events": { + "description": "Whether to include the User Events Exporter from the opentelemetry-cpp-contrib repository", + "supports": "linux", + "dependencies": [ + "libeventheader-tracepoint", + "libtracepoint", + { + "name": "opentelemetry-cpp", + "features": [ + "otlp-http" + ] + }, + "opentelemetry-cpp-contrib-version" + ] + }, "zipkin": { "description": "Whether to include the Zipkin exporter in the SDK" - }, - "zpages": { - "description": "Whether to include the Zpages Server in the SDK" } } } diff --git a/ports/opentelemetry-fluentd/portfile.cmake b/ports/opentelemetry-fluentd/portfile.cmake deleted file mode 100644 index b2d0d687152c47..00000000000000 --- a/ports/opentelemetry-fluentd/portfile.cmake +++ /dev/null @@ -1,24 +0,0 @@ -if(VCPKG_TARGET_IS_WINDOWS) - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -endif() - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO open-telemetry/opentelemetry-cpp-contrib - REF 7afa91952f08aad1fa79b8992f20a4b0cdaadaff # Maps to 2.0.0 - HEAD_REF main - SHA512 b28415c867aee5efe99f7521a145b5c402ac555d83be75a8b1d2760aed226ac109a6d092e86d7afedcc2ed8dc848d9662ac6505133d32f99b810f51e2748d1fc -) - -vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}/exporters/fluentd" - OPTIONS - -DBUILD_TESTING=OFF -) - -vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) - -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/opentelemetry-fluentd/vcpkg.json b/ports/opentelemetry-fluentd/vcpkg.json deleted file mode 100644 index ac5824dfdd945e..00000000000000 --- a/ports/opentelemetry-fluentd/vcpkg.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json", - "name": "opentelemetry-fluentd", - "version-semver": "2.0.0", - "description": "mdsd/fluentd exporter for OpenTelemetry C++", - "homepage": "https://github.com/open-telemetry/opentelemetry-cpp-contrib/tree/main/exporters", - "license": "Apache-2.0", - "dependencies": [ - "curl", - "nlohmann-json", - "opentelemetry-cpp", - { - "name": "vcpkg-cmake", - "host": true - }, - { - "name": "vcpkg-cmake-config", - "host": true - } - ] -} diff --git a/ports/openturns/fix-dep.patch b/ports/openturns/fix-dep.patch new file mode 100644 index 00000000000000..633987d3839190 --- /dev/null +++ b/ports/openturns/fix-dep.patch @@ -0,0 +1,23 @@ +diff --git a/lib/OpenTURNSConfig.cmake.in b/lib/OpenTURNSConfig.cmake.in +index 74f17eafd..e08d121dc 100644 +--- a/lib/OpenTURNSConfig.cmake.in ++++ b/lib/OpenTURNSConfig.cmake.in +@@ -107,6 +107,18 @@ if (NOT @BUILD_SHARED_LIBS@) + endif () + endif () + ++include(CMakeFindDependencyMacro) ++find_dependency(Eigen3 CONFIG) ++find_dependency(TBB CONFIG) ++find_dependency(Spectra) ++find_dependency(NLopt) ++find_dependency(dlib) ++find_dependency(HDF5) ++find_dependency(Ceres CONFIG) ++find_dependency(Pagmo CONFIG) ++find_dependency(CMinpack CONFIG) ++find_dependency(nanoflann CONFIG) ++ + # Our library dependencies (contains definitions for IMPORTED targets) + include("${CMAKE_CURRENT_LIST_DIR}/OpenTURNS-Targets.cmake") + diff --git a/ports/openturns/link-gmp.patch b/ports/openturns/link-gmp.patch index c8a6954f13efd2..bc0916a95e89f6 100644 --- a/ports/openturns/link-gmp.patch +++ b/ports/openturns/link-gmp.patch @@ -1,15 +1,42 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index e13414978..77ecf3e9e 100644 +index 81f0f30d1..db08c345c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -303,6 +303,10 @@ if (USE_BOOST) - list (APPEND OPENTURNS_PRIVATE_LIBRARIES ${MPC_LIBRARIES}) +@@ -272,15 +272,6 @@ if (USE_BOOST) + set (Boost_VERSION "${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}") + endif () + set (OPENTURNS_HAVE_BOOST TRUE) +- if (USE_MPFR) +- find_package (MPFR) +- if (MPFR_FOUND) +- set (OPENTURNS_HAVE_MPFR TRUE) +- list (APPEND OPENTURNS_PRIVATE_INCLUDE_DIRS ${MPFR_INCLUDE_DIRS}) +- list (APPEND OPENTURNS_PRIVATE_LIBRARIES ${MPFR_LIBRARIES}) +- list (APPEND OPENTURNS_ENABLED_FEATURES "mpfr") +- endif () +- endif () + if (USE_MPC AND NOT Boost_VERSION VERSION_LESS 1.68) + find_package (MPC) + if (MPC_FOUND) +@@ -290,8 +281,19 @@ if (USE_BOOST) + list (APPEND OPENTURNS_ENABLED_FEATURES "mpc") endif () endif () +- list (APPEND OPENTURNS_PRIVATE_LIBRARIES Boost::boost) +- list (APPEND OPENTURNS_ENABLED_FEATURES "boost") ++ if (USE_MPFR) ++ find_package (MPFR) ++ if (MPFR_FOUND) ++ set (OPENTURNS_HAVE_MPFR TRUE) ++ list (APPEND OPENTURNS_PRIVATE_INCLUDE_DIRS ${MPFR_INCLUDE_DIRS}) ++ list (APPEND OPENTURNS_PRIVATE_LIBRARIES ${MPFR_LIBRARIES}) ++ list (APPEND OPENTURNS_ENABLED_FEATURES "mpfr") ++ endif () ++ endif () + if((USE_MPC OR USE_MPFR) AND NOT BUILD_SHARED_LIBS) + find_library(GMP_LIBRARY NAMES gmp) + list (APPEND OPENTURNS_PRIVATE_LIBRARIES ${GMP_LIBRARY}) + endif() - list (APPEND OPENTURNS_PRIVATE_INCLUDE_DIRS ${Boost_INCLUDE_DIRS}) endif () endif () + diff --git a/ports/openturns/portfile.cmake b/ports/openturns/portfile.cmake index 2170a11be9b8e6..3a319eecef7fde 100644 --- a/ports/openturns/portfile.cmake +++ b/ports/openturns/portfile.cmake @@ -1,20 +1,20 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO openturns/openturns - REF ad8482ece23d98802edc6258683e8353f9ff8b08 - SHA512 b0bc88bcf54945b5e786b480e640ee182926c75f1d871f70690d9609c98745b1907b3d9184c07586591fa45238c837da5a893a00d9c576a9e10232bcc9adc593 + REF b62fb487266949ffdad036712cec604cf70d6e34 + SHA512 de14a872bb2c3cd871d7f98e6a0d62f9f3c23386200f0c63d11fec0877d69639e45f004f3f18217bad68fc52d02d285ac3f5d70dcc89a8c23edaea9fe365b527 HEAD_REF master PATCHES link-gmp.patch - reorder-mpc.patch + fix-dep.patch ) vcpkg_find_acquire_program(FLEX) get_filename_component(FLEX_DIR "${FLEX}" DIRECTORY) -vcpkg_add_to_path("${FLEX_DIR}") +vcpkg_add_to_path(PREPEND "${FLEX_DIR}") vcpkg_find_acquire_program(BISON) get_filename_component(BISON_DIR "${BISON}" DIRECTORY) -vcpkg_add_to_path("${BISON_DIR}") +vcpkg_add_to_path(PREPEND "${BISON_DIR}") vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" @@ -24,6 +24,7 @@ vcpkg_cmake_configure( -DUSE_BOOST:BOOL=ON # Required to make the distributions cross platform -DUSE_DOXYGEN:BOOL=OFF -DUSE_OPENMP:BOOL=OFF + -DUSE_CUBA:BOOL=OFF -DCMAKE_REQUIRE_FIND_PACKAGE_Spectra:BOOL=ON -DCMAKE_REQUIRE_FIND_PACKAGE_Eigen3:BOOL=ON -DCMAKE_DISABLE_FIND_PACKAGE_primesieve:BOOL=ON @@ -31,7 +32,6 @@ vcpkg_cmake_configure( -DCMAKE_REQUIRE_FIND_PACKAGE_FLEX:BOOL=ON -DCMAKE_REQUIRE_FIND_PACKAGE_TBB:BOOL=ON -DCMAKE_REQUIRE_FIND_PACKAGE_muParser:BOOL=ON - -DCMAKE_DISABLE_FIND_PACKAGE_HMAT:BOOL=ON -DCMAKE_REQUIRE_FIND_PACKAGE_LibXml2:BOOL=ON -DCMAKE_REQUIRE_FIND_PACKAGE_HDF5:BOOL=ON -DCMAKE_REQUIRE_FIND_PACKAGE_MPFR:BOOL=ON @@ -48,9 +48,14 @@ vcpkg_cmake_configure( vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/OpenTURNSConfig.cmake" "/lib/cmake/" "/share/") -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/OpenTURNSConfig.cmake" "/lib" "$<$:/debug>/lib") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/OpenTURNSConfig.cmake" "/lib/cmake/" "/share/" IGNORE_UNCHANGED) +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/OpenTURNSConfig.cmake" "/lib" "$<$:/debug>/lib" IGNORE_UNCHANGED) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/openturns/OTdebug.h" "#ifndef OT_STATIC" "#if 0") +else() + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/openturns/OTdebug.h" "#ifndef OT_STATIC" "#if 1") +endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/openturns/reorder-mpc.patch b/ports/openturns/reorder-mpc.patch deleted file mode 100644 index 1d1d4672ed4cbc..00000000000000 --- a/ports/openturns/reorder-mpc.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 77ecf3e9e..b78ebcbec 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -287,14 +287,6 @@ if (USE_BOOST) - set (Boost_VERSION "${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}") - endif () - set (OPENTURNS_HAVE_BOOST TRUE) -- if (USE_MPFR) -- find_package (MPFR) -- if (MPFR_FOUND) -- set (OPENTURNS_HAVE_MPFR TRUE) -- list (APPEND OPENTURNS_PRIVATE_INCLUDE_DIRS ${MPFR_INCLUDE_DIRS}) -- list (APPEND OPENTURNS_PRIVATE_LIBRARIES ${MPFR_LIBRARIES}) -- endif () -- endif () - if (USE_MPC AND NOT Boost_VERSION VERSION_LESS 1.68) - find_package (MPC) - if (MPC_FOUND) -@@ -303,6 +295,14 @@ if (USE_BOOST) - list (APPEND OPENTURNS_PRIVATE_LIBRARIES ${MPC_LIBRARIES}) - endif () - endif () -+ if (USE_MPFR) -+ find_package (MPFR) -+ if (MPFR_FOUND) -+ set (OPENTURNS_HAVE_MPFR TRUE) -+ list (APPEND OPENTURNS_PRIVATE_INCLUDE_DIRS ${MPFR_INCLUDE_DIRS}) -+ list (APPEND OPENTURNS_PRIVATE_LIBRARIES ${MPFR_LIBRARIES}) -+ endif () -+ endif () - if((USE_MPC OR USE_MPFR) AND NOT BUILD_SHARED_LIBS) - find_library(GMP_LIBRARY NAMES gmp) - list (APPEND OPENTURNS_PRIVATE_LIBRARIES ${GMP_LIBRARY}) diff --git a/ports/openturns/vcpkg.json b/ports/openturns/vcpkg.json index 1c170b45bce38f..f8414d735c03ad 100644 --- a/ports/openturns/vcpkg.json +++ b/ports/openturns/vcpkg.json @@ -1,11 +1,13 @@ { "name": "openturns", - "version": "1.20", + "version": "1.24", "description": "OpenTURNS is a scientific C++ and Python library featuring an internal data model and algorithms dedicated to the treatment of uncertainties.", "homepage": "http://www.openturns.org", "license": null, "dependencies": [ "blas", + "boost-geometry", + "boost-math", "boost-multiprecision", "boost-random", "ceres", @@ -24,6 +26,7 @@ "mpc", "mpfr", "muparser", + "nanoflann", "nlopt", "pagmo2", "pthread", diff --git a/ports/openvdb/0003-fix-cmake.patch b/ports/openvdb/0003-fix-cmake.patch deleted file mode 100644 index ef10257c7aaf4c..00000000000000 --- a/ports/openvdb/0003-fix-cmake.patch +++ /dev/null @@ -1,137 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 9330c29..a98516a 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -283,13 +283,9 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake") - - if(OPENVDB_INSTALL_CMAKE_MODULES) - set(OPENVDB_CMAKE_MODULES -- cmake/FindBlosc.cmake - cmake/FindJemalloc.cmake -- cmake/FindIlmBase.cmake - cmake/FindLog4cplus.cmake -- cmake/FindOpenEXR.cmake - cmake/FindOpenVDB.cmake -- cmake/FindTBB.cmake - cmake/OpenVDBGLFW3Setup.cmake - cmake/OpenVDBHoudiniSetup.cmake - cmake/OpenVDBMayaSetup.cmake -diff --git a/cmake/FindOpenVDB.cmake b/cmake/FindOpenVDB.cmake -index 5ff96f6..c3de6f9 100644 ---- a/cmake/FindOpenVDB.cmake -+++ b/cmake/FindOpenVDB.cmake -@@ -490,7 +490,7 @@ endif() - - # Add standard dependencies - --find_package(TBB REQUIRED COMPONENTS tbb) -+find_package(TBB CONFIG REQUIRED) - - if(NOT OPENVDB_USE_STATIC_LIBS AND NOT Boost_USE_STATIC_LIBS) - # @note Both of these must be set for Boost 1.70 (VFX2020) to link against -@@ -651,7 +651,7 @@ elseif(NOT OPENVDB_USE_STATIC_LIBS) - endif() - - if(OpenVDB_USES_BLOSC) -- find_package(Blosc REQUIRED) -+ find_package(blosc CONFIG REQUIRED) - endif() - - if(OpenVDB_USES_ZLIB) -@@ -665,7 +665,7 @@ endif() - if(OpenVDB_USES_IMATH_HALF) - find_package(Imath CONFIG) - if (NOT TARGET Imath::Imath) -- find_package(IlmBase REQUIRED COMPONENTS Half) -+ find_package(IlmBase CONFIG REQUIRED) - endif() - - if(WIN32) -@@ -716,7 +716,7 @@ set(_OPENVDB_HIDDEN_DEPENDENCIES) - - if(NOT OPENVDB_USE_STATIC_LIBS) - if(OpenVDB_USES_BLOSC) -- list(APPEND _OPENVDB_HIDDEN_DEPENDENCIES Blosc::blosc) -+ list(APPEND _OPENVDB_HIDDEN_DEPENDENCIES blosc) - endif() - if(OpenVDB_USES_ZLIB) - list(APPEND _OPENVDB_HIDDEN_DEPENDENCIES ZLIB::ZLIB) -diff --git a/openvdb/openvdb/CMakeLists.txt b/openvdb/openvdb/CMakeLists.txt -index 1b48e84..5d055ac 100644 ---- a/openvdb/openvdb/CMakeLists.txt -+++ b/openvdb/openvdb/CMakeLists.txt -@@ -130,9 +130,9 @@ if(OPENVDB_FUTURE_DEPRECATION AND FUTURE_MINIMUM_BOOST_VERSION) - endif() - endif() - --find_package(TBB ${MINIMUM_TBB_VERSION} REQUIRED COMPONENTS tbb) -+find_package(TBB CONFIG REQUIRED) - if(OPENVDB_FUTURE_DEPRECATION AND FUTURE_MINIMUM_TBB_VERSION) -- if(${Tbb_VERSION} VERSION_LESS FUTURE_MINIMUM_TBB_VERSION) -+ if(${TBB_VERSION} VERSION_LESS FUTURE_MINIMUM_TBB_VERSION) - message(DEPRECATION "Support for TBB versions < ${FUTURE_MINIMUM_TBB_VERSION} " - "is deprecated and will be removed.") - endif() -@@ -141,7 +141,7 @@ endif() - if(USE_IMATH_HALF) - find_package(Imath CONFIG) - if (NOT TARGET Imath::Imath) -- find_package(IlmBase ${MINIMUM_ILMBASE_VERSION} REQUIRED COMPONENTS Half) -+ find_package(IlmBase CONFIG REQUIRED) - if(OPENVDB_FUTURE_DEPRECATION AND FUTURE_MINIMUM_ILMBASE_VERSION) - if(${IlmBase_VERSION} VERSION_LESS FUTURE_MINIMUM_ILMBASE_VERSION) - message(DEPRECATION "Support for IlmBase versions < ${FUTURE_MINIMUM_ILMBASE_VERSION} " -@@ -160,26 +160,7 @@ endif() - - if(USE_BLOSC) - # Find Blosc libraries -- find_package(Blosc ${MINIMUM_BLOSC_VERSION} REQUIRED) -- if(Blosc_VERSION) -- if(OPENVDB_FUTURE_DEPRECATION AND FUTURE_MINIMUM_BLOSC_VERSION) -- if(${Blosc_VERSION} VERSION_LESS FUTURE_MINIMUM_BLOSC_VERSION) -- message(DEPRECATION "Support for Blosc versions < ${FUTURE_MINIMUM_BLOSC_VERSION} " -- "is deprecated and will be removed.") -- endif() -- endif() -- # Print a warning if using of the blosc versions with regression issues -- # with Blosc 1.5.0 caches. -- if((Blosc_VERSION VERSION_GREATER_EQUAL 1.11.0 AND -- Blosc_VERSION VERSION_LESS 1.14.0) OR -- (Blosc_VERSION VERSION_GREATER_EQUAL 1.16.0 AND -- Blosc_VERSION VERSION_LESS 1.16.2)) -- message(WARNING "The following Blosc versions are incompatible with the " -- "recommended builds of OpenVDB: [1.11.0 -> 1.14.0) [1.16.0, 1.16.1]. " -- "Found Blosc version '${Blosc_VERSION}' which falls in this range. We " -- "strongly recommend using the new future minimum version '${FUTURE_MINIMUM_BLOSC_VERSION}'") -- endif() -- endif() -+ find_package(blosc CONFIG REQUIRED) - else() - message(WARNING "Blosc support is disabled. It is strongly recommended to " - "enable blosc for optimal builds of OpenVDB and to support compatible " -@@ -237,7 +218,11 @@ endif() - # /usr/local - - if(USE_BLOSC) -- list(APPEND OPENVDB_CORE_DEPENDENT_LIBS Blosc::blosc) -+ if(BUILD_SHARED_LIBS) -+ list(APPEND OPENVDB_CORE_DEPENDENT_LIBS blosc_shared) -+ else() -+ list(APPEND OPENVDB_CORE_DEPENDENT_LIBS blosc_static) -+ endif() - endif() - - if(USE_BLOSC OR USE_ZLIB) -diff --git a/openvdb_cmd/CMakeLists.txt b/openvdb_cmd/CMakeLists.txt -index c4351f4..b480334 100644 ---- a/openvdb_cmd/CMakeLists.txt -+++ b/openvdb_cmd/CMakeLists.txt -@@ -53,7 +53,7 @@ if(CONCURRENT_MALLOC STREQUAL "Jemalloc") - find_package(Jemalloc REQUIRED) - list(APPEND OPENVDB_BINARIES_DEPENDENT_LIBS Jemalloc::jemalloc) - elseif(CONCURRENT_MALLOC STREQUAL "Tbbmalloc") -- find_package(TBB ${MINIMUM_TBB_VERSION} REQUIRED COMPONENTS tbbmalloc) -+ find_package(TBB CONFIG REQUIRED) - list(APPEND OPENVDB_BINARIES_DEPENDENT_LIBS TBB::tbbmalloc) - endif() - diff --git a/ports/openvdb/fix_cmake.patch b/ports/openvdb/fix_cmake.patch new file mode 100644 index 00000000000000..4b050665130b81 --- /dev/null +++ b/ports/openvdb/fix_cmake.patch @@ -0,0 +1,136 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 34df130..70351ef 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -311,12 +311,9 @@ endif() + + if(OPENVDB_INSTALL_CMAKE_MODULES) + set(OPENVDB_CMAKE_MODULES +- cmake/FindBlosc.cmake + cmake/FindJemalloc.cmake + cmake/FindLog4cplus.cmake +- cmake/FindOpenEXR.cmake + cmake/FindOpenVDB.cmake +- cmake/FindTBB.cmake + cmake/OpenVDBGLFW3Setup.cmake + cmake/OpenVDBHoudiniSetup.cmake + cmake/OpenVDBMayaSetup.cmake +diff --git a/cmake/FindOpenVDB.cmake b/cmake/FindOpenVDB.cmake +index 33b0838..c1e9d00 100644 +--- a/cmake/FindOpenVDB.cmake ++++ b/cmake/FindOpenVDB.cmake +@@ -488,7 +488,7 @@ endif() + + # Add standard dependencies + +-find_package(TBB REQUIRED COMPONENTS tbb) ++find_package(TBB CONFIG REQUIRED) + + # Add deps for pyopenvdb + +@@ -613,7 +613,7 @@ elseif(NOT OPENVDB_USE_STATIC_LIBS) + endif() + + if(OpenVDB_USES_BLOSC) +- find_package(Blosc REQUIRED) ++ find_package(blosc CONFIG REQUIRED) + endif() + + if(OpenVDB_USES_ZLIB) +@@ -670,7 +670,7 @@ set(_OPENVDB_HIDDEN_DEPENDENCIES) + + if(NOT OPENVDB_USE_STATIC_LIBS) + if(OpenVDB_USES_BLOSC) +- list(APPEND _OPENVDB_HIDDEN_DEPENDENCIES Blosc::blosc) ++ list(APPEND _OPENVDB_HIDDEN_DEPENDENCIES blosc) + endif() + if(OpenVDB_USES_ZLIB) + list(APPEND _OPENVDB_HIDDEN_DEPENDENCIES ZLIB::ZLIB) +diff --git a/nanovdb/nanovdb/CMakeLists.txt b/nanovdb/nanovdb/CMakeLists.txt +index 4e0284e..ca3449b 100644 +--- a/nanovdb/nanovdb/CMakeLists.txt ++++ b/nanovdb/nanovdb/CMakeLists.txt +@@ -122,15 +122,15 @@ if(NANOVDB_USE_OPENVDB) + endif() + + if(NANOVDB_USE_TBB AND NOT TARGET TBB::tbb) +- find_package(TBB ${MINIMUM_TBB_VERSION} REQUIRED) ++ find_package(TBB CONFIG REQUIRED) + endif() + + if(NANOVDB_USE_BLOSC AND NOT TARGET Blosc::blosc) +- find_package(Blosc ${MINIMUM_BLOSC_VERSION} REQUIRED) ++ find_package(blosc CONFIG REQUIRED) + endif() + + if(NANOVDB_USE_ZLIB AND NOT TARGET ZLIB::ZLIB) +- find_package(ZLIB ${MINIMUM_ZLIB_VERSION} REQUIRED) ++ find_package(ZLIB REQUIRED) + endif() + + if(NANOVDB_USE_MAGICAVOXEL) +@@ -290,7 +290,7 @@ if(NANOVDB_USE_TBB) + endif() + + if(NANOVDB_USE_BLOSC) +- target_link_libraries(nanovdb INTERFACE Blosc::blosc) ++ target_link_libraries(nanovdb INTERFACE $,blosc_shared,blosc_static>) + target_compile_definitions(nanovdb INTERFACE -DNANOVDB_USE_BLOSC) + endif() + +diff --git a/openvdb/openvdb/CMakeLists.txt b/openvdb/openvdb/CMakeLists.txt +index 3db0e4e..9475709 100644 +--- a/openvdb/openvdb/CMakeLists.txt ++++ b/openvdb/openvdb/CMakeLists.txt +@@ -121,7 +121,7 @@ if(OPENVDB_USE_DELAYED_LOADING) + endif() + endif() + +-find_package(TBB ${MINIMUM_TBB_VERSION} REQUIRED COMPONENTS tbb) ++find_package(TBB CONFIG REQUIRED) + if(OPENVDB_FUTURE_DEPRECATION AND FUTURE_MINIMUM_TBB_VERSION) + if(${TBB_VERSION} VERSION_LESS FUTURE_MINIMUM_TBB_VERSION) + message(DEPRECATION "Support for TBB versions < ${FUTURE_MINIMUM_TBB_VERSION} " +@@ -150,6 +150,7 @@ endif() + + if(USE_BLOSC) + # Find Blosc libraries ++ if(0) + find_package(Blosc ${MINIMUM_BLOSC_VERSION} REQUIRED) + if(Blosc_VERSION) + if(OPENVDB_FUTURE_DEPRECATION AND FUTURE_MINIMUM_BLOSC_VERSION) +@@ -170,6 +171,8 @@ if(USE_BLOSC) + "strongly recommend using the new future minimum version '${FUTURE_MINIMUM_BLOSC_VERSION}'") + endif() + endif() ++ endif() ++ find_package(blosc CONFIG REQUIRED) + else() + message(WARNING "Blosc support is disabled. It is strongly recommended to " + "enable blosc for optimal builds of OpenVDB and to support compatible " +@@ -226,7 +229,11 @@ endif() + # /usr/local + + if(USE_BLOSC) +- list(APPEND OPENVDB_CORE_DEPENDENT_LIBS Blosc::blosc) ++ if(BUILD_SHARED_LIBS) ++ list(APPEND OPENVDB_CORE_DEPENDENT_LIBS blosc_shared) ++ else() ++ list(APPEND OPENVDB_CORE_DEPENDENT_LIBS blosc_static) ++ endif() + endif() + + if(USE_BLOSC OR USE_ZLIB) +diff --git a/openvdb_cmd/CMakeLists.txt b/openvdb_cmd/CMakeLists.txt +index edbb1a4..463d3ed 100644 +--- a/openvdb_cmd/CMakeLists.txt ++++ b/openvdb_cmd/CMakeLists.txt +@@ -53,7 +53,7 @@ if(CONCURRENT_MALLOC STREQUAL "Jemalloc") + find_package(Jemalloc REQUIRED) + list(APPEND OPENVDB_BINARIES_DEPENDENT_LIBS Jemalloc::jemalloc) + elseif(CONCURRENT_MALLOC STREQUAL "Tbbmalloc") +- find_package(TBB ${MINIMUM_TBB_VERSION} REQUIRED COMPONENTS tbbmalloc) ++ find_package(TBB CONFIG REQUIRED) + list(APPEND OPENVDB_BINARIES_DEPENDENT_LIBS TBB::tbbmalloc) + endif() + diff --git a/ports/openvdb/fix_nanovdb.patch b/ports/openvdb/fix_nanovdb.patch deleted file mode 100644 index 4d36752bb78213..00000000000000 --- a/ports/openvdb/fix_nanovdb.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/nanovdb/nanovdb/CMakeLists.txt b/nanovdb/nanovdb/CMakeLists.txt -index d20b4928..257d005a 100644 ---- a/nanovdb/nanovdb/CMakeLists.txt -+++ b/nanovdb/nanovdb/CMakeLists.txt -@@ -128,7 +128,7 @@ if(NANOVDB_USE_TBB AND NOT TARGET TBB::tbb) - endif() - - if(NANOVDB_USE_BLOSC AND NOT TARGET Blosc::blosc) -- find_package(Blosc REQUIRED) -+ find_package(Blosc REQUIRED NAMES blosc) - endif() - - if(NANOVDB_USE_ZLIB AND NOT TARGET ZLIB::ZLIB) -@@ -224,7 +224,7 @@ if(NANOVDB_USE_TBB) - endif() - - if(NANOVDB_USE_BLOSC) -- target_link_libraries(nanovdb INTERFACE Blosc::blosc) -+ target_link_libraries(nanovdb INTERFACE $,blosc_shared,blosc_static>) - target_compile_definitions(nanovdb INTERFACE -DNANOVDB_USE_BLOSC) - endif() - diff --git a/ports/openvdb/portfile.cmake b/ports/openvdb/portfile.cmake index eb03662f38296c..dee9a44d43ba3f 100644 --- a/ports/openvdb/portfile.cmake +++ b/ports/openvdb/portfile.cmake @@ -1,11 +1,10 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO AcademySoftwareFoundation/openvdb - REF be0e7a78861d2b7d9643f7a0cab04f3ab5951686 # v10.0.0 - SHA512 92301bf675d700fedb0a2b3c4653158eeda6105e70623e5e4bda15d73391427cf0295a0426204888e2fe062847025542717bff34ceb923e51cffa1721e9d4105 + REF "v${VERSION}" + SHA512 7ea2997afa99ed1ed23422eb8b8420c7127c913432f94043ccf559b6720bba2f6e19376e955d8d9055ab765a821749936966f6e5925b9d36febaa724d866b90a PATCHES - 0003-fix-cmake.patch - fix_nanovdb.patch + fix_cmake.patch ) file(REMOVE "${SOURCE_PATH}/cmake/FindTBB.cmake") @@ -71,4 +70,4 @@ endif() configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-cmake-wrapper.cmake" @ONLY) file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -file(INSTALL "${SOURCE_PATH}/openvdb/openvdb/COPYRIGHT" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/openvdb/openvdb/COPYRIGHT") diff --git a/ports/openvdb/vcpkg.json b/ports/openvdb/vcpkg.json index 6ff4b1ae290d3b..0e1eb083862cf5 100644 --- a/ports/openvdb/vcpkg.json +++ b/ports/openvdb/vcpkg.json @@ -1,7 +1,6 @@ { "name": "openvdb", - "version": "10.0.0", - "port-version": 6, + "version": "12.0.0", "description": "Sparse volume data structure and tools", "homepage": "https://github.com/dreamworksanimation/openvdb", "license": "MPL-2.0", diff --git a/ports/openvino/001-disable-tools.patch b/ports/openvino/001-disable-tools.patch index 7cd391d6714b53..3f5295dd27626f 100644 --- a/ports/openvino/001-disable-tools.patch +++ b/ports/openvino/001-disable-tools.patch @@ -1,9 +1,9 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 3182d12693..db70cca198 100644 +index e4d31492a4..38c009b3cb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -134,7 +134,7 @@ if (ENABLE_TESTS OR ENABLE_TEMPLATE) - endif() +@@ -161,7 +161,7 @@ endif() + include(cmake/extra_modules.cmake) add_subdirectory(docs) -add_subdirectory(tools) diff --git a/ports/openvino/003-fix-find-onnx.patch b/ports/openvino/003-fix-find-onnx.patch deleted file mode 100644 index 7a8989a795f446..00000000000000 --- a/ports/openvino/003-fix-find-onnx.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/thirdparty/dependencies.cmake b/thirdparty/dependencies.cmake -index e815baa..c0ccaaa 100644 ---- a/thirdparty/dependencies.cmake -+++ b/thirdparty/dependencies.cmake -@@ -580,7 +580,7 @@ endif() - # - - if(ENABLE_OV_ONNX_FRONTEND) -- find_package(ONNX 1.13.1 EXACT QUIET COMPONENTS onnx onnx_proto NO_MODULE) -+ find_package(ONNX 1.13.1 QUIET COMPONENTS onnx onnx_proto NO_MODULE) - - if(ONNX_FOUND) - # conan and vcpkg create imported targets 'onnx' and 'onnx_proto' diff --git a/ports/openvino/004-compilation-with-cpp17.patch b/ports/openvino/004-compilation-with-cpp17.patch deleted file mode 100644 index da6548b7c91159..00000000000000 --- a/ports/openvino/004-compilation-with-cpp17.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/src/plugins/intel_cpu/src/cpu_tensor.cpp b/src/plugins/intel_cpu/src/cpu_tensor.cpp -index 48d8fdd4be..815edd9309 100644 ---- a/src/plugins/intel_cpu/src/cpu_tensor.cpp -+++ b/src/plugins/intel_cpu/src/cpu_tensor.cpp -@@ -68,8 +68,9 @@ void Tensor::update_strides() const { - OPENVINO_ASSERT(blocked_desc, "not a valid blocked memory descriptor."); - auto& strides = blocked_desc->getStrides(); - m_strides.resize(strides.size()); -- std::transform(strides.cbegin(), strides.cend(), m_strides.begin(), -- std::bind1st(std::multiplies(), m_element_type.size())); -+ std::transform(strides.cbegin(), strides.cend(), m_strides.begin(), [this] (const size_t stride) { -+ return stride * m_element_type.size(); -+ }); - } - - void* Tensor::data(const element::Type& element_type) const { diff --git a/ports/openvino/005-tflite-search.patch b/ports/openvino/005-tflite-search.patch deleted file mode 100644 index 40efb3f0ec8e51..00000000000000 --- a/ports/openvino/005-tflite-search.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/src/frontends/common/src/manager.cpp b/src/frontends/common/src/manager.cpp -index 2fa59398b1..fa917dadb1 100644 ---- a/src/frontends/common/src/manager.cpp -+++ b/src/frontends/common/src/manager.cpp -@@ -49,6 +49,7 @@ public: - {"ir", "ir"}, - {"onnx", "onnx"}, - {"tf", "tensorflow"}, -+ {"tflite", "tensorflow_lite"}, - {"paddle", "paddle"}, - {"pytorch", "pytorch"}, - }; diff --git a/ports/openvino/006-onednn-gpu-build.patch b/ports/openvino/006-onednn-gpu-build.patch deleted file mode 100644 index 3ae691da808225..00000000000000 --- a/ports/openvino/006-onednn-gpu-build.patch +++ /dev/null @@ -1,85 +0,0 @@ -diff --git a/cmake/OpenCL.cmake b/cmake/OpenCL.cmake -index df86d3434d..cf4274b472 100644 ---- a/cmake/OpenCL.cmake -+++ b/cmake/OpenCL.cmake -@@ -42,5 +42,5 @@ endif() - add_definitions(-DCL_TARGET_OPENCL_VERSION=120) - - set(DNNL_GPU_RUNTIME_CURRENT ${DNNL_GPU_RUNTIME}) --include_directories(${OpenCL_INCLUDE_DIRS}) -+# include_directories(${OpenCL_INCLUDE_DIRS}) - list(APPEND EXTRA_SHARED_LIBS OpenCL::OpenCL) -diff --git a/cmake/TBB.cmake b/cmake/TBB.cmake -index d6bbe3e801..a62a251175 100644 ---- a/cmake/TBB.cmake -+++ b/cmake/TBB.cmake -@@ -26,7 +26,7 @@ include("cmake/Threading.cmake") - macro(handle_tbb_target) - if(TBB_FOUND) - set_property(TARGET TBB::tbb PROPERTY "MAP_IMPORTED_CONFIG_RELWITHMDD" "DEBUG") -- include_directories_with_host_compiler(${_tbb_include_dirs}) -+ # include_directories_with_host_compiler(${_tbb_include_dirs}) - list(APPEND EXTRA_SHARED_LIBS ${TBB_IMPORTED_TARGETS}) - - # Print TBB location -diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt -index 9f0aa2a1db..ade68da1af 100644 ---- a/src/common/CMakeLists.txt -+++ b/src/common/CMakeLists.txt -@@ -50,5 +50,7 @@ endif() - - set(OBJ_LIB ${LIB_PACKAGE_NAME}_common) - add_library(${OBJ_LIB} OBJECT ${SOURCES}) -+target_include_directories(${OBJ_LIB} PRIVATE -+ $) - set_property(GLOBAL APPEND PROPERTY DNNL_LIB_DEPS - $) -diff --git a/src/gpu/CMakeLists.txt b/src/gpu/CMakeLists.txt -index 0292ebb021..0c79f7a7aa 100644 ---- a/src/gpu/CMakeLists.txt -+++ b/src/gpu/CMakeLists.txt -@@ -27,6 +27,8 @@ add_definitions_with_host_compiler(-DNGEN_WINDOWS_COMPAT) - - set(OBJ_LIB ${LIB_PACKAGE_NAME}_gpu) - add_library(${OBJ_LIB} OBJECT ${SOURCES}) -+target_include_directories(${OBJ_LIB} PRIVATE -+ $) - set_property(GLOBAL APPEND PROPERTY DNNL_LIB_DEPS - $) - -diff --git a/src/gpu/compute/CMakeLists.txt b/src/gpu/compute/CMakeLists.txt -index d69ed519a1..e6a1fe6924 100644 ---- a/src/gpu/compute/CMakeLists.txt -+++ b/src/gpu/compute/CMakeLists.txt -@@ -23,5 +23,7 @@ file(GLOB_RECURSE SOURCES - - set(OBJ_LIB ${LIB_PACKAGE_NAME}_gpu_compute) - add_library(${OBJ_LIB} OBJECT ${SOURCES}) -+target_include_directories(${OBJ_LIB} PRIVATE -+ $) - set_property(GLOBAL APPEND PROPERTY DNNL_LIB_DEPS - $) -diff --git a/src/gpu/jit/CMakeLists.txt b/src/gpu/jit/CMakeLists.txt -index 38fb5abe07..ac4b0a3523 100644 ---- a/src/gpu/jit/CMakeLists.txt -+++ b/src/gpu/jit/CMakeLists.txt -@@ -32,5 +32,7 @@ endif() - - set(OBJ_LIB ${LIB_PACKAGE_NAME}_gpu_jit) - add_library(${OBJ_LIB} OBJECT ${SOURCES}) -+target_include_directories(${OBJ_LIB} PRIVATE -+ $) - set_property(GLOBAL APPEND PROPERTY DNNL_LIB_DEPS - $) -diff --git a/src/gpu/ocl/CMakeLists.txt b/src/gpu/ocl/CMakeLists.txt -index 711645b87f..6e9623798f 100644 ---- a/src/gpu/ocl/CMakeLists.txt -+++ b/src/gpu/ocl/CMakeLists.txt -@@ -39,5 +39,7 @@ list(APPEND SOURCES ${kernel_list_src}) - - set(OBJ_LIB ${LIB_PACKAGE_NAME}_gpu_ocl) - add_library(${OBJ_LIB} OBJECT ${SOURCES}) -+target_include_directories(${OBJ_LIB} PRIVATE -+ $) - set_property(GLOBAL APPEND PROPERTY DNNL_LIB_DEPS - $) diff --git a/ports/openvino/007-macos-14.patch b/ports/openvino/007-macos-14.patch deleted file mode 100644 index 77a0f321ff6c7c..00000000000000 --- a/ports/openvino/007-macos-14.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/src/plugins/intel_cpu/src/nodes/mha.cpp b/src/plugins/intel_cpu/src/nodes/mha.cpp -index d4405be5d468d..19cf63ac727cb 100644 ---- a/src/plugins/intel_cpu/src/nodes/mha.cpp -+++ b/src/plugins/intel_cpu/src/nodes/mha.cpp -@@ -16,6 +16,7 @@ - #include "common/cpu_convert.h" - #include "transformations/cpu_opset/x64/op/mha.hpp" - #include "dnnl_extension_utils.h" -+#include "utils/bfloat16.hpp" - #include - - using namespace InferenceEngine; diff --git a/ports/openvino/008-dynamic-protubuf.patch b/ports/openvino/008-dynamic-protubuf.patch deleted file mode 100644 index 60f5835a1eb700..00000000000000 --- a/ports/openvino/008-dynamic-protubuf.patch +++ /dev/null @@ -1,156 +0,0 @@ -diff --git a/src/frontends/common/src/manager.cpp b/src/frontends/common/src/manager.cpp -index fa917dadb1..6194fca758 100644 ---- a/src/frontends/common/src/manager.cpp -+++ b/src/frontends/common/src/manager.cpp -@@ -20,11 +20,6 @@ class FrontEndManager::Impl { - std::mutex m_loading_mutex; - std::vector m_plugins; - -- /// \brief map of shared object per frontend -- static std::unordered_map> m_shared_objects_map; -- /// \brief Mutex to guard access the shared object map -- static std::mutex m_shared_objects_map_mutex; -- - public: - Impl() { - search_all_plugins(); -@@ -36,10 +31,6 @@ public: - auto fe_obj = std::make_shared(); - fe_obj->m_shared_object = std::make_shared(plugin.get_so_pointer()); - fe_obj->m_actual = plugin.get_creator().m_creator(); -- -- std::lock_guard guard(m_shared_objects_map_mutex); -- m_shared_objects_map.emplace(plugin.get_creator().m_name, fe_obj->m_shared_object); -- - return fe_obj; - } - -@@ -128,8 +119,8 @@ public: - } - - static void shutdown() { -- std::lock_guard guard(m_shared_objects_map_mutex); -- m_shared_objects_map.clear(); -+ std::lock_guard guard(get_shared_objects_mutex()); -+ get_shared_objects_map().clear(); - } - - private: -@@ -154,6 +145,7 @@ private: - {".xml", {"ir", "ir"}}, - {".onnx", {"onnx", "onnx"}}, - {".pb", {"tf", "tensorflow"}}, -+ {".pbtxt", {"tf", "tensorflow"}}, - {".tflite", {"tflite", "tensorflow_lite"}}, - {".pdmodel", {"paddle", "paddle"}}, - // {".ts", {"pytorch", "pytorch"}}, -@@ -224,9 +216,6 @@ private: - } - }; - --std::unordered_map> FrontEndManager::Impl::m_shared_objects_map{}; --std::mutex FrontEndManager::Impl::m_shared_objects_map_mutex{}; -- - FrontEndManager::FrontEndManager() : m_impl(new Impl()) {} - - FrontEndManager::FrontEndManager(FrontEndManager&&) noexcept = default; -diff --git a/src/frontends/common/src/plugin_loader.cpp b/src/frontends/common/src/plugin_loader.cpp -index a044152d8d..a98eff766b 100644 ---- a/src/frontends/common/src/plugin_loader.cpp -+++ b/src/frontends/common/src/plugin_loader.cpp -@@ -16,17 +16,32 @@ - - #include - --#include - #include - #include - - #include "openvino/util/file_util.hpp" -+#include "openvino/util/log.hpp" - #include "openvino/util/shared_object.hpp" - #include "plugin_loader.hpp" - - using namespace ov; - using namespace ov::frontend; - -+// Note, static methods below are required to create an order of initialization of static variables -+// e.g. if users (not encouraged) created ov::Model globally, we need to ensure proper order of initialization -+ -+/// \return map of shared object per frontend -+std::unordered_map>& ov::frontend::get_shared_objects_map() { -+ static std::unordered_map> shared_objects_map; -+ return shared_objects_map; -+} -+ -+/// \return Mutex to guard access the shared object map -+std::mutex& ov::frontend::get_shared_objects_mutex() { -+ static std::mutex shared_objects_map_mutex; -+ return shared_objects_map_mutex; -+} -+ - #ifdef OPENVINO_STATIC_LIBRARY - - # include "ov_frontends.hpp" -@@ -131,6 +146,10 @@ bool PluginInfo::load() { - m_load_failed = true; - return false; - } -+ -+ std::lock_guard guard(get_shared_objects_mutex()); -+ get_shared_objects_map().emplace(get_creator().m_name, get_so_pointer()); -+ - return true; - } - -diff --git a/src/frontends/common/src/plugin_loader.hpp b/src/frontends/common/src/plugin_loader.hpp -index 93e6a5cc2e..dccf8ddf7a 100644 ---- a/src/frontends/common/src/plugin_loader.hpp -+++ b/src/frontends/common/src/plugin_loader.hpp -@@ -4,7 +4,12 @@ - - #pragma once - --#include -+#include -+#include -+#include -+#include -+ -+#include "openvino/frontend/manager.hpp" - - #ifdef _WIN32 - static const char PathSeparator[] = ";"; -@@ -15,6 +20,9 @@ static const char PathSeparator[] = ":"; - namespace ov { - namespace frontend { - -+std::unordered_map>& get_shared_objects_map(); -+std::mutex& get_shared_objects_mutex(); -+ - /// \brief Internal data structure holding by each frontend. Includes library handle and extensions. - class FrontEndSharedData { - friend inline void add_extension_to_shared_data(std::shared_ptr& obj, -diff --git a/thirdparty/dependencies.cmake b/thirdparty/dependencies.cmake -index 12b72d52a2..111eea7c28 100644 ---- a/thirdparty/dependencies.cmake -+++ b/thirdparty/dependencies.cmake -@@ -415,14 +415,14 @@ if(ENABLE_OV_PADDLE_FRONTEND OR ENABLE_OV_ONNX_FRONTEND OR ENABLE_OV_TF_FRONTEND - if(CMAKE_VERBOSE_MAKEFILE) - set(Protobuf_DEBUG ON) - endif() -- if(OV_VCPKG_BUILD) -- set(protobuf_config CONFIG) -- endif() - # try to find newer version first (major is changed) - # see https://protobuf.dev/support/version-support/ and - # https://github.com/protocolbuffers/protobuf/commit/d61f75ff6db36b4f9c0765f131f8edc2f86310fa -- find_package(Protobuf 4.22.0 QUIET ${protobuf_config}) -+ find_package(Protobuf 4.22.0 QUIET CONFIG) - if(NOT Protobuf_FOUND) -+ if(OV_VCPKG_BUILD) -+ set(protobuf_config CONFIG) -+ endif() - # otherwise, fallback to existing default - find_package(Protobuf 3.20.3 REQUIRED ${protobuf_config}) - endif() diff --git a/ports/openvino/009-tensorflow-proto-odr.patch b/ports/openvino/009-tensorflow-proto-odr.patch deleted file mode 100644 index 5bd4ef8ec0c6b8..00000000000000 --- a/ports/openvino/009-tensorflow-proto-odr.patch +++ /dev/null @@ -1,746 +0,0 @@ -diff --git a/cmake/developer_package/frontends/frontends.cmake b/cmake/developer_package/frontends/frontends.cmake -index df3586474b..ed603ca765 100644 ---- a/cmake/developer_package/frontends/frontends.cmake -+++ b/cmake/developer_package/frontends/frontends.cmake -@@ -125,19 +125,26 @@ macro(ov_add_frontend) - source_group("public include" FILES ${LIBRARY_PUBLIC_HEADERS}) - - # Generate protobuf file on build time for each '.proto' file in src/proto -- file(GLOB proto_files ${frontend_root_dir}/src/proto/*.proto) -+ set(protofiles_root_dir "${frontend_root_dir}/src/proto") -+ file(GLOB_RECURSE proto_files ${protofiles_root_dir}/*.proto) - -- foreach(INFILE IN LISTS proto_files) -- get_filename_component(FILE_DIR ${INFILE} DIRECTORY) -- get_filename_component(FILE_WE ${INFILE} NAME_WE) -- set(OUTPUT_PB_SRC ${CMAKE_CURRENT_BINARY_DIR}/${FILE_WE}.pb.cc) -- set(OUTPUT_PB_HEADER ${CMAKE_CURRENT_BINARY_DIR}/${FILE_WE}.pb.h) -- set(GENERATED_PROTO ${INFILE}) -+ foreach(proto_file IN LISTS proto_files) -+ # filter out standard google proto files -+ if(proto_file MATCHES ".*google.*") -+ continue() -+ endif() -+ -+ file(RELATIVE_PATH proto_file_relative "${CMAKE_SOURCE_DIR}" "${proto_file}") -+ get_filename_component(FILE_WE ${proto_file} NAME_WE) -+ file(RELATIVE_PATH relative_path ${protofiles_root_dir} ${proto_file}) -+ get_filename_component(relative_path ${relative_path} DIRECTORY) -+ set(OUTPUT_PB_SRC ${CMAKE_CURRENT_BINARY_DIR}/${relative_path}/${FILE_WE}.pb.cc) -+ set(OUTPUT_PB_HEADER ${CMAKE_CURRENT_BINARY_DIR}/${relative_path}/${FILE_WE}.pb.h) - add_custom_command( - OUTPUT "${OUTPUT_PB_SRC}" "${OUTPUT_PB_HEADER}" -- COMMAND ${PROTOC_EXECUTABLE} ARGS --cpp_out ${CMAKE_CURRENT_BINARY_DIR} -I ${FILE_DIR} ${FILE_WE}.proto -- DEPENDS ${PROTOC_DEPENDENCY} ${GENERATED_PROTO} -- COMMENT "Running C++ protocol buffer compiler (${PROTOC_EXECUTABLE}) on ${GENERATED_PROTO}" -+ COMMAND ${PROTOC_EXECUTABLE} ARGS --cpp_out ${CMAKE_CURRENT_BINARY_DIR} -I ${protofiles_root_dir} ${proto_file} -+ DEPENDS ${PROTOC_DEPENDENCY} ${proto_file} -+ COMMENT "Running C++ protocol buffer compiler (${PROTOC_EXECUTABLE}) on ${proto_file_relative}" - VERBATIM - COMMAND_EXPAND_LISTS) - list(APPEND PROTO_SRCS "${OUTPUT_PB_SRC}") -diff --git a/src/frontends/tensorflow/src/checkpoint_v1_reader.cpp b/src/frontends/tensorflow/src/checkpoint_v1_reader.cpp -index b51b8c91b3..f8a85bf4f5 100644 ---- a/src/frontends/tensorflow/src/checkpoint_v1_reader.cpp -+++ b/src/frontends/tensorflow/src/checkpoint_v1_reader.cpp -@@ -7,7 +7,7 @@ - #include "checkpoint_utils.hpp" - #include "openvino/frontend/exception.hpp" - #include "openvino/util/file_util.hpp" --#include "saved_tensor_slice.pb.h" -+#include "ov_tensorflow/saved_tensor_slice.pb.h" - #include "tf_utils.hpp" - - #ifdef ENABLE_SNAPPY_COMPRESSION -diff --git a/src/frontends/tensorflow/src/checkpoint_v1_reader.hpp b/src/frontends/tensorflow/src/checkpoint_v1_reader.hpp -index bfae3b139a..1171fd6a68 100644 ---- a/src/frontends/tensorflow/src/checkpoint_v1_reader.hpp -+++ b/src/frontends/tensorflow/src/checkpoint_v1_reader.hpp -@@ -12,9 +12,9 @@ - #include "checkpoint_utils.hpp" - #include "openvino/core/any.hpp" - #include "openvino/frontend/exception.hpp" --#include "saved_tensor_slice.pb.h" --#include "tensor_shape.pb.h" --#include "types.pb.h" -+#include "ov_tensorflow/saved_tensor_slice.pb.h" -+#include "ov_tensorflow/tensor_shape.pb.h" -+#include "ov_tensorflow/types.pb.h" - - namespace ov { - namespace frontend { -diff --git a/src/frontends/tensorflow/src/decoder_argdef.cpp b/src/frontends/tensorflow/src/decoder_argdef.cpp -index 3430bcbe5e..ce7fc44a91 100644 ---- a/src/frontends/tensorflow/src/decoder_argdef.cpp -+++ b/src/frontends/tensorflow/src/decoder_argdef.cpp -@@ -5,11 +5,11 @@ - #include "decoder_argdef.hpp" - - #include "decoder_proto.hpp" --#include "op_def.pb.h" -+#include "ov_tensorflow/op_def.pb.h" - #include "openvino/frontend/tensorflow/node_context.hpp" - #include "openvino/frontend/tensorflow/special_types.hpp" - #include "tf_utils.hpp" --#include "types.pb.h" -+#include "ov_tensorflow/types.pb.h" - - namespace ov { - namespace frontend { -diff --git a/src/frontends/tensorflow/src/decoder_proto.cpp b/src/frontends/tensorflow/src/decoder_proto.cpp -index 2488973c10..cf6049cdbc 100644 ---- a/src/frontends/tensorflow/src/decoder_proto.cpp -+++ b/src/frontends/tensorflow/src/decoder_proto.cpp -@@ -4,12 +4,12 @@ - - #include "decoder_proto.hpp" - --#include "attr_value.pb.h" --#include "node_def.pb.h" -+#include "ov_tensorflow/attr_value.pb.h" -+#include "ov_tensorflow/node_def.pb.h" - #include "openvino/frontend/tensorflow/node_context.hpp" - #include "openvino/frontend/tensorflow/special_types.hpp" - #include "tf_utils.hpp" --#include "types.pb.h" -+#include "ov_tensorflow/types.pb.h" - - namespace ov { - namespace frontend { -diff --git a/src/frontends/tensorflow/src/decoder_proto.hpp b/src/frontends/tensorflow/src/decoder_proto.hpp -index 338bfdecce..9d22e273e1 100644 ---- a/src/frontends/tensorflow/src/decoder_proto.hpp -+++ b/src/frontends/tensorflow/src/decoder_proto.hpp -@@ -9,7 +9,7 @@ - - #include "openvino/core/type/element_type.hpp" - #include "openvino/frontend/tensorflow/decoder.hpp" --#include "types.pb.h" -+#include "ov_tensorflow/types.pb.h" - - namespace tensorflow { - class GraphDef; -diff --git a/src/frontends/tensorflow/src/graph_iterator_meta.cpp b/src/frontends/tensorflow/src/graph_iterator_meta.cpp -index 8bc41fbaef..06f2d31f38 100644 ---- a/src/frontends/tensorflow/src/graph_iterator_meta.cpp -+++ b/src/frontends/tensorflow/src/graph_iterator_meta.cpp -@@ -10,8 +10,8 @@ - #include - - #include "openvino/core/type/element_type.hpp" --#include "tensor_bundle.pb.h" --#include "trackable_object_graph.pb.h" -+#include "ov_tensorflow/tensor_bundle.pb.h" -+#include "ov_tensorflow/trackable_object_graph.pb.h" - - namespace ov { - namespace frontend { -diff --git a/src/frontends/tensorflow/src/graph_iterator_proto.hpp b/src/frontends/tensorflow/src/graph_iterator_proto.hpp -index 8b073b0837..85d9a3767a 100644 ---- a/src/frontends/tensorflow/src/graph_iterator_proto.hpp -+++ b/src/frontends/tensorflow/src/graph_iterator_proto.hpp -@@ -10,7 +10,7 @@ - #include "checkpoint_v1_reader.hpp" - #include "decoder_argdef.hpp" - #include "decoder_proto.hpp" --#include "graph.pb.h" -+#include "ov_tensorflow/graph.pb.h" - #include "openvino/frontend/exception.hpp" - #include "openvino/frontend/graph_iterator.hpp" - #include "openvino/frontend/tensorflow/decoder.hpp" -diff --git a/src/frontends/tensorflow/src/graph_iterator_saved_model.cpp b/src/frontends/tensorflow/src/graph_iterator_saved_model.cpp -index ece0148d19..803e7d694b 100644 ---- a/src/frontends/tensorflow/src/graph_iterator_saved_model.cpp -+++ b/src/frontends/tensorflow/src/graph_iterator_saved_model.cpp -@@ -10,8 +10,8 @@ - #include - - #include "openvino/core/type/element_type.hpp" --#include "tensor_bundle.pb.h" --#include "trackable_object_graph.pb.h" -+#include "ov_tensorflow/tensor_bundle.pb.h" -+#include "ov_tensorflow/trackable_object_graph.pb.h" - - namespace ov { - namespace frontend { -diff --git a/src/frontends/tensorflow/src/graph_iterator_saved_model.hpp b/src/frontends/tensorflow/src/graph_iterator_saved_model.hpp -index 511f2a0a5b..4cb385e66f 100644 ---- a/src/frontends/tensorflow/src/graph_iterator_saved_model.hpp -+++ b/src/frontends/tensorflow/src/graph_iterator_saved_model.hpp -@@ -8,7 +8,7 @@ - - #include "graph_iterator_proto.hpp" - #include "openvino/util/file_util.hpp" --#include "saved_model.pb.h" -+#include "ov_tensorflow/saved_model.pb.h" - #include "variables_index.hpp" - - namespace ov { -diff --git a/src/frontends/tensorflow/src/op/var_handle.cpp b/src/frontends/tensorflow/src/op/var_handle.cpp -index 50a5b73c44..0c86041440 100644 ---- a/src/frontends/tensorflow/src/op/var_handle.cpp -+++ b/src/frontends/tensorflow/src/op/var_handle.cpp -@@ -10,7 +10,7 @@ - #include "ngraph/runtime/shared_buffer.hpp" - #include "openvino/opsets/opset8.hpp" - #include "openvino/util/mmap_object.hpp" --#include "tensor_bundle.pb.h" -+#include "ov_tensorflow/tensor_bundle.pb.h" - - using namespace std; - using namespace ov::opset8; -diff --git a/src/frontends/tensorflow/src/proto/any.proto b/src/frontends/tensorflow/src/proto/google/protobuf/any.proto -similarity index 100% -rename from src/frontends/tensorflow/src/proto/any.proto -rename to src/frontends/tensorflow/src/proto/google/protobuf/any.proto -diff --git a/src/frontends/tensorflow/src/proto/wrappers.proto b/src/frontends/tensorflow/src/proto/google/protobuf/wrappers.proto -similarity index 100% -rename from src/frontends/tensorflow/src/proto/wrappers.proto -rename to src/frontends/tensorflow/src/proto/google/protobuf/wrappers.proto -diff --git a/src/frontends/tensorflow/src/proto/allocation_description.proto b/src/frontends/tensorflow/src/proto/ov_tensorflow/allocation_description.proto -similarity index 100% -rename from src/frontends/tensorflow/src/proto/allocation_description.proto -rename to src/frontends/tensorflow/src/proto/ov_tensorflow/allocation_description.proto -diff --git a/src/frontends/tensorflow/src/proto/api_def.proto b/src/frontends/tensorflow/src/proto/ov_tensorflow/api_def.proto -similarity index 99% -rename from src/frontends/tensorflow/src/proto/api_def.proto -rename to src/frontends/tensorflow/src/proto/ov_tensorflow/api_def.proto -index 810aabc5a2..cbb581973d 100644 ---- a/src/frontends/tensorflow/src/proto/api_def.proto -+++ b/src/frontends/tensorflow/src/proto/ov_tensorflow/api_def.proto -@@ -21,7 +21,7 @@ option java_outer_classname = "ApiDefProtos"; - option java_multiple_files = true; - option java_package = "org.tensorflow.framework"; - option go_package = "github.com/tensorflow/tensorflow/tensorflow/go/core/framework/api_def_go_proto"; --import "attr_value.proto"; -+import "ov_tensorflow/attr_value.proto"; - - // Used to specify and override the default API & behavior in the - // generated code for client languages, from what you would get from -diff --git a/src/frontends/tensorflow/src/proto/attr_value.proto b/src/frontends/tensorflow/src/proto/ov_tensorflow/attr_value.proto -similarity index 96% -rename from src/frontends/tensorflow/src/proto/attr_value.proto -rename to src/frontends/tensorflow/src/proto/ov_tensorflow/attr_value.proto -index 3028176c02..b903c30cf9 100644 ---- a/src/frontends/tensorflow/src/proto/attr_value.proto -+++ b/src/frontends/tensorflow/src/proto/ov_tensorflow/attr_value.proto -@@ -14,9 +14,9 @@ syntax = "proto3"; - - package tensorflow; - --import "tensor.proto"; --import "tensor_shape.proto"; --import "types.proto"; -+import "ov_tensorflow/tensor.proto"; -+import "ov_tensorflow/tensor_shape.proto"; -+import "ov_tensorflow/types.proto"; - - option cc_enable_arenas = true; - option java_outer_classname = "AttrValueProtos"; -diff --git a/src/frontends/tensorflow/src/proto/cost_graph.proto b/src/frontends/tensorflow/src/proto/ov_tensorflow/cost_graph.proto -similarity index 97% -rename from src/frontends/tensorflow/src/proto/cost_graph.proto -rename to src/frontends/tensorflow/src/proto/ov_tensorflow/cost_graph.proto -index dad93a029b..8e4d9788f4 100644 ---- a/src/frontends/tensorflow/src/proto/cost_graph.proto -+++ b/src/frontends/tensorflow/src/proto/ov_tensorflow/cost_graph.proto -@@ -14,8 +14,8 @@ syntax = "proto3"; - - package tensorflow; - --import "tensor_shape.proto"; --import "types.proto"; -+import "ov_tensorflow/tensor_shape.proto"; -+import "ov_tensorflow/types.proto"; - - option cc_enable_arenas = true; - option java_outer_classname = "CostGraphProtos"; -diff --git a/src/frontends/tensorflow/src/proto/dataset_options.proto b/src/frontends/tensorflow/src/proto/ov_tensorflow/dataset_options.proto -similarity index 100% -rename from src/frontends/tensorflow/src/proto/dataset_options.proto -rename to src/frontends/tensorflow/src/proto/ov_tensorflow/dataset_options.proto -diff --git a/src/frontends/tensorflow/src/proto/device_attributes.proto b/src/frontends/tensorflow/src/proto/ov_tensorflow/device_attributes.proto -similarity index 100% -rename from src/frontends/tensorflow/src/proto/device_attributes.proto -rename to src/frontends/tensorflow/src/proto/ov_tensorflow/device_attributes.proto -diff --git a/src/frontends/tensorflow/src/proto/function.proto b/src/frontends/tensorflow/src/proto/ov_tensorflow/function.proto -similarity index 98% -rename from src/frontends/tensorflow/src/proto/function.proto -rename to src/frontends/tensorflow/src/proto/ov_tensorflow/function.proto -index 65a2acb3b9..9e84731c98 100644 ---- a/src/frontends/tensorflow/src/proto/function.proto -+++ b/src/frontends/tensorflow/src/proto/ov_tensorflow/function.proto -@@ -14,9 +14,9 @@ syntax = "proto3"; - - package tensorflow; - --import "attr_value.proto"; --import "node_def.proto"; --import "op_def.proto"; -+import "ov_tensorflow/attr_value.proto"; -+import "ov_tensorflow/node_def.proto"; -+import "ov_tensorflow/op_def.proto"; - - option cc_enable_arenas = true; - option java_outer_classname = "FunctionProtos"; -diff --git a/src/frontends/tensorflow/src/proto/graph.proto b/src/frontends/tensorflow/src/proto/ov_tensorflow/graph.proto -similarity index 95% -rename from src/frontends/tensorflow/src/proto/graph.proto -rename to src/frontends/tensorflow/src/proto/ov_tensorflow/graph.proto -index c52e84022f..e047abeafe 100644 ---- a/src/frontends/tensorflow/src/proto/graph.proto -+++ b/src/frontends/tensorflow/src/proto/ov_tensorflow/graph.proto -@@ -14,9 +14,9 @@ syntax = "proto3"; - - package tensorflow; - --import "function.proto"; --import "node_def.proto"; --import "versions.proto"; -+import "ov_tensorflow/function.proto"; -+import "ov_tensorflow/node_def.proto"; -+import "ov_tensorflow/versions.proto"; - - option cc_enable_arenas = true; - option java_outer_classname = "GraphProtos"; -diff --git a/src/frontends/tensorflow/src/proto/graph_transfer_info.proto b/src/frontends/tensorflow/src/proto/ov_tensorflow/graph_transfer_info.proto -similarity index 98% -rename from src/frontends/tensorflow/src/proto/graph_transfer_info.proto -rename to src/frontends/tensorflow/src/proto/ov_tensorflow/graph_transfer_info.proto -index e42c135369..9e7d598e34 100644 ---- a/src/frontends/tensorflow/src/proto/graph_transfer_info.proto -+++ b/src/frontends/tensorflow/src/proto/ov_tensorflow/graph_transfer_info.proto -@@ -14,7 +14,7 @@ syntax = "proto3"; - - package tensorflow; - --import "types.proto"; -+import "ov_tensorflow/types.proto"; - - option cc_enable_arenas = true; - option java_outer_classname = "GraphTransferInfoProto"; -diff --git a/src/frontends/tensorflow/src/proto/kernel_def.proto b/src/frontends/tensorflow/src/proto/ov_tensorflow/kernel_def.proto -similarity index 98% -rename from src/frontends/tensorflow/src/proto/kernel_def.proto -rename to src/frontends/tensorflow/src/proto/ov_tensorflow/kernel_def.proto -index 5e6b839d31..88142d3de9 100644 ---- a/src/frontends/tensorflow/src/proto/kernel_def.proto -+++ b/src/frontends/tensorflow/src/proto/ov_tensorflow/kernel_def.proto -@@ -14,7 +14,7 @@ syntax = "proto3"; - - package tensorflow; - --import "attr_value.proto"; -+import "ov_tensorflow/attr_value.proto"; - - option cc_enable_arenas = true; - option java_outer_classname = "KernelDefProtos"; -diff --git a/src/frontends/tensorflow/src/proto/log_memory.proto b/src/frontends/tensorflow/src/proto/ov_tensorflow/log_memory.proto -similarity index 98% -rename from src/frontends/tensorflow/src/proto/log_memory.proto -rename to src/frontends/tensorflow/src/proto/ov_tensorflow/log_memory.proto -index 96dac4c9ca..62489f0e0b 100644 ---- a/src/frontends/tensorflow/src/proto/log_memory.proto -+++ b/src/frontends/tensorflow/src/proto/ov_tensorflow/log_memory.proto -@@ -14,7 +14,7 @@ syntax = "proto3"; - - package tensorflow; - --import "tensor_description.proto"; -+import "ov_tensorflow/tensor_description.proto"; - - option cc_enable_arenas = true; - option java_outer_classname = "LogMemoryProtos"; -diff --git a/src/frontends/tensorflow/src/proto/meta_graph.proto b/src/frontends/tensorflow/src/proto/ov_tensorflow/meta_graph.proto -similarity index 97% -rename from src/frontends/tensorflow/src/proto/meta_graph.proto -rename to src/frontends/tensorflow/src/proto/ov_tensorflow/meta_graph.proto -index b6918fa853..255fb6efeb 100644 ---- a/src/frontends/tensorflow/src/proto/meta_graph.proto -+++ b/src/frontends/tensorflow/src/proto/ov_tensorflow/meta_graph.proto -@@ -14,14 +14,14 @@ syntax = "proto3"; - - package tensorflow; - --import "any.proto"; --import "graph.proto"; --import "op_def.proto"; --import "tensor_shape.proto"; --import "types.proto"; --import "saved_object_graph.proto"; --import "saver.proto"; --import "struct.proto"; -+import "google/protobuf/any.proto"; -+import "ov_tensorflow/graph.proto"; -+import "ov_tensorflow/op_def.proto"; -+import "ov_tensorflow/tensor_shape.proto"; -+import "ov_tensorflow/types.proto"; -+import "ov_tensorflow/saved_object_graph.proto"; -+import "ov_tensorflow/saver.proto"; -+import "ov_tensorflow/struct.proto"; - - option cc_enable_arenas = true; - option java_outer_classname = "MetaGraphProtos"; -diff --git a/src/frontends/tensorflow/src/proto/model.proto b/src/frontends/tensorflow/src/proto/ov_tensorflow/model.proto -similarity index 100% -rename from src/frontends/tensorflow/src/proto/model.proto -rename to src/frontends/tensorflow/src/proto/ov_tensorflow/model.proto -diff --git a/src/frontends/tensorflow/src/proto/node_def.proto b/src/frontends/tensorflow/src/proto/ov_tensorflow/node_def.proto -similarity index 99% -rename from src/frontends/tensorflow/src/proto/node_def.proto -rename to src/frontends/tensorflow/src/proto/ov_tensorflow/node_def.proto -index 573d0f901d..b8f3a017a3 100644 ---- a/src/frontends/tensorflow/src/proto/node_def.proto -+++ b/src/frontends/tensorflow/src/proto/ov_tensorflow/node_def.proto -@@ -14,7 +14,7 @@ syntax = "proto3"; - - package tensorflow; - --import "attr_value.proto"; -+import "ov_tensorflow/attr_value.proto"; - - option cc_enable_arenas = true; - option java_outer_classname = "NodeProto"; -diff --git a/src/frontends/tensorflow/src/proto/op_def.proto b/src/frontends/tensorflow/src/proto/ov_tensorflow/op_def.proto -similarity index 98% -rename from src/frontends/tensorflow/src/proto/op_def.proto -rename to src/frontends/tensorflow/src/proto/ov_tensorflow/op_def.proto -index 4d5c66c39e..31493fed26 100644 ---- a/src/frontends/tensorflow/src/proto/op_def.proto -+++ b/src/frontends/tensorflow/src/proto/ov_tensorflow/op_def.proto -@@ -18,9 +18,10 @@ option java_outer_classname = "OpDefProtos"; - option java_multiple_files = true; - option java_package = "org.tensorflow.framework"; - option go_package = "github.com/tensorflow/tensorflow/tensorflow/go/core/framework/op_def_go_proto"; --import "attr_value.proto"; --import "types.proto"; --import "resource_handle.proto"; -+ -+import "ov_tensorflow/attr_value.proto"; -+import "ov_tensorflow/types.proto"; -+import "ov_tensorflow/resource_handle.proto"; - - // Defines an operation. A NodeDef in a GraphDef specifies an Op by - // using the "op" field which should match the name of a OpDef. -diff --git a/src/frontends/tensorflow/src/proto/reader_base.proto b/src/frontends/tensorflow/src/proto/ov_tensorflow/reader_base.proto -similarity index 100% -rename from src/frontends/tensorflow/src/proto/reader_base.proto -rename to src/frontends/tensorflow/src/proto/ov_tensorflow/reader_base.proto -diff --git a/src/frontends/tensorflow/src/proto/remote_fused_graph_execute_info.proto b/src/frontends/tensorflow/src/proto/ov_tensorflow/remote_fused_graph_execute_info.proto -similarity index 94% -rename from src/frontends/tensorflow/src/proto/remote_fused_graph_execute_info.proto -rename to src/frontends/tensorflow/src/proto/ov_tensorflow/remote_fused_graph_execute_info.proto -index abfcfdbec0..3b17878e12 100644 ---- a/src/frontends/tensorflow/src/proto/remote_fused_graph_execute_info.proto -+++ b/src/frontends/tensorflow/src/proto/ov_tensorflow/remote_fused_graph_execute_info.proto -@@ -14,9 +14,9 @@ syntax = "proto3"; - - package tensorflow; - --import "graph.proto"; --import "tensor_shape.proto"; --import "types.proto"; -+import "ov_tensorflow/graph.proto"; -+import "ov_tensorflow/tensor_shape.proto"; -+import "ov_tensorflow/types.proto"; - - option cc_enable_arenas = true; - option java_outer_classname = "RemoteFusedGraphExecuteInfoProto"; -diff --git a/src/frontends/tensorflow/src/proto/resource_handle.proto b/src/frontends/tensorflow/src/proto/ov_tensorflow/resource_handle.proto -similarity index 96% -rename from src/frontends/tensorflow/src/proto/resource_handle.proto -rename to src/frontends/tensorflow/src/proto/ov_tensorflow/resource_handle.proto -index 4d872b6d9d..19b4dcc3b8 100644 ---- a/src/frontends/tensorflow/src/proto/resource_handle.proto -+++ b/src/frontends/tensorflow/src/proto/ov_tensorflow/resource_handle.proto -@@ -14,8 +14,8 @@ syntax = "proto3"; - - package tensorflow; - --import "tensor_shape.proto"; --import "types.proto"; -+import "ov_tensorflow/tensor_shape.proto"; -+import "ov_tensorflow/types.proto"; - - option cc_enable_arenas = true; - option java_outer_classname = "ResourceHandle"; -diff --git a/src/frontends/tensorflow/src/proto/saved_model.proto b/src/frontends/tensorflow/src/proto/ov_tensorflow/saved_model.proto -similarity index 97% -rename from src/frontends/tensorflow/src/proto/saved_model.proto -rename to src/frontends/tensorflow/src/proto/ov_tensorflow/saved_model.proto -index 0034fdfd46..f866065522 100644 ---- a/src/frontends/tensorflow/src/proto/saved_model.proto -+++ b/src/frontends/tensorflow/src/proto/ov_tensorflow/saved_model.proto -@@ -14,7 +14,7 @@ syntax = "proto3"; - - package tensorflow; - --import "meta_graph.proto"; -+import "ov_tensorflow/meta_graph.proto"; - - option cc_enable_arenas = true; - option java_outer_classname = "SavedModelProtos"; -diff --git a/src/frontends/tensorflow/src/proto/saved_object_graph.proto b/src/frontends/tensorflow/src/proto/ov_tensorflow/saved_object_graph.proto -similarity index 97% -rename from src/frontends/tensorflow/src/proto/saved_object_graph.proto -rename to src/frontends/tensorflow/src/proto/ov_tensorflow/saved_object_graph.proto -index 671441075c..d0b2170044 100644 ---- a/src/frontends/tensorflow/src/proto/saved_object_graph.proto -+++ b/src/frontends/tensorflow/src/proto/ov_tensorflow/saved_object_graph.proto -@@ -14,13 +14,13 @@ syntax = "proto3"; - - package tensorflow; - --import "any.proto"; --import "tensor_shape.proto"; --import "types.proto"; --import "variable.proto"; --import "versions.proto"; --import "struct.proto"; --import "trackable_object_graph.proto"; -+import "google/protobuf/any.proto"; -+import "ov_tensorflow/tensor_shape.proto"; -+import "ov_tensorflow/types.proto"; -+import "ov_tensorflow/variable.proto"; -+import "ov_tensorflow/versions.proto"; -+import "ov_tensorflow/struct.proto"; -+import "ov_tensorflow/trackable_object_graph.proto"; - - option cc_enable_arenas = true; - option go_package = "github.com/tensorflow/tensorflow/tensorflow/go/core/protobuf/for_core_protos_go_proto"; -diff --git a/src/frontends/tensorflow/src/proto/saved_tensor_slice.proto b/src/frontends/tensorflow/src/proto/ov_tensorflow/saved_tensor_slice.proto -similarity index 94% -rename from src/frontends/tensorflow/src/proto/saved_tensor_slice.proto -rename to src/frontends/tensorflow/src/proto/ov_tensorflow/saved_tensor_slice.proto -index 4645b2bdca..9e628752bb 100644 ---- a/src/frontends/tensorflow/src/proto/saved_tensor_slice.proto -+++ b/src/frontends/tensorflow/src/proto/ov_tensorflow/saved_tensor_slice.proto -@@ -35,11 +35,11 @@ option java_outer_classname = "SavedTensorSliceProtos"; - option java_multiple_files = true; - option java_package = "org.tensorflow.util"; - --import "tensor_shape.proto"; --import "tensor_slice.proto"; --import "tensor.proto"; --import "types.proto"; --import "versions.proto"; -+import "ov_tensorflow/tensor_shape.proto"; -+import "ov_tensorflow/tensor_slice.proto"; -+import "ov_tensorflow/tensor.proto"; -+import "ov_tensorflow/types.proto"; -+import "ov_tensorflow/versions.proto"; - - // Metadata describing the set of slices of the same tensor saved in a - // checkpoint file. -diff --git a/src/frontends/tensorflow/src/proto/saver.proto b/src/frontends/tensorflow/src/proto/ov_tensorflow/saver.proto -similarity index 100% -rename from src/frontends/tensorflow/src/proto/saver.proto -rename to src/frontends/tensorflow/src/proto/ov_tensorflow/saver.proto -diff --git a/src/frontends/tensorflow/src/proto/step_stats.proto b/src/frontends/tensorflow/src/proto/ov_tensorflow/step_stats.proto -similarity index 97% -rename from src/frontends/tensorflow/src/proto/step_stats.proto -rename to src/frontends/tensorflow/src/proto/ov_tensorflow/step_stats.proto -index 04e0864a5a..027a1d79ee 100644 ---- a/src/frontends/tensorflow/src/proto/step_stats.proto -+++ b/src/frontends/tensorflow/src/proto/ov_tensorflow/step_stats.proto -@@ -14,8 +14,8 @@ syntax = "proto3"; - - package tensorflow; - --import "allocation_description.proto"; --import "tensor_description.proto"; -+import "ov_tensorflow/allocation_description.proto"; -+import "ov_tensorflow/tensor_description.proto"; - - option cc_enable_arenas = true; - option java_outer_classname = "StepStatsProtos"; -diff --git a/src/frontends/tensorflow/src/proto/struct.proto b/src/frontends/tensorflow/src/proto/ov_tensorflow/struct.proto -similarity index 98% -rename from src/frontends/tensorflow/src/proto/struct.proto -rename to src/frontends/tensorflow/src/proto/ov_tensorflow/struct.proto -index d03201b685..4126bd98c4 100644 ---- a/src/frontends/tensorflow/src/proto/struct.proto -+++ b/src/frontends/tensorflow/src/proto/ov_tensorflow/struct.proto -@@ -14,9 +14,9 @@ syntax = "proto3"; - - package tensorflow; - --import "tensor.proto"; --import "tensor_shape.proto"; --import "types.proto"; -+import "ov_tensorflow/tensor.proto"; -+import "ov_tensorflow/tensor_shape.proto"; -+import "ov_tensorflow/types.proto"; - - option go_package = "github.com/tensorflow/tensorflow/tensorflow/go/core/protobuf/for_core_protos_go_proto"; - -diff --git a/src/frontends/tensorflow/src/proto/summary.proto b/src/frontends/tensorflow/src/proto/ov_tensorflow/summary.proto -similarity index 99% -rename from src/frontends/tensorflow/src/proto/summary.proto -rename to src/frontends/tensorflow/src/proto/ov_tensorflow/summary.proto -index 9e4b95f4bc..ce32617694 100644 ---- a/src/frontends/tensorflow/src/proto/summary.proto -+++ b/src/frontends/tensorflow/src/proto/ov_tensorflow/summary.proto -@@ -14,7 +14,7 @@ syntax = "proto3"; - - package tensorflow; - --import "tensor.proto"; -+import "ov_tensorflow/tensor.proto"; - - option cc_enable_arenas = true; - option java_outer_classname = "SummaryProtos"; -diff --git a/src/frontends/tensorflow/src/proto/tensor.proto b/src/frontends/tensorflow/src/proto/ov_tensorflow/tensor.proto -similarity index 96% -rename from src/frontends/tensorflow/src/proto/tensor.proto -rename to src/frontends/tensorflow/src/proto/ov_tensorflow/tensor.proto -index c2e1fd7eb6..42f063536e 100644 ---- a/src/frontends/tensorflow/src/proto/tensor.proto -+++ b/src/frontends/tensorflow/src/proto/ov_tensorflow/tensor.proto -@@ -14,9 +14,9 @@ syntax = "proto3"; - - package tensorflow; - --import "resource_handle.proto"; --import "tensor_shape.proto"; --import "types.proto"; -+import "ov_tensorflow/resource_handle.proto"; -+import "ov_tensorflow/tensor_shape.proto"; -+import "ov_tensorflow/types.proto"; - - option cc_enable_arenas = true; - option java_outer_classname = "TensorProtos"; -diff --git a/src/frontends/tensorflow/src/proto/tensor_bundle.proto b/src/frontends/tensorflow/src/proto/ov_tensorflow/tensor_bundle.proto -similarity index 94% -rename from src/frontends/tensorflow/src/proto/tensor_bundle.proto -rename to src/frontends/tensorflow/src/proto/ov_tensorflow/tensor_bundle.proto -index 43fea749b4..21af38195c 100644 ---- a/src/frontends/tensorflow/src/proto/tensor_bundle.proto -+++ b/src/frontends/tensorflow/src/proto/ov_tensorflow/tensor_bundle.proto -@@ -14,10 +14,10 @@ syntax = "proto3"; - - package tensorflow; - --import "tensor_shape.proto"; --import "tensor_slice.proto"; --import "types.proto"; --import "versions.proto"; -+import "ov_tensorflow/tensor_shape.proto"; -+import "ov_tensorflow/tensor_slice.proto"; -+import "ov_tensorflow/types.proto"; -+import "ov_tensorflow/versions.proto"; - - option cc_enable_arenas = true; - option java_outer_classname = "TensorBundleProtos"; -diff --git a/src/frontends/tensorflow/src/proto/tensor_description.proto b/src/frontends/tensorflow/src/proto/ov_tensorflow/tensor_description.proto -similarity index 90% -rename from src/frontends/tensorflow/src/proto/tensor_description.proto -rename to src/frontends/tensorflow/src/proto/ov_tensorflow/tensor_description.proto -index 3ab9c310a6..c03e1311c1 100644 ---- a/src/frontends/tensorflow/src/proto/tensor_description.proto -+++ b/src/frontends/tensorflow/src/proto/ov_tensorflow/tensor_description.proto -@@ -14,9 +14,9 @@ syntax = "proto3"; - - package tensorflow; - --import "allocation_description.proto"; --import "tensor_shape.proto"; --import "types.proto"; -+import "ov_tensorflow/allocation_description.proto"; -+import "ov_tensorflow/tensor_shape.proto"; -+import "ov_tensorflow/types.proto"; - - option cc_enable_arenas = true; - option java_outer_classname = "TensorDescriptionProtos"; -diff --git a/src/frontends/tensorflow/src/proto/tensor_shape.proto b/src/frontends/tensorflow/src/proto/ov_tensorflow/tensor_shape.proto -similarity index 100% -rename from src/frontends/tensorflow/src/proto/tensor_shape.proto -rename to src/frontends/tensorflow/src/proto/ov_tensorflow/tensor_shape.proto -diff --git a/src/frontends/tensorflow/src/proto/tensor_slice.proto b/src/frontends/tensorflow/src/proto/ov_tensorflow/tensor_slice.proto -similarity index 100% -rename from src/frontends/tensorflow/src/proto/tensor_slice.proto -rename to src/frontends/tensorflow/src/proto/ov_tensorflow/tensor_slice.proto -diff --git a/src/frontends/tensorflow/src/proto/trackable_object_graph.proto b/src/frontends/tensorflow/src/proto/ov_tensorflow/trackable_object_graph.proto -similarity index 98% -rename from src/frontends/tensorflow/src/proto/trackable_object_graph.proto -rename to src/frontends/tensorflow/src/proto/ov_tensorflow/trackable_object_graph.proto -index f4a8e4da34..f0a9617432 100644 ---- a/src/frontends/tensorflow/src/proto/trackable_object_graph.proto -+++ b/src/frontends/tensorflow/src/proto/ov_tensorflow/trackable_object_graph.proto -@@ -14,7 +14,7 @@ syntax = "proto3"; - - package tensorflow; - --import "wrappers.proto"; -+import "google/protobuf/wrappers.proto"; - - option cc_enable_arenas = true; - option go_package = "github.com/tensorflow/tensorflow/tensorflow/go/core/protobuf/for_core_protos_go_proto"; -diff --git a/src/frontends/tensorflow/src/proto/types.proto b/src/frontends/tensorflow/src/proto/ov_tensorflow/types.proto -similarity index 100% -rename from src/frontends/tensorflow/src/proto/types.proto -rename to src/frontends/tensorflow/src/proto/ov_tensorflow/types.proto -diff --git a/src/frontends/tensorflow/src/proto/variable.proto b/src/frontends/tensorflow/src/proto/ov_tensorflow/variable.proto -similarity index 100% -rename from src/frontends/tensorflow/src/proto/variable.proto -rename to src/frontends/tensorflow/src/proto/ov_tensorflow/variable.proto -diff --git a/src/frontends/tensorflow/src/proto/versions.proto b/src/frontends/tensorflow/src/proto/ov_tensorflow/versions.proto -similarity index 100% -rename from src/frontends/tensorflow/src/proto/versions.proto -rename to src/frontends/tensorflow/src/proto/ov_tensorflow/versions.proto -diff --git a/src/frontends/tensorflow/src/tf_utils.hpp b/src/frontends/tensorflow/src/tf_utils.hpp -index a7a80a522b..5c4a97a5da 100644 ---- a/src/frontends/tensorflow/src/tf_utils.hpp -+++ b/src/frontends/tensorflow/src/tf_utils.hpp -@@ -4,8 +4,8 @@ - - #pragma once - --#include "attr_value.pb.h" --#include "node_def.pb.h" -+#include "ov_tensorflow/attr_value.pb.h" -+#include "ov_tensorflow/node_def.pb.h" - #include "openvino/core/node.hpp" - #include "openvino/core/partial_shape.hpp" - #include "openvino/core/runtime_attribute.hpp" -@@ -13,9 +13,9 @@ - #include "openvino/core/type/element_type.hpp" - #include "openvino/frontend/node_context.hpp" - #include "openvino/runtime/tensor.hpp" --#include "tensor.pb.h" --#include "tensor_shape.pb.h" --#include "types.pb.h" -+#include "ov_tensorflow/tensor.pb.h" -+#include "ov_tensorflow/tensor_shape.pb.h" -+#include "ov_tensorflow/types.pb.h" - - namespace ov { - namespace frontend { -diff --git a/src/frontends/tensorflow/src/variables_index.cpp b/src/frontends/tensorflow/src/variables_index.cpp -index c24ffd8112..2dcf3faf9e 100644 ---- a/src/frontends/tensorflow/src/variables_index.cpp -+++ b/src/frontends/tensorflow/src/variables_index.cpp -@@ -11,8 +11,8 @@ - #include "graph_iterator_saved_model.hpp" - #include "openvino/core/type/element_type.hpp" - #include "openvino/util/mmap_object.hpp" --#include "tensor_bundle.pb.h" --#include "trackable_object_graph.pb.h" -+#include "ov_tensorflow/tensor_bundle.pb.h" -+#include "ov_tensorflow/trackable_object_graph.pb.h" - - #ifdef ENABLE_SNAPPY_COMPRESSION - # include "snappy.h" -diff --git a/src/frontends/tensorflow/src/variables_index.hpp b/src/frontends/tensorflow/src/variables_index.hpp -index df852a6279..aa805b264b 100644 ---- a/src/frontends/tensorflow/src/variables_index.hpp -+++ b/src/frontends/tensorflow/src/variables_index.hpp -@@ -9,7 +9,7 @@ - #include "graph_iterator_proto.hpp" - #include "openvino/util/file_util.hpp" - #include "openvino/util/mmap_object.hpp" --#include "saved_model.pb.h" -+#include "ov_tensorflow/saved_model.pb.h" - - namespace ov { - namespace frontend { diff --git a/ports/openvino/portfile.cmake b/ports/openvino/portfile.cmake index 3556c5d285c4d4..0b79fba488e400 100644 --- a/ports/openvino/portfile.cmake +++ b/ports/openvino/portfile.cmake @@ -1,31 +1,68 @@ +vcpkg_download_distfile(PATCH_002_PROTOBUF # https://github.com/openvinotoolkit/openvino/pull/27510 + URLS https://github.com/openvinotoolkit/openvino/commit/103c3b72259648c990970afb8ce2bec489fcf583.patch?full_index=1 + SHA512 315eb2f651b55fc70a4d6faeb1ac1b5d90d53b9010fdc98f3417beb86854ed733eba105ea51de8795471c5e84340b96cf17d511ea3fe3447c5f961ded661a947 + FILENAME openvinotoolkit-openvino-103c3b72259648c990970afb8ce2bec489fcf583.patch +) + +vcpkg_download_distfile(PATCH_003_CODE_SNIPPETS_TEMPALTE # https://github.com/openvinotoolkit/openvino/pull/28172 + URLS https://github.com/openvinotoolkit/openvino/commit/8d74cbb8e1af7c66ccee202fec5a18565e5b37b0.patch?full_index=1 + SHA512 24640b608c2eb78b948c257a8bc9bb0c2f05e4d6cb04c23cf7546a3191a73e163b4732590eb8e5b834765bb78472e1454785c20c74a4dcbaf40a34ff14fafc83 + FILENAME openvinotoolkit-openvino-8d74cbb8e1af7c66ccee202fec5a18565e5b37b0.patch +) + +vcpkg_download_distfile(PATCH_004_ADD_CHRONO # https://github.com/openvinotoolkit/openvino/pull/28192 + URLS https://github.com/openvinotoolkit/openvino/commit/9d78056f243b1f8d5c0331420416c98a005e5945.patch?full_index=1 + SHA512 8b44e04ed88945174b17c6dada2ce3065340b6278a140717599ec0c33f548679424c5acd36b5edc10f2ed74c3288626c2b47a1af0ab530ed6a7ca868fe88ad4b + FILENAME openvinotoolkit-openvino-9d78056f243b1f8d5c0331420416c98a005e5945.patch +) + +vcpkg_download_distfile(PATCH_005_LEVEL_ZERO_FROM_SYSTEM # https://github.com/openvinotoolkit/openvino/pull/27633 + URLS https://github.com/openvinotoolkit/openvino/commit/5c2b9ac6b4daffc24762aea2f6dacdaa70d5ae8c.patch?full_index=1 + SHA512 85c2422ef78b853dd9937319cf16c915c3ce4a143f3a0628ffd4edf0ceac4c26d90e3ffd9d6c7f4f3f72fc631c4860fcfcbf96ce37134b31fc45ccae4f3df308 + FILENAME openvinotoolkit-openvino-5c2b9ac6b4daffc24762aea2f6dacdaa70d5ae8c.patch +) + +vcpkg_download_distfile(PATCH_006_LEVEL_ZERO_AT_RUNTIME # https://github.com/openvinotoolkit/openvino/pull/27659 + URLS https://github.com/openvinotoolkit/openvino/commit/99d7cd4bc4492b81a99bc41e2d2469da1a929491.patch?full_index=1 + SHA512 091ad0328feb0ec9a59a9728ede444c408db9e7532b7a85b62b63f059fa766833b9c0b2d1c8e5972476652b24d62cf8bdb0313b197e2ea5e0b64c79a0a0da1b1 + FILENAME openvinotoolkit-openvino-99d7cd4bc4492b81a99bc41e2d2469da1a929491.patch +) + +vcpkg_download_distfile(PATCH_007_OPENCL_V2024_10_24 # https://github.com/openvinotoolkit/openvino/pull/28275 + URLS https://github.com/openvinotoolkit/openvino/commit/120ad760494eeb513ea957bdbc655b6ad07bce42.patch?full_index=1 + SHA512 45a06bf54cef7d619b862f3219dd1225fb38bb653b2f09191d57e945a2df08621b15a27463429d5d72a18dfe05b113b94555cea0cabab0da36c9d89a2757196a + FILENAME openvinotoolkit-openvino-120ad760494eeb513ea957bdbc655b6ad07bce42.patch +) + +vcpkg_download_distfile(PATCH_008_FIX_LEVEL_ZERO_SYSTEM # https://github.com/openvinotoolkit/openvino/pull/28241 + URLS https://github.com/openvinotoolkit/openvino/commit/65f6ce8c5cd0ac5ae5f64fc1c533cc621475a105.patch?full_index=1 + SHA512 e756d181658dee933ffb727d004276a8fc37f9cfc473b25b0e0b5043234b1b2f021e1b26aa6513f7f40a9897d3c96b652aa7d81521205602f673d73a74cb5621 + FILENAME openvinotoolkit-openvino-65f6ce8c5cd0ac5ae5f64fc1c533cc621475a105.patch +) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO openvinotoolkit/openvino REF "${VERSION}" - SHA512 29ee621c1428808607ce499e527b5943b8a2172769cb7315ef25253db818f54f2da4bbf5539198c012e25e78c8c830205b46f6e6a83032e732e82a7d00d46312 + SHA512 b003647de3de49e605943488ca9b2e5196b20d95b3152f0c2331c283d4cb253d1bbbb9cde04fa82733d3871d7128c6db6210957660bd89f26462798f782eca47 + HEAD_REF master PATCHES # vcpkg specific patch, because OV creates a file in source tree, which is prohibited 001-disable-tools.patch - # from https://github.com/openvinotoolkit/openvino/pull/18359 - 003-fix-find-onnx.patch - # from https://github.com/openvinotoolkit/openvino/pull/19629 - 004-compilation-with-cpp17.patch - # from https://github.com/openvinotoolkit/openvino/pull/19599 - 005-tflite-search.patch - # # from https://github.com/openvinotoolkit/openvino/pull/19946 - 007-macos-14.patch - # from https://github.com/openvinotoolkit/openvino/pull/19758 - # and https://github.com/openvinotoolkit/openvino/pull/20612 - 008-dynamic-protubuf.patch - # from https://github.com/openvinotoolkit/openvino/pull/20588 - # and https://github.com/openvinotoolkit/openvino/pull/20636 - 009-tensorflow-proto-odr.patch - HEAD_REF master) + "${PATCH_002_PROTOBUF}" + "${PATCH_003_CODE_SNIPPETS_TEMPALTE}" + "${PATCH_004_ADD_CHRONO}" + "${PATCH_005_LEVEL_ZERO_FROM_SYSTEM}" + "${PATCH_006_LEVEL_ZERO_AT_RUNTIME}" + "${PATCH_007_OPENCL_V2024_10_24}" + "${PATCH_008_FIX_LEVEL_ZERO_SYSTEM}" +) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES cpu ENABLE_INTEL_CPU gpu ENABLE_INTEL_GPU + npu ENABLE_INTEL_NPU auto ENABLE_AUTO hetero ENABLE_HETERO auto-batch ENABLE_AUTO_BATCH @@ -41,41 +78,36 @@ if(ENABLE_INTEL_GPU) # python is required for conversion of OpenCL source files into .cpp. vcpkg_find_acquire_program(PYTHON3) - if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - message(WARNING - "OneDNN for GPU is not available for static build, which is required for dGPU." - "Please, consider using VCPKG_LIBRARY_LINKAGE=\"dynamic\".") - list(APPEND FEATURE_OPTIONS "-DENABLE_ONEDNN_FOR_GPU=OFF") - else() - vcpkg_from_github( - OUT_SOURCE_PATH DEP_SOURCE_PATH - REPO oneapi-src/oneDNN - REF ec0b2ee85fc2a2dbdeec10035c5ef5813d8fb5ea - SHA512 abc09c9ab190cc043ba675fdcaf2da0069eacce14aad6e788a9957d8b6704cfcefe5a707e78d544d25acac35bc83217660ee64528150311f577d2ccbdd165de1 - PATCHES 006-onednn-gpu-build.patch - ) - file(COPY "${DEP_SOURCE_PATH}/" DESTINATION "${SOURCE_PATH}/src/plugins/intel_gpu/thirdparty/onednn_gpu") - endif() + # remove 'rapidjson' directory and use vcpkg's one to comply with ODR + file(REMOVE_RECURSE "${SOURCE_PATH}/src/plugins/intel_gpu/thirdparty/rapidjson") + + vcpkg_from_github( + OUT_SOURCE_PATH DEP_SOURCE_PATH + REPO oneapi-src/oneDNN + REF 1722066ad4c0f15495f2d0fcbe9deb2bfd188c36 + SHA512 0b0461bf42d67f0fe7c6c61289a28e42915f7ac2ea5cc569957b8bb601962bec6135e84a2716911394952dffe2bb557c2d59d42c7f80a8db3c3937ecc6bd8ce8 + ) + file(COPY "${DEP_SOURCE_PATH}/" DESTINATION "${SOURCE_PATH}/src/plugins/intel_gpu/thirdparty/onednn_gpu") list(APPEND FEATURE_OPTIONS "-DENABLE_SYSTEM_OPENCL=ON" - "-DPYTHON_EXECUTABLE=${PYTHON3}") + "-DPython3_EXECUTABLE=${PYTHON3}") endif() if(ENABLE_INTEL_CPU) vcpkg_from_github( OUT_SOURCE_PATH DEP_SOURCE_PATH REPO openvinotoolkit/oneDNN - REF a1aa20ca8f19465dc2fd18389953ed83798b2fd3 - SHA512 0ff5b235a6f349ad94f52a3b8282f5c825eac7275ad784986d7f533863ace7a4ed71094b9f5cac85d473d2678e197727c1cb33dee5cf75cd793ded7be58f946e + REF c60a9946aa2386890e5c9f5587974facb7624227 + SHA512 cc91f5b2ece1c3f14af308e3da436447d07964fa5ffa848c571fe67197a367673bf7bf9cd979fab0c9b216f92c611bd8df7018ec8e080f10759582629c10cb9d ) file(COPY "${DEP_SOURCE_PATH}/" DESTINATION "${SOURCE_PATH}/src/plugins/intel_cpu/thirdparty/onednn") vcpkg_from_github( OUT_SOURCE_PATH DEP_SOURCE_PATH REPO openvinotoolkit/mlas - REF c7c8a631315000f17c650af34431009d2f22129c - SHA512 4146598ce6b30a3eaea544d6703b949061118398e67b773aa11a3c0f3e8fbcc446d09ea893b9879f8869e977162bcada0d4895cb225cf2e2469fb71cd5942e53 + REF d1bc25ec4660cddd87804fcf03b2411b5dfb2e94 + SHA512 8d6dd319924135b7b22940d623305bf200b812ae64cde79000709de4fad429fbd43794301ef16e6f10ed7132777b7a73e9f30ecae7c030aea80d57d7c0ce4500 ) file(COPY "${DEP_SOURCE_PATH}/" DESTINATION "${SOURCE_PATH}/src/plugins/intel_cpu/thirdparty/mlas") @@ -90,16 +122,32 @@ if(ENABLE_INTEL_CPU) OUT_PYTHON_VAR OV_PYTHON_WITH_SCONS ) + list(APPEND FEATURE_OPTIONS "-DPython3_EXECUTABLE=${OV_PYTHON_WITH_SCONS}") + vcpkg_from_github( OUT_SOURCE_PATH DEP_SOURCE_PATH REPO ARM-software/ComputeLibrary - REF v23.02.1 - SHA512 ee9439e0804bacd365f079cedc548ffe2c12b0d4a86780e0783186884eb5a6d7aa7ceac11c504e242bedc55c3d026b826c90adaafbdbd3e5cfa2562a1c4ee04d + REF v24.09 + SHA512 c755da7d576b9bc1f33c9505efe4ce9e50cb927978f929d61f31b213904dca45ddb78b7c0cf9b215e37d2028e0404f4e3435678c120bba16263b55fd701eb4f1 ) file(COPY "${DEP_SOURCE_PATH}/" DESTINATION "${SOURCE_PATH}/src/plugins/intel_cpu/thirdparty/ComputeLibrary") endif() endif() +if(ENABLE_INTEL_NPU) + list(APPEND FEATURE_OPTIONS + "-DENABLE_INTEL_NPU_INTERNAL=OFF" + "-DENABLE_SYSTEM_LEVEL_ZERO=ON") + + vcpkg_from_github( + OUT_SOURCE_PATH DEP_SOURCE_PATH + REPO intel/level-zero-npu-extensions + REF 110f48ee8eda22d8b40daeeecdbbed0fc3b08f8b + SHA512 aaaeecad6c00489b652cd94d63ed0c1e59eb0eaed8b463198b40f1af3944004b072808ccc3074b71d825e9f0f37bf76fedf296961bb18959ef66a699b71fec41 + ) + file(COPY "${DEP_SOURCE_PATH}/" DESTINATION "${SOURCE_PATH}/src/plugins/intel_npu/thirdparty/level-zero-ext") +endif() + if(ENABLE_OV_TF_FRONTEND OR ENABLE_OV_ONNX_FRONTEND OR ENABLE_OV_PADDLE_FRONTEND) list(APPEND FEATURE_OPTIONS "-DENABLE_SYSTEM_PROTOBUF=ON") endif() @@ -112,23 +160,30 @@ if(ENABLE_OV_TF_LITE_FRONTEND) list(APPEND FEATURE_OPTIONS "-DENABLE_SYSTEM_FLATBUFFERS=ON") endif() +if(CMAKE_HOST_WIN32) + list(APPEND FEATURE_OPTIONS "-DENABLE_API_VALIDATOR=OFF") +endif() + +vcpkg_find_acquire_program(PKGCONFIG) + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} - "-DENABLE_SYSTEM_TBB=ON" - "-DENABLE_SYSTEM_PUGIXML=ON" - "-DENABLE_TBBBIND_2_5=OFF" + "-DCMAKE_DISABLE_FIND_PACKAGE_OpenCV=ON" + "-DCPACK_GENERATOR=VCPKG" "-DENABLE_CLANG_FORMAT=OFF" - "-DENABLE_NCC_STYLE=OFF" "-DENABLE_CPPLINT=OFF" + "-DENABLE_JS=OFF" + "-DENABLE_NCC_STYLE=OFF" + "-DENABLE_PYTHON=OFF" "-DENABLE_SAMPLES=OFF" + "-DENABLE_SYSTEM_PUGIXML=ON" + "-DENABLE_SYSTEM_TBB=ON" + "-DENABLE_TBBBIND_2_5=OFF" "-DENABLE_TEMPLATE=OFF" - "-DENABLE_INTEL_GNA=OFF" - "-DENABLE_PYTHON=OFF" - "-DENABLE_GAPI_PREPROCESSING=OFF" - "-DCPACK_GENERATOR=VCPKG" - "-DCMAKE_DISABLE_FIND_PACKAGE_pybind11=ON" + "-DENABLE_OV_JAX_FRONTEND=OFF" + "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" ) vcpkg_cmake_install() diff --git a/ports/openvino/usage b/ports/openvino/usage index 27e68898dc2706..87db5b1e28a66b 100644 --- a/ports/openvino/usage +++ b/ports/openvino/usage @@ -1,4 +1,4 @@ -The package OpenVINO can be used in cmake scripts as: +openvino provides CMake targets: - find_package(OpenVINO REQUIRED) - target_link_libraries(main PRIVATE openvino::runtime) + find_package(OpenVINO REQUIRED) + target_link_libraries(main PRIVATE openvino::runtime) diff --git a/ports/openvino/vcpkg.json b/ports/openvino/vcpkg.json index 60d03bc889eccf..426b6e333de644 100644 --- a/ports/openvino/vcpkg.json +++ b/ports/openvino/vcpkg.json @@ -1,8 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json", "name": "openvino", - "version": "2023.1.0", - "port-version": 4, + "version": "2024.5.0", "maintainers": "OpenVINO Developers ", "summary": "This is a port for Open Visual Inference And Optimization toolkit for AI inference", "description": [ @@ -15,12 +14,8 @@ "homepage": "https://github.com/openvinotoolkit/openvino", "documentation": "https://docs.openvino.ai/latest/index.html", "license": "Apache-2.0", - "supports": "!uwp", + "supports": "!uwp & !x86 & !(android & arm32)", "dependencies": [ - { - "name": "pkgconf", - "host": true - }, "pugixml", { "name": "tbb", @@ -41,7 +36,7 @@ { "name": "xbyak", "platform": "!(arm | uwp)", - "version>=": "6.69" + "version>=": "6.73" } ], "default-features": [ @@ -53,10 +48,14 @@ }, { "name": "gpu", - "platform": "x64 & !(osx | uwp) & !static" + "platform": "x64 & !(osx | uwp)" }, "hetero", "ir", + { + "name": "npu", + "platform": "x64 & !(osx | uwp)" + }, "onnx", "paddle", "pytorch", @@ -76,9 +75,10 @@ }, "gpu": { "description": "Enables GPU plugin for inference", - "supports": "x64 & !(osx | uwp) & !static", + "supports": "x64 & !(osx | uwp)", "dependencies": [ - "opencl" + "opencl", + "rapidjson" ] }, "hetero": { @@ -87,12 +87,19 @@ "ir": { "description": "Enables IR frontend for reading models in OpenVINO IR format" }, + "npu": { + "description": "Enables NPU plugin for inference", + "supports": "x64 & !(osx | uwp)", + "dependencies": [ + "level-zero" + ] + }, "onnx": { "description": "Enables ONNX frontend for reading models in ONNX format", "dependencies": [ { "name": "onnx", - "version>=": "1.13.1" + "version>=": "1.16.2" }, { "name": "protobuf", diff --git a/ports/openvpn3/CMakeLists.txt b/ports/openvpn3/CMakeLists.txt deleted file mode 100644 index b4943038c141bd..00000000000000 --- a/ports/openvpn3/CMakeLists.txt +++ /dev/null @@ -1,42 +0,0 @@ -cmake_minimum_required(VERSION 3.5) -project(openvpncli CXX) - -find_path(ASIO_HPP asio.hpp) -find_library(MBEDTLS_LIB mbedtls) -find_library(MBEDCRYPTO_LIB mbedcrypto) -find_library(MBEDX509_LIB mbedx509) - -include_directories(. ${ASIO_HPP}) - -if(WIN32) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /bigobj") -endif() - -add_definitions(-DNOMINMAX -DUSE_ASIO -DUSE_MBEDTLS -D_WIN32_WINNT=0x0600) -if(LINUX) - add_compile_options(-include bits/endian.h) -endif() - -add_library(ovpncli client/ovpncli.cpp) -target_link_libraries(ovpncli PRIVATE Iphlpapi.lib Wininet.lib Setupapi.lib Cfgmgr32.lib Rpcrt4.lib Fwpuclnt.lib Wtsapi32.lib ${MBEDTLS_LIB} ${MBEDCRYPTO_LIB} ${MBEDX509_LIB}) - -target_include_directories(ovpncli PUBLIC $ $) - -install( - TARGETS ovpncli - EXPORT unofficial-openvpnConfig - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib -) - -INSTALL(EXPORT unofficial-openvpnConfig - NAMESPACE unofficial::openvpn3:: - DESTINATION share/unofficial-openvpn -) - -if(BUILD_TOOL) - add_executable(cli test/ovpncli/cli.cpp) - target_compile_definitions(cli PRIVATE -DTAP_WIN_COMPONENT_ID=tap0901) - target_link_libraries(cli PRIVATE ovpncli) -endif() diff --git a/ports/openvpn3/dependencies.diff b/ports/openvpn3/dependencies.diff new file mode 100644 index 00000000000000..049b9b2c7639ee --- /dev/null +++ b/ports/openvpn3/dependencies.diff @@ -0,0 +1,58 @@ +diff --git a/cmake/findcoredeps.cmake b/cmake/findcoredeps.cmake +index b7d00d4..e180dc1 100644 +--- a/cmake/findcoredeps.cmake ++++ b/cmake/findcoredeps.cmake +@@ -29,8 +29,10 @@ endif () + + function(add_ssl_library target) + if (${USE_MBEDTLS}) ++ # Works with mbedtls 2.x and 3.x ++ set(CMAKE_FIND_PACKAGE_PREFER_CONFIG OFF) + find_package(mbedTLS REQUIRED) +- set(SSL_LIBRARY mbedTLS::mbedTLS) ++ set(SSL_LIBRARY "${MBEDTLS_LIBRARIES}") + target_compile_definitions(${target} PRIVATE -DUSE_MBEDTLS) + else () + find_package(OpenSSL REQUIRED) +@@ -38,7 +40,7 @@ function(add_ssl_library target) + target_compile_definitions(${target} PRIVATE -DUSE_OPENSSL) + endif () + +- target_link_libraries(${target} ${SSL_LIBRARY}) ++ target_link_libraries(${target} PUBLIC ${SSL_LIBRARY}) + endfunction() + + +@@ -93,10 +95,10 @@ function(add_core_dependencies target) + # a patched version. So we want to prefer its include + # directories. + find_package(asio REQUIRED) +- target_link_libraries(${target} asio::asio) ++ target_link_libraries(${target} PUBLIC asio::asio) + + find_package(lz4 REQUIRED) +- target_link_libraries(${target} lz4::lz4) ++ target_link_libraries(${target} PUBLIC lz4::lz4) + + add_ssl_library(${target}) + +@@ -105,14 +107,16 @@ function(add_core_dependencies target) + find_library(iokit IOKit) + find_library(coreServices CoreServices) + find_library(systemConfiguration SystemConfiguration) +- target_link_libraries(${target} ${coreFoundation} ${iokit} ${coreServices} ${systemConfiguration} ${lz4}) ++ target_link_libraries(${target} PUBLIC ${coreFoundation} ${iokit} ${coreServices} ${systemConfiguration} ${lz4}) + endif() + + if(UNIX) +- target_link_libraries(${target} pthread) ++ set(THREADS_PREFER_PTHREAD_FLAG 1) ++ find_package(Threads REQUIRED) ++ target_link_libraries(${target} PUBLIC Threads::Threads) + endif() + +- target_link_libraries(${target} ${EXTRA_LIBS}) ++ target_link_libraries(${target} PUBLIC ${EXTRA_LIBS}) + + if (USE_WERROR) + if (MSVC) diff --git a/ports/openvpn3/mbedtls-compat.diff b/ports/openvpn3/mbedtls-compat.diff new file mode 100644 index 00000000000000..8bfbf5de9280cc --- /dev/null +++ b/ports/openvpn3/mbedtls-compat.diff @@ -0,0 +1,50 @@ +diff --git a/openvpn/mbedtls/mbedtls_compat.hpp b/openvpn/mbedtls/mbedtls_compat.hpp +index 19e6f25..9db4e01 100644 +--- a/openvpn/mbedtls/mbedtls_compat.hpp ++++ b/openvpn/mbedtls/mbedtls_compat.hpp +@@ -27,11 +27,11 @@ + #include + #include + +-#if not defined(MBEDTLS_ERR_SSL_BAD_PROTOCOL_VERSION) ++#if !defined(MBEDTLS_ERR_SSL_BAD_PROTOCOL_VERSION) + #define MBEDTLS_ERR_SSL_BAD_PROTOCOL_VERSION MBEDTLS_ERR_SSL_BAD_HS_PROTOCOL_VERSION + #endif + +-#if not defined(MBEDTLS_OID_X509_EXT_EXTENDED_KEY_USAGE) ++#if !defined(MBEDTLS_OID_X509_EXT_EXTENDED_KEY_USAGE) + #define MBEDTLS_OID_X509_EXT_EXTENDED_KEY_USAGE MBEDTLS_X509_EXT_KEY_USAGE + #endif + +diff --git a/openvpn/mbedtls/ssl/sslctx.hpp b/openvpn/mbedtls/ssl/sslctx.hpp +index f6c3d28..83763e4 100644 +--- a/openvpn/mbedtls/ssl/sslctx.hpp ++++ b/openvpn/mbedtls/ssl/sslctx.hpp +@@ -1589,10 +1589,13 @@ class MbedTLSContext : public SSLFactoryAPI + digest_prefix_len = sizeof(PKCS1::DigestPrefix::SHA512); + break; + default: ++# if MBEDTLS_VERSION_NUMBER < 0x03000000 ++# define MAYBE_LOG_MODE << "mode=" << mode ++# else ++# define MAYBE_LOG_MODE ++# endif + OVPN_LOG_INFO("MbedTLSContext::epki_sign unrecognized hash_id" +-#if MBEDTLS_VERSION_NUMBER < 0x03000000 +- << "mode=" << mode +-#endif ++ MAYBE_LOG_MODE + << " md_alg=" << md_alg << " hashlen=" << hashlen); + return MBEDTLS_ERR_RSA_BAD_INPUT_DATA; + } +@@ -1627,9 +1630,7 @@ class MbedTLSContext : public SSLFactoryAPI + else + { + OVPN_LOG_INFO("MbedTLSContext::epki_sign unrecognized parameters" +-#if MBEDTLS_VERSION_NUMBER < 0x03000000 +- << "mode=" << mode +-#endif ++ MAYBE_LOG_MODE + << " md_alg=" << md_alg << " hashlen=" << hashlen); + return MBEDTLS_ERR_RSA_BAD_INPUT_DATA; + } diff --git a/ports/openvpn3/only-library.diff b/ports/openvpn3/only-library.diff new file mode 100644 index 00000000000000..bfadb8a24951f6 --- /dev/null +++ b/ports/openvpn3/only-library.diff @@ -0,0 +1,52 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6cf519d..d07321c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -32,11 +32,13 @@ include(ovpn-doxygen) + + add_subdirectory(client) + add_subdirectory(test/unittests) ++if(BUILD_TOOLS) + add_subdirectory(test/ovpncli) + + add_subdirectory(openvpn/omi) + add_subdirectory(openvpn/ovpnagent/win) + add_subdirectory(openvpn/ovpnagent/mac) ++endif() + + if (ENABLE_DOXYGEN) + # Exclude some project specific directories +diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt +index e1ecf8f..5afe6ec 100644 +--- a/client/CMakeLists.txt ++++ b/client/CMakeLists.txt +@@ -1,5 +1,29 @@ + include(findcoredeps) + include(findswigdeps) ++add_library(ovpnclilib ovpncli.cpp) ++add_core_dependencies(ovpnclilib) ++target_compile_features(ovpnclilib PUBLIC cxx_std_17) ++target_include_directories(ovpnclilib PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}" PUBLIC "$") ++set_target_properties(ovpnclilib PROPERTIES ++ OUTPUT_NAME ovpncli ++ EXPORT_NAME ovpncli ++) ++install(TARGETS ovpnclilib EXPORT unofficial-openvpn3-targets) ++install(EXPORT unofficial-openvpn3-targets ++ NAMESPACE unofficial::openvpn3:: ++ DESTINATION share/unofficial-openvpn3 ++) ++file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/unofficial-openvpn3-config.cmake" "\ ++include(CMakeFindDependencyMacro) ++find_dependency(asio CONFIG) ++find_dependency(lz4 CONFIG) ++if(UNIX) ++ set(THREADS_PREFER_PTHREAD_FLAG 1) ++ find_dependency(Threads) ++endif() ++include(\"\${CMAKE_CURRENT_LIST_DIR}/unofficial-openvpn3-targets.cmake\") ++") ++install(FILES "${CMAKE_CURRENT_BINARY_DIR}/unofficial-openvpn3-config.cmake" DESTINATION share/unofficial-openvpn3) + + if (BUILD_SWIG_LIB) + set_property(SOURCE ovpncli.i PROPERTY CPLUSPLUS ON) diff --git a/ports/openvpn3/portfile.cmake b/ports/openvpn3/portfile.cmake index 69fd68ee5ef149..ec2e13e81274e5 100644 --- a/ports/openvpn3/portfile.cmake +++ b/ports/openvpn3/portfile.cmake @@ -1,23 +1,35 @@ -set(VCPKG_LIBRARY_LINKAGE static) +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO OpenVPN/openvpn3 - REF release/3.7 - SHA512 de95bd2b1a01179aa81e1612be175540c2486b856f66880372d09966655bbbadd71d874ed49b032566dde2896207bc76298c5cfcf73e86272c04d5aaa977d660 + REF "release/${VERSION}" + SHA512 f096644078c10022685c1a8f7e0afddf352b4a5c229a772d24adbc6ec3f44e27501beabd28c4da1b6b182ae9d220b80865757693d52d085817d42f2322b71213 HEAD_REF master + PATCHES + dependencies.diff + mbedtls-compat.diff + only-library.diff ) - -file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +file(REMOVE_RECURSE "${SOURCE_PATH}/deps") vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_SWIG_LIB=OFF + -DBUILD_TESTING=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_Python3=ON + -DCMAKE_DISABLE_FIND_PACKAGE_SWIG=ON + -DCMAKE_FIND_PACKAGE_PREFER_CONFIG=ON + -DUSE_MBEDTLS=1 # vcpkg legacy choice ) vcpkg_cmake_install() -file(COPY "${SOURCE_PATH}/openvpn" DESTINATION "${CURRENT_PACKAGES_DIR}/include") file(COPY "${SOURCE_PATH}/client/ovpncli.hpp" DESTINATION "${CURRENT_PACKAGES_DIR}/include/openvpn") +file(COPY "${SOURCE_PATH}/openvpn" DESTINATION "${CURRENT_PACKAGES_DIR}/include") file(GLOB_RECURSE HEADERS "${CURRENT_PACKAGES_DIR}/include/openvpn/*") foreach(HEADER IN LISTS HEADERS) @@ -29,9 +41,9 @@ foreach(HEADER IN LISTS HEADERS) file(WRITE "${HEADER}" "${_contents}") endforeach() -vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-openvpn CONFIG_PATH share/unofficial-openvpn) +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-openvpn3) +# Transitional +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/unofficial-openvpnConfig.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/unofficial-openvpn") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(INSTALL - "${SOURCE_PATH}/COPYRIGHT.AGPLV3" - DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.rst" "${SOURCE_PATH}/COPYRIGHT.AGPLV3") diff --git a/ports/openvpn3/unofficial-openvpnConfig.cmake b/ports/openvpn3/unofficial-openvpnConfig.cmake new file mode 100644 index 00000000000000..e0ae0b27229b54 --- /dev/null +++ b/ports/openvpn3/unofficial-openvpnConfig.cmake @@ -0,0 +1,4 @@ +file(READ "${CMAKE_CURRENT_LIST_DIR}/usage" usage) +message(WARNING "find_package(${CMAKE_FIND_PACKAGE_NAME}) is deprecated. Use find_package(unofficial-openvpn3) instead.") +include(CMakeFindDependencyMacro) +find_dependency(unofficial-openvpn3 CONFIG) diff --git a/ports/openvpn3/vcpkg.json b/ports/openvpn3/vcpkg.json index b96855c9a3607a..87dcb6280804b7 100644 --- a/ports/openvpn3/vcpkg.json +++ b/ports/openvpn3/vcpkg.json @@ -1,13 +1,14 @@ { "name": "openvpn3", - "version": "3.7.0", - "port-version": 2, + "version": "3.10", + "port-version": 1, "description": "a C++ class library that implements the functionality of an OpenVPN client, and is protocol-compatible with the OpenVPN 2.x branch.", "homepage": "https://openvpn.net", - "license": "AGPL-3.0", - "supports": "!xbox", + "license": "AGPL-3.0-only", + "supports": "!uwp & !xbox", "dependencies": [ "asio", + "lz4", "mbedtls", { "name": "tap-windows6", diff --git a/ports/openvr/portfile.cmake b/ports/openvr/portfile.cmake index 4a447d76d36d3f..d54eb76696ecb9 100644 --- a/ports/openvr/portfile.cmake +++ b/ports/openvr/portfile.cmake @@ -3,8 +3,8 @@ vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ValveSoftware/openvr - REF v1.23.7 - SHA512 c5942483ffca5cb9f80b52e49833756a5730efb75498ae0374e7f1c1344d52ea7b6b2d26584d415f777dda219fd418b0a20abb2132a0a0fe0ea30b60608f8cb7 + REF v2.5.1 + SHA512 e224737e75f21ec074ca8450a1f1d81764aafeec924cc92a3f5571efc466d74280cb59b0ddfcd251431165ffbfae8aa0c8afe94144fe1c9106a3aa4c2761f3dc HEAD_REF master ) diff --git a/ports/openvr/vcpkg.json b/ports/openvr/vcpkg.json index d1171d7e83dc2f..14715032581bbf 100644 --- a/ports/openvr/vcpkg.json +++ b/ports/openvr/vcpkg.json @@ -1,6 +1,6 @@ { "name": "openvr", - "version": "1.23.7", + "version": "2.5.1", "description": "An API and runtime that allows access to VR hardware from multiple vendors without requiring that applications have specific knowledge of the hardware they are targeting.", "homepage": "https://github.com/ValveSoftware/openvr", "license": "BSD-3-Clause", diff --git a/ports/openxr-loader/002-fix-hpp-gen.patch b/ports/openxr-loader/002-fix-hpp-gen.patch deleted file mode 100644 index 9f58f76268495e..00000000000000 --- a/ports/openxr-loader/002-fix-hpp-gen.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/scripts/hpp_genxr.py b/scripts/hpp_genxr.py -index 6b95fe4..3a19058 100755 ---- a/scripts/hpp_genxr.py -+++ b/scripts/hpp_genxr.py -@@ -80,6 +80,11 @@ def genTarget(args): - "XR_MSFT_controller_model", - # Projection of static string fails - "XR_MSFT_spatial_graph_bridge", -+ "XR_MSFT_spatial_anchor_persistence", -+ "XR_MSFT_holographic_window_attachment", -+ # Projection of UuidMSFT fails -+ "XR_MSFT_scene_understanding", -+ "XR_MSFT_scene_understanding_serialization", - )) - - # Turn lists of names/patterns into matching regular expressions diff --git a/ports/openxr-loader/fix-jinja2.patch b/ports/openxr-loader/fix-jinja2.patch deleted file mode 100644 index 5d77cb4e461a0f..00000000000000 --- a/ports/openxr-loader/fix-jinja2.patch +++ /dev/null @@ -1,23 +0,0 @@ -From d80c7dc3f4810fc49e4444590d39ef71e8a9b01c Mon Sep 17 00:00:00 2001 -From: Adam Johnson -Date: Sat, 19 Feb 2022 19:42:31 -0500 -Subject: [PATCH] Fix bad import in jinja2 - ---- - external/python/jinja2/utils.py | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/external/python/jinja2/utils.py b/external/python/jinja2/utils.py -index db9c5d06..f198e3ef 100644 ---- a/external/python/jinja2/utils.py -+++ b/external/python/jinja2/utils.py -@@ -639,4 +639,8 @@ def __repr__(self): - - - # Imported here because that's where it was in the past --from markupsafe import Markup, escape, soft_unicode -+from markupsafe import Markup, escape -+try: -+ from markupsafe import soft_unicode -+except ImportError: -+ from markupsafe import soft_str as soft_unicode diff --git a/ports/openxr-loader/fix-openxr-sdk-jsoncpp.patch b/ports/openxr-loader/fix-openxr-sdk-jsoncpp.patch index bf915949a1a71b..f012813f1ef1bb 100644 --- a/ports/openxr-loader/fix-openxr-sdk-jsoncpp.patch +++ b/ports/openxr-loader/fix-openxr-sdk-jsoncpp.patch @@ -1,30 +1,25 @@ diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index c75b145..386494c 100644 +index e618325..21d977f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt -@@ -89,7 +89,7 @@ if(NOT VULKAN_INCOMPATIBLE) +@@ -107,7 +107,7 @@ if(NOT VULKAN_INCOMPATIBLE) endif() find_package(Threads REQUIRED) -find_package(JsonCpp) -+find_package(jsoncpp CONFIG REQUIRED) ++find_package(JSONCPP NAMES jsoncpp REQUIRED) ### All options defined here option(BUILD_LOADER "Build loader" ON) -diff --git a/src/loader/CMakeLists.txt b/src/loader/CMakeLists.txt -index 6a88cf4..0821a3d 100644 ---- a/src/loader/CMakeLists.txt -+++ b/src/loader/CMakeLists.txt -@@ -68,7 +68,11 @@ add_library(openxr_loader ${LIBRARY_TYPE} - ${openxr_loader_RESOURCE_FILE} - ) - if(BUILD_WITH_SYSTEM_JSONCPP) -- target_link_libraries(openxr_loader PRIVATE JsonCpp::JsonCpp) -+ if(BUILD_SHARED_LIBS) -+ target_link_libraries(openxr_loader PRIVATE jsoncpp_lib) -+ else() -+ target_link_libraries(openxr_loader PRIVATE jsoncpp_static) -+ endif() - else() - target_sources(openxr_loader - PRIVATE +diff --git a/src/loader/OpenXRConfig.cmake.in b/src/loader/OpenXRConfig.cmake.in +index 81b12e7..4c24771 100644 +--- a/src/loader/OpenXRConfig.cmake.in ++++ b/src/loader/OpenXRConfig.cmake.in +@@ -6,6 +6,7 @@ + + include(CMakeFindDependencyMacro) + find_dependency(Threads) ++find_dependency(jsoncpp CONFIG) + + include("${CMAKE_CURRENT_LIST_DIR}/OpenXRTargets.cmake") + diff --git a/ports/openxr-loader/msvc-crt.diff b/ports/openxr-loader/msvc-crt.diff new file mode 100644 index 00000000000000..4e7798315fe837 --- /dev/null +++ b/ports/openxr-loader/msvc-crt.diff @@ -0,0 +1,14 @@ +diff --git a/src/loader/CMakeLists.txt b/src/loader/CMakeLists.txt +index 326f74e..3192e69 100644 +--- a/src/loader/CMakeLists.txt ++++ b/src/loader/CMakeLists.txt +@@ -212,7 +212,8 @@ elseif(WIN32) + ) + endif() + +- if(DYNAMIC_LOADER AND NOT (CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")) ++ if(1) # CRT linkage from vcpkg ++ elseif(0) + # If building DLLs, force static CRT linkage + set_target_properties( + openxr_loader diff --git a/ports/openxr-loader/portfile.cmake b/ports/openxr-loader/portfile.cmake index 04a518602f4190..0c9375b4c09dd1 100644 --- a/ports/openxr-loader/portfile.cmake +++ b/ports/openxr-loader/portfile.cmake @@ -1,46 +1,25 @@ - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO KhronosGroup/OpenXR-SDK - REF release-1.0.22 - SHA512 fe3c393c2d11981b42355acd8dbc337727120bcd0ff595abac1975c4ce5f68bb74a9a1b4c959e64e9a847ae5d504100d31979ffd7d9702c55b2dbd889de17d3e - HEAD_REF master - PATCHES - fix-openxr-sdk-jsoncpp.patch -) - -vcpkg_from_github( - OUT_SOURCE_PATH SDK_SOURCE_PATH REPO KhronosGroup/OpenXR-SDK-Source - REF release-1.0.22 - SHA512 92802d57a45ca1d697d3cea1b3f5619af4ba36156cb28c2c39b2295a74ebc45907caf371c916c54ec3be44a2f3ae447ffc1cd62f54b7b24f7a081408328c7651 + REF "release-${VERSION}" + SHA512 c2cfab927e6ff8a5a7b90360c99192ae9cd598614965fbd4816361b19c5bf25e5524f0e73ce56774e32903addbce8a8dbcb9520203f845421d33cb33f832977b HEAD_REF master PATCHES fix-openxr-sdk-jsoncpp.patch - fix-jinja2.patch + msvc-crt.diff ) vcpkg_from_github( OUT_SOURCE_PATH HPP_SOURCE_PATH REPO KhronosGroup/OpenXR-hpp - REF release-1.0.21 - SHA512 cda111f20392a64d5f4de6bd71f1fe7fe39d688bb2376c6b1841763459e32fd6d03b9552804b5ee464ba84cd4c05cfdaa1a6e8a8e5da3eae6b94c7797c65cb36 + REF 63db9919822f8af6f7bf7416ba6a015d4617202e + SHA512 9e768f485d1631f8e74f35f028a64e2d64e33d362c53ae1c54427a10786e3befdd24089927319aa1a4b4c3e010247bd6cb3394bcee460c467c637ab6bc7bec90 HEAD_REF master PATCHES - 002-fix-hpp-gen.patch + python3_8_compatibility.patch ) -# Weird behavior inside the OpenXR loader. On Windows they force shared libraries to use static crt, and -# vice-versa. Might be better in future iterations to patch the CMakeLists.txt for OpenXR -if (VCPKG_TARGET_IS_UWP OR VCPKG_TARGET_IS_WINDOWS) - if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - set(DYNAMIC_LOADER OFF) - set(VCPKG_CRT_LINKAGE dynamic) - else() - set(DYNAMIC_LOADER ON) - set(VCPKG_CRT_LINKAGE static) - endif() -endif() +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" DYNAMIC_LOADER) vcpkg_find_acquire_program(PYTHON3) @@ -48,35 +27,36 @@ vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_API_LAYERS=OFF - -DBUILD_TESTS=OFF -DBUILD_CONFORMANCE_TESTS=OFF + -DBUILD_TESTS=OFF + -DCMAKE_INSTALL_INCLUDEDIR=include -DDYNAMIC_LOADER=${DYNAMIC_LOADER} - -DPYTHON_EXECUTABLE="${PYTHON3}" - -DBUILD_WITH_SYSTEM_JSONCPP=ON + "-DPYTHON_EXECUTABLE=${PYTHON3}" ) vcpkg_cmake_install() +vcpkg_fixup_pkgconfig() +vcpkg_copy_pdbs() -# Generate the OpenXR C++ bindings -set(ENV{OPENXR_REPO} "${SDK_SOURCE_PATH}") -file(STRINGS "${HPP_SOURCE_PATH}/headers.txt" HEADER_LIST REGEX "^openxr.*") -foreach(HEADER ${HEADER_LIST}) - vcpkg_execute_required_process( - COMMAND ${PYTHON3} "${HPP_SOURCE_PATH}/scripts/hpp_genxr.py" -registry "${SDK_SOURCE_PATH}/specification/registry/xr.xml" -o "${CURRENT_PACKAGES_DIR}/include/openxr" ${HEADER} - WORKING_DIRECTORY "${HPP_SOURCE_PATH}" - LOGNAME openxrhpp - ) -endforeach() - +# "openxr-loader" matches "*" for "OpenXR", so use the default. if(VCPKG_TARGET_IS_WINDOWS) - vcpkg_cmake_config_fixup(PACKAGE_NAME OpenXR CONFIG_PATH cmake) + vcpkg_cmake_config_fixup(CONFIG_PATH cmake) else() - vcpkg_cmake_config_fixup(PACKAGE_NAME OpenXR CONFIG_PATH lib/cmake/openxr) + vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/openxr) endif() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +# Generate the OpenXR C++ bindings +set(ENV{OPENXR_REPO} "${SOURCE_PATH}") +vcpkg_execute_required_process( + COMMAND "${PYTHON3}" "${HPP_SOURCE_PATH}/scripts/hpp_genxr.py" -quiet -registry "${SOURCE_PATH}/specification/registry/xr.xml" -o "${CURRENT_PACKAGES_DIR}/include/openxr" + WORKING_DIRECTORY "${HPP_SOURCE_PATH}" + LOGNAME "openxr-hpp" +) -vcpkg_fixup_pkgconfig() -vcpkg_copy_pdbs() -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/share/doc" +) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/openxr-loader/python3_8_compatibility.patch b/ports/openxr-loader/python3_8_compatibility.patch new file mode 100644 index 00000000000000..657bb2b7ab8e61 --- /dev/null +++ b/ports/openxr-loader/python3_8_compatibility.patch @@ -0,0 +1,13 @@ +diff --git a/scripts/hpp_genxr.py b/scripts/hpp_genxr.py +index ce419b0..23e1d3d 100644 +--- a/scripts/hpp_genxr.py ++++ b/scripts/hpp_genxr.py +@@ -36,7 +36,7 @@ from xrconventions import OpenXRConventions + from data import EXCLUDED_EXTENSIONS + + +-def makeREstring(strings: Iterable[str], default: typing.Optional[str] = None) -> str: ++def makeREstring(strings, default: typing.Optional[str] = None) -> str: + """Turn a list of strings into a regexp string matching exactly those strings.""" + if strings or default is None: + return f"^({'|'.join(re.escape(s) for s in strings)})$" diff --git a/ports/openxr-loader/vcpkg.json b/ports/openxr-loader/vcpkg.json index c2e6b9a404490c..2dc852280c14fb 100644 --- a/ports/openxr-loader/vcpkg.json +++ b/ports/openxr-loader/vcpkg.json @@ -1,13 +1,21 @@ { "name": "openxr-loader", - "version": "1.0.22", - "port-version": 3, + "version": "1.0.34", + "port-version": 1, "description": "A royalty-free, open standard that provides high-performance access to Augmented Reality (AR) and Virtual Reality (VR)—collectively known as XR—platforms and devices", "homepage": "https://github.com/KhronosGroup/OpenXR-SDK", "license": "Apache-2.0", - "supports": "!uwp & !osx", + "supports": "!uwp", "dependencies": [ + { + "name": "egl", + "platform": "android" + }, "jsoncpp", + { + "name": "opengl", + "platform": "!android & !ios & !osx & !(arm & windows) & !uwp" + }, { "name": "vcpkg-cmake", "host": true @@ -20,6 +28,7 @@ "features": { "vulkan": { "description": "Vulkan functionality for OpenXR", + "supports": "!(arm & windows) & !uwp", "dependencies": [ "vulkan" ] diff --git a/ports/optional-lite/portfile.cmake b/ports/optional-lite/portfile.cmake index 83d5ac23a5afbb..9d7d2a5ed6eb6b 100644 --- a/ports/optional-lite/portfile.cmake +++ b/ports/optional-lite/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO martinmoene/optional-lite - REF v3.5.0 - SHA512 e578d391bc95e2a5302b4b02e0b17659026b2743fc5c1e16cd83f6227fa9b5990fa3fa23e808a4ea0f5bdafbf80834b0c462d563ab615907f113ee5a09ae88f5 + REF "v${VERSION}" + SHA512 6ec7dbd11947376cc46502cdab866e171fca7123b317887889022d22b003e4fd96d26816046e8e24b1b83fb5190ae6232cbbacfcb20fcb78200878bd73d7adc4 ) vcpkg_cmake_configure( diff --git a/ports/optional-lite/vcpkg.json b/ports/optional-lite/vcpkg.json index 4245c02bda472f..fe692d6927c1b0 100644 --- a/ports/optional-lite/vcpkg.json +++ b/ports/optional-lite/vcpkg.json @@ -1,7 +1,6 @@ { "name": "optional-lite", - "version": "3.5.0", - "port-version": 1, + "version": "3.6.0", "description": "A C++17-like optional, a nullable object for C++98, C++11 and later in a single-file header-only library", "homepage": "https://github.com/martinmoene/optional-lite", "dependencies": [ diff --git a/ports/opus/portfile.cmake b/ports/opus/portfile.cmake index 9638e34d5882f6..c3689a1d5400d9 100644 --- a/ports/opus/portfile.cmake +++ b/ports/opus/portfile.cmake @@ -2,14 +2,14 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO xiph/opus REF "v${VERSION}" - SHA512 86df35cd62ebf3551b2739effb8f818d635656d91d386d7d600a424a92c4c0d6bfbc3986f1ec6cf4950910ac87b28dc9640b9df3b9a6a5a75eb37ae71782b72e - HEAD_REF master + SHA512 4ffefd9c035671024f9720c5129bfe395dea04f0d6b730041c2804e89b1db6e4d19633ad1ae58855afc355034233537361e707f26dc53adac916554830038fab + HEAD_REF main PATCHES fix-pkgconfig-version.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - avx AVX_SUPPORTED + avx2 AVX2_SUPPORTED ) set(ADDITIONAL_OPUS_OPTIONS "") @@ -21,6 +21,10 @@ if(VCPKG_TARGET_IS_MINGW) list(APPEND ADDITIONAL_OPUS_OPTIONS "-DOPUS_USE_NEON=OFF") # for version 1.3.1 (remove for future Opus release) list(APPEND ADDITIONAL_OPUS_OPTIONS "-DOPUS_DISABLE_INTRINSICS=ON") # for HEAD (and future Opus release) endif() +elseif(VCPKG_TARGET_IS_WINDOWS) + if(VCPKG_CRT_LINKAGE STREQUAL "static") + list(APPEND ADDITIONAL_OPUS_OPTIONS "-DOPUS_STATIC_RUNTIME=ON") + endif() elseif(VCPKG_TARGET_IS_EMSCRIPTEN) set(STACK_PROTECTOR OFF) else() @@ -52,4 +56,4 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/cmake" "${CURRENT_PACKAGES_DIR}/lib/cmake" "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/opus/vcpkg.json b/ports/opus/vcpkg.json index 33c35ee47dbb77..574879eed651b8 100644 --- a/ports/opus/vcpkg.json +++ b/ports/opus/vcpkg.json @@ -1,6 +1,6 @@ { "name": "opus", - "version": "1.4", + "version": "1.5.2", "description": "Totally open, royalty-free, highly versatile audio codec", "homepage": "https://github.com/xiph/opus", "license": "BSD-3-Clause", @@ -15,8 +15,8 @@ } ], "features": { - "avx": { - "description": "Builds the library with avx instruction set" + "avx2": { + "description": "Builds the library with avx2 instruction set" } } } diff --git a/ports/orange-math/portfile.cmake b/ports/orange-math/portfile.cmake new file mode 100644 index 00000000000000..5fa9c76272fd22 --- /dev/null +++ b/ports/orange-math/portfile.cmake @@ -0,0 +1,34 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO orange-cpp/omath + REF "v${VERSION}" + SHA512 467b1abbdf5b9a7f49ed50824eaa4641f05d6088e84f40320b5c82a1bdbf685cc8d0f0a4f4ab6be49e3a8ed13103ee3e808dde3b556a00742f7b53c519c183e3 + HEAD_REF master +) + +file(READ "${SOURCE_PATH}/cmake/omathConfig.cmake.in" cmake_config) + +file(WRITE "${SOURCE_PATH}/cmake/omathConfig.cmake.in" +"${cmake_config} +check_required_components(omath) +") + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED_LIBS) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DOMATH_BUILD_TESTS=OFF + -DOMATH_THREAT_WARNING_AS_ERROR=OFF + -DOMATH_BUILD_AS_SHARED_LIBRARY=${BUILD_SHARED_LIBS} +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/omath" PACKAGE_NAME "omath") +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" +) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/orange-math/vcpkg.json b/ports/orange-math/vcpkg.json new file mode 100644 index 00000000000000..e2f116468103c1 --- /dev/null +++ b/ports/orange-math/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "orange-math", + "version": "1.0.1", + "description": "General purpose math library", + "homepage": "https://github.com/orange-cpp/omath", + "license": "MIT", + "supports": "windows", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/orc/fix-cmake.patch b/ports/orc/fix-cmake.patch index c15cf1b30ce8bf..cabc118929d0b3 100644 --- a/ports/orc/fix-cmake.patch +++ b/ports/orc/fix-cmake.patch @@ -1,15 +1,17 @@ diff --git a/c++/src/CMakeLists.txt b/c++/src/CMakeLists.txt -index 972f2fc03..5b39554c8 100644 +index 33ad5848..2a41e427 100644 --- a/c++/src/CMakeLists.txt +++ b/c++/src/CMakeLists.txt -@@ -210,8 +210,16 @@ add_library (orc STATIC ${SOURCE_FILES}) +@@ -208,15 +208,30 @@ endif(BUILD_ENABLE_AVX512) + + add_library (orc STATIC ${SOURCE_FILES}) +include(GNUInstallDirs) + +target_include_directories(orc + PUBLIC + $ -+ ) ++) + target_link_libraries (orc - orc::protobuf @@ -24,7 +26,10 @@ index 972f2fc03..5b39554c8 100644 + lz4::lz4 + $,zstd::libzstd_shared,zstd::libzstd_static> ${LIBHDFSPP_LIBRARIES} -@@ -219,2 +227,9 @@ target_link_libraries (orc +- ) ++) + + add_dependencies(orc orc-format_ep) -install(TARGETS orc DESTINATION lib) +install(TARGETS orc EXPORT unofficial-orc) @@ -35,66 +40,105 @@ index 972f2fc03..5b39554c8 100644 + DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/unofficial-orc" + NAMESPACE unofficial::orc:: +) +\ No newline at end of file diff --git a/cmake_modules/ThirdpartyToolchain.cmake b/cmake_modules/ThirdpartyToolchain.cmake -index 47c1a65ba..8570b6069 100644 +index ec33193d..5b7a009d 100644 --- a/cmake_modules/ThirdpartyToolchain.cmake +++ b/cmake_modules/ThirdpartyToolchain.cmake -@@ -73,2 +73,4 @@ endif () +@@ -83,7 +83,8 @@ ExternalProject_Add (orc-format_ep + # ---------------------------------------------------------------------- + # Snappy +- +find_package(Snappy CONFIG REQUIRED) +if (0) - if (NOT "${SNAPPY_HOME}" STREQUAL "") -@@ -113,2 +115,3 @@ if (SNAPPY_VENDORED) + if (NOT "${SNAPPY_HOME}" STREQUAL "" OR ORC_PACKAGE_KIND STREQUAL "conan") + find_package (Snappy REQUIRED) + set(SNAPPY_VENDORED FALSE) +@@ -130,10 +131,12 @@ if (SNAPPY_VENDORED) + DESTINATION "lib") + endif () endif () +endif () -@@ -117,2 +120,4 @@ endif () - + # ---------------------------------------------------------------------- + # ZLIB +- +find_package(ZLIB REQUIRED) +if (0) - if (NOT "${ZLIB_HOME}" STREQUAL "") -@@ -165,2 +170,3 @@ if (ZLIB_VENDORED) + if (NOT "${ZLIB_HOME}" STREQUAL "" OR ORC_PACKAGE_KIND STREQUAL "conan") + find_package (ZLIB REQUIRED) + set(ZLIB_VENDORED FALSE) +@@ -184,10 +187,11 @@ if (ZLIB_VENDORED) + DESTINATION "lib") + endif () endif () +- +endif () - -@@ -169,2 +175,4 @@ endif () - + # ---------------------------------------------------------------------- + # Zstd +- +find_package(zstd CONFIG REQUIRED) +if (0) - if (NOT "${ZSTD_HOME}" STREQUAL "") -@@ -224,2 +232,3 @@ if (ZSTD_VENDORED) + if (NOT "${ZSTD_HOME}" STREQUAL "" OR ORC_PACKAGE_KIND STREQUAL "conan") + find_package (ZSTD REQUIRED) + set(ZSTD_VENDORED FALSE) +@@ -249,10 +253,11 @@ if (ZSTD_VENDORED) + DESTINATION "lib") + endif () endif () +- +endif () - -@@ -228,2 +237,4 @@ endif () - + # ---------------------------------------------------------------------- + # LZ4 +- +find_package(lz4 CONFIG REQUIRED) +if (0) - if (NOT "${LZ4_HOME}" STREQUAL "") -@@ -276,2 +287,3 @@ if (LZ4_VENDORED) + if (NOT "${LZ4_HOME}" STREQUAL "" OR ORC_PACKAGE_KIND STREQUAL "conan") + find_package (LZ4 REQUIRED) + set(LZ4_VENDORED FALSE) +@@ -307,11 +312,11 @@ if (LZ4_VENDORED) + DESTINATION "lib") + endif () endif () +- +endif () - -@@ -280,3 +292,3 @@ endif () + # ---------------------------------------------------------------------- + # IANA - Time Zone Database -if (WIN32) +if (WIN32 AND TEST_VALGRIND_MEMCHECK) SET(CURRENT_TZDATA_FILE "") -@@ -383,2 +395,4 @@ endif () + SET(CURRENT_TZDATA_SHA512 "") + File(DOWNLOAD "https://ftp.osuosl.org/pub/cygwin/noarch/release/tzdata/sha512.sum" ${CMAKE_CURRENT_BINARY_DIR}/sha512.sum) +@@ -413,7 +418,8 @@ endif () + # ---------------------------------------------------------------------- + # Protobuf +- +find_package(Protobuf CONFIG REQUIRED) +if (0) - if (NOT "${PROTOBUF_HOME}" STREQUAL "") -@@ -454,2 +468,3 @@ if (PROTOBUF_VENDORED) + if (NOT "${PROTOBUF_HOME}" STREQUAL "" OR ORC_PACKAGE_KIND STREQUAL "conan") + find_package (Protobuf REQUIRED) + set(PROTOBUF_VENDORED FALSE) +@@ -493,6 +499,7 @@ if (PROTOBUF_VENDORED) + DESTINATION "lib") + endif () endif () +endif () + # ---------------------------------------------------------------------- + # LIBHDFSPP diff --git a/tools/src/CMakeLists.txt b/tools/src/CMakeLists.txt -index 3863c408e..b71ab5eae 100644 +index 3863c408..b71ab5ea 100644 --- a/tools/src/CMakeLists.txt +++ b/tools/src/CMakeLists.txt -@@ -72,3 +72,3 @@ target_link_libraries (orc-metadata +@@ -70,7 +70,7 @@ add_executable (orc-metadata + + target_link_libraries (orc-metadata orc - orc::protobuf + protobuf::libprotobuf ${CMAKE_THREAD_LIBS_INIT} + ) + diff --git a/ports/orc/portfile.cmake b/ports/orc/portfile.cmake index 67a96af992e5e7..f52dcbca71e236 100644 --- a/ports/orc/portfile.cmake +++ b/ports/orc/portfile.cmake @@ -4,7 +4,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO apache/orc REF "v${VERSION}" - SHA512 21ae89915acb731b19f2cba10b35731c5d0993a44160a7afd063f04fa5cc714e1fe3984282214d1fe8a19944969f28d5e6d67a33ac6dafcbc2cecf30d34b752f + SHA512 6109b27047b0688566756f9ca6833689cdf0bd7a5086c4212ef1fd6484fb73d9077fa3017137a7fd65f0ab51518c80fc43ab55bd308ad146f6f4b6d97c51b4fc HEAD_REF master PATCHES fix-cmake.patch diff --git a/ports/orc/vcpkg.json b/ports/orc/vcpkg.json index c7af34b06ad2c2..7f3a774c7660dd 100644 --- a/ports/orc/vcpkg.json +++ b/ports/orc/vcpkg.json @@ -1,6 +1,6 @@ { "name": "orc", - "version": "1.9.1", + "version": "2.0.0", "description": "The smallest, fastest columnar storage for Hadoop workloads.", "homepage": "https://orc.apache.org/", "license": "Apache-2.0", diff --git a/ports/osg/fix-error-c3861.patch b/ports/osg/fix-error-c3861.patch new file mode 100644 index 00000000000000..7830717040a3f6 --- /dev/null +++ b/ports/osg/fix-error-c3861.patch @@ -0,0 +1,13 @@ +diff --git a/src/osgPlugins/osga/OSGA_Archive.cpp b/src/osgPlugins/osga/OSGA_Archive.cpp +index b9f518a..19186a7 100644 +--- a/src/osgPlugins/osga/OSGA_Archive.cpp ++++ b/src/osgPlugins/osga/OSGA_Archive.cpp +@@ -77,7 +77,7 @@ inline OSGA_Archive::pos_type ARCHIVE_POS( const std::streampos & pos ) + #else // older Dinkumware (eg: one included in Win Server 2003 Platform SDK ) + fpos_t position = pos.get_fpos_t(); + #endif +- std::streamoff offset = pos.operator std::streamoff( ) - _FPOSOFF( position ); ++ std::streamoff offset = 0; + + return OSGA_Archive::pos_type( position + offset ); + } diff --git a/ports/osg/fix-min-max-macro.patch b/ports/osg/fix-min-max-macro.patch new file mode 100644 index 00000000000000..96a5f72cd91e9f --- /dev/null +++ b/ports/osg/fix-min-max-macro.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2a58f19..7d0acf8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -375,7 +375,7 @@ IF(WIN32 AND NOT ANDROID) + #needed for net plugin + SET (OSG_SOCKET_LIBS wsock32) + # Both Cygwin and Msys need -DNOMINMAX ??? +- IF(UNIX) ++ IF(UNIX OR WIN32) + ADD_DEFINITIONS(-DNOMINMAX) + ENDIF() + diff --git a/ports/osg/portfile.cmake b/ports/osg/portfile.cmake index b9c99ca7c93a20..6da60ade252d40 100644 --- a/ports/osg/portfile.cmake +++ b/ports/osg/portfile.cmake @@ -12,10 +12,11 @@ vcpkg_from_github( fix-sdl.patch fix-nvtt-squish.patch plugin-pdb-install.patch - use-boost-asio.patch osgdb_zip_nozip.patch # This is fix symbol clashes with other libs when built in static-lib mode openexr3.patch unofficial-export.patch + fix-min-max-macro.patch + fix-error-c3861.patch ) file(REMOVE @@ -66,9 +67,11 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS openexr BUILD_OSG_PLUGIN_EXR openexr CMAKE_REQUIRE_FIND_PACKAGE_OpenEXR rest-http-device BUILD_OSG_PLUGIN_RESTHTTPDEVICE + rest-http-device CMAKE_REQUIRE_FIND_PACKAGE_Boost sdl1 BUILD_OSG_PLUGIN_SDL INVERTED_FEATURES sdl1 CMAKE_DISABLE_FIND_PACKAGE_SDL # for apps and examples + rest-http-device CMAKE_DISABLE_FIND_PACKAGE_Boost ) # The package osg can be configured to use different OpenGL profiles via a custom triplet file: @@ -179,4 +182,4 @@ endif() vcpkg_fixup_pkgconfig() file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/osg/use-boost-asio.patch b/ports/osg/use-boost-asio.patch deleted file mode 100644 index 4d804973c0b45a..00000000000000 --- a/ports/osg/use-boost-asio.patch +++ /dev/null @@ -1,92 +0,0 @@ -diff --git a/CMakeModules/FindAsio.cmake b/CMakeModules/FindAsio.cmake -index 433d5c7..04a0edf 100644 ---- a/CMakeModules/FindAsio.cmake -+++ b/CMakeModules/FindAsio.cmake -@@ -1,22 +1,7 @@ - # Locate ASIO-headers (http://think-async.com/Asio) --# This module defines --# ASIO_FOUND, if false, do not try to link to gdal --# ASIO_INCLUDE_DIR, where to find the headers --# - # Created by Stephan Maximilian Huber - --FIND_PATH(ASIO_INCLUDE_DIR -- NAMES -- asio.hpp -- PATHS -- /usr/include -- /usr/local/include --) -- --SET(ASIO_FOUND "NO") --IF(ASIO_INCLUDE_DIR) -- FIND_PACKAGE( Boost 1.37 ) -- IF(Boost_FOUND) -- SET(ASIO_FOUND "YES") -- ENDIF() -+FIND_PACKAGE( Boost 1.37 COMPONENTS asio ) -+IF(Boost_FOUND) -+ SET(ASIO_FOUND "YES") - ENDIF() -diff --git a/src/osgPlugins/RestHttpDevice/CMakeLists.txt b/src/osgPlugins/RestHttpDevice/CMakeLists.txt -index 8464b9d..073e8ed 100644 ---- a/src/osgPlugins/RestHttpDevice/CMakeLists.txt -+++ b/src/osgPlugins/RestHttpDevice/CMakeLists.txt -@@ -1,5 +1,4 @@ - INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS}) --INCLUDE_DIRECTORIES(${ASIO_INCLUDE_DIR}) - - SET(TARGET_SRC - connection.cpp -diff --git a/src/osgPlugins/RestHttpDevice/connection.hpp b/src/osgPlugins/RestHttpDevice/connection.hpp -index 99f3a93..b205759 100644 ---- a/src/osgPlugins/RestHttpDevice/connection.hpp -+++ b/src/osgPlugins/RestHttpDevice/connection.hpp -@@ -11,7 +11,7 @@ - #ifndef HTTP_SERVER_CONNECTION_HPP - #define HTTP_SERVER_CONNECTION_HPP - --#include -+#include - #include - #include - #include -diff --git a/src/osgPlugins/RestHttpDevice/io_service_pool.hpp b/src/osgPlugins/RestHttpDevice/io_service_pool.hpp -index 1d363a8..b6e7195 100644 ---- a/src/osgPlugins/RestHttpDevice/io_service_pool.hpp -+++ b/src/osgPlugins/RestHttpDevice/io_service_pool.hpp -@@ -11,7 +11,7 @@ - #ifndef HTTP_SERVER_IO_SERVICE_POOL_HPP - #define HTTP_SERVER_IO_SERVICE_POOL_HPP - --#include -+#include - #include - #include - #include -diff --git a/src/osgPlugins/RestHttpDevice/reply.hpp b/src/osgPlugins/RestHttpDevice/reply.hpp -index 89f264a..b63d0b9 100644 ---- a/src/osgPlugins/RestHttpDevice/reply.hpp -+++ b/src/osgPlugins/RestHttpDevice/reply.hpp -@@ -13,7 +13,7 @@ - - #include - #include --#include -+#include - #include "header.hpp" - - namespace http { -diff --git a/src/osgPlugins/RestHttpDevice/server.hpp b/src/osgPlugins/RestHttpDevice/server.hpp -index a14f263..91c4b62 100644 ---- a/src/osgPlugins/RestHttpDevice/server.hpp -+++ b/src/osgPlugins/RestHttpDevice/server.hpp -@@ -11,7 +11,7 @@ - #ifndef HTTP_SERVER_SERVER_HPP - #define HTTP_SERVER_SERVER_HPP - --#include -+#include - #include - #include - #include diff --git a/ports/osg/vcpkg.json b/ports/osg/vcpkg.json index 30a3d86f9e780d..ecfbed13580b9b 100644 --- a/ports/osg/vcpkg.json +++ b/ports/osg/vcpkg.json @@ -1,7 +1,7 @@ { "name": "osg", "version": "3.6.5", - "port-version": 22, + "port-version": 25, "description": "The OpenSceneGraph is an open source high performance 3D graphics toolkit.", "homepage": "https://www.openscenegraph.com/", "license": null, @@ -50,14 +50,6 @@ ], "platform": "!uwp" }, - { - "name": "osg", - "default-features": false, - "features": [ - "rest-http-device" - ], - "platform": "!windows" - }, { "name": "osg", "default-features": false, @@ -170,20 +162,6 @@ } ] }, - "rest-http-device": { - "description": "Build RestHttpDevice plugin", - "supports": "!windows", - "dependencies": [ - "boost-array", - "boost-asio", - "boost-bind", - "boost-core", - "boost-lexical-cast", - "boost-logic", - "boost-smart-ptr", - "boost-tuple" - ] - }, "sdl1": { "description": "Build SDL 1 plugin, and enable SDL 1 app features", "dependencies": [ diff --git a/ports/osgearth/export-plugins.patch b/ports/osgearth/export-plugins.patch deleted file mode 100644 index e6dcdee3967fbd..00000000000000 --- a/ports/osgearth/export-plugins.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/CMakeModules/OsgEarthMacroUtils.cmake b/CMakeModules/OsgEarthMacroUtils.cmake -index 8fab78376..838dcc581 100644 ---- a/CMakeModules/OsgEarthMacroUtils.cmake -+++ b/CMakeModules/OsgEarthMacroUtils.cmake -@@ -220,9 +220,9 @@ MACRO(SETUP_PLUGIN PLUGIN_NAME) - - #the installation path are differentiated for win32 that install in bib versus other architecture that install in lib${LIB_POSTFIX}/${VPB_PLUGINS} - IF(WIN32) -- INSTALL(TARGETS ${TARGET_TARGETNAME} RUNTIME DESTINATION bin ARCHIVE DESTINATION lib/${OSG_PLUGINS} LIBRARY DESTINATION bin/${OSG_PLUGINS} ) -+ INSTALL(TARGETS ${TARGET_TARGETNAME} RUNTIME DESTINATION bin ARCHIVE DESTINATION lib/${OSG_PLUGINS} LIBRARY DESTINATION plugins/${OSG_PLUGINS} ) - ELSE(WIN32) -- INSTALL(TARGETS ${TARGET_TARGETNAME} RUNTIME DESTINATION bin ARCHIVE DESTINATION lib${LIB_POSTFIX}/${OSG_PLUGINS} LIBRARY DESTINATION lib${LIB_POSTFIX}/${OSG_PLUGINS} ) -+ INSTALL(TARGETS ${TARGET_TARGETNAME} RUNTIME DESTINATION bin ARCHIVE DESTINATION lib${LIB_POSTFIX}/${OSG_PLUGINS} LIBRARY DESTINATION plugins${LIB_POSTFIX}/${OSG_PLUGINS} ) - ENDIF(WIN32) - - IF(OSG_BUILD_PLATFORM_IPHONE) diff --git a/ports/osgearth/find-package.patch b/ports/osgearth/find-package.patch deleted file mode 100644 index 135b1447705ba8..00000000000000 --- a/ports/osgearth/find-package.patch +++ /dev/null @@ -1,112 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index cf8245b8b..233390a5f 100755 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -127,9 +127,9 @@ mark_as_advanced(OSGEARTH_ASSUME_SINGLE_GL_CONTEXT) - - # Mobile/GLES: - IF (OSGEARTH_USE_GLES) -- find_package(OpenGLES) -+ find_package(OpenGLES REQUIRED) - ELSE () -- find_package(OpenGL) -+ find_package(OpenGL REQUIRED) - ENDIF (OSGEARTH_USE_GLES) - - -@@ -147,35 +147,54 @@ if(GIT_FOUND AND EXISTS "${PROJECT_SOURCE_DIR}/.git") - endif() - - # required --find_package(OSG REQUIRED) -+find_package(OSG NAMES unofficial-osg) -+find_path(OSG_INCLUDE_DIR osg/Version) # For detecting the version and setting the plugin path -+set(OSG_INCLUDE_DIRS "") -+set(OSG_LIBRARY unofficial::osg::osg) -+set(OSGUTIL_LIBRARY unofficial::osg::osgUtil) -+set(OSGDB_LIBRARY unofficial::osg::osgDB) -+set(OSGTEXT_LIBRARY unofficial::osg::osgText) -+set(OSGSIM_LIBRARY unofficial::osg::osgSim) -+set(OSGVIEWER_LIBRARY unofficial::osg::osgViewer) -+set(OSGGA_LIBRARY unofficial::osg::osgViewer) -+set(OSGSHADOW_LIBRARY unofficial::osg::osgShadow) -+set(OSGMANIPULATOR_LIBRARY unofficial::osg::osgManipulator) -+set(OPENTHREADS_LIBRARY unofficial::osg::OpenThreads) - find_package(CURL REQUIRED) - find_package(GDAL REQUIRED) - - # optional --find_package(GEOS) --find_package(Sqlite3) --find_package(Draco) --find_package(BASISU) --find_package(GLEW) --find_package(Protobuf) --find_package(WEBP) --find_package(Blend2D) --find_package(Blosc) -+find_package(GEOS CONFIG REQUIRED) -+set(GEOS_LIBRARY GEOS::geos_c) -+find_package(SQLITE3 NAMES unofficial-sqlite3 REQUIRED) -+set(SQLITE3_LIBRARY unofficial::sqlite3::sqlite3) -+find_package(Draco REQUIRED) -+find_package(BASISU REQUIRED) -+find_package(GLEW REQUIRED) -+find_package(Protobuf REQUIRED) -+find_package(WEBP NAMES WebP CONFIG REQUIRED) -+set(WEBP_LIBRARY WebP::webp) -+if(WITH_BLEND2D) -+ find_package(BLEND2D CONFIG REQUIRED) -+ set(BLEND2D_LIBRARY blend2d::blend2d) -+endif() -+find_package(BLOSC REQUIRED) - - if(OSGEARTH_ENABLE_PROFILING) -- find_package(Tracy) -+ find_package(Tracy REQUIRED) - endif() - - if(OSGEARTH_BUILD_ZIP_PLUGIN) -- find_package(LibZip) -+ find_package(libzip CONFIG REQUIRED) -+ set(LIBZIP_LIBRARY libzip::zip) - endif() - - if(OSGEARTH_BUILD_TRITON_NODEKIT) -- find_package(Triton QUIET) -+ find_package(Triton QUIET REQUIRED) - endif() - - if(OSGEARTH_BUILD_SILVERLINING_NODEKIT) -- find_package(SilverLining QUIET) -+ find_package(SilverLining QUIET REQUIRED) - endif() - - # Sqlite enables the MBTiles format: -@@ -221,7 +240,7 @@ SET (PROTOBUF_USE_DLLS FALSE CACHE BOOL "Set this to true if Protobuf is compile - # Duktape is the JavaScript interpreter - SET (WITH_EXTERNAL_DUKTAPE FALSE CACHE BOOL "Use bundled or system wide version of Duktape") - IF (WITH_EXTERNAL_DUKTAPE) -- find_package(Duktape) -+ find_package(Duktape REQUIRED) - ENDIF (WITH_EXTERNAL_DUKTAPE) - - # Whether to install shaders (glsl files). -@@ -232,7 +251,8 @@ OPTION(OSGEARTH_INSTALL_SHADERS "Whether to deploy GLSL shaders when doing a Mak - # TinyXML is an XML parsing library - SET (WITH_EXTERNAL_TINYXML FALSE CACHE BOOL "Use bundled or system wide version of TinyXML") - IF (WITH_EXTERNAL_TINYXML) -- find_package(TinyXML) -+ find_package(TINYXML NAMES tinyxml REQUIRED) -+ set(TINYXML_LIBRARY unofficial-tinyxml::unofficial-tinyxml) - ENDIF (WITH_EXTERNAL_TINYXML) - - # postfix settings for various configs -@@ -307,6 +327,7 @@ IF(OSGEARTH_BUILD_SHARED_LIBS) - SET(OSGEARTH_DYNAMIC_OR_STATIC "SHARED") - ELSE() - SET(OSGEARTH_DYNAMIC_OR_STATIC "STATIC") -+ add_definitions(-DOSGEARTH_LIBRARY_STATIC) - ENDIF() - - diff --git a/ports/osgearth/install-plugins.patch b/ports/osgearth/install-plugins.patch new file mode 100644 index 00000000000000..ec9d89b3ed5249 --- /dev/null +++ b/ports/osgearth/install-plugins.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2e147e4d1..133940902 100755 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -55,7 +55,7 @@ set(OSGEARTH_EMBEDDED_THIRD_PARTY_DIR ${PROJECT_SOURCE_DIR}/src/third_party) + set(INSTALL_RUNTIME_FOLDER "bin${OSGEARTH_INSTALL_FOLDER_SUFFIX}") # executables + set(INSTALL_LIBRARY_FOLDER "bin${OSGEARTH_INSTALL_FOLDER_SUFFIX}") # .dll/.so + set(INSTALL_ARCHIVE_FOLDER "lib${OSGEARTH_INSTALL_FOLDER_SUFFIX}") # .lib/.a +-set(INSTALL_PLUGINS_FOLDER "bin${OSGEARTH_INSTALL_FOLDER_SUFFIX}") # parent folder of OSG plugins folder ++set(INSTALL_PLUGINS_FOLDER "plugins") # parent folder of OSG plugins folder + + include(oe_ios) + include(oe_osx) diff --git a/ports/osgearth/link-libraries.patch b/ports/osgearth/link-libraries.patch deleted file mode 100644 index 19f34fb18c2b23..00000000000000 --- a/ports/osgearth/link-libraries.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/CMakeModules/OsgEarthMacroUtils.cmake b/CMakeModules/OsgEarthMacroUtils.cmake -index 7dd0998..730af85 100644 ---- a/CMakeModules/OsgEarthMacroUtils.cmake -+++ b/CMakeModules/OsgEarthMacroUtils.cmake -@@ -92,6 +92,11 @@ ENDMACRO(DETECT_OSG_VERSION) - - MACRO(LINK_WITH_VARIABLES TRGTNAME) - FOREACH(varname ${ARGN}) -+ string(REPLACE "_LIBRARY" "_LIBRARIES" lwv_libraries "${varname}") -+ if(DEFINED ${lwv_libraries}) -+ TARGET_LINK_LIBRARIES(${TRGTNAME} ${${lwv_libraries}}) -+ continue() -+ endif() - IF(${varname}_DEBUG) - IF(${varname}_RELEASE) - TARGET_LINK_LIBRARIES(${TRGTNAME} optimized "${${varname}_RELEASE}" debug "${${varname}_DEBUG}") diff --git a/ports/osgearth/portfile.cmake b/ports/osgearth/portfile.cmake index f38385cd4b1143..615ae91d0632df 100644 --- a/ports/osgearth/portfile.cmake +++ b/ports/osgearth/portfile.cmake @@ -2,14 +2,11 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO gwaldron/osgearth REF "osgearth-${VERSION}" - SHA512 f65c31922bebcbf722474a047dc29c8c1ceec9c037b0704811af2627fc2d0a124b6e95888e7d3b9b0e5acc146a88ebf8669e3f864a75a91751c3a4571d05a630 + SHA512 2f764eb1fff21cff57a04eceb73643b372c8b70899114c88cdf9928d525517214959745cb70b99ad3d1def946bfb3f58f16b4969ee4117b7563398f2410ee3e2 HEAD_REF master PATCHES - link-libraries.patch - find-package.patch - remove-tool-debug-suffix.patch - remove-lerc-gltf.patch - export-plugins.patch + remove-lerc-gltf.patch + install-plugins.patch ) if("tools" IN_LIST FEATURES) @@ -20,8 +17,8 @@ if("tools" IN_LIST FEATURES) vcpkg_from_github( OUT_SOURCE_PATH IMGUI_SOURCE_PATH REPO ocornut/imgui - REF 9e8e5ac36310607012e551bb04633039c2125c87 #docking branch - SHA512 1f1f743833c9a67b648922f56a638a11683b02765d86f14a36bc6c242cc524c4c5c5c0b7356b8053eb923fafefc53f4c116b21fb3fade7664554a1ad3b25e5ff + REF cab7edd135fb8a02b3552e9abe4c312d595e8777 #docking branch + SHA512 26dfe94793bcc7b041c723cfbf2033c32e5050d87b99856746f9f3e7f562db15b9432bf92747db7823acbc6e366dbcb023653692bb5336ce65a98483c4d8232a HEAD_REF master ) @@ -31,16 +28,6 @@ if("tools" IN_LIST FEATURES) file(COPY "${IMGUI_SOURCE_PATH}/" DESTINATION "${SOURCE_PATH}/src/third_party/imgui") endif() -file(REMOVE - "${SOURCE_PATH}/CMakeModules/FindBlend2D.cmake" - "${SOURCE_PATH}/CMakeModules/FindGEOS.cmake" - "${SOURCE_PATH}/CMakeModules/FindLibZip.cmake" - "${SOURCE_PATH}/CMakeModules/FindOSG.cmake" - "${SOURCE_PATH}/CMakeModules/FindSqlite3.cmake" - "${SOURCE_PATH}/CMakeModules/FindWEBP.cmake" - "${SOURCE_PATH}/src/osgEarth/tinyxml.h" # https://github.com/gwaldron/osgearth/issues/1002 -) - string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS @@ -54,7 +41,6 @@ vcpkg_cmake_configure( OPTIONS ${FEATURE_OPTIONS} -DLIB_POSTFIX= - -DCMAKE_CXX_STANDARD=11 -DOSGEARTH_BUILD_SHARED_LIBS=${BUILD_SHARED} -DOSGEARTH_BUILD_EXAMPLES=OFF -DOSGEARTH_BUILD_TESTS=OFF @@ -62,14 +48,17 @@ vcpkg_cmake_configure( -DOSGEARTH_BUILD_PROCEDURAL_NODEKIT=OFF -DOSGEARTH_BUILD_TRITON_NODEKIT=OFF -DOSGEARTH_BUILD_SILVERLINING_NODEKIT=OFF + -DOSGEARTH_BUILD_ZIP_PLUGIN=OFF -DWITH_EXTERNAL_TINYXML=ON -DCMAKE_JOB_POOL_LINK=console # Serialize linking to avoid OOM OPTIONS_DEBUG -DOSGEARTH_BUILD_TOOLS=OFF + MAYBE_UNUSED_VARIABLES + LIB_POSTFIX ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH cmake/) +vcpkg_cmake_config_fixup() if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/osgEarth/Export" "defined( OSGEARTH_LIBRARY_STATIC )" "1") @@ -86,8 +75,7 @@ if("tools" IN_LIST FEATURES) endif() endif() vcpkg_copy_tools(TOOL_NAMES osgearth_3pv osgearth_atlas osgearth_bakefeaturetiles osgearth_boundarygen - osgearth_clamp osgearth_conv osgearth_imgui osgearth_tfs osgearth_toc osgearth_version osgearth_viewer - osgearth_createtile osgearth_mvtindex + osgearth_clamp osgearth_conv osgearth_imgui osgearth_tfs osgearth_version osgearth_viewer AUTO_CLEAN ) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug") @@ -95,5 +83,4 @@ endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -# Handle copyright -file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/osgearth/remove-lerc-gltf.patch b/ports/osgearth/remove-lerc-gltf.patch index e39fbfab6a4dd2..af191e633522c9 100644 --- a/ports/osgearth/remove-lerc-gltf.patch +++ b/ports/osgearth/remove-lerc-gltf.patch @@ -1,16 +1,16 @@ diff --git a/src/osgEarthDrivers/CMakeLists.txt b/src/osgEarthDrivers/CMakeLists.txt -index 79acbe9c4..89e28b141 100644 +index dd54d0ae8..37b2fbd83 100644 --- a/src/osgEarthDrivers/CMakeLists.txt +++ b/src/osgEarthDrivers/CMakeLists.txt -@@ -31,7 +31,6 @@ add_subdirectory(earth) +@@ -19,7 +19,6 @@ add_subdirectory(earth) add_subdirectory(engine_rex) add_subdirectory(featurefilter_intersect) add_subdirectory(featurefilter_join) -add_subdirectory(gltf) add_subdirectory(kml) - add_subdirectory(mapinspector) - add_subdirectory(monitor) -@@ -61,5 +60,4 @@ endif() + add_subdirectory(script_engine_duktape) + add_subdirectory(sky_gl) +@@ -45,5 +44,4 @@ add_subdirectory(cache_rocksdb) IF(NOT APPLE AND NOT ANDROID) add_subdirectory(fastdxt) diff --git a/ports/osgearth/remove-tool-debug-suffix.patch b/ports/osgearth/remove-tool-debug-suffix.patch deleted file mode 100644 index 24cbb2fe58a900..00000000000000 --- a/ports/osgearth/remove-tool-debug-suffix.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeModules/OsgEarthMacroUtils.cmake b/CMakeModules/OsgEarthMacroUtils.cmake -index 6e0eb46..12388c4 100644 ---- a/CMakeModules/OsgEarthMacroUtils.cmake -+++ b/CMakeModules/OsgEarthMacroUtils.cmake -@@ -364,8 +364,6 @@ MACRO(SETUP_EXE IS_COMMANDLINE_APP) - - SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES PROJECT_LABEL "${TARGET_LABEL}") - SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES OUTPUT_NAME ${TARGET_NAME}) -- SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES DEBUG_OUTPUT_NAME "${TARGET_NAME}${CMAKE_DEBUG_POSTFIX}") -- SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES RELEASE_OUTPUT_NAME "${TARGET_NAME}${CMAKE_RELEASE_POSTFIX}") - SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES RELWITHDEBINFO_OUTPUT_NAME "${TARGET_NAME}${CMAKE_RELWITHDEBINFO_POSTFIX}") - SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES MINSIZEREL_OUTPUT_NAME "${TARGET_NAME}${CMAKE_MINSIZEREL_POSTFIX}") - diff --git a/ports/osgearth/vcpkg.json b/ports/osgearth/vcpkg.json index 1459fde3f078e4..6c375190011e3f 100644 --- a/ports/osgearth/vcpkg.json +++ b/ports/osgearth/vcpkg.json @@ -1,7 +1,6 @@ { "name": "osgearth", - "version": "3.4", - "port-version": 1, + "version": "3.7", "description": "osgEarth - Dynamic map generation toolkit for OpenSceneGraph Copyright 2021 Pelican Mapping.", "homepage": "https://github.com/gwaldron/osgearth", "license": "LGPL-3.0-or-later", @@ -14,7 +13,6 @@ "geos", "glew", "libwebp", - "libzip", "opengl", { "name": "osg", diff --git a/ports/otl/portfile.cmake b/ports/otl/portfile.cmake index 7f1f8064bce021..1c80913b3099b5 100644 --- a/ports/otl/portfile.cmake +++ b/ports/otl/portfile.cmake @@ -1,9 +1,9 @@ -set(OTL_VERSION 40476) +set(OTL_VERSION 40480) vcpkg_download_distfile(ARCHIVE URLS "http://otl.sourceforge.net/otlv4_${OTL_VERSION}.zip" - FILENAME "otlv4_${OTL_VERSION}-9485a0fe15a7-1.zip" - SHA512 ef43695b4c97d953bd997ba2381ae37ae067efb99a14479e93f502e3ad5d651829a9712bd14698c8663f733114861f6e2ae2277ed0967fad1ac2a068825a9e38 + FILENAME "otlv4_${OTL_VERSION}.zip" + SHA512 7cb17f6425959cd06141e1a2539bea7c6571039ac992383b2121565bc73f849834c14b8db6461441699797fcf849683393f3965760a22b961bb036f225b7d611 ) vcpkg_extract_source_archive( @@ -12,8 +12,8 @@ vcpkg_extract_source_archive( NO_REMOVE_ONE_LEVEL ) -file(INSTALL "${SOURCE_PATH}/otlv${OTL_VERSION}.h" - DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}" +file(INSTALL "${SOURCE_PATH}/otlv${OTL_VERSION}.h" + DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}" RENAME otlv4.h) file(READ "${SOURCE_PATH}/otlv${OTL_VERSION}.h" copyright_contents) diff --git a/ports/otl/vcpkg.json b/ports/otl/vcpkg.json index c21eb27999fade..f6f7cb9ac38d1e 100644 --- a/ports/otl/vcpkg.json +++ b/ports/otl/vcpkg.json @@ -1,6 +1,6 @@ { "name": "otl", - "version": "4.0.476", + "version": "4.0.480", "description": "Oracle, Odbc and DB2-CLI Template Library", "homepage": "http://otl.sourceforge.net/", "license": "ISC" diff --git a/ports/outcome/fix-find-library.patch b/ports/outcome/fix-find-library.patch deleted file mode 100644 index 5d7f22b8b7dd80..00000000000000 --- a/ports/outcome/fix-find-library.patch +++ /dev/null @@ -1,41 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index a292728cf4..5286b5e366 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -40,17 +40,6 @@ include(QuickCppLibRequireOutOfSourceBuild) - include(QuickCppLibUtils) - include(QuickCppLibPolicies) - --if(OUTCOME_BUNDLE_EMBEDDED_STATUS_CODE) -- ensure_git_subrepo("${CMAKE_CURRENT_SOURCE_DIR}/include/outcome/experimental/status-code/include" "https://github.com/ned14/status-code.git") --else() -- find_quickcpplib_library(status-code -- GIT_REPOSITORY "https://github.com/ned14/status-code.git" -- GIT_TAG "${OUTCOME_DEPENDENCY_STATUS_CODE_GIT_TAG}" -- REQUIRED -- IS_HEADER_ONLY -- ) --endif() -- - # Parse the version we tell cmake directly from the version header file - ParseProjectVersionFromHpp("${CMAKE_CURRENT_SOURCE_DIR}/include/outcome/detail/version.hpp" VERSIONSTRING) - # Sets the usual PROJECT_NAME etc -@@ -99,8 +88,16 @@ else() - IS_HEADER_ONLY - ) - endif() --if (NOT OUTCOME_BUNDLE_EMBEDDED_STATUS_CODE) -- list_filter(${PROJECT_NAME}_HEADERS EXCLUDE REGEX /status-code/include/) -+if(OUTCOME_BUNDLE_EMBEDDED_STATUS_CODE) -+ ensure_git_subrepo("${CMAKE_CURRENT_SOURCE_DIR}/include/outcome/experimental/status-code/include" "https://github.com/ned14/status-code.git") -+else() -+ find_quickcpplib_library(status-code -+ GIT_REPOSITORY "https://github.com/ned14/status-code.git" -+ GIT_TAG "${OUTCOME_DEPENDENCY_STATUS_CODE_GIT_TAG}" -+ REQUIRED -+ IS_HEADER_ONLY -+ ) -+ list_filter(${PROJECT_NAME}_HEADERS EXCLUDE REGEX include/outcome/experimental/status-code/) - endif() - - # Make an interface only library so dependent CMakeLists can bring in this header-only library diff --git a/ports/outcome/fix-status-code-include.patch b/ports/outcome/fix-status-code-include.patch deleted file mode 100644 index 1b601054a95ead..00000000000000 --- a/ports/outcome/fix-status-code-include.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/include/outcome/experimental/coroutine_support.hpp b/include/outcome/experimental/coroutine_support.hpp -index 21759ede58..6c4b152294 100644 ---- a/include/outcome/experimental/coroutine_support.hpp -+++ b/include/outcome/experimental/coroutine_support.hpp -@@ -45,7 +45,11 @@ Distributed under the Boost Software License, Version 1.0. - OUTCOME_V2_NAMESPACE_END - - #ifdef __cpp_exceptions -+#if 0 - #include "status-code/include/system_code_from_exception.hpp" -+#else -+#include -+#endif - OUTCOME_V2_NAMESPACE_BEGIN - namespace awaitables - { diff --git a/ports/outcome/portfile.cmake b/ports/outcome/portfile.cmake index d6943416d11995..c630e9bce169fa 100644 --- a/ports/outcome/portfile.cmake +++ b/ports/outcome/portfile.cmake @@ -24,12 +24,9 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ned14/outcome - REF 90032f99503b4620f21d8160dc3af06fa343541f - SHA512 7eda0694098a118633c8ad0ef812f8b03db536548f51d1ca71ca98b9f9e445bcb24019cd4d1046da9215227ad85205c5b3631d0c66de6edc1fcc904b2d9e0e0f + REF v${VERSION} + SHA512 44c692472a59ffdf77574c25aab9b43f6418a9a384dc9d47eabf5af9e28881d8e7a8c3dfac166c53747a5e2a692055ba4e135e2425a24bca81eee7220212de44 HEAD_REF develop - PATCHES - fix-find-library.patch # incorporated into upstream after 2.2.4 - fix-status-code-include.patch # incorporated into upstream after 2.2.4 ) # Because outcome's deployed files are header-only, the debug build is not necessary @@ -39,10 +36,9 @@ set(VCPKG_BUILD_TYPE release) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DPROJECT_IS_DEPENDENCY=On - -Dquickcpplib_DIR=${CURRENT_INSTALLED_DIR}/share/quickcpplib + -Doutcome_IS_DEPENDENCY=ON + "-DCMAKE_PREFIX_PATH=${CURRENT_INSTALLED_DIR}" -DOUTCOME_BUNDLE_EMBEDDED_STATUS_CODE=OFF - -Dstatus-code_DIR=${CURRENT_INSTALLED_DIR}/share/status-code -DOUTCOME_ENABLE_DEPENDENCY_SMOKE_TEST=ON # Leave this always on to test everything compiles -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON -DCXX_CONCEPTS_FLAGS= diff --git a/ports/outcome/vcpkg.json b/ports/outcome/vcpkg.json index 5ae09aacd740de..7c6b25dfaf5857 100644 --- a/ports/outcome/vcpkg.json +++ b/ports/outcome/vcpkg.json @@ -1,7 +1,6 @@ { "name": "outcome", - "version": "2.2.4", - "port-version": 1, + "version": "2.2.9", "maintainers": [ "Niall Douglas ", "Henrik Gaßmann " diff --git a/ports/pagmo2/portfile.cmake b/ports/pagmo2/portfile.cmake index 28ff77c219e355..995d9dc41b3e81 100644 --- a/ports/pagmo2/portfile.cmake +++ b/ports/pagmo2/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO esa/pagmo2 - REF 27ae9159f4fcd11bb93de0ae8189d15352655b0a # v2.19.0 - SHA512 9f85fe5dbce0542bf3c52918562da9632ec64ee2839d1d2404bf5a6caa4c854c654ca1735c617a15208a597a79a8c28431378e6968335b1c3e9e8d86b6d7d237 + REF "v${VERSION}" + SHA512 9ebe7f63b907607ea5762e56a884be62630efaca3f45d9ba9ad85ca1818d60d09864422bd075c2653aea1a14609fe9ad6520297aee5a00e07fa88df45872cef9 HEAD_REF master PATCHES doxygen.patch diff --git a/ports/pagmo2/vcpkg.json b/ports/pagmo2/vcpkg.json index c301f4ead8c66d..54e644ab03613c 100644 --- a/ports/pagmo2/vcpkg.json +++ b/ports/pagmo2/vcpkg.json @@ -1,7 +1,6 @@ { "name": "pagmo2", - "version": "2.19.0", - "port-version": 2, + "version": "2.19.1", "description": "A C++ platform to perform parallel computations of optimization tasks (global and local) via the asynchronous generalized island model.", "homepage": "https://esa.github.io/pagmo2/", "license": "GPL-3.0-or-later OR LGPL-3.0-or-later", diff --git a/ports/paho-mqtt/portfile.cmake b/ports/paho-mqtt/portfile.cmake index 2bb84bd7d6494f..57dec0b28fc3ae 100644 --- a/ports/paho-mqtt/portfile.cmake +++ b/ports/paho-mqtt/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO eclipse/paho.mqtt.c REF "v${VERSION}" - SHA512 3152b557a8ab7c9b9c80277283e0f5e9965ce4c2ebbdaef0f238908d49e6fa1281aa72932ea112a836144b79656e4abe6e0cbd93840429a52e501a2c6b12d313 + SHA512 0f436470bcff224461ed3227c8db10914f84bc2dcf76e51b55d4a78b80abaa4e636ac8f7a20e517524625888335c738e975283e5d573ae8d59147aa4de7963fc HEAD_REF master PATCHES fix-unresolvedsymbol-arm.patch @@ -18,6 +18,7 @@ vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DPAHO_WITH_SSL=TRUE + -DPAHO_HIGH_PERFORMANCE=TRUE -DPAHO_BUILD_SHARED=${PAHO_BUILD_DYNAMIC} -DPAHO_BUILD_STATIC=${PAHO_BUILD_STATIC} -DPAHO_ENABLE_TESTING=FALSE diff --git a/ports/paho-mqtt/vcpkg.json b/ports/paho-mqtt/vcpkg.json index 76c5ed3104e4ab..724826895db9ed 100644 --- a/ports/paho-mqtt/vcpkg.json +++ b/ports/paho-mqtt/vcpkg.json @@ -1,6 +1,6 @@ { "name": "paho-mqtt", - "version": "1.3.12", + "version": "1.3.13", "port-version": 1, "description": "Paho project provides open-source client implementations of MQTT and MQTT-SN messaging protocols aimed at new, existing, and emerging applications for the Internet of Things", "homepage": "https://github.com/eclipse/paho.mqtt.c", diff --git a/ports/paho-mqttpp3/fix-dependency.patch b/ports/paho-mqttpp3/fix-dependency.patch deleted file mode 100644 index 1ace8a30d024dd..00000000000000 --- a/ports/paho-mqttpp3/fix-dependency.patch +++ /dev/null @@ -1,84 +0,0 @@ -diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt -index a9f8908..5c98f3f 100644 ---- a/cmake/CMakeLists.txt -+++ b/cmake/CMakeLists.txt -@@ -17,6 +17,5 @@ install(EXPORT ${package_name} DESTINATION lib/cmake/${package_name} - - install(FILES - "${CMAKE_CURRENT_BINARY_DIR}/${package_name}Config.cmake" -- FindPahoMqttC.cmake - "${CMAKE_CURRENT_BINARY_DIR}/${package_name}ConfigVersion.cmake" - DESTINATION lib/cmake/${package_name}) -diff --git a/cmake/PahoMqttCppConfig.cmake.in b/cmake/PahoMqttCppConfig.cmake.in -index 164e123..9beac1c 100644 ---- a/cmake/PahoMqttCppConfig.cmake.in -+++ b/cmake/PahoMqttCppConfig.cmake.in -@@ -5,7 +5,7 @@ set(PAHO_WITH_SSL @PAHO_WITH_SSL@) - - include(CMakeFindDependencyMacro) - list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) --find_dependency(PahoMqttC REQUIRED) -+find_dependency(eclipse-paho-mqtt-c REQUIRED) - list(REMOVE_AT CMAKE_MODULE_PATH -1) - find_dependency(Threads REQUIRED) - -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 3d43595..a25f74d 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -23,7 +23,7 @@ - # Frank Pagliughi - made the shared library optional - #*******************************************************************************/ - --find_package(PahoMqttC REQUIRED) -+find_package(eclipse-paho-mqtt-c CONFIG REQUIRED) - - # --- The headers --- - -@@ -81,13 +81,21 @@ target_include_directories(paho-cpp-objs - ## --- Build the shared library, if requested --- - - if(PAHO_BUILD_SHARED) -+ ## set PAHO_C_LIB -+ if(PAHO_WITH_SSL) -+ find_package(OpenSSL REQUIRED) -+ set(_PAHO_MQTT_C_LIB_NAME eclipse-paho-mqtt-c::paho-mqtt3as eclipse-paho-mqtt-c::paho-mqtt3cs) -+ else() -+ set(_PAHO_MQTT_C_LIB_NAME eclipse-paho-mqtt-c::paho-mqtt3a eclipse-paho-mqtt-c::paho-mqtt3c) -+ endif() -+ - ## create the shared library - add_library(paho-mqttpp3 SHARED $) - - ## add dependencies to the shared library - target_link_libraries(paho-mqttpp3 - PRIVATE ${LIBS_SYSTEM} -- PUBLIC PahoMqttC::PahoMqttC Threads::Threads) -+ PUBLIC ${_PAHO_MQTT_C_LIB_NAME} Threads::Threads) - - # It would be nice to exort the include paths from the obj lib, but we - # get an export error. Perhaps in a future version? -@@ -119,13 +127,22 @@ endif() - ## --- Build static version of the library, if requested --- - - if(PAHO_BUILD_STATIC) -+ -+ ## set PAHO_C_LIB -+ if(PAHO_WITH_SSL) -+ find_package(OpenSSL REQUIRED) -+ set(_PAHO_MQTT_C_LIB_NAME eclipse-paho-mqtt-c::paho-mqtt3as-static eclipse-paho-mqtt-c::paho-mqtt3cs-static) -+ else() -+ set(_PAHO_MQTT_C_LIB_NAME eclipse-paho-mqtt-c::paho-mqtt3a-static eclipse-paho-mqtt-c::paho-mqtt3c-static) -+ endif() -+ - ## create the static library - add_library(paho-mqttpp3-static STATIC $) - - ## add dependencies to the shared library - target_link_libraries(paho-mqttpp3-static - PRIVATE ${LIBS_SYSTEM} -- PUBLIC PahoMqttC::PahoMqttC Threads::Threads) -+ PUBLIC ${_PAHO_MQTT_C_LIB_NAME} Threads::Threads) - - target_include_directories(paho-mqttpp3-static PUBLIC - $ diff --git a/ports/paho-mqttpp3/portfile.cmake b/ports/paho-mqttpp3/portfile.cmake index d2103a8c5f8fae..7b88533ecafb63 100644 --- a/ports/paho-mqttpp3/portfile.cmake +++ b/ports/paho-mqttpp3/portfile.cmake @@ -1,65 +1,31 @@ -# Download from Github vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO eclipse/paho.mqtt.cpp - REF 33921c8b68b351828650c36816e7ecf936764379 #v1.2.0 - SHA512 3f4a91987e0106e50e637d8d4fb13a4f8aca14eea168102664fdcebd1260609434e679f5986a1c4d71746735530f1b72fc29d2ac05cb35b3ce734a6aab1a0a55 + REF "v${VERSION}" + SHA512 bc965ce85e723fad06865bb8b7c6d0d2f48b08fee8074d7c5099d1648cd0579e0e52cea2f1c0ac2fe751970ac22c7f29df0c3eae8ee6357a13c901aaeff35c62 HEAD_REF master - PATCHES - fix-dependency.patch ) -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" PAHO_BUILD_STATIC) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" PAHO_BUILD_SHARED) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES "ssl" PAHO_WITH_SSL ) -# Link with 'paho-mqtt3as' library -set(PAHO_C_LIBNAME paho-mqtt3as) - -# Setting the library path -if (NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - set(PAHO_C_LIBRARY_PATH "${CURRENT_INSTALLED_DIR}/lib") -else() - set(PAHO_C_LIBRARY_PATH "${CURRENT_INSTALLED_DIR}/debug/lib") -endif() - -# Setting the include path where MqttClient.h is present -set(PAHO_C_INC "${CURRENT_INSTALLED_DIR}/include") - - -# NOTE: the Paho C++ cmake files on Github are problematic. -# It uses two different options PAHO_BUILD_STATIC and PAHO_BUILD_SHARED instead of just using one variable. -# Unless the open source community cleans up the cmake files, we are stuck with setting both of them. -if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") - set(PAHO_MQTTPP3_STATIC ON) - set(PAHO_MQTTPP3_SHARED OFF) - set(PAHO_C_LIB "${PAHO_C_LIBRARY_PATH}/${PAHO_C_LIBNAME}") - set(PAHO_OPTIONS -DPAHO_MQTT_C_LIBRARIES=${PAHO_C_LIB}) -else() - set(PAHO_MQTTPP3_STATIC OFF) - set(PAHO_MQTTPP3_SHARED ON) - set(PAHO_OPTIONS) -endif() - vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DPAHO_BUILD_STATIC=${PAHO_MQTTPP3_STATIC} - -DPAHO_BUILD_SHARED=${PAHO_MQTTPP3_SHARED} - -DPAHO_MQTT_C_INCLUDE_DIRS=${PAHO_C_INC} + -DPAHO_BUILD_STATIC=${PAHO_BUILD_STATIC} + -DPAHO_BUILD_SHARED=${PAHO_BUILD_SHARED} ${FEATURE_OPTIONS} - ${PAHO_OPTIONS} ) - -# Run the build, copy pdbs and fixup the cmake targets vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_cmake_config_fixup(PACKAGE_NAME PahoMqttCpp CONFIG_PATH "lib/cmake/PahoMqttCpp") +vcpkg_cmake_config_fixup(PACKAGE_NAME pahomqttcpp CONFIG_PATH "lib/cmake/PahoMqttCpp") -# Remove the include and share folders in debug folder file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -# Add copyright -file(INSTALL "${SOURCE_PATH}/about.html" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/about.html") diff --git a/ports/paho-mqttpp3/vcpkg.json b/ports/paho-mqttpp3/vcpkg.json index 4ea7289ecc2b95..f5a45a52644728 100644 --- a/ports/paho-mqttpp3/vcpkg.json +++ b/ports/paho-mqttpp3/vcpkg.json @@ -1,6 +1,6 @@ { "name": "paho-mqttpp3", - "version": "1.2.0", + "version": "1.4.1", "port-version": 1, "description": "Paho project provides open-source C++ wrapper for Paho C library", "homepage": "https://github.com/eclipse/paho.mqtt.cpp", diff --git a/ports/pango/portfile.cmake b/ports/pango/portfile.cmake index c30aea11903f11..81c05ef6996e61 100644 --- a/ports/pango/portfile.cmake +++ b/ports/pango/portfile.cmake @@ -4,15 +4,10 @@ vcpkg_from_gitlab( OUT_SOURCE_PATH SOURCE_PATH REPO GNOME/pango REF "${VERSION}" - SHA512 5de67e711a1f25bd2c741162bb8306ae380d134f95b9103db6e96864d3a1100321ce106d8238dca54e746cd8f1cfdbe50cc407878611d3d09694404f3f128c73 + SHA512 1c5f5f2de778b2ca157a4f3eb8bbbba1a79f5f9d60aac678e9c213005f1d8bedfc027ee5c1cebb07dc0eb8c308c38c37beb05293ef2cbe4ac9a0b481176934bb HEAD_REF master ) -# Fix for https://github.com/microsoft/vcpkg/issues/31573 -# Mimics patch for Gentoo https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f688df5100ef2b88c975ecd40fd343c62e2ab276 -# Silence false positive with GCC 13 and -O3 at least -# https://gitlab.gnome.org/GNOME/pango/-/issues/740 -vcpkg_replace_string("${SOURCE_PATH}/meson.build" "-Werror=array-bounds" "") if("introspection" IN_LIST FEATURES) list(APPEND OPTIONS_DEBUG -Dintrospection=disabled) diff --git a/ports/pango/vcpkg.json b/ports/pango/vcpkg.json index e61eb9bc0202b1..2e1032198797f4 100644 --- a/ports/pango/vcpkg.json +++ b/ports/pango/vcpkg.json @@ -1,7 +1,6 @@ { "name": "pango", - "version": "1.50.14", - "port-version": 4, + "version": "1.54.0", "description": "Text and font handling library.", "homepage": "https://ftp.gnome.org/pub/GNOME/sources/pango/", "license": "LGPL-2.0-or-later", diff --git a/ports/pangolin/devendor-palsigslot.patch b/ports/pangolin/devendor-palsigslot.patch index 4259172d0aec24..4a858e0d8cb819 100644 --- a/ports/pangolin/devendor-palsigslot.patch +++ b/ports/pangolin/devendor-palsigslot.patch @@ -1,5 +1,5 @@ diff --git a/cmake/PangolinConfig.cmake.in b/cmake/PangolinConfig.cmake.in -index f891e34..6fbfc7d 100644 +index 3ceea9d..e5bf9f0 100644 --- a/cmake/PangolinConfig.cmake.in +++ b/cmake/PangolinConfig.cmake.in @@ -12,6 +12,7 @@ SET( Pangolin_LIBRARY "${Pangolin_LIBRARIES}" ) @@ -11,10 +11,10 @@ index f891e34..6fbfc7d 100644 if (UNIX) find_dependency(Threads) diff --git a/components/pango_core/CMakeLists.txt b/components/pango_core/CMakeLists.txt -index 315913d..1d1a1d0 100644 +index e1d931b..6c6ad4d 100644 --- a/components/pango_core/CMakeLists.txt +++ b/components/pango_core/CMakeLists.txt -@@ -44,6 +44,9 @@ install(DIRECTORY "${CMAKE_CURRENT_LIST_DIR}/include" +@@ -49,6 +49,9 @@ install(DIRECTORY "${CMAKE_CURRENT_LIST_DIR}/include" DESTINATION ${CMAKE_INSTALL_PREFIX} ) diff --git a/ports/pangolin/ffmpeg-vxmc.patch b/ports/pangolin/ffmpeg-vxmc.patch deleted file mode 100644 index bccc9f16f14899..00000000000000 --- a/ports/pangolin/ffmpeg-vxmc.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- a/components/pango_video/include/pangolin/video/drivers/ffmpeg_common.h -+++ b/components/pango_video/include/pangolin/video/drivers/ffmpeg_common.h -@@ -55,10 +55,6 @@ inline std::string FfmpegFmtToString(const AVPixelFormat fmt) - TEST_PIX_FMT_RETURN(YUVJ420P); - TEST_PIX_FMT_RETURN(YUVJ422P); - TEST_PIX_FMT_RETURN(YUVJ444P); --#ifdef FF_API_XVMC -- TEST_PIX_FMT_RETURN(XVMC_MPEG2_MC); -- TEST_PIX_FMT_RETURN(XVMC_MPEG2_IDCT); --#endif - TEST_PIX_FMT_RETURN(UYVY422); - TEST_PIX_FMT_RETURN(UYYVYY411); - TEST_PIX_FMT_RETURN(BGR8); diff --git a/ports/pangolin/portfile.cmake b/ports/pangolin/portfile.cmake index 991f49cd49a1f5..74a1f530d0f426 100644 --- a/ports/pangolin/portfile.cmake +++ b/ports/pangolin/portfile.cmake @@ -6,12 +6,11 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO stevenlovegrove/Pangolin - REF v0.8 - SHA512 d4ca405097e8c439a4f74495f374bc5d5e4febafcf59ee88d985a8764ed36da1753ca4a3a73476dfb74c7d92df31a99242df6e1b47c648e860eee835a6f4f434 + REF "v${VERSION}" + SHA512 ef2461770def3b0752d23df0c9a0090b733943249404528d0b2ba985d08c9083aabe685e3fd00be08318ea7b90dc38e9735ab004124643619e6cf369d64f6321 HEAD_REF master PATCHES devendor-palsigslot.patch - ffmpeg-vxmc.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS diff --git a/ports/pangolin/vcpkg.json b/ports/pangolin/vcpkg.json index 9b4406f2616fe3..5d0880c8c236b8 100644 --- a/ports/pangolin/vcpkg.json +++ b/ports/pangolin/vcpkg.json @@ -1,7 +1,6 @@ { "name": "pangolin", - "version": "0.8", - "port-version": 2, + "version": "0.9.2", "description": "Lightweight GUI Library", "homepage": "https://github.com/stevenlovegrove/Pangolin", "license": "MIT", @@ -9,6 +8,7 @@ "dependencies": [ "eigen3", "glew", + "libepoxy", "palsigslot", { "name": "vcpkg-cmake", @@ -97,7 +97,10 @@ "tiff": { "description": "Build support for libtiff image input", "dependencies": [ - "tiff" + { + "name": "tiff", + "default-features": false + } ] }, "tools": { diff --git a/ports/parallel-hashmap/portfile.cmake b/ports/parallel-hashmap/portfile.cmake index 058e76a389f1d2..67c5f73813ab59 100644 --- a/ports/parallel-hashmap/portfile.cmake +++ b/ports/parallel-hashmap/portfile.cmake @@ -4,7 +4,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO greg7mdp/parallel-hashmap REF "v${VERSION}" - SHA512 2b9445ecf71d3b5705304e970dea1db314c80b4ee112436939bffeaac43db6199ed566bec0e68f95a4dfab415cfe6aaecd7083ef9d7b8f6b6c612e4f24612f43 + SHA512 76ed02d92ea11248422be6728f10ee6b2dec91856e22e8475f04ec77b43b1885877e1c53ab2732fdf00fe550d1ce70f3daa4a5e7a47b6cf6d110c9b7ed77f7a7 HEAD_REF master ) diff --git a/ports/parallel-hashmap/vcpkg.json b/ports/parallel-hashmap/vcpkg.json index 463ab880328708..92506c5edae439 100644 --- a/ports/parallel-hashmap/vcpkg.json +++ b/ports/parallel-hashmap/vcpkg.json @@ -1,6 +1,6 @@ { "name": "parallel-hashmap", - "version": "1.3.11", + "version": "1.4.0", "description": "A header-only, very fast and memory-friendly family of C++ hash map & btree containers.", "license": "Apache-2.0", "dependencies": [ diff --git a/ports/paraview/53.diff b/ports/paraview/53.diff deleted file mode 100644 index 44f4c550fe32cc..00000000000000 --- a/ports/paraview/53.diff +++ /dev/null @@ -1,506 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b3c91500041421328fde0821ef6876c78eef55d6..b4157a3d53407b536b3694b12faa3ed7794fb4c5 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,27 +1,20 @@ --if (NOT CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) -- CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12) --endif () -+CMAKE_MINIMUM_REQUIRED(VERSION 3.2) - - PROJECT(QtTesting) - - IF(NOT DEFINED QtTesting_QT_VERSION) -- SET(QtTesting_QT_VERSION "4" CACHE STRING "Expected Qt version") -+ SET(QtTesting_QT_VERSION "5" CACHE STRING "Expected Qt version") - MARK_AS_ADVANCED(QtTesting_QT_VERSION) -- SET_PROPERTY(CACHE QtTesting_QT_VERSION PROPERTY STRINGS 4 5) -+ SET_PROPERTY(CACHE QtTesting_QT_VERSION PROPERTY STRINGS 5 6) - ENDIF() --IF(NOT (QtTesting_QT_VERSION VERSION_EQUAL "4" OR -- QtTesting_QT_VERSION VERSION_EQUAL "5")) -- message(FATAL_ERROR "Expected value for QtTesting_QT_VERSION is either '4' or '5'") -+IF(NOT (QtTesting_QT_VERSION VERSION_EQUAL "5" OR -+ QtTesting_QT_VERSION VERSION_EQUAL "6")) -+ message(FATAL_ERROR "Expected value for QtTesting_QT_VERSION is either '5' or '6'") - ENDIF() - - set(qt_imported_targets) --IF(QtTesting_QT_VERSION VERSION_GREATER "4") -- FIND_PACKAGE(Qt5 REQUIRED COMPONENTS Core Widgets) -- SET(qt_imported_targets Qt5::Core Qt5::Widgets) --ELSE() -- FIND_PACKAGE(Qt4 REQUIRED COMPONENTS QtGui) -- SET(qt_imported_targets Qt4::QtCore Qt4::QtGui) --ENDIF() -+FIND_PACKAGE(Qt${QtTesting_QT_VERSION} REQUIRED COMPONENTS Core Widgets) -+SET(qt_imported_targets Qt${QtTesting_QT_VERSION}::Core Qt${QtTesting_QT_VERSION}::Widgets) - - IF(NOT DEFINED QT_TESTING_WITH_PYTHON) - OPTION(QT_TESTING_WITH_PYTHON "Enable Qt Testing with Python" OFF) -diff --git a/Testing/CMake/qtTestingMacroGenerateMocs.cmake b/Testing/CMake/qtTestingMacroGenerateMocs.cmake -index 4b1f34a4fa5d7e7effb63ae49518e75c47e2598c..953e7402bc269cf3af41914945b194348cfc428a 100644 ---- a/Testing/CMake/qtTestingMacroGenerateMocs.cmake -+++ b/Testing/CMake/qtTestingMacroGenerateMocs.cmake -@@ -19,3 +19,13 @@ macro(QT5_GENERATE_MOCS) - OBJECT_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${moc_file}) - endforeach() - endmacro() -+ -+ -+macro(QT6_GENERATE_MOCS) -+ foreach(file ${ARGN}) -+ set(moc_file moc_${file}) -+ QT_GENERATE_MOC(${file} ${moc_file}) -+ set_property(SOURCE ${file} APPEND PROPERTY -+ OBJECT_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${moc_file}) -+ endforeach() -+endmacro() -diff --git a/Testing/Cpp/CMakeLists.txt b/Testing/Cpp/CMakeLists.txt -index fed244434f888af3ba2f4b50609f94d08eebd47b..31e629c990290bb5d4fce52005c1781aebdf3b5a 100644 ---- a/Testing/Cpp/CMakeLists.txt -+++ b/Testing/Cpp/CMakeLists.txt -@@ -1,6 +1,9 @@ - include(../CMake/qtTestingMacroGenerateMocs.cmake) - --IF(QtTesting_QT_VERSION VERSION_GREATER "4") -+IF(QtTesting_QT_VERSION VERSION_GREATER "5") -+ FIND_PACKAGE(Qt6 REQUIRED QUIET COMPONENTS Test) -+ SET(TEST_LIBRARIES Qt6::Test) -+ELSEIF(QtTesting_QT_VERSION VERSION_GREATER "4") - FIND_PACKAGE(Qt5 REQUIRED QUIET COMPONENTS Test) - SET(TEST_LIBRARIES Qt5::Test) - ELSE() -@@ -38,7 +41,10 @@ include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} - ) - --if(QtTesting_QT_VERSION VERSION_GREATER "4") -+if(QtTesting_QT_VERSION VERSION_GREATER "5") -+ QT6_GENERATE_MOCS(${TEST_SOURCES}) -+ QT6_WRAP_CPP( TEST_MOC_SRCS ${TEST_MOC_HEADERS} ) -+elseif(QtTesting_QT_VERSION VERSION_GREATER "4") - QT5_GENERATE_MOCS(${TEST_SOURCES}) - QT5_WRAP_CPP( TEST_MOC_SRCS ${TEST_MOC_HEADERS} ) - else() -diff --git a/pq3DViewEventPlayer.cxx b/pq3DViewEventPlayer.cxx -index 5be26b88d394ee82543b039e2173f7624e960808..3ec526a9033328cc924f02dd4c0ba21f30b9a7de 100644 ---- a/pq3DViewEventPlayer.cxx -+++ b/pq3DViewEventPlayer.cxx -@@ -35,7 +35,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include - #include - #include --#include -+#include - #include - #include - -@@ -53,18 +53,19 @@ bool pq3DViewEventPlayer::playEvent( - { - if (Command == "mousePress" || Command == "mouseRelease" || Command == "mouseMove") - { -- QRegExp mouseRegExp("\\(([^,]*),([^,]*),([^,]),([^,]),([^,]*)\\)"); -- if (mouseRegExp.indexIn(Arguments) != -1) -+ QRegularExpression mouseRegExp("\\(([^,]*),([^,]*),([^,]),([^,]),([^,]*)\\)"); -+ QRegularExpressionMatch match = mouseRegExp.match(Arguments); -+ if (match.hasMatch()) - { -- QVariant v = mouseRegExp.cap(1); -+ QVariant v = match.captured(1); - int x = static_cast(v.toDouble() * widget->size().width()); -- v = mouseRegExp.cap(2); -+ v = match.captured(2); - int y = static_cast(v.toDouble() * widget->size().height()); -- v = mouseRegExp.cap(3); -+ v = match.captured(3); - Qt::MouseButton button = static_cast(v.toInt()); -- v = mouseRegExp.cap(4); -+ v = match.captured(4); - Qt::MouseButtons buttons = static_cast(v.toInt()); -- v = mouseRegExp.cap(5); -+ v = match.captured(5); - Qt::KeyboardModifiers keym = static_cast(v.toInt()); - QEvent::Type type = (Command == "mousePress") - ? QEvent::MouseButtonPress -diff --git a/pq3DViewEventTranslator.cxx b/pq3DViewEventTranslator.cxx -index e42b28ec22ef24f07b5adffb1fb7740df320adf5..17f7b2d9e17a36b926c585f85ce37c1ee21b6eff 100644 ---- a/pq3DViewEventTranslator.cxx -+++ b/pq3DViewEventTranslator.cxx -@@ -71,8 +71,13 @@ bool pq3DViewEventTranslator::translateEvent(QObject* Object, QEvent* Event, boo - if (mouseEvent) - { - QSize size = widget->size(); -+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) -+ double normalized_x = mouseEvent->position().x() / static_cast(size.width()); -+ double normalized_y = mouseEvent->position().y() / static_cast(size.height()); -+#else - double normalized_x = mouseEvent->x() / static_cast(size.width()); - double normalized_y = mouseEvent->y() / static_cast(size.height()); -+#endif - int button = mouseEvent->button(); - int buttons = mouseEvent->buttons(); - int modifiers = mouseEvent->modifiers(); -@@ -88,7 +93,10 @@ bool pq3DViewEventTranslator::translateEvent(QObject* Object, QEvent* Event, boo - QMouseEvent e(QEvent::MouseButtonPress, QPoint(), Qt::MouseButton(), Qt::MouseButtons(), - Qt::KeyboardModifiers()); - -+#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) -+ // FIXME: QMouseEvent copy ctor is private in Qt6 - lastMoveEvent = e; -+#endif - return true; - break; - } -@@ -98,10 +106,18 @@ bool pq3DViewEventTranslator::translateEvent(QObject* Object, QEvent* Event, boo - QMouseEvent* mouseEvent = dynamic_cast(Event); - if (mouseEvent) - { -+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) -+ QMouseEvent e(QEvent::MouseMove, -+ QPoint(mouseEvent->position().x(), mouseEvent->position().y()), -+#else - QMouseEvent e(QEvent::MouseMove, QPoint(mouseEvent->x(), mouseEvent->y()), -+#endif - mouseEvent->button(), mouseEvent->buttons(), mouseEvent->modifiers()); - -+#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) -+ // FIXME: QMouseEvent copy ctor is private in Qt6 - lastMoveEvent = e; -+#endif - } - return true; - break; -@@ -117,8 +133,13 @@ bool pq3DViewEventTranslator::translateEvent(QObject* Object, QEvent* Event, boo - // record last move event if it is valid - if (lastMoveEvent.type() == QEvent::MouseMove) - { -+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) -+ double normalized_x = lastMoveEvent.position().x() / static_cast(size.width()); -+ double normalized_y = lastMoveEvent.position().y() / static_cast(size.height()); -+#else - double normalized_x = lastMoveEvent.x() / static_cast(size.width()); - double normalized_y = lastMoveEvent.y() / static_cast(size.height()); -+#endif - int button = lastMoveEvent.button(); - int buttons = lastMoveEvent.buttons(); - int modifiers = lastMoveEvent.modifiers(); -@@ -131,8 +152,13 @@ bool pq3DViewEventTranslator::translateEvent(QObject* Object, QEvent* Event, boo - .arg(modifiers)); - } - -+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) -+ double normalized_x = mouseEvent->position().x() / static_cast(size.width()); -+ double normalized_y = mouseEvent->position().y() / static_cast(size.height()); -+#else - double normalized_x = mouseEvent->x() / static_cast(size.width()); - double normalized_y = mouseEvent->y() / static_cast(size.height()); -+#endif - int button = mouseEvent->button(); - int buttons = mouseEvent->buttons(); - int modifiers = mouseEvent->modifiers(); -diff --git a/pqAbstractButtonEventTranslator.cxx b/pqAbstractButtonEventTranslator.cxx -index ad785ec90b564cde7fc5146e8060da8daf0cb459..bdcdced3de5248324b1bcca791026202878000b9 100644 ---- a/pqAbstractButtonEventTranslator.cxx -+++ b/pqAbstractButtonEventTranslator.cxx -@@ -36,6 +36,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include - #include - #include -+#include - #include - #include - #include -diff --git a/pqAbstractItemViewEventPlayer.cxx b/pqAbstractItemViewEventPlayer.cxx -index 95860b099bae0c71b0b37aab980d06eb5d1caf1e..9ab04ae0e954a295b12b910e7e050bafd24555b2 100644 ---- a/pqAbstractItemViewEventPlayer.cxx -+++ b/pqAbstractItemViewEventPlayer.cxx -@@ -48,7 +48,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - /// Converts a string representation of a model index into the real thing - static QModelIndex OldGetIndex(QAbstractItemView& View, const QString& Name) - { -+#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0) -+ QStringList rows = Name.split('/', Qt::SkipEmptyParts); -+#else - QStringList rows = Name.split('/', QString::SkipEmptyParts); -+#endif - QString column; - - if (rows.size()) -@@ -88,7 +92,11 @@ static QModelIndex GetIndexByItemName(QAbstractItemView& View, const QString& Na - - static QModelIndex GetIndex(QAbstractItemView* View, const QString& Name) - { -+#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0) -+ QStringList idxs = Name.split('/', Qt::SkipEmptyParts); -+#else - QStringList idxs = Name.split('/', QString::SkipEmptyParts); -+#endif - - QModelIndex index; - for (int i = 0; i != idxs.size(); ++i) -@@ -200,7 +208,8 @@ bool pqAbstractItemViewEventPlayer::playEvent( - if (Command == "mouseWheel") - { - int delta = args[0].toInt(); -- QWheelEvent we(QPoint(x, y), delta, buttons, keym); -+ QWheelEvent we(QPointF(x, y), QPointF(x, y), QPoint(0, 0), QPoint(0, delta), buttons, keym, -+ Qt::NoScrollPhase, false); - QCoreApplication::sendEvent(Object, &we); - return true; - } -diff --git a/pqAbstractItemViewEventPlayerBase.cxx b/pqAbstractItemViewEventPlayerBase.cxx -index 8a523e668e4f8d37caae67787ab15cdd3ef7f9ff..fc52293a226a663f87e59246a60f94815e536900 100644 ---- a/pqAbstractItemViewEventPlayerBase.cxx -+++ b/pqAbstractItemViewEventPlayerBase.cxx -@@ -163,11 +163,12 @@ bool pqAbstractItemViewEventPlayerBase::playEvent( - return false; - } - -- QRegExp regExp1("^([\\d\\.]+),(\\d+)$"); -- if (command == "setCheckState" && regExp1.indexIn(arguments) != -1) -+ QRegularExpression regExp1("^([\\d\\.]+),(\\d+)$"); -+ QRegularExpressionMatch match = regExp1.match(arguments); -+ if (command == "setCheckState" && match.hasMatch()) - { -- QString strIndex = regExp1.cap(1); -- int check_state = regExp1.cap(2).toInt(); -+ QString strIndex = match.captured(1); -+ int check_state = match.captured(2).toInt(); - - QModelIndex index = - pqAbstractItemViewEventPlayerBase::GetIndex(strIndex, abstractItemView, error); -diff --git a/pqAbstractItemViewEventTranslator.cxx b/pqAbstractItemViewEventTranslator.cxx -index b769cca66eab194773d5338171152715181efaa3..07f7b42071582906fcbdbbc149a69773c92b31e6 100644 ---- a/pqAbstractItemViewEventTranslator.cxx -+++ b/pqAbstractItemViewEventTranslator.cxx -@@ -153,11 +153,19 @@ bool pqAbstractItemViewEventTranslator::translateEvent(QObject* Object, QEvent* - if (wheelEvent) - { - QString idxStr; -+#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0) -+ QModelIndex idx = object->indexAt(wheelEvent->position().toPoint()); -+#else - QModelIndex idx = object->indexAt(wheelEvent->pos()); -+#endif - idxStr = toIndexStr(idx); - QRect r = object->visualRect(idx); -+#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0) -+ relPt = wheelEvent->position().toPoint() - r.topLeft(); -+#else - relPt = wheelEvent->pos() - r.topLeft(); -- int numStep = wheelEvent->delta() > 0 ? 120 : -120; -+#endif -+ int numStep = wheelEvent->angleDelta().y() > 0 ? 120 : -120; - int buttons = wheelEvent->buttons(); - int modifiers = wheelEvent->modifiers(); - Q_EMIT recordEvent(Object, "mouseWheel", QString("%1,%2,%3,%4,%5") -diff --git a/pqBasicWidgetEventPlayer.cxx b/pqBasicWidgetEventPlayer.cxx -index 27663a340efb87b92fc4ce10ac393238e8925e95..11ac0d577d53b66e7f624354292a70fb26b553d3 100644 ---- a/pqBasicWidgetEventPlayer.cxx -+++ b/pqBasicWidgetEventPlayer.cxx -@@ -83,7 +83,8 @@ bool pqBasicWidgetEventPlayer::playEvent( - if (command == "mouseWheel") - { - int delta = args[0].toInt(); -- QWheelEvent we(QPoint(x, y), delta, buttons, keym); -+ QWheelEvent we(QPoint(x, y), QPoint(x, y), QPoint(0, 0), QPoint(0, delta), buttons, -+ keym, Qt::NoScrollPhase, false); - QCoreApplication::sendEvent(object, &we); - return true; - } -diff --git a/pqBasicWidgetEventTranslator.cxx b/pqBasicWidgetEventTranslator.cxx -index bdbc340cb9714aea681024d24055be113f6b1bd4..57026f6a65408252602765ad6de6771fef58afa8 100644 ---- a/pqBasicWidgetEventTranslator.cxx -+++ b/pqBasicWidgetEventTranslator.cxx -@@ -80,8 +80,13 @@ bool pqBasicWidgetEventTranslator::translateEvent( - .arg(mouseEvent->button()) - .arg(mouseEvent->buttons()) - .arg(mouseEvent->modifiers()) -+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) -+ .arg(mouseEvent->position().x()) -+ .arg(mouseEvent->position().y()); -+#else - .arg(mouseEvent->x()) - .arg(mouseEvent->y()); -+#endif - - if (event->type() != QEvent::MouseButtonRelease) - { -@@ -116,13 +121,18 @@ bool pqBasicWidgetEventTranslator::translateEvent( - { - int buttons = wheelEvent->buttons(); - int modifiers = wheelEvent->modifiers(); -- int numStep = wheelEvent->delta(); -+ int numStep = wheelEvent->angleDelta().y() > 0 ? 120 : -120; - Q_EMIT recordEvent(object, "mouseWheel", QString("%1,%2,%3,%4,%5") - .arg(numStep) - .arg(buttons) - .arg(modifiers) -- .arg(wheelEvent->x()) -- .arg(wheelEvent->y())); -+#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0) -+ .arg(wheelEvent->position().x()) -+ .arg(wheelEvent->position().y())); -+#else -+ .arg(wheelEvent->pos().x()) -+ .arg(wheelEvent->pos().y())); -+#endif - } - } - return true; -diff --git a/pqEventRecorder.cxx b/pqEventRecorder.cxx -index e20b15ef096a68f5126e387dbfb551a8a5a01c31..8737dfa9fefdbcbe5e9df6dda1621f043e345b69 100644 ---- a/pqEventRecorder.cxx -+++ b/pqEventRecorder.cxx -@@ -192,8 +192,10 @@ void pqEventRecorder::start() - // Set the device - this->Stream.setDevice(this->File); - -+#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) - // Set UTF8 Codec - this->Stream.setCodec("UTF-8"); -+#endif - - // Set the Stream to the Observer - this->ActiveObserver->setStream(&this->Stream); -diff --git a/pqEventTranslator.cxx b/pqEventTranslator.cxx -index beb7be450741abef46cee21f11f502ecf84f0552..9d9d691848847e47ad2596bea4134e1ccb14665d 100644 ---- a/pqEventTranslator.cxx -+++ b/pqEventTranslator.cxx -@@ -103,7 +103,7 @@ struct pqEventTranslator::pqImplementation - /// Stores the working set of widget translators - QList Translators; - /// Stores the set of objects that should be ignored when translating events -- QMap IgnoredObjects; -+ QMap IgnoredObjects; - - // list of widgets for which mouse propagation will happen - // we'll only translate the first and ignore the rest -@@ -272,7 +272,7 @@ pqEventComment* pqEventTranslator::eventComment() const - } - - // ---------------------------------------------------------------------------- --void pqEventTranslator::ignoreObject(QObject* object, QRegExp commandFilter) -+void pqEventTranslator::ignoreObject(QObject* object, QRegularExpression commandFilter) - { - this->Implementation->IgnoredObjects.insert(object, commandFilter); - } -@@ -353,11 +353,21 @@ bool pqEventTranslator::eventFilter(QObject* object, QEvent* event) - { - // Check it is not the overlay, and it contains the mouse cursor - if (topWidget != this->Implementation->CheckOverlay && -+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) -+ topWidget->geometry().contains( -+ static_cast(event)->globalPosition().toPoint(), true)) -+#else - topWidget->geometry().contains(static_cast(event)->globalPos(), true)) -+#endif - { - // Recover the child widget onder the cursor, if any - QWidget* childWidget = topWidget->childAt( -+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) -+ topWidget->mapFromGlobal( -+ static_cast(event)->globalPosition().toPoint())); -+#else - topWidget->mapFromGlobal(static_cast(event)->globalPos())); -+#endif - - // If child exist, check it is not the overlayed widget and indeed a new widget - if (childWidget == NULL || -@@ -583,7 +593,7 @@ void pqEventTranslator::onRecordEvent( - { - if (this->Implementation->IgnoredObjects.contains(Object)) - { -- QRegExp commandFilter = this->Implementation->IgnoredObjects.value(Object); -+ QRegularExpression commandFilter = this->Implementation->IgnoredObjects.value(Object); - if (Command.contains(commandFilter)) - { - return; -diff --git a/pqEventTranslator.h b/pqEventTranslator.h -index d756bec96f42db4db8e28517a0d610cbef0e1ef4..4b0549f6d794cfeb43ecd6ea2644a5067e25c34d 100644 ---- a/pqEventTranslator.h -+++ b/pqEventTranslator.h -@@ -36,7 +36,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include "QtTestingExport.h" - #include - #include --#include -+#include - - class pqEventComment; - class pqTestUtility; -@@ -92,8 +92,8 @@ public: - /// translating events which command is equivalent to the regexp - /// (useful to prevent recording UI events from being - /// captured as part of the recording) -- void ignoreObject( -- QObject* object, QRegExp commandFilter = QRegExp("*", Qt::CaseInsensitive, QRegExp::Wildcard)); -+ void ignoreObject(QObject* object, QRegularExpression commandFilter = QRegularExpression( -+ "*", QRegularExpression::CaseInsensitiveOption)); - - /// start listening to the GUI and translating events - void start(); -diff --git a/pqObjectNaming.h b/pqObjectNaming.h -index d31b28d4a4f8275232331af860699796c77c2114..5cef1618d431d26f38cf10d2649e2dc5202f737f 100644 ---- a/pqObjectNaming.h -+++ b/pqObjectNaming.h -@@ -38,7 +38,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include "QtTestingExport.h" - - class QObject; -+#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) - class QStringList; -+#endif - - /// Provides functionality to ensuring that Qt objects can be uniquely identified for recording and - /// playback of regression tests -diff --git a/pqPlayBackEventsDialog.cxx b/pqPlayBackEventsDialog.cxx -index d8b3e9547d146fb68dd6c61942b825ae67cd67ec..ff0ebb926c3f49b29f1bce06fa36c4e65a889b0c 100644 ---- a/pqPlayBackEventsDialog.cxx -+++ b/pqPlayBackEventsDialog.cxx -@@ -350,7 +350,9 @@ void pqPlayBackEventsDialog::onStarted(const QString& filename) - file.open(QIODevice::ReadOnly); - this->Implementation->Ui.logBrowser->append(QString("Start file : %1").arg(infoFile.fileName())); - QTextStream stream(&file); -+#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) - stream.setCodec("UTF-8"); -+#endif - this->Implementation->Ui.currentFileLabel->setText(infoFile.fileName()); - while (!stream.atEnd()) - { -diff --git a/pqTreeViewEventPlayer.cxx b/pqTreeViewEventPlayer.cxx -index 02199925d018adc0df3a85548a7813aee7f21c84..d541a9cc684be11b0d30f1fdf321d872e8f9a78b 100644 ---- a/pqTreeViewEventPlayer.cxx -+++ b/pqTreeViewEventPlayer.cxx -@@ -63,8 +63,9 @@ bool pqTreeViewEventPlayer::playEvent( - return false; - } - -- QRegExp regExp0("^([\\d\\.]+),(\\d+),(\\d+)$"); -- if (command == "setTreeItemCheckState" && regExp0.indexIn(arguments) != -1) -+ QRegularExpression regExp0("^([\\d\\.]+),(\\d+),(\\d+)$"); -+ QRegularExpressionMatch match = regExp0.match(arguments); -+ if (command == "setTreeItemCheckState" && match.hasMatch()) - { - // legacy command recorded from tree widgets. - QTreeWidget* treeWidget = qobject_cast(object); -@@ -72,11 +73,14 @@ bool pqTreeViewEventPlayer::playEvent( - { - return false; - } -- QString str_index = regExp0.cap(1); -- int column = regExp0.cap(2).toInt(); -- int check_state = regExp0.cap(3).toInt(); -- -+ QString str_index = match.captured(1); -+ int column = match.captured(2).toInt(); -+ int check_state = match.captured(3).toInt(); -+#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0) -+ QStringList indices = str_index.split(".", Qt::SkipEmptyParts); -+#else - QStringList indices = str_index.split(".", QString::SkipEmptyParts); -+#endif - QTreeWidgetItem* cur_item = NULL; - Q_FOREACH (QString cur_index, indices) - { diff --git a/ports/paraview/external_vtk.patch b/ports/paraview/external_vtk.patch deleted file mode 100644 index 20fa08f77fc0e0..00000000000000 --- a/ports/paraview/external_vtk.patch +++ /dev/null @@ -1,148 +0,0 @@ -diff --git a/CMake/ParaViewOptions.cmake b/CMake/ParaViewOptions.cmake -index 70c771151..14df81490 100644 ---- a/CMake/ParaViewOptions.cmake -+++ b/CMake/ParaViewOptions.cmake -@@ -99,7 +99,7 @@ endif() - #======================================================================== - - # XXX(VTK): External VTK is not yet actually supported. --if (FALSE) -+if (TRUE) - option(PARAVIEW_USE_EXTERNAL_VTK "Use an external VTK." OFF) - mark_as_advanced(PARAVIEW_USE_EXTERNAL_VTK) - else () -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6ee167322..628745584 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -73,7 +73,13 @@ if (NOT CMAKE_INSTALL_LICENSEDIR) - endif () - - set(paraview_cmake_dir "${CMAKE_CURRENT_SOURCE_DIR}/CMake") --set(vtk_cmake_dir "${CMAKE_CURRENT_SOURCE_DIR}/VTK/CMake") -+if (PARAVIEW_USE_EXTERNAL_VTK) -+ find_package(VTK CONFIG REQUIRED) -+ get_filename_component(vtk_cmake_dir "${VTK_CONFIG}" DIRECTORY ) -+else() -+ set(vtk_cmake_dir "${CMAKE_CURRENT_SOURCE_DIR}/VTK/CMake") -+endif() -+ - if (NOT IS_DIRECTORY "${vtk_cmake_dir}") - message(FATAL_ERROR - "Failed to find the VTK CMake directory. Did you forget to initialize the " -@@ -242,9 +246,7 @@ if (PARAVIEW_USE_FORTRAN) - enable_language(Fortran OPTIONAL) - endif () - --if (PARAVIEW_USE_EXTERNAL_VTK) -- find_package(VTK REQUIRED) --else () -+if (NOT PARAVIEW_USE_EXTERNAL_VTK) - list(APPEND CMAKE_MODULE_PATH - "${CMAKE_CURRENT_SOURCE_DIR}/VTK/CMake") - include(vtkCMakeBackports) -@@ -423,9 +425,67 @@ endif () - - if (PARAVIEW_USE_EXTERNAL_VTK) - if (paraview_required_modules OR paraview_unrecognized_modules) -- message(FATAL_ERROR -- "The following modules were requested or required, but not found: " -- "${paraview_required_modules};${paraview_unrecognized_modules}.") -+ foreach(mod ${paraview_required_modules}) -+ if(NOT TARGET ${mod}) -+ list(APPEND modules_notarget ${mod}) -+ endif() -+ if(${mod} MATCHES "VTK::") # For better debugging -+ list(APPEND vtk_modules ${mod}) -+ endif() -+ endforeach() -+ foreach(mod ${paraview_unrecognized_modules}) -+ if(NOT TARGET ${mod}) -+ list(FIND paraview_rejected_modules ${mod} _found_mod) -+ if(_found_mod GREATER_EQUAL 0) -+ list(APPEND _to_remove ${mod}) -+ endif() -+ else() -+ list(APPEND _to_remove ${mod}) -+ #list(APPEND vtk_modules ${mod}) #probably do not need to add unrecognized_modules to the wrapper -+ endif() -+ endforeach() -+ list(REMOVE_ITEM paraview_unrecognized_modules ${_to_remove}) -+ message(STATUS "UNRECOGNIZED:${paraview_unrecognized_modules}") -+ message(STATUS "REJECTED MODULES: ${paraview_rejected_modules}") -+ message(STATUS "UNRECOGNIZED WITHOUT REJECTED AND KNOWN TARGETS: ${paraview_unrecognized_modules}") -+ message(STATUS "ALL PROVIDED MODULES: ${paraview_modules}") -+ set(_unnecessary_moduls ${paraview_modules}) -+ list(REMOVE_ITEM _unnecessary_moduls ${paraview_required_modules}) -+ if(modules_notarget) -+ message(FATAL_ERROR -+ "The following modules were requested or required, but not found: " -+ "${modules_notarget}") -+ endif() -+ list(REMOVE_DUPLICATES vtk_modules) -+ macro(search_dependent_targets) -+ set(vtk_mod_dep_list) -+ foreach(vtk_targ ${ARGN}) -+ get_target_property(vtk_mod_dep ${vtk_targ} "INTERFACE_vtk_module_depends") -+ if(vtk_mod_dep) -+ list(APPEND vtk_mod_dep_list ${vtk_mod_dep}) -+ endif() -+ get_target_property(vtk_mod_pdep ${vtk_targ} "INTERFACE_vtk_module_private_depends") -+ if(vtk_mod_pdep) -+ list(APPEND vtk_mod_dep_list ${vtk_mod_pdep}) -+ endif() -+ get_target_property(vtk_mod_odep ${vtk_targ} "INTERFACE_vtk_module_opional_depends") -+ if(vtk_mod_odep) -+ list(APPEND vtk_mod_dep_list ${vtk_mod_odep}) -+ endif() -+ if(vtk_mod_dep_list) -+ message(STATUS "Target ${vtk_targ} depends on ${vtk_mod_dep_list}") -+ list(REMOVE_ITEM vtk_mod_dep_list ${vtk_modules}) -+ if(vtk_mod_dep_list) -+ message(STATUS "Newly discovered modules: ${vtk_mod_dep_list}") -+ list(APPEND vtk_modules ${vtk_mod_dep_list}) -+ search_dependent_targets(${vtk_mod_dep_list}) -+ else() -+ message(STATUS "No new modules discovered!") -+ endif() -+ endif() -+ endforeach() -+ endmacro() -+ search_dependent_targets(${vtk_modules}) - endif () - - if (PARAVIEW_USE_PYTHON) -@@ -508,7 +574,7 @@ else () - endif() - - # Set up these variables now so that modules may acess them -- if (NOT PARAVIEW_USE_EXTERNAL_VTK AND PARAVIEW_INSTALL_DEVELOPMENT_FILES) -+ if (PARAVIEW_INSTALL_DEVELOPMENT_FILES) - set(vtk_cmake_dir - "${CMAKE_CURRENT_SOURCE_DIR}/VTK/CMake") - set(vtk_cmake_destination -@@ -642,6 +708,9 @@ set(_paraview_add_tests_default_data_directory - set(_paraview_add_tests_default_test_data_target - "ParaViewData") - -+list(REMOVE_DUPLICATES vtk_modules) # Missed this somewhere -+list(REMOVE_DUPLICATES paraview_modules) # probably not needed -+ - vtk_module_build( - MODULES ${paraview_modules} - KITS ${paraview_kits} -@@ -703,9 +772,11 @@ if (PARAVIEW_ENABLE_CATALYST) - endif () - - include(vtkModuleJson) --vtk_module_json( -- MODULES ${vtk_modules} -- OUTPUT "vtk-modules.json") -+if(NOT PARAVIEW_USE_EXTERNAL_VTK) -+ vtk_module_json( -+ MODULES ${vtk_modules} -+ OUTPUT "vtk-modules.json") -+endif() - vtk_module_json( - MODULES ${paraview_modules} - OUTPUT "paraview-modules.json") diff --git a/ports/paraview/fix-build.patch b/ports/paraview/fix-build.patch new file mode 100644 index 00000000000000..d02a94884bdd9d --- /dev/null +++ b/ports/paraview/fix-build.patch @@ -0,0 +1,45 @@ +diff --git a/CMake/vtkModuleWrapClientServer.cmake b/CMake/vtkModuleWrapClientServer.cmake +index cba0380cd9..9c8bbc5084 100644 +--- a/CMake/vtkModuleWrapClientServer.cmake ++++ b/CMake/vtkModuleWrapClientServer.cmake +@@ -72,8 +72,8 @@ function (_vtk_module_wrap_client_server_sources module sources classes) + "guarantee intended behavior.") + endif () + endif () +- file(GENERATE OUTPUT "compile_definitions_${_vtk_client_server_target_name}" CONTENT "${_vtk_client_server_genex_compile_definitions_all}") +- file(GENERATE OUTPUT "include_directories_${_vtk_client_server_target_name}" CONTENT "${_vtk_client_server_genex_include_directories_all}") ++ file(GENERATE OUTPUT "compile_definitions_${_vtk_client_server_library_name}" CONTENT "${_vtk_client_server_genex_compile_definitions_all}") ++ file(GENERATE OUTPUT "include_directories_${_vtk_client_server_library_name}" CONTENT "${_vtk_client_server_genex_include_directories_all}") + file(GENERATE + OUTPUT "${_vtk_client_server_args_file}" + CONTENT "$<$:\n-D\'$\'>\n +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1be00fb71a..c47cf20d55 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -68,7 +68,7 @@ if (PARAVIEW_USE_EXTERNAL_VTK) + "External VTK not found but ParaView requires VTK to function") + endif () + if (NOT PARAVIEW_BUILD_SHARED_LIBS) +- message(FATAL_ERROR ++ message(WARNING + "Static build with external VTK does not currently work.") + endif() + get_filename_component(vtk_cmake_dir "${VTK_CONFIG}" DIRECTORY) +diff --git a/Utilities/PythonInterpreterPath/vtkPVPythonInterpreterPath.cxx b/Utilities/PythonInterpreterPath/vtkPVPythonInterpreterPath.cxx +index 06e517964b..fbf9f5c2df 100644 +--- a/Utilities/PythonInterpreterPath/vtkPVPythonInterpreterPath.cxx ++++ b/Utilities/PythonInterpreterPath/vtkPVPythonInterpreterPath.cxx +@@ -13,8 +13,9 @@ extern "C" + void vtkPVInitializePythonModules(); + void VTKUTILITIESPYTHONINTERPRETERPATH_EXPORT vtkPVPythonInterpreterPath() + { +- std::string libraryPath = vtkGetLibraryPathForSymbol(vtkPVInitializePythonModules); +- vtkPythonInterpreter::SetUserPythonPath( +- libraryPath.c_str(), "paraview/__init__.py" /*landmark*/); ++ // Ignore this for now. Requires a slightly newer VTK version than PV 5.12 uses. ++ //std::string libraryPath = vtkGetLibraryPathForSymbol(vtkPVInitializePythonModules); ++ //vtkPythonInterpreter::SetUserPythonPath( ++ // libraryPath.c_str(), "paraview/__init__.py" /*landmark*/); + } + } diff --git a/ports/paraview/fix-configure.patch b/ports/paraview/fix-configure.patch new file mode 100644 index 00000000000000..726b57d3961b0f --- /dev/null +++ b/ports/paraview/fix-configure.patch @@ -0,0 +1,35 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1b9fd80..94ad133 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -557,7 +557,16 @@ if (PARAVIEW_USE_EXTERNAL_VTK) + endforeach() + endmacro() + search_dependent_targets(${vtk_modules}) +- find_package(VTK CONFIG REQUIRED COMPONENTS "${vtk_components}") ++ ++ if (PARAVIEW_USE_PYTHON) ++ get_target_property(vtk_python_modules VTK::vtkpythonmodules "INTERFACE_LINK_LIBRARIES") ++ list(TRANSFORM vtk_python_modules REPLACE "Python$" "" OUTPUT_VARIABLE vtk_modules_wrapped) ++ list(TRANSFORM vtk_modules_wrapped REPLACE "^VTK::vtk" "" OUTPUT_VARIABLE vtk_components_wrapped) ++ list(APPEND vtk_components ${vtk_components_wrapped}) ++ list(REMOVE_DUPLICATES vtk_components) ++ endif() ++ ++ find_package(VTK CONFIG REQUIRED COMPONENTS "${vtk_components}") + if (PARAVIEW_USE_PYTHON) + find_package(Python3 3.3 QUIET REQUIRED COMPONENTS Interpreter) + set(PYTHON_VERSION_MAJOR "${Python3_VERSION_MAJOR}") +diff --git a/Qt/Python/vtk.module b/Qt/Python/vtk.module +index f82f076..86dbafd 100644 +--- a/Qt/Python/vtk.module ++++ b/Qt/Python/vtk.module +@@ -12,7 +12,7 @@ GROUPS + PARAVIEW_CANONICAL + DEPENDS + ParaView::pqCore +- ParaView::PythonInitializer ++ #ParaView::PythonInitializer <- Creates a cycle + VTK::PythonInterpreter + VTK::WrappingPythonCore + TEST_LABELS diff --git a/ports/paraview/portfile.cmake b/ports/paraview/portfile.cmake index 189311d7fe29ab..6651b251c4101b 100644 --- a/ports/paraview/portfile.cmake +++ b/ports/paraview/portfile.cmake @@ -1,4 +1,4 @@ -set(VERSION_MAJOR_MINOR 5.11) +set(VERSION_MAJOR_MINOR 5.12) set(plat_feat "") if(VCPKG_TARGET_IS_LINUX) @@ -18,18 +18,48 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES ${plat_feat} ) +vcpkg_download_distfile( + external_vtk_patch + URLS https://gitlab.kitware.com/paraview/paraview/-/merge_requests/6375.diff?full_index=1 + FILENAME paraview_external_vtk_pr.diff + SHA512 c7760599239334817e9cad33ab7019c2dd0ce6740891e10ec15e1d63605ad73095fd7d48aed5ca8d002d25db356a7a5cf2a37188f0b43a7a9fa4c339e8f42adb +) + +set(ext_vtk_patch_copy "${CURRENT_BUILDTREES_DIR}/paraview_external_vtk_pr.diff") +file(COPY "${external_vtk_patch}" DESTINATION "${CURRENT_BUILDTREES_DIR}" ) + +# Remove stuff which cannot be patched since it does not exist +vcpkg_replace_string("${ext_vtk_patch_copy}" +[[ +diff --git a/.gitlab/ci/sccache.sh b/.gitlab/ci/sccache.sh +index f1897d6f719c3b61b6d4fa317966c007dab2fc23..e88d7c89198696832e5645bfb0e758fd5d92e6af 100755 +--- a/.gitlab/ci/sccache.sh ++++ b/.gitlab/ci/sccache.sh +@@ -37,6 +37,6 @@ $shatool --check sccache.sha256sum + mv "$filename" sccache + chmod +x sccache + +-mkdir shortcuts ++mkdir -p shortcuts + cp ./sccache shortcuts/gcc + cp ./sccache shortcuts/g++ +]] +"" +IGNORE_UNCHANGED +) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Kitware/ParaView - REF 91aaf338c62f77fccd7d197dea05e7a68035ab25 # v5.11.0 - SHA512 ddd72b127462a37dba220808925ab1991b3072ddd3f39ba7f26d260bd5abbaa6bd38a0c0181141f461df60dd718ec85df8c0faffff8e53a6cd1737b784565f4b + REF 8751c670e2aac949f17dd701a5a2f13849afafb2 # v5.12.1 + SHA512 ed7b7e183c9d1350d8d2feadf7b76bef939bc657f49e5160e2e96e2329642d8ba1c0a8ab7cb58ff068ba21b7adc3f52676b38779e1ecec31b4714184c2364072 HEAD_REF master PATCHES - external_vtk.patch - python_include.patch - python_wrapper.patch + ${ext_vtk_patch_copy} add-tools-option.patch - qt6-all.patch + fix-build.patch + fix-configure.patch + protobuf-version.patch ) if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") @@ -44,9 +74,9 @@ vcpkg_from_gitlab( OUT_SOURCE_PATH VISITIT_SOURCE_PATH GITLAB_URL https://gitlab.kitware.com/ REPO paraview/visitbridge - REF df098f4148a96d62c388861c1d476039e02224ae - SHA512 002c2c934ef7e64c89b1567f406db1ebb90532817062e7016c248ba8ae85a88f1a35bc3963a9577ec08ba742a0e7fb91022c29aaaa0bddf0a1d585074341733e - PATCHES + REF 093ea1dfddbb3266554ece823ae8d7dedc66eb3f + SHA512 0fd5dd3fbc8e61123dedb8e30b3150109ef855bc398d01ed0defe0c560692c91231ff72568ee6a1840edc21d6ea3c9c164dbeb29b8590315ee5c153a3d77d568 + PATCHES ${VisItPatches} ) #VTK_MODULE_USE_EXTERNAL_ParaView_protobuf @@ -56,9 +86,8 @@ vcpkg_from_gitlab( OUT_SOURCE_PATH QTTESTING_SOURCE_PATH GITLAB_URL https://gitlab.kitware.com/ REPO paraview/qttesting - REF 08d96e9277bc4c26804fd77ce1b4fa5c791605ae # https://gitlab.kitware.com/paraview/qttesting/-/merge_requests/53 for Qt6 - SHA512 cb4acdfe1206bd8bae4f70185c8ca1ce555cf983a1d1e97293dac544ab13b039638bfe0d1e448f9589db92b6ed23b9b940157e72d9ec9e3994ea9858ab1722ec - PATCHES 53.diff + REF 375c33053704e2d99dda4d2e1dfc9f6f85b3e73f + SHA512 4d42352394017f4a07ed96dea6b5c0caf3bc6b22bbe0c8f5df6d2740cb7b2946e0b04ac7b79b88bc7c4281bb8d48071878f42c41c042de8ef6979818d26490e5 ) vcpkg_from_gitlab( @@ -74,23 +103,32 @@ file(COPY "${QTTESTING_SOURCE_PATH}/" DESTINATION "${SOURCE_PATH}/ThirdParty/QtT file(COPY "${ICET_SOURCE_PATH}/" DESTINATION "${SOURCE_PATH}/ThirdParty/IceT/vtkicet") if("python" IN_LIST FEATURES) + # This sections relies on target package python3. set(python_ver "") if(NOT VCPKG_TARGET_IS_WINDOWS) - file(GLOB _py3_include_path "${CURRENT_HOST_INSTALLED_DIR}/include/python3*") - string(REGEX MATCH "python3\\.([0-9]+)" _python_version_tmp ${_py3_include_path}) - set(PYTHON_VERSION_MINOR "${CMAKE_MATCH_1}") - set(python_ver "3.${PYTHON_VERSION_MINOR}") + set(python_ver "3") endif() list(APPEND ADDITIONAL_OPTIONS -DPython3_FIND_REGISTRY=NEVER - "-DPython3_EXECUTABLE:PATH=${CURRENT_HOST_INSTALLED_DIR}/tools/python3/python${python_ver}${VCPKG_EXECUTABLE_SUFFIX}" + "-DPython3_EXECUTABLE:PATH=${CURRENT_INSTALLED_DIR}/tools/python3/python${python_ver}${VCPKG_TARGET_EXECUTABLE_SUFFIX}" + "-DPARAVIEW_PYTHON_SITE_PACKAGES_SUFFIX=${PYTHON3_SITE}" # from vcpkg-port-config.cmake + -DVTK_MODULE_ENABLE_ParaView_PythonCatalyst:STRING=YES ) - #VTK_PYTHON_SITE_PACKAGES_SUFFIX should be set to the install dir of the site-packages +endif() + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" PARAVIEW_BUILD_SHARED_LIBS) + +if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "static") + # Hitting pdb size limits when building debug paraview so increase it + string(APPEND VCPKG_LINKER_FLAGS_DEBUG " /PDBPAGESIZE:8192") endif() vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - OPTIONS ${FEATURE_OPTIONS} + OPTIONS + ${FEATURE_OPTIONS} + -DPARAVIEW_USE_FORTRAN=OFF + -DPARAVIEW_BUILD_SHARED_LIBS=${PARAVIEW_BUILD_SHARED_LIBS} -DPARAVIEW_PLUGIN_DISABLE_XML_DOCUMENTATION:BOOL=ON -DPARAVIEW_BUILD_WITH_EXTERNAL:BOOL=ON -DPARAVIEW_USE_EXTERNAL_VTK:BOOL=ON @@ -168,9 +206,8 @@ foreach(tool ${TOOLS}) endforeach() vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) -# # Handle copyright -file(INSTALL "${SOURCE_PATH}/Copyright.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME Copyright.txt) # Which one is the correct one? -file(INSTALL "${SOURCE_PATH}/License_v1.2.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +# Handle copyright +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/Copyright.txt") if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") macro(move_bin_to_lib name) @@ -199,7 +236,7 @@ endif() file(GLOB cmake_files "${CURRENT_PACKAGES_DIR}/share/${PORT}/*.cmake") foreach(file IN LISTS cmake_files) - vcpkg_replace_string("${file}" "pv5.11d.exe" "pv5.11.exe") + vcpkg_replace_string("${file}" "pv${VERSION_MAJOR_MINOR}d.exe" "pv${VERSION_MAJOR_MINOR}.exe" IGNORE_UNCHANGED) endforeach() # The plugins also work without these files diff --git a/ports/paraview/protobuf-version.patch b/ports/paraview/protobuf-version.patch new file mode 100644 index 00000000000000..975f72fb213550 --- /dev/null +++ b/ports/paraview/protobuf-version.patch @@ -0,0 +1,13 @@ +diff --git a/ThirdParty/protobuf/CMakeLists.txt b/ThirdParty/protobuf/CMakeLists.txt +index 811dc3721b..02f26ae757 100644 +--- a/ThirdParty/protobuf/CMakeLists.txt ++++ b/ThirdParty/protobuf/CMakeLists.txt +@@ -40,7 +40,7 @@ vtk_module_third_party( + STANDARD_INCLUDE_DIRS + EXTERNAL + PACKAGE Protobuf +- VERSION "3.4" ++ CONFIG_MODE + TARGETS protobuf::libprotobuf + STANDARD_INCLUDE_DIRS) + diff --git a/ports/paraview/python_include.patch b/ports/paraview/python_include.patch deleted file mode 100644 index 42ada661bbc56b..00000000000000 --- a/ports/paraview/python_include.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMake/ParaViewOptions.cmake b/CMake/ParaViewOptions.cmake -index 0ecb928e9..5b5459a37 100644 ---- a/CMake/ParaViewOptions.cmake -+++ b/CMake/ParaViewOptions.cmake -@@ -136,7 +136,7 @@ option(PARAVIEW_ENABLE_RAYTRACING "Build ParaView with OSPray and/or OptiX ray-t - - set(paraview_web_default ON) - if (PARAVIEW_USE_PYTHON AND WIN32) -- include("${CMAKE_CURRENT_SOURCE_DIR}/VTK/CMake/FindPythonModules.cmake") -+ include(FindPythonModules) - find_python_module(win32api have_pywin32) - set(paraview_web_default "${have_pywin32}") - endif () diff --git a/ports/paraview/python_wrapper.patch b/ports/paraview/python_wrapper.patch deleted file mode 100644 index 33a70f069acc51..00000000000000 --- a/ports/paraview/python_wrapper.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff --git a/CMake/vtkModuleWrapClientServer.cmake b/CMake/vtkModuleWrapClientServer.cmake -index 3804a24e2..91fdd593a 100644 ---- a/CMake/vtkModuleWrapClientServer.cmake -+++ b/CMake/vtkModuleWrapClientServer.cmake -@@ -37,10 +37,13 @@ function (_vtk_module_wrap_client_server_sources module sources classes) - "$") - set(_vtk_client_server_genex_include_directories - "$") -+ set(_vtk_client_server_genex_interface_include_directories -+ "$") - file(GENERATE - OUTPUT "${_vtk_client_server_args_file}" - CONTENT "$<$:\n-D\'$\'>\n --$<$:\n-I\'$\'>\n") -+ $<$:\n-I\'$\'>\n -+ $<$:\n-I\'$\'>\n") - - _vtk_module_get_module_property("${module}" - PROPERTY "hierarchy" diff --git a/ports/paraview/qt6-all.patch b/ports/paraview/qt6-all.patch deleted file mode 100644 index 601ca04a04317d..00000000000000 --- a/ports/paraview/qt6-all.patch +++ /dev/null @@ -1,2585 +0,0 @@ -diff --git a/CMake/ParaViewClient.cmake b/CMake/ParaViewClient.cmake -index be11fe5ae..074823325 100644 ---- a/CMake/ParaViewClient.cmake -+++ b/CMake/ParaViewClient.cmake -@@ -285,7 +285,7 @@ IDI_ICON1 ICON \"${_paraview_client_APPLICATION_ICON}\"\n") - endif () - - include("${_ParaViewClient_cmake_dir}/paraview-find-package-helpers.cmake" OPTIONAL) -- find_package(Qt5 REQUIRED QUIET COMPONENTS Core Widgets) -+ find_package(Qt${VTK_QT_VERSION} REQUIRED QUIET COMPONENTS Core Widgets) - - # CMake 3.13 started using Qt5's version variables to detect what version - # of Qt's tools to run for autorcc. However, they are looked up using the -@@ -294,8 +294,8 @@ IDI_ICON1 ICON \"${_paraview_client_APPLICATION_ICON}\"\n") - - # Fix for 3.13.0–3.13.3. Does not work if `paraview_client_add` is called - # from another function. -- set(Qt5Core_VERSION_MAJOR "${Qt5Core_VERSION_MAJOR}" PARENT_SCOPE) -- set(Qt5Core_VERSION_MINOR "${Qt5Core_VERSION_MINOR}" PARENT_SCOPE) -+ set(Qt${VTK_QT_VERSION}Core_VERSION_MAJOR "${Qt${VTK_QT_VERSION}Core_VERSION_MAJOR}" PARENT_SCOPE) -+ set(Qt${VTK_QT_VERSION}Core_VERSION_MINOR "${Qt${VTK_QT_VERSION}Core_VERSION_MINOR}" PARENT_SCOPE) - # Fix for 3.13.4+. - set_property(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" - PROPERTY -@@ -375,12 +375,12 @@ IDI_ICON1 ICON \"${_paraview_client_APPLICATION_ICON}\"\n") - target_link_libraries("${_paraview_client_NAME}" - PRIVATE - ParaView::pqApplicationComponents -- Qt5::Widgets -+ Qt${VTK_QT_VERSION}::Widgets - VTK::vtksys) - if (PARAVIEW_USE_QTWEBENGINE) -- find_package(Qt5 REQUIRED QUIET COMPONENTS WebEngineWidgets) -+ find_package(Qt${VTK_QT_VERSION} REQUIRED QUIET COMPONENTS WebEngineWidgets) - target_link_libraries("${_paraview_client_NAME}" -- PRIVATE Qt5::WebEngineWidgets) -+ PRIVATE Qt${VTK_QT_VERSION}::WebEngineWidgets) - endif () - - set(_paraview_client_export) -@@ -517,7 +517,7 @@ function (paraview_client_documentation) - endif () - - include("${_ParaViewClient_cmake_dir}/paraview-find-package-helpers.cmake" OPTIONAL) -- find_program(qt_xmlpatterns_executable -+ find_program(qt_xmlpatterns_executable # this only exists in qt5 and the portfile deactivates xml docs - NAMES xmlpatterns-qt5 xmlpatterns - HINTS "${Qt5_DIR}/../../../bin" - "${Qt5_DIR}/../../../libexec/qt5/bin" -@@ -802,7 +802,7 @@ function (paraview_client_generate_help) - endif () - - include("${_ParaViewClient_cmake_dir}/paraview-find-package-helpers.cmake" OPTIONAL) -- find_package(Qt5 QUIET REQUIRED COMPONENTS Help) -+ find_package(Qt${VTK_QT_VERSION} QUIET REQUIRED COMPONENTS Help) - - set(_paraview_client_help_copy_sources) - set(_paraview_client_help_copied_sources) -@@ -843,7 +843,7 @@ function (paraview_client_generate_help) - -P "${_ParaViewClient_script_file}" - VERBATIM - COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} -- $ -+ $ - "${_paraview_client_help_qhp}" - -s - -o "${_paraview_client_help_output}" -diff --git a/CMake/ParaViewPlugin.cmake b/CMake/ParaViewPlugin.cmake -index f349f2cbf..13708a004 100644 ---- a/CMake/ParaViewPlugin.cmake -+++ b/CMake/ParaViewPlugin.cmake -@@ -1331,16 +1331,16 @@ function (paraview_add_plugin name) - list(APPEND _paraview_add_plugin_qt_extra_components - Widgets) - list(APPEND _paraview_add_plugin_required_libraries -- Qt5::Widgets) -+ Qt${VTK_QT_VERSION}::Widgets) - list(APPEND _paraview_add_plugin_ui_sources - ${_paraview_add_plugin_UI_FILES}) - endif () - - if (_paraview_add_plugin_with_ui OR _paraview_add_plugin_with_resources) - include("${_ParaViewPlugin_cmake_dir}/paraview-find-package-helpers.cmake" OPTIONAL) -- find_package(Qt5 QUIET REQUIRED COMPONENTS Core ${_paraview_add_plugin_qt_extra_components}) -+ find_package(Qt${VTK_QT_VERSION} QUIET REQUIRED COMPONENTS Core ${_paraview_add_plugin_qt_extra_components}) - list(APPEND _paraview_add_plugin_required_libraries -- Qt5::Core) -+ Qt${VTK_QT_VERSION}::Core) - if (_paraview_add_plugin_with_ui) - list(APPEND _paraview_add_plugin_required_libraries - ParaView::pqCore) -@@ -1354,15 +1354,15 @@ function (paraview_add_plugin name) - - # Fix for 3.13.0–3.13.3. Does not work if `paraview_add_plugin` is called - # from another function. -- set(Qt5Core_VERSION_MAJOR "${Qt5Core_VERSION_MAJOR}" PARENT_SCOPE) -- set(Qt5Core_VERSION_MINOR "${Qt5Core_VERSION_MINOR}" PARENT_SCOPE) -+ set(Qt${VTK_QT_VERSION}Core_VERSION_MAJOR "${Qt${VTK_QT_VERSION}Core_VERSION_MAJOR}" PARENT_SCOPE) -+ set(Qt${VTK_QT_VERSION}Core_VERSION_MINOR "${Qt${VTK_QT_VERSION}Core_VERSION_MINOR}" PARENT_SCOPE) - # Fix for 3.13.4+. - set_property(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" - PROPERTY -- Qt5Core_VERSION_MAJOR "${Qt5Core_VERSION_MAJOR}") -+ Qt${VTK_QT_VERSION}Core_VERSION_MAJOR "${Qt${VTK_QT_VERSION}Core_VERSION_MAJOR}") - set_property(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" - PROPERTY -- Qt5Core_VERSION_MINOR "${Qt5Core_VERSION_MAJOR}") -+ Qt5Core_VERSION_MINOR "${Qt${VTK_QT_VERSION}Core_VERSION_MAJOR}") - endif () - - set(_paraview_add_plugin_with_python 0) -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 37bd1965c..ef7e7d1eb 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -626,7 +626,7 @@ else () - - set(VTK_BUILD_QT_DESIGNER_PLUGIN OFF) - set(VTK_INSTALL_PYTHON_EXES OFF) -- set(VTK_QT_VERSION 5) -+ set(VTK_QT_VERSION 6) - - cmake_dependent_option(VTK_NO_PYTHON_THREADS "Disable Python Threads support" ON - "PARAVIEW_USE_PYTHON" OFF) -diff --git a/Clients/ParaView/CMakeLists.txt b/Clients/ParaView/CMakeLists.txt -index f51fe395b..bc132c095 100644 ---- a/Clients/ParaView/CMakeLists.txt -+++ b/Clients/ParaView/CMakeLists.txt -@@ -33,7 +33,7 @@ set(sources - ParaViewMainWindow.h - ParaViewMainWindow.ui) - --find_package(Qt5 REQUIRED QUIET COMPONENTS Core Widgets) -+find_package(Qt${VTK_QT_VERSION} REQUIRED QUIET COMPONENTS Core Widgets) - - if (APPLE) - # Enable high resolution when using Qt5 -@@ -76,13 +76,13 @@ paraview_client_add( - PLUGINS_TARGETS ParaView::paraview_plugins - APPLICATION_XMLS ${xmls}) - --find_package(Qt5 REQUIRED QUIET COMPONENTS Widgets) -+find_package(Qt${VTK_QT_VERSION} REQUIRED QUIET COMPONENTS Widgets) - - target_link_libraries(paraview - PRIVATE - ParaView::RemotingSettings -- Qt5::Core -- Qt5::Widgets) -+ Qt${VTK_QT_VERSION}::Core -+ Qt${VTK_QT_VERSION}::Widgets) - - target_compile_definitions(paraview - PRIVATE -diff --git a/Clients/ParaView/Documentation/CMakeLists.txt b/Clients/ParaView/Documentation/CMakeLists.txt -index c8d550f49..c4551367d 100644 ---- a/Clients/ParaView/Documentation/CMakeLists.txt -+++ b/Clients/ParaView/Documentation/CMakeLists.txt -@@ -43,7 +43,7 @@ paraview_client_generate_help( - - set(CMAKE_AUTORCC 1) - --find_package(Qt5 REQUIRED QUIET COMPONENTS Core) -+find_package(Qt${VTK_QT_VERSION} REQUIRED QUIET COMPONENTS Core) - - add_library(vtkParaViewDocumentation STATIC - ParaViewDocumentationInitializer.cxx -@@ -54,7 +54,7 @@ target_include_directories(vtkParaViewDocumentation - "$") - target_link_libraries(vtkParaViewDocumentation - PRIVATE -- Qt5::Core) -+ Qt${VTK_QT_VERSION}::Core) - - install( - FILES "${paraview_qch}" -diff --git a/Examples/CustomApplications/Demo0/CMakeLists.txt b/Examples/CustomApplications/Demo0/CMakeLists.txt -index 9c276bcc6..5a2682577 100644 ---- a/Examples/CustomApplications/Demo0/CMakeLists.txt -+++ b/Examples/CustomApplications/Demo0/CMakeLists.txt -@@ -16,10 +16,10 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}" - set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}") - set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}") - --find_package(Qt5 REQUIRED COMPONENTS Widgets) -+find_package(Qt${VTK_QT_VERSION} REQUIRED COMPONENTS Widgets) - - add_executable(DemoApp0 DemoApp0.cxx) - target_link_libraries(DemoApp0 - PRIVATE - ParaView::pqCore -- Qt5::Widgets) -+ Qt${VTK_QT_VERSION}::Widgets) -diff --git a/Examples/CustomApplications/Demo1/CMakeLists.txt b/Examples/CustomApplications/Demo1/CMakeLists.txt -index 4efa3df36..6579a769d 100644 ---- a/Examples/CustomApplications/Demo1/CMakeLists.txt -+++ b/Examples/CustomApplications/Demo1/CMakeLists.txt -@@ -16,7 +16,7 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}" - set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}") - set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}") - --find_package(Qt5 REQUIRED COMPONENTS Widgets) -+find_package(Qt${VTK_QT_VERSION} REQUIRED COMPONENTS Widgets) - - set(CMAKE_AUTOMOC 1) - set(CMAKE_AUTOUIC 1) -@@ -30,4 +30,4 @@ add_executable(DemoApp1 DemoApp1.cxx ${sources}) - target_link_libraries(DemoApp1 - PRIVATE - ParaView::pqApplicationComponents -- Qt5::Widgets) -+ Qt${VTK_QT_VERSION}::Widgets) -diff --git a/Examples/CustomApplications/Demo2/CMakeLists.txt b/Examples/CustomApplications/Demo2/CMakeLists.txt -index ccb4d43b5..3d4ca862a 100644 ---- a/Examples/CustomApplications/Demo2/CMakeLists.txt -+++ b/Examples/CustomApplications/Demo2/CMakeLists.txt -@@ -16,7 +16,7 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}" - set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}") - set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}") - --find_package(Qt5 REQUIRED COMPONENTS Widgets) -+find_package(Qt${VTK_QT_VERSION} REQUIRED COMPONENTS Widgets) - - set(CMAKE_AUTOMOC 1) - set(CMAKE_AUTOUIC 1) -@@ -30,6 +30,6 @@ add_executable(DemoApp2 DemoApp2.cxx ${sources}) - target_link_libraries(DemoApp2 - PRIVATE - ParaView::pqApplicationComponents -- Qt5::Widgets) -+ Qt${VTK_QT_VERSION}::Widgets) - - configure_file(ParaViewFilters.xml ${CMAKE_BINARY_DIR} COPYONLY) -diff --git a/Examples/Plugins/DockWidget/Plugin/CMakeLists.txt b/Examples/Plugins/DockWidget/Plugin/CMakeLists.txt -index d4c87afe1..96b5540ba 100644 ---- a/Examples/Plugins/DockWidget/Plugin/CMakeLists.txt -+++ b/Examples/Plugins/DockWidget/Plugin/CMakeLists.txt -@@ -1,4 +1,4 @@ --find_package(Qt5 REQUIRED COMPONENTS Widgets) -+find_package(Qt${VTK_QT_VERSION} REQUIRED COMPONENTS Widgets) - - set(interfaces) - set(sources -@@ -29,4 +29,4 @@ paraview_add_plugin(ExampleDockPanel - - target_link_libraries(ExampleDockPanel - PRIVATE -- Qt5::Widgets) -+ Qt${VTK_QT_VERSION}::Widgets) -diff --git a/Examples/Plugins/RepresentationBehavior/CMakeLists.txt b/Examples/Plugins/RepresentationBehavior/CMakeLists.txt -index b4d65f22a..0dfee987e 100644 ---- a/Examples/Plugins/RepresentationBehavior/CMakeLists.txt -+++ b/Examples/Plugins/RepresentationBehavior/CMakeLists.txt -@@ -17,7 +17,7 @@ if(NOT DEFINED CMAKE_MACOSX_RPATH) - set(CMAKE_MACOSX_RPATH 0) - endif() - --QT5_WRAP_CPP(MOC_SRCS -+QT${VTK_QT_VERSION}_WRAP_CPP(MOC_SRCS - pqRepresentationBehaviorStarter.h - pqSurfaceRepresentationBehavior.h) - -diff --git a/Plugins/CAVEInteraction/CMakeLists.txt b/Plugins/CAVEInteraction/CMakeLists.txt -index de862c006..ac214e9c4 100644 ---- a/Plugins/CAVEInteraction/CMakeLists.txt -+++ b/Plugins/CAVEInteraction/CMakeLists.txt -@@ -1,4 +1,4 @@ --find_package(Qt5 QUIET REQUIRED COMPONENTS Network) -+find_package(Qt${VTK_QT_VERSION} QUIET REQUIRED COMPONENTS Network) - - list(INSERT CMAKE_MODULE_PATH 0 - "${CMAKE_CURRENT_SOURCE_DIR}/cmake") -@@ -8,7 +8,7 @@ mark_as_advanced(PARAVIEW_PLUGIN_CAVEInteraction_USE_VRPN) - option(PARAVIEW_PLUGIN_CAVEInteraction_USE_VRUI "Build CAVEInteraction plugin with VRUI support" OFF) - mark_as_advanced(PARAVIEW_PLUGIN_CAVEInteraction_USE_VRUI) - --find_package(Qt5 REQUIRED COMPONENTS Network) -+find_package(Qt${VTK_QT_VERSION} REQUIRED COMPONENTS Network) - - # TODO: Should something be done with the files in samples/? - -@@ -132,7 +132,7 @@ target_link_libraries(CAVEInteraction - VTK::CommonMath - VTK::CommonTransforms - VTK::RenderingCore -- Qt5::Network) -+ Qt${VTK_QT_VERSION}::Network) - target_compile_definitions(CAVEInteraction PRIVATE QT_NO_KEYWORDS) - - if (PARAVIEW_PLUGIN_CAVEInteraction_USE_VRPN) -diff --git a/Plugins/LagrangianParticleTracker/pqIntegrationModelSeedHelperWidget.cxx b/Plugins/LagrangianParticleTracker/pqIntegrationModelSeedHelperWidget.cxx -index 1b5134345..3660a5867 100644 ---- a/Plugins/LagrangianParticleTracker/pqIntegrationModelSeedHelperWidget.cxx -+++ b/Plugins/LagrangianParticleTracker/pqIntegrationModelSeedHelperWidget.cxx -@@ -119,7 +119,7 @@ void pqIntegrationModelSeedHelperWidget::resetSeedWidget(bool force) - - // Create main layout - QGridLayout* gridLayout = new QGridLayout(this); -- gridLayout->setMargin(pqPropertiesPanel::suggestedMargin()); -+ gridLayout->setContentsMargins(pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin()); - gridLayout->setHorizontalSpacing(pqPropertiesPanel::suggestedHorizontalSpacing()); - gridLayout->setVerticalSpacing(pqPropertiesPanel::suggestedVerticalSpacing()); - gridLayout->setColumnStretch(0, 0); -@@ -143,7 +143,7 @@ void pqIntegrationModelSeedHelperWidget::resetSeedWidget(bool force) - - // Add a layout in each - QGridLayout* gbLayout = new QGridLayout(gb); -- gbLayout->setMargin(pqPropertiesPanel::suggestedMargin()); -+ gbLayout->setContentsMargins(pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin()); - gbLayout->setHorizontalSpacing(pqPropertiesPanel::suggestedHorizontalSpacing()); - gbLayout->setVerticalSpacing(pqPropertiesPanel::suggestedVerticalSpacing()); - gb->setLayout(gbLayout); -diff --git a/Plugins/PythonQtPlugin/CMakeLists.txt b/Plugins/PythonQtPlugin/CMakeLists.txt -index 928b48e14..c6e0d4c71 100644 ---- a/Plugins/PythonQtPlugin/CMakeLists.txt -+++ b/Plugins/PythonQtPlugin/CMakeLists.txt -@@ -1,4 +1,4 @@ --find_package(Qt5 QUIET REQUIRED COMPONENTS Widgets) -+find_package(Qt${VTK_QT_VERSION} QUIET REQUIRED COMPONENTS Widgets) - - list(INSERT CMAKE_MODULE_PATH 0 - "${CMAKE_CURRENT_SOURCE_DIR}/cmake") -diff --git a/Plugins/XRInterface/Plugin/CMakeLists.txt b/Plugins/XRInterface/Plugin/CMakeLists.txt -index b116e880c..4f1964d31 100644 ---- a/Plugins/XRInterface/Plugin/CMakeLists.txt -+++ b/Plugins/XRInterface/Plugin/CMakeLists.txt -@@ -1,4 +1,4 @@ --find_package(Qt5 REQUIRED COMPONENTS Widgets Network) -+find_package(Qt${VTK_QT_VERSION} REQUIRED COMPONENTS Widgets Network) - - set(required_modules "") - set(openxr_support FALSE) -diff --git a/Plugins/XRInterface/Plugin/Representations/CMakeLists.txt b/Plugins/XRInterface/Plugin/Representations/CMakeLists.txt -index bd45f6142..f8336705b 100644 ---- a/Plugins/XRInterface/Plugin/Representations/CMakeLists.txt -+++ b/Plugins/XRInterface/Plugin/Representations/CMakeLists.txt -@@ -6,13 +6,13 @@ set(sources) - set(xrInterfaceXMLs XRInterfaceRepresentations.xml) - - if (TARGET VTK::RenderingFFMPEGOpenGL2) -- find_package(Qt5 REQUIRED QUIET COMPONENTS Multimedia) -+ find_package(Qt${VTK_QT_VERSION} REQUIRED QUIET COMPONENTS Multimedia) - list(APPEND classes vtkSkyboxMovieRepresentation) - list(APPEND xrInterfaceXMLs XRInterfaceSkyboxMovieRepresentation.xml) - endif() - - if (PARAVIEW_USE_QTWEBENGINE) -- find_package(Qt5 REQUIRED QUIET COMPONENTS WebEngineWidgets Multimedia) -+ find_package(Qt${VTK_QT_VERSION} REQUIRED QUIET COMPONENTS WebEngineWidgets Multimedia) - list(APPEND sources vtkXRInterfaceWebView.ui) - list(APPEND classes - vtkXRInterfaceWebView -diff --git a/Qt/ApplicationComponents/CMakeLists.txt b/Qt/ApplicationComponents/CMakeLists.txt -index 6aa659fc6..3968b2951 100644 ---- a/Qt/ApplicationComponents/CMakeLists.txt -+++ b/Qt/ApplicationComponents/CMakeLists.txt -@@ -320,7 +320,7 @@ if (PARAVIEW_USE_QTHELP) - endif () - - vtk_module_find_package( -- PACKAGE Qt5 -+ PACKAGE Qt${VTK_QT_VERSION} - COMPONENTS ${qt_components}) - - source_group("Resources" FILES -@@ -339,12 +339,12 @@ vtk_module_add_module(ParaView::pqApplicationComponents - ${resource_files}) - vtk_module_link(ParaView::pqApplicationComponents - PRIVATE -- Qt5::Widgets -- Qt5::Svg -- Qt5::Network) -+ Qt${VTK_QT_VERSION}::Widgets -+ Qt${VTK_QT_VERSION}::Svg -+ Qt${VTK_QT_VERSION}::Network) - vtk_module_definitions(ParaView::pqApplicationComponents PRIVATE QT_NO_KEYWORDS) - if (PARAVIEW_USE_QTHELP) - vtk_module_link(ParaView::pqApplicationComponents - PRIVATE -- Qt5::Help) -+ Qt${VTK_QT_VERSION}::Help) - endif () -diff --git a/Qt/ApplicationComponents/pqBackgroundEditorWidget.cxx b/Qt/ApplicationComponents/pqBackgroundEditorWidget.cxx -index 1175a05ec..a2c1ced09 100644 ---- a/Qt/ApplicationComponents/pqBackgroundEditorWidget.cxx -+++ b/Qt/ApplicationComponents/pqBackgroundEditorWidget.cxx -@@ -83,12 +83,12 @@ public: - : PreviousType(SINGLE_COLOR_TYPE) - { - this->setupUi(self); -- this->mainLayout->setMargin(pqPropertiesPanel::suggestedMargin()); -+ this->mainLayout->setContentsMargins(pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin()); - this->mainLayout->setSpacing(pqPropertiesPanel::suggestedVerticalSpacing()); -- this->page1Layout->setMargin(pqPropertiesPanel::suggestedMargin()); -+ this->page1Layout->setContentsMargins(pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin()); - this->page1Layout->setHorizontalSpacing(pqPropertiesPanel::suggestedHorizontalSpacing()); - this->page1Layout->setVerticalSpacing(pqPropertiesPanel::suggestedVerticalSpacing()); -- this->page3Layout->setMargin(pqPropertiesPanel::suggestedMargin()); -+ this->page3Layout->setContentsMargins(pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin()); - this->page3Layout->setSpacing(pqPropertiesPanel::suggestedVerticalSpacing()); - } - }; -diff --git a/Qt/ApplicationComponents/pqCameraManipulatorWidget.cxx b/Qt/ApplicationComponents/pqCameraManipulatorWidget.cxx -index 7652f666a..26234257d 100644 ---- a/Qt/ApplicationComponents/pqCameraManipulatorWidget.cxx -+++ b/Qt/ApplicationComponents/pqCameraManipulatorWidget.cxx -@@ -120,7 +120,7 @@ pqCameraManipulatorWidget::pqCameraManipulatorWidget( - ui.setupUi(this); - ui.gridLayout->setVerticalSpacing(pqPropertiesPanel::suggestedVerticalSpacing()); - ui.gridLayout->setHorizontalSpacing(pqPropertiesPanel::suggestedHorizontalSpacing()); -- ui.gridLayout->setMargin(0); -+ ui.gridLayout->setContentsMargins(0,0,0,0); - - QPointer* boxes = this->Internals->Boxes; - boxes[0] = ui.comboBox_1; -diff --git a/Qt/ApplicationComponents/pqCheckableProperty.cxx b/Qt/ApplicationComponents/pqCheckableProperty.cxx -index 800897b28..496bf09d6 100644 ---- a/Qt/ApplicationComponents/pqCheckableProperty.cxx -+++ b/Qt/ApplicationComponents/pqCheckableProperty.cxx -@@ -75,7 +75,7 @@ pqCheckableProperty::pqCheckableProperty( - this->setChangeAvailableAsChangeFinished(true); - - auto* layoutLocal = new QHBoxLayout; -- layoutLocal->setMargin(pqPropertiesPanel::suggestedMargin()); -+ layoutLocal->setContentsMargins(pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin()); - layoutLocal->setSpacing(pqPropertiesPanel::suggestedHorizontalSpacing()); - this->setLayout(layoutLocal); - -diff --git a/Qt/ApplicationComponents/pqColorAnnotationsWidget.cxx b/Qt/ApplicationComponents/pqColorAnnotationsWidget.cxx -index df78e888a..8e99a70f7 100644 ---- a/Qt/ApplicationComponents/pqColorAnnotationsWidget.cxx -+++ b/Qt/ApplicationComponents/pqColorAnnotationsWidget.cxx -@@ -218,10 +218,10 @@ public: - { - this->SetCurrentPresetName(""); - this->Ui.setupUi(self); -- this->Ui.gridLayout->setMargin(pqPropertiesPanel::suggestedMargin()); -+ this->Ui.gridLayout->setContentsMargins(pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin()); - this->Ui.gridLayout->setVerticalSpacing(pqPropertiesPanel::suggestedVerticalSpacing()); - this->Ui.gridLayout->setHorizontalSpacing(pqPropertiesPanel::suggestedHorizontalSpacing()); -- this->Ui.verticalLayout->setMargin(pqPropertiesPanel::suggestedMargin()); -+ this->Ui.verticalLayout->setContentsMargins(pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin()); - this->Ui.verticalLayout->setSpacing(pqPropertiesPanel::suggestedVerticalSpacing()); - - this->Model = new pqAnnotationsModel(self); -diff --git a/Qt/ApplicationComponents/pqColorEditorPropertyWidget.cxx b/Qt/ApplicationComponents/pqColorEditorPropertyWidget.cxx -index 8229bd33c..1ba99001c 100644 ---- a/Qt/ApplicationComponents/pqColorEditorPropertyWidget.cxx -+++ b/Qt/ApplicationComponents/pqColorEditorPropertyWidget.cxx -@@ -62,7 +62,7 @@ pqColorEditorPropertyWidget::pqColorEditorPropertyWidget(vtkSMProxy* smProxy, QW - - Ui::ColorEditorPropertyWidget& Ui = this->Internals->Ui; - Ui.setupUi(this); -- Ui.gridLayout->setMargin(pqPropertiesPanel::suggestedMargin()); -+ Ui.gridLayout->setContentsMargins(pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin()); - Ui.gridLayout->setHorizontalSpacing(pqPropertiesPanel::suggestedHorizontalSpacing()); - Ui.gridLayout->setVerticalSpacing(pqPropertiesPanel::suggestedVerticalSpacing()); - -diff --git a/Qt/ApplicationComponents/pqColorMapEditor.cxx b/Qt/ApplicationComponents/pqColorMapEditor.cxx -index f3026bec2..8b518d781 100644 ---- a/Qt/ApplicationComponents/pqColorMapEditor.cxx -+++ b/Qt/ApplicationComponents/pqColorMapEditor.cxx -@@ -79,7 +79,7 @@ public: - this->Ui.setupUi(self); - - QVBoxLayout* vbox = new QVBoxLayout(this->Ui.PropertiesFrame); -- vbox->setMargin(0); -+ vbox->setContentsMargins(0,0,0,0); - vbox->setSpacing(0); - } - -diff --git a/Qt/ApplicationComponents/pqColorOpacityEditorWidget.cxx b/Qt/ApplicationComponents/pqColorOpacityEditorWidget.cxx -index a14d8bd01..b082339dd 100644 ---- a/Qt/ApplicationComponents/pqColorOpacityEditorWidget.cxx -+++ b/Qt/ApplicationComponents/pqColorOpacityEditorWidget.cxx -@@ -232,7 +232,7 @@ public: - , SignalsBlocker(new pqSignalsBlocker(self)) - { - this->Ui.setupUi(self); -- this->Ui.mainLayout->setMargin(pqPropertiesPanel::suggestedMargin()); -+ this->Ui.mainLayout->setContentsMargins(pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin()); - - this->Decorator = new pqColorOpacityEditorWidgetDecorator(nullptr, self); - -diff --git a/Qt/ApplicationComponents/pqColorPaletteSelectorWidget.cxx b/Qt/ApplicationComponents/pqColorPaletteSelectorWidget.cxx -index abab44ca3..36d0a2adb 100644 ---- a/Qt/ApplicationComponents/pqColorPaletteSelectorWidget.cxx -+++ b/Qt/ApplicationComponents/pqColorPaletteSelectorWidget.cxx -@@ -55,7 +55,7 @@ pqColorPaletteSelectorWidget::pqColorPaletteSelectorWidget( - - QVBoxLayout* vbox = new QVBoxLayout(this); - vbox->setSpacing(0); -- vbox->setMargin(0); -+ vbox->setContentsMargins(0,0,0,0); - - vtkSMSessionProxyManager* pxm = smproxy->GetSessionProxyManager(); - vtkSMProxyDefinitionManager* pdmgr = pxm->GetProxyDefinitionManager(); -@@ -91,7 +91,7 @@ pqColorPaletteSelectorWidget::pqColorPaletteSelectorWidget( - if (std::find(mainPalettes.cbegin(), mainPalettes.cend(), iter->GetProxyName()) == - mainPalettes.cend()) - { -- cbbox->addItem(prototype->GetXMLLabel(), prototype->GetXMLName()); -+ cbbox->addItem(prototype->GetXMLLabel(), QString(prototype->GetXMLName())); - } - } - -diff --git a/Qt/ApplicationComponents/pqColorSelectorPropertyWidget.cxx b/Qt/ApplicationComponents/pqColorSelectorPropertyWidget.cxx -index 14b743090..448fe3c87 100644 ---- a/Qt/ApplicationComponents/pqColorSelectorPropertyWidget.cxx -+++ b/Qt/ApplicationComponents/pqColorSelectorPropertyWidget.cxx -@@ -50,7 +50,7 @@ pqColorSelectorPropertyWidget::pqColorSelectorPropertyWidget( - - QVBoxLayout* vbox = new QVBoxLayout(this); - vbox->setSpacing(0); -- vbox->setMargin(0); -+ vbox->setContentsMargins(0,0,0,0); - - if (useDocumentationForLabels) - { -diff --git a/Qt/ApplicationComponents/pqCommandButtonPropertyWidget.cxx b/Qt/ApplicationComponents/pqCommandButtonPropertyWidget.cxx -index 12d36484b..eba09f8ab 100644 ---- a/Qt/ApplicationComponents/pqCommandButtonPropertyWidget.cxx -+++ b/Qt/ApplicationComponents/pqCommandButtonPropertyWidget.cxx -@@ -48,7 +48,7 @@ pqCommandButtonPropertyWidget::pqCommandButtonPropertyWidget( - { - QVBoxLayout* l = new QVBoxLayout; - l->setSpacing(0); -- l->setMargin(0); -+ l->setContentsMargins(0,0,0,0); - - QPushButton* button = new QPushButton(proxyProperty->GetXMLLabel()); - connect(button, SIGNAL(clicked()), this, SLOT(buttonClicked())); -diff --git a/Qt/ApplicationComponents/pqCommandLineOptionsBehavior.cxx b/Qt/ApplicationComponents/pqCommandLineOptionsBehavior.cxx -index 8801d1477..461da4bcf 100644 ---- a/Qt/ApplicationComponents/pqCommandLineOptionsBehavior.cxx -+++ b/Qt/ApplicationComponents/pqCommandLineOptionsBehavior.cxx -@@ -67,7 +67,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include - #include - #include --#include -+#include - #include - #include - -@@ -152,7 +152,7 @@ void pqCommandLineOptionsBehavior::processServerConnection() - if (serverURL.indexOf('|') != -1) - { - // We should connect multiple times -- const QStringList urls = serverURL.split(QRegExp("\\|"), PV_QT_SKIP_EMPTY_PARTS); -+ const QStringList urls = serverURL.split(QRegularExpression("\\|"), PV_QT_SKIP_EMPTY_PARTS); - for (const QString& url : urls) - { - if (!pqServerConnectReaction::connectToServer(pqServerResource(url), false)) -diff --git a/Qt/ApplicationComponents/pqCustomizeShortcutsDialog.cxx b/Qt/ApplicationComponents/pqCustomizeShortcutsDialog.cxx -index 74dfea1ec..f6cfa8f59 100644 ---- a/Qt/ApplicationComponents/pqCustomizeShortcutsDialog.cxx -+++ b/Qt/ApplicationComponents/pqCustomizeShortcutsDialog.cxx -@@ -41,6 +41,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include - #include - #include -+#include - - namespace - { -@@ -432,9 +433,9 @@ pqCustomizeShortcutsDialog::pqCustomizeShortcutsDialog(QWidget* parentObject) - connect(this->Internals->Ui.recordButton, &QAbstractButton::clicked, this, - [this]() { this->Internals->Ui.keySequenceEdit->setFocus(); }); - connect(this->Internals->Ui.searchBox, &pqSearchBox::textChanged, this, [this]() { -- QRegExp regex(this->Internals->Ui.searchBox->text(), Qt::CaseInsensitive); -+ QRegularExpression regex(this->Internals->Ui.searchBox->text(), QRegularExpression::CaseInsensitiveOption); - -- this->Internals->FilterModel->setFilterRegExp(regex); -+ this->Internals->FilterModel->setFilterRegularExpression(regex); - this->Internals->Ui.treeView->expandAll(); - }); - this->setWindowTitle("Customize Shortcuts"); -diff --git a/Qt/ApplicationComponents/pqDoubleRangeSliderPropertyWidget.cxx b/Qt/ApplicationComponents/pqDoubleRangeSliderPropertyWidget.cxx -index 9f7d66617..307ad5a68 100644 ---- a/Qt/ApplicationComponents/pqDoubleRangeSliderPropertyWidget.cxx -+++ b/Qt/ApplicationComponents/pqDoubleRangeSliderPropertyWidget.cxx -@@ -64,7 +64,7 @@ pqDoubleRangeSliderPropertyWidget::pqDoubleRangeSliderPropertyWidget( - Ui::DoubleRangeSliderPropertyWidget& ui = this->Internals->Ui; - ui.setupUi(this); - -- ui.gridLayout->setMargin(pqPropertiesPanel::suggestedMargin()); -+ ui.gridLayout->setContentsMargins(pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin()); - ui.gridLayout->setVerticalSpacing(pqPropertiesPanel::suggestedVerticalSpacing()); - ui.gridLayout->setHorizontalSpacing(pqPropertiesPanel::suggestedHorizontalSpacing()); - -diff --git a/Qt/ApplicationComponents/pqEqualizerPropertyWidget.cxx b/Qt/ApplicationComponents/pqEqualizerPropertyWidget.cxx -index 584f79db1..50ce1160a 100644 ---- a/Qt/ApplicationComponents/pqEqualizerPropertyWidget.cxx -+++ b/Qt/ApplicationComponents/pqEqualizerPropertyWidget.cxx -@@ -66,7 +66,7 @@ pqEqualizerPropertyWidget::pqEqualizerPropertyWidget( - - // Setup GUI - QGridLayout* layout = new QGridLayout(this); -- layout->setMargin(pqPropertiesPanel::suggestedMargin()); -+ layout->setContentsMargins(pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin()); - layout->setVerticalSpacing(pqPropertiesPanel::suggestedVerticalSpacing()); - layout->setHorizontalSpacing(pqPropertiesPanel::suggestedHorizontalSpacing()); - -diff --git a/Qt/ApplicationComponents/pqFileNamePropertyWidget.cxx b/Qt/ApplicationComponents/pqFileNamePropertyWidget.cxx -index 9acba56a2..5b4b344cb 100644 ---- a/Qt/ApplicationComponents/pqFileNamePropertyWidget.cxx -+++ b/Qt/ApplicationComponents/pqFileNamePropertyWidget.cxx -@@ -73,7 +73,7 @@ pqFileNamePropertyWidget::pqFileNamePropertyWidget( - } - - QHBoxLayout* layoutLocal = new QHBoxLayout; -- layoutLocal->setMargin(0); -+ layoutLocal->setContentsMargins(0,0,0,0); - layoutLocal->setSpacing(pqPropertiesPanel::suggestedHorizontalSpacing()); - - QLineEdit* lineEdit = new pqLineEdit(this); -diff --git a/Qt/ApplicationComponents/pqFindDataWidget.cxx b/Qt/ApplicationComponents/pqFindDataWidget.cxx -index 1f4ec82d1..3f310489e 100644 ---- a/Qt/ApplicationComponents/pqFindDataWidget.cxx -+++ b/Qt/ApplicationComponents/pqFindDataWidget.cxx -@@ -272,7 +272,7 @@ pqFindDataWidget::pqFindDataWidget(QWidget* parentObject) - { - auto& internals = (*this->Internals); - internals.Ui.setupUi(this); -- internals.Ui.verticalLayout->setMargin(pqPropertiesPanel::suggestedMargin()); -+ internals.Ui.verticalLayout->setContentsMargins(pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin()); - internals.Ui.verticalLayout->setSpacing(pqPropertiesPanel::suggestedVerticalSpacing()); - - // change the findData button palette so it is green when it is enabled. -diff --git a/Qt/ApplicationComponents/pqFontPropertyWidget.cxx b/Qt/ApplicationComponents/pqFontPropertyWidget.cxx -index 156e39160..5481e1d2d 100644 ---- a/Qt/ApplicationComponents/pqFontPropertyWidget.cxx -+++ b/Qt/ApplicationComponents/pqFontPropertyWidget.cxx -@@ -50,7 +50,7 @@ public: - pqInternals(pqFontPropertyWidget* self) - { - this->Ui.setupUi(self); -- this->Ui.mainLayout->setMargin(pqPropertiesPanel::suggestedMargin()); -+ this->Ui.mainLayout->setContentsMargins(pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin()); - this->Ui.mainLayout->setSpacing(pqPropertiesPanel::suggestedHorizontalSpacing()); - } - -diff --git a/Qt/ApplicationComponents/pqListPropertyWidget.cxx b/Qt/ApplicationComponents/pqListPropertyWidget.cxx -index df1f8d616..c42d70e55 100644 ---- a/Qt/ApplicationComponents/pqListPropertyWidget.cxx -+++ b/Qt/ApplicationComponents/pqListPropertyWidget.cxx -@@ -94,7 +94,7 @@ pqListPropertyWidget::pqListPropertyWidget( - this->TableWidget->setHorizontalHeaderLabels(headerLabels); - - QHBoxLayout* hbox = new QHBoxLayout(this); -- hbox->setMargin(0); -+ hbox->setContentsMargins(0,0,0,0); - hbox->setSpacing(0); - hbox->addWidget(this->TableWidget); - -diff --git a/Qt/ApplicationComponents/pqLoadDataReaction.cxx b/Qt/ApplicationComponents/pqLoadDataReaction.cxx -index b9d348c62..b056c0888 100644 ---- a/Qt/ApplicationComponents/pqLoadDataReaction.cxx -+++ b/Qt/ApplicationComponents/pqLoadDataReaction.cxx -@@ -55,6 +55,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include - #include - #include -+#include - - #include - -diff --git a/Qt/ApplicationComponents/pqLoadDataReaction.h b/Qt/ApplicationComponents/pqLoadDataReaction.h -index 5a3f81fcc..0ac81f1ee 100644 ---- a/Qt/ApplicationComponents/pqLoadDataReaction.h -+++ b/Qt/ApplicationComponents/pqLoadDataReaction.h -@@ -35,8 +35,8 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include "pqReaction.h" - - #include -+#include - --class QStringList; - class pqPipelineSource; - class pqServer; - class vtkSMReaderFactory; -diff --git a/Qt/ApplicationComponents/pqMoleculePropertyWidget.cxx b/Qt/ApplicationComponents/pqMoleculePropertyWidget.cxx -index 1f788de5f..c8a85d436 100644 ---- a/Qt/ApplicationComponents/pqMoleculePropertyWidget.cxx -+++ b/Qt/ApplicationComponents/pqMoleculePropertyWidget.cxx -@@ -57,7 +57,7 @@ public: - , showAdvancedProperties(false) - { - this->Ui.setupUi(self); -- this->Ui.wdgLayout->setMargin(pqPropertiesPanel::suggestedMargin()); -+ this->Ui.wdgLayout->setContentsMargins(pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin()); - this->Ui.wdgLayout->setSpacing(pqPropertiesPanel::suggestedHorizontalSpacing()); - } - }; -diff --git a/Qt/ApplicationComponents/pqParaViewBehaviors.cxx b/Qt/ApplicationComponents/pqParaViewBehaviors.cxx -index 70ca91c4c..51d56e098 100644 ---- a/Qt/ApplicationComponents/pqParaViewBehaviors.cxx -+++ b/Qt/ApplicationComponents/pqParaViewBehaviors.cxx -@@ -312,7 +312,7 @@ pqParaViewBehaviors::pqParaViewBehaviors(QMainWindow* mainWindow, QObject* paren - QShortcut* ctrlSpace = new QShortcut(Qt::CTRL + Qt::Key_Space, mainWindow); - QObject::connect( - ctrlSpace, SIGNAL(activated()), pqApplicationCore::instance(), SLOT(quickLaunch())); -- QShortcut* ctrlShiftSpace = new QShortcut(Qt::CTRL + Qt::SHIFT + Qt::Key_Space, mainWindow); -+ QShortcut* ctrlShiftSpace = new QShortcut(QKeySequence(Qt::CTRL,Qt::SHIFT,Qt::Key_Space), mainWindow); - QObject::connect( - ctrlShiftSpace, SIGNAL(activated()), pqApplicationCore::instance(), SLOT(quickLaunch())); - QShortcut* altSpace = new QShortcut(Qt::ALT + Qt::Key_Space, mainWindow); -diff --git a/Qt/ApplicationComponents/pqPauseLiveSourcePropertyWidget.cxx b/Qt/ApplicationComponents/pqPauseLiveSourcePropertyWidget.cxx -index 7b47c2331..b9a527dd9 100644 ---- a/Qt/ApplicationComponents/pqPauseLiveSourcePropertyWidget.cxx -+++ b/Qt/ApplicationComponents/pqPauseLiveSourcePropertyWidget.cxx -@@ -43,7 +43,7 @@ pqPauseLiveSourcePropertyWidget::pqPauseLiveSourcePropertyWidget( - { - auto l = new QVBoxLayout(this); - l->setSpacing(0); -- l->setMargin(0); -+ l->setContentsMargins(0,0,0,0); - - auto button = new QPushButton(smproperty->GetXMLLabel()); - button->setCheckable(true); -diff --git a/Qt/ApplicationComponents/pqPluginActionGroupBehavior.cxx b/Qt/ApplicationComponents/pqPluginActionGroupBehavior.cxx -index 42d0df52e..1ae9d9edd 100644 ---- a/Qt/ApplicationComponents/pqPluginActionGroupBehavior.cxx -+++ b/Qt/ApplicationComponents/pqPluginActionGroupBehavior.cxx -@@ -40,6 +40,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include - #include - #include -+#include - - namespace - { -diff --git a/Qt/ApplicationComponents/pqSelectionQueryPropertyWidget.cxx b/Qt/ApplicationComponents/pqSelectionQueryPropertyWidget.cxx -index f65f05bc1..0fa92649c 100644 ---- a/Qt/ApplicationComponents/pqSelectionQueryPropertyWidget.cxx -+++ b/Qt/ApplicationComponents/pqSelectionQueryPropertyWidget.cxx -@@ -220,7 +220,7 @@ private: - case COMMA_SEPARATED_VALUES: - { - auto vbox = new QVBoxLayout(this); -- vbox->setMargin(0); -+ vbox->setContentsMargins(0,0,0,0); - vbox->setSpacing(pqPropertiesPanel::suggestedVerticalSpacing()); - auto edit = new pqLineEdit(this); - this->LineEdits.push_back(edit); -@@ -234,7 +234,7 @@ private: - case RANGE_PAIR: - { - auto hbox = new QHBoxLayout(this); -- hbox->setMargin(0); -+ hbox->setContentsMargins(0,0,0,0); - hbox->setSpacing(pqPropertiesPanel::suggestedHorizontalSpacing()); - - auto editMin = new pqLineEdit(this); -@@ -259,7 +259,7 @@ private: - case LOCATION_WITH_TOLERANCE: - { - auto grid = new QGridLayout(this); -- grid->setMargin(0); -+ grid->setContentsMargins(0,0,0,0); - grid->setVerticalSpacing(pqPropertiesPanel::suggestedVerticalSpacing()); - grid->setHorizontalSpacing(pqPropertiesPanel::suggestedHorizontalSpacing()); - auto editX = new pqDoubleLineEdit(this); -@@ -332,7 +332,7 @@ public: - this->Operator->setSizeAdjustPolicy(QComboBox::AdjustToContents); - - auto hbox = new QHBoxLayout(this); -- hbox->setMargin(0); -+ hbox->setContentsMargins(0,0,0,0); - hbox->setSpacing(pqPropertiesPanel::suggestedHorizontalSpacing()); - hbox->addWidget(this->Term, 0, Qt::AlignTop); - hbox->addWidget(this->Operator, 0, Qt::AlignTop); -@@ -620,7 +620,7 @@ class pqSelectionQueryPropertyWidget::pqInternals - void insertQuery(int index, const QString& expr = QString()) - { - auto hbox = new QHBoxLayout(); -- hbox->setMargin(0); -+ hbox->setContentsMargins(0,0,0,0); - hbox->setSpacing(pqPropertiesPanel::suggestedHorizontalSpacing()); - - auto wdg = new QueryWidgetType(this->Parent); -@@ -704,7 +704,7 @@ public: - : Parent(self) - { - auto vbox = new QVBoxLayout(self); -- vbox->setMargin(0); -+ vbox->setContentsMargins(0,0,0,0); - vbox->setSpacing(pqPropertiesPanel::suggestedVerticalSpacing()); - } - -diff --git a/Qt/ApplicationComponents/pqSelectionQueryPropertyWidget.h b/Qt/ApplicationComponents/pqSelectionQueryPropertyWidget.h -index 266c0dced..e992ef390 100644 ---- a/Qt/ApplicationComponents/pqSelectionQueryPropertyWidget.h -+++ b/Qt/ApplicationComponents/pqSelectionQueryPropertyWidget.h -@@ -36,8 +36,8 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include "pqPropertyWidget.h" - - #include // for QScopedPointer. -+#include - --class QStringList; - - /** - * @class pqSelectionQueryPropertyWidget -diff --git a/Qt/ApplicationComponents/pqSeriesEditorPropertyWidget.cxx b/Qt/ApplicationComponents/pqSeriesEditorPropertyWidget.cxx -index 01b7b5267..be270a60e 100644 ---- a/Qt/ApplicationComponents/pqSeriesEditorPropertyWidget.cxx -+++ b/Qt/ApplicationComponents/pqSeriesEditorPropertyWidget.cxx -@@ -128,7 +128,7 @@ public: - vtkSMPropertyHelper(lutProxy, "IndexedLookup").Set(1); - - this->Ui.setupUi(self); -- this->Ui.wdgLayout->setMargin(pqPropertiesPanel::suggestedMargin()); -+ this->Ui.wdgLayout->setContentsMargins(pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin()); - this->Ui.wdgLayout->setHorizontalSpacing(pqPropertiesPanel::suggestedHorizontalSpacing()); - this->Ui.wdgLayout->setVerticalSpacing(pqPropertiesPanel::suggestedVerticalSpacing()); - -diff --git a/Qt/ApplicationComponents/pqStandardViewFrameActionsImplementation.cxx b/Qt/ApplicationComponents/pqStandardViewFrameActionsImplementation.cxx -index fe9a17ffb..359e88c71 100644 ---- a/Qt/ApplicationComponents/pqStandardViewFrameActionsImplementation.cxx -+++ b/Qt/ApplicationComponents/pqStandardViewFrameActionsImplementation.cxx -@@ -76,6 +76,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include - #include - #include -+#include - - #include - #include -diff --git a/Qt/ApplicationComponents/pqTextLocationWidget.cxx b/Qt/ApplicationComponents/pqTextLocationWidget.cxx -index eab16a74f..732b18174 100644 ---- a/Qt/ApplicationComponents/pqTextLocationWidget.cxx -+++ b/Qt/ApplicationComponents/pqTextLocationWidget.cxx -@@ -50,7 +50,7 @@ public: - pqInternals(pqTextLocationWidget* self) - { - this->Ui.setupUi(self); -- this->Ui.gridLayout->setMargin(pqPropertiesPanel::suggestedMargin()); -+ this->Ui.gridLayout->setContentsMargins(pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin()); - this->Ui.gridLayout->setSpacing(pqPropertiesPanel::suggestedHorizontalSpacing()); - - // Add location enum values to the buttons -diff --git a/Qt/ApplicationComponents/pqViewResolutionPropertyWidget.cxx b/Qt/ApplicationComponents/pqViewResolutionPropertyWidget.cxx -index bee6a033e..47314b3ab 100644 ---- a/Qt/ApplicationComponents/pqViewResolutionPropertyWidget.cxx -+++ b/Qt/ApplicationComponents/pqViewResolutionPropertyWidget.cxx -@@ -43,6 +43,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include - #include - #include -+#include - - class pqViewResolutionPropertyWidget::pqInternals - { -diff --git a/Qt/ApplicationComponents/pqViewTypePropertyWidget.cxx b/Qt/ApplicationComponents/pqViewTypePropertyWidget.cxx -index bd4efc988..e14fb95ca 100644 ---- a/Qt/ApplicationComponents/pqViewTypePropertyWidget.cxx -+++ b/Qt/ApplicationComponents/pqViewTypePropertyWidget.cxx -@@ -49,7 +49,7 @@ pqViewTypePropertyWidget::pqViewTypePropertyWidget( - this->ComboBox = new QComboBox(this); - this->ComboBox->setObjectName("ComboBox"); - QVBoxLayout* vbox = new QVBoxLayout(this); -- vbox->setMargin(0); -+ vbox->setContentsMargins(0,0,0,0); - vbox->addWidget(this->ComboBox); - - this->ComboBox->addItem("None", QVariant("None")); -diff --git a/Qt/Components/CMakeLists.txt b/Qt/Components/CMakeLists.txt -index 1c4b9950a..4ccf4f75c 100644 ---- a/Qt/Components/CMakeLists.txt -+++ b/Qt/Components/CMakeLists.txt -@@ -254,7 +254,7 @@ set(resource_files - Resources/pqComponents.qrc) - - vtk_module_find_package( -- PACKAGE Qt5 -+ PACKAGE Qt${VTK_QT_VERSION} - COMPONENTS Network Widgets) - - source_group("Resources" FILES -@@ -273,6 +273,6 @@ vtk_module_add_module(ParaView::pqComponents - ${resource_files}) - vtk_module_link(ParaView::pqComponents - PRIVATE -- Qt5::Network -- Qt5::Widgets) -+ Qt${VTK_QT_VERSION}::Network -+ Qt${VTK_QT_VERSION}::Widgets) - vtk_module_definitions(ParaView::pqComponents PRIVATE QT_NO_KEYWORDS) -diff --git a/Qt/Components/Resources/UI/pqAboutDialog.ui b/Qt/Components/Resources/UI/pqAboutDialog.ui -index 387cfe4a7..cbea4be71 100644 ---- a/Qt/Components/Resources/UI/pqAboutDialog.ui -+++ b/Qt/Components/Resources/UI/pqAboutDialog.ui -@@ -1,7 +1,14 @@ - - -+ -+ -+ pqAboutDialog -+ QDialog -+
pqAboutDialog.h
-+
-+
- pqAboutDialog -- -+ - - - 0 - diff --git a/Qt/Components/Resources/UI/pqAboutDialog.ui b/Qt/Components/Resources/UI/pqAboutDialog.ui -diff --git a/Qt/Components/Testing/Cxx/CMakeLists.txt b/Qt/Components/Testing/Cxx/CMakeLists.txt -index 73430cd93..720041a1c 100644 ---- a/Qt/Components/Testing/Cxx/CMakeLists.txt -+++ b/Qt/Components/Testing/Cxx/CMakeLists.txt -@@ -1,14 +1,14 @@ --find_package(Qt5 REQUIRED COMPONENTS Core Widgets) -+find_package(Qt${VTK_QT_VERSION} REQUIRED COMPONENTS Core Widgets) - set(CMAKE_AUTOMOC 1) - vtk_module_test_executable(pqPipelineApp FilteredPipelineBrowserApp.cxx FilteredPipelineBrowserApp.h) --target_link_libraries(pqPipelineApp PRIVATE Qt5::Core Qt5::Widgets) -+target_link_libraries(pqPipelineApp PRIVATE Qt${VTK_QT_VERSION}::Core Qt${VTK_QT_VERSION}::Widgets) - #ADD_TEST(pqPipelineApp "${EXECUTABLE_OUTPUT_PATH}/pqPipelineApp" -dr "--test-directory=${PARAVIEW_TEST_DIR}") - - set(tests_sources - TabbedMultiViewWidgetFilteringApp.cxx) - create_test_sourcelist(tests pqComponentsTest.cxx ${tests_sources}) - vtk_module_test_executable(pqComponentsTest ${tests}) --target_link_libraries(pqComponentsTest PRIVATE Qt5::Core Qt5::Widgets) -+target_link_libraries(pqComponentsTest PRIVATE Qt${VTK_QT_VERSION}::Core Qt${VTK_QT_VERSION}::Widgets) - - foreach(test_file IN LISTS tests_sources) - get_filename_component(test "${test_file}" NAME_WE) -diff --git a/Qt/Components/pqAnimationViewWidget.cxx b/Qt/Components/pqAnimationViewWidget.cxx -index 1efa71732..d8f29afde 100644 ---- a/Qt/Components/pqAnimationViewWidget.cxx -+++ b/Qt/Components/pqAnimationViewWidget.cxx -@@ -274,12 +274,12 @@ pqAnimationViewWidget::pqAnimationViewWidget(QWidget* _parent) - { - this->Internal = new pqAnimationViewWidget::pqInternal(); - QVBoxLayout* vboxlayout = new QVBoxLayout(this); -- vboxlayout->setMargin(2); -+ vboxlayout->setContentsMargins(2,2,2,2); - vboxlayout->setSpacing(2); - - QHBoxLayout* hboxlayout = new QHBoxLayout; - vboxlayout->addLayout(hboxlayout); -- hboxlayout->setMargin(0); -+ hboxlayout->setContentsMargins(0,0,0,0); - hboxlayout->setSpacing(2); - - hboxlayout->addWidget(new QLabel("Mode:", this)); -@@ -343,7 +343,7 @@ pqAnimationViewWidget::pqAnimationViewWidget(QWidget* _parent) - this->Internal->AnimationWidget->animationModel()->setTimePrecision( - vtkPVGeneralSettings::GetInstance()->GetAnimationTimePrecision()); - this->Internal->AnimationWidget->animationModel()->setTimeNotation( -- vtkPVGeneralSettings::GetInstance()->GetAnimationTimeNotation()); -+ QChar(vtkPVGeneralSettings::GetInstance()->GetAnimationTimeNotation())); - - pqCoreUtilities::connect(vtkPVGeneralSettings::GetInstance(), vtkCommand::ModifiedEvent, this, - SLOT(generalSettingsChanged())); -@@ -359,7 +359,7 @@ pqAnimationViewWidget::pqAnimationViewWidget(QWidget* _parent) - this->Internal->CreateSource->setSizeAdjustPolicy(QComboBox::AdjustToContents); - this->Internal->CreateProperty->setSizeAdjustPolicy(QComboBox::AdjustToContents); - QHBoxLayout* l = new QHBoxLayout(w); -- l->setMargin(0); -+ l->setContentsMargins(0,0,0,0); - l->addSpacing(6); - l->addWidget(this->Internal->CreateSource); - l->addWidget(this->Internal->CreateProperty); -@@ -1134,7 +1134,7 @@ void pqAnimationViewWidget::generalSettingsChanged() - this->Internal->AnimationWidget->animationModel()->setTimePrecision( - vtkPVGeneralSettings::GetInstance()->GetAnimationTimePrecision()); - this->Internal->AnimationWidget->animationModel()->setTimeNotation( -- vtkPVGeneralSettings::GetInstance()->GetAnimationTimeNotation()); -+ QChar(vtkPVGeneralSettings::GetInstance()->GetAnimationTimeNotation())); - } - - //----------------------------------------------------------------------------- -diff --git a/Qt/Components/pqArrayListWidget.cxx b/Qt/Components/pqArrayListWidget.cxx -index 33a6e7202..e4aab913f 100644 ---- a/Qt/Components/pqArrayListWidget.cxx -+++ b/Qt/Components/pqArrayListWidget.cxx -@@ -122,7 +122,7 @@ pqArrayListWidget::pqArrayListWidget(QWidget* parent) - auto lay = new QVBoxLayout(this); - this->TableView = new pqExpandableTableView(this); - lay->addWidget(this->TableView); -- lay->setMargin(0); -+ lay->setContentsMargins(0,0,0,0); - lay->setSpacing(2); - - pqHeaderView* myheader = new pqHeaderView(Qt::Horizontal, this->TableView); -diff --git a/Qt/Components/pqArraySelectorPropertyWidget.cxx b/Qt/Components/pqArraySelectorPropertyWidget.cxx -index 94251e7ff..3da5f55c0 100644 ---- a/Qt/Components/pqArraySelectorPropertyWidget.cxx -+++ b/Qt/Components/pqArraySelectorPropertyWidget.cxx -@@ -239,7 +239,7 @@ pqArraySelectorPropertyWidget::pqArraySelectorPropertyWidget( - - auto l = new QVBoxLayout(this); - l->setSpacing(0); -- l->setMargin(0); -+ l->setContentsMargins(0,0,0,0); - - auto combobox = new QComboBox(this); - combobox->setObjectName("ComboBox"); -diff --git a/Qt/Components/pqArrayStatusPropertyWidget.cxx b/Qt/Components/pqArrayStatusPropertyWidget.cxx -index 4958265a0..d5904de1d 100644 ---- a/Qt/Components/pqArrayStatusPropertyWidget.cxx -+++ b/Qt/Components/pqArrayStatusPropertyWidget.cxx -@@ -136,7 +136,7 @@ pqArrayStatusPropertyWidget::pqArrayStatusPropertyWidget( - - QHBoxLayout* hbox = new QHBoxLayout(this); - hbox->addWidget(selectorWidget); -- hbox->setMargin(0); -+ hbox->setContentsMargins(0,0,0,0); - hbox->setSpacing(4); - - for (unsigned int cc = 0; cc < smgroup->GetNumberOfProperties(); cc++) -@@ -210,7 +210,7 @@ pqArrayStatusPropertyWidget::pqArrayStatusPropertyWidget( - - QHBoxLayout* hbox = new QHBoxLayout(this); - hbox->addWidget(selectorWidget); -- hbox->setMargin(0); -+ hbox->setContentsMargins(0,0,0,0); - hbox->setSpacing(4); - - const char* property_name = smproxy->GetPropertyName(smproperty); -diff --git a/Qt/Components/pqCameraKeyFrameWidget.cxx b/Qt/Components/pqCameraKeyFrameWidget.cxx -index d5a635a10..d3e043045 100644 ---- a/Qt/Components/pqCameraKeyFrameWidget.cxx -+++ b/Qt/Components/pqCameraKeyFrameWidget.cxx -@@ -197,7 +197,7 @@ pqCameraKeyFrameWidget::pqCameraKeyFrameWidget(QWidget* parentObject) - this->Internal->PSplineWidget->filterWidgets(); - - (new QVBoxLayout(this->Internal->positionContainer))->addWidget(this->Internal->PSplineWidget); -- this->Internal->positionContainer->layout()->setMargin(0); -+ this->Internal->positionContainer->layout()->setContentsMargins(0,0,0,0); - - this->Internal->FSplineProxy.TakeReference(pxm->NewProxy("parametric_functions", "Spline")); - this->Internal->PSplineProxy->SetLocation(vtkPVSession::CLIENT); -@@ -210,7 +210,7 @@ pqCameraKeyFrameWidget::pqCameraKeyFrameWidget(QWidget* parentObject) - this->Internal->FSplineWidget->filterWidgets(); - - (new QVBoxLayout(this->Internal->focusContainer))->addWidget(this->Internal->FSplineWidget); -- this->Internal->focusContainer->layout()->setMargin(0); -+ this->Internal->focusContainer->layout()->setContentsMargins(0,0,0,0); - } - - //----------------------------------------------------------------------------- -diff --git a/Qt/Components/pqComboBoxDomain.cxx b/Qt/Components/pqComboBoxDomain.cxx -index bde1fc79d..d6091d01d 100644 ---- a/Qt/Components/pqComboBoxDomain.cxx -+++ b/Qt/Components/pqComboBoxDomain.cxx -@@ -264,15 +264,15 @@ void pqComboBoxDomain::internalDomainChanged() - QList proxies = pqSMAdaptor::getProxyPropertyDomain(this->Internal->Property); - Q_FOREACH (vtkSMProxy* pxy, proxies) - { -- texts.append(pxy->GetXMLLabel()); -- data.append(pxy->GetXMLLabel()); -+ texts.append(QString(pxy->GetXMLLabel())); -+ data.append(QString(pxy->GetXMLLabel())); - infos.append(QString()); - icons.append(QIcon()); - } - pqSMProxy cur_value = pqSMAdaptor::getProxyProperty(this->Internal->Property); - if (cur_value) - { -- cur_property_value = cur_value->GetXMLLabel(); -+ cur_property_value = QString(cur_value->GetXMLLabel()); - } - } - -@@ -350,7 +350,7 @@ void pqComboBoxDomain::internalDomainChanged() - pqSMProxy cur_value = pqSMAdaptor::getProxyProperty(this->Internal->Property); - if (cur_value) - { -- cur_property_value = cur_value->GetXMLLabel(); -+ cur_property_value = QString(cur_value->GetXMLLabel()); - } - } - break; -diff --git a/Qt/Components/pqCommandPropertyWidget.cxx b/Qt/Components/pqCommandPropertyWidget.cxx -index adbee9842..38a558450 100644 ---- a/Qt/Components/pqCommandPropertyWidget.cxx -+++ b/Qt/Components/pqCommandPropertyWidget.cxx -@@ -54,7 +54,7 @@ pqCommandPropertyWidget::pqCommandPropertyWidget( - QObject::connect(button, SIGNAL(clicked()), this, SLOT(buttonClicked())); - - QHBoxLayout* layoutLocal = new QHBoxLayout(this); -- layoutLocal->setMargin(0); -+ layoutLocal->setContentsMargins(0,0,0,0); - layoutLocal->addWidget(button); - layoutLocal->addStretch(); - this->setShowLabel(false); -diff --git a/Qt/Components/pqComparativeCueWidget.cxx b/Qt/Components/pqComparativeCueWidget.cxx -index c0842e0e5..bfbb616db 100644 ---- a/Qt/Components/pqComparativeCueWidget.cxx -+++ b/Qt/Components/pqComparativeCueWidget.cxx -@@ -32,7 +32,8 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include "pqComparativeCueWidget.h" - #include "ui_pqComparativeParameterRangeDialog.h" - --#include -+#include -+#include - - #include "pqQtDeprecated.h" - #include "pqUndoStack.h" -@@ -249,10 +250,10 @@ void pqComparativeCueWidget::editRange() - ui.multivalueHint->setVisible(csv); - ui.mode->setVisible(ranges[0].rowCount() > 1 && ranges[0].columnCount() > 1); - -- QRegExp floatNum = QRegExp("[-+]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?"); -- QRegExp csvFloatNum = QRegExp(QString("%1(,%1)*").arg(floatNum.pattern())); -- ui.minValue->setValidator(new QRegExpValidator(csv ? csvFloatNum : floatNum, ui.minValue)); -- ui.maxValue->setValidator(new QRegExpValidator(csv ? csvFloatNum : floatNum, ui.maxValue)); -+ QRegularExpression floatNum = QRegularExpression("[-+]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?"); -+ QRegularExpression csvFloatNum = QRegularExpression(QString("%1(,%1)*").arg(floatNum.pattern())); -+ ui.minValue->setValidator(new QRegularExpressionValidator(csv ? csvFloatNum : floatNum, ui.minValue)); -+ ui.maxValue->setValidator(new QRegularExpressionValidator(csv ? csvFloatNum : floatNum, ui.maxValue)); - - if (dialog.exec() != QDialog::Accepted) - { -diff --git a/Qt/Components/pqCustomFilterManager.h b/Qt/Components/pqCustomFilterManager.h -index 0d5f2b722..6d2900aad 100644 ---- a/Qt/Components/pqCustomFilterManager.h -+++ b/Qt/Components/pqCustomFilterManager.h -@@ -40,11 +40,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - #include "pqComponentsModule.h" - #include -+#include - - class pqCustomFilterManagerForm; - class pqCustomFilterManagerModel; - class QItemSelection; --class QStringList; - - /** - * \class pqCustomFilterManager -diff --git a/Qt/Components/pqDataInformationWidget.cxx b/Qt/Components/pqDataInformationWidget.cxx -index 0a0d3db55..971f25b27 100644 ---- a/Qt/Components/pqDataInformationWidget.cxx -+++ b/Qt/Components/pqDataInformationWidget.cxx -@@ -117,7 +117,7 @@ pqDataInformationWidget::pqDataInformationWidget(QWidget* _parent /*=0*/) - QVBoxLayout* _layout = new QVBoxLayout(this); - if (_layout) - { -- _layout->setMargin(0); -+ _layout->setContentsMargins(0,0,0,0); - _layout->addWidget(this->View); - } - -diff --git a/Qt/Components/pqDisplayColorWidget.cxx b/Qt/Components/pqDisplayColorWidget.cxx -index 3e0e50bc7..b36119de1 100644 ---- a/Qt/Components/pqDisplayColorWidget.cxx -+++ b/Qt/Components/pqDisplayColorWidget.cxx -@@ -253,7 +253,7 @@ pqDisplayColorWidget::pqDisplayColorWidget(QWidget* parentObject) - this->SolidColorIcon = new QIcon(":/pqWidgets/Icons/pqSolidColor.svg"); - - QHBoxLayout* hbox = new QHBoxLayout(this); -- hbox->setMargin(0); -+ hbox->setContentsMargins(0,0,0,0); - hbox->setSpacing(pqPropertiesPanel::suggestedHorizontalSpacing()); - - this->Variables = new QComboBox(this); -diff --git a/Qt/Components/pqDisplayPanelPropertyWidget.cxx b/Qt/Components/pqDisplayPanelPropertyWidget.cxx -index 55336fa31..8baf05a87 100644 ---- a/Qt/Components/pqDisplayPanelPropertyWidget.cxx -+++ b/Qt/Components/pqDisplayPanelPropertyWidget.cxx -@@ -41,7 +41,7 @@ pqDisplayPanelPropertyWidget::pqDisplayPanelPropertyWidget( - this->DisplayPanel = panel; - - QVBoxLayout* layoutLocal = new QVBoxLayout; -- layoutLocal->setMargin(0); -+ layoutLocal->setContentsMargins(0,0,0,0); - layoutLocal->addWidget(panel); - setLayout(layoutLocal); - } -diff --git a/Qt/Components/pqDisplayRepresentationWidget.cxx b/Qt/Components/pqDisplayRepresentationWidget.cxx -index 2992dc873..037e34f11 100644 ---- a/Qt/Components/pqDisplayRepresentationWidget.cxx -+++ b/Qt/Components/pqDisplayRepresentationWidget.cxx -@@ -252,7 +252,7 @@ pqDisplayRepresentationPropertyWidget::pqDisplayRepresentationPropertyWidget( - : pqPropertyWidget(smProxy, parentObject) - { - QVBoxLayout* layoutLocal = new QVBoxLayout; -- layoutLocal->setMargin(0); -+ layoutLocal->setContentsMargins(0,0,0,0); - this->Widget = new pqDisplayRepresentationWidget(this); - layoutLocal->addWidget(this->Widget); - setLayout(layoutLocal); -diff --git a/Qt/Components/pqDoubleVectorPropertyWidget.cxx b/Qt/Components/pqDoubleVectorPropertyWidget.cxx -index 050c218c0..2e001af3f 100644 ---- a/Qt/Components/pqDoubleVectorPropertyWidget.cxx -+++ b/Qt/Components/pqDoubleVectorPropertyWidget.cxx -@@ -102,7 +102,7 @@ pqDoubleVectorPropertyWidget::pqDoubleVectorPropertyWidget( - } - - QHBoxLayout* layoutLocal = new QHBoxLayout; -- layoutLocal->setMargin(0); -+ layoutLocal->setContentsMargins(0,0,0,0); - layoutLocal->setSpacing(pqPropertiesPanel::suggestedHorizontalSpacing()); - - this->setLayout(layoutLocal); -diff --git a/Qt/Components/pqExpressionsWidget.cxx b/Qt/Components/pqExpressionsWidget.cxx -index d45369ca7..1b7119797 100644 ---- a/Qt/Components/pqExpressionsWidget.cxx -+++ b/Qt/Components/pqExpressionsWidget.cxx -@@ -49,7 +49,7 @@ pqExpressionsWidget::pqExpressionsWidget(QWidget* parent, const QString& groupNa - , OneLiner(nullptr) - { - QGridLayout* grid = new QGridLayout(this); -- grid->setMargin(0); -+ grid->setContentsMargins(0,0,0,0); - grid->setSpacing(0); - - if (!groupName.isEmpty()) -@@ -60,6 +60,10 @@ pqExpressionsWidget::pqExpressionsWidget(QWidget* parent, const QString& groupNa - this->setLayout(grid); - } - -+void pqExpressionsWidget::clear() { -+ lineEdit()->clear(); -+} -+ - void pqExpressionsWidget::setupButtons(const QString& groupName) - { - auto grid = dynamic_cast(this->layout()); -diff --git a/Qt/Components/pqExpressionsWidget.h b/Qt/Components/pqExpressionsWidget.h -index 94d502a20..b3bf78f5b 100644 ---- a/Qt/Components/pqExpressionsWidget.h -+++ b/Qt/Components/pqExpressionsWidget.h -@@ -60,7 +60,7 @@ public: - * Set buttons up for "groupName" expressions group. - */ - void setupButtons(const QString& groupName); -- -+ void clear(); - private: - Q_DISABLE_COPY(pqExpressionsWidget) - -diff --git a/Qt/Components/pqFavoritesDialog.cxx b/Qt/Components/pqFavoritesDialog.cxx -index d59aa5965..8bd7fa6ef 100644 ---- a/Qt/Components/pqFavoritesDialog.cxx -+++ b/Qt/Components/pqFavoritesDialog.cxx -@@ -41,6 +41,8 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include - #include - #include -+#include -+#include - - // pqCore - #include "pqApplicationCore.h" -diff --git a/Qt/Components/pqFileChooserWidget.cxx b/Qt/Components/pqFileChooserWidget.cxx -index 434418559..d8e05c2cb 100644 ---- a/Qt/Components/pqFileChooserWidget.cxx -+++ b/Qt/Components/pqFileChooserWidget.cxx -@@ -51,7 +51,7 @@ pqFileChooserWidget::pqFileChooserWidget(QWidget* p) - this->AcceptAnyFile = false; - - QHBoxLayout* l = new QHBoxLayout(this); -- l->setMargin(0); -+ l->setContentsMargins(0,0,0,0); - l->setSpacing(2); - this->LineEdit = new QLineEdit(this); - this->LineEdit->setObjectName("FileLineEdit"); -diff --git a/Qt/Components/pqFindDataCurrentSelectionFrame.cxx b/Qt/Components/pqFindDataCurrentSelectionFrame.cxx -index 3c81e4f92..8a7a96353 100644 ---- a/Qt/Components/pqFindDataCurrentSelectionFrame.cxx -+++ b/Qt/Components/pqFindDataCurrentSelectionFrame.cxx -@@ -152,7 +152,7 @@ public: - pqApplicationCore::instance()->manager("SELECTION_MANAGER")); - - this->Ui.setupUi(self); -- this->Ui.gridLayout->setMargin(pqPropertiesPanel::suggestedMargin()); -+ this->Ui.gridLayout->setContentsMargins(pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin()); - this->Ui.gridLayout->setVerticalSpacing(pqPropertiesPanel::suggestedVerticalSpacing()); - this->Ui.gridLayout->setHorizontalSpacing(pqPropertiesPanel::suggestedHorizontalSpacing()); - -diff --git a/Qt/Components/pqFindDataSelectionDisplayFrame.cxx b/Qt/Components/pqFindDataSelectionDisplayFrame.cxx -index 79b60a34e..7a250d094 100644 ---- a/Qt/Components/pqFindDataSelectionDisplayFrame.cxx -+++ b/Qt/Components/pqFindDataSelectionDisplayFrame.cxx -@@ -79,7 +79,7 @@ public: - this->PointLabelsMenu.setObjectName("PointLabelsMenu"); - - this->Ui.setupUi(self); -- this->Ui.mainLayout->setMargin(pqPropertiesPanel::suggestedMargin()); -+ this->Ui.mainLayout->setContentsMargins(pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin()); - this->Ui.mainLayout->setSpacing(pqPropertiesPanel::suggestedVerticalSpacing()); - - this->Ui.cellLabelsButton->setMenu(&this->CellLabelsMenu); -diff --git a/Qt/Components/pqImageTip.cxx b/Qt/Components/pqImageTip.cxx -index 4626e2134..0213021e2 100644 ---- a/Qt/Components/pqImageTip.cxx -+++ b/Qt/Components/pqImageTip.cxx -@@ -38,7 +38,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include - #include - #include --#include - #include - #include - #include -@@ -138,7 +137,7 @@ bool pqImageTip::eventFilter(QObject*, QEvent* e) - return false; - } - --void pqImageTip::enterEvent(QEvent*) -+void pqImageTip::enterEvent(QEnterEvent *) - { - hide(); - } -@@ -153,7 +152,7 @@ void pqImageTip::paintEvent(QPaintEvent* ev) - { - QStylePainter p(this); - QStyleOptionFrame opt; -- opt.init(this); -+ this->initStyleOption(&opt); - p.drawPrimitive(QStyle::PE_PanelTipLabel, opt); - p.end(); - -diff --git a/Qt/Components/pqImageTip.h b/Qt/Components/pqImageTip.h -index d44f201d4..e10416f43 100644 ---- a/Qt/Components/pqImageTip.h -+++ b/Qt/Components/pqImageTip.h -@@ -60,7 +60,7 @@ private: - QBasicTimer* const hideTimer; - - bool eventFilter(QObject*, QEvent*) override; -- void enterEvent(QEvent*) override; -+ void enterEvent(QEnterEvent *) override; - void timerEvent(QTimerEvent* e) override; - void paintEvent(QPaintEvent* e) override; - }; -diff --git a/Qt/Components/pqIndexSelectionWidget.cxx b/Qt/Components/pqIndexSelectionWidget.cxx -index 9cae037d8..f274cd3c4 100644 ---- a/Qt/Components/pqIndexSelectionWidget.cxx -+++ b/Qt/Components/pqIndexSelectionWidget.cxx -@@ -116,7 +116,7 @@ Widgets::Widgets(pqIndexSelectionWidget* parent, const QString& key, int current - this->slider->setProperty(keyPropertyName, key); - this->edit->setProperty(keyPropertyName, key); - -- this->layout->setMargin(0); -+ this->layout->setContentsMargins(0,0,0,0); - this->layout->addWidget(this->slider); - this->layout->addWidget(this->edit); - -@@ -244,10 +244,10 @@ pqIndexSelectionWidget::pqIndexSelectionWidget( - - this->GroupBox->setAlignment(Qt::AlignLeft); - -- this->VBox->setMargin(pqPropertiesPanel::suggestedMargin()); -+ this->VBox->setContentsMargins(pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin()); - this->VBox->addWidget(this->GroupBox); - -- this->Form->setMargin(pqPropertiesPanel::suggestedMargin()); -+ this->Form->setContentsMargins(pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin()); - this->Form->setHorizontalSpacing(pqPropertiesPanel::suggestedHorizontalSpacing()); - this->Form->setLabelAlignment(Qt::AlignLeft); - -diff --git a/Qt/Components/pqInputSelectorWidget.cxx b/Qt/Components/pqInputSelectorWidget.cxx -index 8e13dd686..4049a1bb9 100644 ---- a/Qt/Components/pqInputSelectorWidget.cxx -+++ b/Qt/Components/pqInputSelectorWidget.cxx -@@ -96,7 +96,7 @@ pqInputSelectorWidget::pqInputSelectorWidget( - this->setProperty(smproperty); - - auto l = new QVBoxLayout(this); -- l->setMargin(pqPropertiesPanel::suggestedMargin()); -+ l->setContentsMargins(pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin()); - l->setSpacing(pqPropertiesPanel::suggestedVerticalSpacing()); - l->addWidget(this->ComboBox); - -diff --git a/Qt/Components/pqIntMaskPropertyWidget.cxx b/Qt/Components/pqIntMaskPropertyWidget.cxx -index e91a98f6f..335cee248 100644 ---- a/Qt/Components/pqIntMaskPropertyWidget.cxx -+++ b/Qt/Components/pqIntMaskPropertyWidget.cxx -@@ -51,7 +51,7 @@ public: - : Mask(0) - { - QHBoxLayout* hbox = new QHBoxLayout(self); -- hbox->setMargin(0); -+ hbox->setContentsMargins(0,0,0,0); - - this->Button = new QPushButton(self); - hbox->addWidget(this->Button); -diff --git a/Qt/Components/pqIntRangeWidget.cxx b/Qt/Components/pqIntRangeWidget.cxx -index b6f0e5d32..a8cf6289b 100644 ---- a/Qt/Components/pqIntRangeWidget.cxx -+++ b/Qt/Components/pqIntRangeWidget.cxx -@@ -57,7 +57,7 @@ pqIntRangeWidget::pqIntRangeWidget(QWidget* p) - this->DeferredValueEdited = false; - - QHBoxLayout* l = new QHBoxLayout(this); -- l->setMargin(0); -+ l->setContentsMargins(0,0,0,0); - this->Slider = new QSlider(Qt::Horizontal, this); - this->Slider->setRange(0, 1); - l->addWidget(this->Slider); -diff --git a/Qt/Components/pqIntVectorPropertyWidget.cxx b/Qt/Components/pqIntVectorPropertyWidget.cxx -index d54c5a304..7f783371e 100644 ---- a/Qt/Components/pqIntVectorPropertyWidget.cxx -+++ b/Qt/Components/pqIntVectorPropertyWidget.cxx -@@ -94,7 +94,7 @@ pqIntVectorPropertyWidget::pqIntVectorPropertyWidget( - } - - QHBoxLayout* layoutLocal = new QHBoxLayout; -- layoutLocal->setMargin(0); -+ layoutLocal->setContentsMargins(0,0,0,0); - - if (vtkSMBooleanDomain::SafeDownCast(domain)) - { -@@ -135,7 +135,7 @@ pqIntVectorPropertyWidget::pqIntVectorPropertyWidget( - treeWidget->setMaximumRowCountBeforeScrolling(smproperty); - - QTreeWidgetItem* header = new QTreeWidgetItem(); -- header->setData(0, Qt::DisplayRole, smproperty->GetXMLLabel()); -+ header->setData(0, Qt::DisplayRole, QString(smproperty->GetXMLLabel())); - treeWidget->setHeaderItem(header); - - // helper makes it easier to select multiple entries. -diff --git a/Qt/Components/pqKeyFrameEditor.cxx b/Qt/Components/pqKeyFrameEditor.cxx -index a2f59503a..d31cf6b4d 100644 ---- a/Qt/Components/pqKeyFrameEditor.cxx -+++ b/Qt/Components/pqKeyFrameEditor.cxx -@@ -103,7 +103,7 @@ public: - , Child(child) - { - QVBoxLayout* l = new QVBoxLayout(this); -- l->setMargin(0); -+ l->setContentsMargins(0,0,0,0); - l->addWidget(this->Child); - this->Child->show(); - } -@@ -156,7 +156,7 @@ public: - : CamWidget(&this->Widget) - { - QVBoxLayout* l = new QVBoxLayout(&this->Widget); -- l->setMargin(0); -+ l->setContentsMargins(0,0,0,0); - l->addWidget(&this->CamWidget); - } - -diff --git a/Qt/Components/pqLiveInsituManager.h b/Qt/Components/pqLiveInsituManager.h -index 30cd9f310..60376566f 100644 ---- a/Qt/Components/pqLiveInsituManager.h -+++ b/Qt/Components/pqLiveInsituManager.h -@@ -33,6 +33,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #define pqLiveInsituManager_h - - #include "pqComponentsModule.h" -+#include - #include - #include - -diff --git a/Qt/Components/pqLogViewerDialog.cxx b/Qt/Components/pqLogViewerDialog.cxx -index 0eb023826..49f8f7618 100644 ---- a/Qt/Components/pqLogViewerDialog.cxx -+++ b/Qt/Components/pqLogViewerDialog.cxx -@@ -307,7 +307,7 @@ void pqLogViewerDialog::recordRefTimes() - this->LogRecorderProxies[i]->GatherInformation(refTimeInfo); - auto startingLog = QString::fromStdString(refTimeInfo->GetStartingLogs()); - bool isRawLog; -- auto parts = pqLogViewerWidget::extractLogParts(&startingLog, isRawLog); -+ auto parts = pqLogViewerWidget::extractLogParts(startingLog, isRawLog); - this->RefTimes[LogLocation(this->LogRecorderProxies[i], j)] = - parts[0].replace('s', '0').toDouble(); - } -diff --git a/Qt/Components/pqMultiViewWidget.cxx b/Qt/Components/pqMultiViewWidget.cxx -index 7a1bd1b22..c8dca2e92 100644 ---- a/Qt/Components/pqMultiViewWidget.cxx -+++ b/Qt/Components/pqMultiViewWidget.cxx -@@ -128,7 +128,7 @@ public: - }); - - QVBoxLayout* slayout = new QVBoxLayout(self); -- slayout->setMargin(0); -+ slayout->setContentsMargins(0,0,0,0); - slayout->addWidget(this->Container); - - this->PopoutPlaceholder.reset(new QWidget()); -@@ -907,7 +907,7 @@ bool pqMultiViewWidget::togglePopout() - Qt::WindowCloseButtonHint)); - internals.PopoutWindow->setObjectName("PopoutWindow"); - auto l = new QVBoxLayout(internals.PopoutWindow.data()); -- l->setMargin(0); -+ l->setContentsMargins(0,0,0,0); - internals.PopoutWindow->resize(this->size()); - } - -diff --git a/Qt/Components/pqPipelineTimeKeyFrameEditor.cxx b/Qt/Components/pqPipelineTimeKeyFrameEditor.cxx -index 6b8082312..a9a289cb4 100644 ---- a/Qt/Components/pqPipelineTimeKeyFrameEditor.cxx -+++ b/Qt/Components/pqPipelineTimeKeyFrameEditor.cxx -@@ -73,7 +73,7 @@ pqPipelineTimeKeyFrameEditor::pqPipelineTimeKeyFrameEditor( - this->Internal->Editor = - new pqKeyFrameEditor(scene, cue, QString(), this->Internal->Ui.container); - QHBoxLayout* l = new QHBoxLayout(this->Internal->Ui.container); -- l->setMargin(0); -+ l->setContentsMargins(0,0,0,0); - l->addWidget(this->Internal->Editor); - - connect(this, SIGNAL(accepted()), this, SLOT(writeKeyFrameData())); -diff --git a/Qt/Components/pqPluginTreeWidgetEventPlayer.cxx b/Qt/Components/pqPluginTreeWidgetEventPlayer.cxx -index 05f2db061..8c9a10929 100644 ---- a/Qt/Components/pqPluginTreeWidgetEventPlayer.cxx -+++ b/Qt/Components/pqPluginTreeWidgetEventPlayer.cxx -@@ -37,6 +37,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - #include - #include -+#include - - //----------------------------------------------------------------------------- - pqPluginTreeWidgetEventPlayer::pqPluginTreeWidgetEventPlayer(QObject* parentObject) -diff --git a/Qt/Components/pqPopOutWidget.cxx b/Qt/Components/pqPopOutWidget.cxx -index 858fb3af9..f4deccc77 100644 ---- a/Qt/Components/pqPopOutWidget.cxx -+++ b/Qt/Components/pqPopOutWidget.cxx -@@ -76,7 +76,7 @@ pqPopOutWidget::pqPopOutWidget(QWidget* widgetToPopOut, const QString& dialogTit - { - this->Internals->Title = dialogTitle; - this->Internals->Layout = new QHBoxLayout(this); -- this->Internals->Layout->setMargin(0); -+ this->Internals->Layout->setContentsMargins(0,0,0,0); - this->Internals->Layout->setSpacing(0); - this->Internals->WidgetToPopOut = widgetToPopOut; - this->Internals->Layout->addWidget(this->Internals->WidgetToPopOut); -diff --git a/Qt/Components/pqPropertiesPanel.cxx b/Qt/Components/pqPropertiesPanel.cxx -index 757b8d7e1..ed5a948d4 100644 ---- a/Qt/Components/pqPropertiesPanel.cxx -+++ b/Qt/Components/pqPropertiesPanel.cxx -@@ -121,7 +121,7 @@ public: - - delete parentWdg->layout(); - QVBoxLayout* layout = new QVBoxLayout(parentWdg); -- layout->setMargin(0); -+ layout->setContentsMargins(0,0,0,0); - layout->setSpacing(0); - this->Panel->setObjectName("ProxyPanel"); - this->Panel->setParent(parentWdg); -diff --git a/Qt/Components/pqPropertyWidget.cxx b/Qt/Components/pqPropertyWidget.cxx -index 9d8d4c146..4dffa6c5d 100644 ---- a/Qt/Components/pqPropertyWidget.cxx -+++ b/Qt/Components/pqPropertyWidget.cxx -@@ -42,6 +42,8 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include "vtkSMDomain.h" - #include "vtkSMProperty.h" - -+#include -+ - //----------------------------------------------------------------------------- - pqPropertyWidget::pqPropertyWidget(vtkSMProxy* smProxy, QWidget* parentObject) - : QFrame(parentObject) -@@ -112,7 +114,7 @@ QString pqPropertyWidget::getTooltip(vtkSMProperty* smproperty) - { - QString doc = pqProxy::rstToHtml(smproperty->GetDocumentation()->GetDescription()).c_str(); - doc = doc.trimmed(); -- doc = doc.replace(QRegExp("\\s+"), " "); -+ doc = doc.replace(QRegularExpression("\\s+"), " "); - return QString("

%1

").arg(doc); - } - return QString(); -diff --git a/Qt/Components/pqProxiesWidget.cxx b/Qt/Components/pqProxiesWidget.cxx -index 82bb44167..88d7b25ae 100644 ---- a/Qt/Components/pqProxiesWidget.cxx -+++ b/Qt/Components/pqProxiesWidget.cxx -@@ -133,7 +133,7 @@ void pqProxiesWidget::updateLayout() - internals.clearExpanders(); - delete this->layout(); - QVBoxLayout* vbox = new QVBoxLayout(this); -- vbox->setMargin(0); -+ vbox->setContentsMargins(0,0,0,0); - vbox->setSpacing(pqPropertiesPanel::suggestedVerticalSpacing()); - - // Don't add expander buttons if there's only 1 component and that components -diff --git a/Qt/Components/pqProxyEditorPropertyWidget.cxx b/Qt/Components/pqProxyEditorPropertyWidget.cxx -index f72610b50..c81513f84 100644 ---- a/Qt/Components/pqProxyEditorPropertyWidget.cxx -+++ b/Qt/Components/pqProxyEditorPropertyWidget.cxx -@@ -71,7 +71,7 @@ pqProxyEditorPropertyWidget::pqProxyEditorPropertyWidget( - } - - QHBoxLayout* hbox = new QHBoxLayout(this); -- hbox->setMargin(0); -+ hbox->setContentsMargins(0,0,0,0); - hbox->setSpacing(pqPropertiesPanel::suggestedHorizontalSpacing()); - if (this->Checkbox) - { -diff --git a/Qt/Components/pqProxyPropertyWidget.cxx b/Qt/Components/pqProxyPropertyWidget.cxx -index 54daa99c3..6c348829c 100644 ---- a/Qt/Components/pqProxyPropertyWidget.cxx -+++ b/Qt/Components/pqProxyPropertyWidget.cxx -@@ -46,7 +46,7 @@ pqProxyPropertyWidget::pqProxyPropertyWidget( - : pqPropertyWidget(smProxy, parentObject) - { - QVBoxLayout* vbox = new QVBoxLayout; -- vbox->setMargin(0); -+ vbox->setContentsMargins(0,0,0,0); - vbox->setSpacing(0); - - bool selection_input = -diff --git a/Qt/Components/pqProxySelectionWidget.cxx b/Qt/Components/pqProxySelectionWidget.cxx -index cbab05d8c..8b12c9e74 100644 ---- a/Qt/Components/pqProxySelectionWidget.cxx -+++ b/Qt/Components/pqProxySelectionWidget.cxx -@@ -64,9 +64,9 @@ public: - { - this->Ui.setupUi(self); - this->Ui.verticalLayout->setSpacing(pqPropertiesPanel::suggestedVerticalSpacing()); -- this->Ui.verticalLayout->setMargin(pqPropertiesPanel::suggestedMargin()); -+ this->Ui.verticalLayout->setContentsMargins(pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin()); - this->Ui.horizontalLayout->setSpacing(pqPropertiesPanel::suggestedHorizontalSpacing()); -- this->Ui.horizontalLayout->setMargin(pqPropertiesPanel::suggestedMargin()); -+ this->Ui.horizontalLayout->setContentsMargins(pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin()); - this->Ui.frameLayout->setSpacing(pqPropertiesPanel::suggestedVerticalSpacing()); - } - -diff --git a/Qt/Components/pqProxyWidget.cxx b/Qt/Components/pqProxyWidget.cxx -index a3b722105..6f0adc74e 100644 ---- a/Qt/Components/pqProxyWidget.cxx -+++ b/Qt/Components/pqProxyWidget.cxx -@@ -700,7 +700,7 @@ pqProxyWidget::pqProxyWidget(vtkSMProxy* smproxy, const QStringList& properties, - this->connect(&internals.RequestUpdatePanel, SIGNAL(timeout()), SLOT(updatePanel())); - - QGridLayout* gridLayout = new QGridLayout(this); -- gridLayout->setMargin(pqPropertiesPanel::suggestedMargin()); -+ gridLayout->setContentsMargins(pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin(),pqPropertiesPanel::suggestedMargin()); - gridLayout->setHorizontalSpacing(pqPropertiesPanel::suggestedHorizontalSpacing()); - gridLayout->setVerticalSpacing(pqPropertiesPanel::suggestedVerticalSpacing()); - -diff --git a/Qt/Components/pqServerLauncher.cxx b/Qt/Components/pqServerLauncher.cxx -index e6fb5d542..9cd23a21e 100644 ---- a/Qt/Components/pqServerLauncher.cxx -+++ b/Qt/Components/pqServerLauncher.cxx -@@ -66,6 +66,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include - #include - #include -+#include - - #include - -diff --git a/Qt/Components/pqSettingsDialog.cxx b/Qt/Components/pqSettingsDialog.cxx -index 768a33c76..99c7b66c6 100644 ---- a/Qt/Components/pqSettingsDialog.cxx -+++ b/Qt/Components/pqSettingsDialog.cxx -@@ -134,7 +134,7 @@ pqSettingsDialog::pqSettingsDialog( - container->setContentsMargins(6, 0, 6, 0); - - QVBoxLayout* vbox = new QVBoxLayout(container); -- vbox->setMargin(0); -+ vbox->setContentsMargins(0,0,0,0); - vbox->setSpacing(0); - - pqProxyWidget* widget = new pqProxyWidget(proxy, container); -diff --git a/Qt/Components/pqShaderReplacementsSelectorPropertyWidget.cxx b/Qt/Components/pqShaderReplacementsSelectorPropertyWidget.cxx -index 33b7588b3..f90e3c781 100644 ---- a/Qt/Components/pqShaderReplacementsSelectorPropertyWidget.cxx -+++ b/Qt/Components/pqShaderReplacementsSelectorPropertyWidget.cxx -@@ -78,7 +78,7 @@ pqShaderReplacementsSelectorPropertyWidget::pqShaderReplacementsSelectorProperty - this->Internal = new pqInternal(vtkSMStringVectorProperty::SafeDownCast(smProperty)); - - QVBoxLayout* l = new QVBoxLayout; -- l->setMargin(0); -+ l->setContentsMargins(0,0,0,0); - - QGridLayout* gridLayout = new QGridLayout; - gridLayout->setColumnStretch(0, 0); -diff --git a/Qt/Components/pqStringVectorPropertyWidget.cxx b/Qt/Components/pqStringVectorPropertyWidget.cxx -index 44efe7560..903488705 100644 ---- a/Qt/Components/pqStringVectorPropertyWidget.cxx -+++ b/Qt/Components/pqStringVectorPropertyWidget.cxx -@@ -77,7 +77,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include - #include - #include --#include -+#include - #include - #include - #include -@@ -159,7 +159,7 @@ pqStringVectorPropertyWidget::pqStringVectorPropertyWidget( - domainIter->Delete(); - - QVBoxLayout* vbox = new QVBoxLayout; -- vbox->setMargin(0); -+ vbox->setContentsMargins(0,0,0,0); - vbox->setSpacing(0); - - if (fileListDomain) -@@ -313,7 +313,7 @@ pqStringVectorPropertyWidget::pqStringVectorPropertyWidget( - - QWidget* w = new QWidget(this); - QHBoxLayout* hbox = new QHBoxLayout(this); -- hbox->setMargin(0); -+ hbox->setContentsMargins(0,0,0,0); - hbox->setSpacing(0); - QLabel* label = new QLabel(smProperty->GetXMLLabel(), w); - hbox->addWidget(label); -@@ -489,7 +489,7 @@ void pqStringVectorPropertyWidget::processFileChooserHints(vtkPVXMLElement* hint - else - { - QStringList lextensions = -- QString(extensions).split(QRegExp("\\s+"), PV_QT_SKIP_EMPTY_PARTS); -+ QString(extensions).split(QRegularExpression("\\s+"), PV_QT_SKIP_EMPTY_PARTS); - supportedExtensions.push_back( - QString("%1 (*.%2)").arg(file_description).arg(lextensions.join(" *."))); - } -diff --git a/Qt/Components/pqTabbedMultiViewWidget.cxx b/Qt/Components/pqTabbedMultiViewWidget.cxx -index b1a2eec94..a371fa676 100644 ---- a/Qt/Components/pqTabbedMultiViewWidget.cxx -+++ b/Qt/Components/pqTabbedMultiViewWidget.cxx -@@ -459,7 +459,7 @@ pqTabbedMultiViewWidget::pqTabbedMultiViewWidget(QWidget* parentObject) - this, SLOT(contextMenuRequested(const QPoint&))); - - QGridLayout* glayout = new QGridLayout(this); -- glayout->setMargin(0); -+ glayout->setContentsMargins(0,0,0,0); - glayout->setSpacing(0); - glayout->addWidget(this->Internals->TabWidget, 0, 0); - -@@ -544,7 +544,7 @@ void pqTabbedMultiViewWidget::toggleFullScreen() - - QGridLayout* glayout = new QGridLayout(fullScreenWindow); - glayout->setSpacing(0); -- glayout->setMargin(0); -+ glayout->setContentsMargins(0,0,0,0); - glayout->addWidget(internals.TabWidget, 0, 0); - fullScreenWindow->showFullScreen(); - fullScreenWindow->show(); -diff --git a/Qt/Components/pqTextureSelectorPropertyWidget.cxx b/Qt/Components/pqTextureSelectorPropertyWidget.cxx -index d0b0a5e37..94f73c2f3 100644 ---- a/Qt/Components/pqTextureSelectorPropertyWidget.cxx -+++ b/Qt/Components/pqTextureSelectorPropertyWidget.cxx -@@ -60,7 +60,7 @@ pqTextureSelectorPropertyWidget::pqTextureSelectorPropertyWidget( - this->setToolTip("Select/Load texture to apply."); - - QVBoxLayout* l = new QVBoxLayout; -- l->setMargin(0); -+ l->setContentsMargins(0,0,0,0); - - // Create the combobox selector and set its value - auto* domain = smProperty->FindDomain(); -diff --git a/Qt/Components/pqTransferFunction2DWidget.cxx b/Qt/Components/pqTransferFunction2DWidget.cxx -index f5427eede..4a74ded94 100644 ---- a/Qt/Components/pqTransferFunction2DWidget.cxx -+++ b/Qt/Components/pqTransferFunction2DWidget.cxx -@@ -88,7 +88,7 @@ public: - - this->Widget->setParent(editor); - QVBoxLayout* layout = new QVBoxLayout(editor); -- layout->setMargin(0); -+ layout->setContentsMargins(0,0,0,0); - layout->addWidget(this->Widget); - - this->Chart->SetAutoSize(true); -diff --git a/Qt/Components/pqTransferFunctionWidget.cxx b/Qt/Components/pqTransferFunctionWidget.cxx -index 64958588a..1b1e5ee0e 100644 ---- a/Qt/Components/pqTransferFunctionWidget.cxx -+++ b/Qt/Components/pqTransferFunctionWidget.cxx -@@ -246,7 +246,7 @@ public: - - this->Widget->setParent(editor); - QVBoxLayout* layout = new QVBoxLayout(editor); -- layout->setMargin(0); -+ layout->setContentsMargins(0,0,0,0); - layout->addWidget(this->Widget); - - this->ChartXY->SetAutoAxes(false); -diff --git a/Qt/Core/CMakeLists.txt b/Qt/Core/CMakeLists.txt -index ae1b8bd36..dcaa7471d 100644 ---- a/Qt/Core/CMakeLists.txt -+++ b/Qt/Core/CMakeLists.txt -@@ -166,7 +166,7 @@ if (PARAVIEW_USE_PYTHON) - endif () - - set(qt_components -- Widgets) -+ Widgets Core5Compat) - - if (PARAVIEW_USE_QTHELP) - list(APPEND qt_components -@@ -174,9 +174,9 @@ if (PARAVIEW_USE_QTHELP) - endif () - - vtk_module_find_package( -- PACKAGE Qt5 -+ PACKAGE Qt${VTK_QT_VERSION} - COMPONENTS ${qt_components} -- VERSION 5.12 -+ VERSION 6.2 - FORWARD_VERSION_REQ MINOR) - - set(CMAKE_AUTOMOC 1) -@@ -195,11 +195,11 @@ vtk_module_add_module(ParaView::pqCore - HEADERS ${headers}) - vtk_module_link(ParaView::pqCore - PRIVATE -- Qt5::Widgets) -+ Qt${VTK_QT_VERSION}::Widgets Qt${VTK_QT_VERSION}::Core5Compat) - if (PARAVIEW_USE_QTHELP) - vtk_module_link(ParaView::pqCore - PRIVATE -- Qt5::Help) -+ Qt${VTK_QT_VERSION}::Help) - endif () - vtk_module_definitions(ParaView::pqCore PRIVATE QT_NO_KEYWORDS) - -diff --git a/Qt/Core/Testing/Cxx/CMakeLists.txt b/Qt/Core/Testing/Cxx/CMakeLists.txt -index 7518832d8..f75e7267c 100644 ---- a/Qt/Core/Testing/Cxx/CMakeLists.txt -+++ b/Qt/Core/Testing/Cxx/CMakeLists.txt -@@ -1,7 +1,7 @@ --find_package(Qt5 REQUIRED COMPONENTS Core Widgets Test) -+find_package(Qt${VTK_QT_VERSION} REQUIRED COMPONENTS Core Widgets Test) - set(CMAKE_AUTOMOC 1) - vtk_module_test_executable(pqCoreBasicApp BasicApp.cxx BasicApp.h) --target_link_libraries(pqCoreBasicApp PRIVATE Qt5::Core Qt5::Widgets) -+target_link_libraries(pqCoreBasicApp PRIVATE Qt${VTK_QT_VERSION}::Core Qt${VTK_QT_VERSION}::Widgets) - ExternalData_add_test("${_vtk_build_TEST_DATA_TARGET}" - NAME pqCoreBasicApp - COMMAND pqCoreBasicApp -@@ -24,7 +24,7 @@ set(MocSources - create_test_sourcelist(Tests pqCoreTest.cxx ${MyTests}) - - vtk_module_test_executable(pqCoreTest ${Tests}) --target_link_libraries(pqCoreTest PRIVATE Qt5::Core Qt5::Widgets Qt5::Test) -+target_link_libraries(pqCoreTest PRIVATE Qt${VTK_QT_VERSION}::Core Qt${VTK_QT_VERSION}::Widgets Qt${VTK_QT_VERSION}::Test) - - foreach(test_file ${MyTests}) - get_filename_component(test "${test_file}" NAME_WE) -diff --git a/Qt/Core/Testing/Cxx/KeySequences.cxx b/Qt/Core/Testing/Cxx/KeySequences.cxx -index c59c4b6c4..127ef21da 100644 ---- a/Qt/Core/Testing/Cxx/KeySequences.cxx -+++ b/Qt/Core/Testing/Cxx/KeySequences.cxx -@@ -69,7 +69,7 @@ KeySequencesWidget::KeySequencesWidget(const std::string& label, const std::stri - auto* hl = new QHBoxLayout(this); - hl->addWidget(m_label); - hl->addWidget(m_button); -- hl->setMargin(1); -+ hl->setContentsMargins(1,1,1,1); - m_shortcut = pqKeySequences::instance().addModalShortcut(shortcut, m_action, this); - m_shortcut->setObjectName(label.c_str()); - QObject::connect( -@@ -203,7 +203,7 @@ void KeySequencesTester::basic() - auto* widget = new QWidget(window); - window->setCentralWidget(widget); - auto* layout = new QVBoxLayout(widget); -- layout->setMargin(1); -+ layout->setContentsMargins(1,1,1,1); - layout->setSpacing(1); - - auto* w1 = new KeySequencesWidget("Thing 1", "1", QKeySequence(tr("Ctrl+A")), widget); -diff --git a/Qt/Core/Testing/Python/CMakeLists.txt b/Qt/Core/Testing/Python/CMakeLists.txt -index f7d6e6262..46f4b57fd 100644 ---- a/Qt/Core/Testing/Python/CMakeLists.txt -+++ b/Qt/Core/Testing/Python/CMakeLists.txt -@@ -1,8 +1,8 @@ --find_package(Qt5 REQUIRED QUIET COMPONENTS Core Widgets) -+find_package(Qt${VTK_QT_VERSION} REQUIRED QUIET COMPONENTS Core Widgets) - set(CMAKE_AUTOMOC 1) - vtk_module_test_executable(pqFileDialogTest - pqFileDialogTest.cxx pqFileDialogTest.h) --target_link_libraries(pqFileDialogTest LINK_PRIVATE Qt5::Core Qt5::Widgets) -+target_link_libraries(pqFileDialogTest LINK_PRIVATE Qt${VTK_QT_VERSION}::Core Qt${VTK_QT_VERSION}::Widgets) - - add_test( - NAME pqFileDialogTest -diff --git a/Qt/Core/pqAnnotationsModel.cxx b/Qt/Core/pqAnnotationsModel.cxx -index c00bd5df3..69b2a0dac 100644 ---- a/Qt/Core/pqAnnotationsModel.cxx -+++ b/Qt/Core/pqAnnotationsModel.cxx -@@ -34,6 +34,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include - #include - #include -+#include - - #include "vtkSMStringListDomain.h" - -diff --git a/Qt/Core/pqApplicationCore.cxx b/Qt/Core/pqApplicationCore.cxx -index b63cd8ae4..3388d884e 100644 ---- a/Qt/Core/pqApplicationCore.cxx -+++ b/Qt/Core/pqApplicationCore.cxx -@@ -49,6 +49,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include - #include - #include -+#include - - // ParaView includes. - #include "pqAnimationScene.h" -@@ -506,7 +507,7 @@ void pqApplicationCore::onStateSaved(vtkPVXMLElement* root) - if (!QApplication::applicationName().isEmpty()) - { - // Change root element to match the application name. -- QString valid_name = QApplication::applicationName().replace(QRegExp("\\W"), "_"); -+ QString valid_name = QApplication::applicationName().replace(QRegularExpression("\\W"), "_"); - root->SetName(valid_name.toUtf8().data()); - } - Q_EMIT this->stateSaved(root); -diff --git a/Qt/Core/pqApplicationCore.h b/Qt/Core/pqApplicationCore.h -index d8d594fcb..784551dbd 100644 ---- a/Qt/Core/pqApplicationCore.h -+++ b/Qt/Core/pqApplicationCore.h -@@ -37,6 +37,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include "vtkSmartPointer.h" // for vtkSmartPointer - #include - #include -+#include - #include // for std::exception - - class pqInterfaceTracker; -@@ -58,7 +59,6 @@ class pqTestUtility; - class pqUndoStack; - class QApplication; - class QHelpEngine; --class QStringList; - class vtkPVXMLElement; - class vtkSMProxyLocator; - class vtkSMStateLoader; -diff --git a/Qt/Core/pqComparativeContextView.cxx b/Qt/Core/pqComparativeContextView.cxx -index 8b05173b9..7b66cb9cc 100644 ---- a/Qt/Core/pqComparativeContextView.cxx -+++ b/Qt/Core/pqComparativeContextView.cxx -@@ -206,7 +206,7 @@ void pqComparativeContextView::updateViewWidgets() - QGridLayout* layout = new QGridLayout(wdg); - layout->setHorizontalSpacing(vtkSMPropertyHelper(compView, "Spacing").GetAsInt(0)); - layout->setVerticalSpacing(vtkSMPropertyHelper(compView, "Spacing").GetAsInt(1)); -- layout->setMargin(0); -+ layout->setContentsMargins(0,0,0,0); - for (int x = 0; x < dimensions[0]; ++x) - { - for (int y = 0; y < dimensions[1]; ++y) -diff --git a/Qt/Core/pqComparativeRenderView.cxx b/Qt/Core/pqComparativeRenderView.cxx -index 6500f0f8a..2fcc8deb0 100644 ---- a/Qt/Core/pqComparativeRenderView.cxx -+++ b/Qt/Core/pqComparativeRenderView.cxx -@@ -194,7 +194,7 @@ void pqComparativeRenderView::updateViewWidgets(QWidget* container /*=nullptr*/) - QGridLayout* layout = new QGridLayout(container); - layout->setHorizontalSpacing(vtkSMPropertyHelper(compView, "Spacing").GetAsInt(0)); - layout->setVerticalSpacing(vtkSMPropertyHelper(compView, "Spacing").GetAsInt(1)); -- layout->setMargin(0); -+ layout->setContentsMargins(0,0,0,0); - for (int x = 0; x < dimensions[0]; x++) - { - for (int y = 0; y < dimensions[1]; y++) -diff --git a/Qt/Core/pqFileDialog.cxx b/Qt/Core/pqFileDialog.cxx -index 715d97327..5d23d34e0 100644 ---- a/Qt/Core/pqFileDialog.cxx -+++ b/Qt/Core/pqFileDialog.cxx -@@ -54,6 +54,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include - #include - #include -+#include - - #include - #include -@@ -113,7 +114,7 @@ QStringList GetWildCardsFromFilter(const QString& filter) - } - - // separated by spaces or semi-colons -- QStringList fs = f.split(QRegExp("[\\s+;]"), PV_QT_SKIP_EMPTY_PARTS); -+ QStringList fs = f.split(QRegularExpression("[\\s+;]"), PV_QT_SKIP_EMPTY_PARTS); - - // add a *.ext.* for every *.ext we get to support file groups - QStringList ret = fs; -@@ -626,7 +627,7 @@ void pqFileDialog::RemoveDirectoryFromFavorites(QString const& directory) - //----------------------------------------------------------------------------- - void pqFileDialog::FilterDirectoryFromFavorites(const QString& filter) - { -- this->Implementation->proxyFavoriteModel->setFilterRegExp(filter); -+ this->Implementation->proxyFavoriteModel->setFilterRegularExpression(filter); - } - - //----------------------------------------------------------------------------- -diff --git a/Qt/Core/pqFileDialogFilter.cxx b/Qt/Core/pqFileDialogFilter.cxx -index 9acdb2bb1..4daeea158 100644 ---- a/Qt/Core/pqFileDialogFilter.cxx -+++ b/Qt/Core/pqFileDialogFilter.cxx -@@ -36,6 +36,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include - #include - #include -+#include - - #include "pqFileDialogModel.h" - -@@ -75,7 +76,7 @@ void pqFileDialogFilter::setFilter(const QString& filter) - f = f.trimmed(); - - // convert all spaces into | -- f.replace(QRegExp("[\\s+;]+"), "|"); -+ f.replace(QRegularExpression ("[\\s+;]+"), "|"); - - QStringList strings = f.split("|"); - QStringList extensions_list, filepatterns_list; -diff --git a/Qt/Core/pqFileDialogModel.cxx b/Qt/Core/pqFileDialogModel.cxx -index 95f6c31e6..f6b909f6f 100644 ---- a/Qt/Core/pqFileDialogModel.cxx -+++ b/Qt/Core/pqFileDialogModel.cxx -@@ -150,12 +150,12 @@ public: - QString modificationTimeString() const - { - return QLocale::system().toString( -- QDateTime::fromTime_t(this->ModificationTime), QLocale::ShortFormat); -+ QDateTime::fromSecsSinceEpoch(this->ModificationTime), QLocale::ShortFormat); - } - - qulonglong size() const { return static_cast(this->Size); } - -- QDateTime modificationTime() const { return QDateTime::fromTime_t(this->ModificationTime); } -+ QDateTime modificationTime() const { return QDateTime::fromSecsSinceEpoch(this->ModificationTime); } - - private: - QString Label; -diff --git a/Qt/Core/pqLogViewerWidget.cxx b/Qt/Core/pqLogViewerWidget.cxx -index 644e70077..480e61b77 100644 ---- a/Qt/Core/pqLogViewerWidget.cxx -+++ b/Qt/Core/pqLogViewerWidget.cxx -@@ -41,6 +41,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include - #include - #include -+#include - #include - - #include "pqCoreUtilities.h" -@@ -71,7 +72,7 @@ public: - this->Ui.details->setText(tr("")); - } - -- void addLines(const QVector& lines) -+ void addLines(const QStringList& lines) - { - QRegularExpression scopeBegin(R"==(^\s*{ (?